npm @rspack/cli 2.2.9
v2.2.9

8 hours ago

Highlights

Less duplicate code. Smaller bundles. 📦

Rspack's chunking algorithm has been improved to reduce duplicate modules across chunks. (#15885)

rspack-chunking.mp4

Smaller package size

Rspack upgrades browserslist-rs and enables deflate compression for its browser data, reducing native binary by 2.13 MB (3.08%). (#16009)

What's Changed

New Features 🎉

  • feat: propagate available module growth during code splitting by @JSerFeng in #15885

Performance 🚀

  • perf(binding): query compilation modules lazily by @SyMind in #15906
  • perf: avoid transferring unused NormalModuleFactory dependencies by @ahabhgk in #15931
  • perf(sources): compact retained source storage by @SyMind in #15944
  • perf(stats): cache item type strings in StatsFactory by @stormslowly in #15779
  • perf: use a hash set to deduplicate extracted comments by @CoderSerio in #15967
  • perf(watcher): avoid per-node concurrent sets in the root analyzer by @guru-irl in #15965
  • perf: share Module and KnownBuildInfo accessors by @LingyuCoder in #15883
  • perf: optimize placeholder and Node external matching by @intellild in #15808
  • perf(sources): profile allocations and trim source map capacity by @SyMind in #16014
  • perf(sources): release generated value after static source map by @SyMind in #16022
  • perf(core): cache assetEmitted source and content per info object by @guru-irl in #15963
  • perf(binding): share NormalModule accessors by @LingyuCoder in #16039
  • perf: share equal factorize path lists by content by @LingyuCoder in #16036
  • perf(split-chunks): reuse function chunks filter results per chunk set by @guru-irl in #15964
  • perf(binding): materialize module source maps lazily by @LingyuCoder in #15882
  • perf: share compilation log entry accessors by @LingyuCoder in #16052
  • perf(cache): restore cached modules off the make main task by @guru-irl in #16050
  • perf(core): share file counter dependency lists by interned content by @LingyuCoder in #16043

Bug Fixes 🐞

  • fix(types): allow void returns in needAdditionalPass hooks by @chenjiahan in #15908
  • fix(types): accept falsy loaders and child compiler plugins by @chenjiahan in #15912
  • fix(types): allow single loader returns from rule use functions by @chenjiahan in #15920
  • fix: preserve interned path sharing in cache serialize by @ahabhgk in #15910
  • fix(types): correct Compilation.getAsset return type by @chenjiahan in #15932
  • fix(binding): scope importModule publicPath callbacks to compiler by @chenjiahan in #15928
  • fix(binding): release transient TSFN callbacks by @SyMind in #15938
  • fix(types): allow omitting child compiler plugins by @chenjiahan in #15948
  • fix(css): load async stylesheets with a shared runtime by @intellild in #15869
  • fix(deps): upgrade lightningcss to 1.0.0-alpha.72 by @chenjiahan in #15991
  • fix: propagate async status through lazy barrel re-exports by @dmchoi77 in #15905
  • fix(copy): register a missing glob base dir as a missing dependency by @BleedingDev in #15901
  • fix(css): end unterminated url() at EOF as a url token by @IShinji in #15911
  • fix: preserve statement boundaries in modern-module output by @LingyuCoder in #16008
  • fix(ids): rehash identical keys in compact-hashed ids by @n0th1ng-else in #15915
  • fix(deps): upgrade swc_core to 82.0.0 by @LingyuCoder in #16009
  • fix: resolve aliases in import.meta.glob patterns by @aryan1306 in #15898
  • fix: only source map JS and CSS assets from devtool, matching webpack by @Paca-Vaca in #16018
  • fix: support deferred imports introduced by hot updates by @LingyuCoder in #16015
  • fix: concatenate empty CommonJS modules without export access by @JSerFeng in #15913
  • fix(core): ignore source map directives in JavaScript strings by @Tiancheng-Xu in #15969
  • fix(css-extract): preserve relative paths from publicPath callbacks by @chenjiahan in #15923
  • fix(lazy-compilation): keep import attributes and phase when building activated modules by @stormslowly in #16023
  • fix(lazy-compilation): keep activated modules across rebuilds by @stormslowly in #15134
  • fix(lazy-compilation): keep issuer and resolve options when building activated modules by @stormslowly in #16024
  • fix(watcher): report watched files inside directories that appear by @guru-irl in #15966
  • fix(mf): honor singleton options for shared prefixes in manifests by @LingyuCoder in #16012
  • fix(watcher): report recreated files by their final state by @guru-irl in #16040
  • fix: preserve pure exports during module concatenation by @LingyuCoder in #16053
  • fix(resolver): keep RegExp restrictions in ResolverFactory cache key by @stormslowly in #16054

Document 📖

Other Changes

New Contributors

Full Changelog: v2.2.8...v2.2.9

Don't miss a new cli release

NewReleases is sending notifications on new releases.