You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updates Shakapacker from 9.0.0-beta.7 to 9.0.0-beta.8 with minimal changes.
The primary fix addresses a breaking change in the webpack configuration
structure introduced in beta.8.
Key Changes:
- Updated Shakapacker to 9.0.0-beta.8 in Gemfile and package.json
- Fixed commonWebpackConfig.js to properly detect SCSS rules in the new
webpack config structure
- Added defensive edge case handling for missing SCSS rules
- Removed redundant null checks and added ESLint-compliant formatting
Technical Details:
Shakapacker beta.8 introduced a new webpack rule structure with a oneOf
pattern at index 0 that matches .scss files but lacks a use array. The
original code would find this incorrect rule and crash when attempting to
access the use property.
The fix modifies the SCSS rule finder to require both a test match AND a
use array, ensuring it finds the correct rule with configured loaders. An
additional safety check warns if no valid SCSS rule is found, preventing
runtime errors.
Breaking Changes:
None. This is a patch-level update with no API changes.
Impact:
- Existing installations: Update dependencies and rebuild assets
- New installations: No special considerations
- Build process remains identical
- All existing webpack configurations continue to work
Testing:
- Full test build passes (yarn build:test)
- RuboCop linting passes
- Production build verified
- No behavioral changes to asset pipeline
Related Issues:
Follow-up migrations planned in separate PRs:
- Issue #666: Migrate from Babel to SWC transpiler
- Issue #667: Migrate to TypeScript
- Issue #668: Migrate from Webpack to Rspack
0 commit comments