npm @rspack/core 2.2.4
v2.2.4

4 hours ago

Highlights

CSS-only entry bundling

CSS-only entries using native CSS support now emit standalone stylesheets without an unnecessary JavaScript bundle. Standalone runtime chunks are also omitted when no JavaScript entry needs them, making it easier to build CSS assets directly. See #14879.

Ignore magic comments in CSS

Native CSS support now recognizes webpackIgnore and its rspackIgnore alias for @import, url(), and image-set() dependencies. This lets you leave selected references for the browser to load instead of resolving and bundling them. See #15314.

Reliable persistent caching for child compilers

With experiments.newCache, parent and child compilers now coordinate access to shared persistent cache storage while keeping their entries separate. This prevents conflicting writes and cleanup from losing cached data, and allows both parent and child modules to be restored across compiler restarts. See #15616.

What's Changed

New Features 🎉

Performance 🚀

  • perf(sources): upgrade simd-utf16-len to 0.2.0 by @SyMind in #15562
  • perf(binding): share hook registration code across hook types by @intellild in #15619

Bug Fixes 🐞

  • fix(mf): infer shared module exports from fallback by @LingyuCoder in #15582
  • fix: prevent duplicate exports renaming in modern-module output by @LingyuCoder in #15559
  • fix: preserve shared connections during module concatenation by @LingyuCoder in #15578
  • fix(binding): expose original source in succeedModule hooks by @SyMind in #15600
  • fix: normalize HttpUriPlugin allowedUris before matching by @SyMind in #15604
  • fix(javascript): do not terminate the enclosing scope after a do-while loop by @nest-aka-swan in #15618
  • fix(loader): invoke loader hooks through the native hook by @intellild in #15591
  • fix: enforce HttpUriPlugin lockfile integrity in frozen builds by @SyMind in #15609
  • fix: drop trailing comma when rewriting require.resolve calls by @perbergland in #15656
  • fix(loader): preserve string BOM across native boundaries by @intellild in #15632

Refactor 🔨

  • refactor: remove BuildResult.optimization_bailouts by @hardfist in #15545
  • refactor: let modules own dependencies and async blocks by @hardfist in #15550
  • refactor: derive module dependency IDs from references by @hardfist in #15556
  • refactor: clarify dependency accessors by @hardfist in #15575
  • refactor: share built modules with the module cache by @hardfist in #15527
  • refactor: stream new cache writes directly into database batches by @ahabhgk in #15638
  • refactor(loader): replace should-yield hooks with execution kind by @intellild in #15592

Document 📖

Other Changes

New Contributors

Full Changelog: v2.2.3...v2.2.4

Don't miss a new core release

NewReleases is sending notifications on new releases.