Background
react_on_rails/rakelib/shakapacker_examples.rake currently pins webpack to ">=5.0.0 <5.106.0" in the generated example apps' devDependencies because webpack 5.106.0 introduced an SSR regression that breaks our example builds. The pin is applied in update_example_apps_with_shakapacker_8 immediately after shakapacker:install runs so it overrides the resolved range from direct dependencies (using overrides conflicted with the direct deps added by shakapacker:install).
Relevant line: https://github.com/shakacode/react_on_rails/blob/master/react_on_rails/rakelib/shakapacker_examples.rake#L120
Task
- Track upstream webpack 5.106.x SSR fix (or confirm the regression is already resolved in a later 5.106.x / 5.107.x release).
- Once the fix is released, remove the
">=5.0.0 <5.106.0" pin in shakapacker_examples.rake and the companion # TODO comment.
- Verify example apps still build and SSR correctly without the pin.
Context
Surfaced during review of PR #3097 — the TODO was flagged for not referencing a tracking issue. This issue exists so the workaround isn't lost as the codebase evolves.
Background
react_on_rails/rakelib/shakapacker_examples.rakecurrently pinswebpackto">=5.0.0 <5.106.0"in the generated example apps'devDependenciesbecause webpack 5.106.0 introduced an SSR regression that breaks our example builds. The pin is applied inupdate_example_apps_with_shakapacker_8immediately aftershakapacker:installruns so it overrides the resolved range from direct dependencies (usingoverridesconflicted with the direct deps added byshakapacker:install).Relevant line: https://github.com/shakacode/react_on_rails/blob/master/react_on_rails/rakelib/shakapacker_examples.rake#L120
Task
">=5.0.0 <5.106.0"pin inshakapacker_examples.rakeand the companion# TODOcomment.Context
Surfaced during review of PR #3097 — the TODO was flagged for not referencing a tracking issue. This issue exists so the workaround isn't lost as the codebase evolves.