Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 10, 2025

Bumps shakapacker from 6.6.0 to 9.3.1.

Changelog

Sourced from shakapacker's changelog.

[v9.3.1] - November 9, 2025

Fixed

  • Fixed NODE_ENV not being set when running shakapacker-dev-server. [PR #823](shakacode/shakapacker#823) by Seifeldin7. Resolves #802. The dev server now properly initializes NODE_ENV to match RAILS_ENV (or "production" by default), fixing webpack configurations that dynamically load environment-specific files.
  • Extended manifest merging for multiple client configurations to all environments. [PR #800](shakacode/shakapacker#800) by Judahmeek.

Added

  • Support for css_modules_export_mode configuration option. [PR #817](shakacode/shakapacker#817) by justin808. Adds css_modules_export_mode setting in shakapacker.yml to control CSS Modules export style. Set to "named" (default, v9+ behavior with true named exports) or "default" (v8 behavior with default export object). Allows teams to opt into v8-style exports for easier migration from v8 or when using TypeScript with strict type checking.
  • Configuration#data public API method with enhanced documentation and safety. [PR #818](shakacode/shakapacker#818) by justin808. The Configuration#data method is now part of the public Ruby API, providing stable access to raw configuration data. Returns a frozen hash with symbolized keys to prevent accidental mutations. Includes comprehensive test coverage and detailed RDoc documentation.
  • Support for javascript_transpiler: 'none' for completely custom webpack configurations. [PR #799](shakacode/shakapacker#799) by justin808. Allows users with custom webpack configs to skip Shakapacker's transpiler setup and validation by setting javascript_transpiler: 'none' in shakapacker.yml. Useful when managing transpilation entirely outside of Shakapacker's defaults.

[v9.3.0] - November 2, 2025

Fixed

  • Enhanced error handling for better security and debugging. [PR #786](shakacode/shakapacker#786) by justin808.
    • Path validation now properly reports permission errors instead of silently handling them
    • Module loading errors now include original error context for easier troubleshooting
    • Improved security by only catching ENOENT errors in path resolution, rethrowing permission and access errors
    • Better type safety with custom ErrorWithCause interface and optional chaining for error.code checks
  • Improved type safety and error handling in configExporter module. [PR #778](shakacode/shakapacker#778) by justin808. Resolves #707.
    • Enhanced type safety across configFile, buildValidator, and yamlSerializer modules
    • Improved error message preservation for webpack/rspack build failures
    • Fixed edge cases in YAML serialization (empty arrays, malformed objects)
    • More robust constructor name detection for object serialization
    • Better handling of Symbol, BigInt, and edge case types
  • Default template no longer triggers production warning. [PR #774](shakacode/shakapacker#774) by justin808. Fixes #703.
    • Changed default useContentHash to true in shakapacker.yml template
    • Eliminates confusing warning about useContentHash: false not being allowed in production
    • Development environment now explicitly sets useContentHash: false for faster builds
    • Production no longer needs explicit override since it inherits the correct default
  • Fixed Rails constant error when using custom environments like staging. [PR #681](shakacode/shakapacker#681) by justin808. RAILS_ENV=staging no longer causes "uninitialized constant Shakapacker::Instance::Rails" error. Shakapacker now works in non-Rails contexts.
  • Fixed TypeScript type definitions to export proper types instead of any. [PR #684](shakacode/shakapacker#684) by justin808. Previously package/index.d.ts was exporting all types as any, breaking IDE autocomplete. Now properly exports typed interfaces.
  • Fixed integrity config handling and sass-loader version check. [PR #688](shakacode/shakapacker#688) by justin808. Properly handles subresource integrity configuration and correctly detects sass-loader version for conditional logic.

Added

  • HTTP 103 Early Hints support for faster asset loading. [PR #722](shakacode/shakapacker#722) by justin808. Automatically sends early hints when early_hints: enabled: true in shakapacker.yml. Works with append_javascript_pack_tag/append_stylesheet_pack_tag, supports per-controller/action configuration, and includes helpers like configure_pack_early_hints and skip_send_pack_early_hints. Requires Rails 5.2+ and HTTP/2-capable server. See Early Hints Guide.
  • --help=verbose flag to display all available webpack/rspack bundler options. [PR #763](shakacode/shakapacker#763) by justin808. Run bin/shakapacker --help=verbose to see complete bundler documentation.
  • Support for arbitrary output names in build configurations. [PR #752](shakacode/shakapacker#752) by justin808. The outputs array now accepts any custom names (e.g., client-modern, client-legacy, server-bundle) instead of being limited to only client, server, and all.
  • Enhanced error reporting in config exporter. [PR #752](shakacode/shakapacker#752) by justin808. Shows detailed environment variable state when config functions fail and provides actionable suggestions based on error patterns.
  • Config count validation for build outputs. [PR #752](shakacode/shakapacker#752) by justin808. Validates webpack/rspack config array length matches outputs array with clear error messages and suggested fixes.
  • precompile_hook configuration option to run custom commands during asset precompilation. [PR #678](shakacode/shakapacker#678) by justin808. Configure in shakapacker.yml with precompile_hook: "command to run".
  • assets_bundler_config_path configuration option for custom bundler config locations. [PR #710](shakacode/shakapacker#710) by justin808. Allows specifying a custom path for webpack/rspack configuration files.
  • YAML output format support for bin/shakapacker-config (formerly bin/export-bundler-config). [PR #704](shakacode/shakapacker#704) by justin808. New --format yaml option exports bundler configuration as YAML.
  • Plugin names displayed in YAML config export. [PR #750](shakacode/shakapacker#750) by justin808. Shows plugin constructor names in exported configuration to help identify which plugins are active.
  • Custom help messages for bin/shakapacker commands. [PR #702](shakacode/shakapacker#702) by justin808. Improved help output for better command discoverability with clear usage examples.
  • HMR client config export in doctor mode. [PR #701](shakacode/shakapacker#701) by justin808. bin/shakapacker-config --doctor now includes HMR client configuration to help debug Hot Module Replacement issues.

... (truncated)

Commits
  • dd2abd3 Release 9.3.1
  • 979dd50 Fix NODE_ENV not being set when running shakapacker-dev-server (#823)
  • 272cb11 Add css_modules_export_mode configuration option (#817)
  • 10d2164 Remove package/** ignore from fast ESLint config after #644 resolution (#821)
  • 5ed4088 Re-enable no-unused-vars rule for package/environments/**/*.ts (#820)
  • 5f44a3c Optimize CI workflows to skip unnecessary test runs (#816)
  • 3158e41 Remove dead code: unused _fileOutput variable (#815)
  • 089013f Enhance Configuration#data with security and documentation (#819)
  • c65b7ad Add test coverage for optional webpack peer dependency behavior (#791) (#797)
  • 2341548 Set merge option to true in WebpackAssetsManifest (#800)
  • 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 6.6.0 to 9.3.1.
- [Changelog](https://github.com/shakacode/shakapacker/blob/main/CHANGELOG.md)
- [Commits](shakacode/shakapacker@v6.6.0...v9.3.1)

---
updated-dependencies:
- dependency-name: shakapacker
  dependency-version: 9.3.1
  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 Nov 10, 2025
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.

1 participant