Repository navigation
⬆️ Switch from Yarn to npm and upgrade Node to 26 LTS - #1427
Merged
Merged
Conversation
Replace Yarn 1 (Classic) with npm, which is what a fresh Symfony install with Webpack Encore uses today, and upgrade Node from 22 to 26, the current Active LTS (EOL 2029-04-30). The release image moves from Debian bookworm to trixie for both the Node and PHP stages. The lockfile was migrated from yarn.lock, keeping the resolved versions. An npm override lets Encore accept TypeScript 7 as its optional peer, as Encore only uses Babel for TypeScript. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
0x46616c6b
marked this pull request as ready for review
November 3, 2026 19:28
0x46616c6b
requested review from
doobry-systemli,
t2d and
y3n4
as code owners
November 3, 2026 19:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
npm instead of Yarn: We still use Yarn 1 (Classic), which is frozen. Symfony does not pin a package manager for Webpack Encore. Flex picks one by lockfile and the Encore docs use
npm install, so a fresh Symfony 7.4 install today ends up with npm andpackage-lock.json. This PR follows that default.package-lock.jsonwas generated from the existingyarn.lock, so the resolved versions stay the same.typescript ^5 || ^6as an optional peer, but we use TypeScript 7. Encore compiles TypeScript through Babel and does not use thetypescriptpackage, so a scopedoverridesentry makes Encore accept the root TypeScript version. This avoids a globallegacy-peer-deps.npm ci/npm run/npx encore.Node 26 instead of 22: Node 26 (Lithium) has been the Active LTS since 2026-10-28 and is supported until 2029-04-30. Node 22 reaches EOL on 2027-04-30. All JS dependencies support Node 26. This reverses the Node 22 pin from #1424 / #1426 on purpose. The Dependabot rule now keeps us on Node 26.
Debian trixie instead of bookworm for the release image: The release image copies the Node binary into the PHP image, so both stages must use the same Debian release. Bookworm is now oldstable, so both stages move to the current stable, trixie. The images are still pinned by multi-arch digest.
🤖 Generated with Claude Code