Skip to main content

Shakapacker's Peer Dependencies

Current supported ranges live in package.json and lib/install/package.json.

Shakapacker declares these packages as optional peer dependencies via peerDependenciesMeta. shakapacker:install adds the relevant subset for your chosen bundler/transpiler stack, while the ranges below document what current releases support.

Common Packages

"compression-webpack-plugin": "^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0"
"css-loader": "^6.8.1 || ^7.0.0"
"mini-css-extract-plugin": "^2.0.0"
"sass": "^1.50.0"
"sass-loader": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
"terser-webpack-plugin": "^5.3.1"
"webpack-assets-manifest": "^5.0.6 || ^6.0.0"
"webpack-cli": "^4.9.2 || ^5.0.0 || ^6.0.0 || ^7.0.0"
"webpack-dev-server": "^5.2.2"
"webpack-subresource-integrity": "^5.1.0"

Webpack

"webpack": "^5.101.0"
"webpack-merge": "^5.8.0 || ^6.0.0"

Rspack

"@rspack/cli": "^1.0.0 || ^2.0.0-0"
"@rspack/core": "^1.0.0 || ^2.0.0-0"
"@rspack/plugin-react-refresh": "^1.0.0"
"rspack-manifest-plugin": "^5.0.0"

Babel

Installed when you explicitly use javascript_transpiler: "babel":

"@babel/core": "^7.17.9"
"@babel/plugin-transform-runtime": "^7.17.0"
"@babel/preset-env": "^7.16.11"
"@babel/runtime": "^7.17.9"
"babel-loader": "^8.2.4 || ^9.0.0 || ^10.0.0"

SWC

Default for webpack installs, and used natively by Rspack:

"@swc/core": "^1.3.0"
"swc-loader": "^0.1.15 || ^0.2.0"

esbuild

"esbuild": "^0.14.0 || ^0.15.0 || ^0.16.0 || ^0.17.0 || ^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0"
"esbuild-loader": "^2.0.0 || ^3.0.0 || ^4.0.0"

TypeScript Authoring Helpers

These are optional peers used for the published type definitions and typed config authoring:

"@types/babel__core": "^7.0.0"
"@types/webpack": "^5.0.0"