Rspack 0.6.0 is out!
Read the announcement blog post: Announcing Rspack 0.6.
Overview
- Support builtin mini-css-extract-plugin
- Enable new tree shaking by default
- Align experiments css options with webpack and remove builtins css
- Remove
compiler.build
andcompiler.rebuild
- Update swc to 0.90.x
What's Changed
Breaking Changes 🛠
- chore: update swc by @h-a-n-a in #6009
- chore: remove
compiler.build
andcompiler.rebuild
by @h-a-n-a in #6066 - chore: 🤖 enable new tree shaking by default by @IWANABETHATGUY in #6145
- refactor: align experiments css options and remove builtins css by @ahabhgk in #6086
Performance Improvements ⚡
- perf: use mimalloc for musl target by @xc2 in #6071
- perf(core): Use unicase for compare_ids by @quininer in #6085
- perf: ⚡️ reduce alloc in ModuleGraphAccessor impl by @IWANABETHATGUY in #6136
- perf: module group get_key by @SyMind in #6142
- perf: integrate chunks by @SyMind in #6153
Exciting New Features 🎉
- feat: mini-css-extract-plugin by @JSerFeng in #5072
- feat: enable incremental_rebuild when use new treeshaking by @jerrykingxyz in #6029
- feat: export MultiStats class by @chenjiahan in #6058
- feat(rspack): NormalModuleReplacementPlugin by @xc2 in #6028
- feat: support more intuitive CSS diagnostic by @luhc228 in #6040
- feat: support entry.dependOn by @LingyuCoder in #6069
- feat: support compilation.hooks.afterSeal by @LingyuCoder in #6090
- feat: support css default export and named export at same time by @ahabhgk in #6107
- feat(swc_plugin_import): legacy kebab/snake case for legacy babel-plugin-import compatibility by @xc2 in #6070
- feat: support dependOn in chunk split by @SyMind in #6109
Bug Fixes 🐞
- fix: assets filename maybe not match a chunk by @SyMind in #6026
- fix:
Compiler
andCompilation
inLoaderContext
of a childCompiler should be updated by @h-a-n-a in #6034 - fix: disable import stmt opt in old tree shaking by @IWANABETHATGUY in #6037
- fix: do not concatenate css module by @IWANABETHATGUY in #6039
- fix: emit asset file with buffer can use in asset emitted hook correctly by @LingyuCoder in #6067
- fix: handle error of
cacheGroup.name()
by @h-a-n-a in #6081 - fix: ci typo error by @LingyuCoder in #6092
- fix: should add use-credentials into css-loading runtime correctly by @LingyuCoder in #6097
- fix: 🐛 add concatenation bailout reason by @IWANABETHATGUY in #6110
- fix: merge with global parser generator options by @ahabhgk in #6135
- fix: 🐛 use set queue instead of
VecDeq
by @IWANABETHATGUY in #6134 - fix: nested
unknown || truthy = unknown truthy
eval logical or by @ahabhgk in #6139 - fix:
Rule.enforce
should be applied touse
of function type by @h-a-n-a in #6112
Documentation Updates 📚
- docs: update some rspack legacy descriptions by @9aoy in #6030
- docs: add ignoreWarnings option by @9aoy in #6032
- docs: integrate Rsbuild plugins for website by @chenjiahan in #6043
- docs: remove deprecated html and node-polyfill plugin by @chenjiahan in #6044
- docs: improve api introduction by @SyMind in #6041
- docs: add rsfamily-design-resources by @chenjiahan in #6053
- docs: node api by @SyMind in #6052
- docs(storybook): update to use @modern-js/storybook by @fi3ework in #6123
- docs: use Rspress official plugin for RSS supports by @chenjiahan in #6126
- docs: add document for CssExtractRspackPlugin by @JSerFeng in #6147
- docs: enable new tree shaking by default by @LingyuCoder in #6158
Other Changes
- test(rspack): add test for ExportDefaultDecleration case with ProvidePlugin by @xc2 in #6024
- refactor: normal module factory after resolve hook by @ahabhgk in #6023
- refactor: split module_graph by @jerrykingxyz in #6004
- refactor: context module factory before resolve hook by @ahabhgk in #6027
- chore(deps): update crates by @renovate in #6035
- refactor: cmf after resolve hook by @ahabhgk in #6038
- chore(workflow): update PR template by @chenjiahan in #6045
- chore: add rspack-compat by @hardfist in #6050
- chore: remove integrate cases by @LingyuCoder in #6046
- refactor: nmf create module hook by @ahabhgk in #6047
- chore: migrate tree shaking rust test cases by @LingyuCoder in #6054
- refactor: nmf resolve for scheme hook by @ahabhgk in #6055
- chore: cargo build reuse cache by @jerrykingxyz in #6079
- chore(workflow): integrate cspell-ban-words by @chenjiahan in #6096
- chore: add warning notice about @rspack/test-tools by @hardfist in #6095
- chore: remove change logs because they are outdated and not useful by @Boshen in #6098
- chore(deps): update peter-evans/find-comment action to v3.1.0 by @renovate in #6103
- chore: remove unused dependencies from crates/rspack by @Boshen in #6099
- chore(deps): update crates by @renovate in #6102
- refactor: remove rspackFuture.disableApplyEntryLazily by @ahabhgk in #6100
- chore: release all platform for canary release by @hardfist in #6104
- chore: use .snap.txt for custom hightlight in editor by @LingyuCoder in #6106
- chore: git attributes snap by @LingyuCoder in #6108
- chore: migrate cases from crates/rspack to packages/rspack-test-tools by @LingyuCoder in #6111
- chore: fix diff case by @LingyuCoder in #6122
- test: make CopyPlugin.test faster and more stable by @xc2 in #6115
- chore: migrate swc-loader cases by @LingyuCoder in #6114
- chore: migrate plugin asset cases by @LingyuCoder in #6116
- chore: migrate plugin css cases by @LingyuCoder in #6117
- chore: migrate plugin html cases by @LingyuCoder in #6118
- chore: migrate plugin javascript cases by @LingyuCoder in #6119
- chore: migrate plugin wasm cases by @LingyuCoder in #6120
- chore: remove rspack testing dependency by @LingyuCoder in #6121
- refactor: migrate normal module hooks by @ahabhgk in #6127
- test: fix random ci failure by @xc2 in #6113
- chore: run format by @JSerFeng in #6131
- refactor: js plugin hooks by @ahabhgk in #6132
- chore: move hot next function from runner to runner factory by @LingyuCoder in #6140
- chore(rust/dep): update
sugar_path
to 1.2.0 by @hyf0 in #6143 - chore: port mini-css-extract tests by @JSerFeng in #5220
- chore: use
cargo-shear
to remove unused dependencies by @Boshen in #6146 - chore: remove workflows/need-doc.yml which is not needed anymore by @Boshen in #6150
- chore: regenerate pnpm-lock.yaml by @Boshen in #6149
New Contributors
Full Changelog: v0.5.9...v0.6.0