PageSourceSearch

https://rspack.rs/static/js/async/route-d73894b0b450.ec82dbd737.js

js rspack.rs collected 2026-09-24 17:14:27 UTC 42,428 bytes, 1 lines download raw bytes

1"use strict";(self.rspackChunkrspack_website=self.rspackChunkrspack_website||[]).push([["4i"],{ql(e,s,n){n.r(s);var r=n("i"),i=n("f"),l=n("V");function a(e){let s={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",span:"span",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s.h1,{id:"upgrading-from-0x-to-v1",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#upgrading-from-0x-to-v1",children:"#"}),"Upgrading from 0.x to v1"]}),"\n",(0,r.jsx)(s.p,{children:"The document lists all breaking changes from Rspack 0.7 to 1.0. Use it as a migration reference."}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:["See ",(0,r.jsx)(s.a,{href:"https://github.com/web-infra-dev/rspack/discussions/6626",rel:"noopener noreferrer",target:"_blank",children:"Breaking changes in Rspack 1.0"})," for details."]}),"\n"]}),"\n",(0,r.jsxs)(s.h2,{id:"configuration-default-value-adjustments",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#configuration-default-value-adjustments",children:"#"}),"Configuration default value adjustments"]}),"\n",(0,r.jsx)(s.p,{children:"In Rspack 1.x, we have aligned the default configuration values with those of Webpack."}),"\n",(0,r.jsxs)(s.h3,{id:"important-experimentscss",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-experimentscss",children:"#"}),"[Important] experiments.css"]}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"experiments.css"})," has been deprecated and no longer enables default CSS processing."]}),"\n",(0,r.jsxs)(s.p,{children:["In Rspack 0.x, ",(0,r.jsx)(s.code,{children:"experiments.css"})," was enabled by default, which meant files ending with ",(0,r.jsx)(s.code,{children:"*.css"})," were automatically treated as ",(0,r.jsx)(s.code,{children:"type: 'css/auto'"})," and processed with built-in CSS logic."]}),"\n",(0,r.jsxs)(s.p,{children:["Now, you must manually configure ",(0,r.jsx)(s.code,{children:"module.rules"})," to handle CSS files. For example:"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",title:"rspack.config.mjs",lang:"js",children:(0,r.jsxs)(s.code,{children:[(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:" default"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  module"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    rules"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" ["})]}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      {"})}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        test"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:" /\\.less"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"$"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"/"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        type"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'css/auto'"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:" // 👈"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        use"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" ["}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'less-loader'"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"]"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      }"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    ]"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  }"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})}),"\n",(0,r.jsxs)(s.h3,{id:"important-optimizationconcatenatemodules",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-optimizationconcatenatemodules",children:"#"}),"[Important] optimization.concatenateModules"]}),"\n",(0,r.jsxs)(s.p,{children:["The default value of ",(0,r.jsx)(s.a,{href:"/config/optimization.html#optimizationconcatenatemodules",children:"optimization.concatenateModules"})," has been changed from ",(0,r.jsx)(s.code,{children:"false"})," to:"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"true"})," when ",(0,r.jsx)(s.code,{children:"mode"})," is ",(0,r.jsx)(s.code,{children:"'production'"}),"."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"false"})," for other values of ",(0,r.jsx)(s.code,{children:"mode"}),"."]}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"In Rspack 1.x, module concatenation optimization has become more stable. Thus, it's now enabled by default in production mode, allowing multiple modules to be concatenated into a single module to reduce output size and improve c
1ompression efficiency."}),"\n",(0,r.jsxs)(s.h3,{id:"devtool",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#devtool",children:"#"}),"devtool"]}),"\n",(0,r.jsxs)(s.p,{children:["The default value of ",(0,r.jsx)(s.a,{href:"/config/devtool.html",children:"devtool"})," has been changed from ",(0,r.jsx)(s.code,{children:"false"})," to:"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"eval"})," when ",(0,r.jsx)(s.code,{children:"mode"})," is ",(0,r.jsx)(s.code,{children:"'development'"}),"."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"false"})," for other values of ",(0,r.jsx)(s.code,{children:"mode"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(s.blockquote,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"@rspack/cli"})," overrides the default ",(0,r.jsx)(s.code,{children:"devtool"})," value from ",(0,r.jsx)(s.code,{children:"@rspack/core"}),". Therefore, if you are using ",(0,r.jsx)(s.code,{children:"@rspack/cli"}),", this change will not affect you."]}),"\n"]}),"\n",(0,r.jsxs)(s.h3,{id:"experimentsasyncwebassembly",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#experimentsasyncwebassembly",children:"#"}),"experiments.asyncWebAssembly"]}),"\n",(0,r.jsxs)(s.p,{children:["The default value of ",(0,r.jsx)(s.a,{href:"/config/experiments.html#experimentsasyncwebassembly",children:"experiments.asyncWebAssembly"})," has been changed from ",(0,r.jsx)(s.code,{children:"false"})," to depend on the ",(0,r.jsx)(s.code,{children:"experiments.futureDefaults"})," configuration. It is enabled by default only when ",(0,r.jsx)(s.code,{children:"experiments.futureDefaults"})," is set to ",(0,r.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,r.jsxs)(s.p,{children:["If you are using WebAssembly modules as asynchronous modules, you now need to manually set ",(0,r.jsx)(s.code,{children:"experiments.asyncWebAssembly"})," to ",(0,r.jsx)(s.code,{children:"true"}),"."]}),"\n",(0,r.jsxs)(s.h3,{id:"splitchunkscachegroupscachegroupreuseexistingchunk",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#splitchunkscachegroupscachegroupreuseexistingchunk",children:"#"}),"splitChunks.cacheGroups.{cacheGroup}.reuseExistingChunk"]}),"\n",(0,r.jsxs)(s.p,{children:["The default value of ",(0,r.jsx)(s.a,{href:"/plugins/split-chunks-plugin.html#splitchunkscachegroupscachegroupreuseexistingchunk",children:"splitChunks.cacheGroups.{cacheGroup}.reuseExistingChunk"})," has been changed from ",(0,r.jsx)(s.code,{children:"true"})," to ",(0,r.jsx)(s.code,{children:"false"}),"."]}),"\n",(0,r.jsxs)(s.h3,{id:"optimizationmoduleids",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#optimizationmoduleids",children:"#"}),"optimization.moduleIds"]}),"\n",(0,r.jsxs)(s.p,{children:["The default value of ",(0,r.jsx)(s.a,{href:"/config/optimization.html#optimizationmoduleids",children:"optimization.moduleIds"})," has been changed to ",(0,r.jsx)(s.code,{children:"'natural'"})," when ",(0,r.jsx)(s.code,{children:"mode"})," is ",(0,r.jsx)(s.code,{children:"none"}),"."]}),"\n",(0,r.jsxs)(s.h3,{id:"optimizationchunkids",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#optimizationchunkids",children:"#"}),"optimization.chunkIds"]}),"\n",(0,r.jsxs)(s.p,{children:["The default value of ",(0,r.jsx)(s.a,{href:"/config/optimization.html#optimizationchunkids",children:"optimization.chunkIds"})," has been changed to ",(0,r.jsx)(s.code,{children:"'natural'"})," when ",(0,r.jsx)(s.code,{children:"mode"})," is ",(0,r.jsx)(s.code,{children:"none"}),"."]}),"\n",(0,r.jsxs)(s.h2,{id:"removed-configurations",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#removed-configurations",children:"#"}),"Removed configurations"]}),"\n",(0,r.jsxs)(s.h3,{id:"important-removed-resolvetsconfigpath",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-removed-resolvetsconfigpath",children:"#"}),"[Important] Removed resolve.tsConfigPath"]}),"\n",(0,r.jsxs)(s.p,{children:["Please use ",(0,r.jsx)(s.a,{href:"/config/resolve.html#resolvetsconfig",children:"resolve.tsConfig"})," instead."]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"diff",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"export default {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  resolve: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-   tsConfigPath: path.resolve(__dirname, './tsconfig.json'),"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+   tsConfig: path.resolve(__dirname, './tsconfig.json'),"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})}),"\n",(0,r.jsxs)(s.h3,{id:"outputamdcontainer",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#outputamdcontainer",children:"#"}),"output.amdContainer"]}),"\n",(0,r.jsxs)(s.p,{children:["Please use ",(0,r.jsx)(s.a,{href:"/config/output.html#outputlibraryamdcontainer",children:"output.library.amdContainer"})," instead."]}
1),"\n",(0,r.jsxs)(s.h2,{id:"adjustments-to-builtinswc-loader",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#adjustments-to-builtinswc-loader",children:"#"}),"Adjustments to builtin:swc-loader"]}),"\n",(0,r.jsx)(s.p,{children:"To streamline the core, Rspack 1.x has removed the built-in SWC plugins. You now need to manually include them."}),"\n",(0,r.jsxs)(s.h3,{id:"important-removed-rspackexperimentsstyledcomponents",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-removed-rspackexperimentsstyledcomponents",children:"#"}),"[Important] Removed rspackExperiments.styledComponents"]}),"\n",(0,r.jsxs)(s.p,{children:["Use ",(0,r.jsx)(s.a,{href:"https://www.npmjs.com/package/@swc/plugin-styled-components",rel:"noopener noreferrer",target:"_blank",children:"@swc/plugin-styled-components"})," instead."]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"diff",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"export default {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  module: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    rules: ["})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        test: /\\.jsx$/,"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:'        loader: "builtin:swc-loader",'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        options: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-         rspackExperiments: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-           styledComponents: true,"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-         },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"          jsc: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+           experimental: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:'+             plugins: [["@swc/plugin-styled-components", {}]],'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+           },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"          },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    ],"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})}),"\n",(0,r.jsxs)(s.h3,{id:"important-removed-rspackexperimentsemotion",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-removed-rspackexperimentsemotion",children:"#"}),"[Important] Removed rspackExperiments.emotion"]}),"\n",(0,r.jsxs)(s.p,{children:["Use ",(0,r.jsx)(s.a,{href:"https://www.npmjs.com/package/@swc/plugin-emotion",rel:"noopener noreferrer",target:"_blank",children:"@swc/plugin-emotion"})," instead."]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"diff",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"export default {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  module: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    rules: ["})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        test: /\\.jsx$/,"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:'        loader: "builtin:swc-loader",'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        options: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-         rspackExperiments: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-           emotion: true,"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-         },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"          jsc: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+           experimental: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:'+             plugins: [["@swc/plugin-emotion", {}]],'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+           },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"          },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    ],"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})}),"\n",(0,r.jsxs)(s.h3,{id:"important-removed-rspackexperimentsrelay",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-removed-rspackexperimentsrelay",children:"#"}),"[Important] Removed rspackExperiments.relay"]}),"\n",(0,r.jsxs)(s.p,{children:["Use ",(0,r.jsx)(s.a,{href:"https://www.npmjs.com/package/@swc/plugin-relay",rel:"noopener noreferrer",target:"_blank",children:"@swc/plugin-relay"})," instead."]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"diff",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"export default {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  module: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    rules: ["})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        test: /\\.jsx$/,"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:'        loader: "builtin:swc-loader",'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        options: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-         rspackExperiments: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-           relay: true,"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-         },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"          jsc: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+           experimental: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:'+             plugins: [["@swc/plugin-relay", {}]],'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+           },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"          },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    ],"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})}),"\n",(0,r.jsxs)(s.h3,{id:"important-removed-rspackexperimentspreact",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-removed-rspackexperimentspreact",children:"#"}),"[Important] Removed rspackExperiments.preact"]}),"\n",(0,r.jsxs)(s.p,{children:["Use ",(0,r.jsx)(s.a,{href:"https://www.npmjs.com/package/@swc/plugin-
1prefresh",rel:"noopener noreferrer",target:"_blank",children:"@swc/plugin-prefresh"})," instead."]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"diff",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"export default {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  module: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    rules: ["})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        test: /\\.jsx$/,"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:'        loader: "builtin:swc-loader",'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        options: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-         rspackExperiments: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-           preact: true,"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-         },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"          jsc: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+           experimental: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"}
1,children:'+             plugins: [["@swc/plugin-prefresh", {}]],'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+           },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"          },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    ],"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})}),"\n",(0,r.jsxs)(s.h2,{id:"adjustments-to-built-in-plugins",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#adjustments-to-built-in-plugins",children:"#"}),"Adjustments to built-in plugins"]}),"\n",(0,r.jsxs)(s.h3,{id:"important-css-minimizer-plugin-adjustment",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-css-minimizer-plugin-adjustment",children:"#"}),"[Important] CSS minimizer plugin adjustment"]}),"\n",(0,r.jsxs)(s.p,{children:["In Rspack 0.x, we used the built-in ",(0,r.jsx)(s.code,{children:"rspack.SwcCssMinimizerRspackPlugin"})," to compress CSS size.\nNow, we have removed it and replaced it with ",(0,r.jsx)(s.a,{href:"/plugins/lightning-css-minimizer-rspack-plugin.html",children:"rspack.LightningCssMinimizerRspackPlugin"})," to handle the same functionality."]}),"\n",(0,r.jsxs)(s.p,{children:["If you previously manually registered and configured ",(0,r.jsx)(s.code,{children:"rspack.SwcCssMinimizerRspackPlugin"}),", you should to switch to ",(0,r.jsx)(s.code,{children:"rspack.LightningCssMinimizerRspackPlugin"}),":"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"diff",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"import { rspack } from '@rspack/core';"})}),"\n",(0,r.jsx)(s.span,{className:"line"}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"export default {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  optimization: {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    minimizer: ["})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-deleted)"},children:"-     new rspack.SwcCssMinimizerRspackPlugin({"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-inserted)"},children:"+     new rspack.LightningCssMinimizerRspackPlugin({"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"        // options"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"      }),"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    ],"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  },"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})}),"\n",(0,r.jsxs)(s.h3,{id:"rspackswcjsminimizerrspackplugin",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#rspackswcjsminimizerrspackplugin",children:"#"}
1),"rspack.SwcJsMinimizerRspackPlugin"]}),"\n",(0,r.jsxs)(s.p,{children:["Rspack's built-in and default-enabled JavaScript minimizer plugin has had its configuration aligned with ",(0,r.jsx)(s.a,{href:"https://swc.rs/docs/configuration/minification",rel:"noopener noreferrer",target:"_blank",children:"SWC's minification configuration"}),". The breaking changes are as follows:"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"minimizerOptions.passes"}),": moved to ",(0,r.jsx)(s.code,{children:"minimizerOptions.compress.passes"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"minimizerOptions.dropConsole"}),": moved to ",(0,r.jsx)(s.code,{children:"minimizerOptions.compress.drop_console"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"minimizerOptions.pureFuncs"}),": moved to ",(0,r.jsx)(s.code,{children:"minimizerOptions.compress.pure_funcs"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"minimizerOptions.keepClassNames"}),": moved to ",(0,r.jsx)(s.code,{children:"minimizerOptions.mangle.keep_classnames"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"minimizerOptions.keepFnNames"}),": moved to ",(0,r.jsx)(s.code,{children:"minimizerOptions.mangle.keep_fnames"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"minimizerOptions.comments"}),": moved to ",(0,r.jsx)(s.code,{children:"minimizerOptions.format.comments"})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"minimizerOptions.asciiOnly"}),": moved to ",(0,r.jsx)(s.code,{children:"minimizerOptions.format.ascii_only"})]}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"Default value changes:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"comments"})," (",(0,r.jsx)(s.code,{children:"options.format.comments"}),"): changed from ",(0,r.jsx)(s.code,{children:"false"})," to ",(0,r.jsx)(s.code,{children:'"some"'})]}),"\n"]}),"\n",(0,r.jsxs)(s.h3,{id:"rspackhtmlrspackplugin",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#rspackhtmlrspackplugin",children:"#"}),"rspack.HtmlRspackPlugin"]}),"\n",(0,r.jsxs)(s.p,{children:["We have aligned its configuration with ",(0,r.jsx)(s.a,{href:"https://www.npmjs.com/package/html-webpack-plugin",rel:"noopener noreferrer",target:"_blank",children:"html-webpack-plugin"}),", with the following breaking changes:"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"excludedChunks"})," has been renamed to ",(0,r.jsx)(s.code,{children:"excludeChunks"})]}),"\n",(0,r.jsxs)(s.li,{children:["When ",(0,r.jsx)(s.code,{children:"mode"})," is ",(0,r.jsx)(s.code,{children:"'production'"}),", ",(0,r.jsx)(s.code,{children:"minify"})," is now ",(0,r.jsx)(s.code,{children:"true"})," by default"]}),"\n"]}),"\n",(0,r.jsxs)(s.h2,{id:"other-changes",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#other-changes",children:"#"}),"Other changes"]}),"\n",(0,r.jsxs)(s.h3,{id:"important-rspackcli",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-rspackcli",children:"#"}),"[Important] @rspack/cli"]}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"@rspack/cli"})," has upgraded its dependency on ",(0,r.jsx)(s.code,{children:"webpack-dev-server"})," from v4 to v5. If you are using ",(0,r.jsx)(s.code,{children:"@rspack/cli"}),", please be aware of the following breaking changes:"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:"The minimum supported Node.js version for webpack-dev-server v5 is 18.12.0."}),"\n",(0,r.jsxs)(s.li,{children:["Several configuration options have changed. Please refer to the ",(0,r.jsx)(s.a,{href:"https://github.com/webpack/webpack-dev-server/blob/master/migration-v5.md",rel:"noopener noreferrer",target:"_blank",children:"webpack-dev-server v5 migration guide"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(s.h3,{id:"important-resolverfactory-and-resolver-refactoring-with-rust",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#important-resolverfactory-and-resolver-refactoring-with-rust",children:"#"}),"[Important] ",(0,r.jsx)(s.code,{children:"ResolverFactory"})," and ",(0,r.jsx)(s.code,{children:"Resolver"})," refactoring with Rust"]}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"ResolverFactory"})," and ",(0,r.jsx)(s.code,{children:"Resolver"})," have been refactored with Rust to unify the implementations on the JS and Rust sides. Due to this change, ",(0,r.jsx)(s.code,{children:"ResolverFactory"})," and ",(0,r.jsx)(s.code,{children:"Resolver"})," currently do not support any hooks."]}),"\n",(0,r.jsxs)(s.p,{children:["Additionally, ",(0,r.jsx)(s.code,{children:"Resolver"})," now only supports the following methods:"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"resolveSync"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"resolve"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"withOptions"})}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"This change might cause some plugins to become unusable."}),"\n",(0,r.jsxs)(l.Pq,{type:"tip",title:"Tip",children:[(0,r.jsxs)(s.p,{children:["\nRspack supports the ",(0,r.jsx)(s.a,{href:"/api/plugin-api/normal-module-factory-hooks.html",children:"NormalModuleFactory"}),"'s ",(0,r.jsx)(s.a,{href:"/api/plugin-api/normal-module-factory-hooks.html#resolve",children:"resolve"})," hook. In most cases, you can use this hook as a replacement for the ",(0,r.jsx)(s.code,{children:"Resolver"}),"'s ",(0,r.jsx)(s.code,{children:"resolve"})," hook to achieve the same functionality."]}),(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"js",children:(0,r.jsxs)(s.code,{children:[(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"compiler"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"hooks"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"normalModuleFactory"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".tap"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'PLUGIN'"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" (normalModuleFactory) "}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"  normalModuleFactory"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"hooks"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"."}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"resolve"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".tap"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"("}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'PLUGIN'"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" (data) "}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"=>"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"    // Redirect the module"})}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"    if"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" ("}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"data"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:".request "}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"==="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:" './foo.js'"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:") {"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"      data"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:".request "}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:" './bar.js'"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"    }"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"  });"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"});"})})]})})})]})]})}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}o.__RSPRESS_PAGE_META={},o.__RSPRESS_PAGE_META["en%2Fguide%2Fmigration%2Frspack_0.x.mdx"]={toc:[{id:"configuration-default-value-adjustments",text:"Configuration default value adjustments",depth:2},{id:"important-experimentscss",text:"[Important] experiments.css",depth:3},{id:"important-optimizationconcatenatemodules",text:"[Important] optimization.concatenateModules",depth:3},{id:"devtool",text:"devtool",depth:3},{id:"experimentsasyncwebassembly",text:"experiments.asyncWebAssembly",depth:3},{id:"splitchunkscachegroupscachegroupreuseexistingchunk",text:"splitChunks.cacheGroups.{cacheGroup}.reuseExistingChunk",depth:3},{id:"optimizationmoduleids",text:"optimization.moduleIds",depth:3},{id:"optimizationchunkids",text:"optimization.chunkIds",depth:3},{id:"removed-configurations",text:"Removed configurations",depth:2},{id:"important-removed-resolvetsconfigpath",text:"[Important] Removed resolve.tsConfigPath",depth:3},{id:"outputamdcontainer",text:"output.amdContainer",depth:3}
1,{id:"adjustments-to-builtinswc-loader",text:"Adjustments to builtin:swc-loader",depth:2},{id:"important-removed-rspackexperimentsstyledcomponents",text:"[Important] Removed rspackExperiments.styledComponents",depth:3},{id:"important-removed-rspackexperimentsemotion",text:"[Important] Removed rspackExperiments.emotion",depth:3},{id:"important-removed-rspackexperimentsrelay",text:"[Important] Removed rspackExperiments.relay",depth:3},{id:"important-removed-rspackexperimentspreact",text:"[Important] Removed rspackExperiments.preact",depth:3},{id:"adjustments-to-built-in-plugins",text:"Adjustments to built-in plugins",depth:2},{id:"important-css-minimizer-plugin-adjustment",text:"[Important] CSS minimizer plugin adjustment",depth:3},{id:"rspackswcjsminimizerrspackplugin",text:"rspack.SwcJsMinimizerRspackPlugin",depth:3},{id:"rspackhtmlrspackplugin",text:"rspack.HtmlRspackPlugin",depth:3},{id:"other-changes",text:"Other changes",depth:2},{id:"important-rspackcli",text:"[Important] @rspack/cli",depth:3},{id:"important-resolverfactory-and-resolver-refactoring-with-rust",text:"[Important] `ResolverFactory` and `Resolver` refactoring with Rust",depth:3}],title:"Upgrading from 0.x to v1",headingTitle:"Upgrading from 0.x to v1",frontmatter:{description:"The document lists all breaking changes from Rspack 0.7 to 1.0"}},n.d(s,{default:()=>o})}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.