Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quest: Prep for v4: V2 Addon conversion #458

Open
14 of 28 tasks
NullVoxPopuli opened this issue May 5, 2023 · 0 comments
Open
14 of 28 tasks

Quest: Prep for v4: V2 Addon conversion #458

NullVoxPopuli opened this issue May 5, 2023 · 0 comments

Comments

@NullVoxPopuli
Copy link
Sponsor Contributor

NullVoxPopuli commented May 5, 2023

NOTE: the main branch will not be releasable during this time, because we need to complete the plan, so that there is minimal/zero disruption to folks' test suites.

Here is a preview of what's in the next major:

In order of blockers:

Can happen in any order

  • extract test-app(s)
  • implement solution for force-highlander
    • implement in main branch -- already implemented a long time ago via getGlobal and storing the WAITERS on globalThis.
  • convert @ember/test-waiters to a native package
    • Convert to V2 Addon #476
    • cleanup tasks
      • Do not import from 'ember' - this import path will be deprecated very soon
      • move duplicate WAITER_NAME handling to be based off the WAITERS' keys. (allows deleting code)
      • move the noop waiter to be a constant, rather than being initialized for every occurrence.
      • remove @ts-ignore from the test-apps
      • add support for native fetch -- coordinate with Maintenance, V2, modern fetch, etc ember-cli/ember-fetch#738
  • update README so that folks can discover how to best ensure only one copy of @ember/test-waiters is present across all their dependencies (which won't be required for the waiter system to work, but will be required to get improvements across the whole dep graph)
    • add notes for addon authors to utilize peerDependencies with @ember/test-waiters (with permissive range, which would be allowed post-globalThis usage) with state held on globalThis, we don't need peerDependencies, we can allow duplicates of test-waiters. Using dependencies instead of peerDependencies can help make installation experience smoother for folks, however everyone should end up having @ember/test-waiters declared in their apps anyway.
    • note that peers however help with install time and debugging but won't be necessary for things to work.
  • release new version of ember-test-waiters that re-exports everything from @ember/test-waiters
    this is needed because some super old projects import from ember-test-waiters, and if someone is using v4 of test waiters, yet part of their dep graph uses the super old ember-test-waiters, we may want to do this to allow users control over which @ember/test-waiters their deep dep of ember-test-waiters is using.
    We may also want to "wait and see" if this problem even exists.
  • review changes for changelog
  • release v4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant