Repository navigation
IBX-12891: Upgraded @symfony/webpack-encore to 7.2 and dropped the webpack pin in the 6.0 encore recipes - #273
Open
pawlakadrian wants to merge 2 commits into
Open
pawlakadrian wants to merge 2 commits into
pawlakadrian wants to merge 2 commits into
Conversation
|
Thanks for contribution! 🎉 To test the changes please execute: before executing the recipes. |
This was referenced Oct 16, 2026
Open
pawlakadrian
marked this pull request as ready for review
October 16, 2026 14:40
Contributor
Author
pawlakadrian
requested review from
GrabowskiM,
KamilSznajdrowicz,
albozek,
barbaragr,
dew326,
juskora,
katarzynazawada,
tischsoic and
tomaszszopinski
October 16, 2026 14:43
There was a problem hiding this comment.
🟡 Changes recommended
All eight manifests must replace the temporary frontend-config branch with the compatible release range before merging.
1 open finding
What changed in this PR
Upgrades the 5.0 and 6.0 frontend recipes to Encore 7.2 to address the copy-files-loader compatibility regression.
Changes:
- Updates Encore, Babel and polyfill dependencies across four products.
- Adapts webpack configurations for Encore’s default export, asynchronous configuration and Babel 8 polyfills.
- Temporarily points frontend-config dependencies to the integration branch.
| File | Description |
|---|---|
| ibexa/oss/6.0/encore/webpack.config.js | Adapts configuration to Encore 7. |
| ibexa/oss/6.0/encore/package.json | Updates build dependencies. |
| ibexa/oss/5.0/encore/webpack.config.js | Adapts configuration to Encore 7. |
| ibexa/oss/5.0/encore/package.json | Updates build dependencies. |
| ibexa/headless/6.0/encore/webpack.config.js | Adapts configuration to Encore 7. |
| ibexa/headless/6.0/encore/package.json | Updates build dependencies. |
| ibexa/headless/5.0/encore/webpack.config.js | Adapts configuration to Encore 7. |
| ibexa/headless/5.0/encore/package.json | Updates build dependencies. |
| ibexa/experience/6.0/encore/webpack.config.js | Adapts configuration to Encore 7. |
| ibexa/experience/6.0/encore/package.json | Updates build dependencies. |
| ibexa/experience/5.0/encore/webpack.config.js | Adapts configuration to Encore 7. |
| ibexa/experience/5.0/encore/package.json | Updates build dependencies. |
| ibexa/commerce/6.0/encore/webpack.config.js | Adapts configuration to Encore 7. |
| ibexa/commerce/6.0/encore/package.json | Updates build dependencies. |
| ibexa/commerce/5.0/encore/webpack.config.js | Adapts configuration to Encore 7. |
| ibexa/commerce/5.0/encore/package.json | Updates build dependencies. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| "@ckeditor/ckeditor5-dev-utils": "^47.0.0", | ||
| "@hotwired/stimulus": "^3.0.0", | ||
| "@ibexa/frontend-config": "https://github.com/ibexa/frontend-config#^v5.0.0", | ||
| "@ibexa/frontend-config": "https://github.com/ibexa/frontend-config#IBX-12891", |
pawlakadrian
force-pushed
the
IBX-12891
branch
from
October 20, 2026 12:59
9070dba to
2563b72
Compare
…recipes - @symfony/webpack-encore 7 is an ES module: webpack.config.js takes its default export - Babel 8 dropped the useBuiltIns/corejs options of @babel/preset-env: core-js polyfills are now added with babel-plugin-polyfill-corejs3, and Babel 8 is required explicitly - getWebpackConfig() returns a Promise: the "app" config name is set once it resolves Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With @symfony/webpack-encore 7 the 6.0 recipes no longer need the pin from IBX-12890. @symfony/stimulus-bridge is bumped to ^4.0.2, the first version whose loader does not require webpack/lib/dependencies/LoaderDependency (removed in webpack 5.112.0). The pin stays on 4.6 and 5.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pawlakadrian
force-pushed
the
IBX-12891
branch
from
October 21, 2026 11:42
2563b72 to
68c57a8
Compare
|
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.



Before merging:
v5.0.3and switch@ibexa/frontend-configin the 4 recipepackage.jsonfiles from#IBX-12891back to#^v5.0.3Related PRs:
Description:
Fixes the webpack 5.112.0 build failure (IBX-12890) on 6.0 properly, by upgrading
@symfony/webpack-encorefrom^5.1.0to^7.2.0in the encore recipes of oss, headless, experience and commerce, and drops the temporarywebpack <5.112.0pin from #272 there. 4.6 and 5.0 are not changed and keep the pin.package.json:@symfony/webpack-encore:^5.1.0→^7.2.0@babel/coreand@babel/preset-env^8.0.0,@babel/preset-react^7.0.0→^8.0.0babel-plugin-polyfill-corejs3^1.0.0@symfony/stimulus-bridge:^3.0.0→^4.0.2, the first version whose loader does not requirewebpack/lib/dependencies/LoaderDependency(3.x still does, soenableStimulusBridge()fails with webpack 5.112.0)webpack:>=5.99.7 <5.112.0→^5.99.7and itsresolutionsentry removed (thesass <1.106.0pin from IBX-12962, IBX-12962: Pinned sass below 1.106.0 in the encore recipes #276, stays)webpack.config.js:require('@symfony/webpack-encore').defaultuseBuiltIns/corejsfrom@babel/preset-env(encore 7 throws on them): the core-js polyfills are now added withbabel-plugin-polyfill-corejs3(usage-global) throughconfigureBabel()getWebpackConfig()returns a Promise: theappconfig name is set once it resolves (otherwise--config-name app, used byibexa:encore:compile, fails withConfiguration with the name "app" was not found)Not changed on purpose:
<5.112.0pin from IBX-12890: Pinned webpack below 5.112.0 in the encore recipes #272sass <1.106.0pin from IBX-12962 (IBX-12962: Pinned sass below 1.106.0 in the encore recipes #276), indevDependenciesandresolutionscompatibility-layer6.0 recipe: itswebpack.config.jsrequiresibexa.webpack.config.js/ibexa.webpack.custom.configs.js, which do not exist in 6.0 projects, so it does not build regardless of encore@ibexa/frontend-configpoints to theIBX-12891branch only to test this in CI. Switch it back to a tag range (#^v5.0.3) once ibexa/frontend-config#13 is released; the recipes do not work with encore 7 and an older frontend-config.For QA:
ibexa:encore:compilesteps from CI plusencore productioncompile. Differences in the output compared to encore 5 are expected: Babel 8 targets modern browsers by default (no ES5 transpilation, smaller JS) and no longer injectsregenerator-runtime, so its*.LICENSE.txtfiles are gone.copyFiles()andenableStimulusBridge(): resolves webpack 5.112.0, encore 7.2.0, stimulus-bridge 4.0.2 and compiles; with stimulus-bridge 3.x the same build fails withCannot find module 'webpack/lib/dependencies/LoaderDependency'.Not verified on a full 6.0 project without the pin or in a browser yet; browser-tests regression run on 6.0: ibexa/commerce#2074.
Documentation:
Projects upgrading to these recipes on 6.0 need to apply the same
package.json/webpack.config.jschanges; custom encore configs that modify the result ofEncore.getWebpackConfig()synchronously have to wait for the Promise with encore 7.🤖 Generated with Claude Code