Highlights 💡
Reduced install size ⚡️
In Rspack v1.4.9, we focused on optimizing our Rust dependencies and build flags. This effort has resulted in significant reductions to Rspack's install size across all platforms. We continue to work on further size optimizations and expect additional improvements in future releases.
Platform | Rspack 1.4.8 | Rspack 1.4.9 | Diff |
---|---|---|---|
@rspack/binding-linux-x64-gnu | 59.4MB | 51.3MB | 8.1MB |
@rspack/binding-darwin-arm64 | 46.1MB | 43.2MB | 2.9MB |
@rspack/binding-win32-x64-msvc | 51.4MB | 48.5MB | 2.9MB |
What's Changed
Performance Improvements ⚡
- perf(wasm): set lto=fat and cgu=1 by @CPunisher in #11071
- perf: use fxhash for HashMap in napi by @SyMind in #11080
- perf: Use build-std for release by @quininer in #11077
- perf: dedupe derive_more by @hardfist in #11092
- perf(wasm): use build-std for release-wasi by @CPunisher in #11091
- perf: napi resolve request by @SyMind in #11102
- perf: get resolve in external plugin by @SyMind in #11111
- perf: parallel set sync modules by @LingyuCoder in #11113
New Features 🎉
- feat: upgrade swc to 33.0.0 by @hardfist in #11089
- feat(plugin_mf): Module Hoisting, Entry initialization via webpack_require.x, Custom Hooks by @ScriptedAlchemy in #10524
- feat: support SwcJsMinimizerRspackPlugin specifying ECMAScript version by @GiveMe-A-Name in #11109
- feat(rstest): strip import_call as first arg in mock function by @fi3ework in #11099
- feat: rspack_storage support reset by @jerrykingxyz in #11119
Bug Fixes 🐞
- fix: support compilation.errors.push string by @SyMind in #11047
- fix: remove last builtin:swc-loader warning for collecting ts info by @ahabhgk in #11079
- fix: use parse meta to collect ts info by @ahabhgk in #11083
- fix: should update initial chunk style by @JSerFeng in #11096
- fix: snapshot not work for renamed files by @jerrykingxyz in #11078
- fix: works with async mock factory by @fi3ework in #11050
- fix: change request at before resolve for mf by @ahabhgk in #11098
- fix: should match
resource
instead ofidentifier
by @colinaaa in #11086 - fix: should allow
externalHelpers: false
by @colinaaa in #11108 - fix: emit error for esm duplicate export by @ahabhgk in #11112
- fix: temporarily ignore NativeWatcher tests in CI due to instability by @GiveMe-A-Name in #11122
Refactor 🔨
- refactor: use import default by @CPunisher in #11066
- refactor: reexport napi binding types by @CPunisher in #11095
- refactor: remove cache from compilation and use mutable self in cache trait by @jerrykingxyz in #11120
Document Updates 📖
- docs: improve webpackIgnore for dynamic imports and URL syntax by @chenjiahan in #11054
- docs: add workflow guide for publishing rust crates by @h-a-n-a in #11069
Other Changes
- chore(deps): update dependency @ast-grep/napi to ^0.38.7 by @renovate[bot] in #11064
- chore(deps): update dependency @module-federation/runtime-tools to v0.17.0 by @renovate[bot] in #11065
- chore(deps): update patch npm dependencies by @renovate[bot] in #11060
- ci(paths-filter): add predicate-quantifier
"every"
by @h-a-n-a in #11070 - chore: setup rpath for sftrace by @quininer in #11094
- chore(deps): update dependency @biomejs/biome to ^2.1.2 by @renovate[bot] in #11097
- chore(deps): update dependency core-js to v3.44.0 by @renovate[bot] in #11103
- chore(deps): update dependency mermaid to ^11.9.0 by @renovate[bot] in #11105
- chore(deps): update dependency less to v4.4.0 by @renovate[bot] in #11104
- test: assert bench error by @colinaaa in #11106
- chore(linker): remove flag
--warn-unresolved-symbols
by @h-a-n-a in #11115 - chore: cleanup enter call for js parser by @ahabhgk in #11114
- test: enable tests for native watcher by @GiveMe-A-Name in #11076
- chore(wasm): bump @napi-rs/cli and @napi-rs/wasm-runtime by @CPunisher in #11118
- chore: no need to add code owner for test cases folder by @LingyuCoder in #11121
- chore(deps): update napi by @renovate[bot] in #10865
Full Changelog: v1.4.8...v1.4.9