v0.7.0
What's Changed
see Announcing Rspack v0.7 for more details
Notable Changes 🍭
- feat: lazy compilation by @JSerFeng in #5915
- refactor: analyze css dependencies with css-module-lexer by @ahabhgk in #6594
Breaking Changes 🛠
- breaking change: update swc by @JSerFeng in #6441
- breaking change: deprecate
Compiler
andMultiCompiler
API by @h-a-n-a in #6448 - breaking change: deprecate
Compilation
API by @h-a-n-a in #6505 - breaking change: remove old treeshaking by @JSerFeng in #6549
- breaking change: remove exportsConvention for css generator by @ahabhgk in #6555
- breaking change: remove new split chunks options by @ahabhgk in #6536
- breaking change: remove browserField by @ahabhgk in #6535
- breaking change: remove snapshot config by @jerrykingxyz in #6593
Performance Improvements ⚡
- perf: improve determine_export_assignments by @quininer in #6431
- perf(core): prebundle enhanced-resolve to reduce dependencies by @chenjiahan in #6585
- perf: change JS code target to ES2021 by @chenjiahan in #6628
Exciting New Features 🎉
- feat: compat chunkGroup.chunks by @ahabhgk in #6490
- feat: support performance config by @inottn in #6456
- feat: support resolve.enforceExtension / descriptionFiles / importsFields options by @9aoy in #6491
- feat: support contextModuleFactory beforeResolve hook by @SyMind in #6420
- feat: export types of CSS extract plugin by @chenjiahan in #6528
- feat: improve diagnostics if expressions passed into
DefinePlugin
are failed to parse by @shulaoda in #6382 - feat: support cjs css with css esModule generator options by @ahabhgk in #6376
- feat(create-rspack): add template-vue-ts by @cnryb in #5834
- feat: inline entry modules by @ahabhgk in #6554
- feat: support
stage
option ofBannerPlugin
by @colinaaa in #6623
Bug Fixes 🐞
- fix(rspack_plugin_mf): add chunk js matcher runtime to federation runtime by @ScriptedAlchemy in #6434
- fix: systemjs runtime extra semicolon by @LingyuCoder in #6492
- fix: make *_dependencies memory leak by @jerrykingxyz in #6498
- fix(minimizer): resolve error in minimizing esm asset file by @xc2 in #6521
- fix: make entry add include dependencies by @jerrykingxyz in #6527
- fix: make code-splitting deterministic by @JSerFeng in #6508
- fix: when comparing, cache group index should consider before modules by @JSerFeng in #6547
- fix: change the data URI type in ModuleFederationPlugin by @chenjiahan in #6567
- fix: module_executor keep make_failed_module by @jerrykingxyz in #6565
- fix: finish_module_task skip self reference connection by @jerrykingxyz in #6570
- fix: css-extract-plugin should keep file dependencies by @JSerFeng in #6576
- fix: support
"..."
in importFields by @ahabhgk in #6363 - fix: optional context dependency by @LingyuCoder in #6587
- fix: panic when update entry dependency by @jerrykingxyz in #6591
- fix: context module after resolve by @ahabhgk in #6595
- fix: fix module type export name by @JSerFeng in #6600
- fix: hmr should consider all imported members by @JSerFeng in #6612
- fix: provide plugin should support IIFE by @h-a-n-a in #6580
- fix: browserslist resolve is broken by prebundle by @chenjiahan in #6629
Document Updates 📖
- docs: check documentation coverage by @SyMind in #6468
- docs: update community plugin compatibility list by @9aoy in #6476
- docs(zh): update guide plugins by @chenjiahan in #6475
- docs: complete watchOptions configurations by @9aoy in #6479
- docs: remove inconsistent title by @SoonIter in #6484
- docs: improve compat table style by @chenjiahan in #6485
- docs: remove loader compatible page by @9aoy in #6493
- docs:
resolve plugin
not supported by @9aoy in #6495 - docs: add some links for awesome-rspack by @chenjiahan in #6497
- docs: internal plugins doc by @SyMind in #6483
- docs: add vanilla-extract supported by @9aoy in #6499
- docs: fix wrong heading by @inottn in #6507
- docs: add missing
module
option of swc minimizer plugin by @emosheeep in #6506 - docs: add webpack-aligned plugin link by @9aoy in #6511
- docs: make the cases correct by @chenjiahan in #6510
- docs: duplicated ignoreOrder option in CssExtractPlugin by @chenjiahan in #6516
- docs: move rspack dev guide to documentation site by @SoonIter in #6515
- docs: reorganize the structure of dev guide by @chenjiahan in #6518
- docs: update outdated links and contents in dev guide by @chenjiahan in #6520
- docs: rename Node.js API to JavaScript API by @chenjiahan in #6529
- docs: update documentation contribution by @hardfist in #5993
- docs: dev server docs by @SyMind in #6530
- docs: improve plugins docs by @SyMind in #6545
- docs: remove canary comment release in contribute guide by @LingyuCoder in #6566
- docs: new testing guide by @LingyuCoder in #6519
- docs: translate the dev guide by @SoonIter in #6584
- docs: fix the video component in md by @SoonIter in #6604
- docs: change Storybook migration to storybook-rsbuild by @fi3ework in #6599
- docs: example for lazy compilation with custom global entry by @JSerFeng in #6609
- docs: list more plugins compatible status by @9aoy in #6615
- docs: recommend using sass-embedded for performance by @chenjiahan in #6617
- docs(react): add guide for React Compiler by @chenjiahan in #6619
Other Changes
- ci: remove openssl-legacy-provider flag by @SyMind in #6469
- refactor: make hooks remove make_param by @jerrykingxyz in #6489
- ci: release canary by dispatch by @LingyuCoder in #6502
- ci: contribution hook by @LingyuCoder in #6503
- chore: remove Boshen from the team by @Boshen in #6509
- chore(infra): update .nvmrc by @SoonIter in #6517
- chore(deps): update crates by @renovate in #6467
- test: add type of defaults cases by @LingyuCoder in #6524
- refactor: make
make_artifact
as raw data by @jerrykingxyz in #6526 - test: add type of hook cases by @LingyuCoder in #6531
- chore: add eslint for import order sorting by @h-a-n-a in #6539
- test: use @rspack/core as config type by @LingyuCoder in #6538
- ci: renovate lark trigger by @LingyuCoder in #6542
- refactor: align js render bootstrap by @ahabhgk in #6534
- chore(deps): update crates by @renovate in #6541
- chore(deps): update swc by @renovate in #6540
- chore: revert cargo lock to fix ci by @ahabhgk in #6544
- test: remove old treeshaking by @LingyuCoder in #6537
- chore: remove define plugin in rspack-cli by @LingyuCoder in #6219
- refactor: remove build & resolve_module cache by @jerrykingxyz in #6548
- chore(deps): update dependency sass-loader to v14 by @renovate in #6430
- test: config file type by @LingyuCoder in #6552
- ci: support release beta version by @9aoy in #6558
- test: move normal case with rspack.config.js by @LingyuCoder in #6561
- test: snapshot directory should be snapshots by @LingyuCoder in #6564
- test: fix dependencies of test tools by @LingyuCoder in #6575
- test: fix dependencies of test tools by @LingyuCoder in #6577
- test: pass expect in test env by @LingyuCoder in #6579
- test: compiler type extends by @LingyuCoder in #6582
- refactor: create codegen dependencies by @ahabhgk in #6588
- test: fix hot snapshot recovery checker by @LingyuCoder in #6589
- test: check hot step match by @LingyuCoder in #6592
- revert: revert swc comment preserver (#6389) by @h-a-n-a in #6598
- test: allow optional test options by @LingyuCoder in #6603
- test: handle test error more friendly by @LingyuCoder in #6605
- chore(workflow): enable MDX type hints by @chenjiahan in #6610
- test: vitest compatiblity by @LingyuCoder in #6611
- test: remove hot changed-file.js by @LingyuCoder in #6618
- refactor: rename cache to old_cache by @jerrykingxyz in #6620
- test: add custom compiler factories in context by @LingyuCoder in #6621
- chore: enable more tests by @JSerFeng in #6627
- test: export runner by @LingyuCoder in #6630
New Contributors
- @inottn made their first contribution in #6456
- @emosheeep made their first contribution in #6506
- @shulaoda made their first contribution in #6382
- @cnryb made their first contribution in #5834
- @colinaaa made their first contribution in #6623
Full Changelog: v0.6.5...v0.7.0