Releases: web-infra-dev/rspack
v0.1.10
Core features
builtins.minifyOptions.extractComments
You could extract the license using the configuration below:
module.exports = {
// ... snip
builtins: {
minifyOptions: {
extractComments: true // by default, rspack will use regex `@preserve|@lic|@cc_on|^\**!`
}
}
}
or Using Regexp:
module.exports = {
// ... snip
builtins: {
minifyOptions: {
extractComments: /@license/
}
}
}
inline match resource
For more details you could refer https://webpack.js.org/api/loaders/#inline-matchresource
optimization.realContentHash
By default, when you use the contenthash
option in your output filename, Rspack will generate a hash based on the module's dependencies
and other factors that can change even if the module's content has not changed. This means that the bundle will be invalidated and rebuilt even if the module's content has not changed.
However, by enabling the optimization.realContentHash
option, Rspack
will generate a hash based only on the actual content of the module. This ensures that the bundle is invalidated and rebuilt only when the module's content has actually changed.
For more details you could refer to optimization.realContentHash
What's Changed
Exciting New Features π
- feat: support experiments.css by @hardfist in #2930
- feat(cli): add --entry flags by @faga295 in #2902
- feat: add compatible compilation.modules by @IWANABETHATGUY in #2932
- feat: add comments in module code generation by @faga295 in #2893
- feat: asset resource side effects by @IWANABETHATGUY in #2849
- feat(new_split_chunks): support
splitChunks.minSize
by @hyf0 in #2954 - feat: support minifyoptions extract comments by @faga295 in #2882
- feat(create-rspack): add template react-ts by @wood3n in #2963
- feat(terser): expose terser options by @dgmachado in #2983
- feat(x.mjs): add
x clean
command by @Boshen in #2980 - feat(new_split_chunks): support
reuseExistingChunk
by @hyf0 in #3000 - feat(rspack): add ignoreWarnings option by @nagy-nabil in #2987
- feat(new_split_chunks): support
splitChunks.{cacheGroup}.minSize
by @hyf0 in #3015 - feat: support inline match resource by @h-a-n-a in #3017
- feat(new_split_chunks): support
splitChunks.name
by @hyf0 in #2955 - feat: simple normal module hook by @IWANABETHATGUY in #2446
- feat: allow to pass
false
tosplitChunks.name
andsplitChunks.{cacheGroup}.name
by @hyf0 in #3029 - feat(module factory): add before_resolve hook by @suxin2017 in #2940
- feat(rust): add output.sourceMapFilename core by @lippzhang in #3005
- feat: optimization.realContentHash by @ahabhgk in #2984
- feat(angular): adding initial support by @zackarychapple in #3009
- feat: optional-dependency by @suxin2017 in #3050
Bug Fixes π
- fix: benchmark CI failed. by @IWANABETHATGUY in #2928
- fix: add missing
newSplitChunks
in schema.js by @hyf0 in #2934 - fix: require.resolve(Weak) should eval to true in if stmt test expr by @ahabhgk in #2935
- fix: should not reset
is_founded
inReactRefreshUsage
by @underfin in #2939 - fix: cannot reading
noEmitAssets
by @faga295 in #2942 - fix: hash chunkLoadingGlobal by @underfin in #2946
- fix: π use unknown module type in SWC by @JSerFeng in #2406
- fix(resolve): relative path resolve bug by @jerrykingxyz in #2952
- fix: π unexpected export warning by @IWANABETHATGUY in #2959
- fix: Fix type checking in config examples by @danielkoller in #2965
- fix(react-hmr): inject the runtime global function by @hyf0 in #2977
- fix: add entry startup to fix async script chunk loading by @underfin in #2966
- fix: entry startup for target node by @underfin in #3006
- fix: circular dependencies rebuild panic by @jerrykingxyz in #3001
- fix(core): fix require(
./xxx/xx.js
) failed by @hardfist in #3014 - fix(core): compatible with stats.version by @hardfist in #3016
- fix(new_split_chunks): should not care about
reuseExistingChunk
if name is specified forCacheGroup
by @hyf0 in #3045 - fix: π cross compile by @IWANABETHATGUY in #3059
- fix: css url generate with auto public path by @ahabhgk in #3061
- fix: already split module should connect chunk group at multiply entry by @underfin in #3057
- fix(resolve): bump nodejs-resolver to fix baseUrl bug in tsconfig by @bvanjoi in #3072
Other Changes
- chore: add hmr for loader example by @h-a-n-a in #2925
- chore(rust): bump rustc to v1.69.0 (nightly-2023-04-20) by @Boshen in #2903
- chore: add eslint support by @hardfist in #2904
- refactor(new_split_chunks): remove unused code and add more comments by @hyf0 in #2947
- chore: setup ./x script using zx by @Boshen in #2933
- refactor: clean up dependencies around swc for improving compile time by @Boshen in #2962
- refactor(plugin): asyncify
optimize_chunks
hook by @hyf0 in #2958 - chore(rust): bump dependencies by @Boshen in #2968
- ci: π‘ trigger test when examples change by @IWANABETHATGUY in #2971
- refactor: extract comments by @IWANABETHATGUY in #2970
- refactor(split_chunks_new): asyncify
prepare_module_group_map
by @hyf0 in #2975 - chore: π€ disable css erorr by @IWANABETHATGUY in #2964
- docs: pnpm install command fix based on engine by @thedeveloperpotato in #2992
- refactor(core): use directory for chunk_graph module by @hyf0 in #2998
- chore: add node shims example by @hardfist in #2997
- test(split_chunks): add test of extract-css-to-single-chunk by @hyf0 in #2996
- chore: remove clap by @IWANABETHATGUY in #2967
- chore: add add loader_name to loader_sync_call in trace by @hardfist in #2999
- chore: fine grained tracing by @IWANABETHATGUY in #3002
- chore: make release profile the same for Cargo.toml and node_binding/Cargo.toml by @Boshen in #3004
- ci: remove manual symbol stripping from build steps by @Boshen in #3007
- chore: π€ bump napi cli by @IWANABETHATGUY in #3008
- chore: π€ recover check on save by @IWANABETHATGUY in #3013
- chore(rust): bump sass-embedded and remove protobuf requirement by @Boshen in #3021
- chore: link to rspack-dev-guide and make content more general in CONTRIBUTING.md by @Boshen in #3020
- refactor: external module for http request by @ahabhgk in #3023
- refactor: remove dependency parent module identifier by @underfin in #3024
- refactor(chunk_graph): split methods of
ChunkGraph
into different files by @hyf0 in #3031 - chore: π€ add alias cargo test no fail fast by @IWANABETHATGUY in #3032
- test(split_chunks): Migrate
test/configCases/split-chunks-common
of Webpack by @hyf0 in #3018 - refactor(rust...
v0.1.9
Core features
Loader compatibility
style-loader
+ css-loader
is now supported experimentally.
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: [
{
loader: "style-loader",
options: {
esModule: false, // only `esModule: false` is supported right now.
},
},
"css-loader",
],
type: "javascript/auto",
},
],
},
};
thread-loader
(requires pitching loader) and eslint-loader
(can be used with enforce: 'pre'
) are also supported.
For more loader-compat examples, please visit example-loader-compat.
Inline loader
// Prefixing with ! will disable all configured normal loaders
require("!postcss-loader!less-loader!./style.less")
// Prefixing with !! will disable all configured loaders (preLoaders, loaders, postLoaders)
require("!!postcss-loader!less-loader!./style.less")
// Prefixing with -! will disable all configured preLoaders and loaders but not postLoaders
require("-!postcss-loader!less-loader!./style.less")
Pitching loader
module.exports = function() {}
module.exports.pitch = function (remainingRequest, previousRequest, data) {
if (someCondition) {
return `require("!!${remainingRequest}")`
}
};
What's Changed
Performance Improvements β‘
- perf(rspack_core): reduce memory allocation when cloning RuntimeSpec by @Boshen in #2844
- perf: avoid
clone
while matchingimport.meta.webpackHot
by @hyf0 in #2857 - perf: bailout if possible and ignore AstNode of type in
ReactRefreshUsageFinder
by @hyf0 in #2875 - perf: compose loaders on the native side by @h-a-n-a in #2894
Exciting New Features π
- feat: add chunkFormat & chunkLoading & enabledChunkLoadingTypes config by @underfin in #2792
- feat: impl new
loader-runner
for preparing to supportvue-loader
andpitching loader
by @h-a-n-a in #2789 - feat: support complex magical comment
import(/* webpackChunkName: "/dist/d/js_d" */ "./d")
by @suxin2017 in #2812 - feat: support
experiments.outputModule
by @underfin in #2803 - chore: π€ optimize code completion of config.target by @IWANABETHATGUY in #2826
- feat: support
npx rspack preview
by @faga295 in #2434 - feat: implement built-in
BannerPlugin
by @9aoy in #2819 - feat(hook): add
optimizeModules
hook by @nieyuyao in #2758 - feat: add ImportScriptsChunkLoadingPlugin by @underfin in #2839
- feat: support loader-runner and pitching by @h-a-n-a in #2808
- feat: support
Rule.enforce
by @h-a-n-a in #2862 - feat: chunk asset hook by @IWANABETHATGUY in #2603
- feat: support passing function to
externals
by @underfin in #2866 - feat: add moduleAssets for stats by @ahabhgk in #2864
- feat: support inline loader by @h-a-n-a in #2867
- feat: πΈ compiler. getCache by @IWANABETHATGUY in #2892
- feat: require.resolve and require.resolveWeak for string literal by @ahabhgk in #2888
- feat: external module render with node-commonjs & module by @underfin in #2906
- feat(@rspack/core): add typings about
LoaderDefinition
by @Asuka109 in #2908 - feat: enable compression and cache with
noEmitAssets: true
by @hyf0 in #2907
Bug Fixes π
- fix: preset env use unresolved_mark by @underfin in #2807
- fix: π fix ci a is undefined by @IWANABETHATGUY in #2810
- fix: error snap should be ordered by @IWANABETHATGUY in #2811
- fix: support magic comment
import( /* webpackChunkName: "/user/[id]/page" */ './foo')
containing[id]
by @GiveMe-A-Name in #2835 - fix: use webworker instead of web-worker in AvailableTarget type by @9aoy in #2834
- chore: bump resolver and fix resolve.alias with resource query by @Boshen in #2817
- fix: sourcemap lost when enable builtins.banner by @ahabhgk in #2858
- fix: undefined reasons with stats.toJson by @ahabhgk in #2859
- fix(resolve): return query and fragment when alias target had by @bvanjoi in #2869
- fix: remove
.d.ts
from the defaultresolve.extensions
by @lippzhang in #2861 - fix: react refresh runtime inject for nest function call by @underfin in #2874
- fix: optimize tree shaking swc/helpers by @IWANABETHATGUY in #2871
- fix(resolve): delay the directory check in exportsFieldPlugin by @bvanjoi in #2883
- fix: fix loader arguments by @h-a-n-a in #2898
- fix: HMR scanner should only visit dependencies related to HMR by @h-a-n-a in #2911
Other Changes
- ci: set fail-fast: false for matrix builds by @Boshen in #2796
- chore: π€ revert examples basic by @IWANABETHATGUY in #2799
- ci: only cache Rust builds on the main branch by @Boshen in #2798
- refactor: SplitChunksPlugin by @hyf0 in #2782
- chore: fix lock by @h-a-n-a in #2805
- test: webpack compatibility metric by @IWANABETHATGUY in #2745
- ci: fix fail-fast by @Boshen in #2809
- chore: π€ check node binding lock file by @IWANABETHATGUY in #2814
- ci: share rust target directory in check-rs by @Boshen in #2818
- chore: remove ./x and Makefile and replace them with npm scripts by @hyf0 in #2825
- chore: bump sugar_path to 0.0.12 by @Boshen in #2830
- ci: πCI ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL by @IWANABETHATGUY in #2833
- chore: scripts should be ESM by default by @hyf0 in #2827
- ci: install pnpm in benchmark CI by @hyf0 in #2836
- test: webpack examples by @IWANABETHATGUY in #2793
- chore: π€ add common-check.yaml and fix ci by @IWANABETHATGUY in #2847
- chore: use
zx
to replace xtask by @hyf0 in #2840 - chore: π€ update benchmark link by @IWANABETHATGUY in #2848
- refactor:
crates/rspack_plugin_javascript/src/visitors/dependency/util.rs
by @hyf0 in #2865 - refactor(runtime): unwrap the function in ir by @bvanjoi in #2860
- refactor: align
starts_with
with the same semantics by @hyf0 in #2872 - refactor: Make
check_changeset.cjs
ESM and use ZX by @hyf0 in #2878 - chore: should exit if the exitCode is not zero at
check_changeset.js
by @hyf0 in #2880 - chore: fix peerDep of rspack-plugin-html by @hardfist in #2876
- chore: fix
make-threejs10x.js
script by @hyf0 in #2887 - chore: prettier example code by @hardfist in #2889
- chore: π€ bump napi retry by @IWANABETHATGUY in #2784
- chore: add more examples by @hardfist in #2896
New Contributors
- @GiveMe-A-Name made their first contribution in #2835
- @lippzhang made their first contribution in #2861
- @Asuka109 made their first contribution in #2908
Full Changelog: v0.1.8...v0.1.9
v0.1.8
What's Changed
Infrastructure βοΈ
- Rspack has nightly release now!
npm i -D @rspack/cli@nightly
- Rspack Ecosystem CI has been successfully set up and running
Performance Improvements β‘
- perf(core): improve cold startup performance by caching
depended_modules
function in code splitter by @Boshen in #2294
Exciting New Features π
- feat: port
ImportMetaPlugin
of Webpack by @underfin in #2684 - feat(cli): enable strictCommand & strictOption check by @hardfist in #2723
- feat: passthrough panics for parallel-running futures by @h-a-n-a in #2737
- feat(html):
builtins.html
should inject<script src="xxxx.js" />
in<head />
by @suxin2017 in #2770 - feat: πΈ export info support by @IWANABETHATGUY in #2776
Bug Fixes π
- fix(html): html inject public path incorrect by @jerrykingxyz in #2707
- fix: extend chunkGroup name from EsmDynamicImportDependency by @ahabhgk in #2712
- fix(progress): should not display empty progress bar by @chenjiahan in #2725
- fix: panic hook failed to restore after being suppressed by @h-a-n-a in #2734
- fix: template literal dynamic import by @faga295 in #2732
- fix(react-refresh): lazily access
module.exports
to prevent unexpected/potential TDZ error by @hyf0 in #2714 - fix(cli): fix default NODE_ENV of command by @hardfist in #2724
- fix: π fix crash in multiCompiler by @JSerFeng in #2744
- fix(css): should generate css assets even if the imported css file is empty by @suxin2017 in #2759
- fix(builtins.provide): should only replace exactly matched expression by @suxin2017 in #2721
- fix: redirect
name_for_condition
in BoxModule by @hyf0 in #2778
Other Changes
- chore: split test by @hardfist in #2703
- chore: remove the prefix of title in GitHub issue template by @hyf0 in #2698
- test: long test.js by @IWANABETHATGUY in #2708
- chore: fix GitHub issue template by @hyf0 in #2718
- chore: check bump in ci by @hardfist in #2716
- chore: add datetime to nightly version by @hardfist in #2720
- chore: add graph of contributors by @hyf0 in #2726
- test: finish all webpack test migration by @IWANABETHATGUY in #2709
- chore: use copilot in PR template by default by @hyf0 in #2729
- chore: Improve PR template by @hyf0 in #2730
- chore: add codeowner for crate error by @h-a-n-a in #2736
- ci(release): Refactor release script with reusable workflow by @Boshen in #2597
- chore: remove continue-on-error from reusable-build by @Boshen in #2743
- ci: remove invalid "description" field from release-canary by @Boshen in #2746
- chore: bump swc 0.74.6 by @underfin in #2657
- chore: introduce zx, corepack and setup script by @hyf0 in #2754
- chore: fix typo by @hyf0 in #2755
- chore: remove
zx
in setup script by @hyf0 in #2756 - style: fix clippy warning by @siyou in #2764
- chore: Add release.yml by @hyf0 in #2765
- ci: labeling PR with release: xxx automatically by @hyf0 in #2767
- chore: ignore the PRs created by github-actions in release notes by @hyf0 in #2766
- chore: improve structrue of PULL_REQUEST_TEMPLATE.md by @hyf0 in #2769
- chore: π€ bump napi by @IWANABETHATGUY in #2717
- chore: Revert "chore: π€ bump napi (#2717)" by @IWANABETHATGUY in #2783
- chore: update and lock pnpm to 7.32.0 by @zakuru in #2780
- chore: fine grained lint stage by @IWANABETHATGUY in #2794
New Contributors
Full Changelog: v0.1.7...v0.1.8
v0.1.7
There are some enhancements/fixes
More supported Webpack features
output.clean
by @suxin2017 in #2659.output.chunkLoadingGlobal
by @9aoy in #2679.import(/* webpackChunkName: "d" */ "./d")
by @hyf0 in #2686
DX improving
Frameworks
- Improve React-Refresh support by @underfin in #2587
- Add tailwind example by @hardfist in #2608
- Add Nest.js example by @hardfist in #2649
What's Changed
- feat(html): support templateContent in
builtins.html
by @jerrykingxyz in #2589 - fix(hmr): improve detecting of ReactRefreshBoundary and Return value of
React.createContext
is not considered as React component by @underfin in #2587 - ci: release pre check by @IWANABETHATGUY in #2606
- fix: draw progress bar to stdout instead of stderr, close #1434 by @jkzing in #2599
- fix: bump nodejs-resolver to fix path issue with chinese characaters by @bvanjoi in #2506
- chore: add tailwind example by @hardfist in #2608
- chore: Update all package.json#repository fields to include the monorepo-relative directory by @vjpr in #2617
- fix(css): remove trailing space at classname by @nieyuyao in #2626
- fix: initial watching should stale until invalidate happens by @JSerFeng in #2625
- chore: Upgrade typescript by @IWANABETHATGUY in #2615
- perf: remove block_in_place for function type RuleSetCondition by @ahabhgk in #2574
- chore: add library example by @hardfist in #2629
- ci: add refactor type on lint-pr by @ahabhgk in #2630
- chore(css): remove unnecessary format by @lsdsjy in #2633
- test: webpack test credit by @IWANABETHATGUY in #2627
- feat: add support for output.crossOriginLoading config by @chenjiahan in #2632
- fix: fix typing of raw cross origin loading by @h-a-n-a in #2635
- fix(hmr): should inject react refresh runtime code correctly by @hyf0 in #2641
- chore: add a issue template for creating tracking issue by @hyf0 in #2644
- feat: support node false by @underfin in #2637
- chore: fix the format of 3-tracking-issue.en-US by @hyf0 in #2647
- fix: π Module Export Entry does not respect ordering by @IWANABETHATGUY in #2634
- fix: detect export destructring in tree-shaking by @HerringtonDarkholme in #2565
- fix: fix compile time is NaN in watch by @HerringtonDarkholme in #2656
- chore: prepare for rspack-ecosystem-ci by @ahabhgk in #2648
- chore: fix ecosystem-ci trigger comment by @ahabhgk in #2658
- feat: split chunks more delicately for
devFriendlySplitChunks: true
by @hyf0 in #2651 - chore: add nestjs example by @hardfist in #2649
- fix: π release ci syntax by @IWANABETHATGUY in #2661
- chore(ci): comment out release-pre-check by @hyf0 in #2662
- refactor: π€ remove unnecessary ignore clippy by @IWANABETHATGUY in #2660
- feat: enable resolve.fullySpecified for defaultRules by @ahabhgk in #2665
- feat: support module.rule[].descriptionData by @ahabhgk in #2663
- fix: nested byDependency not merge by @ahabhgk in #2666
- fix: builtins.html does replace [hash] and [name] in builtins.html.filename by @suxin2017 in #2673
- feat: stats module reason type and userRequest by @faga295 in #2671
- fix: use codegen hash to calculate chunk hashes & fix runtime chunk hash by @underfin in #2677
- chore: add "pending triage" to new issue by default by @hyf0 in #2681
- ci: remove issue-labeler by @hyf0 in #2682
- chore: several style change for more concise code by @HerringtonDarkholme in #2655
- feat: Support output.clean by @suxin2017 in #2659
- feat: support output.chunkLoadingGlobal by @9aoy in #2679
- feat(cli): support mjs&cjs as default config file by @hardfist in #2685
- feat: support magical comment "webpackChunkName" by @hyf0 in #2686
- test: π webpack stats test by @IWANABETHATGUY in #2636
- ci: π‘ fix spell check failed by @IWANABETHATGUY in #2689
New Contributors
- @vjpr made their first contribution in #2617
- @lsdsjy made their first contribution in #2633
- @suxin2017 made their first contribution in #2673
Full Changelog: v0.1.6...v0.1.7
v0.1.6
What's Changed
- feat(rspack_plugin_dev_friendly_split_chunks): reduce
MAX_MODULES_PER_CHUNK
and addMAX_SIZE_PER_CHUNK
condition by @hyf0 in #2578 - ci: encore PR titles to follow the conventional-commit rules by @hyf0 in #2584
- fix(cli): fix semver missing by @hardfist in #2586
- chore: fix typo in CONTRIBUTING.md by @hyf0 in #2588
- chore: remove copy-plugin from cra example by @hardfist in #2596
- fix: swc css minifier global not set by @IWANABETHATGUY in #2600
- fix(dev-client): use webpack-dev-server/client directly by @bvanjoi in #2576
Full Changelog: v0.1.5...v0.1.6
v0.1.5
What's Changed
- fix(rspack_testing): document on how to run the Rust core by @Boshen in #2547
- fix: bump version by @IWANABETHATGUY in #2500
- feat: built-in support for ProvidePlugin by @dhruvkelawala in #2492
- fix: library amd returning by @underfin in #2532
- chore: expose
util
for compiler.webpack by @IWANABETHATGUY in #2548 - feat: new url dependency in
target: 'node'
by @ahabhgk in #2535 - chore: remove unnecessary std::mem::take by @HerringtonDarkholme in #2549
- chore: π€ migrate test from webpack by @IWANABETHATGUY in #2550
- chore: git attributes ignore test related files by @IWANABETHATGUY in #2554
- deps(node_binding): dashmap v5.4.0 by @Boshen in #2555
- feat: wasm loading types by @ahabhgk in #2533
- chore: unify line endings for all files for any new clone by @ShuiRuTian in #2541
- fix: add more hash logic by @underfin in #2560
- fix: should generate correct output when running
rspack build --json stats.json
by @hardfist in #2557 - test: add e2e test in linux by @bvanjoi in #2561
- ci: cache pnpm globally by @Boshen in #2556
- chore: enable merge_queue by @hardfist in #2564
- chore: π€ webpack test case by @IWANABETHATGUY in #2544
- feat: module.rule[].dependency by @ahabhgk in #2562
- chore: add devcontainer files by @ShuiRuTian in #2542
- fix: require.cache undefined by @faga295 in #2468
- fix: π windows absolute should not be considered as scheme by @JSerFeng in #2571
- chore: add CODEOWNERS by @Boshen in #2480
- feat(rspack-cli): emit warning if the using nodejs version is not recommended by @dhruvkelawala in #2575
New Contributors
- @dhruvkelawala made their first contribution in #2492
- @ShuiRuTian made their first contribution in #2541
- @faga295 made their first contribution in #2468
Full Changelog: v0.1.4...v0.1.5
v0.1.4
What's Changed
- fix: duplicate webpack_require.a in async module by @ahabhgk in #2505
- ci: issue-labeler add triage by @IWANABETHATGUY in #2488
- fix: context module request by @underfin in #2509
- CI: use regex to trigger issue labeler by @IWANABETHATGUY in #2518
- chore: fix canary release by @h-a-n-a in #2514
- chore: expose error data , part of angular by @IWANABETHATGUY in #2499
- Revert "fix(cli): mode default config by process.env.NODE_ENV (#2343)" by @hardfist in #2528
- fix: fix hmr not working by @hardfist in #2543
- chore: pr test workflow by @h-a-n-a in #2538
- ci: π‘ fix broken CI by @IWANABETHATGUY in #2536
Full Changelog: v0.1.3...v0.1.4
v0.1.3
What's Changed
- feat: stats for timings and builtAt by @ahabhgk in #2425
- chore: optimize the initialization of instance by @KarthusLorin in #2432
- feat: watch-suspend by @bvanjoi in #2430
- feat: definePlugin helper by @so1ve in #2302
- chore: fix some ts types by @zscumt123 in #2142
- feat: Support
new URL("./foo", import.meta.url)
by @magic-akari in #2340 - refactor(rust): remove unnecessary usage of crossbeam by @Boshen in #2439
- feat: inline external type syntax by @ahabhgk in #2437
- chore(rust): remove cargo warnings around napi by @Boshen in #2436
- fix(cli): mode default config by process.env.NODE_ENV by @SoonIter in #2343
- docs: add some tips about corepack enable by @KarthusLorin in #2447
- Bump Rust to Rust v1.68.0 (nightly-2023-03-09) by @Boshen in #2435
- fix: amd should return exports with iife by @underfin in #2453
- feat: add finishModules hook by @tuchg in #2463
- fix: skip some tests in watch suspend by @bvanjoi in #2465
- feat(plugin-wasm): add async-wasm support by @tuchg in #2229
- fix(relay): π apply unresolved_mark to require by @JSerFeng in #2454
- fix: use babel mode for mjs by @underfin in #2455
- ci: check team-label only on pr and issue open by @Boshen in #2471
- ci: use pnpm/action-setup in check-changeset by @Boshen in #2474
- chore(rust): remove unused dependencies via cargo-udeps by @Boshen in #2476
- fix: should not remove empty initial chunk by @hyf0 in #2458
- ci: cache pnpm dependencies in check-rs workflow by @Boshen in #2470
- ci: fix check-rs by @Boshen in #2481
- refactor: change runtime globals from HashSet to bitflags by @HerringtonDarkholme in #2461
- feat: resolve.byDependency by @ahabhgk in #2459
- fix: remove unnecessary @ts-ignore by @HerringtonDarkholme in #2491
- feat(runtime): support set webpack_public_path runtime by @jerrykingxyz in #2487
- fix(core): change the callback type of compiler.watch to
Callback
by @bvanjoi in #2494 - test(e2e): basic by @bvanjoi in #2469
- fix: cjs transfrom preset env by @underfin in #2503
- chore: fix version bump by @h-a-n-a in #2508
- [Bug Fix]: ERR_UNSUPPORTED_ESM_URL_SCHEME since version 0.1.2 on Windows OS by @zakuru in #2450
New Contributors
- @KarthusLorin made their first contribution in #2432
- @so1ve made their first contribution in #2302
- @magic-akari made their first contribution in #2340
Full Changelog: v0.1.2...v0.1.3
v0.1.2
What's Changed
- refactor module graph lookups by @Boshen in #2279
- feat: π€ finish defineConfig by @IWANABETHATGUY in #2267
- Release v0.1.1 by @github-actions in #2290
- fix: contenthash should care about ChunkGraphModule#id by @hyf0 in #2292
- feat: function type RuleSetCondition by @ahabhgk in #2291
- feat(create): support package manager detect in create-rspack command by @hhshii in #2146
- fix(ci): clean up check-rs, attempt to fix ci cache taking 1G by @Boshen in #2300
- feat: release action support only create release tag by @caohuilin in #2305
- ci: combine lint, format and test to save ci time and cache by @Boshen in #2307
- fix: mjs file node mode interop by @underfin in #2296
- chore: make solid example refresh happen by @hardfist in #2310
- Small fix to improve the readme file by @zakuru in #2317
- fix: fix identifier of missing module by @h-a-n-a in #2314
- fix(html): builtins.html minify not work by @jerrykingxyz in #2306
- fix: create-rspack default command conflict with help command by @PengBoUESTC in #2244
- fix(cli): rspack build --watch not work (#2280) by @SoonIter in #2316
- chore: fix typo in adapter-rule-use.ts by @eltociear in #2315
- ci: cache pnpm in check-rs by @Boshen in #2308
- Revert "ci: cache pnpm in check-rs (#2308)" by @Boshen in #2326
- fix(cli): set stats default to errors-warning to avoid server info flushhed by module stats by @hardfist in #2325
- feat: align optimizeChunkModules by @IWANABETHATGUY in #2323
- fix: css hmr memory middleware by @underfin in #2329
- feat: added the handling of duplicate project names by @Nirvana-Jie in #2336
- feat: stats.outputPath by @ahabhgk in #2303
- feat(runtime): support
__filename
polyfill by @bvanjoi in #2342 - ci: add write permission to team-label by @Boshen in #2357
- fix: Tailwind CSS HMR not work by @jerrykingxyz in #2330
- feat: expose description data to resolve_data by @bvanjoi in #2348
- feat(builtin.copy): add simple ignore option by @JSerFeng in #2126
- chore: add rspack feishu group by @hardfist in #2369
- chore: upgrade webpack-dev-server & webpack-dev-middleware by @hardfist in #2349
- feat: parse with comments by @IWANABETHATGUY in #2367
- fix(core): fix regex external not working by @hardfist in #2383
- fix: π fix parsing error in html template path by @JSerFeng in #2380
- test(rspack_util): add test cases by @ycjcl868 in #2346
- fix: progress plugin percent symbol by @IWANABETHATGUY in #2387
- fix(dev-server): delete isWebTarget by @bvanjoi in #2390
- fix: release action node architecture config by @caohuilin in #2395
- feat: π€ additionalAssets by @IWANABETHATGUY in #2396
- fix: react refresh runtime injection by @underfin in #2328
- feat: module.hot.accept/decline support arrary dependencies by @underfin in #2378
- feat: NormalModuleFactory and resolveForScheme hook by @IWANABETHATGUY in #2356
- chore: π€ recover benchmark history by @IWANABETHATGUY in #2402
- fix: set context of basic example to __dirname by @nieyuyao in #2345
- fix: remove several ts-expect-error by @HerringtonDarkholme in #2409
- fix: returning exports from runtime for libraries by @underfin in #2415
- chore: node binding cross env by @PengBoUESTC in #2327
- feat(rspack-cli): support mjs config by @hardfist in #2168
- chore: update rspack-sources by @ahabhgk in #2419
- refactor: css dependencies by @ahabhgk in #2404
- fix: export without specifier by @underfin in #2421
New Contributors
- @hhshii made their first contribution in #2146
- @zakuru made their first contribution in #2317
- @PengBoUESTC made their first contribution in #2244
- @SoonIter made their first contribution in #2316
- @eltociear made their first contribution in #2315
- @Nirvana-Jie made their first contribution in #2336
- @nieyuyao made their first contribution in #2345
Full Changelog: v0.1.1...v0.1.2
v0.1.1
What's Changed
- fix: commonjs loading with extra output dir by @underfin in #2092
- fix: fix fast refresh on windows by @h-a-n-a in #2095
- fix: examples/react resolve failed by @jerrykingxyz in #2108
- feat: support guided panic info with backtrace by @h-a-n-a in #2097
- fix: library umd code excute by @underfin in #2094
- feat: stats chunkRelations and chunkModules by @ahabhgk in #2096
- feat: config validate strategy by @ahabhgk in #2137
- feat: loader api add dependency by @MBearo in #2121
- fix: correct license by @JSerFeng in #2159
- refactor: use
unwrap_or_else
by @tuchg in #2167 - fix(resolve): path with relative from tsconfig/baseUrl should work by @bvanjoi in #2174
- fix: incremental rebuild not work by @jerrykingxyz in #2214
- pref(source): use use once cell for source map line chunk during substring by @bvanjoi in #2187
- refactor: use better typing to remove any by @HerringtonDarkholme in #2211
- feat: array type for externals by @ahabhgk in #2217
- fix(plugin-html): fix template with process by @h-a-n-a in #2226
- feat: support configuration file written in TypeScript by @HerringtonDarkholme in #2227
- feat(cli): support config return promise by @hardfist in #2230
- fix(cli): make ts-node as an optional peer dependency by @fi3ework in #2231
- chore: prettierignore complement by @ycjcl868 in #2184
- fix: Avoid reporting warning the export when src module format is none esm by @IWANABETHATGUY in #2172
- refactor: runtime module by @underfin in #2216
- fix(testing): resolve context for fixtures controlled by
test.config.js
by @tuchg in #2234 - fix: normalize identifier for externalsType umd by @underfin in #2233
- feat: externalsPresets.node by @ahabhgk in #2239
- fix: postcss modules warning when using postcss-loader by @ahabhgk in #2243
- ci: reduce CI workload by @IWANABETHATGUY in #2248
- fix: runtime module cacheable by @underfin in #2250
- feat: amd library by @underfin in #2240
- fix(dev-middleware): compatibility with native node handler by @danielroe in #2186
- fix: remove extern crate syntax, use syntax of the 2018 edition by @zscumt123 in #2134
- refactor(rspack_core): refactor ModuleGraph by @Boshen in #2265
- revert: downgrade swc version by @jerrykingxyz in #2276
- fix: fix webpack-sources interoperation by @h-a-n-a in #2282
New Contributors
- @lencx made their first contribution in #2102
- @monster1935 made their first contribution in #2112
- @mewcoder made their first contribution in #2104
- @ycjcl868 made their first contribution in #2098
- @MBearo made their first contribution in #2121
- @XGHeaven made their first contribution in #2143
- @liruifengv made their first contribution in #2101
- @zscumt123 made their first contribution in #2151
- @fwqaaq made their first contribution in #2147
- @ZuBB made their first contribution in #2173
- @tuchg made their first contribution in #2167
- @zhoushaw made their first contribution in #2210
- @fi3ework made their first contribution in #2231
- @danielroe made their first contribution in #2186
- @OrangeXC made their first contribution in #2271
Full Changelog: v0.1.0...v0.1.1