Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 9, 2025

Bumps shakapacker from 8.4.0 to 9.1.0.

Changelog

Sourced from shakapacker's changelog.

[v9.1.0] - October 8, 2025

⚠️ IMPORTANT: This release includes a breaking change for SWC users. Please see the v9 Upgrade Guide - SWC Loose Mode Breaking Change for migration details.

⚠️ Breaking Changes

  • SWC default configuration now uses loose: false for spec-compliant transforms (#658)
    • Previously, Shakapacker set loose: true by default in SWC configuration, which caused:
      • Silent failures with Stimulus controllers
      • Incorrect behavior with spread operators on iterables (e.g., [...new Set()])
      • Deviation from both SWC and Babel upstream defaults
    • Now defaults to loose: false, matching SWC's default and fixing compatibility with Stimulus
    • This aligns with the previous fix to Babel configuration in [PR #107](shakacode/shakapacker#107)
    • Migration: Most projects need no changes as the new default provides spec-compliant behavior. Projects with Stimulus will benefit from this fix. See v9 Upgrade Guide - SWC Loose Mode for details
    • If you must restore the old behavior (not recommended), add to config/swc.config.js:
      module.exports = {
        options: {
          jsc: {
            // Only use this if you have code that requires loose transforms.
            // This provides slightly faster build performance but may cause runtime bugs.
            loose: true // Restore v9.0.0 behavior
          }
        }
      }

Added

  • New shakapacker:switch_bundler rake task for easy switching between webpack and rspack
    • Automatically updates config/shakapacker.yml to switch bundler configuration
    • Optional --install-deps flag to automatically manage dependencies
    • --no-uninstall flag for faster switching by keeping both bundlers installed
    • Supports all package managers: Auto-detects and uses npm, yarn, pnpm, or bun
    • Shows clear list of packages being added/removed during dependency management
    • Support for custom dependency configuration via .shakapacker-switch-bundler-dependencies.yml
    • Includes SWC dependencies (@swc/core, swc-loader) in default webpack setup
    • Preserves config file structure and comments during updates
    • Updates javascript_transpiler to swc when switching to rspack (recommended)
    • Ruby 2.7+ compatible YAML loading with proper alias/anchor support
    • Secure command execution (prevents shell injection)
    • Usage: rails shakapacker:switch_bundler [webpack|rspack] [--install-deps] [--no-uninstall]
    • See rake task help: rails shakapacker:switch_bundler --help
  • Stimulus compatibility built into SWC migration (#658)
    • rake shakapacker:migrate_to_swc now creates config/swc.config.js with keepClassNames: true
    • Prevents SWC from mangling class names, which breaks Stimulus controller discovery
    • Includes React Fast Refresh configuration by default
  • Comprehensive Stimulus documentation for SWC users (#658)
    • Added "Using SWC with Stimulus" section to docs/using_swc_loader.md
    • Documents symptoms of missing configuration (silent failures)

... (truncated)

Commits
  • cd49616 Release 9.1.0
  • bdd63f3 Prepare v9.1.0 release (#665)
  • 7b15eb5 Add comprehensive upgrade guide for common migrations (#661)
  • 3512433 Fix Ruby specs badge to reference correct workflow name (#666)
  • 1e6d774 Add shakapacker:switch_bundler rake task (#660)
  • 2e5894d Fix SwcMigrator to use javascript_transpiler config instead of unused swc fla...
  • 4a90a56 Change SWC default to loose: false and add Stimulus compatibility (#658)
  • 7222c6e Make RspackPlugin an alias for RspackPluginInstance (#651)
  • ebd016b Fix migrate_to_swc commands in CHANGELOG (#645)
  • cf698a6 Replace TypeScript any types with unknown and import RspackPluginInstance (#6...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [shakapacker](https://github.com/shakacode/shakapacker) from 8.4.0 to 9.1.0.
- [Changelog](https://github.com/shakacode/shakapacker/blob/main/CHANGELOG.md)
- [Commits](shakacode/shakapacker@v8.4.0...v9.1.0)

---
updated-dependencies:
- dependency-name: shakapacker
  dependency-version: 9.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Oct 9, 2025
Copy link
Contributor Author

dependabot bot commented on behalf of github Oct 10, 2025

Superseded by #2205.

@dependabot dependabot bot closed this Oct 10, 2025
@dependabot dependabot bot deleted the dependabot/bundler/shakapacker-9.1.0 branch October 10, 2025 03:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants