v1.6.3
- feat: export ErrorData from rspack_error crate by @ityuany in https://github.com/web-infra-dev/rspack/pull/12166
- fix: image source should be buffer by @SyMind in https://github.com/web-infra-dev/rspack/pull/12176
- docs(split-chunks): update module federation compatibility note by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12178
- chore: simplify import comment style in output code by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12163
- chore(deps): update dependency @rspack/lite-tapable to v1.1.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12156
- chore(ci): revert cache action version by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12170
- chore(ci): fix artifacts slow download by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12171
- test: can not handle
uncaughtExceptioncorrectly by @9aoy in https://github.com/web-infra-dev/rspack/pull/12179
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.6.2...v1.6.3
v1.6.2
- perf: replace source and cached source by @SyMind in https://github.com/web-infra-dev/rspack/pull/12110
- feat(mf): support manifest by @2heal1 in https://github.com/web-infra-dev/rspack/pull/11846
- feat: add Tracy profiler support by @hardfist in https://github.com/web-infra-dev/rspack/pull/12048
- feat(react-refresh-loader): generate more compact runtime code by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12160
- fix: should generate correct relative path for context modules in sourcemap by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12078
- fix: render external re-exports by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12089
- fix: support
import.meta.urlas the only param ofnew Worker()by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12095 - fix: inject global entry to async entrypoints by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12096
- fix(rstest): should only handles JavaScript module by @fi3ework in https://github.com/web-infra-dev/rspack/pull/12068
- fix: should rename global in node by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12102
- fix: should add file dependencies in
loaderContext.resolveby @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12107 - fix: inner graph class static block usage by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12114
- fix: should not inject CSS prefetch/preload runtime when only prefetch/preload JS chunks by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12112
- fix: keep entry chunk signature by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12133
- fix: use real resource when exporting from external by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12136
- fix: loader order of nested rules by @nilptr in https://github.com/web-infra-dev/rspack/pull/12132
- fix: mf container entry use startup to load initial chunks by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12142
- fix: should not panic if ref-cjs is removed by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12147
- fix: should export external aliased right by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12143
- fix: should have JS entry for importModule assets and rslib by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12167
- refactor: remove support for nested importModule usage by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12111
- refactor: render runtime globals with runtime template by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12144
- refactor: rename some classes and static variables by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12145
- refactor: move compilation.rs to the compilation folder by @hardfist in https://github.com/web-infra-dev/rspack/pull/12159
- refactor: move build_chunk_graph into compilation by @hardfist in https://github.com/web-infra-dev/rspack/pull/12162
- test: custom resource loader of test cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12091
- chore(deps): update dependency lint-staged to v16 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12098
- chore(deps): update github-actions (major) by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12099
- chore(deps): update rust crate swc_core to 46.0.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12085
- test: enable more watch cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12106
- chore: remove webpackBootstrap comment from output by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12108
- chore: remove divider comment from output by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12109
- chore(deps): update dependency terser to v5.44.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12117
- chore(deps): update dependency cspell to ^9.3.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12115
- chore(deps): update dependency prebundle to ^1.5.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12116
- chore(deps): update dependency @shikijs/transformers to ^3.15.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12119
- chore(deps): update dependency axios to ^1.13.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12120
- chore(deps): update pnpm to v10.20.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12118
- chore(deps): update dependency @microsoft/api-extractor to v7.54.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12088
- chore(deps): update rust crate tokio to 1.48.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12123
- chore(deps): update rust crate regex to 1.12.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12122
- chore(deps): update rust crate notify to 8.2.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12121
- docs: document global entry behavior in EntryPlugin by @Copilot in https://github.com/web-infra-dev/rspack/pull/12105
- chore(deps): update rust crate either to 1.15.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12128
- chore(deps): update rust crate camino to 1.2.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12127
- test: migrate rspack wasm test to rstest by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11990
- test: rename
toMatchFileSnapshottotoMatchFileSnapshotSyncby @9aoy in https://github.com/web-infra-dev/rspack/pull/12139 - test: remove jest script by @9aoy in https://github.com/web-infra-dev/rspack/pull/12150
- chore(deps): update dependency iconv-lite to ^0.7.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12158
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12153
- chore: deprecate experiments.parallelCodeSplitting by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12169
- revert: refactor: remove support for nested importModule usage (#12111) by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12165
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.6.1...v1.6.2
v1.6.1
- perf: rspack sources memory by @SyMind in https://github.com/web-infra-dev/rspack/pull/12038
- fix: use match resource first when generating css local ident name by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12040
- fix: should export named webpack_require from runtime chunk by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12045
- fix: should increase the counter of sized in mangle exports plugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12044
- fix: compatibility
__non_webpack_require__with es modules by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12052 - fix: get chunk filename with dependOn by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12053
- fix: remove redundant
OutputFileSystem.createReadStreamby @colinaaa in https://github.com/web-infra-dev/rspack/pull/12059 - fix(config): validate
output.pathmust be absolute by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12061 - fix: should disable default splitChunks rules for EsmLibraryPlugin by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12047
- fix: should handle require ensure with error function by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12054
- fix: should parse webpackExports with empty array by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12066
- fix: use correct Cell for EsmLibraryPlugin by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12067
- fix: properties of build meta should be optional when sending to dll plugin from javascript by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12070
- fix: treat HMR's
warnUnexpectedRequireas undefined module factory by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12016 - fix: defer import and dynamic exportsType default export mixed by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12082
- fix:
new URL("", import.meta.url)should be pure by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12076
- refactor: import external should not create needless external module by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12064
- docs: add 1.6.0 release blog by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12019
- docs: improve English clarity in documentation by @Copilot in https://github.com/web-infra-dev/rspack/pull/12060
- docs: move deprecated experimental options to the bottom by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12049
- docs(quick-start): update non-interactive mode section by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12083
- chore: release 1.6.0 by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12042
- chore(deps): update dependency core-js to v3.46.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12057
- chore(deps): update dependency @rslib/core to v0.17.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12056
- chore(deps): update dependency @biomejs/biome to ^2.3.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12055
- chore(renovate): disable lockFileMaintenance by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12063
- chore: improve struct type and remove some useless fields by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12071
- chore: ensure that prettier can format all markdown and JSON files by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12075
- chore(deps): update dependency @babel/preset-react to ^7.28.5 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12087
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12084
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.6.0...v1.6.1
v1.6.0
🎉 See Announcing Rspack 1.6 for more details.
- perf(browser): minor performance optimization for @rspack/browser by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11795
- perf(swc_plugin_import): replace handlebars with custom template engine by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11852
- perf(cli): switch to cac and refactor code by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11893
- perf: replace graceful-fs with node:fs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11894
- perf: remove JS side config validation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11897
- perf(core): adjust default_blocking_threads to 4 in linux with slower fs by @hardfist in https://github.com/web-infra-dev/rspack/pull/11908
- perf: add support for module.unsafeCache configuration by @SyMind in https://github.com/web-infra-dev/rspack/pull/11898
- perf: don't drop rust compiler instance in non-watch mode by @hardfist in https://github.com/web-infra-dev/rspack/pull/11920
- perf: move crypto imports to lazy require calls by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11930
- perf: replace node:assert with explicit error checks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11928
- perf(cli): replace colorette with picocolors by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11932
- perf: lazy load node:worker_threads to improve startup time by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11931
- perf(cli): simplify ESM file detection by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11946
- perf: use ustr for resource_identifier to avoid multiple copies by dependencies by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12036
- feat(mf): runtimePlugins support pass params by @2heal1 in https://github.com/web-infra-dev/rspack/pull/11818
- feat(browser): support
modulesinBrowserRequirePluginby @CPunisher in https://github.com/web-infra-dev/rspack/pull/11822 - feat(mf): support lazy compilation by @2heal1 in https://github.com/web-infra-dev/rspack/pull/11779
- feat: enable lazy barrel by default by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11841
- feat: rslib supports add shims for js/esm by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11840
- feat: eval simple expression for enum member by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11859
- feat: implement
extractSourceMapoption by @colinaaa in https://github.com/web-infra-dev/rspack/pull/11814 - feat(esm): remove empty unneeded runtime chunks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11892
- feat(create-rspack): add type annotations to JS configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11896
- feat: support defer import by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11871
- feat: EsmLibraryPlugin supports preserveModules by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11921
- feat: introduce allocative by @quininer in https://github.com/web-infra-dev/rspack/pull/11927
- feat(browser): re-export
memfsby @CPunisher in https://github.com/web-infra-dev/rspack/pull/11942 - feat: handle renamed webpack_require by compatibility plugin by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11975
- feat(browser): support CORS worker and custom wasm url by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11996
- feat(create-rspack): add AGENTS.md by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12002
- feat: if no commonjs specific syntax detected, treat module as esm by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12008
- feat: support ignoreList option in SourceMapDevToolPlugin by @SyMind in https://github.com/web-infra-dev/rspack/pull/12029
- feat: EsmLibraryPlugin can override invalid user config by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12028
- fix(loader-runner): add missing break statements in switch cases by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11794
- fix: revert "fix: remove
serdefeature oflightningcss(#11706)" by @colinaaa in https://github.com/web-infra-dev/rspack/pull/11796 - fix: correct
stats.colortype to include fine-grained options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11797 - fix: export interop default symbol and ensure import required chunks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11793
- fix: should re-export real exportInfo when export dynamic js by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11776
- fix: should process runtime chunk after normal chunks of same chunk group by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11778
- fix: should use external source as name hint by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11825
- fix(swc_plugin_import): fix panic and optimize diagnostic logs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11862
- fix: distinguish external modules when there are import attributes by @fi3ework in https://github.com/web-infra-dev/rspack/pull/11845
- fix: should render default exports for cjs entry and json entry by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11860
- fix: should export from entry chunk for cjs reexport default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11884
- fix: should not cache dependency instance in DynamicEntryPlugin by @SyMind in https://github.com/web-infra-dev/rspack/pull/11888
- fix: updated dependencies sync to persistent cache by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11910
- fix: no need to create compiler instance when closing compiler by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11923
- fix: should allow override can_inline_use in flag dependency usage plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11934
- fix: perf regression caused by is_deferred by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11944
- fix(create-rspack): polish README and configurations by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11953
- fix(mf): federation modules plugin hooks leak by @quininer in https://github.com/web-infra-dev/rspack/pull/11929
- fix(swcLoader): should correctly generate the default value of env_na… by @Zeahan in https://github.com/web-infra-dev/rspack/pull/11906
- fix(types): add createReadStream to OutputFileSystem interface by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11963
- fix: improve type safety for MultiStats options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11964
- fix: should support entries() for compilation.chunks by @SyMind in https://github.com/web-infra-dev/rspack/pull/11971
- fix: esm output chunk module missing load dependent chunks by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11945
- fix: inline value for multiple runtime by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11983
- fix: unknown defined properties for exported enum by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11992
- fix: compilation.*_dep.added should not contains updated files by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11991
- fix: side effects optimize panic when remove lib file by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11939
- fix: should only top-level require wrapped modules for import side-effect specifier by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11997
- fix: use asset resource module as entry by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11993
- fix: Remove some unnecessary unsafe by @quininer in https://github.com/web-infra-dev/rspack/pull/12006
- fix: type definitions for devtool module filename templates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12013
- fix: incremental wrong provided exports results caused panic when delete module by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12009
- fix: rayon iterator.consume will block in WASM by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/12022
- fix: calculate side effects of call exprs in seq expr by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12017
- fix: should remove related correctly in compilation.updateAsset by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12031
- fix: should resplace resource query in context replacement plugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12033
- fix(wasm): add another SharedArrayBuffer instance check by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12037
- refactor: update type definitions to fix Rslint issues by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11798
- refactor: remove experiments.layers by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11819
- refactor: output.charset false by default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11837
- refactor: make artifact collect affected dependencies by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11905
- refactor: clean up default stats plugins by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11904
- refactor: consolidate ModuleError and ModuleWarning classes by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11935
- refactor(watcher): split watcher from
rspack_fsby @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/11948 - refactor(core): Convert BoxModule from type alias to newtype struct by @kdy1 in https://github.com/web-infra-dev/rspack/pull/11978
- refactor: normal module build by @SyMind in https://github.com/web-infra-dev/rspack/pull/11973
- refactor: side effects parser plugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12014
- refactor: source return string or buffer by @SyMind in https://github.com/web-infra-dev/rspack/pull/12023
- refactor: EsmLibraryPlugin should hold itself lock of data by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/12035
- docs: improve documentation for stats properties by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11792
- docs: explain how
resolve.aliasaffects package resolution by @SyMind in https://github.com/web-infra-dev/rspack/pull/11799 - docs(browser): add usage of
useInputFileSystemto "In-Memory File system" section by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11833 - docs(browser): Add compatibility with
resolve.aliasdescription for BrowserHttpImportEsmPlugin by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11838 - docs(config): optimization.chunkIds update by @vsn4ik in https://github.com/web-infra-dev/rspack/pull/11900
- docs: add guide for setting thread pool size via environment variable by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11912
- docs: fix zh readme miss two line in credits by @WuMingDao in https://github.com/web-infra-dev/rspack/pull/11917
- docs: sync zh and en readme by @WuMingDao in https://github.com/web-infra-dev/rspack/pull/11918
- docs: add layer feature guide doc by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11985
- docs: update roadmap content for Rspack 2.0 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11994
- docs: update team members list by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12000
- docs: update webpack loader repository links by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12010
- docs: add docs for
experiements.deferImportby @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12018 - docs: add Cloudflare and YouMind logos to who is using by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/12039
- test: run webpack multi compiler test cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11787
- test: fix hot update loader by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11774
- chore: rspack_plugin_esm_library should have description by @SyMind in https://github.com/web-infra-dev/rspack/pull/11789
- chore: upgrade mf runtime tools to v0.19.1 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11788
- test: run webpack stats cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11791
- chore(deps): update dependency @rslib/core to v0.15.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11748
- chore(deps): lock file maintenance by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11783
- chore(deps): update dependency typescript to ^5.9.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11802
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11801
- chore(deps): update dependency memfs to v4.48.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11807
- chore(deps): update dependency zx to v8.8.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11811
- test: run webpack example cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11820
- test: run webpack watch cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11821
- chore(deps): update dependency @microsoft/api-extractor-model to v7.31.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11816
- chore(deps): update pnpm to v10.18.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11812
- test: skip flaky test cases by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11827
- test: run webpack hot cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11826
- test: add type of test config files by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11831
- test: add missing await in basic tests by @deepcoldy in https://github.com/web-infra-dev/rspack/pull/11824
- test: align more test cases with webpack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11834
- chore(wasm): bump and fix @napi-rs/wasm-runtime by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11836
- test: run webpack error cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11839
- chore: avoid lazy compilation mf e2e flaky by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11843
- test: remove webpack tests by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11842
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11806
- ci: fix lazy-compilation persistent cache e2e case by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11844
- chore: fix Node typeless warning when building packages by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11847
- chore: clean up TODO comments and simplify code by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11848
- test: sync webpack config test cases to rspack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11853
- test: inject test and rspack pathes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11856
- test: remove legacy builtin configuration of builtin test cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11857
- chore: fix invalid lint:rs script in package.json by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11863
- test: rename all webpack config files to rspack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11864
- test: remove
template.mdandreadme.mdin webpack-examples by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11865 - test: move test scripts to test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11866
- chore(swc_plugin_import): inherit workspace lint config by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11867
- test: remove legacy supports checker and test filter by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11868
- test: use new hot update plugin to run legacy hot cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11870
- chore: avoid using
BROWSERenv by @colinaaa in https://github.com/web-infra-dev/rspack/pull/11855 - test: use promise instead of done callback by @9aoy in https://github.com/web-infra-dev/rspack/pull/11872
- chore(deps): update pnpm to v10.18.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11875
- chore: enable some Rslint rules by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11869
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11874
- chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11873
- chore: remove outdated OTP release scripts by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11885
- chore(deps): update dependency @playwright/test to v1.56.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11876
- chore: eliminate pnpm install platform warnings by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11889
- chore: clean up unused dependencies in test tools package by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11886
- chore(deps): update dependency react-refresh to ^0.18.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11810
- test(normalCases): use promise instead of done callback by @9aoy in https://github.com/web-infra-dev/rspack/pull/11879
- chore(deps): upgrade zod from v3 to v4 and update imports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11883
- chore: Using env to enable sftrace by @quininer in https://github.com/web-infra-dev/rspack/pull/11880
- test: rewrite hot test cases with NEXT_HMR by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11882
- test: migrate config tests to rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/11895
- test: use jsdom runner to run most cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11901
- test: Revert 'migrate config tests to rstest (#11895)' by @9aoy in https://github.com/web-infra-dev/rspack/pull/11902
- test: add warn while closing compiler with failure by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11909
- test: migrate config tests to rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/11911
- ci: fix lazy-compilation/persistent-cache ci failed by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11926
- test: use jsdom runner to run all cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11924
- chore: enable Rslint rule: no-empty-interface by @shuga2704 in https://github.com/web-infra-dev/rspack/pull/11915
- chore: switch to self-hosted macOS runners by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11925
- chore: fix rustflags not work for dev profile by @quininer in https://github.com/web-infra-dev/rspack/pull/11936
- test: display error location in jsdom by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11937
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11957
- chore(deps): update dependency @arco-design/web-react to ^2.66.6 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11958
- chore(deps): update dependency @module-federation/runtime-tools to v0.21.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11959
- chore(deps): update crates swc_core to v45.0.1 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11951
- test: enable
hideSkippedTestsoption by @9aoy in https://github.com/web-infra-dev/rspack/pull/11952 - chore(deps): update dependency @rslib/core to v0.16.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11960
- test: migrate more tests to rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/11947
- test: remove runtime diff test tool by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11968
- test: remove types of test tools that related to webpack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11970
- chore(ci): fix flaky mf container-1-5 test cases by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11954
- test: no need to support multiples scope in one test case by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11972
- test: use rstest's default reporters in CI by @9aoy in https://github.com/web-infra-dev/rspack/pull/11981
- chore(ci): set timeout for pnpm setup action by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11976
- chore(deps): bump Rslib 0.16.1 to use better browserlist for es6 syntax by @Timeless0911 in https://github.com/web-infra-dev/rspack/pull/11984
- chore(build): add missing type declaration for rslib config by @situ2001 in https://github.com/web-infra-dev/rspack/pull/11982
- test: add debug mode of test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11987
- chore: enable Rslint rule: @typescript-eslint/no-redundant-type-constituents by @json-q in https://github.com/web-infra-dev/rspack/pull/11986
- test: fix rstest tests not found in windows by @9aoy in https://github.com/web-infra-dev/rspack/pull/11995
- test: migrate cli tests to rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/11989
- chore(ci): improve window cache speed with zstd by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11961
- chore: remove injected test code in diff test cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12001
- chore: rspack-resolver bump to 0.6.4 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/12004
- test: should not panic for mf sharing asset modules by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/12003
- test: bump rstest to fix RSTEST_WORKER_ID by @9aoy in https://github.com/web-infra-dev/rspack/pull/12011
- chore: rm unsued cached source by @SyMind in https://github.com/web-infra-dev/rspack/pull/11754
- chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12026
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/12027
- test: enable more cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/12021
- test: migrate more jest tests to rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/12030
- test: migrate jest lazy tests to rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/12034
- chore(deps)!: bump swc_core to v46 by @CPunisher in https://github.com/web-infra-dev/rspack/pull/12032
- @deepcoldy made their first contribution in https://github.com/web-infra-dev/rspack/pull/11824
- @WuMingDao made their first contribution in https://github.com/web-infra-dev/rspack/pull/11917
- @shuga2704 made their first contribution in https://github.com/web-infra-dev/rspack/pull/11915
- @Zeahan made their first contribution in https://github.com/web-infra-dev/rspack/pull/11906
- @situ2001 made their first contribution in https://github.com/web-infra-dev/rspack/pull/11982
- @json-q made their first contribution in https://github.com/web-infra-dev/rspack/pull/11986
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.5.8...v1.6.0
v1.6.0-beta.1
EsmLibraryPlugin now provides experimental support for the preserveModules feature. This allows you to maintain your source code structure as is while bundling all libraries within the node_modules folder. You can try it out using the following configuration example:
Feel free to copy and use it!
import { rspack } from "@rspack/core";
import path from 'node:path'
export default{
entry: "./index.js",
output: {
chunkFormat: false, // required, EsmLibraryPlugin handles how chunk renders
chunkLoading: 'import', // required, using es module dynamic import syntax to load other chunks
},
optimization: {
runtimeChunk: true, // recommended if you have async chunks
concatenateModules: false, // required, EsmLibraryPlugin handles scope hoisting
},
plugins: [
new rspack.experiments.EsmLibraryPlugin({
preserveModules: path.resolve(__dirname, './src')
})
],
};
Rspack now supports defer import, you can enable it by experiments.deferImport = true. It is worth noting that we currently only support import defer, import.defer() will be implemented in the near future.
export default {
experiments: {
deferImport: true
}
}
- perf(cli): switch to cac and refactor code by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11893
- perf: replace graceful-fs with node:fs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11894
- perf: remove JS side config validation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11897
- perf(core): adjust default_blocking_threads to 4 in linux with slower fs by @hardfist in https://github.com/web-infra-dev/rspack/pull/11908
- perf: add support for module.unsafeCache configuration by @SyMind in https://github.com/web-infra-dev/rspack/pull/11898
- perf: don't drop rust compiler instance in non-watch mode by @hardfist in https://github.com/web-infra-dev/rspack/pull/11920
- perf: move crypto imports to lazy require calls by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11930
- perf: replace node:assert with explicit error checks by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11928
- perf(cli): replace colorette with picocolors by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11932
- perf: lazy load node:worker_threads to improve startup time by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11931
- feat(esm): remove empty unneeded runtime chunks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11892
- feat(create-rspack): add type annotations to JS configs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11896
- feat: support defer import by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11871
- feat: EsmLibraryPlugin supports preserveModules by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11921
- fix: should export from entry chunk for cjs reexport default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11884
- fix: should not cache dependency instance in DynamicEntryPlugin by @SyMind in https://github.com/web-infra-dev/rspack/pull/11888
- fix: updated dependencies sync to persistent cache by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11910
- fix: no need to create compiler instance when closing compiler by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11923
- fix: should allow override can_inline_use in flag dependency usage plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11934
- fix: perf regression caused by is_deferred by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11944
- refactor: make artifact collect affected dependencies by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11905
- refactor: clean up default stats plugins by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11904
- refactor: consolidate ModuleError and ModuleWarning classes by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11935
- docs(config): optimization.chunkIds update by @vsn4ik in https://github.com/web-infra-dev/rspack/pull/11900
- docs: add guide for setting thread pool size via environment variable by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11912
- docs: fix zh readme miss two line in credits by @WuMingDao in https://github.com/web-infra-dev/rspack/pull/11917
- docs: sync zh and en readme by @WuMingDao in https://github.com/web-infra-dev/rspack/pull/11918
- test: use promise instead of done callback by @9aoy in https://github.com/web-infra-dev/rspack/pull/11872
- chore(deps): update pnpm to v10.18.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11875
- chore: enable some Rslint rules by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11869
- chore: release v1.6.0-beta.0 by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11830
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11874
- chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11873
- chore: remove outdated OTP release scripts by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11885
- chore(deps): update dependency @playwright/test to v1.56.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11876
- chore: eliminate pnpm install platform warnings by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11889
- chore: clean up unused dependencies in test tools package by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11886
- chore(deps): update dependency react-refresh to ^0.18.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11810
- test(normalCases): use promise instead of done callback by @9aoy in https://github.com/web-infra-dev/rspack/pull/11879
- chore(deps): upgrade zod from v3 to v4 and update imports by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11883
- chore: Using env to enable sftrace by @quininer in https://github.com/web-infra-dev/rspack/pull/11880
- test: rewrite hot test cases with NEXT_HMR by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11882
- test: migrate config tests to rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/11895
- test: use jsdom runner to run most cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11901
- test: Revert 'migrate config tests to rstest (#11895)' by @9aoy in https://github.com/web-infra-dev/rspack/pull/11902
- test: add warn while closing compiler with failure by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11909
- test: migrate config tests to rstest by @9aoy in https://github.com/web-infra-dev/rspack/pull/11911
- ci: fix lazy-compilation/persistent-cache ci failed by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11926
- test: use jsdom runner to run all cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11924
- chore: enable Rslint rule: no-empty-interface by @shuga2704 in https://github.com/web-infra-dev/rspack/pull/11915
- chore: switch to self-hosted macOS runners by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11925
- chore: fix rustflags not work for dev profile by @quininer in https://github.com/web-infra-dev/rspack/pull/11936
- test: display error location in jsdom by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11937
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11957
- chore(deps): update dependency @arco-design/web-react to ^2.66.6 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11958
- chore(deps): update dependency @module-federation/runtime-tools to v0.21.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11959
- chore(deps): update crates swc_core to v45.0.1 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11951
- @WuMingDao made their first contribution in https://github.com/web-infra-dev/rspack/pull/11917
- @shuga2704 made their first contribution in https://github.com/web-infra-dev/rspack/pull/11915
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.6.0-beta.0...v1.6.0-beta.1
v1.6.0-beta.0
Rspack now provides a new ESM library output that is cleaner, statically analyzable, and supports custom chunk splitting.
This new output format is fully independent of the existing chunk loading logic — each chunk can be used in isolation, and all exports are placed at the top level instead of being wrapped inside the __webpack_modules__ closure.
- Before:
exports.modules = {
"src/async-module.js": function(exports) {
__webpack_require__.d(exports, {
foo: () => foo
})
const foo = 42
}
}
- After:
// src/async-module.js
const foo = 42
export { foo }
If you'd like to try this now, follow this example:
import { rspack } from "@rspack/core";
export default{
entry: "./index.js",
output: {
chunkFormat: false, // required, EsmLibraryPlugin handles how chunk renders
chunkLoading: 'import', // required, using es module dynamic import syntax to load other chunks
},
optimization: {
runtimeChunk: true, // recommended if you have async chunks
concatenateModules: false, // required, EsmLibraryPlugin handles scope hoisting
},
plugins: [new rspack.experiments.EsmLibraryPlugin()],
};
We'll make this out-of-box in Rslib soon.
See EsmLibraryPlugin for more.
The layer feature is now enabled by default - you no longer need to enable it manually using the experiments.layer option.
Layers is a feature that helps you group certain modules and their dependencies, allowing you to bundle them using different transforms.
For example, you can generate both ES5 and ES2015 outputs in one compilation by assigning different layers to different entries with the following configuration:
export default {
entry: {
legacy: {
import: "./index.js",
layer: "es5",
},
modern: {
import: "./index.js",
layer: "es6",
},
},
module: {
rules: [
{
test: /\.js$/,
oneOf: [
{
issuerLayer: "es5",
use: [
{
loader: "builtin:swc-loader",
options: {
jsc: {
target: "es5",
// ...
},
},
},
],
},
{
issuerLayer: "es6",
use: [
{
loader: "builtin:swc-loader",
options: {
jsc: {
target: "es2015",
// ...
},
},
},
]
},
],
},
],
},
};
Rspack now supports extracting existing source map data from files (from their //# sourceMappingURL comment) via Rule.extractSourceMap. This feature is particularly useful for preserving source maps provided by third-party libraries, ensuring that debugging information remains accurate even when those libraries are bundled or transformed.
It was originally introduced in webpack v5.102.0 as a built-in replacement for the source-map-loader plugin, offering better performance and tighter integration with the build process.
export default {
// ...
module: {
rules: [
{
test: /\.m?js$/,
extractSourceMap: true,
},
],
},
};
Since Rspack v1.5 introduced experimental barrel file optimization, it has been enabled by default in Rsbuild to collect early feedback.
After extensive usage and validation within Rsbuild, we now consider lazyBarrel stable, and it is enabled by default in Rspack as well.
- perf(browser): minor performance optimization for @rspack/browser by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11795
- perf(swc_plugin_import): replace handlebars with custom template engine by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11852
- feat(mf): runtimePlugins support pass params by @2heal1 in https://github.com/web-infra-dev/rspack/pull/11818
- feat(browser): support
modulesinBrowserRequirePluginby @CPunisher in https://github.com/web-infra-dev/rspack/pull/11822 - feat(mf): support lazy compilation by @2heal1 in https://github.com/web-infra-dev/rspack/pull/11779
- feat: enable lazy barrel by default by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11841
- feat: rslib supports add shims for js/esm by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11840
- feat: eval simple expression for enum member by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11859
- feat: implement
extractSourceMapoption by @colinaaa in https://github.com/web-infra-dev/rspack/pull/11814
- fix(loader-runner): add missing break statements in switch cases by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11794
- fix: revert "fix: remove
serdefeature oflightningcss(#11706)" by @colinaaa in https://github.com/web-infra-dev/rspack/pull/11796 - fix: correct
stats.colortype to include fine-grained options by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11797 - fix: export interop default symbol and ensure import required chunks by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11793
- fix: should re-export real exportInfo when export dynamic js by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11776
- fix: should process runtime chunk after normal chunks of same chunk group by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11778
- fix: should use external source as name hint by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11825
- fix(swc_plugin_import): fix panic and optimize diagnostic logs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11862
- fix: distinguish external modules when there are import attributes by @fi3ework in https://github.com/web-infra-dev/rspack/pull/11845
- fix: should render default exports for cjs entry and json entry by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11860
- refactor: update type definitions to fix Rslint issues by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11798
- refactor: remove experiments.layers by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11819
- refactor: output.charset false by default by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11837
- docs: improve documentation for stats properties by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11792
- docs: explain how
resolve.aliasaffects package resolution by @SyMind in https://github.com/web-infra-dev/rspack/pull/11799 - docs(browser): add usage of
useInputFileSystemto "In-Memory File system" section by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11833 - docs(browser): Add compatibility with
resolve.aliasdescription for BrowserHttpImportEsmPlugin by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11838
- test: run webpack multi compiler test cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11787
- test: fix hot update loader by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11774
- chore: rspack_plugin_esm_library should have description by @SyMind in https://github.com/web-infra-dev/rspack/pull/11789
- chore: upgrade mf runtime tools to v0.19.1 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11788
- test: run webpack stats cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11791
- chore(deps): update dependency @rslib/core to v0.15.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11748
- chore(deps): lock file maintenance by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11783
- chore(deps): update dependency typescript to ^5.9.3 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11802
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11801
- chore(deps): update dependency memfs to v4.48.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11807
- chore(deps): update dependency zx to v8.8.4 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11811
- test: run webpack example cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11820
- test: run webpack watch cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11821
- chore(deps): update dependency @microsoft/api-extractor-model to v7.31.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11816
- chore(deps): update pnpm to v10.18.1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11812
- test: skip flaky test cases by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11827
- test: run webpack hot cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11826
- test: add type of test config files by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11831
- test: add missing await in basic tests by @deepcoldy in https://github.com/web-infra-dev/rspack/pull/11824
- test: align more test cases with webpack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11834
- chore(wasm): bump and fix @napi-rs/wasm-runtime by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11836
- test: run webpack error cases with test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11839
- chore: avoid lazy compilation mf e2e flaky by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11843
- test: remove webpack tests by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11842
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11806
- ci: fix lazy-compilation persistent cache e2e case by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11844
- chore: fix Node typeless warning when building packages by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11847
- chore: clean up TODO comments and simplify code by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11848
- test: sync webpack config test cases to rspack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11853
- test: inject test and rspack pathes by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11856
- test: remove legacy builtin configuration of builtin test cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11857
- chore: fix invalid lint:rs script in package.json by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11863
- test: rename all webpack config files to rspack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11864
- test: remove
template.mdandreadme.mdin webpack-examples by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11865 - test: move test scripts to test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11866
- chore(swc_plugin_import): inherit workspace lint config by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11867
- test: remove legacy supports checker and test filter by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11868
- test: use new hot update plugin to run legacy hot cases by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11870
- chore: avoid using
BROWSERenv by @colinaaa in https://github.com/web-infra-dev/rspack/pull/11855
- @deepcoldy made their first contribution in https://github.com/web-infra-dev/rspack/pull/11824
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.5.8...v1.6.0-beta.0
v1.5.8
Rspack now supports more precise tree shaking for nested exports accessed through destructuring assignments.
// lib.js
export * as a from "./a";
export * as b from "./b";
// index.js
import * as lib from "./lib";
// Before: All exports under `lib.a` were retained, only `lib.b` was tree-shaken
// Now: Only the specific property `inner` from `lib.a` is kept; everything else is removed
const { a: { inner } } = lib;
- perf: rspack sources buffer function by @SyMind in https://github.com/web-infra-dev/rspack/pull/11749
- perf: avoid unnecessary source map creation by @CPunisher in https://github.com/web-infra-dev/rspack/pull/11773
- feat: should retain source error name by @SyMind in https://github.com/web-infra-dev/rspack/pull/11762
- feat(parser): add
commonjsoptions by @fi3ework in https://github.com/web-infra-dev/rspack/pull/11744 - feat: transform url in new URL without runtime by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/11765
- feat: add experimental EsmLibraryPlugin for better esm output by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/10350
- feat: tree shaking nested exports for destructuring assignment by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11781
- fix: cjs export require tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11758
- fix: should always walk import then arguments by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11760
- fix: should update alias resolution when a higher-priority file is created in watch mode by @SyMind in https://github.com/web-infra-dev/rspack/pull/11643
- fix: should analyze correct variable for dynamic import by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11768
- fix: URLPlugin in child compiler by @SyMind in https://github.com/web-infra-dev/rspack/pull/11785
- refactor: remove unused parameters and clean up code by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11756
- refactor: file counter save the resource id which used the file by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11757
- docs: add commonjsMagicComments docs by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11752
- docs: document parser jsx option by @fi3ework in https://github.com/web-infra-dev/rspack/pull/11767
- docs: add Snap to who is using section by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11777
- docs(style): remove unexpected borders on code block focus by @ritoban23 in https://github.com/web-infra-dev/rspack/pull/11784
- test: remove simple tester by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11751
- chore(deps): update dependency memfs to v4.46.0 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11721
- test: close compiler by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11764
- chore(deps): lock file maintenance by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11726
- test: add persistent cache symlink test case by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11769
- chore(deps): update swc by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11747
- @ritoban23 made their first contribution in https://github.com/web-infra-dev/rspack/pull/11784
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.5.7...v1.5.8
v1.5.7
This release enhances tree shaking capabilities specifically for the .then() callbacks of dynamic imports. Rspack can now statically analyze and eliminate unused exports when destructuring is performed on the resolved module within promise chains:
// Tree shaking now works for destructuring in .then() callbacks
import('./utils').then(module => {
const { usedFunction } = module; // Only usedFunction will be included
usedFunction();
// unusedFunction will be tree-shaken out
});
Rspack now supports parsing and preserving JSX syntax. This allows JSX syntax to be parsed without transformation, making it compatible with external JSX transformers.
// rspack.config.js
export default {
module: {
parser: {
javascript: {
jsx: true // Enable JSX parsing
}
},
rules: [
{
test: /\.jsx?$/,
use: {
loader: 'swc-loader',
options: {
jsc: {
parser: { jsx: true },
transform: {
// Preserve JSX syntax
react: { runtime: 'preserve' }
}
}
}
}
}
]
}
};
- feat: static analyze destructuring assignment dynamic import variable for tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11731
- feat: parser support jsx by @fi3ework in https://github.com/web-infra-dev/rspack/pull/11664
- fix: correct infrastructureLog type and add documentation by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11742
- fix: inline enum not only properties used by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11740
- fix: mf should correctly hoist modules by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11743
- docs: improve Web Workers documentation with more details by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11737
- test: refactor processor by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11732
- test: rename config files by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11733
- test: remove processor by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11738
- test: remove runner factory by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11741
- chore(deps): update github-actions by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11746
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11680
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.5.6...v1.5.7
v1.5.6
- perf: IndexSet for ArcPath by @SyMind in https://github.com/web-infra-dev/rspack/pull/11727
- feat: rspack_cacheable add custom with wrapper by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11711
- feat: persistent cache save ModuleProfiler by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11715
- feat: static analyse import then for tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11665
- feat: support webpackIgnore in commonjs require by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11704
- fix: align context module element dependence resource identifer with webpack by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11674
- fix: inline value condition connection active for re-export by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11701
- fix: support non-ascii paths in dirname by @hardfist in https://github.com/web-infra-dev/rspack/pull/11686
- fix(rslib): only treat "module" as normal variable when module have ESM syntax by @fi3ework in https://github.com/web-infra-dev/rspack/pull/11634
- fix: remove
serdefeature oflightningcssby @colinaaa in https://github.com/web-infra-dev/rspack/pull/11706 - fix(browser): inject
Bufferby @CPunisher in https://github.com/web-infra-dev/rspack/pull/11714
- refactor: rspack_cacheable
owned_or_refimplement rkyv macro by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11708 - refactor: rspack module profiler by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11712
- docs: update test path by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11690
- docs(resolve): clarify mainFields behavior and exports precedence by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11696
- docs: update join-us page content and structure by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11700
- chore: release v1.5.5 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11688
- ci: fix build-dependencies-resolve test case by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/11692
- test: use case directory name as case names to match the filter by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11699
- test: refactor runner by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11705
- test: split snapshots to the case directories by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11707
- chore(deps): update crate swc_core to v42.0.2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11702
- test: enable lazyBarrel and inlineConst for rspack-test by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11710
- chore(deps): update swc plugins and crates by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11602
- chore(deps): update dependency case-police to v2 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11719
- chore(deps): update dependency heading-case to v1 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11720
- chore(deps): update dependency cross-env to v10 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11722
- chore(deps): update dependency cspell to v9 by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11723
- chore(website): Add link for the positions in position-information by @danpeen in https://github.com/web-infra-dev/rspack/pull/11728
- @danpeen made their first contribution in https://github.com/web-infra-dev/rspack/pull/11728
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.5.5...v1.5.6
v1.5.5
- fix: should walk call member chain args for dynamic import referenced by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11661
- fix(core): support NAPI_RS_NATIVE_LIBRARY_PATH by @hardfist in https://github.com/web-infra-dev/rspack/pull/11670
- fix: inline value condition for namespace import by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11679
- fix: allow Infinity for stats space options by @hardfist in https://github.com/web-infra-dev/rspack/pull/11685
- fix: inline value with export as by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/11687
- docs: remove incorrect
emitRecordscompiler hook by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11671 - docs: improve
resolve.extensionsconfiguration by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/11672 - docs: fix esm document example errors by @lzxb in https://github.com/web-infra-dev/rspack/pull/11673
- test: run webpack normal test cases with rspack test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11660
- chore: deprecate copilot-instruction.md in favor of AGHENTS.md by @hardfist in https://github.com/web-infra-dev/rspack/pull/11669
- test: run webpack normal hot test cases with rspack test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11662
- chore(refactor): inline base64 utilities into rspack_util by @hardfist in https://github.com/web-infra-dev/rspack/pull/11668
- chore(deps): update patch npm dependencies by @renovate[bot] in https://github.com/web-infra-dev/rspack/pull/11297
- test: run webpack compiler test cases with rspack test tools by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/11676
- chore(deps): bump rspack-resolver to v0.6.3 by @stormslowly in https://github.com/web-infra-dev/rspack/pull/11639
- chore: add setup script and update AGENTS.md by @hardfist in https://github.com/web-infra-dev/rspack/pull/11684
Full Changelog: https://github.com/web-infra-dev/rspack/compare/v1.5.4...v1.5.5