Skip to content

[Breaking] Skyrocket Ember support from v3/4 to v6 - #724

Draft
phndiaye wants to merge 26 commits into
masterfrom
feature/ember-upgrade-4-to-7
Draft

phndiaye wants to merge 26 commits into
masterfrom
feature/ember-upgrade-4-to-7

Conversation

@phndiaye

@phndiaye phndiaye commented Nov 2, 2026

Copy link
Copy Markdown
Member

What does this PR do?

Bump the ember-source devDependency from ~3.28.8 to ~4.12.4 so the
default test run matches the 4.12 runtime used across the campaign
(CI's ember-4.12 try scenario already covered it). The ember-lts-3.28
try scenario is kept, and no published peer range changes.

Refs CD-369

What are the observable changes?

Good PR checklist

  • Title makes sense
  • Is against the correct branch
  • Only addresses one issue
  • Properly assigned
  • Added/updated tests
  • Added/updated documentation with Figma design link. Don't forget to replace "design" by "file" in the URL. For example https://www.figma.com/file/example
  • Migrated touched components to Glimmer Components
  • Properly labeled

@phndiaye phndiaye self-assigned this Nov 2, 2026
@linear-code

linear-code Bot commented Nov 2, 2026

Copy link
Copy Markdown

CD-369

@phndiaye phndiaye changed the title Skyrocket Ember support from v3/4 to v7 (latest Ember) Skyrocket Ember support from v3/4 to v6 (latest Ember) Nov 3, 2026
@phndiaye phndiaye changed the title Skyrocket Ember support from v3/4 to v6 (latest Ember) Skyrocket Ember support from v3/4 to v6 Nov 3, 2026
@phndiaye
phndiaye force-pushed the feature/ember-upgrade-4-to-7 branch from b49b748 to 524eb22 Compare November 3, 2026 16:07
@phndiaye phndiaye changed the title Skyrocket Ember support from v3/4 to v6 [Breaking] Skyrocket Ember support from v3/4 to v6 Nov 4, 2026
phndiaye and others added 23 commits November 6, 2026 14:52
Bump the ember-source devDependency from ~3.28.8 to ~4.12.4 so the
default test run matches the 4.12 runtime used across the campaign
(CI's ember-4.12 try scenario already covered it). The ember-lts-3.28
try scenario is kept, and no published peer range changes.

Refs CD-369

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace the removed `locationType: 'auto'` with `'history'`, which is
what AutoLocation already resolved to in supported browsers. The test
environment keeps `'none'`.

Refs CD-369

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Raw output of `npx ember-cli-update --to 5.12` (addon blueprint 4.12 → 5.12).
Conflicted files kept on our side, unchanged: .ember-cli,
.github/workflows/ci.yml, .gitignore, .npmignore, .prettierignore, README.md.
Not re-added (absent here): .eslintignore, CONTRIBUTING.md,
tests/dummy/config/ember-try.js, tests/helpers/index.js.
Hand fixes follow in the next commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From the 5.12 blueprint, keep what the dummy app needs to run and test on
Ember 5.12: ember-source/ember-cli ~5.12, @ember/test-helpers ^3.3.1,
ember-qunit 8.1.0, ember-resolver 12.0.1 (exact, as before),
ember-auto-import ^2.8.1, ember-cli-babel ^8.2.0 with @babel/core in
dependencies (its peer; the devDependency entry is folded into it),
@embroider/test-setup ^4, @ember/optional-features ^2.1, qunit ^2.22 and
webpack ^5.95.0 (the merge produced an exact 5.95.0).

Leave linting as it is on the base branch (ember-template-lint stays
^3.15.0), and don't take the new node engines (published contract),
ember-cli-clean-css or the .watchmanconfig change. Against the base branch,
no package resolves to a lower version.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`</OSS::PowerSelect />` in the power-select integration test fails the 5.12
template compiler ("closing tag must not be self-closing"); 4.12 accepted
it. Use a plain end tag. Test-only, no behaviour change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- drop @types/ember and @types/ember__* (@types/rsvp stays: ember-source's own
  types import rsvp, which ships none); the lockfile no longer resolves them as
  glint's optional peers
- ember-source/types, and skipLibCheck since ember-intl 6's declarations import
  DefinitelyTyped-only modules
- SafeString from @ember/template, typed owner lookups and test object stubs
- setModifierManager is typed now: the managers are cast to ModifierManager,
  unchanged at runtime (none of them implements updateModifier)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The custom-assertion imports are only used as values, so declaration emit drops
them and consumers lose the global Assert augmentations; preserved references
keep them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pnpm only runs prepack for git dependencies without a main file, so consumers
pinning a commit got no .d.ts files; the script builds them in pnpm's temporary
git-preparation directory only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@storybook/ember 6.4.9 relies on the removed Ember global, so every story
failed with 'Ember is not defined'. 9.1.21 is the first release whose peer
range accepts ember-source >= 4 and still ships the Ember renderer (10.x
published without it). Its renderer still reads the Ember global, so it is
patched to require @ember/component instead.

Also moves the config to ESM and the webpack 5 builder, renames the
.stories.mdx docs to .mdx (plain markup instead of Canvas on raw HTML, which
also fixes the Table page that failed to parse), uses storybook/actions and
@storybook/addon-designs 10, sets the intl locale from an instance
initializer rather than during render, and fixes upload-item importing
MockUploader from the wrong controller.
Bump ember-source, ember-cli, @ember/test-helpers 5, ember-qunit 9, ember-resolver 13, ember-template-lint 6, ember-auto-import and @embroider/macros. ember-qunit 9 needs explicit loadTests() and setupEmberOnerrorValidation() in the test helper, @types/qunit >= 2.19.14 for the typed test context, and root imports from @ember/test-helpers (the deep dom/* paths are no longer exported). Split the nav-tab empty @tabArray test in two: Ember 6 no longer skips the second render after an unrecoverable render error.
ember-template-lint 6 is ESM-only, so the custom rules in linters/handlebars can no longer require() it.
Mechanical: `constructor(owner: unknown, ...)` becomes `constructor(owner: Owner, ...)`
in 68 files. @glimmer/component 2 requires a typed owner and the change also
compiles against 1.x.
ember-intl 7 requires it; 6.x accepts it.
MDX 2+ no longer parses GitHub-style tables on its own (Storybook 6.4 used MDX 1, which did), so the tables in our .mdx docs showed up as raw pipes after the 9.1 upgrade. Add remark-gfm through the addon-docs options.
@phndiaye
phndiaye force-pushed the feature/ember-upgrade-4-to-7 branch from 67dac9b to 8903682 Compare November 6, 2026 13:58

This branch has not been deployed

No deployments
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

Successfully merging this pull request may close these issues.

1 participant