See Announcing Rspack 1.0 for more details 🎉
What's Changed
Breaking Changes 🛠
- fix: compilation errors and warnings should be
RspackError
by @h-a-n-a in #6900 - feat: deprecate JavaScript API by @h-a-n-a in #6859
- feat: upgrade swc to latest version by @hardfist in #6887
- refactor: remove profile integration timestamp by @LingyuCoder in #6947
- feat: remove fields of
SwcJsMinimizerRspackPluginOptions
by @h-a-n-a in #6950 - fix!: align optimization.moduleIds and optimization.chunkIds when mode=none by @LingyuCoder in #6956
- feat!: remove output.amdContainer from config by @fi3ework in #6958
- feat!: revert default values of SwcJsMinimizer by @h-a-n-a in #6970
- fix!: set default value of concatenateModules to true in production mode by @JSerFeng in #6959
- refactor!: use swc_plugin_prefresh instead of builtin swc plugin by @LingyuCoder in #7069
- feat!: detect conflicting values in
DefinePlugin
by @h-a-n-a in #7045 - feat!: remove
builtins.provide
by @h-a-n-a in #7086 - feat!: use native resolver in loader by @bvanjoi in #4945
- fix!: correct names of hash fields in asset.info by @xc2 in #7220
- feat(deps)!: update
webpack-dev-server
to v5 and no longer lock the versions by @SoonIter in #7130 - fix!: remove @rspack/plugin-minify by @hardfist in #7307
- feat!(crates): upgrade swc_core to 0.99.5 by @LingyuCoder in #7292
- feat!: improve HtmlRspackPlugin by @LingyuCoder in #7577
- refactor!: disable css minify in html minify and remove SwcCssMinimizerRspackPlugin by @ahabhgk in #7547
- feat!: support
optimization.emitOnErrors
by @LingyuCoder in #7595 - feat(core)!: change dojang default escape|unescape to lodash.template syntax by @hardfist in #7661
Performance Improvements ⚡
- perf(rspack_plugin_javascript): use Rayon to parse modules parallelly by @fi3ework in #6864
- perf: make picking concatenable modules parallel by @JSerFeng in #7003
- perf: cache
compilation.entrypoints
by @chenjiahan in #7059 - perf: enable "fat" LTO for production release by @chenjiahan in #7088
- perf: remove unneeded string clone by @JSerFeng in #7104
- perf: reduce
get_scheme
allocation by @h-a-n-a in #7109 - perf: reduce alloc for bailout reason by @h-a-n-a in #7118
- perf: stats rust side generate speed by @SyMind in #7126
- perf: reduce allocation for filename render by @h-a-n-a in #7138
- perf: optimize JS communication with lazy getters by @SyMind in #7163
- perf: reduce allocation for
TraceableError
by @h-a-n-a in #7192 - perf: reduce allocation for
Stats
by @h-a-n-a in #7124 - perf: reduce allocation for parsing by @h-a-n-a in #7219
- perf: use Set as Queue to solve the duplication by @JSerFeng in #7233
- perf: reduce allocation for
ModuleRule
matching by @h-a-n-a in #7249 - perf: reduce large pre-allocations for
JavascriptParser::new
by @h-a-n-a in #7286 - perf: faster hasher for
Ukey
s by @ahabhgk in #7287 - perf: a bunch of small improvement for ConcatenatedModule by @CPunisher in #7257
- perf: reduce allocation for adding dependencies by @h-a-n-a in #7301
- perf: no need to require entire enhanced-resolve by @chenjiahan in #7343
- perf(allocator): use mimalloc v2 for all by @h-a-n-a in #7361
- perf: stats to js speed by @SyMind in #7344
- perf: rule matcher allocates only if
resource_path
is not a valid UTF-8 sequence by @h-a-n-a in #7441 - perf: bump lightningcss to remove duplicated browerslist-rs by @chenjiahan in #7461
- perf!: use browserslist-rs for lightningcss by @JSerFeng in #7544
- perf: warn case sensitive plugin by @ahabhgk in #7606
- perf: improve performance of eval-source-map by @JSerFeng in #7630
Exciting New Features 🎉
- feat(napi): support js chunk hash hook by @ahabhgk in #6853
- feat(napi): compilation chunk hash hook by @ahabhgk in #6858
- feat: root module is less prone to be wrapped in IIFE by @fi3ework in #6697
- feat: CopyRspackPlugin support function
to
option by @9aoy in #6866 - feat: remove styled-components, emotion and relay in builtin swc-loader by @h-a-n-a in #6862
- feat: align split-chunks stats by @SyMind in #6847
- feat: generating provenance statements by @chenjiahan in #6896
- feat: add
factoryMeta
toJsModule
and optimizeInnerGraphPlugin
for variable decl with iife by @CPunisher in #6888 - feat: simple custom worker syntax by @ahabhgk in #6899
- feat: add nwjs target to rspack config by @wxiaoyun in #6880
- feat: add build unique id for detecting by @LingyuCoder in #6865
- feat: encode filename in EvalDevToolModulePlugin by @SyMind in #6903
- feat: add stats.module.dependent by @LingyuCoder in #6913
- feat(cli): defineConfig support all types by @chenjiahan in #6911
- feat: add nwjs external preset by @wxiaoyun in #6907
- feat: custom worker syntax for worklet by @ahabhgk in #6916
- feat: support deep AST parsing in debug by @h-a-n-a in #6919
- feat: add idHints and hash of stats.chunk by @LingyuCoder in #6920
- feat: support nested webpack_exports by @ahabhgk in #6930
- feat: fully support EvalSourceMapDevToolPlugin by @SyMind in #6933
- feat: support use data uri with inline loaders by @h-a-n-a in #6939
- feat(create-rspack): improve the templates by @chenjiahan in #6940
- feat: add contextInfo on resolveData by @ahabhgk in #6948
- feat: align stats.assets[].info by @LingyuCoder in #6951
- feat: optimize filename function diagnostic by @h-a-n-a in #6953
- feat(cli): add --profile to enable stats module profile by @LingyuCoder in #6957
- feat: stats origin moduleid by @LingyuCoder in #6955
- feat!: enable lightning css minimizer as default css minimizer by @ahabhgk in #6960
- feat: align stats chunk group by @LingyuCoder in #6961
- feat: enable lightning css minimizer error recovery by @ahabhgk in #6995
- feat: support nmf resolve hook by @ahabhgk in #6998
- feat: support splitChunkSizes type by @wxiaoyun in #6989
- feat: refresh overlay by @JiangWeixian in #6161
- feat: align webpack target and stats api by @SyMind in #7027
- feat: support fetch priority by @LingyuCoder in #7029
- feat: support webpackInclude and webpackExclude by @LingyuCoder in #7055
- feat(rspack_core): nmf resolve in schema hook by @ScriptedAlchemy in #7039
- feat: tree shakable output for module library by @fi3ework in #6877
- feat: downgrade container runtime to es2015 by @ahabhgk in #7085
- feat: to function can return Promise by @SyMind in #7068
- feat: support more features of
DefinePlugin
by @h-a-n-a in #7108 - feat: align part of StatsError by @LingyuCoder in #7091
- feat(create-rspack): update template package name by @liangchaofei in #7092
- feat: reduce unnecessary exports runtime by @fi3ework in #7102
- feat: support type field for JsModule by @JSerFeng in #7093
- feat(stats): support
StatsError.moduleTrace
by @LingyuCoder in #7123 - feat: add trace in hook macro by @JSerFeng in #7131
- feat: support
test
,include
andexclude
options forSwcCssMinimizerRspackPlugin
by @simonxabris in #7111 - feat: override strict for javascript module by @colinaaa in #7127
- feat(stats): align stats factory by @LingyuCoder in #7165
- feat: align part of compile time binary evaluation with webpack by @LingyuCoder in #7187
- feat: align StatsAsset with webpack by @LingyuCoder in #7190
- feat: add support for function types to
output.assetModuleFilename
by @xc2 in #7191 - feat: support webpackExports in magic comments by @LingyuCoder in #7198
- feat: support output.charset and output.chunkLoadTimeout by @xc2 in #7189
- feat: support
__webpack_get_script_filename__
by @LingyuCoder in #7203 - feat: support webpack_exports_info by @LingyuCoder in #7205
- feat: external callbacks receive contextInfo.issuer by @fi3ework in #7210
- feat: support destructuring of import.meta by @LingyuCoder in #7229
- feat: support tree shaking with awaiting dynamic import by @LingyuCoder in #7230
- feat: align
publicPath
options with webpack by @xc2 in #7216 - feat: support lightningcss-loader by @JSerFeng in #7214
- feat: support
compilation.chunkGroups
andcompilation.namedChunkGroups
by @LingyuCoder in #7254 - feat(create-rspack): add vanilla templates by @chenjiahan in #7295
- feat: support EntryPlugin filename function by @9aoy in #7297
- feat: support
test
,include
andexclude
options forLightningCssMinimizerRspackPlugin
by @simonxabris in #7290 - feat: experiments layers by @ahabhgk in #7330
- feat: support import attributes by @hardfist in #7333
- feat(css-extract): avoid reloading all CSS when hot load by @shulaoda in #7314
- feat(modern-module): force concaten single module by @fi3ework in #7317
- feat: better diagnostic report for harmony dependency by @shulaoda in #7337
- feat: support
parser.importMeta
andoutput.importMetaName
by @xc2 in #7231 - feat: better diagnostic report for harmony residual dependencies by @shulaoda in #7374
- feat: add memory cache of javascript plugins by @LingyuCoder in #7389
- feat: add partial lazyOptions.backend options by @tatchi in #7273
- feat: support
compilation.chunkGroup[].isInitial()
by @LingyuCoder in #7406 - feat(diagnostic): improve diagnostics for swc wasm plugins by @h-a-n-a in #7391
- feat: support compilation.entries by @SyMind in #7396
- feat: add
compiler.rspack
by @LingyuCoder in #7434 - feat: support seal hook in js side by @SyMind in #7428
- feat(dev-server): export package version by @leimonio in #7305
- feat(stats): support
moduleReason.resolvedModule
by @LingyuCoder in #7467 - feat(diagnostic): prettier diagnostics of magic comments by @h-a-n-a in #7472
- feat: support compilation.modules[i].blocks by @SyMind in #7460
- feat: port "module-import" external type by @fi3ework in #7479
- feat(node-stuff): implement
node-module
shim by @fi3ework in #7465 - feat(stats): support
isOverSizeLimit
in stats by @LingyuCoder in #7483 - feat: splitChunks support usedExports by @JSerFeng in #7485
- feat: support
stats.chunkGroup[].childAssets
by @LingyuCoder in #7517 - feat: support module.size function in cacheGroups.[i].test by @SyMind in #7482
- feat: expose added/removed compilation.*_dependencies to js side by @jerrykingxyz in #7522
- feat: second param for loader hook by @SyMind in #7537
- feat(create-rspack): configure Lightning CSS targets by default by @chenjiahan in #7579
- feat(core): don't inject bundlerInfo in library mode by @hardfist in #7567
- feat: extract-css-plugin supports layer by @JSerFeng in #7583
- feat(html): improve error handling by @LingyuCoder in #7600
- feat: add cache for process runtime requirements by @ahabhgk in #7601
- feat(rspack_plugin_swc_js_minimizer): add minify option by @fi3ework in #7599
- feat(core): bump rspack_resolver 0.2.0 by @SoonIter in #7532
- feat(deps): bump @module-federation/runtime-tools 0.5.1 by @chenjiahan in #7649
- feat(mf2): add shareStrategy by @2heal1 in #7651
- feat: add minify option to lightningcss-loader by @witsaint in #7653
- feat: cache unaffected for cgm code gen by @ahabhgk in #7646
- feat: apply affected modules to all cgm phase by @ahabhgk in #7684
- feat: apply affected modules for provide exports by @ahabhgk in #7703
- feat: support
"loose-unrecognized-keys"
for config validation by @h-a-n-a in #7705
Bug Fixes 🐞
- fix: ci wrong in github runner by @SyMind in #6852
- fix: export default when environment supports const by @ahabhgk in #6861
- fix: pre walk class blocks by @ahabhgk in #6867
- fix: should not eval exports in harmony by @ahabhgk in #6883
- fix: clean up dependencies and types for emotion / relay by @chenjiahan in #6892
- fix: fix type of CssExtractRspackPluginOptions.{filename,chunkFilename} by @xc2 in #6882
- fix: missing bailout reason after introducing css extract plugin by @xc2 in #6875
- fix: sources in source map when use EvalSourceMapDevToolPlugin by @SyMind in #6901
- fix: CopyRspackPlugin transform option type by @9aoy in #6908
- fix!: align devtool default value by @SyMind in #6904
- fix: devtool plugin cache conflict !macos by @SyMind in #6912
- fix: fix release build by @h-a-n-a in #6921
- fix: use entrypoint.options.runtime as key for chunk_graph.runtime_ids map if possible by @escaton in #6928
- fix!: change default value of css to false, align with webpack by @JSerFeng in #6910
- fix: context passed into the
ModuleFactory
is not correct by @h-a-n-a in #6946 - fix!: align webpack defaults by @SyMind in #6949
- fix: sources types by @SyMind in #6944
- fix: should not using single line match in data url regex by @JSerFeng in #6952
- fix: fix duplicated harmony exports with named exports and re-exports star by @h-a-n-a in #6962
- fix(config): allow entry function to return promise by @chenjiahan in #6975
- fix: use max_entrypoint_size in add_entrypoints_over_size_limit_warning by @escaton in #6923
- fix: experiments css exports convention tree shaking by @ahabhgk in #6997
- fix: align source name conflict handling by @CPunisher in #6993
- fix: should not generate pure expression if test is failed by @h-a-n-a in #7014
- fix: use lite-tapable for enhanced-resolve by @ahabhgk in #7021
- fix: fix npm script in window by @daydayhappychao in #5164
- fix: pnpm install failed in ci by @SyMind in #7036
- fix: wrong cjs exports type caused unexpected exports presence by @ahabhgk in #7028
- fix: add warning for context module flag g and y by @ahabhgk in #7044
- fix: deduplicate extracted comments by @CPunisher in #7040
- fix: detect magic comments around expr by @ahabhgk in #7047
- fix: truncateArgs is not a function by @SyMind in #7052
- fix(core): migrate to rspack_resolver by @hardfist in #7063
- fix: zod is pre-bundled twice by @chenjiahan in #7064
- fix: magic comment warning by @LingyuCoder in #7056
- fix: revert detect statement level sequence expression by @ahabhgk in #7071
- fix: Add missing code for compatibility plugin by @CPunisher in #7079
- fix: panic when get max target in find target by @LingyuCoder in #7082
- fix: support css nonce by @LingyuCoder in #7101
- fix(mf): runtime should respect output environment by @ahabhgk in #7113
- fix: should not shake used json fields by @JSerFeng in #7119
- fix: remove all unused local variables by @chenjiahan in #7134
- fix: unset cjs exports type on access exports directly by @ahabhgk in #7143
- fix: avoid type error when skipLibCheck is not enabled by @CPunisher in #7155
- fix: align resolverFactory resolveOptions parameter with resolve options by @9aoy in #7154
- fix: invalid "javascript/auto" rule.type in getRawGeneratorOptions by @9aoy in #7164
- fix: should merge parser.javascript by @ahabhgk in #7152
- fix(cli): update peerDep of rspack-cli by @hardfist in #7173
- fix(release): alpha peerDependencies in @rspack/cli by @SoonIter in #7175
- fix: resource within scheme context by @ahabhgk in #7166
- fix: eval condition expr range by @ahabhgk in #7184
- fix: pattern with wildcard and globstar can't match correctly when using
glob_match
by @shulaoda in #6668 - fix: update resource in nmf resolve hook by @ahabhgk in #7200
- fix: panic in hmr cause by auxiliary_assets by @SyMind in #7197
- fix: panic in ImportMetaContextDependency when resolve failed by @LingyuCoder in #7215
- fix: get correct parent module for root module of concatenated module by @ahabhgk in #7212
- fix: collect auxiliary assets from module by @LingyuCoder in #7222
- fix: fix panic about runtime order by @xc2 in #7240
- fix: real content full hash replacement by @LingyuCoder in #7271
- fix(fs): remove generic in
FileSystem
trait by @hardfist in #7275 - fix(panic): stable runtime key sequence by @LingyuCoder in #7272
- fix: corrects result for
truthy || any
andfalsy && any
by @xc2 in #7277 - fix: Update index.mdx by @lalala-h in #7283
- fix: runtime condition optimization with concate module by @JSerFeng in #7285
- fix: markdown format index.mdx by @lalala-h in #7310
- fix: add
await
to async module export by @CPunisher in #7308 - fix: lightningcss-loader targets array not work as expected by @chenjiahan in #7331
- fix(rspack_plugin_asset): repect user environment config when inlining svg by @SoonIter in #7347
- fix: rspack errors don't support the correct location by @shulaoda in #7328
- fix: add runtime condition for harmony reexport checked by @ahabhgk in #7353
- fix: remove nonsensical intersection types by @colinaaa in #7360
- fix: builtin:lightningcss-loader shuold keep loader query by @JSerFeng in #7363
- fix(modern-module): compat with more export cases by @fi3ework in #7394
- fix: other git clean command wrong by @SyMind in #7404
- fix: render filename with dollar sign by @JSerFeng in #7402
- fix: stats perf degradation in hmr by @SyMind in #7407
- fix(mf2): extra provide sharing data by @ahabhgk in #7408
- fix: change some
walk_block_statement
towalk_statement
by @CPunisher in #7410 - fix(rspack_loader_lightningcss): customMedia camelCase option by @SoonIter in #7409
- fix: add custom browserslist target schema by @CPunisher in #7421
- fix: provided exports for add entry modules by @ahabhgk in #7424
- fix(playground/cases): replace window.onmessage with self.onmessage in worker test case by @shulaoda in #7431
- fix: remove unused JSON schemas for CSS extract plugin by @chenjiahan in #7442
- fix: update deny.toml by @ahabhgk in #7447
- fix: dynamic entry plugin desc to options by @ahabhgk in #7458
- fix: map of empty file should have mappings field by @JSerFeng in #7456
- fix: deep merge module resolve options by @ahabhgk in #7470
- fix: stats typescript wrong by @SyMind in #7466
- fix: type mismatch when using webpack plugins by @chenjiahan in #7455
- fix: patch asset info in update asset by @ahabhgk in #7464
- fix!: reuseExistingChunk should be false by default by @JSerFeng in #7489
- fix(modern-module): export syntax detect more invalid chars by @fi3ework in #7493
- fix: concatenation should merge module’s chunk init fragments by @fi3ework in #7504
- fix(modern-module): correct use bailout reason by @fi3ework in #7513
- fix: maxInitialRequests should exists in cache groups by @JSerFeng in #7512
- fix(hmr): replacement of optionalChain is compatible with legacy versions by @wChenonly in #7510
- fix: use intersection runtime for concat module code gen by @ahabhgk in #7523
- fix: chunk hash unstable by @JSerFeng in #7534
- fix: should insert semi after import, export, debugger and class field by @CPunisher in #7529
- fix: check SuperProp in walk_call_expression by @CPunisher in #7530
- fix: remove useless "module" external runtime by @fi3ework in #7533
- fix(rust-core): no need to pass resolve_factory when using rust api by @hardfist in #7539
- fix(cli): wrong entry defaults from cli by @xc2 in #7541
- fix: source map plugin module should enable by default by @ahabhgk in #7545
- fix: avoid inner graph top level symbol for nested webpack_require by @ahabhgk in #7584
- fix(node-stuff): use more conventional shim method by @fi3ework in #7587
- fix: missing
compiler.inputFileSystem
type by @chenjiahan in #7597 - fix: should not panic if provide dependency is not resolved by @JSerFeng in #7609
- fix: remove the unnecessary logic for inserting semicolons by @inottn in #7615
- fix: allow
null
andundefined
in EnvironmentPlugin by @colinaaa in #7617 - fix: should not stringify loader loading requests by @h-a-n-a in #7643
- fix(mf2): correct mf shared options by @2heal1 in #7640
- fix: unexpected ASI generation with sequence expression by @h-a-n-a in #7650
- fix: wrong
builtin:swc-loader
source maps ifinputSourceMap
is provided by @h-a-n-a in #7654 - fix(html): emit error when param not found by @LingyuCoder in #7656
- fix(mf2): initializeSharingInitTokens should be object by @2heal1 in #7657
- fix: "module-import" simply falls back to "module" when bails by @fi3ework in #7585
- fix: should resolve aliased loader module with query by @h-a-n-a in #7660
- fix:
Path
pitfall for loader type by @h-a-n-a in #7666 - fix(security): DOM clobbering in auto public path by @LingyuCoder in #7664
- fix: resolve issue with external array not working in UMD libraryTarget by @inottn in #7675
- fix(deps): bump webpack-dev-middleware v7.4.2 to fix assetsInfo by @chenjiahan in #7676
- fix(create-rspack): should not replace plugin-react-refresh version by @chenjiahan in #7677
- fix(cli): peerDep allows @rspack/core@1.0 by @hardfist in #7680
- fix: reuse codegen results only for new incremental by @ahabhgk in #7681
- fix: fallback to next main field when resolve failed by @LingyuCoder in #7670
- fix:
context
should be an absolute path by @h-a-n-a in #7687 - fix(core): don't panic when load config failed by @hardfist in #7693
- fix(rspack-resolver): enable pnp feature by @fi3ework in #7707
Document Updates 📖
- docs: fixed typo on compatibility list header by @ebektasiadis in #6886
- docs: fix rspack exports in javascript-api.mdx by @sudoaugustin in #6889
- docs: fix rspack exports in zh javascript-api.mdx by @chenjiahan in #6893
- docs: explain
VariableInfo
by @bvanjoi in #6914 - docs: polish up guide docs by @fi3ework in #6922
- docs: review devtool and entry config docs by @Timeless0911 in #6917
- docs: improve webpack migration by @SyMind in #6918
- docs: fix license badge and add node badge by @chenjiahan in #6929
- docs(config): temporary fix for mdx display bug by @wxiaoyun in #6932
- docs: add stats data by @LingyuCoder in #6937
- docs: describe stats data structure with ts types by @LingyuCoder in #6941
- docs: polish up external config by @fi3ework in #6942
- docs(contributing): breaking change PR format by @chenjiahan in #6969
- docs: update assets URLs by @chenjiahan in #6972
- docs: upgrade latest discord invitation link by @SoonIter in #6977
- docs: use of nightly/canary version and install-rspack script by @SoonIter in #6974
- docs: announcing Rspack v1.0 alpha by @chenjiahan in #6945
- docs: remove invalid OG image by @chenjiahan in #6982
- docs: add doc about switch back to SwcCssMinimizerRspackPlugin by @hardfist in #6983
- docs: deduplicate plugin support status list by @xc2 in #6988
- docs: complete the module methods by @LingyuCoder in #6999
- docs: module variables by @LingyuCoder in #6980
- docs: add specifics for api meta by @LingyuCoder in #7002
- docs: add Module Federation to features list by @chenjiahan in #7011
- docs: improve externals plugin doc by @SyMind in #7009
- docs: add prefetch&preload modules by @LingyuCoder in #7010
- docs: default value in node config by @SyMind in #7015
- docs: update compilation hooks by @LingyuCoder in #7018
- docs: add fetch priority by @LingyuCoder in #7037
- docs: add compare with parcel section by @hardfist in #7035
- docs: add baidu verify file for SEO optimization by @chenjiahan in #7073
- docs: fix netlify redirect cause baidu verify failed by @chenjiahan in #7074
- docs: update license ui by @9aoy in #7076
- docs: update teams page, add Rsfamily members by @chenjiahan in #7083
- docs: enable sitemap for SEO by @chenjiahan in #7105
- docs: polish migration wordings by @h-a-n-a in #7117
- docs: use CssExtractRspackPlugin and experiments.css together by @JSerFeng in #7114
- docs: update benchmark data and improve UI by @chenjiahan in #7159
- docs: update the quick start guide by @chenjiahan in #7162
- docs: polish up output config by @fi3ework in #7167
- docs: complete the target configuration by @chenjiahan in #7168
- docs: reuse HomeLayout from Rspress by @chenjiahan in #7177
- docs(format): run prettier --write by @SoonIter in #7180
- docs: add new features section to home page by @chenjiahan in #7183
- docs: improve home page SSG and benchmark data by @chenjiahan in #7185
- docs: update stats data by @LingyuCoder in #7195
- docs: add tool stack to homepage by @chenjiahan in #7221
- docs: add webpack_get_script_filename by @LingyuCoder in #7236
- docs: complete processAssets document by @chenjiahan in #7274
- docs: fix build typo in the benchmark by @chenjiahan in #7300
- docs(devServer): update webpack-dev-server v5 by @SoonIter in #7319
- docs(blog): correcting the description of decorator configuration in v0.4 by @Mumujianguang in #7320
- docs: add compilation object by @LingyuCoder in #7321
- docs: add
serwist
in community compatibility table by @JoseVSeb in #7345 - docs: include types from common mdx chunks by @LingyuCoder in #7323
- docs: enable prettier for types in website by @Timeless0911 in #7350
- docs: import antd on demand by @Timeless0911 in #7351
- docs: bad symbol in compilation-hooks.mdx by @h-a-n-a in #7352
- docs: improve CssExtractRspackPlugin by @chenjiahan in #7362
- docs: add Logger API by @LingyuCoder in #7365
- docs: update compiler hooks by @LingyuCoder in #7366
- docs: remove outdated builtin config docs by @SyMind in #7372
- docs: add Rsdoctor documents by @easy1090 in #7322
- docs: add doc for html by @SyMind in #7373
- docs: grammar fix by @AkatQuas in #7414
- docs: group api docs by @LingyuCoder in #7415
- docs: add compiler api by @LingyuCoder in #7423
- docs: update ecosystem links by @chenjiahan in #7435
- docs: add MultiCompiler API by @LingyuCoder in #7436
- docs: add Stats API by @LingyuCoder in #7439
- docs: update dependencies and fix tsconfig paths by @chenjiahan in #7440
- docs: remove duplicated part in document of JavaScript API by @LingyuCoder in #7443
- docs: bump
@rstack-dev/doc-ui
to add Rslib and awesome Rspack by @Timeless0911 in #7445 - docs: add guide for different CSS usages by @chenjiahan in #7446
- docs: remove perf note for mergeDuplicateChunks by @JSerFeng in #7459
- docs: explain usage of inner graph by @JSerFeng in #7462
- docs: add detailed explanation for NormalModuleFactory hooks by @chenjiahan in #7468
- docs: correct some statements of code splitting and splitChunks by @JSerFeng in #7469
- docs: update stats options by @LingyuCoder in #7473
- docs: list plugin compatible +5 by @9aoy in #7481
- docs: add link for Rspack 0.x website by @chenjiahan in #7484
- docs: list compatibility status of more plugins by @9aoy in #7488
- docs: add some missing options by @LingyuCoder in #7480
- docs: fix website error by @hardfist in #7506
- docs: remove deprecated configs by @chenjiahan in #7519
- docs: add MarsCode to online examples by @chenjiahan in #7525
- docs: correct property type style and filename by @chenjiahan in #7520
- docs: add overview flow chart for compiler hooks by @LingyuCoder in #7524
- docs: update benchmark data by @chenjiahan in #7548
- docs: correct LightningCssMinimizerRspackPlugin link by @JSerFeng in #7551
- docs: update chunk type by @h-a-n-a in #7552
- docs: list top50 plugins compatibility by @9aoy in #7554
- docs(module-federation): optimize module federation version selection by @zhoushaw in #7558
- docs: add overview flow chart for compilation hooks by @LingyuCoder in #7555
- docs: remove experiments flags by @hardfist in #7560
- docs: remove examples page by @9aoy in #7561
- docs: update glossary by @hardfist in #7562
- docs: delete benchmark page by @hardfist in #7566
- docs: upgrade Rspress version by @zoolsher in #7581
- docs: rewrite tree-shaking doc by @JSerFeng in #7568
- docs: add performance bottlenecks by @chenjiahan in #7593
- docs: keep webpack dependency in some cases by @chenjiahan in #7619
- docs: update eslint-webpack-plugin compatible status by @9aoy in #7627
- docs: filter rspack specific test cases by @9aoy in #7629
- docs: migrating from rspack 0.x by @SyMind in #7625
- docs: add notice about htmlRspackPlugin not support ejs syntax by @hardfist in #7652
- docs: rslib link should be its github repo by @gwy15 in #7655
- docs: use --experimental-transform-types load tsconfig by @hardfist in #7667
- docs(mf): add
@module-federation/sdk
to FAQ by @chenjiahan in #7669 - docs(landing-page): brand NEW landing page by @SoonIter in #7550
- docs(landingpage): replace some not clear icon by @SoonIter in #7685
- docs(landingpage): remove "show all features" button by @SoonIter in #7692
- docs(landingpage): fix the section width by @SoonIter in #7695
- docs: improve migrating from 0.x by @SyMind in #7694
- docs(landingpage): add star animation by @SoonIter in #7697
- docs: remove rspack config diff docs by @SyMind in #7696
- docs: remove all 0.x version badges by @chenjiahan in #7698
- docs(landingpage): UI improvements by @chenjiahan in #7699
- docs(landingpage): fix center button text by @SoonIter in #7701
- docs(landingpage): add lottie animation by @SoonIter in #7702
- docs(homepage): lazy load images by @chenjiahan in #7706
Other Changes
- chore(deps): update crates (major) by @renovate in #6855
- refactor!: remove resolve tsConfigPath by @ahabhgk in #6872
- chore: remove old tree shaking code by @ahabhgk in #6884
- refactor: worker parser plugin by @ahabhgk in #6881
- revert: chore(deps): update crates (major) (#6855) by @h-a-n-a in #6894
- test: fix using HotSnapshotProcessor in webpack by @colinaaa in #6885
- chore: refactor rspack_plugin_devtool by @SyMind in #6897
- chore: optimize profile dir creation by @xc2 in #6879
- chore(release): rename package canary name by @SoonIter in #6906
- chore: clean up unused dev dependencies by @chenjiahan in #6924
- chore: sanitize file paths by @h-a-n-a in #6931
- chore: remove unused benchcases folder by @chenjiahan in #6936
- refactor: improve code style in concate module by @JSerFeng in #6791
- chore(workflow): should allow alpha npm tag by @chenjiahan in #6976
- chore(workflow): fix permissions for prod release by @chenjiahan in #6979
- release: 1.0.0-alpha.0 by @chenjiahan in #6978
- refactor: move test dirs to tests by @LingyuCoder in #6973
- test: stable stage-0-factorize test by @ahabhgk in #6981
- refactor: resolve nodejs 22 deprecation warning by @xc2 in #6987
- chore: disable renovate update for swc by @hardfist in #6991
- chore: add deprecated notice for rspack-plugin-minify by @hardfist in #6992
- chore: fix renovate config by @xc2 in #6994
- refactor: extract lite tapable by @ahabhgk in #7000
- refactor!: move global trace export to experiments by @ahabhgk in #7019
- chore(module-federation): update @module-federation/runtime-tools to 0.2.3 version by @zhoushaw in #7025
- test: enable webpack cjs-treeshaking reexport cases by @xc2 in #7017
- chore(readme): remove underlines between badges by @wxiaoyun in #7024
- chore: release force use github runner by @jerrykingxyz in #7038
- test: enable cases/context/issue-10969 by @ahabhgk in #7041
- chore: release run macos test when arch match by @jerrykingxyz in #7046
- release: 1.0.0-alpha.1 by @chenjiahan in #7042
- chore(lite-tapable): clean up temp/api.md by @chenjiahan in #7048
- chore: nightly release upload webpack-test metric data by @jerrykingxyz in #7051
- chore: nightly release add write contents permission by @jerrykingxyz in #7053
- chore: add provenance option to pnpm publish by @chenjiahan in #7054
- chore: migrate lint to biome by @hardfist in #7061
- refactor: port inner graph by @JSerFeng in #7043
- chore(infra): use import type by @SoonIter in #7099
- chore(infra): update biome useArrowFunction by @SoonIter in #7103
- chore(deps): update dependency sass-loader to v14 by @renovate in #7095
- refactor: report
Module not found
instead ofResolve Error
by @LingyuCoder in #7106 - test: enable passed webpack config cases by @LingyuCoder in #7120
- refactor: harmony export parser plugin by @ahabhgk in #7110
- test: enable stats test by @LingyuCoder in #7115
- release: 1.0.0-alpha.3 by @chenjiahan in #7121
- refactor: remove clone in js walk by @ahabhgk in #7137
- refactor: remove identifier.js ts-expect-error by @SoonIter in #7132
- refactor: remove ErrorHelpers.js ts-expect-error by @SoonIter in #7136
- chore(test-tools): fix type issue for benchmark CI by @chenjiahan in #7142
- refactor: js estree statement by @ahabhgk in #7141
- ci: fix the action that does not use biome in fact by @SoonIter in #7157
- test: calcuate test compatibility by test case by @LingyuCoder in #7158
- chore(infra): use pnpm isolated node-linker by @SoonIter in #7094
- chore(biome): useNumberNamespace and useConst by @SoonIter in #7160
- chore(deps): Phantom dependencies of x.mjs and scripts by @SoonIter in #7178
- refactor: move context dependency
walk_expression
intocreate_context_dependency
by @CPunisher in #6963 - chore(infra/biome): noUnusedTemplateLiteral by @SoonIter in #7176
- release: 1.0.0-alpha.4 by @SyMind in #7179
- ci: add document lint changed check by @SoonIter in #7188
- test(css-extract): enable function filename test by @JSerFeng in #7196
- chore(infra/biome): rule useNodejsImportProtocol by @SoonIter in #7181
- release: 1.0.0-alpha.5 by @SyMind in #7201
- refactor: allows minimal/detailed/summary stats presets in configuration by @xc2 in #7186
- chore(deps): add check-dependency-version for devDependencies by @SoonIter in #6323
- refactor: allow passing function type to assets generator.filename by @xc2 in #7206
- chore(deps): unify dependencies with check-depedency-version by @SoonIter in #7208
- test: full enable some webpack stats test cases by @LingyuCoder in #7213
- test: enable webpack test cases of webpackHot.data by @LingyuCoder in #7217
- ci(website/infra): lint-staged issue in website by @SoonIter in #7224
- test: enable preact refresh snapshot test by @LingyuCoder in #7232
- test: enable more available tests by @JSerFeng in #7234
- test: enable inner graph basic webpack test case by @LingyuCoder in #7237
- chore(deps): typescript phantom dependence by @SoonIter in #7235
- ci: speedup free disk space job by @xc2 in #7241
- refactor: change ansiHTML to ts and esm by @wxiaoyun in #7244
- refactor(typescript): refactor
packages/rspack/src/util
from js to ts and esm by @jithyan in #7246 - refactor: remove duplicated extract member expression info by @LingyuCoder in #7248
- chore(deps): update zod to ^3.23.8 by @colinaaa in #7253
- test: add test case for runtime condition by @LingyuCoder in #7250
- refactor(typescript):
packages/rspack/src/config
from js to ts/esm by @jithyan in #7255 - refactor(typescript): loader runner to ts by @wxiaoyun in #7247
- chore(infra/biome): rule useEnumInitializers by @shulaoda in #7260
- chore(infra/biome): rule useLiteralKeys by @shulaoda in #7261
- chore(infra/biome): rule noSvgWithoutTitle by @shulaoda in #7262
- chore(infra/biome): rule noDoubleEquals by @shulaoda in #7265
- chore(infra/biome): rule noForEach by @shulaoda in #7266
- chore(infra/biome): rule useSelfClosingElements by @shulaoda in #7267
- chore(infra/biome): rule useButtonType by @shulaoda in #7268
- refactor(typescript): packages/rspack/src/template from js to ts and esm by @shulaoda in #7258
- ci(fix): jest error in rspack-dev-server by @SoonIter in #7282
- ci: fix jest error of rspack-dev-server by @SoonIter in #7284
- chore(infra/biome): rule noUselessElse by @shulaoda in #7263
- refactor: reuse binary evaluation expression and support null coalescing by @LingyuCoder in #7280
- ci: solve slow build & test in windows by @SyMind in #7294
- test: add diff test case of concatenated runtime condition by @LingyuCoder in #7296
- refactor(plugin/css-extract): use typescript for css-extract-hmr by @wxiaoyun in #7245
- chore(ci): fix ci wrong by @SyMind in #7302
- chore: run
prebundle
when prepare by @colinaaa in #7304 - test: move native loader test to
rspack-test-tools
by @colinaaa in #7303 - refactor: using object form of lightningcss feature options by @JSerFeng in #7311
- release: 1.0.0-beta.0 by @chenjiahan in #7316
- chore: add funding page by @hardfist in #7318
- chore(deps): crates update by @SoonIter in #7342
- refactor(typescript): packages/rspack/src/lib from js to ts and esm by @shulaoda in #7289
- chore(infra/biome): switch the biome.jsonc to "off" by @SoonIter in #7357
- refactor: remove module graph accessor by @ahabhgk in #7368
- chore(webpack-test): remove unnecessary snapshots by @shulaoda in #7329
- release: 1.0.0-beta.1 by @chenjiahan in #7367
- refactor(typescript): packages/rspack/src/lib/formatLocation by @wxiaoyun in #7375
- chore(infra/rust-toolchain): upgrade rust 1.80.0 nightly by @SoonIter in #7349
- refactor(typescript): packages/rspack/src/builtin-plugin by @shulaoda in #7378
- refactor(typescript): packages/rspack/src/util/StatsFactory by @wxiaoyun in #7381
- refactor(typescript): packages/rspack/src/logging-truncateArgs by @shulaoda in #7383
- refactor(typescript): packages/rspack/src/util/memoize by @shulaoda in #7376
- refactor(typescript): packages/rspack/src/logging/runtime by @wxiaoyun in #7377
- refactor!: align css runtime by @JSerFeng in #7306
- refactor(typescript): packages/rspack/src/util/webpack by @wxiaoyun in #7388
- chore(infra/biome): enable noUselessTernary by @shulaoda in #7386
- chore(infra/biome): enable noVar by @SoonIter in #7380
- chore(infra/biome): enable noConstEnum by @shulaoda in #7385
- refactor: copiable export info by @ahabhgk in #7390
- refactor(typescript): packages/rspack/src/node/nodeConsole by @wxiaoyun in #7392
- chore(infra/biome): enable noEmptyPattern by @shulaoda in #7384
- ci(infra/typos): fix the styl typos by @SoonIter in #7398
- chore(infra/biome): enable useTemplate by @shulaoda in #7395
- chore(infra/biome): enable more rules by @shulaoda in #7387
- ci: git clean exclude by @SyMind in #7401
- refactor(rust): replace once_cell with std::sync::LazyLock by @SoonIter in #7403
- test: enable more webpack-tests by @JSerFeng in #7411
- release: 1.0.0-beta.2 by @chenjiahan in #7418
- test: enable inner graph and concat modules for runtime condition diff test by @ahabhgk in #7416
- ci: fix git clean wrong by filename too long by @SyMind in #7425
- chore(deps): update dependency sass-loader to v16 by @renovate in #7370
- refactor(type): increase type-coverage by @SoonIter in #7437
- chore(infra/biome): enable noParameterAssign by @shulaoda in #7430
- refactor(typescript): increase typescript type coverage to 100% for rspack-plugin-react-refresh by @shulaoda in #7448
- chore: remove log in mf test by @ahabhgk in #7451
- chore: documentation chores, typo, format, links, etc by @AkatQuas in #7457
- refactor!: redesign minimizer plugin options by @ahabhgk in #7444
- release: 1.0.0-beta.3 by @chenjiahan in #7471
- chore(deps): update cargo-bins/cargo-binstall action to v1.9.0 by @renovate in #7475
- chore(infra/biome): enable noAccumulatingSpread by @shulaoda in #7492
- chore: add description for all crates by @hardfist in #7494
- chore: remove useless swc_core features by @JSerFeng in #7496
- chore(workflow): enable dependency dashboard of renovate by @chenjiahan in #7498
- chore: move non-core packages to rspack-contrib by @LingyuCoder in #7499
- chore: fix missing metadata in publish by @hardfist in #7501
- refactor: remove get presentational dependencies for block by @ahabhgk in #7502
- chore: increase publish limitation by @hardfist in #7515
- release: 1.0.0-beta.4 by @chenjiahan in #7521
- refactor(typescript): packages/rspack/src/node/NodeWatchFileSystem by @wxiaoyun in #7528
- chore(infra): improve the configuration of
justfile
by @shulaoda in #7526 - chore: polish some words on introduction by @hardfist in #7557
- chore(deps): update cargo-bins/cargo-binstall action to v1.10.2 by @renovate in #7564
- test(plugin): test html plugin with basic cases of html-webpack-plugin by @LingyuCoder in #7571
- chore(deps): bump plugin-react-refresh and lite-tapable to v1.0.0 by @chenjiahan in #7580
- refactor: improve esm harmony dependencies structure by @shulaoda in #7576
- refactor: module hash by @ahabhgk in #7569
- release: 1.0.0-beta.5 by @chenjiahan in #7586
- chore: fix version in case sensitive plugin by @ahabhgk in #7607
- refactor: drop support for non-UTF8 paths by @h-a-n-a in #7570
- chore(rspack_plugin_javascript): bump fast-glob 0.4.0 by @shulaoda in #7621
- chore(infra/biome): enable noGlobalEval by @shulaoda in #7623
- test: add more test cases for asi with sequence expressions by @h-a-n-a in #7626
- chore: remove
Compilation.updateAsset
comment by @h-a-n-a in #7628 - refactor(core): remove unnecessary enum for resolver by @hardfist in #7631
- refactor: remove extra CommonJs dependency locations by @shulaoda in #7622
- chore(deps): update dependency sass-loader to v16.0.1 by @renovate in #7633
- refactor: dependency location by @shulaoda in #7635
- refactor: add more clippy rule by @hardfist in #7594
- chore(workflow): allow renovate to bump npm dependencies by @chenjiahan in #7638
- refactor: resolve conflicts for dependency location by @shulaoda in #7641
- ci: bump simd-json by @fi3ework in #7663
- release: 1.0.0-rc.0 by @chenjiahan in #7662
- refactor: use trait for dependencyConditionFn for better cacheable by @JSerFeng in #7679
- release: 1.0.0-rc.1 by @chenjiahan in #7678
- revert: feat(diagnostic): improve diagnostics for swc wasm plugins by @h-a-n-a in #7690
- release: 1.0.0-rc.2 by @chenjiahan in #7708
New Contributors
- @ebektasiadis made their first contribution in #6886
- @sudoaugustin made their first contribution in #6889
- @escaton made their first contribution in #6928
- @liangchaofei made their first contribution in #7092
- @simonxabris made their first contribution in #7111
- @jithyan made their first contribution in #7246
- @lalala-h made their first contribution in #7283
- @Mumujianguang made their first contribution in #7320
- @JoseVSeb made their first contribution in #7345
- @easy1090 made their first contribution in #7322
- @tatchi made their first contribution in #7273
- @AkatQuas made their first contribution in #7414
- @wChenonly made their first contribution in #7510
- @gwy15 made their first contribution in #7655
- @witsaint made their first contribution in #7653
Full Changelog: v0.7.5...v1.0.0