Skip to content

Ember 7 compat#1565

Open
NullVoxPopuli wants to merge 20 commits intomasterfrom
ember-7-compat
Open

Ember 7 compat#1565
NullVoxPopuli wants to merge 20 commits intomasterfrom
ember-7-compat

Conversation

@NullVoxPopuli
Copy link
Copy Markdown
Collaborator

@NullVoxPopuli NullVoxPopuli commented Apr 24, 2026

Get CI working with ember 7

diif looks large, because this repo has multiple lockfiles

summary of changes

  • dep updates
  • ts matrix change - this doesn't mean we don't support earlier TSes, but it is too cumbersome to test against earlier TSes

NullVoxPopuli and others added 16 commits April 24, 2026 09:48
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Removed all node_modules and lockfiles, ran fresh pnpm install
- Updated volta node config from 18.20.4 to 24.14.0
- Updated node-version in publish.yml and plan-release.yml from 18 to 24

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix tsconfig: add declaration: true (required by newer TS with declarationDir)
- Add prepare script to root to build addon during pnpm install
- Update ember-cli to ~5.12.0, ember-source to ~5.12.0 in test-app
- Update ember-auto-import to ^2.13.1
- Update @embroider/* packages, revert test-setup to ^3.0.3
  (v4 pulls in @embroider/core which activates embroider pipeline
  via maybeEmbroider, breaking injected v2 addon resolution)
- Add ember-cli ^6.10.0 to ember-try release/beta/canary scenarios
- Add pnpm override for ember-cli-htmlbars ^7.0.1
- Re-roll all lockfiles

Verified locally: lints pass (including lint:types), 552/553 tests pass
(1 pre-existing flaky test about test-waiters version detection).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The test for getSettledState uses @embroider/macros dependencySatisfies
to check the test-waiters version at build time. Without test-waiters as
a direct dependency of the test-app, the macro can't resolve the version
correctly, causing the hasPendingLegacyWaiters assertion to fail.

Verified locally: all lints pass, 553/553 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
With shared-workspace-lockfile=false, pnpm overrides in the root
package.json don't propagate to workspace packages. Move the override
into test-app/package.json so ember-tracked-storage-polyfill's transitive
dep on ember-cli-htmlbars@5.7.2 gets resolved to ^7.0.1.

Verified locally: all lints pass, 553/553 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ember-resolver v10 imports from the 'ember' barrel which was removed in
ember 7. Update to v13 which drops the classic resolver. Convert
test-app's resolver from Resolver.extend() to a native class.

Verified locally: lints pass, 553/553 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ember-qunit v8 uses .extend() on @ember/test/adapter which is
incompatible with ember 4.4. Pin to v7 for that scenario.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ember-qunit v9 no longer auto-calls loadTests() or
setupEmberOnerrorValidation() from start(). Use macroCondition with
dependencySatisfies to conditionally call these for v9+, so the
test-helper works with both v8 (ember-try 4.4 scenario) and v9.

Verified locally: lints pass, 553/553 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace `inject as injectService` with `service as injectService` from
  @ember/service (inject was removed in ember 7)
- Update @glimmer/component to ^2.0.0 (v1 imports from the ember barrel
  which was removed in ember 7)

Verified locally: lints pass, 553/553 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mansona
Copy link
Copy Markdown
Member

mansona commented Apr 24, 2026

ts matrix change - this doesn't mean we don't support earlier TSes, but it is too cumbersome to test against earlier TSes
for safety we should probably make this a breaking no?

@NullVoxPopuli
Copy link
Copy Markdown
Collaborator Author

for safety we should probably make this a breaking no?

I don't think so -- nothing about the addon actually changed.

@NullVoxPopuli
Copy link
Copy Markdown
Collaborator Author

we also don't do breaking changes for TS very frequently due to the rolling policy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants