Skip to content

Fix ember 7 support#796

Closed
NullVoxPopuli wants to merge 29 commits into
ember-animation:masterfrom
NullVoxPopuli:nvp/ember-7
Closed

Fix ember 7 support#796
NullVoxPopuli wants to merge 29 commits into
ember-animation:masterfrom
NullVoxPopuli:nvp/ember-7

Conversation

@NullVoxPopuli

@NullVoxPopuli NullVoxPopuli commented May 8, 2026

Copy link
Copy Markdown
Contributor

Uses

As an aside tho -- do the tests for this really need to use ember-data?

NullVoxPopuli and others added 6 commits May 10, 2026 18:35
…m 'ember'`

Two changes:

1. Silences ember-data's `DEPRECATE_STORE_EXTENDS_EMBER_OBJECT` deprecation
   in the test-app via `ember-cli-build.js` so it is no longer thrown by
   `throwOnUnhandled: true`. This is the fix the deprecation message itself
   recommends and unblocks the 5 failing `Acceptance | hero` tests.

2. Removes `import Ember from 'ember'` (deprecated in RFC #1003) from the
   addon by importing the specific symbols directly:

   - `Ember.testing` → `macroCondition(isTesting())` from `@embroider/macros`
   - `Ember._setClassicDecorator` → `setClassicDecorator` from
     `@ember/-internals/metal`
   - `Ember.ViewUtils.getViewBounds` → `getViewBounds` from
     `@ember/-internals/views`

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Replace deprecated `import { inject as service }` with `import { service }`
  in the four test-app files that still used it (DEPRECATE_IMPORT_INJECT,
  added in ember-source 6.2 / enabled 6.3).
- Silence the residual `deprecate-import-*-from-ember` family in the
  deprecation workflow. The remaining hits originate inside ember-data /
  ember-cli-fastboot internals (visible in the FastBoot bundle's
  initializer load), not the addon or test-app source — silenced via
  `matchId` regex until those upstream packages migrate.
- Silence `importing-inject-from-ember-service` similarly: ember-modal-dialog
  is pinned to 4.0.0 in pnpm overrides and still uses
  `import { inject as service }`.

This unblocks the ember-release try-scenario locally; ember-beta/canary still
fail at ember-cli's `EmberApp._initVendorFiles` because ember-source 7 ships
as a v2 addon and no longer exposes `paths` to the classic builder. That's a
build-system migration that's out of scope for this PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@NullVoxPopuli
NullVoxPopuli marked this pull request as ready for review May 10, 2026 22:36
@NullVoxPopuli

Copy link
Copy Markdown
Contributor Author

I think the docs app will need to be updated.
but it uses ember-cli-addon-docs, which doesn't support vite atm.

options:

  • ditch ember-cli-addon-docs
  • fix ember-cli-addon-docs and give it vite support

@ef4

ef4 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

The whole point of keeping a separate docs app is that it doesn't need to support the same range of ember versions that the library does. Making the library support ember 7 should not require getting the docs app on ember 7.

@NullVoxPopuli

Copy link
Copy Markdown
Contributor Author

I don't have time to pursue finishing this rn, so I'll close so as to not dissuade others from solving this problem

SergeAstapov pushed a commit that referenced this pull request Jun 18, 2026
The library imported ViewUtils and _setClassicDecorator from the `ember`
barrel and read `Ember.testing`, all deprecated and removed in
ember-source 7.0.0. Import getViewBounds from @ember/-internals/views,
setClassicDecorator from @ember/-internals/metal, and use
@embroider/macros isTesting() instead.

The test-app's own components, routes, and a test imported `inject` from
@ember/service; switch them to the `service` named export.

Library changes taken from NullVoxPopuli's nvp/ember-7 branch (PR #796),
scoped to the deprecation fixes; the docs app and dependency/tooling
changes from that branch are left out.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants