Highlights 💡
Drop support for Node 16
Node.js 16 reached its end-of-life on September 11, 2023. Many other npm packages in the ecosystem have also dropped support for Node 16, including webpack-dev-server
, css-loader
, sass-loader
, and so on, which makes maintaining compatibility increasingly challenging. Therefore, we have decided to drop Node 16 support starting from Rsbuild v1.5 to ensure better compatibility with the modern ecosystem.
Package | v1.4 | v1.5 |
---|---|---|
@rspack/core | >=16.0.0 | >=18.12.0 |
@rspack/cli | >=18.12.0 | >=18.12.0 |
@rspack/dev-server | >=18.12.0 | >=18.12.0 |
@rsbuild/core | >=16.10.0 | >=18.12.0 |
⚠️ This is a breaking change for users still running Node.js 16. Users will need to upgrade to Node.js 18.12.0 or later to use Rsbuild v1.5.
For users currently using Node.js 16:
- Upgrade to Node.js 18.12.0 or later (Node.js 22 LTS is recommended)
- Update your CI/CD pipelines to use the new Node.js version
Parallel Less Compilation
This release adds support for parallel loader execution to @rsbuild/plugin-less
. If your project uses the @rsbuild/plugin-less
and contains a large number of Less files, you can enable parallel compilation to improve build performance.
pluginLess({
parallel: true,
});
What's Changed
New Features 🎉
- feat!: update minimum Node.js version to 18.12.0 by @chenjiahan in #5786
- feat: add
onBeforeDevCompile
plugin hook by @9aoy in #5788 - feat: improve command descriptions and documentations by @chenjiahan in #5792
- feat(plugin-less): support for parallel loader execution by @chenjiahan in #5805
- feat: allow to custom Wasm filename hash by @chenjiahan in #5807
- feat(deps): update @rspack/core to v1.5.0-beta.0 by @chenjiahan in #5818
Performance 🚀
- perf: update build configs to target ES2022 by @chenjiahan in #5790
- perf: remove pre-bundling of postcss-load-config by @chenjiahan in #5808
Bug Fixes 🐞
- fix(cli): ensure consistent spacing for npx of node 20+ by @chenjiahan in #5791
- fix(cli): skip greeting when help is requested by @chenjiahan in #5794
- fix(cli): ensure consistent spacing for node run script by @chenjiahan in #5813
Refactor 🔨
- refactor: eliminate switch exhaustiveness checks by @chenjiahan in #5803
Document 📖
- docs: update JavaScript runtime installation instructions by @chenjiahan in #5787
- docs: add less parallel to build performance guide by @chenjiahan in #5809
- docs: add version info to onBeforeDevCompile hook by @chenjiahan in #5811
- docs: improve code splitting documentation clarity by @chenjiahan in #5816
Other Changes
- test(e2e): replace execSync and npx with a faster helper by @chenjiahan in #5783
- test(e2e): replace direct exec calls with faster helper by @chenjiahan in #5784
- chore: replace npx with pnpx in bump scripts by @chenjiahan in #5785
- chore: remove node 16 compatibility patches and comments by @chenjiahan in #5789
- chore(deps): update dependency @rsdoctor/rspack-plugin to v1.2.0 by @renovate[bot] in #5793
- chore: exclude additional directories from biome by @chenjiahan in #5795
- chore(deps): update @rslint/core to v0.1.7 by @chenjiahan in #5797
- chore(deps): update dependency svelte to ^5.38.0 by @renovate[bot] in #5801
- chore(deps): update dependency rsbuild-plugin-open-graph to ^1.1.0 by @renovate[bot] in #5800
- chore(deps): update dependency react-router-dom to ^7.8.0 by @renovate[bot] in #5799
- chore: remove unnecessary type assertions by @chenjiahan in #5802
- release: @rsbuild/plugin-less v1.4.0 by @chenjiahan in #5806
- chore(deps): update all patch dependencies by @renovate[bot] in #5810
- chore: integrate with
rsbuild-plugin-arethetypeswrong
by @colinaaa in #5812 - test(e2e): fix flaky watching file cases by @chenjiahan in #5815
- release: 1.5.0-beta.0 by @chenjiahan in #5819
Full Changelog: v1.4.15...v1.5.0-beta.0