Releases: web-infra-dev/rspack
Releases Β· web-infra-dev/rspack
v0.3.1
Highlight
Support option resolveLoader
With this option, you can specify the resolving strategy for each loader.
For example, if you are developing a loader and want to showcase its usage from a user's perspective in an example, you can write:
module.exports = {
resolveLoader: {
alias: {
'amazing-loader': require.resolve('path-to-your-amazing-loader'),
},
},
};
Then, in the example code, you can write:
require('!!amazing-loader!./amazing-file.js');
What's Changed
Performance Improvements β‘
- perf: reduce BuildMeta size by @underfin in #4027
- perf: reduce ModuleGraphModule memory size by @underfin in #4034
- perf: merge HarmonyImportSideEffectDependency into HarmonyImportDependency by @underfin in #4037
- perf: reduce task structs memory size by @underfin in #4035
Exciting New Features π
- feat(webpack-tree-shaking): side effects plugin by @IWANABETHATGUY in #4007
- feat: merge same init fragments by @underfin in #4004
- feat: cjs analyze by @underfin in #3962
- feat: add HarmonyImportSideEffectDependency by @underfin in #4010
- feat: support option
resolveLoader
by @h-a-n-a in #4008 - feat: export
Watching
type by @hardfist in #4014 - feat: support
ident
for builtin loader by @h-a-n-a in #4038
Bug Fixes π
- fix: disable DevtoolPlugin when options.devtool=false by @LingyuCoder in #4005
- fix(runtime): should calculate
initial_chunks
correctly by @hyf0 in #4022 - fix: tree shaking transitive bailout by @IWANABETHATGUY in #4017
- fix: add workaround for accessing previous stats by @h-a-n-a in #4028
Other Changes
- chore: add benchmark test for merge queue by @jerrykingxyz in #3995
- chore: update benchmark website by @hardfist in #4025
- ci: reduce binary size by @h-a-n-a in #4018
- refactor: changed ModuleGraph dependencies to BoxDependency by @underfin in #4026
- chore: fix html test by @hardfist in #4023
- refactor(rspack_loader_runner): remove nodejs_resolver dependency by @Boshen in #3982
- revert: "fix: getHash occasionally panic when rebuild (#3970)" by @h-a-n-a in #4029
- chore: fix nestjs example by @hardfist in #4011
- refactor: add InitFragment trait by @underfin in #4046
- refactor(rspack_core): implement resolver proxy by @Boshen in #4048
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Rspack 0.3.0 is out!
Read the announcement blog post: Announcing Rspack 0.3.
Overview
- Removing built-in CSS transformation logic
- Web Workers Support
- Builtin swc-loader support
- Improved Profile Support
- Modern.js Vue.js Support
- Align Codegen architecture with Webpack
- More Hook and Plugin Support
What's Changed
Performance Improvements β‘
Exciting New Features π
- feat: add profile switch in cli by @ahabhgk in #3937
- feat(chunkIds): support
optimization.chunkIds: 'deterministic'
by @nebarf in #3053 - feat: add logging when RSPACK_PROFILE enabled by @ahabhgk in #3965
- feat(core): expose
RuntimeGlobals
by @lippzhang in #3973 - feat: support dispatching builtin loaders on Node by @h-a-n-a in #3980
- feat: add timestamp on profile dist by @ahabhgk in #3985
- feat: support builtin loader with inline loader syntax by @h-a-n-a in #3988
- feat: support resolving builtin loaders in Rust tests by @h-a-n-a in #3998
Bug Fixes π
Other Changes
- chore: move binding utils by @h-a-n-a in #3964
- chore: test multi pull request template by @hardfist in #3971
- chore: sync doc when add need documentation label by @hardfist in #3975
- chore: sync doc when add need documentation label by @hardfist in #3976
- chore: test label by @hardfist in #3977
- chore: test label by @hardfist in #3978
- chore: add release scope by @hardfist in #3979
- chore: support nodejs benchmark by @jerrykingxyz in #3983
- chore: remove benchmark test on merge_group by @jerrykingxyz in #3987
- chore: add postcss-loader-example by @hardfist in #3992
- chore: benchmark pr remove useless inputs by @jerrykingxyz in #3994
- chore: add oxlint by @Boshen in #3999
- chore: add condition to module graph connection by @IWANABETHATGUY in #3989
- release: 0.3.0 by @hyf0 in #3861
- chore: fix workspace dep by @hardfist in #4021
New Contributors
Full Changelog: v0.2.12...v0.3.0
v0.2.12
What's Changed
Performance Improvements β‘
Exciting New Features π
- feat: support minifyOptions.asciiOnly by @9aoy in #3915
- feat: add more logger.time in plugins by @ahabhgk in #3916
- feat: support configuration.profile by @ahabhgk in #3924
- feat(chunkIds): align
chunkIds: 'named'
with Webpack by @hyf0 in #3923 - feat: support minifyOptions.comments by @9aoy in #3927
- feat: support more predefined processAssets stage on js side by @ahabhgk in #3942
Bug Fixes π
- fix: css compilation should fail if
experiments.css
sets to off by @h-a-n-a in #3430 - fix: tree shaking visit dynamic prop by @IWANABETHATGUY in #3929
- fix: import export all as is empty module by @IWANABETHATGUY in #3904
- fix: umd externals assets error by @KyrieLii in #3933
- fix(core): remove webpack-dev-server from @rspack/core by @hardfist in #3938
- fix(core): fix missing source_info in esm module error by @hardfist in #3899
- fix: nested import follow a export all symbol by @IWANABETHATGUY in #3947
- fix: fix trace subscriber for dev by @h-a-n-a in #3948
- fix: nested import with export imported dependency by @IWANABETHATGUY in #3951
Other Changes
- chore: nest example support hmr by @hardfist in #3930
- chore: add close-issues bot by @hardfist in #3935
Full Changelog: v0.2.11...v0.2.12
v0.2.11
What's Changed
Exciting New Features π
- feat: create fake namespace object for import context module by @underfin in #3871
- feat: ExportInfoApiDependency by @IWANABETHATGUY in #3882
- feat: add more context for error frame by @IWANABETHATGUY in #3892
- feat: stats logging by @ahabhgk in #3893
- feat: stats logging, part 2 by @ahabhgk in #3905
- feat: more generic nested import by @IWANABETHATGUY in #3895
Bug Fixes π
- fix: render library runtime for include entry chunks by @underfin in #3876
- fix: modify Configuration type to support MultiRspackOptions by @suica in #3831
- fix(core): add resove failing reason for import in esm file by @hardfist in #3884
- fix: HarmonyImportSpecifierDependency interop should scan
xxx.xxx
by @underfin in #3910 - fix: fix a panic issue of
get_hash
if assertion is failed by @h-a-n-a in #3907 - fix: should generate diffrent name for chunk asset at hmr by @underfin in #3912
Other Changes
- refactor: css-import span should be calculated with at-rule by @h-a-n-a in #3852
- refactor: parse result remove ast by @underfin in #3880
- chore: fix example code by @daydayhappychao in #3887
- refactor: dependency codegen use exports_info api by @underfin in #3894
- revert: "fix: modify Configuration type to support MultiRspackOptions" by @ahabhgk in #3902
- chore: add deprecate message in rspack-dev-middleware readme by @ahabhgk in #3911
- test: migrate inner-graph test by @IWANABETHATGUY in #3906
New Contributors
- @daydayhappychao made their first contribution in #3887
- @suica made their first contribution in #3831
Full Changelog: v0.2.10...v0.2.11
v0.2.10
What's Changed
Performance Improvements β‘
Exciting New Features π
- feat: add some exports info api by @underfin in #3844
- feat: implement dependency resource_identifier by @underfin in #3855
Bug Fixes π
- fix: export imported a import declaration with all as. by @IWANABETHATGUY in #3847
- fix: banner shouldn't be injected to asset by @hardfist in #3809
- fix: generate correct name for library umd define by @underfin in #3856
- fix: should replace _webpack_require to _nested_webpack_require at β¦ by @underfin in #3857
Other Changes
- chore: use dep_id instead of module id by @IWANABETHATGUY in #3839
- refactor: remove ctxt of variable in import map by @IWANABETHATGUY in #3869
- chore: bump swc version by @Thiry1 in #3868
New Contributors
Full Changelog: v0.2.9...v0.2.10
v0.2.9
What's Changed
Exciting New Features π
- feat(splitChunks): support
splitChunks.{cacheGroup}.idHint
by @hyf0 in #3783 - feat(core): add test/include/exclude options to builtins.minifyOptions by @LingyuCoder in #3775
- feat: support stats option "source" by @suxin2017 in #3682
- feat(packages/rspack): add version check for binding by @lippzhang in #3717
- feat: nested import tree shaking by @IWANABETHATGUY in #3800
- feat: implement statsFactory and simplified DefaultStatsFactoryPlugin by @9aoy in #3805
Bug Fixes π
- fix(core): Typo in html builtins types by @tobua in #3786
- fix: check symbol used by @underfin in #3790
- fix: compilation hash should hash hot index to avoid hmr loop by @underfin in #3794
- fix: tree shaking with a cyclic reference by @IWANABETHATGUY in #3789
- fix: shorthand filed symbol unsed by @underfin in #3797
- fix: react class component hmr by @underfin in #3801
- fix: fix css semicolon replacement by @h-a-n-a in #3804
- fix: react refresh false shouldn't inject react refresh runtime by @underfin in #3817
- fix: original source should respect to the module type by @h-a-n-a in #3822
- fix: css asset tree shaking by @underfin in #3818
- fix: error in plugin apply is not be reported when using cli by @ahabhgk in #3780
Other Changes
- ci: release canary without debug mode because binary size is too big to upload (>1G) by @Boshen in #3788
- chore: fix canary release by @h-a-n-a in #3792
- chore: support passing ref to reusable build by @h-a-n-a in #3793
- chore: bump swc version by @h-a-n-a in #3791
- chore: enable some runtime & context module webpack test by @underfin in #3796
- ci: split
cargo check
andcargo test
into two jobs by @Boshen in #3807 - chore: remove rspack_build by @Boshen in #3806
- refactor: assign dep id for each symbol. by @IWANABETHATGUY in #3808
- chore: use v0.x.y instead of 0.x.y for release tag by @hardfist in #3819
- test: basic webpack side effects and treeshaking tests by @IWANABETHATGUY in #3833
- chore(types): should not return null when only called rspack with one parameter by @9aoy in #3835
New Contributors
Full Changelog: 0.2.8...v0.2.9
0.2.8
What's Changed
Exciting New Features π
- feat: support ensure_chunk_conditions_plugin by @suxin2017 in #3502
Bug Fixes π
- fix: avoid rspack_plugin_ensure_chunk_conditions loop by @underfin in #3779
- fix: export named as code generation with tree shaking. by @IWANABETHATGUY in #3781
- fix: hmr should work for inject css link to body by @underfin in #3782
Other Changes
- chore: disable missing export warning by @IWANABETHATGUY in #3769
- chore: better unused debug info by @IWANABETHATGUY in #3772
- chore: fix remove sourcemap not working in release package by @hardfist in #3778
Full Changelog: 0.2.7...0.2.8
0.2.7
What's Changed
Performance Improvements β‘
- perf: convert to RawSource in devtool to reduce one time source map calculation when convert to JsCompatSource by @ahabhgk in #3748
Exciting New Features π
Bug Fixes π
- fix(rspack_core): context delete file by @LingyuCoder in #3749
- fix: should escape css url content by @ahabhgk in #3757
- fix: react refresh module id by @ahabhgk in #3763
Other Changes
- refactor: rename
CodeGeneratableDependency
toDependencyTemplate
for more consistency by @hyf0 in #3751 - chore: serialize the graph for better debugging. by @IWANABETHATGUY in #3752
- chore: bump Rust dependencies by @Boshen in #3728
- chore: add @ScriptedAlchemy to Rspack core by @Boshen in #3758
Full Changelog: 0.2.6...0.2.7
0.2.6
What's Changed
Exciting New Features π
- feat: Disable source maps for rspack core by @RussellCanfield in #3631
- feat: support __unused_webpack_module by @underfin in #3705
- feat: update all swc crates by @hyf0 in #3721
- feat: support function
Rule.use
by @faga295 in #3621 - feat: implement statsPrinter hook and DefaultStatsPrinterPlugin by @9aoy in #3722
- feat(rspack_plugin_css): add css/auto same as webpack by @LingyuCoder in #3727
Bug Fixes π
- fix: rumtime_stmts => runtime_stmts by @jerrykingxyz in #3693
- fix: resolve worker without extension by @ahabhgk in #3702
- fix(splitChunks): should validate
min_size
ofModuleGroup
in the each end of round by @hyf0 in #3706 - fix: worker chunk looses runtime modules in incremental rebuild by @ahabhgk in #3703
- fix(minifier): fix minifier options difference between minifications by @h-a-n-a in #3697
- fix:
chunkhash
should be available in chunk context by @h-a-n-a in #3710 - fix: replace module refrence or webpack_module to module argument by @underfin in #3708
- fix: worker HMR by @ahabhgk in #3711
- fix(rspack_plugin_html): favicon behavior when using absolute file path by @LingyuCoder in #3700
- fix: non amd external break amd library by @ahabhgk in #3725
- fix: react refresh in async entrypoint by @ahabhgk in #3731
- fix: infer async module for EsmExport dependency by @ahabhgk in #3739
- fix: _nested_webpack_require by @underfin in #3742
Other Changes
- chore: increase test timeout by @h-a-n-a in #3694
- ci: compile dependencies with optimization for faster tests by @Boshen in #3699
- test: banner hash plugin by @IWANABETHATGUY in #3652
- chore(examples): remove some duplicated files in vue folders by @chenjiahan in #3698
- chore: better format of webpack_exports.d by @IWANABETHATGUY in #3709
- chore: fix jest hastle warning by @hardfist in #3696
- ci: remove setup-zip because it is no longer needed by @Boshen in #3712
- refactor(util): 1.better string concat performance 2.reduce code complexity 3.add comments by @hyf0 in #3714
- chore: π€ revert file name generate logic by @IWANABETHATGUY in #3716
- refactor: set dependency id at dependency init by @underfin in #3683
- refactor: use bit flags insert for RuntimeGlobals by @underfin in #3719
- chore: π€ enable tree shaking in bench by @IWANABETHATGUY in #3733
- refactor(css): reduce code complexity by @hyf0 in #3734
- chore: temporary comment worker e2e by @ahabhgk in #3743
- chore: release canary with x86_64-unknown-linux-gnu for Cloud IDE by @Boshen in #3730
- test: enable more webpack loader test cases by @h-a-n-a in #3741
- chore: remove version in stats test snapshot by @ahabhgk in #3746
New Contributors
- @RussellCanfield made their first contribution in #3631
- @LingyuCoder made their first contribution in #3700
Full Changelog: 0.2.5...0.2.6
0.2.5
What's Changed
Exciting New Features π
- feat(config): zod schema for output by @xinxinhe1810 in #3595
- feat: filename per entry by @ahabhgk in #3662
- feat: worker support by @ahabhgk in #3617
- feat: support module decorator to give warning for mix harmony-commonjs by @underfin in #3667
Bug Fixes π
- fix(commonjs_scanner): ignore unresolve require span by @suxin2017 in #3591
- fix: π€ pr number by @IWANABETHATGUY in #3637
- fix(examples/vue): refine module resource matching rule. by @sumy7 in #3643
- fix: enable string replace dependency by @underfin in #3567
- fix: minimize don't support output target equal "module" by @suxin2017 in #3659
- fix: runtime chunk hash should has full hash by @underfin in #3670
- fix: hoist async or generate anonymous function decl at export decl by @underfin in #3672
- fix: panic when using worker with treeShaking enabled by @ahabhgk in #3668
- fix: reexport all as tree shaking by @IWANABETHATGUY in #3663
- fix: use webpack_exports and webpack_module at esm module render by @underfin in #3687
- fix: output.clean can not remove *.hot-update.js by @jerrykingxyz in #3689
- fix: npm package contains default_index.ejs file by @onlyling in #3657
Other Changes
- ci: write a comment to issue when canary release is finished. by @IWANABETHATGUY in #3630
- chore: use rspack configuration type in tests by @h-a-n-a in #3635
- test: e2e use playwright by @jerrykingxyz in #3634
- chore: loader options plugin by @IWANABETHATGUY in #3605
- chore: update CODEOWNERS.md by @Boshen in #3654
- chore: add build html scheme by @suxin2017 in #3660
- ci: refactor release-canary by @Boshen in #3669
- chore: fix macro name by @Asarua in #3676
- chore: add monaco-editor examples by @ahabhgk in #3681
- test: add more E2E test case by @jerrykingxyz in #3664
- chore: uncomment worker example by @ahabhgk in #3691
New Contributors
- @xinxinhe1810 made their first contribution in #3595
- @sumy7 made their first contribution in #3643
- @Asarua made their first contribution in #3676
- @onlyling made their first contribution in #3657
Full Changelog: 0.2.4...0.2.5