diff --git a/package.json b/package.json index 89a0dcf333f..0da3b1fc702 100644 --- a/package.json +++ b/package.json @@ -141,7 +141,8 @@ "@tanstack/eslint-plugin-router": "workspace:*", "@tanstack/router-utils": "workspace:*", "@tanstack/start-static-server-functions": "workspace:*", - "@tanstack/nitro-v2-vite-plugin": "workspace:*" + "@tanstack/nitro-v2-vite-plugin": "workspace:*", + "@rspack/core": "npm:@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358" } } } diff --git a/packages/react-start-rsc/src/awaitLazyElements.ts b/packages/react-start-rsc/src/awaitLazyElements.ts index 7eea0c88e86..3ec650556b7 100644 --- a/packages/react-start-rsc/src/awaitLazyElements.ts +++ b/packages/react-start-rsc/src/awaitLazyElements.ts @@ -2,13 +2,13 @@ import { ReactElement, ReactLazy, ReactSuspense } from './reactSymbols' /** * Optional callback for collecting CSS hrefs during tree traversal. - * Only called server-side when processing + * Only called when processing explicitly marked RSC CSS stylesheet links. */ export type CssHrefCollector = (href: string) => void /** * Yields pending lazy element payloads from a tree, stopping at Suspense boundaries. - * Also collects CSS hrefs from elements. + * Also collects CSS hrefs from explicitly marked RSC CSS stylesheet links. */ function* findPendingLazyPayloads( obj: unknown, @@ -26,14 +26,18 @@ function* findPendingLazyPayloads( return } - // Collect CSS hrefs from - // The active RSC bundler adapter injects these for CSS module imports + // Collect CSS hrefs from explicit Start-managed CSS markers. Do not collect + // ordinary React 19 stylesheet resources here: preiniting those before render + // marks them inserted and bypasses React's suspensey stylesheet commit wait. if ( el.$$typeof === ReactElement && el.type === 'link' && el.props?.rel === 'stylesheet' ) { - const cssHref = el.props['data-rsc-css-href'] as string | undefined + let cssHref: string | undefined + if ('data-rsc-css-href' in el.props) { + cssHref = el.props.href + } if (cssHref && cssCollector) { cssCollector(cssHref) } @@ -71,8 +75,7 @@ function* findPendingLazyPayloads( * This ensures client component chunks are fully loaded before rendering, * preventing Suspense boundaries from flashing during SWR navigation. * - * Also collects CSS hrefs from - * elements for preloading in . + * Also collects CSS hrefs from explicitly marked RSC CSS stylesheet links. * * @param tree - The tree to process * @param cssCollector - Optional callback to collect CSS hrefs (server-only) diff --git a/packages/react-start-rsc/src/rsbuild/ssr-decode.ts b/packages/react-start-rsc/src/rsbuild/ssr-decode.ts index 8fe500699dc..3288b974dee 100644 --- a/packages/react-start-rsc/src/rsbuild/ssr-decode.ts +++ b/packages/react-start-rsc/src/rsbuild/ssr-decode.ts @@ -5,7 +5,182 @@ * Flight decode. */ -import { setOnClientReference } from '@rspack/core/rsc/ssr' import { createFromReadableStream } from 'react-server-dom-rspack/client.node' -export { createFromReadableStream, setOnClientReference } +type ResolvedAssetDeps = { + js: Array + css: Array +} + +type OnClientReference = (reference: { + id: string + deps: ResolvedAssetDeps + runtime: 'rsbuild' +}) => void + +declare const __rspack_rsc_manifest__: + | { + moduleLoading?: { + prefix?: string + } + } + | undefined + +let onClientReference: OnClientReference | undefined + +const FLIGHT_IMPORT_ROW_TAG = 'I'.charCodeAt(0) +const FLIGHT_IMPORT_METADATA_START_OFFSET = 2 +const FLIGHT_ROW_SEPARATOR = ':' +const FLIGHT_ROW_TERMINATOR = '\n' +const FIRST_CHUNK_FILE_INDEX = 1 +const CHUNK_PAIR_SIZE = 2 + +function getModuleLoadingPrefix() { + if (typeof __rspack_rsc_manifest__ === 'undefined') return '' + return __rspack_rsc_manifest__.moduleLoading?.prefix ?? '' +} + +function emitClientReferencePreloads( + emit: OnClientReference, + id: string, + chunks: Array, + prefix: string, +) { + let js: Array | undefined + + // Rsbuild's RSC import metadata stores client reference chunks as alternating + // metadata/file entries. The file entries are the browser JS modules that + // need to be surfaced to the SSR layer as modulepreload hrefs. + for (let i = FIRST_CHUNK_FILE_INDEX; i < chunks.length; i += CHUNK_PAIR_SIZE) { + const chunkFile = chunks[i] + if (typeof chunkFile === 'string') { + if (!js) js = [] + js.push(prefix + chunkFile) + } + } + + if (!js) return + + emit({ + id, + deps: { js, css: [] }, + runtime: 'rsbuild', + }) +} + +function getFlightImportMetadataStart(row: string) { + const colonIndex = row.indexOf(FLIGHT_ROW_SEPARATOR) + if ( + colonIndex === -1 || + row.charCodeAt(colonIndex + 1) !== FLIGHT_IMPORT_ROW_TAG + ) { + return -1 + } + + return colonIndex + FLIGHT_IMPORT_METADATA_START_OFFSET +} + +function processFlightRowForPreloads( + row: string, + prefix: string, + emit: OnClientReference, +) { + const metadataStart = getFlightImportMetadataStart(row) + if (metadataStart === -1) return + + try { + const metadata = JSON.parse(row.slice(metadataStart)) + if (!Array.isArray(metadata)) return + + const [id, chunks] = metadata + if (typeof id !== 'string' || !Array.isArray(chunks)) return + + emitClientReferencePreloads(emit, id, chunks, prefix) + } catch { + // Ignore Flight rows that are not plain JSON import metadata. + } +} + +function processBufferedFlightRows( + buffer: string, + prefix: string, + emit: OnClientReference, +) { + let rowStart = 0 + let newlineIndex = buffer.indexOf(FLIGHT_ROW_TERMINATOR, rowStart) + + while (newlineIndex !== -1) { + processFlightRowForPreloads( + buffer.slice(rowStart, newlineIndex), + prefix, + emit, + ) + rowStart = newlineIndex + 1 + newlineIndex = buffer.indexOf(FLIGHT_ROW_TERMINATOR, rowStart) + } + + return rowStart === 0 ? buffer : buffer.slice(rowStart) +} + +async function collectClientReferencePreloads( + stream: ReadableStream, + prefix: string, + emit: OnClientReference, +) { + const reader = stream.getReader() + const decoder = new TextDecoder() + let buffered = '' + + try { + for (;;) { + const { value, done } = await reader.read() + if (done) break + + buffered += decoder.decode(value, { stream: true }) + buffered = processBufferedFlightRows(buffered, prefix, emit) + } + + buffered += decoder.decode() + if (buffered) processFlightRowForPreloads(buffered, prefix, emit) + } finally { + reader.releaseLock() + } +} + +function setOnClientReference(callback: OnClientReference | undefined) { + onClientReference = callback +} + +async function createFromReadableStreamCollectingClientPreloads( + stream: ReadableStream, + options?: object, +): Promise { + const emit = onClientReference + + if (!emit || typeof stream.tee !== 'function') { + return createFromReadableStream(stream, options) + } + + const prefix = getModuleLoadingPrefix() + + // Decode the Flight stream normally while a second reader scans the same + // bytes for import rows. This lets SSR collect client component JS discovered + // during RSC decode and attach it to the renderable proxy, so pages like + // /rsc-client-preload can emit extra tags for + // nested client components before hydration starts. + const [decodeStream, preloadStream] = stream.tee() + const preloadPromise = collectClientReferencePreloads( + preloadStream, + prefix, + emit, + ) + + const result = await createFromReadableStream(decodeStream, options) + await preloadPromise + return result +} + +export { + setOnClientReference, + createFromReadableStreamCollectingClientPreloads as createFromReadableStream, +} diff --git a/packages/react-start-rsc/src/serialization.server.ts b/packages/react-start-rsc/src/serialization.server.ts index b3e1b71cadb..e33f285377e 100644 --- a/packages/react-start-rsc/src/serialization.server.ts +++ b/packages/react-start-rsc/src/serialization.server.ts @@ -60,6 +60,9 @@ setOnClientReference( } } + // Rsbuild injects collected assets when the decoded RSC is actually + // rendered via ReactDOM.preinit/preloadModule. Keeping them off the + // request manifest avoids emitting assets for decoded-but-unrendered trees. if (!ctx || runtime === 'rsbuild') return if (!ctx.requestAssets) ctx.requestAssets = [] diff --git a/packages/start-plugin-core/src/rsbuild/planning.ts b/packages/start-plugin-core/src/rsbuild/planning.ts index 5ab3b631f2e..767a9ab41fe 100644 --- a/packages/start-plugin-core/src/rsbuild/planning.ts +++ b/packages/start-plugin-core/src/rsbuild/planning.ts @@ -24,6 +24,8 @@ export const RSBUILD_RSC_LAYERS = { ssr: 'server-side-rendering', } as const +export const RSBUILD_CLIENT_ASSETS_DIR = 'assets' + export type RsbuildEnvironmentName = (typeof RSBUILD_ENVIRONMENT_NAMES)[keyof typeof RSBUILD_ENVIRONMENT_NAMES] @@ -105,6 +107,16 @@ export function createRsbuildEnvironmentPlan(opts: { module: true, distPath: { root: opts.clientOutputDirectory, + js: `${RSBUILD_CLIENT_ASSETS_DIR}/js`, + jsAsync: `${RSBUILD_CLIENT_ASSETS_DIR}/js/async`, + css: `${RSBUILD_CLIENT_ASSETS_DIR}/css`, + cssAsync: `${RSBUILD_CLIENT_ASSETS_DIR}/css/async`, + svg: `${RSBUILD_CLIENT_ASSETS_DIR}/svg`, + font: `${RSBUILD_CLIENT_ASSETS_DIR}/font`, + wasm: `${RSBUILD_CLIENT_ASSETS_DIR}/wasm`, + image: `${RSBUILD_CLIENT_ASSETS_DIR}/image`, + media: `${RSBUILD_CLIENT_ASSETS_DIR}/media`, + assets: `${RSBUILD_CLIENT_ASSETS_DIR}/assets`, }, assetPrefix: opts.publicBase, }, diff --git a/packages/start-plugin-core/src/rsbuild/plugin.ts b/packages/start-plugin-core/src/rsbuild/plugin.ts index 337cdd55c42..2f166b88c8e 100644 --- a/packages/start-plugin-core/src/rsbuild/plugin.ts +++ b/packages/start-plugin-core/src/rsbuild/plugin.ts @@ -12,6 +12,7 @@ import { normalizePath } from '../utils' import { createServerFnBasePath, normalizePublicBase } from '../planning' import { parseStartConfig } from './schema' import { + RSBUILD_CLIENT_ASSETS_DIR, RSBUILD_ENVIRONMENT_NAMES, RSBUILD_RSC_LAYERS, createRsbuildEnvironmentPlan, @@ -276,7 +277,7 @@ export function tanStackStartRsbuild( ssrIsProvider, serializationAdapters: corePluginOpts.serializationAdapters, getDevClientEntryUrl: (publicBase: string) => - joinURL(publicBase, 'static/js/index.js'), + joinURL(publicBase, RSBUILD_CLIENT_ASSETS_DIR, 'js/index.js'), rscEnabled, }) updateServerFnResolver = virtualModuleState.updateServerFnResolver @@ -452,9 +453,12 @@ export function tanStackStartRsbuild( // Add ServerPlugin with HMR callback config.plugins.push( new rscPlugins.ServerPlugin({ - clientEntryName: 'index', - runtimeEntryName: 'index', - injectSsrModulesToEntries: ['index'], + cssLink: { + precedence: false, + props: { + 'data-rsc-css-href': '', + }, + }, onServerComponentChanges: () => { // Send rsc:update to connected clients for HMR devServerRef?.sockWrite('custom', { diff --git a/packages/start-plugin-core/src/rsbuild/virtual-modules.ts b/packages/start-plugin-core/src/rsbuild/virtual-modules.ts index 2f7d92a4d47..7f1caf84ca6 100644 --- a/packages/start-plugin-core/src/rsbuild/virtual-modules.ts +++ b/packages/start-plugin-core/src/rsbuild/virtual-modules.ts @@ -214,7 +214,7 @@ export interface RegisterVirtualModulesOptions { /** * Get the URL at which the rsbuild dev server serves the client entry JS. * Called lazily inside modifyRspackConfig when getConfig() is available. - * Example return: '/static/js/index.js' + * Example return: '/assets/js/index.js' */ getDevClientEntryUrl: (publicBase: string) => string /** Whether RSC virtual modules should be registered. */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fc1dbdc4cd7..529598d0572 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,6 +59,7 @@ overrides: '@tanstack/router-utils': workspace:* '@tanstack/start-static-server-functions': workspace:* '@tanstack/nitro-v2-vite-plugin': workspace:* + '@rspack/core': npm:@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358 importers: @@ -220,7 +221,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tanstack/router-plugin': specifier: workspace:* version: link:../../packages/router-plugin @@ -1120,7 +1121,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tailwindcss/postcss': specifier: ^4.2.2 version: 4.2.2 @@ -1172,7 +1173,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tailwindcss/postcss': specifier: ^4.2.2 version: 4.2.2 @@ -1398,7 +1399,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tailwindcss/postcss': specifier: ^4.2.2 version: 4.2.2 @@ -1801,7 +1802,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -1972,7 +1973,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tailwindcss/postcss': specifier: ^4.2.2 version: 4.2.2 @@ -2171,7 +2172,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tailwindcss/postcss': specifier: ^4.2.2 version: 4.2.2 @@ -2284,7 +2285,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tanstack/router-e2e-utils': specifier: workspace:^ version: link:../../e2e-utils @@ -2437,7 +2438,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tanstack/eslint-plugin-start': specifier: workspace:^ version: link:../../../packages/eslint-plugin-start @@ -2751,7 +2752,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tailwindcss/postcss': specifier: ^4.2.2 version: 4.2.2 @@ -5658,7 +5659,7 @@ importers: version: 1.1.2(@rsbuild/core@2.0.1(core-js@3.40.0)) '@rsbuild/plugin-vue': specifier: ^1.2.7 - version: 1.2.7(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2)) + version: 1.2.7(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2)) '@rsbuild/plugin-vue-jsx': specifier: ^2.0.0 version: 2.0.0(@babel/core@7.29.0)(@rsbuild/core@2.0.1(core-js@3.40.0)) @@ -5713,7 +5714,7 @@ importers: version: 1.1.2(@rsbuild/core@2.0.1(core-js@3.40.0)) '@rsbuild/plugin-vue': specifier: ^1.2.7 - version: 1.2.7(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2)) + version: 1.2.7(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2)) '@rsbuild/plugin-vue-jsx': specifier: ^2.0.0 version: 2.0.0(@babel/core@7.29.0)(@rsbuild/core@2.0.1(core-js@3.40.0)) @@ -8012,7 +8013,7 @@ importers: version: 2.0.1(core-js@3.40.0) '@rsbuild/plugin-react': specifier: ^2.0.0 - version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21)) + version: 2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21)) '@tanstack/router-plugin': specifier: workspace:* version: link:../../../packages/router-plugin @@ -12494,6 +12495,9 @@ importers: packages/react-start-rsc: dependencies: + '@rspack/core': + specifier: npm:@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358 + version: '@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358(@swc/helpers@0.5.21)' '@tanstack/react-router': specifier: workspace:* version: link:../react-router @@ -12531,9 +12535,6 @@ importers: specifier: ^19.2.3 version: 19.2.3(react@19.2.3) devDependencies: - '@rspack/core': - specifier: 2.0.0 - version: 2.0.0(@swc/helpers@0.5.21) '@testing-library/react': specifier: ^16.2.0 version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.9))(@types/react@19.2.9)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) @@ -12545,7 +12546,7 @@ importers: version: 0.5.20(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vite@8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.0.9)(esbuild@0.27.4)(jiti@2.7.0)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.37.0)(tsx@4.21.0)(yaml@2.8.1)) react-server-dom-rspack: specifier: ^0.0.2 - version: 0.0.2(@rspack/core@2.0.0(@swc/helpers@0.5.21))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + version: 0.0.2(@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358(@swc/helpers@0.5.21))(react-dom@19.2.3(react@19.2.3))(react@19.2.3) packages/react-start-server: dependencies: @@ -16104,12 +16105,6 @@ packages: '@napi-rs/wasm-runtime@1.0.7': resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} - '@napi-rs/wasm-runtime@1.1.3': - resolution: {integrity: sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==} - peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 - '@napi-rs/wasm-runtime@1.1.4': resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} peerDependencies: @@ -18072,13 +18067,77 @@ packages: '@rsbuild/core': optional: true + '@rspack-canary/binding-darwin-arm64@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-s+/Ijt4hxIP9gi/p302jtyV6MVso+S457o0Xu8bq37ylvR+7RyXkp7Vx8WbRm46BBBS1gEsQ+bwDbwZGPjaC3Q==} + cpu: [arm64] + os: [darwin] + + '@rspack-canary/binding-darwin-x64@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-1HgF+8Dwwwvf9TX0oF1HySkrcfswzKF0Kbzj5VQ6hBsPq+iR314gLoMPx5Jo7pCtNsmNu9FWWvQ/tSYxmo3YoA==} + cpu: [x64] + os: [darwin] + + '@rspack-canary/binding-linux-arm64-gnu@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-3A11CEtQU5mHaN85eSL6oOkInUosCJOvGeVWd/Gf3dYml61laoLbwKyKrPhVFn3/zbhYEtEiuRun7bjPJfX6mg==} + cpu: [arm64] + os: [linux] + + '@rspack-canary/binding-linux-arm64-musl@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-zT7EYCGITj+1XgT/lJZwDzz3QMM3L5/2N76qIzaXW5UH9dP9h7nEeR6nHqc3RoQmRqhpvHKhbXKi1Ocqx9+2NQ==} + cpu: [arm64] + os: [linux] + + '@rspack-canary/binding-linux-x64-gnu@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-G0bHxfsDVgGXi8goFgZ+uXhlKvkUH6xjSp73G3L7s/M2bRSgcy0PDdamGqe91a9DDgPPCvt8h5YY8qSjSaOj6Q==} + cpu: [x64] + os: [linux] + + '@rspack-canary/binding-linux-x64-musl@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-rFO1i0O8KdOQjL6l2rnaS/3O1Wm7vvPLNFNh7yJWvYHXPg36VeAQBpZ3SlsEC/78RjFkRYE0eywpZlFykeRp8g==} + cpu: [x64] + os: [linux] + + '@rspack-canary/binding-wasm32-wasi@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-Z1lf5wGVgXkucWATvL5RpWXFkKIumWr30RvUmQ4zYoxWrXhs9aRF57xg8iaU+xk5P27ot1QbSpj7+VZxO4aNAw==} + cpu: [wasm32] + + '@rspack-canary/binding-win32-arm64-msvc@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-+F2Ho9qIb/ftHVjmAsCsYBBF6ZfZrQb2EHF5SgUM7D96lXepEj/foODNEGr1ThYzt+0dj46gXSmZlqp3JdzBIQ==} + cpu: [arm64] + os: [win32] + + '@rspack-canary/binding-win32-ia32-msvc@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-TAiZsLBEz7e0/MIaa+XVfg67mtw7g0AWzjP4mhCip+uCXmmGOk8iBd6kHqogrKm/eFkI4xcU7xS0bjrO91DTwg==} + cpu: [ia32] + os: [win32] + + '@rspack-canary/binding-win32-x64-msvc@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-h0AIpKpnaM+Kzr9cWysAENKXebAvjQeUSrepjF8usf9sGx1F07PhaRk3JnghQeBb6x2U0NOoxIwMx3eTgzzY3g==} + cpu: [x64] + os: [win32] + + '@rspack-canary/binding@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-rXjnD8Ihws6hGHbgYOjuQGpJLZ6+SBY8zfC7aF0g6/ldso3sX2fxwUrWjOX2I4KFj2/uyCm4/03DgdCFa5k2pg==} + + '@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358': + resolution: {integrity: sha512-A1jpxGVL0W3/Wv7NioXBsSlMhsiaICnJZ7P41wKCzAhRMBsMb1X9ogBmDMUbhaoY/QxtR+neRybqsVlfN94G3Q==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@module-federation/runtime-tools': ^0.24.1 || ^2.0.0 + '@swc/helpers': '>=0.5.1' + peerDependenciesMeta: + '@module-federation/runtime-tools': + optional: true + '@swc/helpers': + optional: true + '@rspack/binding-darwin-arm64@1.7.11': resolution: {integrity: sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-arm64@2.0.0': - resolution: {integrity: sha512-ICBHDKYyndFqljLhjxvKfWWZu39RJSH2jkSmbceXl0kmptLSE0cLWpvk+eGSzLqtxKN0jVchwCw+5P5mWCzwAw==} + '@rspack/binding-darwin-arm64@2.0.1': + resolution: {integrity: sha512-CGFO5zmajD1Itch1lxAI7+gvKiagzyqXopHv/jHG9Su2WWQ2/Nhn2/rkSpdp6ptE9ri6+6tCOOahf099/v/Xog==} cpu: [arm64] os: [darwin] @@ -18087,8 +18146,8 @@ packages: cpu: [x64] os: [darwin] - '@rspack/binding-darwin-x64@2.0.0': - resolution: {integrity: sha512-YQ96LMmzIzhZt9cZWUDWXSxS9UWWHWoLxJyZ5f42DSaVPVelBg5ThbVORDwOP5QDA2xFXj60rVnmmcZLzg/aDA==} + '@rspack/binding-darwin-x64@2.0.1': + resolution: {integrity: sha512-2vvBNBoS09/PurupBwSrlTZd8283o00B8v20ncsNUdEff41uCR/hzIrYoTIVWnVST+Gt5O1+cfcfORp397lajg==} cpu: [x64] os: [darwin] @@ -18097,8 +18156,8 @@ packages: cpu: [arm64] os: [linux] - '@rspack/binding-linux-arm64-gnu@2.0.0': - resolution: {integrity: sha512-Ufn33gzkIV7JY69k6vJQEdOzRvBqThIgH46pwXksHSMwRZp8IbJhXfyYIAVsRWCk8fXpr9t1nAvCDvJXT2EeyA==} + '@rspack/binding-linux-arm64-gnu@2.0.1': + resolution: {integrity: sha512-uvNXk6ahE3AH3h2avnd1Mgno68YQpS4cfX1OkOGWIC/roL+NrOP2XVXV4yfVAoydPALDO7AfbIfN0QdmBK3rsA==} cpu: [arm64] os: [linux] @@ -18107,8 +18166,8 @@ packages: cpu: [arm64] os: [linux] - '@rspack/binding-linux-arm64-musl@2.0.0': - resolution: {integrity: sha512-CZbvFKlNY9UC0C+Czz6i8JFCzGpuL9oX8gEqcJA1+84Y6eEEBH50UiTzeCewxKW3dOofkZdvT5vgNMXz6aMUmg==} + '@rspack/binding-linux-arm64-musl@2.0.1': + resolution: {integrity: sha512-S/a6uN9PiZ5O/PjSqyIXhuRC1lVzeJkJV69NeLk5sIEUiDQ/aQGZG97uN+tluwpbo1tPbLJkdHYETfjspOX4Pg==} cpu: [arm64] os: [linux] @@ -18117,8 +18176,8 @@ packages: cpu: [x64] os: [linux] - '@rspack/binding-linux-x64-gnu@2.0.0': - resolution: {integrity: sha512-dPjFGpoCvZfFpJBsWAUR+PR7mWYxpou6L026qIOpAVkz7WiTzErwKD3P1jVrpP4dM9yLb3fVE+PHHjTglhTJ4g==} + '@rspack/binding-linux-x64-gnu@2.0.1': + resolution: {integrity: sha512-C13Kk0OkZiocZVj187Sf753UH6pDXnuEu6vzUvi3qv9ltibG1ki0H2Y8isXBYL2cHQOV+hk0g1S6/4z3TTB97A==} cpu: [x64] os: [linux] @@ -18127,8 +18186,8 @@ packages: cpu: [x64] os: [linux] - '@rspack/binding-linux-x64-musl@2.0.0': - resolution: {integrity: sha512-4fgDTMWt0mJDiugdia2mdOjTbnm7yM1Drzl1JpPqlUlOr113byOhc+qgN57LURSGypz2yz/h/Zad7/UnVAxYJw==} + '@rspack/binding-linux-x64-musl@2.0.1': + resolution: {integrity: sha512-TQsiBFpEDGkuvK9tNdGj/Uc+AIytzqhxXH/1jKU6M24cWB1DTw/Cx7DdrkCBDyq3129K3POLdujvbWCGqBzQUw==} cpu: [x64] os: [linux] @@ -18136,8 +18195,8 @@ packages: resolution: {integrity: sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==} cpu: [wasm32] - '@rspack/binding-wasm32-wasi@2.0.0': - resolution: {integrity: sha512-ANk73ZKtPrZf9gdtyRK2nQUfhi1uXoC5P2KF89pyVAE8+zcoLBnYtZGYpWa/cmNi5BcO5g4Z+v2l1UA3bUPLQQ==} + '@rspack/binding-wasm32-wasi@2.0.1': + resolution: {integrity: sha512-wk3gyUgBW/ayP49bI54bkY8+EQnfBHxdoe9dz3oobSTZQc8AOWwmUUDEPltW8rUvPOM6dfHECTOUMnfaf2f5yA==} cpu: [wasm32] '@rspack/binding-win32-arm64-msvc@1.7.11': @@ -18145,8 +18204,8 @@ packages: cpu: [arm64] os: [win32] - '@rspack/binding-win32-arm64-msvc@2.0.0': - resolution: {integrity: sha512-IHZFRtJ85ONbM+BCtF4TeYXS2Fu9X0IJS2phX1rPibYq9iEtHGfBt4cNlnsJPhbPAXVvi4Oli/yiLRJ1zxtCIg==} + '@rspack/binding-win32-arm64-msvc@2.0.1': + resolution: {integrity: sha512-rHjLcy3VcAC3+x+PxH+gwhwv6tPe0JdXTNT5eAOs9wgZIM6T9p4wre49+K4Qy98+Fb7TTbLX0ObUitlOkGwTSA==} cpu: [arm64] os: [win32] @@ -18155,8 +18214,8 @@ packages: cpu: [ia32] os: [win32] - '@rspack/binding-win32-ia32-msvc@2.0.0': - resolution: {integrity: sha512-n4tbIqacq/FhNJflMlgZV50AeQFTLh5hnDS3v4W+rJWa3IW1VfgB0+XppdeW+Dqhw7QcMIsCmro01kwNdlXZDQ==} + '@rspack/binding-win32-ia32-msvc@2.0.1': + resolution: {integrity: sha512-Ad1vVqMBBnd4T8rsORngu9sl2kyRTlS4kMlvFudjzl1X2UFArEDBe0YVGNN7ZvahM12CErUx2WiN8Sd8pb+qXQ==} cpu: [ia32] os: [win32] @@ -18165,16 +18224,16 @@ packages: cpu: [x64] os: [win32] - '@rspack/binding-win32-x64-msvc@2.0.0': - resolution: {integrity: sha512-cJOgikIW2t3S+42TQZsv+DJriJt2m6lnUk+pUFu/fO93rrMvNrx8gfMxR8W5zDTreBX0cfMx2pw6EVmyi/YzsQ==} + '@rspack/binding-win32-x64-msvc@2.0.1': + resolution: {integrity: sha512-oPM2Jtm7HOlmxl/aBfleAVlL6t9VeHx6WvEets7BBJMInemFXAQd4CErRqybf7rXutACzLeUWBOue4Jpd1/ykw==} cpu: [x64] os: [win32] '@rspack/binding@1.7.11': resolution: {integrity: sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==} - '@rspack/binding@2.0.0': - resolution: {integrity: sha512-WA2f9eQpejkvf5Vrnf6wNCn1m8RT1p08NjgOZpKhsCzr0uBjWeRvGduawlrFFHZh/jPnWZTVaVdQ08FEAWbwGw==} + '@rspack/binding@2.0.1': + resolution: {integrity: sha512-ynV1gw4KqFtQ0P+ZZh76SUj49wBb2FuHW3zSmHverHWuxBhzvrZS6/dZ+fCFQG8bTTPtrPz0RQUTN3uEDbPVBQ==} '@rspack/core@1.7.11': resolution: {integrity: sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==} @@ -18185,8 +18244,8 @@ packages: '@swc/helpers': optional: true - '@rspack/core@2.0.0': - resolution: {integrity: sha512-WD1mJM9LbZ7Z399Rbv9dE3BNEV0+3sE5OzDdzV8hOxUb3mX++ynK5n9kil8w60B6nGdcKeV9ly5aN4PgqiwWUg==} + '@rspack/core@2.0.1': + resolution: {integrity: sha512-lgfZiExh8kDR/3obgi3RQKwKG5av1Xf5qDN1aVde777W9pbmx0Pqvrww1qtNvJ+gobEjbrrn5HEZWYGe0VLmcA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@module-federation/runtime-tools': ^0.24.1 || ^2.0.0 @@ -27602,21 +27661,21 @@ snapshots: dependencies: '@emnapi/wasi-threads': 1.2.1 tslib: 2.8.1 - optional: true '@emnapi/core@1.9.2': dependencies: '@emnapi/wasi-threads': 1.2.1 tslib: 2.8.1 + optional: true '@emnapi/runtime@1.10.0': dependencies: tslib: 2.8.1 - optional: true '@emnapi/runtime@1.9.2': dependencies: tslib: 2.8.1 + optional: true '@emnapi/wasi-threads@1.2.1': dependencies: @@ -28803,12 +28862,12 @@ snapshots: '@img/sharp-wasm32@0.34.4': dependencies: - '@emnapi/runtime': 1.9.2 + '@emnapi/runtime': 1.10.0 optional: true '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.9.2 + '@emnapi/runtime': 1.10.0 optional: true '@img/sharp-win32-arm64@0.34.4': @@ -29316,15 +29375,15 @@ snapshots: '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 '@tybys/wasm-util': 0.10.1 optional: true '@napi-rs/wasm-runtime@0.2.4': dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 '@tybys/wasm-util': 0.9.0 '@napi-rs/wasm-runtime@1.0.7': @@ -29334,27 +29393,20 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.1.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.1 - optional: true - '@neon-rs/load@0.0.4': {} '@netlify/api@14.0.7': @@ -29825,7 +29877,7 @@ snapshots: '@oxc-minify/binding-wasm32-wasi@0.110.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -29896,7 +29948,7 @@ snapshots: '@oxc-resolver/binding-wasm32-wasi@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -29961,7 +30013,7 @@ snapshots: '@oxc-transform/binding-wasm32-wasi@0.110.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -31070,12 +31122,12 @@ snapshots: dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) optional: true '@rolldown/binding-wasm32-wasi@1.0.0-rc.9(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -31249,7 +31301,7 @@ snapshots: '@rsbuild/core@2.0.1(core-js@3.40.0)': dependencies: - '@rspack/core': 2.0.0(@swc/helpers@0.5.21) + '@rspack/core': '@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358(@swc/helpers@0.5.21)' '@swc/helpers': 0.5.21 optionalDependencies: core-js: 3.40.0 @@ -31283,9 +31335,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@rsbuild/plugin-react@2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21))': + '@rsbuild/plugin-react@2.0.0(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21))': dependencies: - '@rspack/plugin-react-refresh': 2.0.0(@rspack/core@2.0.0(@swc/helpers@0.5.21))(react-refresh@0.18.0) + '@rspack/plugin-react-refresh': 2.0.0(@rspack/core@2.0.1(@swc/helpers@0.5.21))(react-refresh@0.18.0) react-refresh: 0.18.0 optionalDependencies: '@rsbuild/core': 2.0.1(core-js@3.40.0) @@ -31339,9 +31391,9 @@ snapshots: - vue - webpack-cli - '@rsbuild/plugin-vue@1.2.7(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.0(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2))': + '@rsbuild/plugin-vue@1.2.7(@rsbuild/core@2.0.1(core-js@3.40.0))(@rspack/core@2.0.1(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2))': dependencies: - rspack-vue-loader: 17.5.0(@rspack/core@2.0.0(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2)) + rspack-vue-loader: 17.5.0(@rspack/core@2.0.1(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2)) optionalDependencies: '@rsbuild/core': 2.0.1(core-js@3.40.0) transitivePeerDependencies: @@ -31349,40 +31401,93 @@ snapshots: - '@vue/compiler-sfc' - vue + '@rspack-canary/binding-darwin-arm64@2.0.3-canary-9a18d280-20260509102358': + optional: true + + '@rspack-canary/binding-darwin-x64@2.0.3-canary-9a18d280-20260509102358': + optional: true + + '@rspack-canary/binding-linux-arm64-gnu@2.0.3-canary-9a18d280-20260509102358': + optional: true + + '@rspack-canary/binding-linux-arm64-musl@2.0.3-canary-9a18d280-20260509102358': + optional: true + + '@rspack-canary/binding-linux-x64-gnu@2.0.3-canary-9a18d280-20260509102358': + optional: true + + '@rspack-canary/binding-linux-x64-musl@2.0.3-canary-9a18d280-20260509102358': + optional: true + + '@rspack-canary/binding-wasm32-wasi@2.0.3-canary-9a18d280-20260509102358': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + optional: true + + '@rspack-canary/binding-win32-arm64-msvc@2.0.3-canary-9a18d280-20260509102358': + optional: true + + '@rspack-canary/binding-win32-ia32-msvc@2.0.3-canary-9a18d280-20260509102358': + optional: true + + '@rspack-canary/binding-win32-x64-msvc@2.0.3-canary-9a18d280-20260509102358': + optional: true + + '@rspack-canary/binding@2.0.3-canary-9a18d280-20260509102358': + optionalDependencies: + '@rspack/binding-darwin-arm64': '@rspack-canary/binding-darwin-arm64@2.0.3-canary-9a18d280-20260509102358' + '@rspack/binding-darwin-x64': '@rspack-canary/binding-darwin-x64@2.0.3-canary-9a18d280-20260509102358' + '@rspack/binding-linux-arm64-gnu': '@rspack-canary/binding-linux-arm64-gnu@2.0.3-canary-9a18d280-20260509102358' + '@rspack/binding-linux-arm64-musl': '@rspack-canary/binding-linux-arm64-musl@2.0.3-canary-9a18d280-20260509102358' + '@rspack/binding-linux-x64-gnu': '@rspack-canary/binding-linux-x64-gnu@2.0.3-canary-9a18d280-20260509102358' + '@rspack/binding-linux-x64-musl': '@rspack-canary/binding-linux-x64-musl@2.0.3-canary-9a18d280-20260509102358' + '@rspack/binding-wasm32-wasi': '@rspack-canary/binding-wasm32-wasi@2.0.3-canary-9a18d280-20260509102358' + '@rspack/binding-win32-arm64-msvc': '@rspack-canary/binding-win32-arm64-msvc@2.0.3-canary-9a18d280-20260509102358' + '@rspack/binding-win32-ia32-msvc': '@rspack-canary/binding-win32-ia32-msvc@2.0.3-canary-9a18d280-20260509102358' + '@rspack/binding-win32-x64-msvc': '@rspack-canary/binding-win32-x64-msvc@2.0.3-canary-9a18d280-20260509102358' + + '@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358(@swc/helpers@0.5.21)': + dependencies: + '@rspack/binding': '@rspack-canary/binding@2.0.3-canary-9a18d280-20260509102358' + optionalDependencies: + '@swc/helpers': 0.5.21 + '@rspack/binding-darwin-arm64@1.7.11': optional: true - '@rspack/binding-darwin-arm64@2.0.0': + '@rspack/binding-darwin-arm64@2.0.1': optional: true '@rspack/binding-darwin-x64@1.7.11': optional: true - '@rspack/binding-darwin-x64@2.0.0': + '@rspack/binding-darwin-x64@2.0.1': optional: true '@rspack/binding-linux-arm64-gnu@1.7.11': optional: true - '@rspack/binding-linux-arm64-gnu@2.0.0': + '@rspack/binding-linux-arm64-gnu@2.0.1': optional: true '@rspack/binding-linux-arm64-musl@1.7.11': optional: true - '@rspack/binding-linux-arm64-musl@2.0.0': + '@rspack/binding-linux-arm64-musl@2.0.1': optional: true '@rspack/binding-linux-x64-gnu@1.7.11': optional: true - '@rspack/binding-linux-x64-gnu@2.0.0': + '@rspack/binding-linux-x64-gnu@2.0.1': optional: true '@rspack/binding-linux-x64-musl@1.7.11': optional: true - '@rspack/binding-linux-x64-musl@2.0.0': + '@rspack/binding-linux-x64-musl@2.0.1': optional: true '@rspack/binding-wasm32-wasi@1.7.11': @@ -31390,7 +31495,7 @@ snapshots: '@napi-rs/wasm-runtime': 1.0.7 optional: true - '@rspack/binding-wasm32-wasi@2.0.0': + '@rspack/binding-wasm32-wasi@2.0.1': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 @@ -31400,19 +31505,19 @@ snapshots: '@rspack/binding-win32-arm64-msvc@1.7.11': optional: true - '@rspack/binding-win32-arm64-msvc@2.0.0': + '@rspack/binding-win32-arm64-msvc@2.0.1': optional: true '@rspack/binding-win32-ia32-msvc@1.7.11': optional: true - '@rspack/binding-win32-ia32-msvc@2.0.0': + '@rspack/binding-win32-ia32-msvc@2.0.1': optional: true '@rspack/binding-win32-x64-msvc@1.7.11': optional: true - '@rspack/binding-win32-x64-msvc@2.0.0': + '@rspack/binding-win32-x64-msvc@2.0.1': optional: true '@rspack/binding@1.7.11': @@ -31429,18 +31534,19 @@ snapshots: '@rspack/binding-win32-x64-msvc': 1.7.11 optional: true - '@rspack/binding@2.0.0': + '@rspack/binding@2.0.1': optionalDependencies: - '@rspack/binding-darwin-arm64': 2.0.0 - '@rspack/binding-darwin-x64': 2.0.0 - '@rspack/binding-linux-arm64-gnu': 2.0.0 - '@rspack/binding-linux-arm64-musl': 2.0.0 - '@rspack/binding-linux-x64-gnu': 2.0.0 - '@rspack/binding-linux-x64-musl': 2.0.0 - '@rspack/binding-wasm32-wasi': 2.0.0 - '@rspack/binding-win32-arm64-msvc': 2.0.0 - '@rspack/binding-win32-ia32-msvc': 2.0.0 - '@rspack/binding-win32-x64-msvc': 2.0.0 + '@rspack/binding-darwin-arm64': 2.0.1 + '@rspack/binding-darwin-x64': 2.0.1 + '@rspack/binding-linux-arm64-gnu': 2.0.1 + '@rspack/binding-linux-arm64-musl': 2.0.1 + '@rspack/binding-linux-x64-gnu': 2.0.1 + '@rspack/binding-linux-x64-musl': 2.0.1 + '@rspack/binding-wasm32-wasi': 2.0.1 + '@rspack/binding-win32-arm64-msvc': 2.0.1 + '@rspack/binding-win32-ia32-msvc': 2.0.1 + '@rspack/binding-win32-x64-msvc': 2.0.1 + optional: true '@rspack/core@1.7.11(@swc/helpers@0.5.21)': dependencies: @@ -31451,19 +31557,20 @@ snapshots: '@swc/helpers': 0.5.21 optional: true - '@rspack/core@2.0.0(@swc/helpers@0.5.21)': + '@rspack/core@2.0.1(@swc/helpers@0.5.21)': dependencies: - '@rspack/binding': 2.0.0 + '@rspack/binding': 2.0.1 optionalDependencies: '@swc/helpers': 0.5.21 + optional: true '@rspack/lite-tapable@1.1.0': {} - '@rspack/plugin-react-refresh@2.0.0(@rspack/core@2.0.0(@swc/helpers@0.5.21))(react-refresh@0.18.0)': + '@rspack/plugin-react-refresh@2.0.0(@rspack/core@2.0.1(@swc/helpers@0.5.21))(react-refresh@0.18.0)': dependencies: react-refresh: 0.18.0 optionalDependencies: - '@rspack/core': 2.0.0(@swc/helpers@0.5.21) + '@rspack/core': 2.0.1(@swc/helpers@0.5.21) '@rushstack/node-core-library@5.7.0(@types/node@25.0.9)': dependencies: @@ -33458,7 +33565,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.1.0 - vitest: 4.1.4(@types/node@25.0.9)(@vitest/ui@4.1.4)(jsdom@25.0.1)(msw@2.7.0(@types/node@25.0.9)(typescript@6.0.2))(vite@8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.0.9)(esbuild@0.27.4)(jiti@2.7.0)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.37.0)(tsx@4.21.0)(yaml@2.8.1)) + vitest: 4.1.4(@types/node@25.0.9)(@vitest/ui@4.1.4)(jsdom@27.0.0(postcss@8.5.8))(msw@2.7.0(@types/node@25.0.9)(typescript@6.0.2))(vite@8.0.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.0.9)(esbuild@0.27.4)(jiti@2.7.0)(sass-embedded@1.97.2)(sass@1.97.2)(terser@5.37.0)(tsx@4.21.0)(yaml@2.8.1)) '@vitest/utils@4.1.4': dependencies: @@ -38894,9 +39001,9 @@ snapshots: optionalDependencies: '@types/react': 19.2.9 - react-server-dom-rspack@0.0.2(@rspack/core@2.0.0(@swc/helpers@0.5.21))(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + react-server-dom-rspack@0.0.2(@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358(@swc/helpers@0.5.21))(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: - '@rspack/core': 2.0.0(@swc/helpers@0.5.21) + '@rspack/core': '@rspack-canary/core@2.0.3-canary-9a18d280-20260509102358(@swc/helpers@0.5.21)' react: 19.2.3 react-dom: 19.2.3(react@19.2.3) @@ -39224,12 +39331,12 @@ snapshots: optionalDependencies: vue: 3.5.25(typescript@6.0.2) - rspack-vue-loader@17.5.0(@rspack/core@2.0.0(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2)): + rspack-vue-loader@17.5.0(@rspack/core@2.0.1(@swc/helpers@0.5.21))(vue@3.5.25(typescript@6.0.2)): dependencies: '@rspack/lite-tapable': 1.1.0 chalk: 4.1.2 optionalDependencies: - '@rspack/core': 2.0.0(@swc/helpers@0.5.21) + '@rspack/core': 2.0.1(@swc/helpers@0.5.21) vue: 3.5.25(typescript@6.0.2) run-applescript@7.0.0: {}