Releases: web-infra-dev/rspack
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
v0.1.0
Introducing Rspack
Today we are so thrilled to announce that Rspack is officially released! Rspack is a Rust-based JavaScript bundler developed by the ByteDance Web Infra team that has features including high-performance, webpack interoperability, flexible configuration etc. Rspack has solved many problems in our scenarios and improved the developer experience for JavaScript engineers.
On top of that, we would also like to express our sincere gratitude to all the amazing contributors who participated in the internal testing and provided valuable feedback to help shape Rspack into the robust and efficient tool it is today. Your support and dedication have been instrumental in making Rspack a reality, and we could not have done it without you. Thank you for being a part of this exciting journey with us, and we look forward to continuing to work together to make Rspack even better in the future.
For more detailed information, please turn to our blog Announcing Rspack.
Full Changelog: https://github.com/web-infra-dev/rspack/commits/v0.1.0