chore: remove obsolete webpack <5.106.0 pin#3175
Conversation
…)" This reverts commit 8025748.
Webpack 5.106.1 (released 2026-04-10) ships the fix for the anonymous default export regression that caused ReferenceError: __WEBPACK_DEFAULT_EXPORT__ is not defined in ExecJS-based SSR (webpack/webpack#20796). The pin added to shakapacker_examples.rake is no longer needed — generated example apps will now install webpack 5.106.x uncapped. The companion package.json / pnpm.override pins were removed in the preceding revert commit. Closes #3166. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
WalkthroughThis PR removes webpack version pinning previously applied across multiple configuration files and build logic to work around a known webpack 5.106.0 SSR regression. The pin has been removed from pnpm overrides, a rake helper method has been deleted, and version constraints have been updated in multiple package.json files. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
size-limit report 📦
|
Greptile SummaryThis PR removes the temporary webpack Confidence Score: 5/5Safe to merge — changes are a clean revert of a temporary workaround, with the upstream fix confirmed shipped in webpack 5.106.1. All six files contain only the removal of the webpack upper-bound pin and its companion comments/helpers. No new logic is introduced, no security surface changes, and the upstream regression that motivated the pin is resolved. All remaining webpack specifiers (^5.104.1, "5") resolve correctly to 5.106.x. No files require special attention. Important Files Changed
Reviews (1): Last reviewed commit: "chore: remove now-obsolete webpack 5.106..." | Re-trigger Greptile |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
react_on_rails/spec/dummy/package.json (1)
61-61: Align the dummy app webpack specifiers.Line 61 uses
^5.104.1, while the Pro dummy manifests in this PR use5. For consistency across spec/dummy manifests and to avoid version conflicts, align this specifier:- "webpack": "^5.104.1", + "webpack": "5",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@react_on_rails/spec/dummy/package.json` at line 61, Update the webpack dependency specifier in the dummy app package.json so it matches the Pro dummy manifests: change the "webpack" entry currently set to "^5.104.1" to use the simplified "5" specifier (i.e., replace the value for the "webpack" key in package.json).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@react_on_rails/spec/dummy/package.json`:
- Line 61: Update the webpack dependency specifier in the dummy app package.json
so it matches the Pro dummy manifests: change the "webpack" entry currently set
to "^5.104.1" to use the simplified "5" specifier (i.e., replace the value for
the "webpack" key in package.json).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: ddd41c3b-9016-4d2e-a6f6-10ba1e81ba89
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
package.jsonreact_on_rails/rakelib/shakapacker_examples.rakereact_on_rails/spec/dummy/package.jsonreact_on_rails_pro/spec/dummy/package.jsonreact_on_rails_pro/spec/execjs-compatible-dummy/package.json
💤 Files with no reviewable changes (1)
- react_on_rails/rakelib/shakapacker_examples.rake
|
Code Review: PR 3175 - Remove obsolete webpack pin. Overview: Clean two-commit structure. Key concern: lockfile resolves to 5.104.1/5.105.2 not 5.106.x - pre-fix versions - so CI never exercises the upstream fix. Inconsistent specifiers: react_on_rails/spec/dummy uses caret-5.104.1 while pro dummies use major-5. Rake removal is clean. |
|
Consolidated response to the summary-level review comments (claude[bot], coderabbit nitpick, greptile-apps). On the "lockfile doesn't reach 5.106.x" concern (claude[bot] PR summary + inline threads on On specifier alignment On greptile-apps' "all specifiers resolve correctly to 5.106.x": factually incorrect — verified via |
Address-review summaryScan scope: full PR history (first Mattered
Optional
Skipped
Next default scan starts after this comment. Say |
…ons-docs * origin/main: chore: remove redundant --rsc-pro install generator flag (#3105) ci: warn (don't fail) on Bencher main regression (#3168) test: enable RSpec --profile to surface slowest package tests (#3176) fix(node-renderer): expose performance in VM context when supportModules (#3158) docs: remove stale immediate_hydration references (#3139) (#3159) docs: restore absolute URL for node-renderer testing example (#3179) Bump Rspack dependencies to v2 (^2.0.0-0) (#3084) chore: remove obsolete webpack <5.106.0 pin (#3175) Move Node Renderer entry point to renderer/ directory (#3165) docs: address RSC pitfalls review follow-ups (#3155) (#3156) docs: remove fabricated DevConsole reference, link verified RSC tools (#2527) (#3163) # Conflicts: # docs/oss/building-features/node-renderer/js-configuration.md
…ging' into jg/3122-rolling-deploy-adapter * origin/jg/3122-unify-renderer-cache-staging: (39 commits) fix(specs): boot dummy specs without readline and drop redundant pnpm workspace (#3190) docs: add RSC migration success stories page (#1985) (#3162) Fix Bencher reporting permanently broken on pushes to main (#3148) docs: add example migrations guide (#3126) docs: remove defunct guavapass.com reference (#3199) chore: remove redundant --rsc-pro install generator flag (#3105) ci: warn (don't fail) on Bencher main regression (#3168) test: enable RSpec --profile to surface slowest package tests (#3176) fix(node-renderer): expose performance in VM context when supportModules (#3158) docs: remove stale immediate_hydration references (#3139) (#3159) docs: restore absolute URL for node-renderer testing example (#3179) Bump Rspack dependencies to v2 (^2.0.0-0) (#3084) chore: remove obsolete webpack <5.106.0 pin (#3175) Move Node Renderer entry point to renderer/ directory (#3165) docs: address RSC pitfalls review follow-ups (#3155) (#3156) docs: remove fabricated DevConsole reference, link verified RSC tools (#2527) (#3163) Scaffold CI workflow and build scripts for first-run consistency (#3097) Add OPTIONAL triage tier and fix recommendations to /address-review (#3161) chore: sync Gemfile.lock with term-ansicolor 1.11.3 (#3164) Simplify the docs sidebar and Pro landing pages (#3119) ...
* origin/main: fix(specs): boot dummy specs without readline and drop redundant pnpm workspace (#3190) docs: add RSC migration success stories page (#1985) (#3162) Fix Bencher reporting permanently broken on pushes to main (#3148) docs: add example migrations guide (#3126) docs: remove defunct guavapass.com reference (#3199) chore: remove redundant --rsc-pro install generator flag (#3105) ci: warn (don't fail) on Bencher main regression (#3168) test: enable RSpec --profile to surface slowest package tests (#3176) fix(node-renderer): expose performance in VM context when supportModules (#3158) docs: remove stale immediate_hydration references (#3139) (#3159) docs: restore absolute URL for node-renderer testing example (#3179) Bump Rspack dependencies to v2 (^2.0.0-0) (#3084) chore: remove obsolete webpack <5.106.0 pin (#3175) Move Node Renderer entry point to renderer/ directory (#3165) docs: address RSC pitfalls review follow-ups (#3155) (#3156) # Conflicts: # CHANGELOG.md
Summary
Webpack 5.106.1 (released 2026-04-10) shipped the upstream fix for the ExecJS SSR regression (
ReferenceError: __WEBPACK_DEFAULT_EXPORT__ is not defined) that made us pin<5.106.0in the first place. 5.106.2 followed on 2026-04-15. The pin is no longer needed.Changes
This PR is two commits:
Revert of fix: cap webpack <5.106.0 to prevent ExecJS SSR breakage #3095 — pure
git revert, no edits. Removes:package.jsonpnpm override"webpack": ">=5.76.0 <5.106.0"react_on_rails/spec/dummy/package.json,react_on_rails_pro/spec/dummy/package.json, andreact_on_rails_pro/spec/execjs-compatible-dummy/package.jsonpackage.jsonpnpm-lock.yamlto pre-fix: cap webpack <5.106.0 to prevent ExecJS SSR breakage #3095 state.Remove the rake-level pin added in Scaffold CI workflow and build scripts for first-run consistency #3097 — drops the
pin_webpack_versionmethod fromreact_on_rails/rakelib/shakapacker_examples.rakeand its single call site ininstall_example_node_dependencies. Generated example apps will now install webpack 5.106.x uncapped. This is the pin Remove webpack <5.106.0 pin once 5.106.x SSR regression is fixed upstream #3166 was originally filed about.References
Closes #3166.
Test plan
Summary by CodeRabbit