From acb80807cc75c3758d7d519a92ebe191d7653802 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Tue, 21 Jul 2026 23:26:57 +0000 Subject: [PATCH 01/14] feat(rstest): add federation integration plugin --- .changeset/calm-cats-test.md | 5 + .changeset/config.json | 1 + packages/rstest/CHANGELOG.md | 5 + packages/rstest/LICENSE | 21 + packages/rstest/README.md | 89 ++++ packages/rstest/package.json | 67 +++ packages/rstest/rslib.config.ts | 46 ++ packages/rstest/rstest.config.ts | 13 + packages/rstest/src/externals-bypass.ts | 73 +++ packages/rstest/src/index.test.ts | 639 ++++++++++++++++++++++++ packages/rstest/src/index.ts | 2 + packages/rstest/src/logger.ts | 3 + packages/rstest/src/node-defaults.ts | 83 +++ packages/rstest/src/plugin.ts | 144 ++++++ packages/rstest/src/remotes.test.ts | 76 +++ packages/rstest/src/remotes.ts | 164 ++++++ packages/rstest/src/rspack-hook.ts | 36 ++ packages/rstest/src/runtime-plugin.ts | 51 ++ packages/rstest/src/types.ts | 12 + packages/rstest/tsconfig.json | 20 + packages/rstest/tsconfig.lib.json | 15 + pnpm-lock.yaml | 22 + 22 files changed, 1587 insertions(+) create mode 100644 .changeset/calm-cats-test.md create mode 100644 packages/rstest/CHANGELOG.md create mode 100644 packages/rstest/LICENSE create mode 100644 packages/rstest/README.md create mode 100644 packages/rstest/package.json create mode 100644 packages/rstest/rslib.config.ts create mode 100644 packages/rstest/rstest.config.ts create mode 100644 packages/rstest/src/externals-bypass.ts create mode 100644 packages/rstest/src/index.test.ts create mode 100644 packages/rstest/src/index.ts create mode 100644 packages/rstest/src/logger.ts create mode 100644 packages/rstest/src/node-defaults.ts create mode 100644 packages/rstest/src/plugin.ts create mode 100644 packages/rstest/src/remotes.test.ts create mode 100644 packages/rstest/src/remotes.ts create mode 100644 packages/rstest/src/rspack-hook.ts create mode 100644 packages/rstest/src/runtime-plugin.ts create mode 100644 packages/rstest/src/types.ts create mode 100644 packages/rstest/tsconfig.json create mode 100644 packages/rstest/tsconfig.lib.json diff --git a/.changeset/calm-cats-test.md b/.changeset/calm-cats-test.md new file mode 100644 index 00000000000..6f3f2902b0d --- /dev/null +++ b/.changeset/calm-cats-test.md @@ -0,0 +1,5 @@ +--- +'@module-federation/rstest': patch +--- + +Add the Rstest federation plugin and automatically enable Rstest's Node compatibility mode when its exposed configuration API is available. diff --git a/.changeset/config.json b/.changeset/config.json index c2b31315e19..ff7d47e9f9c 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -23,6 +23,7 @@ "@module-federation/modern-js-v3", "@module-federation/retry-plugin", "@module-federation/rsbuild-plugin", + "@module-federation/rstest", "@module-federation/error-codes", "@module-federation/inject-external-runtime-core-plugin", "@module-federation/runtime-core", diff --git a/packages/rstest/CHANGELOG.md b/packages/rstest/CHANGELOG.md new file mode 100644 index 00000000000..5c0d8c52199 --- /dev/null +++ b/packages/rstest/CHANGELOG.md @@ -0,0 +1,5 @@ +# @module-federation/rstest + +## 2.8.0 + +- Initial release (extracted from `@rstest/core`). diff --git a/packages/rstest/LICENSE b/packages/rstest/LICENSE new file mode 100644 index 00000000000..ff387063904 --- /dev/null +++ b/packages/rstest/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024-present Bytedance, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/rstest/README.md b/packages/rstest/README.md new file mode 100644 index 00000000000..8466c7b5f6b --- /dev/null +++ b/packages/rstest/README.md @@ -0,0 +1,89 @@ +# @module-federation/rstest + +This package contains the `federation()` Rsbuild plugin used by Rstest to enable +Module Federation compatibility mode for Node test environments +(JSDOM / Node workers) and browser mode. + +It is the companion plugin for [Rstest](https://rstest.rs)'s federation mode, +owned and versioned alongside the rest of the Module Federation tooling. + +## Required @rstest/core version + +Node test environments require Rstest's federation support +([web-infra-dev/rstest#1407](https://github.com/web-infra-dev/rstest/pull/1407)). +Until that release, pair this plugin with a pkg.pr.new canary build from that +PR, for example: + +```bash +npm install https://pkg.pr.new/@rstest/core@647b5d0 +``` + +When supported, this plugin automatically enables Rstest's federation +compatibility mode for Node test environments. Older Rstest versions do not +expose that configuration API, so the plugin leaves their configuration +unchanged. + +## Stable plugin name + +The plugin registers itself with the Rsbuild plugin name `rstest:federation` +(exported as `FEDERATION_PLUGIN_NAME`). This name is a stable, public contract: +rstest may detect the plugin by this name to enable federation-specific +behavior. It will not be renamed without a major version bump. + +## Usage + +### Node/JSDOM test environments (default) + +```ts +import { federation } from '@module-federation/rstest'; +import { defineConfig } from '@rstest/core'; + +export default defineConfig({ + plugins: [ + federation({ + name: 'main_app_web', + remotes: { + 'component-app': 'component_app@http://localhost:3001/remoteEntry.js', + }, + shared: { + react: { singleton: true }, + 'react-dom': { singleton: true }, + }, + }), + ], +}); +``` + +By default, `federation()` applies Node-safe Module Federation settings: + +- `target: async-node` +- `experiments.asyncStartup = true` +- CommonJS library output (`library.type = 'commonjs-module'`) +- Node runtime plugin (`@module-federation/node/runtimePlugin`) +- `experiments.optimization.target = 'node'` +- Remote transport is inferred from each remote declaration, so standard URL + remotes and `commonjs ...` path remotes work without setting `remoteType` + +### Browser mode + +```ts +import { federation } from '@module-federation/rstest'; +import { defineConfig } from '@rstest/core'; + +export default defineConfig({ + plugins: [ + federation( + { + name: 'browser_host', + remotes: { + app2: 'app2@http://localhost:3001/remoteEntry.js', + }, + }, + { target: 'browser' }, + ), + ], +}); +``` + +In browser target mode, node-only defaults are not applied. +`experiments.asyncStartup` remains enabled. diff --git a/packages/rstest/package.json b/packages/rstest/package.json new file mode 100644 index 00000000000..25846b4c04c --- /dev/null +++ b/packages/rstest/package.json @@ -0,0 +1,67 @@ +{ + "name": "@module-federation/rstest", + "version": "2.8.0", + "description": "Companion Rsbuild plugin for Rstest's Module Federation mode.", + "homepage": "https://module-federation.io", + "bugs": { + "url": "https://github.com/module-federation/core/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/module-federation/core.git", + "directory": "packages/rstest" + }, + "license": "MIT", + "type": "module", + "exports": { + ".": { + "import": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist", + "README.md", + "LICENSE" + ], + "scripts": { + "build": "rslib build", + "lint": "ESLINT_USE_FLAT_CONFIG=false pnpm exec eslint --ignore-pattern node_modules \"**/*.ts\" \"package.json\"", + "test": "pnpm exec rstest run -c rstest.config.ts", + "pre-release": "pnpm run test && pnpm run build" + }, + "devDependencies": { + "@rslib/core": "^0.23.2", + "@rsbuild/core": "2.1.4", + "@rstest/core": "^0.10.6" + }, + "peerDependencies": { + "@rsbuild/core": "^1.3.21 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@rsbuild/core": { + "optional": true + } + }, + "dependencies": { + "@module-federation/enhanced": "workspace:*", + "@module-federation/node": "workspace:*", + "@module-federation/sdk": "workspace:*" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/packages/rstest/rslib.config.ts b/packages/rstest/rslib.config.ts new file mode 100644 index 00000000000..1699f219785 --- /dev/null +++ b/packages/rstest/rslib.config.ts @@ -0,0 +1,46 @@ +import { defineConfig } from '@rslib/core'; +import { pluginPublint } from 'rsbuild-plugin-publint'; + +export default defineConfig({ + plugins: [pluginPublint()], + lib: [ + { + format: 'esm', + syntax: 'es2021', + bundle: true, + dts: { + autoExtension: true, + distPath: './dist', + }, + }, + { + format: 'cjs', + syntax: 'es2021', + bundle: true, + dts: { + autoExtension: true, + distPath: './dist', + }, + }, + ], + source: { + entry: { + index: './src/index.ts', + }, + tsconfigPath: './tsconfig.lib.json', + }, + output: { + target: 'node', + distPath: { + root: './dist', + }, + // Keep workspace packages external; everything else is bundled for portability. + externals: [/@module-federation\//, 'pnpapi'], + copy: [ + { + from: './LICENSE', + to: '.', + }, + ], + }, +}); diff --git a/packages/rstest/rstest.config.ts b/packages/rstest/rstest.config.ts new file mode 100644 index 00000000000..b86cff75da6 --- /dev/null +++ b/packages/rstest/rstest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig } from '@rstest/core'; +import path from 'node:path'; + +export default defineConfig({ + testEnvironment: 'node', + globals: true, + testTimeout: 10_000, + include: [ + path.resolve(__dirname, 'src/**/*.test.ts'), + path.resolve(__dirname, 'src/**/*.spec.ts'), + ], + exclude: ['**/dist/**', '**/node_modules/**'], +}); diff --git a/packages/rstest/src/externals-bypass.ts b/packages/rstest/src/externals-bypass.ts new file mode 100644 index 00000000000..66759f942e3 --- /dev/null +++ b/packages/rstest/src/externals-bypass.ts @@ -0,0 +1,73 @@ +import type { Rspack } from '@rsbuild/core'; + +import { NODE_RUNTIME_PLUGIN } from './runtime-plugin'; + +const DATA_JAVASCRIPT_REQUEST = /!=!data:text\/javascript(?:;|,)/i; + +const isFederationRemoteRequest = ( + request: string, + remoteNames: Set, +): boolean => { + if (!remoteNames.size) { + return false; + } + + for (const remoteName of remoteNames) { + if (request === remoteName) { + return true; + } + + if (!request.startsWith(remoteName)) { + continue; + } + + const separator = request[remoteName.length]; + if (separator === '/' || separator === '@') { + return true; + } + } + + return false; +}; + +export const shouldKeepBundledForFederation = ( + request: string, + remoteNames?: Set, +): boolean => { + if (DATA_JAVASCRIPT_REQUEST.test(request)) { + return true; + } + + if (request === NODE_RUNTIME_PLUGIN) { + return true; + } + + if (request.startsWith('@module-federation/')) { + return true; + } + + if (request.startsWith('webpack/container/reference/')) { + return true; + } + + return remoteNames ? isFederationRemoteRequest(request, remoteNames) : false; +}; + +export const createFederationExternalBypass = ( + remoteNames: Set, +): (( + data: Rspack.ExternalItemFunctionData, + callback: ( + err?: Error, + result?: Rspack.ExternalItemValue, + type?: Rspack.ExternalsType, + ) => void, +) => void) => { + return function federationExternalBypass({ request }, callback) { + if (!request || !shouldKeepBundledForFederation(request, remoteNames)) { + return callback(); + } + + return callback(undefined, false); + }; +}; diff --git a/packages/rstest/src/index.test.ts b/packages/rstest/src/index.test.ts new file mode 100644 index 00000000000..1d53da02c24 --- /dev/null +++ b/packages/rstest/src/index.test.ts @@ -0,0 +1,639 @@ +import { createRequire } from 'node:module'; +import { describe, expect, it } from '@rstest/core'; +import type { + EnvironmentConfig, + RsbuildPluginAPI, + Rspack, +} from '@rsbuild/core'; + +import { shouldKeepBundledForFederation } from './externals-bypass'; +import { FEDERATION_PLUGIN_NAME, federation } from './index'; +import type { ModuleFederationOptions } from './types'; + +const require = createRequire(import.meta.url); +const NODE_RUNTIME_PLUGIN_REQUEST = '@module-federation/node/runtimePlugin'; +const NODE_RUNTIME_PLUGIN = require.resolve(NODE_RUNTIME_PLUGIN_REQUEST); + +type FederationPlugin = ReturnType; + +type TestRstestConfig = { + federation?: boolean; +}; + +type MergeEnvironmentConfig = ( + ...configs: EnvironmentConfig[] +) => EnvironmentConfig; + +type EnvHook = ( + config: EnvironmentConfig, + utils: { mergeEnvironmentConfig: MergeEnvironmentConfig }, +) => EnvironmentConfig; + +type EnvHookDescriptor = + | EnvHook + | { handler: EnvHook; order?: 'pre' | 'post' | 'default' }; + +// Loose rspack-config shape for tests: real Rspack.Configuration rejects the +// fake plugin objects the tests construct, so the cast to the real type +// happens once, at the hook boundary in runRspackHooks. +type TestRspackConfig = { + target?: unknown; + output?: { module?: boolean }; + optimization?: { splitChunks?: unknown }; + experiments?: { outputModule?: boolean }; + externals?: unknown[]; + plugins?: unknown[]; +}; + +type ExternalFunction = ( + data: { request?: string }, + callback: (err?: Error, result?: unknown) => void, +) => void; + +const getExternalBypass = (config: TestRspackConfig): ExternalFunction => { + expect(Array.isArray(config.externals)).toBe(true); + const fn = config.externals?.[0]; + expect(typeof fn).toBe('function'); + return fn as ExternalFunction; +}; + +const callExternal = (fn: ExternalFunction, request: string): unknown => { + let result: unknown = 'unset'; + fn({ request }, (_err, res) => { + result = res; + }); + return result; +}; + +// The plugin instances pushed into rspackConfig.plugins by the federation +// plugin. `_options` is the private field of ModuleFederationPlugin; the +// tests read it the same way `remotes.ts` does. +type ModuleFederationPluginInstance = { + constructor?: { name?: string }; + _options?: ModuleFederationOptions; + options?: ModuleFederationOptions; +}; + +const shallowMergeEnvironmentConfig: MergeEnvironmentConfig = (...configs) => + Object.assign({}, ...configs); + +const getFederationPluginOptions = ( + plugins: unknown[] | undefined, +): ModuleFederationOptions => { + const plugin = (plugins ?? []).find( + (item): item is ModuleFederationPluginInstance => + (item as ModuleFederationPluginInstance | undefined)?.constructor + ?.name === 'ModuleFederationPlugin', + ); + expect(plugin).toBeTruthy(); + const options = plugin!._options ?? plugin!.options; + expect(options).toBeTruthy(); + return options!; +}; + +// Minimal Rsbuild API surface used by the plugin. rstest sets callerName to +// 'rstest' (node) or 'rstest-browser' (browser) on its Rsbuild instances. +const setupFederationPlugin = ( + plugin: FederationPlugin, + callerName = 'rstest', +): { envHook: EnvHook; order: unknown; rstestConfig: TestRstestConfig } => { + let envHook: EnvHook | undefined; + let order: unknown; + const rstestConfig: TestRstestConfig = {}; + + const fakeApi = { + context: { callerName }, + useExposed: (name: string) => + name === 'rstest' + ? { + modifyRstestConfig: ( + callback: (config: TestRstestConfig) => void, + ) => callback(rstestConfig), + } + : undefined, + modifyEnvironmentConfig: (hook: EnvHookDescriptor) => { + if (typeof hook === 'function') { + envHook = hook; + } else { + envHook = hook.handler; + order = hook.order; + } + }, + }; + + plugin.setup(fakeApi as unknown as RsbuildPluginAPI); + + expect(typeof envHook).toBe('function'); + return { envHook: envHook!, order, rstestConfig }; +}; + +const runRspackHooks = ( + merged: EnvironmentConfig, + rspackConfig: TestRspackConfig, +): void => { + const registered = merged.tools?.rspack; + const hooks = Array.isArray(registered) ? registered : [registered]; + for (const hook of hooks) { + if (typeof hook === 'function') { + (hook as (cfg: TestRspackConfig, utils: unknown) => void)( + rspackConfig, + {}, + ); + } + } +}; + +// Runs the plugin's environment hook and every registered tools.rspack hook +// against the provided rspack config, mirroring what Rsbuild does. +const applyFederationPlugin = ( + plugin: FederationPlugin, + { + callerName = 'rstest', + config = {}, + mergeEnvironmentConfig = shallowMergeEnvironmentConfig, + rspackConfig = { output: {}, plugins: [] }, + }: { + callerName?: string; + config?: EnvironmentConfig; + mergeEnvironmentConfig?: MergeEnvironmentConfig; + rspackConfig?: TestRspackConfig; + } = {}, +) => { + const { envHook } = setupFederationPlugin(plugin, callerName); + const merged = envHook(config, { mergeEnvironmentConfig }); + + runRspackHooks(merged, rspackConfig); + + return { merged, rspackConfig }; +}; + +const captureWarnings = (run: () => void): string[] => { + const consoleWithWarn = console as typeof console & { + warn: (...args: unknown[]) => void; + }; + const originalWarn = consoleWithWarn.warn; + const warnings: string[] = []; + + consoleWithWarn.warn = (...args: unknown[]) => { + warnings.push(args.map((arg) => String(arg)).join(' ')); + }; + + try { + run(); + } finally { + consoleWithWarn.warn = originalWarn; + } + + return warnings; +}; + +describe('shouldKeepBundledForFederation', () => { + it('keeps loader-style data: javascript requests bundled', () => { + expect( + shouldKeepBundledForFederation( + 'something!=!data:text/javascript,console.log(1)', + ), + ).toBe(true); + }); + + it('keeps @module-federation/* requests bundled', () => { + expect(shouldKeepBundledForFederation('@module-federation/node')).toBe( + true, + ); + }); + + it('keeps the resolved node runtime plugin path bundled', () => { + expect( + shouldKeepBundledForFederation( + require.resolve('@module-federation/node/runtimePlugin'), + ), + ).toBe(true); + }); + + it('keeps webpack container reference requests bundled', () => { + expect( + shouldKeepBundledForFederation( + 'webpack/container/reference/component-app', + ), + ).toBe(true); + }); + + it('keeps requests that match discovered remote names bundled', () => { + const remoteNames = new Set(['component-app']); + expect( + shouldKeepBundledForFederation('component-app/Button', remoteNames), + ).toBe(true); + }); + + it('keeps requests that match remote@entry-url shape bundled', () => { + const remoteNames = new Set(['component-app']); + expect( + shouldKeepBundledForFederation( + 'component-app@http://localhost:3001/mf-manifest.json', + remoteNames, + ), + ).toBe(true); + }); + + it('does not keep unrelated packages bundled', () => { + expect(shouldKeepBundledForFederation('react')).toBe(false); + }); +}); + +describe('federation()', () => { + it('uses the stable public plugin name', () => { + expect(FEDERATION_PLUGIN_NAME).toBe('rstest:federation'); + expect(federation().name).toBe('rstest:federation'); + }); + + it('registers modifyEnvironmentConfig with post order', () => { + const { order } = setupFederationPlugin(federation()); + expect(order).toBe('post'); + }); + + it('enables Rstest federation compatibility for node targets', () => { + const { rstestConfig } = setupFederationPlugin(federation()); + + expect(rstestConfig.federation).toBe(true); + }); + + it('does not enable Rstest federation compatibility for browser targets', () => { + const { rstestConfig } = setupFederationPlugin( + federation(undefined, { target: 'browser' }), + ); + + expect(rstestConfig.federation).toBeUndefined(); + }); + + it('patches rspack config to force CJS output in node/jsdom workers', () => { + const { merged, rspackConfig } = applyFederationPlugin(federation()); + + expect(merged.output?.target).toBe('node'); + expect(rspackConfig.target).toBe('async-node'); + expect(rspackConfig.optimization?.splitChunks).toBe(false); + expect(rspackConfig.experiments?.outputModule).toBe(false); + expect(rspackConfig.output?.module).toBe(false); + }); + + it('keeps federation remote requests bundled via externals bypass', () => { + const { rspackConfig } = applyFederationPlugin(federation(), { + rspackConfig: { + output: {}, + externals: ['react'], + plugins: [ + { + constructor: { name: 'ModuleFederationPlugin' }, + _options: { + remotes: { + 'component-app': + 'component_app@http://localhost:3001/remoteEntry.js', + }, + experiments: { + optimization: { + target: 'node', + }, + }, + }, + }, + ], + }, + }); + + const bypass = getExternalBypass(rspackConfig); + expect(callExternal(bypass, 'component-app/Button')).toBe(false); + expect(callExternal(bypass, 'react')).toBe(undefined); + }); + + it('auto-applies ModuleFederationPlugin with node defaults', () => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'main_app_web', + remotes: { + 'component-app': 'component_app@http://localhost:3001/remoteEntry.js', + }, + shared: { + react: { singleton: true }, + }, + }), + ); + + expect(rspackConfig.target).toBe('async-node'); + expect(rspackConfig.optimization?.splitChunks).toBe(false); + expect(rspackConfig.experiments?.outputModule).toBe(false); + expect(rspackConfig.output?.module).toBe(false); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options!.name).toBe('main_app_web'); + expect(options!.library?.type).toBe('commonjs-module'); + expect(options!.library?.name).toBe('main_app_web'); + expect(options!.remoteType).toBe(undefined); + expect(options!.runtimePlugins).toEqual([NODE_RUNTIME_PLUGIN]); + expect(options!.experiments?.asyncStartup).toBe(true); + expect(options!.experiments?.optimization?.target).toBe('node'); + }); + + it('disables dts, manifest, and dev machinery by default', () => { + const { rspackConfig } = applyFederationPlugin( + federation({ name: 'defaults_off_app' }), + ); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options!.dts).toBe(false); + expect(options!.manifest).toBe(false); + expect(options!.dev).toBe(false); + }); + + it('disables dts, manifest, and dev by default for browser target too', () => { + const { rspackConfig } = applyFederationPlugin( + federation({ name: 'browser_defaults_off_app' }, { target: 'browser' }), + ); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options!.dts).toBe(false); + expect(options!.manifest).toBe(false); + expect(options!.dev).toBe(false); + }); + + it('preserves explicit dts, manifest, and dev values', () => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'defaults_on_app', + dts: true, + manifest: { filePath: 'custom' }, + dev: true, + }), + ); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options!.dts).toBe(true); + expect(options!.manifest).toEqual({ filePath: 'custom' }); + expect(options!.dev).toBe(true); + }); + + it('preserves user overrides while still injecting node runtime plugin', () => { + let options: ModuleFederationOptions | undefined; + const warnings = captureWarnings(() => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'component_app', + remotes: { + host: 'host@http://localhost:3000/remoteEntry.js', + }, + remoteType: 'commonjs', + library: { + type: 'var', + name: 'custom_library_name', + }, + runtimePlugins: ['custom/runtimePlugin'], + experiments: { + optimization: { + target: 'node', + }, + }, + }), + ); + options = getFederationPluginOptions(rspackConfig.plugins); + }); + + expect(options!.remoteType).toBe('commonjs'); + expect(options!.library?.type).toBe('var'); + expect(options!.library?.name).toBe('component_app'); + expect(options!.experiments?.asyncStartup).toBe(true); + expect(options!.runtimePlugins).toEqual([ + NODE_RUNTIME_PLUGIN, + 'custom/runtimePlugin', + ]); + expect(warnings.join('\n')).toContain( + 'library.name "custom_library_name" is overridden with the container name "component_app"', + ); + }); + + it('forces node optimization target even when configured otherwise', () => { + let options: ModuleFederationOptions | undefined; + const warnings = captureWarnings(() => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'component_app', + experiments: { + optimization: { + target: 'web', + }, + }, + }), + ); + options = getFederationPluginOptions(rspackConfig.plugins); + }); + + expect(options!.experiments?.optimization?.target).toBe('node'); + expect(warnings.join('\n')).toContain( + 'experiments.optimization.target "web" is overridden with "node"', + ); + }); + + it('forces async startup and warns when disabled manually', () => { + let options: ModuleFederationOptions | undefined; + const warnings = captureWarnings(() => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'legacy_component_app', + experiments: { + asyncStartup: false, + }, + }), + ); + options = getFederationPluginOptions(rspackConfig.plugins); + }); + + expect(options!.experiments?.asyncStartup).toBe(true); + expect(warnings.join('\n')).toContain( + 'experiments.asyncStartup was set to false but is forced to true', + ); + }); + + it('warns when the node runtime plugin is configured manually', () => { + let options: ModuleFederationOptions | undefined; + const warnings = captureWarnings(() => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'legacy_component_app', + runtimePlugins: [NODE_RUNTIME_PLUGIN_REQUEST], + experiments: { + optimization: { + target: 'node', + }, + }, + }), + ); + options = getFederationPluginOptions(rspackConfig.plugins); + }); + + expect(options!.runtimePlugins).toEqual([NODE_RUNTIME_PLUGIN]); + expect(warnings.join('\n')).toContain( + 'manual configuration is unnecessary', + ); + }); + + it('warns when running outside rstest', () => { + const warnings = captureWarnings(() => { + setupFederationPlugin(federation(), 'rsbuild'); + }); + + expect(warnings.join('\n')).toContain( + 'designed to run under rstest, but the current caller is "rsbuild"', + ); + }); + + it('does not warn about the caller under rstest runners', () => { + for (const callerName of ['rstest', 'rstest-browser']) { + const warnings = captureWarnings(() => { + setupFederationPlugin(federation(), callerName); + }); + + expect(warnings.join('\n')).not.toContain('designed to run under rstest'); + } + }); + + it('defaults to browser target when called from rstest-browser', () => { + const { merged, rspackConfig } = applyFederationPlugin( + federation({ name: 'browser_caller_app' }), + { callerName: 'rstest-browser' }, + ); + + expect(merged.output?.target).not.toBe('node'); + expect(rspackConfig.target).toBe(undefined); + expect(rspackConfig.output?.module).toBe(undefined); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options!.library).toBe(undefined); + expect(options!.runtimePlugins).toBe(undefined); + }); + + it('lets an explicit node target win over the rstest-browser caller', () => { + const { merged, rspackConfig } = applyFederationPlugin( + federation({ name: 'forced_node_app' }, { target: 'node' }), + { callerName: 'rstest-browser' }, + ); + + expect(merged.output?.target).toBe('node'); + expect(rspackConfig.target).toBe('async-node'); + expect(rspackConfig.output?.module).toBe(false); + }); + + it('supports browser target without node-specific rspack patches', () => { + const { merged, rspackConfig } = applyFederationPlugin( + federation( + { + name: 'browser_app', + remotes: { + provider: 'provider@http://localhost:4001/remoteEntry.js', + }, + }, + { + target: 'browser', + }, + ), + ); + + expect(merged.output?.target).not.toBe('node'); + expect(rspackConfig.target).toBe(undefined); + expect(rspackConfig.optimization?.splitChunks).toBe(undefined); + expect(rspackConfig.experiments?.outputModule).toBe(undefined); + expect(rspackConfig.output?.module).toBe(undefined); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options!.remoteType).toBe(undefined); + expect(options!.library).toBe(undefined); + expect(options!.runtimePlugins).toBe(undefined); + expect(options!.experiments?.asyncStartup).toBe(true); + }); + + it('does not force remoteType when remotes are configured', () => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'prefixed_commonjs_remote', + remotes: { + host: 'commonjs /tmp/remoteEntry.js', + }, + }), + ); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options!.remoteType).toBe(undefined); + }); + + it('does not force remoteType when no remotes are configured', () => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'no_remotes', + shared: { + react: { singleton: true }, + }, + }), + ); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options!.remoteType).toBe(undefined); + }); + + it('collects remote names from string remotes (mf-manifest) and bypasses externals', () => { + const { rspackConfig } = applyFederationPlugin(federation(), { + rspackConfig: { + output: {}, + externals: [], + plugins: [ + { + constructor: { name: 'ModuleFederationPlugin' }, + _options: { + remotes: ['component-app@http://localhost:3001/mf-manifest.json'], + experiments: { + optimization: { + target: 'node', + }, + }, + }, + }, + ], + }, + }); + + const bypass = getExternalBypass(rspackConfig); + expect(callExternal(bypass, 'component-app/Button')).toBe(false); + }); + + it('composes with existing tools.rspack hook instead of overwriting it', () => { + const mergeEnvironmentConfig: MergeEnvironmentConfig = (...configs) => { + // Basic merge that preserves nested objects we care about for this test. + const out: EnvironmentConfig = {}; + for (const c of configs) { + if (!c) continue; + if (c.output) out.output = { ...out.output, ...c.output }; + if (c.tools) out.tools = { ...out.tools, ...c.tools }; + } + return out; + }; + + const existingHook = (cfg: Rspack.Configuration) => { + ( + cfg as TestRspackConfig & { __existingHookRan?: boolean } + ).__existingHookRan = true; + }; + + const { envHook } = setupFederationPlugin(federation()); + const merged = envHook( + { tools: { rspack: existingHook } }, + { mergeEnvironmentConfig }, + ); + + expect(Array.isArray(merged.tools?.rspack)).toBe(true); + + const rspackConfig: TestRspackConfig & { __existingHookRan?: boolean } = { + output: {}, + plugins: [], + }; + runRspackHooks(merged, rspackConfig); + + expect(rspackConfig.__existingHookRan).toBe(true); + expect(rspackConfig.experiments?.outputModule).toBe(false); + expect(rspackConfig.output?.module).toBe(false); + }); +}); diff --git a/packages/rstest/src/index.ts b/packages/rstest/src/index.ts new file mode 100644 index 00000000000..76436094e55 --- /dev/null +++ b/packages/rstest/src/index.ts @@ -0,0 +1,2 @@ +export { FEDERATION_PLUGIN_NAME, federation } from './plugin'; +export type { ModuleFederationOptions, RstestFederationOptions } from './types'; diff --git a/packages/rstest/src/logger.ts b/packages/rstest/src/logger.ts new file mode 100644 index 00000000000..d08d92e1fc9 --- /dev/null +++ b/packages/rstest/src/logger.ts @@ -0,0 +1,3 @@ +import { createLogger } from '@module-federation/sdk'; + +export const logger = createLogger('[ Module Federation Rstest Plugin ]'); diff --git a/packages/rstest/src/node-defaults.ts b/packages/rstest/src/node-defaults.ts new file mode 100644 index 00000000000..5632c79e32c --- /dev/null +++ b/packages/rstest/src/node-defaults.ts @@ -0,0 +1,83 @@ +import { logger } from './logger'; +import { normalizeRuntimePlugins } from './runtime-plugin'; +import type { ModuleFederationOptions } from './types'; + +export const withRstestDefaults = ( + options: ModuleFederationOptions, +): ModuleFederationOptions => { + if (options.experiments?.asyncStartup === false) { + logger.warn( + 'experiments.asyncStartup was set to false but is forced to true: rstest bootstraps federation containers inside test workers, which requires async startup.', + ); + } + + return { + ...options, + // ModuleFederationPlugin treats dts/manifest/dev as enabled unless they + // are exactly `false`. Test builds need none of that machinery, so + // default it off; explicit user values win. + dts: options.dts ?? false, + manifest: options.manifest ?? false, + dev: options.dev ?? false, + experiments: { + ...options.experiments, + asyncStartup: true, + }, + }; +}; + +/** + * Node-target MF defaults for rstest test workers. + * + * `@module-federation/rsbuild-plugin` has a sibling helper + * (`patchNodeMFConfig` in packages/rsbuild-plugin/src/utils/ssr.ts) with + * deliberately different policy: SSR bundles fetch remotes as scripts + * (`remoteType: 'script'`) and keep the bundler-derived library name. Test + * workers instead infer the transport from each remote declaration (so + * `remoteType` is never forced) and require `library.name` to equal the + * container name so the container is resolvable inside the worker. Keep + * divergence between the two intentional and documented. + */ +export const withNodeDefaults = ( + options: ModuleFederationOptions, +): ModuleFederationOptions => { + const merged = withRstestDefaults(options); + const { runtimePlugins, hasConfiguredNodeRuntimePlugin } = + normalizeRuntimePlugins(merged.runtimePlugins); + + if (hasConfiguredNodeRuntimePlugin) { + logger.warn( + 'The node runtime plugin is injected automatically; manual configuration is unnecessary.', + ); + } + + if (merged.library?.name != null && merged.library.name !== merged.name) { + logger.warn( + `library.name "${String(merged.library.name)}" is overridden with the container name "${String(merged.name)}" so the container can be resolved in Node test workers.`, + ); + } + + const userOptimizationTarget = merged.experiments?.optimization?.target; + if (userOptimizationTarget != null && userOptimizationTarget !== 'node') { + logger.warn( + `experiments.optimization.target "${String(userOptimizationTarget)}" is overridden with "node": rstest executes federation builds in Node test workers.`, + ); + } + + return { + ...merged, + library: { + ...merged.library, + name: merged.name, + type: merged.library?.type ?? 'commonjs-module', + }, + runtimePlugins, + experiments: { + ...merged.experiments, + optimization: { + ...merged.experiments?.optimization, + target: 'node', + }, + }, + }; +}; diff --git a/packages/rstest/src/plugin.ts b/packages/rstest/src/plugin.ts new file mode 100644 index 00000000000..891bf24c3ab --- /dev/null +++ b/packages/rstest/src/plugin.ts @@ -0,0 +1,144 @@ +import type { EnvironmentConfig, RsbuildPlugin, Rspack } from '@rsbuild/core'; +import { ModuleFederationPlugin } from '@module-federation/enhanced/rspack'; + +import { createFederationExternalBypass } from './externals-bypass'; +import { logger } from './logger'; +import { withNodeDefaults, withRstestDefaults } from './node-defaults'; +import { collectRemoteNames } from './remotes'; +import { appendRspackHook, applyNodeRspackDefaults } from './rspack-hook'; +import type { ModuleFederationOptions, RstestFederationOptions } from './types'; + +/** + * Stable, public plugin name. The name is exported so tooling can identify the + * plugin; treat renames as breaking changes. + */ +export const FEDERATION_PLUGIN_NAME = 'rstest:federation'; + +// `callerName` values rstest sets on the Rsbuild instances it creates. +const RSTEST_NODE_CALLER = 'rstest'; +const RSTEST_BROWSER_CALLER = 'rstest-browser'; + +type RstestExposeAPI = { + modifyRstestConfig: ( + callback: (config: { federation?: boolean }) => void, + ) => void; +}; + +const toArray = (value: T | T[] | undefined): T[] => { + if (value == null) { + return []; + } + + return Array.isArray(value) ? [...value] : [value]; +}; + +const createRspackPatcher = ( + moduleFederationOptions: ModuleFederationOptions | undefined, + isNodeTarget: boolean, +) => { + return (rspackConfig: Rspack.Configuration): void => { + rspackConfig.output ||= {}; + rspackConfig.plugins ||= []; + + if (isNodeTarget) { + applyNodeRspackDefaults(rspackConfig); + } + + if (moduleFederationOptions) { + const effectiveOptions = isNodeTarget + ? withNodeDefaults(moduleFederationOptions) + : withRstestDefaults(moduleFederationOptions); + + rspackConfig.plugins.push(new ModuleFederationPlugin(effectiveOptions)); + } + + const remoteNames = collectRemoteNames( + moduleFederationOptions?.remotes, + rspackConfig.plugins as unknown[] | undefined, + ); + rspackConfig.externals = [ + createFederationExternalBypass(remoteNames), + ...toArray(rspackConfig.externals), + ]; + }; +}; + +/** + * Enable Rstest's Module Federation compatibility mode for the current Rsbuild + * environment. + * + * Node test environments require the upcoming Rstest federation support + * (web-infra-dev/rstest PR #1407). When available, this plugin automatically + * enables Rstest's compatibility mode through its exposed configuration API. + * + * Add this to your `rstest.config.*`: + * + * ```ts + * import { federation } from '@module-federation/rstest'; + * import { defineConfig } from '@rstest/core'; + * export default defineConfig({ + * plugins: [ + * federation({ + * name: 'host', + * remotes: { + * remote: 'remote@http://localhost:3001/remoteEntry.js', + * }, + * }), + * ], + * }); + * ``` + */ +export const federation = ( + moduleFederationOptions?: ModuleFederationOptions, + rstestOptions?: RstestFederationOptions, +): RsbuildPlugin => ({ + name: FEDERATION_PLUGIN_NAME, + setup: (api) => { + const { callerName } = api.context; + if ( + callerName !== RSTEST_NODE_CALLER && + callerName !== RSTEST_BROWSER_CALLER + ) { + logger.warn( + `This plugin is designed to run under rstest, but the current caller is "${callerName}". Federation test defaults may not fit this environment.`, + ); + } + + // Browser-mode rstest builds identify themselves via callerName; use it + // to pick the default target. An explicit rstestOptions.target wins. + const target = + rstestOptions?.target ?? + (callerName === RSTEST_BROWSER_CALLER ? 'browser' : 'node'); + const isNodeTarget = target === 'node'; + + if (isNodeTarget) { + api + .useExposed('rstest') + ?.modifyRstestConfig((config) => { + config.federation = true; + }); + } + + api.modifyEnvironmentConfig({ + // Run after other plugins' hooks so the externals bypass prepended by + // the rspack patcher stays ahead of externals added by other plugins. + order: 'post', + handler: (config, { mergeEnvironmentConfig }) => { + const merged = isNodeTarget + ? mergeEnvironmentConfig(config, { + output: { + target: 'node', + }, + } satisfies EnvironmentConfig) + : mergeEnvironmentConfig(config); + + appendRspackHook( + merged, + createRspackPatcher(moduleFederationOptions, isNodeTarget), + ); + + return merged; + }, + }); + }, +}); diff --git a/packages/rstest/src/remotes.test.ts b/packages/rstest/src/remotes.test.ts new file mode 100644 index 00000000000..810b68bfe65 --- /dev/null +++ b/packages/rstest/src/remotes.test.ts @@ -0,0 +1,76 @@ +import { describe, expect, it } from '@rstest/core'; + +import { collectRemoteNames } from './remotes'; + +describe('collectRemoteNames', () => { + it('collects remote names from object keys and string entries', () => { + expect( + collectRemoteNames({ + objectRemote: 'remote@http://localhost:3001/remoteEntry.js', + stringlessObjectRemote: { + external: 'commonjs /tmp/remoteEntry.js', + }, + }), + ).toEqual(new Set(['objectRemote', 'stringlessObjectRemote'])); + + expect( + collectRemoteNames([ + 'stringRemote@http://localhost:3002/mf-manifest.json', + { + name: 'namedRemote', + external: 'namedRemote@http://localhost:3003/remoteEntry.js', + }, + { + alias: 'aliasedRemote', + external: 'aliasedContainer@http://localhost:3004/remoteEntry.js', + }, + ]), + ).toEqual(new Set(['stringRemote', 'namedRemote', 'aliasedRemote'])); + }); + + it('parses scoped string remotes as name@entry', () => { + expect( + collectRemoteNames([ + '@scope/remote@http://localhost:3001/remoteEntry.js', + '@scope/manifest-remote@http://localhost:3002/mf-manifest.json', + ]), + ).toEqual(new Set(['@scope/remote', '@scope/manifest-remote'])); + }); + + it('collects fallback remote names from plugin options only when provided', () => { + expect( + collectRemoteNames(undefined, [ + { + constructor: { name: 'ModuleFederationPlugin' }, + _options: { + remotes: { + fallbackRemote: + 'fallbackRemote@http://localhost:3005/remoteEntry.js', + }, + }, + }, + ]), + ).toEqual(new Set(['fallbackRemote'])); + }); + + it('duck-types federation plugins whose constructor name differs', () => { + expect( + collectRemoteNames(undefined, [ + { + constructor: { name: 'WrappedFederationPlugin' }, + options: { + name: 'wrapped_host', + remotes: { + duckRemote: 'duckRemote@http://localhost:3006/remoteEntry.js', + }, + }, + }, + // Not federation-shaped: must be ignored. + { + constructor: { name: 'SomeOtherPlugin' }, + options: { name: 'not_federation' }, + }, + ]), + ).toEqual(new Set(['duckRemote'])); + }); +}); diff --git a/packages/rstest/src/remotes.ts b/packages/rstest/src/remotes.ts new file mode 100644 index 00000000000..52c64151c8a --- /dev/null +++ b/packages/rstest/src/remotes.ts @@ -0,0 +1,164 @@ +import { parseEntry } from '@module-federation/sdk'; + +import type { ModuleFederationOptions } from './types'; + +type ModuleFederationPluginLikeOptions = { + name?: unknown; + remotes?: unknown; + exposes?: unknown; + shared?: unknown; +}; + +type ModuleFederationPluginLike = { + constructor?: { + name?: unknown; + }; + _options?: ModuleFederationPluginLikeOptions; + options?: ModuleFederationPluginLikeOptions; +}; + +const addRemoteNameFromString = (entry: string, target: Set): void => { + const normalized = entry.trim(); + if (!normalized) { + return; + } + + target.add(parseEntry(normalized, undefined, '@').name); +}; + +const addRemoteNameFromObject = ( + remote: Record, + target: Set, +): void => { + const maybeName = remote.name; + const maybeAlias = remote.alias; + + if (typeof maybeName === 'string') { + target.add(maybeName); + return; + } + + if (typeof maybeAlias === 'string') { + target.add(maybeAlias); + return; + } + + for (const key of Object.keys(remote)) { + target.add(key); + } +}; + +const addRemoteNames = (remotes: unknown, target: Set): void => { + if (!remotes) { + return; + } + + if (typeof remotes === 'string') { + addRemoteNameFromString(remotes, target); + return; + } + + if (Array.isArray(remotes)) { + for (const remote of remotes) { + if (!remote) { + continue; + } + + if (typeof remote === 'string') { + addRemoteNameFromString(remote, target); + continue; + } + + if (Array.isArray(remote)) { + const [name] = remote; + if (typeof name === 'string') { + target.add(name); + } + continue; + } + + if (typeof remote === 'object') { + addRemoteNameFromObject(remote as Record, target); + } + } + return; + } + + if (typeof remotes === 'object') { + for (const key of Object.keys(remotes as Record)) { + target.add(key); + } + } +}; + +/** + * Reads MF options off an already-registered plugin instance so users of the + * rstest adapters (whose rsbuild config registers ModuleFederationPlugin via + * `@module-federation/rsbuild-plugin`) do not have to redeclare remotes. + * + * `_options` is a private field of the ModuleFederationPlugin classes in + * `packages/enhanced` and `packages/rspack` (no public accessor exists). + * Scraping it is tolerated only because both packages live in this monorepo: + * if that field is renamed, update this reader in the same change. The + * duck-type fallback below guards against false positives from unrelated + * plugins. + */ +const getModuleFederationPluginOptions = ( + plugin: unknown, +): ModuleFederationPluginLikeOptions | undefined => { + if (!plugin || typeof plugin !== 'object') { + return undefined; + } + + const mf = plugin as ModuleFederationPluginLike; + const options = mf._options ?? mf.options; + if (!options || typeof options !== 'object') { + return undefined; + } + + if (mf.constructor?.name === 'ModuleFederationPlugin') { + return options; + } + + // Duck-type fallback for wrapped or re-exported federation plugins whose + // constructor name differs: MF options carry a container name plus at + // least one federation-specific field. + if ( + typeof options.name === 'string' && + ('remotes' in options || 'exposes' in options || 'shared' in options) + ) { + return options; + } + + return undefined; +}; + +const addFallbackRemoteNamesFromPlugins = ( + plugins: unknown[] | undefined, + target: Set, +): void => { + if (!plugins) { + return; + } + + for (const plugin of plugins) { + const options = getModuleFederationPluginOptions(plugin); + if (options) { + addRemoteNames(options.remotes, target); + } + } +}; + +export const collectRemoteNames = ( + remotes: ModuleFederationOptions['remotes'] | undefined, + fallbackPlugins?: unknown[], +): Set => { + const remoteNames = new Set(); + addRemoteNames(remotes, remoteNames); + + if (!remoteNames.size) { + addFallbackRemoteNamesFromPlugins(fallbackPlugins, remoteNames); + } + + return remoteNames; +}; diff --git a/packages/rstest/src/rspack-hook.ts b/packages/rstest/src/rspack-hook.ts new file mode 100644 index 00000000000..94459cd7c3e --- /dev/null +++ b/packages/rstest/src/rspack-hook.ts @@ -0,0 +1,36 @@ +import type { EnvironmentConfig, Rspack } from '@rsbuild/core'; + +export type RspackConfigPatcher = (rspackConfig: Rspack.Configuration) => void; + +export const appendRspackHook = ( + config: EnvironmentConfig, + patchRspackConfig: RspackConfigPatcher, +): void => { + config.tools ||= {}; + + const existing = config.tools.rspack; + if (!existing) { + config.tools.rspack = patchRspackConfig; + return; + } + + config.tools.rspack = Array.isArray(existing) + ? [...existing, patchRspackConfig] + : [existing, patchRspackConfig]; +}; + +export const applyNodeRspackDefaults = ( + rspackConfig: Rspack.Configuration, +): void => { + rspackConfig.target = 'async-node'; + rspackConfig.optimization ??= {}; + rspackConfig.optimization.splitChunks = false; + + rspackConfig.experiments ??= {}; + // `experiments.outputModule` only exists on rspack/rsbuild 1.x (the peer + // range still allows it); there `output.module` alone is not enough when + // the experiment is enabled. On 2.x the assignment is a harmless no-op. + (rspackConfig.experiments as { outputModule?: boolean }).outputModule = false; + rspackConfig.output ??= {}; + rspackConfig.output.module = false; +}; diff --git a/packages/rstest/src/runtime-plugin.ts b/packages/rstest/src/runtime-plugin.ts new file mode 100644 index 00000000000..532a0c6317f --- /dev/null +++ b/packages/rstest/src/runtime-plugin.ts @@ -0,0 +1,51 @@ +import { createRequire } from 'node:module'; + +import type { RuntimePlugin } from './types'; + +const require = createRequire(import.meta.url); + +export const NODE_RUNTIME_PLUGIN_REQUEST = + '@module-federation/node/runtimePlugin'; +export const NODE_RUNTIME_PLUGIN = require.resolve(NODE_RUNTIME_PLUGIN_REQUEST); + +export const getRuntimePluginName = (runtimePlugin: RuntimePlugin): string => { + return typeof runtimePlugin === 'string' ? runtimePlugin : runtimePlugin[0]; +}; + +const isNodeRuntimePluginName = (name: string): boolean => { + return name === NODE_RUNTIME_PLUGIN_REQUEST || name === NODE_RUNTIME_PLUGIN; +}; + +const normalizeRuntimePlugin = ( + runtimePlugin: RuntimePlugin, +): RuntimePlugin => { + if (!isNodeRuntimePluginName(getRuntimePluginName(runtimePlugin))) { + return runtimePlugin; + } + + if (typeof runtimePlugin === 'string') { + return NODE_RUNTIME_PLUGIN; + } + + return [NODE_RUNTIME_PLUGIN, runtimePlugin[1]]; +}; + +export const normalizeRuntimePlugins = ( + runtimePlugins: RuntimePlugin[] | undefined, +): { + runtimePlugins: RuntimePlugin[]; + hasConfiguredNodeRuntimePlugin: boolean; +} => { + const normalized = (runtimePlugins ?? []).map(normalizeRuntimePlugin); + const hasConfiguredNodeRuntimePlugin = normalized.some( + (runtimePlugin) => + getRuntimePluginName(runtimePlugin) === NODE_RUNTIME_PLUGIN, + ); + + return { + runtimePlugins: hasConfiguredNodeRuntimePlugin + ? normalized + : [NODE_RUNTIME_PLUGIN, ...normalized], + hasConfiguredNodeRuntimePlugin, + }; +}; diff --git a/packages/rstest/src/types.ts b/packages/rstest/src/types.ts new file mode 100644 index 00000000000..3f58a7d8b88 --- /dev/null +++ b/packages/rstest/src/types.ts @@ -0,0 +1,12 @@ +import type { moduleFederationPlugin } from '@module-federation/sdk'; + +export type ModuleFederationOptions = + moduleFederationPlugin.ModuleFederationPluginOptions; + +export type RstestFederationOptions = { + target?: 'node' | 'browser'; +}; + +export type RuntimePlugin = NonNullable< + ModuleFederationOptions['runtimePlugins'] +>[number]; diff --git a/packages/rstest/tsconfig.json b/packages/rstest/tsconfig.json new file mode 100644 index 00000000000..6209497d0a1 --- /dev/null +++ b/packages/rstest/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "es2022", + "target": "es2022", + "skipLibCheck": true, + "moduleResolution": "bundler", + "strict": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "declaration": true, + "types": ["@rstest/core/globals", "node"] + }, + "include": ["src", "rstest.config.ts"], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ] +} diff --git a/packages/rstest/tsconfig.lib.json b/packages/rstest/tsconfig.lib.json new file mode 100644 index 00000000000..27e6f529fa6 --- /dev/null +++ b/packages/rstest/tsconfig.lib.json @@ -0,0 +1,15 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "./src", + "declaration": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"], + "exclude": [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "dist/**", + "node_modules/**" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4b15ef49a5c..d7105042c63 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4050,6 +4050,28 @@ importers: specifier: 7.0.2 version: 7.0.2 + packages/rstest: + dependencies: + '@module-federation/enhanced': + specifier: workspace:* + version: link:../enhanced + '@module-federation/node': + specifier: workspace:* + version: link:../node + '@module-federation/sdk': + specifier: workspace:* + version: link:../sdk + devDependencies: + '@rsbuild/core': + specifier: 2.1.4 + version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rslib/core': + specifier: ^0.23.2 + version: 0.23.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@7.0.2) + '@rstest/core': + specifier: ^0.10.6 + version: 0.10.6(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(jsdom@20.0.3) + packages/runtime: dependencies: '@module-federation/error-codes': From 9c181bf2cb35e4ae56e8177923d7304f692a0452 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Tue, 21 Jul 2026 23:41:25 +0000 Subject: [PATCH 02/14] fix(rsbuild): preserve SSR library names --- .changeset/tidy-ssr-library-name.md | 5 +++++ packages/rsbuild-plugin/src/utils/ssr.spec.ts | 2 ++ packages/rsbuild-plugin/src/utils/ssr.ts | 13 ++++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 .changeset/tidy-ssr-library-name.md diff --git a/.changeset/tidy-ssr-library-name.md b/.changeset/tidy-ssr-library-name.md new file mode 100644 index 00000000000..e5606575e5c --- /dev/null +++ b/.changeset/tidy-ssr-library-name.md @@ -0,0 +1,5 @@ +--- +'@module-federation/rsbuild-plugin': patch +--- + +Preserve bundler-derived library names in Node SSR builds so CommonJS containers expose the expected interface. diff --git a/packages/rsbuild-plugin/src/utils/ssr.spec.ts b/packages/rsbuild-plugin/src/utils/ssr.spec.ts index ca3ecb77d8d..826194b65fb 100644 --- a/packages/rsbuild-plugin/src/utils/ssr.spec.ts +++ b/packages/rsbuild-plugin/src/utils/ssr.spec.ts @@ -15,6 +15,7 @@ describe('createSSRMFConfig', () => { const ssrMFConfig = createSSRMFConfig(baseMFConfig); expect(ssrMFConfig.name).toBe('testApp'); expect(ssrMFConfig.library?.type).toBe('commonjs-module'); + expect(ssrMFConfig.library?.name).toBeUndefined(); expect(ssrMFConfig.dts).toBe(false); expect(ssrMFConfig.dev).toBe(false); expect(ssrMFConfig.runtimePlugins).toHaveLength(1); @@ -32,6 +33,7 @@ describe('createSSRMFConfig', () => { }; const ssrMFConfig = createSSRMFConfig(mfConfigWithLibraryType); expect(ssrMFConfig.library?.type).toBe('umd'); + expect(ssrMFConfig.library?.name).toBe('testApp'); }); it('should add record-dynamic-remote-entry-hash-plugin in development', () => { diff --git a/packages/rsbuild-plugin/src/utils/ssr.ts b/packages/rsbuild-plugin/src/utils/ssr.ts index 5a4230601af..78a5785b7cb 100644 --- a/packages/rsbuild-plugin/src/utils/ssr.ts +++ b/packages/rsbuild-plugin/src/utils/ssr.ts @@ -184,6 +184,18 @@ export function createSSRREnvConfig( return ssrEnvConfig; } +/** + * Node-target MF defaults for Rsbuild SSR builds. + * + * `@module-federation/rstest` has a sibling helper (`withNodeDefaults` in + * packages/rstest/src/node-defaults.ts) with deliberately different policy: + * SSR bundles run behind a real server, so remotes are fetched as scripts + * (`remoteType: 'script'`) and the container keeps whatever library name the + * bundler derives. Rstest executes containers inside Node test workers, so it + * infers the transport from each remote declaration instead of forcing + * `remoteType`, and forces `library.name` to the container name so the worker + * can resolve it. Keep divergence between the two intentional and documented. + */ export function patchNodeMFConfig( mfConfig: moduleFederationPlugin.ModuleFederationPluginOptions, ) { @@ -193,7 +205,6 @@ export function patchNodeMFConfig( mfConfig.exposes = { ...mfConfig.exposes }; mfConfig.library = { ...mfConfig.library, - name: mfConfig.name, type: mfConfig.library?.type ?? 'commonjs-module', }; mfConfig.runtimePlugins = [...(mfConfig.runtimePlugins || [])]; From 115230134ddcaad07e2299514f005186d931a39b Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 22 Jul 2026 00:03:50 +0000 Subject: [PATCH 03/14] fix(rstest): defer federation remote discovery --- packages/rstest/src/externals-bypass.ts | 7 +++++-- packages/rstest/src/index.test.ts | 23 +++++++++++++++++++++++ packages/rstest/src/plugin.ts | 16 +++++++++++----- 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/packages/rstest/src/externals-bypass.ts b/packages/rstest/src/externals-bypass.ts index 66759f942e3..c83feff3234 100644 --- a/packages/rstest/src/externals-bypass.ts +++ b/packages/rstest/src/externals-bypass.ts @@ -54,7 +54,7 @@ export const shouldKeepBundledForFederation = ( }; export const createFederationExternalBypass = ( - remoteNames: Set, + getRemoteNames: () => Set, ): (( data: Rspack.ExternalItemFunctionData, callback: ( @@ -64,7 +64,10 @@ export const createFederationExternalBypass = ( ) => void, ) => void) => { return function federationExternalBypass({ request }, callback) { - if (!request || !shouldKeepBundledForFederation(request, remoteNames)) { + if ( + !request || + !shouldKeepBundledForFederation(request, getRemoteNames()) + ) { return callback(); } diff --git a/packages/rstest/src/index.test.ts b/packages/rstest/src/index.test.ts index 1d53da02c24..ea5a9c8bf75 100644 --- a/packages/rstest/src/index.test.ts +++ b/packages/rstest/src/index.test.ts @@ -304,6 +304,29 @@ describe('federation()', () => { expect(callExternal(bypass, 'react')).toBe(undefined); }); + it('discovers federation remotes registered after rspack config patching', () => { + const { rspackConfig } = applyFederationPlugin(federation(), { + rspackConfig: { + output: {}, + externals: ['react'], + plugins: [], + }, + }); + + rspackConfig.plugins?.push({ + constructor: { name: 'ModuleFederationPlugin' }, + _options: { + remotes: { + 'component-app': 'component_app@http://localhost:3001/remoteEntry.js', + }, + }, + }); + + const bypass = getExternalBypass(rspackConfig); + expect(callExternal(bypass, 'component-app/Button')).toBe(false); + expect(callExternal(bypass, 'react')).toBe(undefined); + }); + it('auto-applies ModuleFederationPlugin with node defaults', () => { const { rspackConfig } = applyFederationPlugin( federation({ diff --git a/packages/rstest/src/plugin.ts b/packages/rstest/src/plugin.ts index 891bf24c3ab..aa06f5da322 100644 --- a/packages/rstest/src/plugin.ts +++ b/packages/rstest/src/plugin.ts @@ -52,12 +52,18 @@ const createRspackPatcher = ( rspackConfig.plugins.push(new ModuleFederationPlugin(effectiveOptions)); } - const remoteNames = collectRemoteNames( - moduleFederationOptions?.remotes, - rspackConfig.plugins as unknown[] | undefined, - ); + // The Rsbuild federation plugin registers ModuleFederationPlugin in + // onBeforeCreateCompiler, after tools.rspack hooks have run. External + // functions run during compilation, so collect once on first use. + let remoteNames: Set | undefined; rspackConfig.externals = [ - createFederationExternalBypass(remoteNames), + createFederationExternalBypass(() => { + remoteNames ??= collectRemoteNames( + moduleFederationOptions?.remotes, + rspackConfig.plugins as unknown[] | undefined, + ); + return remoteNames; + }), ...toArray(rspackConfig.externals), ]; }; From c70bcf638a7e98825c56e9216c8050d739b7e70f Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Sat, 25 Jul 2026 00:45:51 +0000 Subject: [PATCH 04/14] docs(rstest): document released federation support --- apps/website-new/docs/en/_nav.json | 4 + .../en/integrations/build-tool/_meta.json | 5 + .../en/integrations/build-tool/rstest.mdx | 99 ++ .../0-container-full/node_modules/react.js | 3 - .../node_modules/package.json | 3 - .../1-container-full/node_modules/react.js | 3 - .../node_modules/package.json | 3 - .../2-container-full/node_modules/react.js | 3 - .../3-container-full/node_modules/react.js | 3 - .../node_modules/package.json | 4 - .../node_modules/react.js | 1 - .../node_modules/package.json | 4 - .../node_modules/react.js | 1 - .../node_modules/package.json | 4 - .../manifest-file-name/node_modules/react.js | 1 - .../manifest/node_modules/package.json | 4 - .../container/manifest/node_modules/react.js | 1 - .../node_modules/package.json | 3 - .../node_modules/react.js | 3 - .../node_modules/react.js | 3 - .../node_modules/react.js | 3 - .../node_modules/package.json | 3 - .../node_modules/react.js | 3 - .../node_modules/@scope-sc/ui-lib/index.js | 3 - .../@scope-sc/ui-lib/package.json | 6 - .../node_modules/@scope-sc/ui-lib2/index.js | 3 - .../@scope-sc/ui-lib2/package.json | 6 - .../node_modules/@scope-sc/ui-lib3/index.js | 3 - .../@scope-sc/ui-lib3/package.json | 6 - .../virtual-entry/node_modules/react.js | 3 - .../1-layers-full/node_modules/react.js | 4 - .../2-layers-full/node_modules/react.js | 4 - .../3-layers-full/node_modules/react.js | 4 - .../4-layers-full/node_modules/react.js | 4 - .../5-layers-full/node_modules/react.js | 4 - .../6-layers-full/node_modules/react.js | 4 - .../7-layers-full/node_modules/package.json | 3 - .../7-layers-full/node_modules/react.js | 5 - .../8-layers-full/node_modules/package.json | 3 - .../8-layers-full/node_modules/react.js | 4 - .../node_modules/singleton-filter/index.js | 4 - .../singleton-filter/package.json | 4 - .../version-exclude-fail/index.js | 4 - .../version-exclude-fail/package.json | 4 - .../node_modules/version-exclude/index.js | 4 - .../node_modules/version-exclude/package.json | 4 - .../version-include-fail/index.js | 4 - .../version-include-fail/package.json | 4 - .../node_modules/version-include/index.js | 4 - .../node_modules/version-include/package.json | 4 - .../node_modules/@scoped/package/index.js | 1 - .../node_modules/package.js | 1 - .../node_modules/prefix/a.js | 1 - .../node_modules/prefix/deep/b.js | 1 - .../node_modules/singleton.js | 1 - .../node_modules/singletonWithoutVersion.js | 1 - .../node_modules/strict0.js | 1 - .../node_modules/strict1.js | 1 - .../node_modules/strict2.js | 1 - .../node_modules/strict3.js | 1 - .../node_modules/strict4.js | 1 - .../node_modules/@scoped/package/index.js | 1 - .../consume-module/node_modules/package.js | 1 - .../consume-module/node_modules/prefix/a.js | 1 - .../node_modules/prefix/deep/b.js | 1 - .../consume-module/node_modules/singleton.js | 1 - .../node_modules/singletonWithoutVersion.js | 1 - .../consume-module/node_modules/strict0.js | 1 - .../consume-module/node_modules/strict1.js | 1 - .../consume-module/node_modules/strict2.js | 1 - .../consume-module/node_modules/strict3.js | 1 - .../consume-module/node_modules/strict4.js | 1 - .../node_modules/my-module/index.js | 1 - .../node_modules/my-module/package.json | 5 - .../node_modules/my-module2/index.js | 1 - .../node_modules/my-module2/package.json | 5 - .../node_modules/my-module3/index.js | 1 - .../node_modules/my-module3/package.json | 5 - .../node_modules/my-module4/index.js | 1 - .../node_modules/my-module4/package.json | 5 - .../node_modules/my-module/index.js | 1 - .../node_modules/my-module/package.json | 5 - .../node_modules/my-module2/index.js | 1 - .../node_modules/my-module2/package.json | 5 - .../node_modules/my-module3/index.js | 1 - .../node_modules/my-module3/package.json | 5 - .../node_modules/my-module4/index.js | 1 - .../node_modules/my-module4/package.json | 5 - .../node_modules/package-1/esm/index.js | 7 - .../node_modules/package-1/esm/package.json | 1 - .../node_modules/package-1/package.json | 5 - .../node_modules/package-2/index.js | 6 - .../node_modules/package-2/package.json | 5 - .../node_modules/my-middleware/index.js | 6 - .../node_modules/my-middleware/package.json | 8 - .../node_modules/my-module/a.js | 3 - .../node_modules/my-module/b.js | 5 - .../node_modules/my-module/package.json | 9 - .../node_modules/react/index.js | 2 - .../node_modules/react/index2.js | 1 - .../node_modules/lib2/index.js | 2 - .../node_modules/multi-pkg/thing1.js | 1 - .../node_modules/multi-pkg/thing2.js | 1 - .../node_modules/react/index.js | 2 - .../node_modules/react/index2.js | 1 - .../node_modules/lib2/index.js | 2 - .../node_modules/multi-pkg/thing1.js | 1 - .../node_modules/multi-pkg/thing2.js | 1 - .../node_modules/react/index.js | 1 - .../node_modules/react/index2.js | 1 - .../node_modules/lib2/index.js | 2 - .../node_modules/multi-pkg/thing1.js | 1 - .../node_modules/multi-pkg/thing2.js | 1 - .../node_modules/react/index.js | 2 - .../node_modules/react/index2.js | 1 - .../node_modules/package/index.js | 1 - .../node_modules/package/package.json | 3 - .../node_modules/common/index.js | 1 - .../node_modules/common/package.json | 3 - .../node_modules/uncommon/index.js | 1 - .../node_modules/uncommon/package.json | 3 - .../singleton-filter/package.json | 4 - .../version-exclude-fail/package.json | 4 - .../node_modules/version-exclude/package.json | 4 - .../version-include-fail/package.json | 4 - .../node_modules/version-include/package.json | 4 - .../node_modules/package/index.js | 1 - .../node_modules/package/package.json | 3 - .../node_modules/my-module/index.js | 1 - .../my-module/node_modules/shared/index.js | 1 - .../node_modules/shared/package.json | 4 - .../node_modules/shared/index.js | 1 - .../node_modules/shared/package.json | 4 - .../node_modules/shared/index.js | 1 - .../node_modules/shared/package.json | 4 - .../node_modules/x/index.js | 1 - .../node_modules/x/package.json | 3 - .../node_modules/my-module/index.js | 3 - .../my-module/node_modules/shared/index.js | 3 - .../node_modules/shared/package.json | 5 - .../node_modules/my-module/package.json | 5 - .../node_modules/shared/directory/thing.js | 3 - .../node_modules/shared/index.js | 3 - .../node_modules/shared/package.json | 5 - .../node_modules/shared/index.js | 3 - .../node_modules/shared/package.json | 5 - .../node_modules/my-module/index.js | 1 - .../my-module/node_modules/shared/index.js | 1 - .../node_modules/shared/package.json | 4 - .../node_modules/my-module/package.json | 5 - .../node_modules/shared/index.js | 1 - .../node_modules/shared/package.json | 4 - .../node_modules/shared/index.js | 1 - .../node_modules/shared/package.json | 4 - .../node_modules/lib/index.js | 4 - .../node_modules/lib/package.json | 6 - .../node_modules/transitive_lib/index.js | 3 - .../node_modules/transitive_lib/package.json | 3 - .../app1/node_modules/lib2/index.js | 3 - .../app1/node_modules/lib2/package.json | 3 - .../node_modules/lib1/index.js | 3 - .../node_modules/lib1/package.json | 3 - .../node_modules/lib2/index.js | 3 - .../node_modules/lib2/package.json | 3 - .../share-plugin/node_modules/lib1/index.js | 1 - .../node_modules/lib1/package.json | 3 - .../share-plugin/node_modules/lib2/index.js | 1 - .../share-plugin/node_modules/lib3/index.js | 1 - .../node_modules/lib3/package.json | 3 - .../share-plugin/node_modules/store/index.js | 1 - .../node_modules/store/package.json | 3 - .../shared-strategy/node_modules/react.js | 3 - .../ui-lib-dynamic-default-export/index.js | 9 - .../package.json | 6 - .../ui-lib-dynamic-specific-export/index.js | 3 - .../package.json | 6 - .../node_modules/ui-lib-es/index.js | 3 - .../node_modules/ui-lib-es/package.json | 6 - .../node_modules/ui-lib-side-effect/index.js | 12 - .../ui-lib-side-effect/package.json | 6 - .../node_modules/ui-lib/index.js | 9 - .../node_modules/ui-lib/package.json | 6 - .../node_modules/legacy-nanoid-v3/index.js | 3 - .../node_modules/nanoid/index.js | 1 - .../node_modules/nanoid/package.json | 6 - .../legacy-nanoid-v3/package.json | 9 - .../node_modules/nanoid/index.js | 1 - .../node_modules/nanoid/package.json | 6 - .../ui-lib-dynamic-default-export/index.js | 9 - .../package.json | 6 - .../ui-lib-dynamic-specific-export/index.js | 3 - .../package.json | 6 - .../node_modules/ui-lib-es/index.js | 3 - .../node_modules/ui-lib-es/package.json | 6 - .../node_modules/ui-lib-side-effect/index.js | 12 - .../ui-lib-side-effect/package.json | 6 - .../node_modules/ui-lib/index.js | 9 - .../node_modules/ui-lib/package.json | 6 - .../node_modules/ui-lib-dep/index.js | 2 - .../node_modules/ui-lib-dep/package.json | 6 - .../node_modules/ui-lib/index.js | 14 - .../node_modules/ui-lib/package.json | 6 - .../ui-lib-dynamic-default-export/index.js | 9 - .../package.json | 6 - .../ui-lib-dynamic-specific-export/index.js | 3 - .../package.json | 6 - .../node_modules/ui-lib-es/index.js | 3 - .../node_modules/ui-lib-es/package.json | 6 - .../node_modules/ui-lib-side-effect/index.js | 12 - .../ui-lib-side-effect/package.json | 6 - .../node_modules/ui-lib/index.js | 9 - .../node_modules/ui-lib/package.json | 6 - packages/rstest/README.md | 23 +- packages/rstest/package.json | 7 +- packages/rstest/src/plugin.ts | 6 +- pnpm-lock.yaml | 1133 ++++++++++------- 216 files changed, 784 insertions(+), 1220 deletions(-) create mode 100644 apps/website-new/docs/en/integrations/build-tool/rstest.mdx delete mode 100644 packages/enhanced/test/configCases/container/0-container-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/1-container-full/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/container/1-container-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/2-container-full/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/container/2-container-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/3-container-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/exposed-overridables/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/container/exposed-overridables/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/manifest-file-name/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/container/manifest-file-name/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/manifest/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/container/manifest/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/multiple-entrypoints-1/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/multiple-entrypoints/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/index.js delete mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/package.json delete mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/index.js delete mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/package.json delete mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/index.js delete mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/package.json delete mode 100644 packages/enhanced/test/configCases/container/virtual-entry/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/layers/1-layers-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/layers/2-layers-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/layers/3-layers-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/layers/4-layers-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/layers/5-layers-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/layers/6-layers-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/layers/7-layers-full/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/layers/7-layers-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/layers/8-layers-full/node_modules/package.json delete mode 100644 packages/enhanced/test/configCases/layers/8-layers-full/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/@scoped/package/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/package.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/a.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/deep/b.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singleton.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singletonWithoutVersion.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict0.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict1.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict2.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict3.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict4.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/@scoped/package/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/package.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/a.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/deep/b.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/singleton.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/singletonWithoutVersion.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict0.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict1.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict2.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict3.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict4.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/a.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/b.js delete mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index2.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/lib2/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing1.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing2.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index2.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/lib2/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing1.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing2.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index2.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/lib2/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing1.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing2.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index2.js delete mode 100644 packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/singleton-filter/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude-fail/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include-fail/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/directory/thing.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib2/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/index.js delete mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/package.json delete mode 100644 packages/enhanced/test/configCases/sharing/shared-strategy/node_modules/react.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/package.json delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/index.js delete mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/package.json diff --git a/apps/website-new/docs/en/_nav.json b/apps/website-new/docs/en/_nav.json index 86ab2335c40..5f7a84e927f 100644 --- a/apps/website-new/docs/en/_nav.json +++ b/apps/website-new/docs/en/_nav.json @@ -26,6 +26,10 @@ "text": "Rslib", "link": "/integrations/build-tool/rslib" }, + { + "text": "Rstest", + "link": "/integrations/build-tool/rstest" + }, { "text": "Vite", "link": "/integrations/build-tool/vite" diff --git a/apps/website-new/docs/en/integrations/build-tool/_meta.json b/apps/website-new/docs/en/integrations/build-tool/_meta.json index e0da6374d13..56fd32bd400 100644 --- a/apps/website-new/docs/en/integrations/build-tool/_meta.json +++ b/apps/website-new/docs/en/integrations/build-tool/_meta.json @@ -9,6 +9,11 @@ "name": "rslib", "label": "Rslib" }, + { + "type": "file", + "name": "rstest", + "label": "Rstest" + }, { "type": "file", "name": "vite", diff --git a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx new file mode 100644 index 00000000000..81b3c05fe98 --- /dev/null +++ b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx @@ -0,0 +1,99 @@ +# Rstest + +`@module-federation/rstest` lets Rstest run tests against real Module +Federation remotes instead of mocked module boundaries. It is intended for +Rstest projects that use Node or JSDOM test environments, and it can also be +used with Rstest browser mode. + +## Requirements + +Use `@rstest/core@0.11.4` or newer. Rstest's federation support shipped in +`0.11.4`, so older Rstest versions do not expose the configuration API this +plugin uses for Node test builds. + +## Installation + +import { PackageManagerTabs } from '@theme'; + + + +## Register Plugin + +```ts title='rstest.config.ts' +import { federation } from '@module-federation/rstest'; +import { defineConfig } from '@rstest/core'; + +export default defineConfig({ + plugins: [ + federation({ + name: 'host', + remotes: { + remote: 'remote@http://localhost:3001/remoteEntry.js', + }, + shared: { + react: { singleton: true }, + 'react-dom': { singleton: true }, + }, + }), + ], +}); +``` + +Do not set `federation: true` in `rstest.config.ts`. For Node and JSDOM test +environments, `@module-federation/rstest` enables Rstest's federation +compatibility mode automatically. + +## Node Test Defaults + +For Node-targeted Rstest builds, the plugin applies Module Federation defaults +that match the Node runtime: + +- `target: async-node` +- `experiments.asyncStartup = true` +- CommonJS container output +- `@module-federation/node/runtimePlugin` +- Node-targeted federation optimization +- Remote transport inferred from each remote declaration + +Standard URL remotes and `commonjs ...` path remotes work without setting +`remoteType`. + +## Browser Mode + +Pass `{ target: 'browser' }` as the second argument when using the plugin for +Rstest browser mode: + +```ts title='rstest.config.ts' +import { federation } from '@module-federation/rstest'; +import { defineConfig } from '@rstest/core'; + +export default defineConfig({ + plugins: [ + federation( + { + name: 'browser_host', + remotes: { + app2: 'app2@http://localhost:3001/remoteEntry.js', + }, + }, + { target: 'browser' }, + ), + ], +}); +``` + +Browser mode keeps browser build defaults and only enables +`experiments.asyncStartup`. + +## Producer Builds + +Use `@module-federation/rsbuild-plugin` or another Module Federation build +plugin to build the remote application. Use `@module-federation/rstest` only in +the Rstest test project that consumes those remotes. diff --git a/packages/enhanced/test/configCases/container/0-container-full/node_modules/react.js b/packages/enhanced/test/configCases/container/0-container-full/node_modules/react.js deleted file mode 100644 index bcf433f2afb..00000000000 --- a/packages/enhanced/test/configCases/container/0-container-full/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/1-container-full/node_modules/package.json b/packages/enhanced/test/configCases/container/1-container-full/node_modules/package.json deleted file mode 100644 index 87032da008a..00000000000 --- a/packages/enhanced/test/configCases/container/1-container-full/node_modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "2.1.0" -} diff --git a/packages/enhanced/test/configCases/container/1-container-full/node_modules/react.js b/packages/enhanced/test/configCases/container/1-container-full/node_modules/react.js deleted file mode 100644 index 97d35a4bc9c..00000000000 --- a/packages/enhanced/test/configCases/container/1-container-full/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "2.1.0"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/2-container-full/node_modules/package.json b/packages/enhanced/test/configCases/container/2-container-full/node_modules/package.json deleted file mode 100644 index 88d4e7f3e51..00000000000 --- a/packages/enhanced/test/configCases/container/2-container-full/node_modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "8" -} diff --git a/packages/enhanced/test/configCases/container/2-container-full/node_modules/react.js b/packages/enhanced/test/configCases/container/2-container-full/node_modules/react.js deleted file mode 100644 index ab65e86c7fe..00000000000 --- a/packages/enhanced/test/configCases/container/2-container-full/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "8"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/3-container-full/node_modules/react.js b/packages/enhanced/test/configCases/container/3-container-full/node_modules/react.js deleted file mode 100644 index ab65e86c7fe..00000000000 --- a/packages/enhanced/test/configCases/container/3-container-full/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "8"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/package.json b/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/package.json deleted file mode 100644 index a1069cc8a84..00000000000 --- a/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "react", - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/react.js b/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/react.js deleted file mode 100644 index ff64eb39526..00000000000 --- a/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/react.js +++ /dev/null @@ -1 +0,0 @@ -export default "React"; diff --git a/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/package.json b/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/package.json deleted file mode 100644 index a1069cc8a84..00000000000 --- a/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "react", - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/react.js b/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/react.js deleted file mode 100644 index ff64eb39526..00000000000 --- a/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/react.js +++ /dev/null @@ -1 +0,0 @@ -export default "React"; diff --git a/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/package.json b/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/package.json deleted file mode 100644 index a1069cc8a84..00000000000 --- a/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "react", - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/react.js b/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/react.js deleted file mode 100644 index ff64eb39526..00000000000 --- a/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/react.js +++ /dev/null @@ -1 +0,0 @@ -export default "React"; diff --git a/packages/enhanced/test/configCases/container/manifest/node_modules/package.json b/packages/enhanced/test/configCases/container/manifest/node_modules/package.json deleted file mode 100644 index a1069cc8a84..00000000000 --- a/packages/enhanced/test/configCases/container/manifest/node_modules/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "react", - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/container/manifest/node_modules/react.js b/packages/enhanced/test/configCases/container/manifest/node_modules/react.js deleted file mode 100644 index ff64eb39526..00000000000 --- a/packages/enhanced/test/configCases/container/manifest/node_modules/react.js +++ /dev/null @@ -1 +0,0 @@ -export default "React"; diff --git a/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/package.json b/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/package.json deleted file mode 100644 index 87032da008a..00000000000 --- a/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "2.1.0" -} diff --git a/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/react.js b/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/react.js deleted file mode 100644 index 97d35a4bc9c..00000000000 --- a/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "2.1.0"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/multiple-entrypoints-1/node_modules/react.js b/packages/enhanced/test/configCases/container/multiple-entrypoints-1/node_modules/react.js deleted file mode 100644 index bcf433f2afb..00000000000 --- a/packages/enhanced/test/configCases/container/multiple-entrypoints-1/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/multiple-entrypoints/node_modules/react.js b/packages/enhanced/test/configCases/container/multiple-entrypoints/node_modules/react.js deleted file mode 100644 index bcf433f2afb..00000000000 --- a/packages/enhanced/test/configCases/container/multiple-entrypoints/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/package.json b/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/package.json deleted file mode 100644 index 87032da008a..00000000000 --- a/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "2.1.0" -} diff --git a/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/react.js b/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/react.js deleted file mode 100644 index 97d35a4bc9c..00000000000 --- a/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "2.1.0"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/index.js b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/index.js deleted file mode 100644 index 4111021868b..00000000000 --- a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/index.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "0.1.2"; -export default () => `This is @scope-sc/ui-lib ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/package.json b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/package.json deleted file mode 100644 index 485bb4d6261..00000000000 --- a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@scope-sc/ui-lib", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/index.js b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/index.js deleted file mode 100644 index 994d882c949..00000000000 --- a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/index.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "0.1.2"; -export default () => `This is @scope-sc/ui-lib2 ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/package.json b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/package.json deleted file mode 100644 index 320334e0da6..00000000000 --- a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@scope-sc/ui-lib2", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/index.js b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/index.js deleted file mode 100644 index ac1633f1e65..00000000000 --- a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/index.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "0.1.2"; -export default () => `This is @scope-sc/ui-lib3 ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/package.json b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/package.json deleted file mode 100644 index 7c0e181d2bf..00000000000 --- a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@scope-sc/ui-lib3", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/container/virtual-entry/node_modules/react.js b/packages/enhanced/test/configCases/container/virtual-entry/node_modules/react.js deleted file mode 100644 index bcf433f2afb..00000000000 --- a/packages/enhanced/test/configCases/container/virtual-entry/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/layers/1-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/1-layers-full/node_modules/react.js deleted file mode 100644 index 4b536eeef07..00000000000 --- a/packages/enhanced/test/configCases/layers/1-layers-full/node_modules/react.js +++ /dev/null @@ -1,4 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } -export const layeredComponentsReact = () => "No Layer (1-layers-full)"; diff --git a/packages/enhanced/test/configCases/layers/2-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/2-layers-full/node_modules/react.js deleted file mode 100644 index f526a4d3939..00000000000 --- a/packages/enhanced/test/configCases/layers/2-layers-full/node_modules/react.js +++ /dev/null @@ -1,4 +0,0 @@ -let version = "2.1.0"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } -export const layeredComponentsReact = () => "No Layer (2-layers-full)"; diff --git a/packages/enhanced/test/configCases/layers/3-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/3-layers-full/node_modules/react.js deleted file mode 100644 index 6e63243a6eb..00000000000 --- a/packages/enhanced/test/configCases/layers/3-layers-full/node_modules/react.js +++ /dev/null @@ -1,4 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } -export const layeredComponentsReact = () => "__PLACEHOLDER__"; diff --git a/packages/enhanced/test/configCases/layers/4-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/4-layers-full/node_modules/react.js deleted file mode 100644 index 6e63243a6eb..00000000000 --- a/packages/enhanced/test/configCases/layers/4-layers-full/node_modules/react.js +++ /dev/null @@ -1,4 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } -export const layeredComponentsReact = () => "__PLACEHOLDER__"; diff --git a/packages/enhanced/test/configCases/layers/5-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/5-layers-full/node_modules/react.js deleted file mode 100644 index 6e63243a6eb..00000000000 --- a/packages/enhanced/test/configCases/layers/5-layers-full/node_modules/react.js +++ /dev/null @@ -1,4 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } -export const layeredComponentsReact = () => "__PLACEHOLDER__"; diff --git a/packages/enhanced/test/configCases/layers/6-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/6-layers-full/node_modules/react.js deleted file mode 100644 index 6e63243a6eb..00000000000 --- a/packages/enhanced/test/configCases/layers/6-layers-full/node_modules/react.js +++ /dev/null @@ -1,4 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } -export const layeredComponentsReact = () => "__PLACEHOLDER__"; diff --git a/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/package.json b/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/package.json deleted file mode 100644 index 3c5c6ef7e00..00000000000 --- a/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "0.1.2" -} diff --git a/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/react.js deleted file mode 100644 index b3d5e976d44..00000000000 --- a/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/react.js +++ /dev/null @@ -1,5 +0,0 @@ -import pkg from './package.json' - -export default () => `This is react ${pkg.version}`; -export function setVersion(v) { version = v; } -export const layeredComponentsReact = () => "No Layer"; diff --git a/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/package.json b/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/package.json deleted file mode 100644 index 717ab457193..00000000000 --- a/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "0.1.1" -} diff --git a/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/react.js deleted file mode 100644 index 5280f1f7107..00000000000 --- a/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/react.js +++ /dev/null @@ -1,4 +0,0 @@ -import pkg from './package.json' -export function setVersion(v) { pkg.version = v; } -export const layeredComponentsReact = () => "FEDERATION IS BROKEN, THIS VERION SHOULD NOT BE LOADED"; -export default () => `${pkg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/index.js deleted file mode 100644 index 4c5739c174a..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/index.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - name: 'singleton-filter', - version: '1.0.5' -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/package.json deleted file mode 100644 index 615621020b8..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "singleton-filter", - "version": "1.0.5" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/index.js deleted file mode 100644 index 41777c6e3de..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/index.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - name: 'version-exclude-fail', - version: '2.1.0' -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/package.json deleted file mode 100644 index a824e255c27..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "version-exclude-fail", - "version": "2.1.0" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/index.js deleted file mode 100644 index edb70dc8c6b..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/index.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - name: 'version-exclude', - version: '1.5.0' -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/package.json deleted file mode 100644 index a988d2d6547..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "version-exclude", - "version": "1.5.0" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/index.js deleted file mode 100644 index 5b5e0ad0912..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/index.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - name: 'version-include-fail', - version: '1.5.0' -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/package.json deleted file mode 100644 index 47092c5b190..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "version-include-fail", - "version": "1.5.0" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/index.js deleted file mode 100644 index dc72d35a390..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/index.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - name: 'version-include', - version: '1.2.3' -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/package.json deleted file mode 100644 index 2c89a716669..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "version-include", - "version": "1.2.3" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/@scoped/package/index.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/@scoped/package/index.js deleted file mode 100644 index 8678386a6f2..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/@scoped/package/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "@scoped/package"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/package.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/package.js deleted file mode 100644 index 7c1dac1c302..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/package.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "package"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/a.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/a.js deleted file mode 100644 index 6cd1d0075d4..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/a.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "a"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/deep/b.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/deep/b.js deleted file mode 100644 index dfbbeb621fa..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/deep/b.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "b"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singleton.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singleton.js deleted file mode 100644 index ec0140e27d2..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singleton.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "singleton"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singletonWithoutVersion.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singletonWithoutVersion.js deleted file mode 100644 index eb02ddc0628..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singletonWithoutVersion.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "singleton without version"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict0.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict0.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict0.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict1.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict1.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict2.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict2.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict3.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict3.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict4.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict4.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict4.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/@scoped/package/index.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/@scoped/package/index.js deleted file mode 100644 index 8678386a6f2..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/@scoped/package/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "@scoped/package"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/package.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/package.js deleted file mode 100644 index 7c1dac1c302..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/package.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "package"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/a.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/a.js deleted file mode 100644 index 6cd1d0075d4..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/a.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "a"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/deep/b.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/deep/b.js deleted file mode 100644 index dfbbeb621fa..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/deep/b.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "b"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singleton.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singleton.js deleted file mode 100644 index ec0140e27d2..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singleton.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "singleton"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singletonWithoutVersion.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singletonWithoutVersion.js deleted file mode 100644 index eb02ddc0628..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singletonWithoutVersion.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "singleton without version"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict0.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict0.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict0.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict1.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict1.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict1.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict2.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict2.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict2.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict3.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict3.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict3.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict4.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict4.js deleted file mode 100644 index 51df4cc6671..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict4.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/index.js deleted file mode 100644 index ae61e683bfb..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/package.json deleted file mode 100644 index ab866ffdfa3..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "shared": "^2.3.0" - } -} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/index.js deleted file mode 100644 index ae61e683bfb..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/package.json deleted file mode 100644 index b88141f46c5..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "devDependencies": { - "shared": "~2.3.0" - } -} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/index.js deleted file mode 100644 index ae61e683bfb..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/package.json deleted file mode 100644 index 6a3ed89c57b..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "devDependencies": { - "shared": "^3.4.5" - } -} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/index.js deleted file mode 100644 index ae61e683bfb..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/package.json deleted file mode 100644 index 6faf4164846..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "devDependencies": { - "shared": "*" - } -} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/index.js deleted file mode 100644 index ae61e683bfb..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/package.json deleted file mode 100644 index ab866ffdfa3..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "shared": "^2.3.0" - } -} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/index.js deleted file mode 100644 index ae61e683bfb..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/package.json deleted file mode 100644 index b88141f46c5..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "devDependencies": { - "shared": "~2.3.0" - } -} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/index.js deleted file mode 100644 index ae61e683bfb..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/package.json deleted file mode 100644 index 6a3ed89c57b..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "devDependencies": { - "shared": "^3.4.5" - } -} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/index.js deleted file mode 100644 index ae61e683bfb..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/package.json deleted file mode 100644 index 6faf4164846..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "devDependencies": { - "shared": "*" - } -} diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/index.js b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/index.js deleted file mode 100644 index 64e5c1aae7c..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import package2 from 'package-2'; - -export default function package1(msg) { - const result = package2(msg + ' package-1'); - - return result; -} diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/package.json b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/package.json deleted file mode 100644 index 2bd6e5099f3..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/package.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"module","sideEffects":false} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/package.json b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/package.json deleted file mode 100644 index 9094b0b0de2..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "package-1", - "version": "1.0.0", - "module": "./esm/index.js" -} diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/index.js b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/index.js deleted file mode 100644 index dac4028de4d..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/index.js +++ /dev/null @@ -1,6 +0,0 @@ -function package2(msg) { - const result = msg + ' package-2'; - return result; -} - -export { package2 as default }; diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/package.json b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/package.json deleted file mode 100644 index 9c3b4a80b18..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "package-2", - "version": "1.0.0", - "module": "./index.js" -} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/index.js b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/index.js deleted file mode 100644 index 9d3799c10a3..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { a } from "my-module/a"; -import { b } from "my-module/b"; - -export function m() { - return a() + b(); -} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/package.json b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/package.json deleted file mode 100644 index 857375d8323..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "my-middleware", - "type": "module", - "version": "2.3.4", - "dependencies": { - "my-module": "*" - } -} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/a.js b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/a.js deleted file mode 100644 index 32864f0a77f..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/a.js +++ /dev/null @@ -1,3 +0,0 @@ -export function a() { - return "A"; -} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/b.js b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/b.js deleted file mode 100644 index a528f0acf55..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/b.js +++ /dev/null @@ -1,5 +0,0 @@ -import { a } from "my-module/a"; - -export function b() { - return "B" + a(); -} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/package.json deleted file mode 100644 index 487a24abd22..00000000000 --- a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "my-module", - "type": "module", - "version": "1.2.3", - "exports": { - "./a": "./a.js", - "./b": "./b.js" - } -} diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index.js b/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index.js deleted file mode 100644 index 17f0c46768c..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import { dix } from './index2'; -export const version = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index2.js b/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index2.js deleted file mode 100644 index 6aa19f3b6b2..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index2.js +++ /dev/null @@ -1 +0,0 @@ -export const dix = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/lib2/index.js deleted file mode 100644 index ec16f09935f..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/lib2/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export default "lib2"; -export const version = '1.3.4'; diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing1.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing1.js deleted file mode 100644 index b0162214559..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing1.js +++ /dev/null @@ -1 +0,0 @@ -export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing2.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing2.js deleted file mode 100644 index b0162214559..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing2.js +++ /dev/null @@ -1 +0,0 @@ -export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index.js deleted file mode 100644 index 17f0c46768c..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import { dix } from './index2'; -export const version = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index2.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index2.js deleted file mode 100644 index 6aa19f3b6b2..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index2.js +++ /dev/null @@ -1 +0,0 @@ -export const dix = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/lib2/index.js deleted file mode 100644 index ec16f09935f..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/lib2/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export default "lib2"; -export const version = '1.3.4'; diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing1.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing1.js deleted file mode 100644 index b0162214559..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing1.js +++ /dev/null @@ -1 +0,0 @@ -export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing2.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing2.js deleted file mode 100644 index b0162214559..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing2.js +++ /dev/null @@ -1 +0,0 @@ -export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index.js deleted file mode 100644 index 5957b07261c..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index.js +++ /dev/null @@ -1 +0,0 @@ -export const version = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index2.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index2.js deleted file mode 100644 index 6aa19f3b6b2..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index2.js +++ /dev/null @@ -1 +0,0 @@ -export const dix = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/lib2/index.js deleted file mode 100644 index ec16f09935f..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/lib2/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export default "lib2"; -export const version = '1.3.4'; diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing1.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing1.js deleted file mode 100644 index b0162214559..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing1.js +++ /dev/null @@ -1 +0,0 @@ -export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing2.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing2.js deleted file mode 100644 index b0162214559..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing2.js +++ /dev/null @@ -1 +0,0 @@ -export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index.js deleted file mode 100644 index 17f0c46768c..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import { dix } from './index2'; -export const version = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index2.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index2.js deleted file mode 100644 index 6aa19f3b6b2..00000000000 --- a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index2.js +++ /dev/null @@ -1 +0,0 @@ -export const dix = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/index.js b/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/index.js deleted file mode 100644 index 7c1dac1c302..00000000000 --- a/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "package"; diff --git a/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/package.json b/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/package.json deleted file mode 100644 index 1587a669681..00000000000 --- a/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/index.js b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/index.js deleted file mode 100644 index 888cae37af9..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 42; diff --git a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/package.json b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/package.json deleted file mode 100644 index 1587a669681..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/index.js b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/index.js deleted file mode 100644 index 888cae37af9..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 42; diff --git a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/package.json b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/package.json deleted file mode 100644 index 4928ba5355f..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "2.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/singleton-filter/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/singleton-filter/package.json deleted file mode 100644 index 615621020b8..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/singleton-filter/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "singleton-filter", - "version": "1.0.5" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude-fail/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude-fail/package.json deleted file mode 100644 index a824e255c27..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude-fail/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "version-exclude-fail", - "version": "2.1.0" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude/package.json deleted file mode 100644 index a988d2d6547..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "version-exclude", - "version": "1.5.0" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include-fail/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include-fail/package.json deleted file mode 100644 index 47092c5b190..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include-fail/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "version-include-fail", - "version": "1.5.0" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include/package.json deleted file mode 100644 index 2c89a716669..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "version-include", - "version": "1.2.3" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/index.js b/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/index.js deleted file mode 100644 index 7c1dac1c302..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = "package"; diff --git a/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/package.json b/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/package.json deleted file mode 100644 index 1587a669681..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/index.js deleted file mode 100644 index 33dcca8255b..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from "shared"; diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/index.js deleted file mode 100644 index fa434c11d85..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/package.json deleted file mode 100644 index 8836d69c11f..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "shared", - "version": "2.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/index.js deleted file mode 100644 index fa434c11d85..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/package.json deleted file mode 100644 index 65b99b00928..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "shared", - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/index.js deleted file mode 100644 index fa434c11d85..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/package.json deleted file mode 100644 index 87cb039c937..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "shared", - "version": "3.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/index.js b/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/index.js deleted file mode 100644 index 888cae37af9..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 42; diff --git a/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/package.json b/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/package.json deleted file mode 100644 index 1587a669681..00000000000 --- a/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/index.js deleted file mode 100644 index beeb6fd0da1..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/index.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - version: require('./node_modules/shared').version, -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/index.js deleted file mode 100644 index c6857c8ba0d..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/index.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - version: '2.0.0', -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/package.json deleted file mode 100644 index 4e8b63e2e26..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "shared", - "version": "2.0.0", - "main": "index.js" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/package.json deleted file mode 100644 index f11e616f758..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "my-module", - "version": "1.0.0", - "main": "index.js" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/directory/thing.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/directory/thing.js deleted file mode 100644 index 1b3cfa1cdc7..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/directory/thing.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - version: '1.0.0', -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/index.js deleted file mode 100644 index 1b3cfa1cdc7..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/index.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - version: '1.0.0', -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/package.json deleted file mode 100644 index 16bd1298035..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "shared", - "version": "1.0.0", - "main": "index.js" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/index.js deleted file mode 100644 index 74bdc5bd0fc..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/index.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - version: '3.0.0', -}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/package.json deleted file mode 100644 index 1a8a0755901..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "shared", - "version": "3.0.0", - "main": "index.js" -} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/index.js deleted file mode 100644 index 33dcca8255b..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from "shared"; diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/index.js deleted file mode 100644 index fa434c11d85..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/package.json deleted file mode 100644 index 8836d69c11f..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "shared", - "version": "2.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/package.json deleted file mode 100644 index 1bcd4a5c107..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "shared": "^2.0.0" - } -} diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/index.js deleted file mode 100644 index fa434c11d85..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/package.json deleted file mode 100644 index 65b99b00928..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "shared", - "version": "1.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/index.js deleted file mode 100644 index fa434c11d85..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/package.json deleted file mode 100644 index 87cb039c937..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "shared", - "version": "3.0.0" -} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/index.js deleted file mode 100644 index 7b736bcce99..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import cfg from './package.json' with { type: 'json' }; -import transitiveDept from 'transitive_lib'; - -export default `lib@${cfg.version} with ${transitiveDept}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/package.json deleted file mode 100644 index 7e0693158c6..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "version": "1.1.1", - "dependencies": { - "transitive_lib": "^1.0.0" - } -} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/index.js deleted file mode 100644 index b2e98d48ce5..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import cfg from './package.json' with { type: 'json' }; - -export default `transitive_lib@${cfg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/package.json deleted file mode 100644 index 2a38ae1d1f4..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "1.1.1" -} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/index.js deleted file mode 100644 index c5d50faf728..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import cfg from './package.json' with { type: 'json' }; - -export default `lib2@${cfg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/package.json deleted file mode 100644 index b72ccacc95a..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "2.2.2" -} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/index.js deleted file mode 100644 index a54163858e1..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import cfg from './package.json' with { type: 'json' }; - -export default `lib1@${cfg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/package.json deleted file mode 100644 index 2a38ae1d1f4..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "1.1.1" -} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/index.js deleted file mode 100644 index c5d50faf728..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import cfg from './package.json' with { type: 'json' }; - -export default `lib2@${cfg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/package.json deleted file mode 100644 index 2a38ae1d1f4..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "1.1.1" -} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/index.js b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/index.js deleted file mode 100644 index 461d2376f4c..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/index.js +++ /dev/null @@ -1 +0,0 @@ -export default "lib1"; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/package.json b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/package.json deleted file mode 100644 index 2a38ae1d1f4..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "1.1.1" -} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib2/index.js deleted file mode 100644 index c2a6f9581ff..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib2/index.js +++ /dev/null @@ -1 +0,0 @@ -export default "lib2"; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/index.js b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/index.js deleted file mode 100644 index 62fde4a705d..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/index.js +++ /dev/null @@ -1 +0,0 @@ -export default "lib3"; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/package.json b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/package.json deleted file mode 100644 index 2a38ae1d1f4..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "1.1.1" -} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/index.js b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/index.js deleted file mode 100644 index 225383e5cc2..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/index.js +++ /dev/null @@ -1 +0,0 @@ -export default "store"; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/package.json b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/package.json deleted file mode 100644 index ce04135d2cd..00000000000 --- a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "0" -} diff --git a/packages/enhanced/test/configCases/sharing/shared-strategy/node_modules/react.js b/packages/enhanced/test/configCases/sharing/shared-strategy/node_modules/react.js deleted file mode 100644 index bcf433f2afb..00000000000 --- a/packages/enhanced/test/configCases/sharing/shared-strategy/node_modules/react.js +++ /dev/null @@ -1,3 +0,0 @@ -let version = "0.1.2"; -export default () => `This is react ${version}`; -export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/index.js deleted file mode 100644 index 9dd1824aaaa..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' - -export default { - Button, - List, - Badge -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/package.json deleted file mode 100644 index 34effdfca83..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-dynamic-default-export", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/index.js deleted file mode 100644 index 6d4fe4c20ea..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/package.json deleted file mode 100644 index e1e4830eb43..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-dynamic-specific-export", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/index.js deleted file mode 100644 index 6d4fe4c20ea..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/package.json deleted file mode 100644 index 4e05f3fb855..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-es", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/index.js deleted file mode 100644 index 0568c23344a..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/index.js +++ /dev/null @@ -1,12 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' - -globalThis.Button = Button; -globalThis.List = List; -globalThis.Badge = Badge; -export default { - Button, - List, - Badge -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/package.json deleted file mode 100644 index 08f52aa758d..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-side-effect", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": true -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/index.js deleted file mode 100644 index 39961a43ee4..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export const Button = 'Button'; -export const List = 'List'; -export const Badge = 'Badge'; - -export default { - Button, - List, - Badge, -}; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/package.json deleted file mode 100644 index 90f9db2691b..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/index.js deleted file mode 100644 index 0952251fcc0..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import { nanoid } from 'nanoid'; - -export const createLegacyId = () => nanoid(); diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/index.js deleted file mode 100644 index b8a20f2a410..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/index.js +++ /dev/null @@ -1 +0,0 @@ -export const nanoid = () => 'legacy-3.3.11'; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/package.json deleted file mode 100644 index e81079eece0..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "nanoid", - "main": "./index.js", - "version": "3.3.11", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/package.json deleted file mode 100644 index 401960f7119..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "legacy-nanoid-v3", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false, - "dependencies": { - "nanoid": "3.3.11" - } -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/index.js deleted file mode 100644 index 5ac54973804..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/index.js +++ /dev/null @@ -1 +0,0 @@ -export const nanoid = () => 'modern-5.1.6'; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/package.json deleted file mode 100644 index fca4c1790c6..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "nanoid", - "main": "./index.js", - "version": "5.1.6", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/index.js deleted file mode 100644 index 9dd1824aaaa..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' - -export default { - Button, - List, - Badge -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/package.json deleted file mode 100644 index 34effdfca83..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-dynamic-default-export", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/index.js deleted file mode 100644 index 6d4fe4c20ea..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/package.json deleted file mode 100644 index e1e4830eb43..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-dynamic-specific-export", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/index.js deleted file mode 100644 index 6d4fe4c20ea..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/package.json deleted file mode 100644 index 4e05f3fb855..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-es", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/index.js deleted file mode 100644 index 0568c23344a..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/index.js +++ /dev/null @@ -1,12 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' - -globalThis.Button = Button; -globalThis.List = List; -globalThis.Badge = Badge; -export default { - Button, - List, - Badge -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/package.json deleted file mode 100644 index 08f52aa758d..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-side-effect", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": true -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/index.js deleted file mode 100644 index 39961a43ee4..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export const Button = 'Button'; -export const List = 'List'; -export const Badge = 'Badge'; - -export default { - Button, - List, - Badge, -}; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/package.json deleted file mode 100644 index 90f9db2691b..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/index.js b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/index.js deleted file mode 100644 index 0e03fb26811..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export const Message = 'Message'; -export const Spin = 'Spin'; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/package.json b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/package.json deleted file mode 100644 index 436a74b6795..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-dep", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/index.js b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/index.js deleted file mode 100644 index 212d1f07b45..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/index.js +++ /dev/null @@ -1,14 +0,0 @@ -import { Message, Spin } from 'ui-lib-dep'; - -export const Button = 'Button'; -export const List = 'List'; -export const Badge = 'Badge'; - -export const MessagePro = `${Message}Pro`; -export const SpinPro = `${Spin}Pro`; - -export default { - Button, - List, - Badge, -}; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/package.json b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/package.json deleted file mode 100644 index 90f9db2691b..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/index.js deleted file mode 100644 index 9dd1824aaaa..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' - -export default { - Button, - List, - Badge -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/package.json deleted file mode 100644 index 34effdfca83..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-dynamic-default-export", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/index.js deleted file mode 100644 index 6d4fe4c20ea..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/package.json deleted file mode 100644 index e1e4830eb43..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-dynamic-specific-export", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/index.js deleted file mode 100644 index 6d4fe4c20ea..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/package.json deleted file mode 100644 index 4e05f3fb855..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-es", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/index.js deleted file mode 100644 index 0568c23344a..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/index.js +++ /dev/null @@ -1,12 +0,0 @@ -export const Button = 'Button'; -export const List = 'List' -export const Badge = 'Badge' - -globalThis.Button = Button; -globalThis.List = List; -globalThis.Badge = Badge; -export default { - Button, - List, - Badge -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/package.json deleted file mode 100644 index 08f52aa758d..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib-side-effect", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": true -} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/index.js deleted file mode 100644 index 39961a43ee4..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export const Button = 'Button'; -export const List = 'List'; -export const Badge = 'Badge'; - -export default { - Button, - List, - Badge, -}; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/package.json deleted file mode 100644 index 90f9db2691b..00000000000 --- a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ui-lib", - "main": "./index.js", - "version": "1.0.0", - "sideEffects": false -} diff --git a/packages/rstest/README.md b/packages/rstest/README.md index 8466c7b5f6b..81bce99edd0 100644 --- a/packages/rstest/README.md +++ b/packages/rstest/README.md @@ -9,19 +9,14 @@ owned and versioned alongside the rest of the Module Federation tooling. ## Required @rstest/core version -Node test environments require Rstest's federation support +Use `@rstest/core@0.11.4` or newer. That release includes Rstest's federation +support ([web-infra-dev/rstest#1407](https://github.com/web-infra-dev/rstest/pull/1407)). -Until that release, pair this plugin with a pkg.pr.new canary build from that -PR, for example: -```bash -npm install https://pkg.pr.new/@rstest/core@647b5d0 -``` - -When supported, this plugin automatically enables Rstest's federation -compatibility mode for Node test environments. Older Rstest versions do not -expose that configuration API, so the plugin leaves their configuration -unchanged. +For Node test environments, this plugin automatically enables Rstest's +federation compatibility mode. Do not set `federation: true` in +`rstest.config.*`; the plugin applies it through Rstest's exposed configuration +API when the test build targets Node. ## Stable plugin name @@ -54,7 +49,8 @@ export default defineConfig({ }); ``` -By default, `federation()` applies Node-safe Module Federation settings: +By default, `federation()` applies Node-safe Module Federation settings and +enables Rstest federation mode automatically: - `target: async-node` - `experiments.asyncStartup = true` @@ -64,6 +60,9 @@ By default, `federation()` applies Node-safe Module Federation settings: - Remote transport is inferred from each remote declaration, so standard URL remotes and `commonjs ...` path remotes work without setting `remoteType` +Keep `federation: true` out of `rstest.config.*`. Setting it manually is only +needed when using Module Federation without this plugin. + ### Browser mode ```ts diff --git a/packages/rstest/package.json b/packages/rstest/package.json index 25846b4c04c..b624a35832b 100644 --- a/packages/rstest/package.json +++ b/packages/rstest/package.json @@ -42,12 +42,16 @@ "devDependencies": { "@rslib/core": "^0.23.2", "@rsbuild/core": "2.1.4", - "@rstest/core": "^0.10.6" + "@rstest/core": "^0.11.4" }, "peerDependencies": { + "@rstest/core": ">=0.11.4", "@rsbuild/core": "^1.3.21 || ^2.0.0" }, "peerDependenciesMeta": { + "@rstest/core": { + "optional": true + }, "@rsbuild/core": { "optional": true } @@ -55,6 +59,7 @@ "dependencies": { "@module-federation/enhanced": "workspace:*", "@module-federation/node": "workspace:*", + "@module-federation/rspack": "workspace:*", "@module-federation/sdk": "workspace:*" }, "engines": { diff --git a/packages/rstest/src/plugin.ts b/packages/rstest/src/plugin.ts index aa06f5da322..853acb96f88 100644 --- a/packages/rstest/src/plugin.ts +++ b/packages/rstest/src/plugin.ts @@ -73,9 +73,9 @@ const createRspackPatcher = ( * Enable Rstest's Module Federation compatibility mode for the current Rsbuild * environment. * - * Node test environments require the upcoming Rstest federation support - * (web-infra-dev/rstest PR #1407). When available, this plugin automatically - * enables Rstest's compatibility mode through its exposed configuration API. + * Node test environments require Rstest's federation support, available in + * @rstest/core 0.11.4 and newer. This plugin automatically enables Rstest's + * compatibility mode through its exposed configuration API. * * Add this to your `rstest.config.*`: * diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d7105042c63..571f8f78241 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -352,7 +352,7 @@ importers: version: 3.5.0 rsbuild-plugin-publint: specifier: ^0.2.1 - version: 0.2.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.36.1)) + version: 0.2.1(@rsbuild/core@1.7.3) rstest-fetch-mock: specifier: 0.1.0 version: 0.1.0(@rstest/core@0.10.6(@module-federation/runtime-tools@2.8.0)(core-js@3.36.1)(jsdom@20.0.3)) @@ -382,7 +382,7 @@ importers: version: 10.9.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(@types/node@20.19.5)(typescript@6.0.3) tsdown: specifier: 0.20.3 - version: 0.20.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(publint@0.3.18)(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)) + version: 0.20.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(publint@0.3.18)(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)) tslib: specifier: 2.8.1 version: 2.8.1 @@ -1091,7 +1091,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../packages/modernjs-v3 @@ -1110,7 +1110,7 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) @@ -1152,7 +1152,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../packages/modernjs-v3 @@ -1171,7 +1171,7 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) @@ -1222,7 +1222,7 @@ importers: version: link:../../../packages/storybook-addon '@rsbuild/plugin-react': specifier: ^1.4.5 - version: 1.4.5(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(webpack-hot-middleware@2.26.1) + version: 1.4.5(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(webpack-hot-middleware@2.26.1) '@rslib/core': specifier: ^0.9.0 version: 0.9.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(typescript@5.9.3) @@ -1249,7 +1249,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../packages/modernjs-v3 @@ -1268,7 +1268,7 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) @@ -1323,7 +1323,7 @@ importers: version: link:../../../packages/rsbuild-plugin '@rsbuild/plugin-react': specifier: ^1.4.5 - version: 1.4.5(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(webpack-hot-middleware@2.26.1) + version: 1.4.5(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(webpack-hot-middleware@2.26.1) '@rslib/core': specifier: ^0.9.0 version: 0.9.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(typescript@5.9.3) @@ -1341,7 +1341,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../packages/modernjs-v3 @@ -1360,7 +1360,7 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) @@ -1402,7 +1402,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../packages/modernjs-v3 @@ -1421,7 +1421,7 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) @@ -1463,7 +1463,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../packages/modernjs-v3 @@ -1482,7 +1482,7 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) @@ -1524,7 +1524,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../packages/modernjs-v3 @@ -1543,7 +1543,7 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) @@ -1585,7 +1585,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../packages/modernjs-v3 @@ -1604,7 +1604,7 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) @@ -2057,7 +2057,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-react': specifier: ^2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@types/react': specifier: ^18.2.79 version: 18.3.28 @@ -2106,7 +2106,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-react': specifier: ^2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@types/react': specifier: ^18.2.79 version: 18.3.28 @@ -2143,7 +2143,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-vue': specifier: ^2.0.1 - version: 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2)) + version: 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2)) tailwindcss: specifier: ^3.4.3 version: 3.4.13(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@26.1.1)(typescript@7.0.2)) @@ -2229,7 +2229,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-react': specifier: ^2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@types/react': specifier: ^18.2.79 version: 18.3.28 @@ -2260,7 +2260,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-vue': specifier: ^2.0.1 - version: 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2)) + version: 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2)) '@vue/tsconfig': specifier: ^0.5.1 version: 0.5.1 @@ -2303,7 +2303,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-react': specifier: ^2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@types/react': specifier: ^18.2.79 version: 18.3.28 @@ -2343,7 +2343,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-react': specifier: ^2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@types/react': specifier: ^19.0.0 version: 19.2.14 @@ -2386,7 +2386,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-react': specifier: ^2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@types/react': specifier: ^18.2.79 version: 18.3.28 @@ -2410,7 +2410,7 @@ importers: version: link:../../packages/storybook-addon '@rsbuild/plugin-react': specifier: ^2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@rslib/core': specifier: ^0.23.2 version: 0.23.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@7.0.2) @@ -2431,10 +2431,10 @@ importers: version: 8.6.17(prettier@3.8.1) storybook-addon-rslib: specifier: ^1.0.1 - version: 1.0.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rslib/core@0.23.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@7.0.2))(storybook-builder-rsbuild@1.0.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2))(typescript@7.0.2) + version: 1.0.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rslib/core@0.23.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@7.0.2))(storybook-builder-rsbuild@1.0.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2))(typescript@7.0.2) storybook-react-rsbuild: specifier: ^1.0.1 - version: 1.0.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)) + version: 1.0.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)) apps/runtime-demo/3005-runtime-host: dependencies: @@ -2567,7 +2567,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-react': specifier: ^2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) apps/shared-tree-shaking/no-server/host: dependencies: @@ -2576,7 +2576,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/enhanced': specifier: workspace:* version: link:../../../../packages/enhanced @@ -2595,10 +2595,10 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.17))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@3.14.2)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.17))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@3.14.2)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/plugin-server': specifier: 2.68.0 - version: 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/server-runtime': specifier: 3.0.1 version: 3.0.1(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -2646,7 +2646,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/enhanced': specifier: workspace:* version: link:../../../../packages/enhanced @@ -2665,13 +2665,13 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) '@modern-js/plugin-server': specifier: 2.68.0 - version: 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/tsconfig': specifier: 3.0.1 version: 3.0.1 @@ -2713,7 +2713,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../../packages/modernjs-v3 @@ -2732,13 +2732,13 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@3.14.2)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@3.14.2)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) '@modern-js/plugin-server': specifier: 2.68.0 - version: 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/server-runtime': specifier: 3.0.1 version: 3.0.1(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -2789,7 +2789,7 @@ importers: version: 7.28.2 '@modern-js/runtime': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@module-federation/modern-js-v3': specifier: workspace:* version: link:../../../../packages/modernjs-v3 @@ -2808,13 +2808,13 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 3.5.0 - version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) '@modern-js/plugin-server': specifier: 2.68.0 - version: 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/tsconfig': specifier: 3.0.1 version: 3.0.1 @@ -2859,10 +2859,10 @@ importers: version: link:../../packages/runtime '@rsbuild/plugin-sass': specifier: ^2.0.1 - version: 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) + version: 2.0.1(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@rspress/core': specifier: 2.0.14 - version: 2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2) + version: 2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2) framer-motion: specifier: ^10.0.0 version: 10.18.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -2893,7 +2893,7 @@ importers: version: 19.2.3(@types/react@19.2.14) zephyr-rspress-plugin: specifier: ^1.1.2 - version: 1.1.2(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@rspress/core@2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + version: 1.1.2(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@rspress/core@2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) packages/assemble-release-plan: dependencies: @@ -2937,7 +2937,7 @@ importers: version: link:../../runtime-core '@rsbuild/plugin-react': specifier: 2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@testing-library/jest-dom': specifier: 6.6.3 version: 6.6.3 @@ -3032,10 +3032,10 @@ importers: devDependencies: '@rsbuild/plugin-babel': specifier: 2.0.1 - version: 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)) + version: 2.0.1(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)) '@rsbuild/plugin-vue-jsx': specifier: 2.0.1 - version: 2.0.1(@babel/core@7.29.7)(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) + version: 2.0.1(@babel/core@7.29.7)(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@types/react': specifier: ^18.3.11 version: 18.3.28 @@ -3068,7 +3068,7 @@ importers: version: 2.66.7(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@modern-js/runtime': specifier: 2.70.8 - version: 2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4) + version: 2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4) '@module-federation/observability-plugin': specifier: workspace:* version: link:../observability-plugin @@ -3105,7 +3105,7 @@ importers: version: 2.59.0(typescript@7.0.2) '@modern-js/app-tools': specifier: 2.70.8 - version: 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.41(@swc/helpers@0.5.19))(encoding@0.1.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(rollup@4.62.2)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.19))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1) + version: 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.41(@swc/helpers@0.5.19))(encoding@0.1.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(rollup@4.62.2)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.19))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1) '@modern-js/eslint-config': specifier: 2.59.0 version: 2.59.0(typescript@7.0.2) @@ -3114,7 +3114,7 @@ importers: version: 2.70.8(@types/node@20.19.5)(typescript@7.0.2) '@modern-js/storybook': specifier: 2.70.8 - version: 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + version: 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/tsconfig': specifier: 2.70.8 version: 2.70.8 @@ -3741,7 +3741,7 @@ importers: version: 9.2.1 tsdown: specifier: 0.20.3 - version: 0.20.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(publint@0.3.18)(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)) + version: 0.20.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(publint@0.3.18)(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)) unplugin: specifier: ^1.10.1 version: 1.10.1 @@ -3843,7 +3843,7 @@ importers: version: 18.3.7(@types/react@18.3.28) tsdown: specifier: 0.20.3 - version: 0.20.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(publint@0.3.18)(typescript@7.0.2)(vue-tsc@2.2.12(typescript@6.0.3)) + version: 0.20.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(publint@0.3.18)(typescript@7.0.2)(vue-tsc@2.2.12(typescript@6.0.3)) typescript: specifier: 7.0.2 version: 7.0.2 @@ -3918,7 +3918,7 @@ importers: version: 1.4.5(@rsbuild/core@1.7.3)(webpack-hot-middleware@2.26.1) '@rslib/core': specifier: ^0.12.4 - version: 0.12.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(typescript@7.0.2) + version: 0.12.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(typescript@7.0.2) '@types/node': specifier: ^20.19.5 version: 20.19.5 @@ -4036,7 +4036,7 @@ importers: version: 0.23.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@7.0.2) '@rspress/core': specifier: 2.0.14 - version: 2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@18.3.28)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2) + version: 2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@18.3.28)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2) '@types/html-to-text': specifier: ^9.0.4 version: 9.0.4 @@ -4058,6 +4058,9 @@ importers: '@module-federation/node': specifier: workspace:* version: link:../node + '@module-federation/rspack': + specifier: workspace:* + version: link:../rspack '@module-federation/sdk': specifier: workspace:* version: link:../sdk @@ -4069,8 +4072,8 @@ importers: specifier: ^0.23.2 version: 0.23.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@7.0.2) '@rstest/core': - specifier: ^0.10.6 - version: 0.10.6(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(jsdom@20.0.3) + specifier: ^0.11.4 + version: 0.11.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(jsdom@20.0.3) packages/runtime: dependencies: @@ -4357,7 +4360,7 @@ importers: version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-react': specifier: ^2.1.0 - version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + version: 2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@rslib/core': specifier: ^0.23.2 version: 0.23.2(@microsoft/api-extractor@7.57.7(@types/node@22.19.15))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@6.0.3) @@ -6036,6 +6039,9 @@ packages: '@emnapi/core@1.11.1': resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} + '@emnapi/core@1.11.2': + resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} + '@emnapi/core@1.9.0': resolution: {integrity: sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==} @@ -6045,6 +6051,9 @@ packages: '@emnapi/runtime@1.11.1': resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} + '@emnapi/runtime@1.11.2': + resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==} + '@emnapi/runtime@1.9.0': resolution: {integrity: sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==} @@ -11776,6 +11785,16 @@ packages: core-js: optional: true + '@rsbuild/core@2.1.8': + resolution: {integrity: sha512-Y70LMcCZspVoQ7Oip1W2Agu5wVhWZ2x3cYl4s9GLQG4VYphBud53DY/jkrqkyQF8ASYZDDDrW2KWNFj0kNLLuA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + core-js: '>= 3.0.0' + peerDependenciesMeta: + core-js: + optional: true + '@rsbuild/plugin-assets-retry@1.5.2': resolution: {integrity: sha512-d+nZeoaokk/nlP0UV2/ijbmrvLFlH1SXTUd3kDilw0IqvANrlBMnwTcaxkX6tf0Dr0b4gApp9xiZLP5zQsgb5w==} peerDependencies: @@ -12175,6 +12194,11 @@ packages: cpu: [arm64] os: [darwin] + '@rspack/binding-darwin-arm64@2.1.5': + resolution: {integrity: sha512-XLAN6YSU36qkciJtV9DY9z57pdHOjKy/f1HyoqpZenRg8p46jnXPziV45lfrTZpG+FF6g/jtTUc4dKbeyoWqPw==} + cpu: [arm64] + os: [darwin] + '@rspack/binding-darwin-x64@0.7.5': resolution: {integrity: sha512-teLK0TB1x0CsvaaiCopsFx4EvJe+/Hljwii6R7C9qOZs5zSOfbT/LQ202eA0sAGodCncARCGaXVrsekbrRYqeA==} cpu: [x64] @@ -12240,6 +12264,11 @@ packages: cpu: [x64] os: [darwin] + '@rspack/binding-darwin-x64@2.1.5': + resolution: {integrity: sha512-KLW7PV86jyCOyqJSqrkZdvYUWYCFX/Q4LsGmVc8tyDA8jBYLMHJDewC/lNf9ot3rU2SoLDZKhDUh7q7dX0FRmg==} + cpu: [x64] + os: [darwin] + '@rspack/binding-linux-arm64-gnu@0.7.5': resolution: {integrity: sha512-/24UytJXrK+7CsucDb30GCKYIJ8nG6ceqbJyOtsJv9zeArNLHkxrYGSyjHJIpQfwVN17BPP4RNOi+yIZ3ZgDyA==} cpu: [arm64] @@ -12305,6 +12334,11 @@ packages: cpu: [arm64] os: [linux] + '@rspack/binding-linux-arm64-gnu@2.1.5': + resolution: {integrity: sha512-KOooAC8L+Ljx5sY7ZuMeaXCQ310FNWaPWXcYQJpFPApF3qyLeSfuOftUGwxcxeo5U0mS5OY3zxp7/5CaHWKYjg==} + cpu: [arm64] + os: [linux] + '@rspack/binding-linux-arm64-musl@0.7.5': resolution: {integrity: sha512-6RcxG42mLM01Pa6UYycACu/Nu9qusghAPUJumb8b8x5TRIDEtklYC5Ck6Rmagm+8E0ucMude2E/D4rMdIFcS3A==} cpu: [arm64] @@ -12370,16 +12404,31 @@ packages: cpu: [arm64] os: [linux] + '@rspack/binding-linux-arm64-musl@2.1.5': + resolution: {integrity: sha512-0GFc07gT71+uRbHtejDecBfSL0fs7dQAwCtXYieXboACauL7UvS3Hwr6v8A91aGtAcvLotnCaIa3CWWYwtYlYQ==} + cpu: [arm64] + os: [linux] + '@rspack/binding-linux-riscv64-gnu@2.1.2': resolution: {integrity: sha512-uys8Jyw8Z3ralvICbN/L/nZfy5qELIwpOY72rhIqhoDYwFcL4fmMaY7WsvUcJOjCB2rqOcWPaWKuF2oPvo9iDQ==} cpu: [riscv64] os: [linux] + '@rspack/binding-linux-riscv64-gnu@2.1.5': + resolution: {integrity: sha512-isQQDp3fBzPSZpLVFzPqVXIVA4I9b9mKs58TfUgOzDP/1g1582YSV3iFopgFogvEliihXDuuXvM6aAkP+w8Z+Q==} + cpu: [riscv64] + os: [linux] + '@rspack/binding-linux-riscv64-musl@2.1.2': resolution: {integrity: sha512-JYNVQwqCaRGQWvjHQYzZkIzQiwllMaJwh4Rdu3ww6W2OJcJUqT08sL1pkOtU0iCxT4VUYiRRcp93VGTGpHr8fg==} cpu: [riscv64] os: [linux] + '@rspack/binding-linux-riscv64-musl@2.1.5': + resolution: {integrity: sha512-/SP6VknY4kH60BYplI2FDNAJCo4U4DUszLxhKsgVlgA5ImgHC8Ew2AsKgidk7ceiYV9OcKzYuWYe9tVpysBYVA==} + cpu: [riscv64] + os: [linux] + '@rspack/binding-linux-x64-gnu@0.7.5': resolution: {integrity: sha512-R0Lu4CJN2nWMW7WzPBuCIju80cQPpcaqwKJDj/quwQySpJJZ6c5qGwB8mntqjxIzZDrNH6u0OkpiUTbvWZj8ww==} cpu: [x64] @@ -12445,6 +12494,11 @@ packages: cpu: [x64] os: [linux] + '@rspack/binding-linux-x64-gnu@2.1.5': + resolution: {integrity: sha512-/GJmS+buA4pilT10gs5mfAhAZxSHXpDD8veZ3QpYvNUuoU9gvempAq9TgjbyNN/vc5pf76GdXPXKFMiehudYSA==} + cpu: [x64] + os: [linux] + '@rspack/binding-linux-x64-musl@0.7.5': resolution: {integrity: sha512-dDgi/ThikMy1m4llxPeEXDCA2I8F8ezFS/eCPLZGU2/J1b4ALwDjuRsMmo+VXSlFCKgIt98V6h1woeg7nu96yg==} cpu: [x64] @@ -12510,6 +12564,11 @@ packages: cpu: [x64] os: [linux] + '@rspack/binding-linux-x64-musl@2.1.5': + resolution: {integrity: sha512-iwS3t75nZ2TnUjB05KtvpvjpdkOy/nLxbaOnwjbdnNZZXpUaMadLbllGAWayHPGCMsL2yKBEhVEESZpR7tK3SA==} + cpu: [x64] + os: [linux] + '@rspack/binding-wasm32-wasi@1.5.8': resolution: {integrity: sha512-cfg3niNHeJuxuml1Vy9VvaJrI/5TakzoaZvKX2g5S24wfzR50Eyy4JAsZ+L2voWQQp1yMJbmPYPmnTCTxdJQBQ==} cpu: [wasm32] @@ -12542,6 +12601,10 @@ packages: resolution: {integrity: sha512-EB4SqH8DW/E/OmqssNQvnIVGQiVUyYNlA/pcc6Ia4MlTNwu6eNDppcNLrToH+kSZpL4CpHSFfSM3eIsSuar2Rw==} cpu: [wasm32] + '@rspack/binding-wasm32-wasi@2.1.5': + resolution: {integrity: sha512-jOhW69t1H/jcRaSMB5U8jVzWP18j0YQIlo0nT8W+KvNVScJeyOze4FFc+5RIS7VmuT8/jid7hUyydZOfm6UgqA==} + cpu: [wasm32] + '@rspack/binding-win32-arm64-msvc@0.7.5': resolution: {integrity: sha512-nEF4cUdLfgEK6FrgJSJhUlr2/7LY1tmqBNQCFsCjtDtUkQbJIEo1b8edT94G9tJcQoFE4cD+Re30yBYbQO2Thg==} cpu: [arm64] @@ -12607,6 +12670,11 @@ packages: cpu: [arm64] os: [win32] + '@rspack/binding-win32-arm64-msvc@2.1.5': + resolution: {integrity: sha512-OLfMXmtFBcrWr9BRGKXJYrWgYR0JSaoAWr3EVFDjKGi/YR5aUwQSGc3AJPBph9g0YsdSqRuUhtQGtCk84DeeEA==} + cpu: [arm64] + os: [win32] + '@rspack/binding-win32-ia32-msvc@0.7.5': resolution: {integrity: sha512-hEcHRwJIzpZsePr+5x6V/7TGhrPXhSZYG4sIhsrem1za9W+qqCYYLZ7KzzbRODU07QaAH2RxjcA1bf8F2QDYAQ==} cpu: [ia32] @@ -12672,6 +12740,11 @@ packages: cpu: [ia32] os: [win32] + '@rspack/binding-win32-ia32-msvc@2.1.5': + resolution: {integrity: sha512-p4OSmnj21+AY8vpIADveLEBXfXJRXonOTYim2VLVWV4TbXfhYNMLiX3qESHCdNnn6lVJM0q6zxxzEUfTyAKydw==} + cpu: [ia32] + os: [win32] + '@rspack/binding-win32-x64-msvc@0.7.5': resolution: {integrity: sha512-PpVpP6J5/2b4T10hzSUwjLvmdpAOj3ozARl1Nrf/lsbYwhiXivoB8Gvoy/xe/Xpgr732Dk9VCeeW8rreWOOUVQ==} cpu: [x64] @@ -12737,6 +12810,11 @@ packages: cpu: [x64] os: [win32] + '@rspack/binding-win32-x64-msvc@2.1.5': + resolution: {integrity: sha512-YCkLLDGMkHsw5CpcsFtFhzCu+JZEsNrcH9O1GpWMkyxR2ku2Fq1i2wEHYSm26HyW+PJ3+Fv347MPWMFZIz9q2g==} + cpu: [x64] + os: [win32] + '@rspack/binding@0.7.5': resolution: {integrity: sha512-XcdOvaCz1mWWwr5vmEY9zncdInrjINEh60EWkYdqtCA67v7X7rB1fe6n4BeAI1+YLS2Eacj+lytlr+n7I+DYVg==} @@ -12776,6 +12854,9 @@ packages: '@rspack/binding@2.1.2': resolution: {integrity: sha512-/mFcRSUW7Pl19KeaBIujJvZYNJQu0wD5D3aa5h+Qcph26v7nmLYlX7eajIHGi8tt2qTZX1lXifw2KLIXKwYaRQ==} + '@rspack/binding@2.1.5': + resolution: {integrity: sha512-lF3ZLeeyV0AN3BL0m2jAmNZD5pP9IHsQ8gUXN7mo0g4xsW6nf6hsN7o9CnEHECz5uUZb+EoWsuWzAAmnA9Ip8Q==} + '@rspack/cli@1.3.9': resolution: {integrity: sha512-jGsde6kP1S7QntU4TYNv8KAHRwe5lb21rRVVj6qGFOQ7pckxWadyYyowo6Qg43OYlPAc9ZlDlba3Zg3gQoD73g==} hasBin: true @@ -12911,6 +12992,18 @@ packages: '@swc/helpers': optional: true + '@rspack/core@2.1.5': + resolution: {integrity: sha512-YHjL7xVXycAWsjJtF39cRZ2u+ddiNFxY+FcNgEBe6Y8OaLeUfMfjba3gK+B1Oj32UcKD6BmXGsPfu9p+OII/Yw==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@module-federation/runtime-tools': ^0.24.1 || ^2.0.0 + '@swc/helpers': ^0.5.23 + peerDependenciesMeta: + '@module-federation/runtime-tools': + optional: true + '@swc/helpers': + optional: true + '@rspack/dev-server@1.1.1': resolution: {integrity: sha512-9r7vOml2SrFA8cvbcJdSan9wHEo1TPXezF22+s5jvdyAAywg8w7HqDol6TPVv64NUonP1DOdyLxZ+6UW6WZiwg==} engines: {node: '>= 18.12.0'} @@ -12983,6 +13076,19 @@ packages: jsdom: optional: true + '@rstest/core@0.11.4': + resolution: {integrity: sha512-HfBP4mmvLVq2vpyRvHHaeu1+K2e9XSjDCHbj15s+NExnniS2b+y/ABXyjJldpRSoiirKnfIqY7BVGOaO+G+W0w==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + happy-dom: ^20.8.3 + jsdom: '*' + peerDependenciesMeta: + happy-dom: + optional: true + jsdom: + optional: true + '@rstest/core@0.6.9': resolution: {integrity: sha512-0qImkQB6T5NLrlgeuaZxSfgpAaaciouKJycpZe673M+cn1WLai7blt2z+Tf4Qv4DVOw/ZyphSmM8WNYz09vNmw==} engines: {node: '>=18.12.0'} @@ -28603,7 +28709,7 @@ snapshots: '@babel/traverse': 7.29.7 '@babel/types': 7.29.7 convert-source-map: 1.9.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.18.1 @@ -28626,7 +28732,7 @@ snapshots: '@babel/types': 7.29.0 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -28646,7 +28752,7 @@ snapshots: '@babel/types': 7.29.7 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -28782,7 +28888,7 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) lodash.debounce: 4.0.8 resolve: 1.22.11 transitivePeerDependencies: @@ -28793,7 +28899,7 @@ snapshots: '@babel/core': 7.29.7 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) lodash.debounce: 4.0.8 resolve: 1.22.11 transitivePeerDependencies: @@ -30502,7 +30608,7 @@ snapshots: '@babel/parser': 7.29.2 '@babel/template': 7.28.6 '@babel/types': 7.29.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) transitivePeerDependencies: - supports-color @@ -30514,7 +30620,7 @@ snapshots: '@babel/parser': 7.29.7 '@babel/template': 7.29.7 '@babel/types': 7.29.7 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) transitivePeerDependencies: - supports-color @@ -31098,6 +31204,12 @@ snapshots: '@emnapi/wasi-threads': 1.2.2 tslib: 2.8.1 + '@emnapi/core@1.11.2': + dependencies: + '@emnapi/wasi-threads': 1.2.2 + tslib: 2.8.1 + optional: true + '@emnapi/core@1.9.0': dependencies: '@emnapi/wasi-threads': 1.2.0 @@ -31113,6 +31225,11 @@ snapshots: dependencies: tslib: 2.8.1 + '@emnapi/runtime@1.11.2': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.9.0': dependencies: tslib: 2.8.1 @@ -31797,7 +31914,7 @@ snapshots: '@eslint/config-array@0.20.1': dependencies: '@eslint/object-schema': 2.1.7 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -31805,7 +31922,7 @@ snapshots: '@eslint/config-array@0.21.2': dependencies: '@eslint/object-schema': 2.1.7 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -31827,7 +31944,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.14.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -31841,7 +31958,7 @@ snapshots: '@eslint/eslintrc@3.3.5': dependencies: ajv: 6.14.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -31877,7 +31994,7 @@ snapshots: '@expo/spawn-async': 1.7.2 arg: 5.0.2 chalk: 4.1.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) find-up: 5.0.0 getenv: 1.0.0 minimatch: 3.1.5 @@ -32005,7 +32122,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -33070,7 +33187,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@modern-js/app-tools@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.41(@swc/helpers@0.5.19))(encoding@0.1.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(rollup@4.62.2)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.19))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)': + '@modern-js/app-tools@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.41(@swc/helpers@0.5.19))(encoding@0.1.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(rollup@4.62.2)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.19))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)': dependencies: '@babel/parser': 7.29.2 '@babel/traverse': 7.29.0 @@ -33082,12 +33199,12 @@ snapshots: '@modern-js/plugin-i18n': 2.70.8 '@modern-js/plugin-v2': 2.70.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@modern-js/prod-server': 2.70.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@modern-js/rsbuild-plugin-esbuild': 2.70.8(@swc/core@1.15.41(@swc/helpers@0.5.19))(webpack-cli@5.1.4) + '@modern-js/rsbuild-plugin-esbuild': 2.70.8(@swc/core@1.15.41(@swc/helpers@0.5.19))(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) '@modern-js/server': 2.70.8(@babel/traverse@7.29.0)(@rsbuild/core@1.7.3)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.19))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0) '@modern-js/server-core': 2.70.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@modern-js/server-utils': 2.70.8(@babel/traverse@7.29.0)(@rsbuild/core@1.7.3) '@modern-js/types': 2.70.8 - '@modern-js/uni-builder': 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(esbuild@0.25.5)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1) + '@modern-js/uni-builder': 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(esbuild@0.25.5)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1) '@modern-js/utils': 2.70.8 '@rsbuild/core': 1.7.3 '@rsbuild/plugin-node-polyfill': 1.4.4(@rsbuild/core@1.7.3) @@ -33185,12 +33302,12 @@ snapshots: - utf-8-validate - webpack - '@modern-js/app-tools@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.17))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@3.14.2)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': + '@modern-js/app-tools@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.17))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@3.14.2)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: '@babel/parser': 7.29.7 '@babel/traverse': 7.29.7 '@babel/types': 7.29.7 - '@modern-js/builder': 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + '@modern-js/builder': 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/i18n-utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/plugin': 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/plugin-data-loader': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -33238,12 +33355,12 @@ snapshots: - utf-8-validate - webpack - '@modern-js/app-tools@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@3.14.2)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': + '@modern-js/app-tools@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@3.14.2)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: '@babel/parser': 7.29.7 '@babel/traverse': 7.29.7 '@babel/types': 7.29.7 - '@modern-js/builder': 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + '@modern-js/builder': 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/i18n-utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/plugin': 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/plugin-data-loader': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -33291,12 +33408,12 @@ snapshots: - utf-8-validate - webpack - '@modern-js/app-tools@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': + '@modern-js/app-tools@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(core-js@3.49.0)(encoding@0.1.13)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(ts-node@10.9.2(@swc/core@1.15.41(@swc/helpers@0.5.23))(@types/node@20.19.5)(typescript@7.0.2))(tsconfig-paths@4.2.0)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: '@babel/parser': 7.29.7 '@babel/traverse': 7.29.7 '@babel/types': 7.29.7 - '@modern-js/builder': 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + '@modern-js/builder': 3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/i18n-utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/plugin': 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/plugin-data-loader': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -33413,7 +33530,7 @@ snapshots: - '@rsbuild/core' - supports-color - '@modern-js/babel-preset@2.68.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': + '@modern-js/babel-preset@2.68.0(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': dependencies: '@babel/core': 7.29.7 '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.7) @@ -33425,7 +33542,7 @@ snapshots: '@babel/preset-typescript': 7.28.5(@babel/core@7.29.7) '@babel/runtime': 7.28.2 '@babel/types': 7.29.7 - '@rsbuild/plugin-babel': 1.0.5(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) + '@rsbuild/plugin-babel': 1.0.5(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@swc/helpers': 0.5.17 '@types/babel__core': 7.20.5 babel-plugin-dynamic-import-node: 2.3.3 @@ -33528,20 +33645,20 @@ snapshots: - typescript - webpack - '@modern-js/builder@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': + '@modern-js/builder@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: '@modern-js/utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-assets-retry': 2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@rsbuild/plugin-check-syntax': 2.0.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@rsbuild/plugin-css-minimizer': 2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(esbuild@0.28.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) - '@rsbuild/plugin-less': 1.6.4(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) - '@rsbuild/plugin-react': 2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)) + '@rsbuild/plugin-less': 1.6.4(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + '@rsbuild/plugin-react': 2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)) '@rsbuild/plugin-rem': 1.0.6(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@rsbuild/plugin-sass': 1.5.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@rsbuild/plugin-source-build': 1.0.6(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) - '@rsbuild/plugin-svgr': 2.0.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(typescript@7.0.2) - '@rsbuild/plugin-type-check': 1.5.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(tslib@2.8.1)(typescript@7.0.2) + '@rsbuild/plugin-svgr': 2.0.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(typescript@7.0.2) + '@rsbuild/plugin-type-check': 1.5.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(tslib@2.8.1)(typescript@7.0.2) '@rsbuild/plugin-typed-css-modules': 1.2.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@swc/core': 1.15.41(@swc/helpers@0.5.17) '@swc/helpers': 0.5.17 @@ -33559,8 +33676,8 @@ snapshots: postcss-media-minmax: 5.0.0(postcss@8.5.15) postcss-nesting: 12.1.5(postcss@8.5.15) postcss-page-break: 3.0.4(postcss@8.5.15) - rsbuild-plugin-rsc: 0.1.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - rspack-manifest-plugin: 5.2.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)) + rsbuild-plugin-rsc: 0.1.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + rspack-manifest-plugin: 5.2.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)) ts-deepmerge: 7.0.3 transitivePeerDependencies: - '@module-federation/runtime-tools' @@ -33580,20 +33697,20 @@ snapshots: - typescript - webpack - '@modern-js/builder@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': + '@modern-js/builder@3.5.0(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: '@modern-js/utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-assets-retry': 2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@rsbuild/plugin-check-syntax': 2.0.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@rsbuild/plugin-css-minimizer': 2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(esbuild@0.28.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) - '@rsbuild/plugin-less': 1.6.4(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) - '@rsbuild/plugin-react': 2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + '@rsbuild/plugin-less': 1.6.4(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + '@rsbuild/plugin-react': 2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@rsbuild/plugin-rem': 1.0.6(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@rsbuild/plugin-sass': 1.5.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@rsbuild/plugin-source-build': 1.0.6(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) - '@rsbuild/plugin-svgr': 2.0.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(typescript@7.0.2) - '@rsbuild/plugin-type-check': 1.5.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2) + '@rsbuild/plugin-svgr': 2.0.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(typescript@7.0.2) + '@rsbuild/plugin-type-check': 1.5.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2) '@rsbuild/plugin-typed-css-modules': 1.2.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@swc/core': 1.15.41(@swc/helpers@0.5.17) '@swc/helpers': 0.5.17 @@ -33611,8 +33728,8 @@ snapshots: postcss-media-minmax: 5.0.0(postcss@8.5.15) postcss-nesting: 12.1.5(postcss@8.5.15) postcss-page-break: 3.0.4(postcss@8.5.15) - rsbuild-plugin-rsc: 0.1.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - rspack-manifest-plugin: 5.2.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + rsbuild-plugin-rsc: 0.1.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + rspack-manifest-plugin: 5.2.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) ts-deepmerge: 7.0.3 transitivePeerDependencies: - '@module-federation/runtime-tools' @@ -33823,10 +33940,10 @@ snapshots: '@modern-js/utils': 2.70.8 '@swc/helpers': 0.5.17 - '@modern-js/plugin-server@2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@modern-js/plugin-server@2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@modern-js/runtime-utils': 2.68.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@modern-js/server-utils': 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) + '@modern-js/server-utils': 2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@modern-js/utils': 2.68.0 '@swc/helpers': 0.5.17 transitivePeerDependencies: @@ -33836,7 +33953,7 @@ snapshots: - react-dom - supports-color - '@modern-js/plugin-state@2.70.8(@modern-js/runtime@2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@modern-js/plugin-state@2.70.8(@modern-js/runtime@2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@modern-js-reduck/plugin-auto-actions': 1.1.13(@modern-js-reduck/store@1.1.13) '@modern-js-reduck/plugin-devtools': 1.1.13(@modern-js-reduck/store@1.1.13) @@ -33844,7 +33961,7 @@ snapshots: '@modern-js-reduck/plugin-immutable': 1.1.13(@modern-js-reduck/store@1.1.13) '@modern-js-reduck/react': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@modern-js-reduck/store': 1.1.13 - '@modern-js/runtime': 2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4) + '@modern-js/runtime': 2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4) '@modern-js/runtime-utils': 2.70.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@modern-js/types': 2.70.8 '@modern-js/utils': 2.70.8 @@ -33958,14 +34075,14 @@ snapshots: react-dom: 19.2.7(react@19.2.7) react-server-dom-webpack: 19.2.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) - '@modern-js/render@2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4)': + '@modern-js/render@2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4)': dependencies: '@modern-js/types': 2.70.8 '@modern-js/utils': 2.70.8 '@swc/helpers': 0.5.17 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - react-server-dom-webpack: 19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + react-server-dom-webpack: 19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/render@3.5.0(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: @@ -33976,23 +34093,23 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-server-dom-rspack: 0.0.2(@rspack/core@2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@modern-js/render@3.5.0(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + '@modern-js/render@3.5.0(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@modern-js/types': 3.5.0 '@modern-js/utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-server-dom-rspack: 0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-server-dom-rspack: 0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@modern-js/render@3.5.0(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + '@modern-js/render@3.5.0(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@modern-js/types': 3.5.0 '@modern-js/utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-server-dom-rspack: 0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-server-dom-rspack: 0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/rsbuild-plugin-esbuild@2.70.5(@swc/core@1.15.41(@swc/helpers@0.5.17))(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))': dependencies: @@ -34004,11 +34121,11 @@ snapshots: - uglify-js - webpack-cli - '@modern-js/rsbuild-plugin-esbuild@2.70.8(@swc/core@1.15.41(@swc/helpers@0.5.19))(webpack-cli@5.1.4)': + '@modern-js/rsbuild-plugin-esbuild@2.70.8(@swc/core@1.15.41(@swc/helpers@0.5.19))(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))': dependencies: '@swc/helpers': 0.5.17 esbuild: 0.25.5 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.25.5)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) transitivePeerDependencies: - '@swc/core' - uglify-js @@ -34109,7 +34226,7 @@ snapshots: - react-server-dom-webpack - supports-color - '@modern-js/runtime@2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4)': + '@modern-js/runtime@2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4)': dependencies: '@babel/core': 7.29.0 '@babel/types': 7.29.0 @@ -34119,7 +34236,7 @@ snapshots: '@modern-js/plugin': 2.70.8 '@modern-js/plugin-data-loader': 2.70.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@modern-js/plugin-v2': 2.70.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@modern-js/render': 2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4) + '@modern-js/render': 2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4) '@modern-js/runtime-utils': 2.70.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@modern-js/types': 2.70.8 '@modern-js/utils': 2.70.8 @@ -34170,13 +34287,13 @@ snapshots: - core-js - react-server-dom-rspack - '@modern-js/runtime@3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + '@modern-js/runtime@3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@loadable/component': 5.16.7(react@18.3.1) '@loadable/server': 5.16.7(@loadable/component@5.16.7(react@18.3.1))(react@18.3.1) '@modern-js/plugin': 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/plugin-data-loader': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@modern-js/render': 3.5.0(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@modern-js/render': 3.5.0(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@modern-js/runtime-utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/types': 3.5.0 '@modern-js/utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -34199,13 +34316,13 @@ snapshots: - core-js - react-server-dom-rspack - '@modern-js/runtime@3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + '@modern-js/runtime@3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@loadable/component': 5.16.7(react@18.3.1) '@loadable/server': 5.16.7(@loadable/component@5.16.7(react@18.3.1))(react@18.3.1) '@modern-js/plugin': 3.5.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/plugin-data-loader': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@modern-js/render': 3.5.0(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@modern-js/render': 3.5.0(react-dom@18.3.1(react@18.3.1))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@modern-js/runtime-utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@modern-js/types': 3.5.0 '@modern-js/utils': 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -34335,7 +34452,7 @@ snapshots: - react - react-dom - '@modern-js/server-utils@2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': + '@modern-js/server-utils@2.68.0(@babel/traverse@7.29.7)(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': dependencies: '@babel/core': 7.29.7 '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.7) @@ -34344,7 +34461,7 @@ snapshots: '@babel/preset-typescript': 7.28.5(@babel/core@7.29.7) '@modern-js/babel-compiler': 2.68.0 '@modern-js/babel-plugin-module-resolver': 2.68.0 - '@modern-js/babel-preset': 2.68.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) + '@modern-js/babel-preset': 2.68.0(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@modern-js/utils': 2.68.0 '@swc/helpers': 0.5.17 babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.29.7)(@babel/traverse@7.29.7) @@ -34563,12 +34680,12 @@ snapshots: - supports-color - utf-8-validate - '@modern-js/storybook-builder@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4))': + '@modern-js/storybook-builder@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: '@modern-js/core': 2.70.8 - '@modern-js/plugin-state': 2.70.8(@modern-js/runtime@2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@modern-js/runtime': 2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4) - '@modern-js/uni-builder': 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(esbuild@0.18.20)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1) + '@modern-js/plugin-state': 2.70.8(@modern-js/runtime@2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@modern-js/runtime': 2.70.8(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4) + '@modern-js/uni-builder': 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(esbuild@0.18.20)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1) '@modern-js/utils': 2.70.8 '@rsbuild/core': 1.7.3 '@storybook/components': 7.6.24(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -34579,7 +34696,7 @@ snapshots: '@storybook/mdx2-csf': 1.1.0 '@storybook/preview': 7.6.24 '@storybook/preview-api': 7.6.24 - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@storybook/router': 7.6.24 '@storybook/theming': 7.6.24(react-dom@19.2.4(react@19.2.4))(react@19.2.4) ast-types: 0.14.2 @@ -34617,9 +34734,9 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@modern-js/storybook@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4))': + '@modern-js/storybook@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: - '@modern-js/storybook-builder': 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(react@19.2.4)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + '@modern-js/storybook-builder': 2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@19.2.4(react@19.2.4))(react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(react@19.2.4)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@modern-js/utils': 2.70.8 '@storybook/react': 7.6.24(encoding@0.1.13)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@7.0.2) storybook: 7.6.24(encoding@0.1.13) @@ -34795,7 +34912,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@modern-js/uni-builder@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(esbuild@0.18.20)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)': + '@modern-js/uni-builder@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(esbuild@0.18.20)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)': dependencies: '@babel/core': 7.29.0 '@babel/preset-react': 7.28.5(@babel/core@7.29.0) @@ -34803,12 +34920,12 @@ snapshots: '@modern-js/babel-preset': 2.70.8(@rsbuild/core@1.7.3) '@modern-js/flight-server-transform-plugin': 2.70.8 '@modern-js/utils': 2.70.8 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.16(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.16(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@rsbuild/core': 1.7.3 '@rsbuild/plugin-assets-retry': 1.5.2(@rsbuild/core@1.7.3) '@rsbuild/plugin-babel': 1.1.0(@rsbuild/core@1.7.3) '@rsbuild/plugin-check-syntax': 1.6.1(@rsbuild/core@1.7.3) - '@rsbuild/plugin-css-minimizer': 1.1.1(@rsbuild/core@1.7.3)(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + '@rsbuild/plugin-css-minimizer': 1.1.1(@rsbuild/core@1.7.3)(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@rsbuild/plugin-less': 1.6.0(@rsbuild/core@1.7.3) '@rsbuild/plugin-pug': 1.3.2(@rsbuild/core@1.7.3) '@rsbuild/plugin-react': 1.4.5(@rsbuild/core@1.7.3)(webpack-hot-middleware@2.26.1) @@ -34821,11 +34938,11 @@ snapshots: '@rsbuild/plugin-type-check': 1.3.4(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(tslib@2.8.1)(typescript@7.0.2) '@rsbuild/plugin-typed-css-modules': 1.2.1(@rsbuild/core@1.7.3) '@rsbuild/plugin-yaml': 1.0.4(@rsbuild/core@1.7.3) - '@rsbuild/webpack': 1.6.1(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4) + '@rsbuild/webpack': 1.6.1(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) '@swc/core': 1.15.8(@swc/helpers@0.5.17) '@swc/helpers': 0.5.17 autoprefixer: 10.4.23(postcss@8.5.10) - babel-loader: 9.2.1(@babel/core@7.29.0)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + babel-loader: 9.2.1(@babel/core@7.29.0)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) babel-plugin-import: 1.13.8 babel-plugin-styled-components: 1.13.3(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) babel-plugin-transform-react-remove-prop-types: 0.4.24 @@ -34834,7 +34951,7 @@ snapshots: es-module-lexer: 1.5.3 glob: 9.3.5 html-minifier-terser: 7.2.0 - html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) jiti: 1.21.7 lodash: 4.18.1 magic-string: 0.30.21 @@ -34849,11 +34966,11 @@ snapshots: postcss-page-break: 3.0.4(postcss@8.5.10) react-refresh: 0.14.2 rspack-manifest-plugin: 5.0.3(@rspack/core@1.7.9(@swc/helpers@0.5.19)) - terser-webpack-plugin: 5.3.14(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.3.14(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) ts-deepmerge: 7.0.2 - ts-loader: 9.4.4(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) - webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4) - webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + ts-loader: 9.4.4(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) + webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -34875,7 +34992,7 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@modern-js/uni-builder@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(esbuild@0.25.5)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)': + '@modern-js/uni-builder@2.70.8(@rspack/core@1.7.9(@swc/helpers@0.5.19))(esbuild@0.25.5)(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(tslib@2.8.1)(type-fest@2.19.0)(typescript@7.0.2)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)': dependencies: '@babel/core': 7.29.0 '@babel/preset-react': 7.28.5(@babel/core@7.29.0) @@ -34883,12 +35000,12 @@ snapshots: '@modern-js/babel-preset': 2.70.8(@rsbuild/core@1.7.3) '@modern-js/flight-server-transform-plugin': 2.70.8 '@modern-js/utils': 2.70.8 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.16(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.16(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@rsbuild/core': 1.7.3 '@rsbuild/plugin-assets-retry': 1.5.2(@rsbuild/core@1.7.3) '@rsbuild/plugin-babel': 1.1.0(@rsbuild/core@1.7.3) '@rsbuild/plugin-check-syntax': 1.6.1(@rsbuild/core@1.7.3) - '@rsbuild/plugin-css-minimizer': 1.1.1(@rsbuild/core@1.7.3)(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + '@rsbuild/plugin-css-minimizer': 1.1.1(@rsbuild/core@1.7.3)(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) '@rsbuild/plugin-less': 1.6.0(@rsbuild/core@1.7.3) '@rsbuild/plugin-pug': 1.3.2(@rsbuild/core@1.7.3) '@rsbuild/plugin-react': 1.4.5(@rsbuild/core@1.7.3)(webpack-hot-middleware@2.26.1) @@ -34901,11 +35018,11 @@ snapshots: '@rsbuild/plugin-type-check': 1.3.4(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(tslib@2.8.1)(typescript@7.0.2) '@rsbuild/plugin-typed-css-modules': 1.2.1(@rsbuild/core@1.7.3) '@rsbuild/plugin-yaml': 1.0.4(@rsbuild/core@1.7.3) - '@rsbuild/webpack': 1.6.1(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4) + '@rsbuild/webpack': 1.6.1(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) '@swc/core': 1.15.8(@swc/helpers@0.5.17) '@swc/helpers': 0.5.17 autoprefixer: 10.4.23(postcss@8.5.10) - babel-loader: 9.2.1(@babel/core@7.29.0)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + babel-loader: 9.2.1(@babel/core@7.29.0)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) babel-plugin-import: 1.13.8 babel-plugin-styled-components: 1.13.3(styled-components@6.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) babel-plugin-transform-react-remove-prop-types: 0.4.24 @@ -34914,7 +35031,7 @@ snapshots: es-module-lexer: 1.5.3 glob: 9.3.5 html-minifier-terser: 7.2.0 - html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) jiti: 1.21.7 lodash: 4.18.1 magic-string: 0.30.21 @@ -34929,11 +35046,11 @@ snapshots: postcss-page-break: 3.0.4(postcss@8.5.10) react-refresh: 0.14.2 rspack-manifest-plugin: 5.0.3(@rspack/core@1.7.9(@swc/helpers@0.5.19)) - terser-webpack-plugin: 5.3.14(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.3.14(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) ts-deepmerge: 7.0.2 - ts-loader: 9.4.4(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) - webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4) - webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + ts-loader: 9.4.4(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) + webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -35582,7 +35699,7 @@ snapshots: '@open-draft/until': 1.0.3 '@types/debug': 4.1.12 '@xmldom/xmldom': 0.8.11 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) headers-polyfill: 3.2.5 outvariant: 1.4.3 strict-event-emitter: 0.2.8 @@ -35744,6 +35861,13 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@tybys/wasm-util': 0.10.3 + optional: true + '@ndelangen/get-tarball@3.0.9': dependencies: gunzip-maybe: 1.4.2 @@ -36429,7 +36553,7 @@ snapshots: webpack-dev-server: 5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) webpack-hot-middleware: 2.26.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.16(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.16(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack-hot-middleware@2.26.1)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.49.0 @@ -36439,10 +36563,10 @@ snapshots: react-refresh: 0.14.2 schema-utils: 4.3.0 source-map: 0.7.6 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: type-fest: 2.19.0 - webpack-dev-server: 5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + webpack-dev-server: 5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) webpack-hot-middleware: 2.26.1 '@polka/url@1.0.0-next.29': {} @@ -38504,7 +38628,7 @@ snapshots: dependencies: '@react-native/dev-middleware': 0.80.0 chalk: 4.1.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) invariant: 2.2.4 metro: 0.82.5 metro-config: 0.82.5 @@ -38521,7 +38645,7 @@ snapshots: dependencies: '@react-native/dev-middleware': 0.80.0 chalk: 4.1.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) invariant: 2.2.4 metro: 0.82.5 metro-config: 0.82.5 @@ -38543,7 +38667,7 @@ snapshots: chrome-launcher: 0.15.2 chromium-edge-launcher: 0.2.0 connect: 3.7.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) invariant: 2.2.4 nullthrows: 1.1.1 open: 7.4.2 @@ -38908,17 +39032,17 @@ snapshots: '@rolldown/binding-openharmony-arm64@1.0.0-rc.9': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.9(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.9(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -39204,9 +39328,9 @@ snapshots: core-js: 3.42.0 jiti: 2.6.1 - '@rsbuild/core@1.5.17(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + '@rsbuild/core@1.5.17(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: - '@rspack/core': 1.5.8(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@swc/helpers@0.5.17) + '@rspack/core': 1.5.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(@swc/helpers@0.5.17) '@rspack/lite-tapable': 1.0.1 '@swc/helpers': 0.5.17 core-js: 3.46.0 @@ -39295,6 +39419,15 @@ snapshots: transitivePeerDependencies: - '@module-federation/runtime-tools' + '@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)': + dependencies: + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@swc/helpers': 0.5.23 + optionalDependencies: + core-js: 3.49.0 + transitivePeerDependencies: + - '@module-federation/runtime-tools' + '@rsbuild/plugin-assets-retry@1.5.2(@rsbuild/core@1.7.3)': optionalDependencies: '@rsbuild/core': 1.7.3 @@ -39317,13 +39450,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@rsbuild/plugin-babel@1.0.5(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': + '@rsbuild/plugin-babel@1.0.5(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': dependencies: '@babel/core': 7.29.7 '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.7) '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.29.7) '@babel/preset-typescript': 7.28.5(@babel/core@7.29.7) - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@types/babel__core': 7.20.5 deepmerge: 4.3.1 reduce-configs: 1.1.2 @@ -39345,7 +39478,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@rsbuild/plugin-babel@1.2.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': + '@rsbuild/plugin-babel@1.2.1(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': dependencies: '@babel/core': 7.29.7 '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.7) @@ -39354,21 +39487,21 @@ snapshots: '@types/babel__core': 7.20.5 reduce-configs: 1.1.2 optionalDependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: - supports-color - '@rsbuild/plugin-babel@2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4))': + '@rsbuild/plugin-babel@2.0.1(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4))': dependencies: '@babel/core': 7.29.7 '@babel/plugin-proposal-decorators': 7.29.7(@babel/core@7.29.7) '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7) '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) '@types/babel__core': 7.20.5 - babel-loader: 10.1.1(@babel/core@7.29.7)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)) + babel-loader: 10.1.1(@babel/core@7.29.7)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)) reduce-configs: 1.1.2 optionalDependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: - '@rspack/core' - supports-color @@ -39394,9 +39527,9 @@ snapshots: optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - '@rsbuild/plugin-css-minimizer@1.1.1(@rsbuild/core@1.7.3)(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4))': + '@rsbuild/plugin-css-minimizer@1.1.1(@rsbuild/core@1.7.3)(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: - css-minimizer-webpack-plugin: 7.0.2(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + css-minimizer-webpack-plugin: 7.0.2(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) reduce-configs: 1.1.2 optionalDependencies: '@rsbuild/core': 1.7.3 @@ -39424,9 +39557,9 @@ snapshots: - lightningcss - webpack - '@rsbuild/plugin-css-minimizer@1.1.1(@rsbuild/core@1.7.3)(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4))': + '@rsbuild/plugin-css-minimizer@1.1.1(@rsbuild/core@1.7.3)(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: - css-minimizer-webpack-plugin: 7.0.2(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + css-minimizer-webpack-plugin: 7.0.2(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) reduce-configs: 1.1.2 optionalDependencies: '@rsbuild/core': 1.7.3 @@ -39487,11 +39620,11 @@ snapshots: - '@rspack/core' - webpack - '@rsbuild/plugin-less@1.6.4(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': + '@rsbuild/plugin-less@1.6.4(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: deepmerge: 4.3.1 less: 4.6.4 - less-loader: 12.3.3(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(less@4.6.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + less-loader: 12.3.3(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(less@4.6.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) reduce-configs: 1.1.2 optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) @@ -39499,11 +39632,11 @@ snapshots: - '@rspack/core' - webpack - '@rsbuild/plugin-less@1.6.4(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': + '@rsbuild/plugin-less@1.6.4(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: deepmerge: 4.3.1 less: 4.6.4 - less-loader: 12.3.3(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(less@4.6.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + less-loader: 12.3.3(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(less@4.6.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) reduce-configs: 1.1.2 optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) @@ -39600,6 +39733,14 @@ snapshots: transitivePeerDependencies: - webpack-hot-middleware + '@rsbuild/plugin-react@1.4.5(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(webpack-hot-middleware@2.26.1)': + dependencies: + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rspack/plugin-react-refresh': 1.6.1(react-refresh@0.18.0)(webpack-hot-middleware@2.26.1) + react-refresh: 0.18.0 + transitivePeerDependencies: + - webpack-hot-middleware + '@rsbuild/plugin-react@2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))': dependencies: '@rspack/plugin-react-refresh': 2.0.0(@rspack/core@2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-refresh@0.18.0) @@ -39609,27 +39750,27 @@ snapshots: transitivePeerDependencies: - '@rspack/core' - '@rsbuild/plugin-react@2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))': + '@rsbuild/plugin-react@2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))': dependencies: - '@rspack/plugin-react-refresh': 2.0.0(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-refresh@0.18.0) + '@rspack/plugin-react-refresh': 2.0.0(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-refresh@0.18.0) react-refresh: 0.18.0 optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: - '@rspack/core' - '@rsbuild/plugin-react@2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))': + '@rsbuild/plugin-react@2.0.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))': dependencies: - '@rspack/plugin-react-refresh': 2.0.0(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0) + '@rspack/plugin-react-refresh': 2.0.0(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0) react-refresh: 0.18.0 optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: - '@rspack/core' - '@rsbuild/plugin-react@2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))': + '@rsbuild/plugin-react@2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))': dependencies: - '@rspack/plugin-react-refresh': 2.0.0(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0) + '@rspack/plugin-react-refresh': 2.0.0(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0) react-refresh: 0.18.0 optionalDependencies: '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) @@ -39645,18 +39786,18 @@ snapshots: transitivePeerDependencies: - '@rspack/core' - '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))': + '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))': dependencies: - '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-refresh@0.18.0) + '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-refresh@0.18.0) react-refresh: 0.18.0 optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: - '@rspack/core' - '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))': + '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))': dependencies: - '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0) + '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0) react-refresh: 0.18.0 optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) @@ -39672,15 +39813,24 @@ snapshots: transitivePeerDependencies: - '@rspack/core' - '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))': + '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))': dependencies: - '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0) + '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0) react-refresh: 0.18.0 optionalDependencies: '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: - '@rspack/core' + '@rsbuild/plugin-react@2.1.0(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))': + dependencies: + '@rspack/plugin-react-refresh': 2.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0) + react-refresh: 0.18.0 + optionalDependencies: + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + transitivePeerDependencies: + - '@rspack/core' + '@rsbuild/plugin-rem@1.0.5(@rsbuild/core@1.7.3)': dependencies: deepmerge: 4.3.1 @@ -39714,7 +39864,7 @@ snapshots: optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - '@rsbuild/plugin-sass@2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': + '@rsbuild/plugin-sass@2.0.1(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': dependencies: deepmerge: 4.3.1 loader-utils: 2.0.4 @@ -39722,7 +39872,7 @@ snapshots: reduce-configs: 2.0.1 sass-embedded: 1.100.0 optionalDependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rsbuild/plugin-source-build@1.0.4(@rsbuild/core@1.7.3)': dependencies: @@ -39776,9 +39926,9 @@ snapshots: - supports-color - typescript - '@rsbuild/plugin-svgr@2.0.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(typescript@7.0.2)': + '@rsbuild/plugin-svgr@2.0.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(typescript@7.0.2)': dependencies: - '@rsbuild/plugin-react': 2.1.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)) + '@rsbuild/plugin-react': 2.1.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)) '@svgr/core': 8.1.0(typescript@7.0.2) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@7.0.2)) '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@7.0.2))(typescript@7.0.2) @@ -39791,9 +39941,9 @@ snapshots: - supports-color - typescript - '@rsbuild/plugin-svgr@2.0.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(typescript@7.0.2)': + '@rsbuild/plugin-svgr@2.0.3(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(typescript@7.0.2)': dependencies: - '@rsbuild/plugin-react': 2.1.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + '@rsbuild/plugin-react': 2.1.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@svgr/core': 8.1.0(typescript@7.0.2) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@6.0.3)) '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@6.0.3))(typescript@7.0.2) @@ -39851,12 +40001,12 @@ snapshots: - tslib - typescript - '@rsbuild/plugin-type-check@1.5.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(tslib@2.8.1)(typescript@7.0.2)': + '@rsbuild/plugin-type-check@1.5.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(tslib@2.8.1)(typescript@7.0.2)': dependencies: deepmerge: 4.3.1 json5: 2.2.3 reduce-configs: 1.1.2 - ts-checker-rspack-plugin: 1.5.1(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(tslib@2.8.1)(typescript@7.0.2) + ts-checker-rspack-plugin: 1.5.1(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(tslib@2.8.1)(typescript@7.0.2) optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: @@ -39864,12 +40014,12 @@ snapshots: - tslib - typescript - '@rsbuild/plugin-type-check@1.5.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2)': + '@rsbuild/plugin-type-check@1.5.0(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2)': dependencies: deepmerge: 4.3.1 json5: 2.2.3 reduce-configs: 1.1.2 - ts-checker-rspack-plugin: 1.5.1(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2) + ts-checker-rspack-plugin: 1.5.1(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2) optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: @@ -39877,14 +40027,14 @@ snapshots: - tslib - typescript - '@rsbuild/plugin-type-check@1.5.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2)': + '@rsbuild/plugin-type-check@1.5.0(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2)': dependencies: deepmerge: 4.3.1 json5: 2.2.3 reduce-configs: 1.1.2 - ts-checker-rspack-plugin: 1.5.1(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2) + ts-checker-rspack-plugin: 1.5.1(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2) optionalDependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: - '@rspack/core' - tslib @@ -39898,20 +40048,20 @@ snapshots: optionalDependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - '@rsbuild/plugin-vue-jsx@2.0.1(@babel/core@7.29.7)(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': + '@rsbuild/plugin-vue-jsx@2.0.1(@babel/core@7.29.7)(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))': dependencies: - '@rsbuild/plugin-babel': 1.2.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) + '@rsbuild/plugin-babel': 1.2.1(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.7) babel-plugin-vue-jsx-hmr: 1.0.0 optionalDependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: - '@babel/core' - supports-color - '@rsbuild/plugin-vue@2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2))': + '@rsbuild/plugin-vue@2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2))': dependencies: - rspack-vue-loader: 17.5.1(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2)) + rspack-vue-loader: 17.5.1(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2)) optionalDependencies: '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) transitivePeerDependencies: @@ -39943,7 +40093,7 @@ snapshots: picocolors: 1.1.1 reduce-configs: 1.1.2 tsconfig-paths-webpack-plugin: 4.2.0 - webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -39951,16 +40101,16 @@ snapshots: - uglify-js - webpack-cli - '@rsbuild/webpack@1.6.1(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4)': + '@rsbuild/webpack@1.6.1(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))': dependencies: '@rsbuild/core': 1.7.3 - copy-webpack-plugin: 11.0.0(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) - html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) - mini-css-extract-plugin: 2.9.4(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + copy-webpack-plugin: 11.0.0(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + mini-css-extract-plugin: 2.9.4(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) picocolors: 1.1.1 reduce-configs: 1.1.2 tsconfig-paths-webpack-plugin: 4.2.0 - webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -39968,16 +40118,16 @@ snapshots: - uglify-js - webpack-cli - '@rsbuild/webpack@1.6.1(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4)': + '@rsbuild/webpack@1.6.1(@rsbuild/core@1.7.3)(@rspack/core@1.7.9(@swc/helpers@0.5.19))(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))': dependencies: '@rsbuild/core': 1.7.3 - copy-webpack-plugin: 11.0.0(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) - html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) - mini-css-extract-plugin: 2.9.4(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + copy-webpack-plugin: 11.0.0(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + mini-css-extract-plugin: 2.9.4(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) picocolors: 1.1.1 reduce-configs: 1.1.2 tsconfig-paths-webpack-plugin: 4.2.0 - webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -39985,10 +40135,10 @@ snapshots: - uglify-js - webpack-cli - '@rslib/core@0.12.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(typescript@7.0.2)': + '@rslib/core@0.12.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(typescript@7.0.2)': dependencies: - '@rsbuild/core': 1.5.17(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) - rsbuild-plugin-dts: 0.12.4(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(@rsbuild/core@1.5.17(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1))(typescript@7.0.2) + '@rsbuild/core': 1.5.17(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + rsbuild-plugin-dts: 0.12.4(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(@rsbuild/core@1.5.17(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2))(typescript@7.0.2) tinyglobby: 0.2.15 optionalDependencies: '@microsoft/api-extractor': 7.57.7(@types/node@20.19.5) @@ -40012,7 +40162,7 @@ snapshots: '@rslib/core@0.23.2(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@6.0.3)': dependencies: '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - rsbuild-plugin-dts: 0.23.2(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.36.1))(typescript@6.0.3) + rsbuild-plugin-dts: 0.23.2(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(typescript@6.0.3) optionalDependencies: '@microsoft/api-extractor': 7.57.7(@types/node@20.19.5) typescript: 6.0.3 @@ -40093,6 +40243,9 @@ snapshots: '@rspack/binding-darwin-arm64@2.1.2': optional: true + '@rspack/binding-darwin-arm64@2.1.5': + optional: true + '@rspack/binding-darwin-x64@0.7.5': optional: true @@ -40132,6 +40285,9 @@ snapshots: '@rspack/binding-darwin-x64@2.1.2': optional: true + '@rspack/binding-darwin-x64@2.1.5': + optional: true + '@rspack/binding-linux-arm64-gnu@0.7.5': optional: true @@ -40171,6 +40327,9 @@ snapshots: '@rspack/binding-linux-arm64-gnu@2.1.2': optional: true + '@rspack/binding-linux-arm64-gnu@2.1.5': + optional: true + '@rspack/binding-linux-arm64-musl@0.7.5': optional: true @@ -40210,12 +40369,21 @@ snapshots: '@rspack/binding-linux-arm64-musl@2.1.2': optional: true + '@rspack/binding-linux-arm64-musl@2.1.5': + optional: true + '@rspack/binding-linux-riscv64-gnu@2.1.2': optional: true + '@rspack/binding-linux-riscv64-gnu@2.1.5': + optional: true + '@rspack/binding-linux-riscv64-musl@2.1.2': optional: true + '@rspack/binding-linux-riscv64-musl@2.1.5': + optional: true + '@rspack/binding-linux-x64-gnu@0.7.5': optional: true @@ -40255,6 +40423,9 @@ snapshots: '@rspack/binding-linux-x64-gnu@2.1.2': optional: true + '@rspack/binding-linux-x64-gnu@2.1.5': + optional: true + '@rspack/binding-linux-x64-musl@0.7.5': optional: true @@ -40294,9 +40465,12 @@ snapshots: '@rspack/binding-linux-x64-musl@2.1.2': optional: true - '@rspack/binding-wasm32-wasi@1.5.8(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + '@rspack/binding-linux-x64-musl@2.1.5': + optional: true + + '@rspack/binding-wasm32-wasi@1.5.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -40343,6 +40517,13 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) optional: true + '@rspack/binding-wasm32-wasi@2.1.5': + dependencies: + '@emnapi/core': 1.11.2 + '@emnapi/runtime': 1.11.2 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + optional: true + '@rspack/binding-win32-arm64-msvc@0.7.5': optional: true @@ -40382,6 +40563,9 @@ snapshots: '@rspack/binding-win32-arm64-msvc@2.1.2': optional: true + '@rspack/binding-win32-arm64-msvc@2.1.5': + optional: true + '@rspack/binding-win32-ia32-msvc@0.7.5': optional: true @@ -40421,6 +40605,9 @@ snapshots: '@rspack/binding-win32-ia32-msvc@2.1.2': optional: true + '@rspack/binding-win32-ia32-msvc@2.1.5': + optional: true + '@rspack/binding-win32-x64-msvc@0.7.5': optional: true @@ -40460,6 +40647,9 @@ snapshots: '@rspack/binding-win32-x64-msvc@2.1.2': optional: true + '@rspack/binding-win32-x64-msvc@2.1.5': + optional: true + '@rspack/binding@0.7.5': optionalDependencies: '@rspack/binding-darwin-arm64': 0.7.5 @@ -40520,7 +40710,7 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 1.3.9 '@rspack/binding-win32-x64-msvc': 1.3.9 - '@rspack/binding@1.5.8(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + '@rspack/binding@1.5.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': optionalDependencies: '@rspack/binding-darwin-arm64': 1.5.8 '@rspack/binding-darwin-x64': 1.5.8 @@ -40528,7 +40718,7 @@ snapshots: '@rspack/binding-linux-arm64-musl': 1.5.8 '@rspack/binding-linux-x64-gnu': 1.5.8 '@rspack/binding-linux-x64-musl': 1.5.8 - '@rspack/binding-wasm32-wasi': 1.5.8(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@rspack/binding-wasm32-wasi': 1.5.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) '@rspack/binding-win32-arm64-msvc': 1.5.8 '@rspack/binding-win32-ia32-msvc': 1.5.8 '@rspack/binding-win32-x64-msvc': 1.5.8 @@ -40629,6 +40819,21 @@ snapshots: '@rspack/binding-win32-ia32-msvc': 2.1.2 '@rspack/binding-win32-x64-msvc': 2.1.2 + '@rspack/binding@2.1.5': + optionalDependencies: + '@rspack/binding-darwin-arm64': 2.1.5 + '@rspack/binding-darwin-x64': 2.1.5 + '@rspack/binding-linux-arm64-gnu': 2.1.5 + '@rspack/binding-linux-arm64-musl': 2.1.5 + '@rspack/binding-linux-riscv64-gnu': 2.1.5 + '@rspack/binding-linux-riscv64-musl': 2.1.5 + '@rspack/binding-linux-x64-gnu': 2.1.5 + '@rspack/binding-linux-x64-musl': 2.1.5 + '@rspack/binding-wasm32-wasi': 2.1.5 + '@rspack/binding-win32-arm64-msvc': 2.1.5 + '@rspack/binding-win32-ia32-msvc': 2.1.5 + '@rspack/binding-win32-x64-msvc': 2.1.5 + '@rspack/cli@1.3.9(@rspack/core@1.3.9(@swc/helpers@0.5.13))(@types/express@4.17.21)(webpack-cli@5.1.4)(webpack@5.104.1)': dependencies: '@discoveryjs/json-ext': 0.5.7 @@ -40703,10 +40908,10 @@ snapshots: optionalDependencies: '@swc/helpers': 0.5.23 - '@rspack/core@1.5.8(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@swc/helpers@0.5.17)': + '@rspack/core@1.5.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(@swc/helpers@0.5.17)': dependencies: '@module-federation/runtime-tools': 0.18.0 - '@rspack/binding': 1.5.8(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@rspack/binding': 1.5.8(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) '@rspack/lite-tapable': 1.0.1 optionalDependencies: '@swc/helpers': 0.5.17 @@ -40785,16 +40990,23 @@ snapshots: '@module-federation/runtime-tools': 2.2.2(node-fetch@2.7.0(encoding@0.1.13)) '@swc/helpers': 0.5.23 - '@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)': + '@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)': dependencies: '@rspack/binding': 2.1.2 + optionalDependencies: + '@module-federation/runtime-tools': 2.8.0 + '@swc/helpers': 0.5.23 + + '@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)': + dependencies: + '@rspack/binding': 2.1.5 optionalDependencies: '@module-federation/runtime-tools': 2.8.0 '@swc/helpers': 0.5.17 - '@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)': + '@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)': dependencies: - '@rspack/binding': 2.1.2 + '@rspack/binding': 2.1.5 optionalDependencies: '@module-federation/runtime-tools': 2.8.0 '@swc/helpers': 0.5.23 @@ -40843,17 +41055,17 @@ snapshots: optionalDependencies: '@rspack/core': 2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) - '@rspack/plugin-react-refresh@2.0.0(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-refresh@0.18.0)': + '@rspack/plugin-react-refresh@2.0.0(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-refresh@0.18.0)': dependencies: react-refresh: 0.18.0 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) - '@rspack/plugin-react-refresh@2.0.0(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0)': + '@rspack/plugin-react-refresh@2.0.0(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0)': dependencies: react-refresh: 0.18.0 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) '@rspack/plugin-react-refresh@2.0.2(@rspack/core@0.7.5(@swc/helpers@0.5.23))(react-refresh@0.18.0)': dependencies: @@ -40867,24 +41079,24 @@ snapshots: optionalDependencies: '@rspack/core': 2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) - '@rspack/plugin-react-refresh@2.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-refresh@0.18.0)': + '@rspack/plugin-react-refresh@2.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-refresh@0.18.0)': dependencies: react-refresh: 0.18.0 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) - '@rspack/plugin-react-refresh@2.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0)': + '@rspack/plugin-react-refresh@2.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-refresh@0.18.0)': dependencies: react-refresh: 0.18.0 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) - '@rspress/core@2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@18.3.28)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2)': + '@rspress/core@2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@18.3.28)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2)': dependencies: '@mdx-js/mdx': 3.1.1 '@mdx-js/react': 3.1.1(@types/react@18.3.28)(react@19.2.7) '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - '@rsbuild/plugin-react': 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + '@rsbuild/plugin-react': 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@rspress/shared': 2.0.14(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@shikijs/rehype': 4.2.0 '@types/unist': 3.0.3 @@ -40929,12 +41141,12 @@ snapshots: - micromark-util-types - supports-color - '@rspress/core@2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2)': + '@rspress/core@2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2)': dependencies: '@mdx-js/mdx': 3.1.1 '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.7) '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - '@rsbuild/plugin-react': 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) + '@rsbuild/plugin-react': 2.0.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)) '@rspress/shared': 2.0.14(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@shikijs/rehype': 4.2.0 '@types/unist': 3.0.3 @@ -41008,6 +41220,16 @@ snapshots: - '@module-federation/runtime-tools' - core-js + '@rstest/core@0.11.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(jsdom@20.0.3)': + dependencies: + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@types/chai': 5.2.3 + optionalDependencies: + jsdom: 20.0.3 + transitivePeerDependencies: + - '@module-federation/runtime-tools' + - core-js + '@rstest/core@0.6.9(jsdom@20.0.3)': dependencies: '@rsbuild/core': 1.6.0-beta.1 @@ -41747,7 +41969,7 @@ snapshots: '@storybook/react-docgen-typescript-plugin@1.0.1(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4))': dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -41761,7 +41983,7 @@ snapshots: '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@6.0.3)(webpack@5.104.1)': dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -41773,9 +41995,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4))': + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)))': dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -41783,7 +42005,7 @@ snapshots: react-docgen-typescript: 2.4.0(typescript@7.0.2) tslib: 2.8.1 typescript: 7.0.2 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) transitivePeerDependencies: - supports-color @@ -42070,7 +42292,7 @@ snapshots: '@swc-node/sourcemap-support': 0.5.1 '@swc/core': 1.7.26(@swc/helpers@0.5.13) colorette: 2.0.20 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) oxc-resolver: 5.3.0 pirates: 4.0.7 tslib: 2.8.1 @@ -42424,7 +42646,7 @@ snapshots: '@tokenizer/inflate@0.2.7': dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) fflate: 0.8.2 token-types: 6.1.2 transitivePeerDependencies: @@ -43092,7 +43314,7 @@ snapshots: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@7.0.2) '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@7.0.2) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 @@ -43175,7 +43397,7 @@ snapshots: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@7.0.2) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 8.57.1 optionalDependencies: typescript: 7.0.2 @@ -43188,7 +43410,7 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 8.57.1 optionalDependencies: typescript: 5.9.3 @@ -43201,7 +43423,7 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@7.0.2) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 8.57.1 optionalDependencies: typescript: 7.0.2 @@ -43214,7 +43436,7 @@ snapshots: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.3) '@typescript-eslint/visitor-keys': 8.56.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 9.39.3(jiti@2.6.1) typescript: 6.0.3 transitivePeerDependencies: @@ -43226,7 +43448,7 @@ snapshots: '@typescript-eslint/types': 8.57.1 '@typescript-eslint/typescript-estree': 8.57.1(typescript@7.0.2) '@typescript-eslint/visitor-keys': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 9.26.0(jiti@2.6.1) typescript: 7.0.2 transitivePeerDependencies: @@ -43238,7 +43460,7 @@ snapshots: '@typescript-eslint/types': 8.57.1 '@typescript-eslint/typescript-estree': 8.57.1(typescript@6.0.3) '@typescript-eslint/visitor-keys': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 9.39.3(jiti@2.6.1) typescript: 6.0.3 transitivePeerDependencies: @@ -43248,7 +43470,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@6.0.3) '@typescript-eslint/types': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -43257,7 +43479,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@6.0.3) '@typescript-eslint/types': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -43266,7 +43488,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@7.0.2) '@typescript-eslint/types': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) typescript: 7.0.2 transitivePeerDependencies: - supports-color @@ -43312,7 +43534,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@7.0.2) '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@7.0.2) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 8.57.1 tsutils: 3.21.0(typescript@7.0.2) optionalDependencies: @@ -43324,7 +43546,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@7.0.2) '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@7.0.2) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 8.57.1 ts-api-utils: 1.4.3(typescript@7.0.2) optionalDependencies: @@ -43337,7 +43559,7 @@ snapshots: '@typescript-eslint/types': 8.56.1 '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.3) '@typescript-eslint/utils': 8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 9.39.3(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@6.0.3) typescript: 6.0.3 @@ -43349,7 +43571,7 @@ snapshots: '@typescript-eslint/types': 8.57.1 '@typescript-eslint/typescript-estree': 8.57.1(typescript@7.0.2) '@typescript-eslint/utils': 8.57.1(eslint@9.26.0(jiti@2.6.1))(typescript@7.0.2) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 9.26.0(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@7.0.2) typescript: 7.0.2 @@ -43361,7 +43583,7 @@ snapshots: '@typescript-eslint/types': 8.57.1 '@typescript-eslint/typescript-estree': 8.57.1(typescript@6.0.3) '@typescript-eslint/utils': 8.57.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 9.39.3(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@6.0.3) typescript: 6.0.3 @@ -43382,7 +43604,7 @@ snapshots: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 @@ -43396,7 +43618,7 @@ snapshots: dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -43411,7 +43633,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.9 @@ -43428,7 +43650,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@6.0.3) '@typescript-eslint/types': 8.56.1 '@typescript-eslint/visitor-keys': 8.56.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) minimatch: 10.2.4 semver: 7.7.4 tinyglobby: 0.2.15 @@ -43443,7 +43665,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@6.0.3) '@typescript-eslint/types': 8.57.1 '@typescript-eslint/visitor-keys': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) minimatch: 10.2.4 semver: 7.7.4 tinyglobby: 0.2.15 @@ -43458,7 +43680,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.57.1(typescript@7.0.2) '@typescript-eslint/types': 8.57.1 '@typescript-eslint/visitor-keys': 8.57.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) minimatch: 10.2.4 semver: 7.7.4 tinyglobby: 0.2.15 @@ -44582,7 +44804,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) transitivePeerDependencies: - supports-color @@ -45370,20 +45592,20 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@10.1.1(@babel/core@7.29.7)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)): + babel-loader@10.1.1(@babel/core@7.29.7)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)): dependencies: '@babel/core': 7.29.7 find-up: 5.0.0 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) webpack: 5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4) - babel-loader@9.2.1(@babel/core@7.29.0)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + babel-loader@9.2.1(@babel/core@7.29.0)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@babel/core': 7.29.0 find-cache-dir: 4.0.0 schema-utils: 4.3.0 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) babel-loader@9.2.1(@babel/core@7.29.0)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: @@ -45799,7 +46021,7 @@ snapshots: dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 @@ -46281,7 +46503,7 @@ snapshots: dependencies: devtools-protocol: 0.0.1638949 mitt: 3.0.1 - zod: 3.25.76 + zod: 3.24.1 chromium-edge-launcher@0.2.0: dependencies: @@ -46732,7 +46954,7 @@ snapshots: serialize-javascript: 6.0.2 webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) - copy-webpack-plugin@11.0.0(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + copy-webpack-plugin@11.0.0(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: fast-glob: 3.3.3 glob-parent: 6.0.2 @@ -46740,7 +46962,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.3.0 serialize-javascript: 6.0.2 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) copy-webpack-plugin@11.0.0(webpack@5.104.1): dependencies: @@ -46973,7 +47195,7 @@ snapshots: optionalDependencies: esbuild: 0.25.5 - css-minimizer-webpack-plugin@7.0.2(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + css-minimizer-webpack-plugin@7.0.2(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@jridgewell/trace-mapping': 0.3.31 cssnano: 7.1.3(postcss@8.5.10) @@ -46981,7 +47203,7 @@ snapshots: postcss: 8.5.10 schema-utils: 4.3.0 serialize-javascript: 6.0.2 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: esbuild: 0.18.20 @@ -46997,7 +47219,7 @@ snapshots: optionalDependencies: esbuild: 0.25.5 - css-minimizer-webpack-plugin@7.0.2(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + css-minimizer-webpack-plugin@7.0.2(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@jridgewell/trace-mapping': 0.3.31 cssnano: 7.1.3(postcss@8.5.10) @@ -47005,7 +47227,7 @@ snapshots: postcss: 8.5.10 schema-utils: 4.3.0 serialize-javascript: 6.0.2 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: esbuild: 0.25.5 @@ -47716,7 +47938,7 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) transitivePeerDependencies: - supports-color @@ -48236,14 +48458,14 @@ snapshots: esbuild-register@3.6.0(esbuild@0.18.20): dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) esbuild: 0.18.20 transitivePeerDependencies: - supports-color esbuild-register@3.6.0(esbuild@0.25.5): dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) esbuild: 0.25.5 transitivePeerDependencies: - supports-color @@ -48497,7 +48719,7 @@ snapshots: eslint: 9.26.0(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint@9.26.0(jiti@2.6.1)))(eslint@9.26.0(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint@9.26.0(jiti@2.6.1)))(eslint@9.26.0(jiti@2.6.1)))(eslint@9.26.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.10.1(eslint@9.26.0(jiti@2.6.1)) eslint-plugin-react: 7.37.2(eslint@9.26.0(jiti@2.6.1)) eslint-plugin-react-hooks: 7.0.1(eslint@9.26.0(jiti@2.6.1)) @@ -48530,7 +48752,7 @@ snapshots: eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint@9.26.0(jiti@2.6.1)))(eslint@9.26.0(jiti@2.6.1)): dependencies: '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 9.26.0(jiti@2.6.1) get-tsconfig: 4.13.6 is-bun-module: 2.0.0 @@ -48538,7 +48760,7 @@ snapshots: tinyglobby: 0.2.15 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint@9.26.0(jiti@2.6.1)))(eslint@9.26.0(jiti@2.6.1)))(eslint@9.26.0(jiti@2.6.1)) transitivePeerDependencies: - supports-color @@ -48663,7 +48885,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.26.0(jiti@2.6.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@6.0.3))(eslint@9.26.0(jiti@2.6.1)))(eslint@9.26.0(jiti@2.6.1)))(eslint@9.26.0(jiti@2.6.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -48932,7 +49154,7 @@ snapshots: ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -48981,7 +49203,7 @@ snapshots: ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -49024,7 +49246,7 @@ snapshots: ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -49322,7 +49544,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 @@ -49583,7 +49805,7 @@ snapshots: finalhandler@2.1.1: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -49693,7 +49915,7 @@ snapshots: follow-redirects@1.16.0(debug@4.4.3): optionalDependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) for-each@0.3.5: dependencies: @@ -50646,7 +50868,7 @@ snapshots: '@rspack/core': 1.7.9(@swc/helpers@0.5.17) webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) - html-webpack-plugin@5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + html-webpack-plugin@5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -50655,7 +50877,7 @@ snapshots: tapable: 2.3.0 optionalDependencies: '@rspack/core': 1.7.9(@swc/helpers@0.5.19) - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) htmlparser2@10.0.0: dependencies: @@ -50738,7 +50960,7 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) transitivePeerDependencies: - supports-color @@ -50769,7 +50991,7 @@ snapshots: http-proxy-middleware@3.0.5: dependencies: '@types/http-proxy': 1.17.17 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) http-proxy: 1.18.1(debug@4.4.3) is-glob: 4.0.3 is-plain-object: 5.0.0 @@ -50820,21 +51042,21 @@ snapshots: https-proxy-agent@4.0.0: dependencies: agent-base: 5.1.1 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) transitivePeerDependencies: - supports-color @@ -51418,7 +51640,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -52119,18 +52341,18 @@ snapshots: '@rspack/core': 2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) - less-loader@12.3.3(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(less@4.6.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): + less-loader@12.3.3(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(less@4.6.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: less: 4.6.4 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) - less-loader@12.3.3(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(less@4.6.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): + less-loader@12.3.3(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(less@4.6.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: less: 4.6.4 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) less@4.6.4: @@ -52362,7 +52584,7 @@ snapshots: log4js@6.9.1: dependencies: date-format: 4.0.14 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) flatted: 3.4.2 rfdc: 1.4.1 streamroller: 3.1.5 @@ -52905,7 +53127,7 @@ snapshots: metro-file-map@0.82.5: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) fb-watchman: 2.0.2 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -52919,7 +53141,7 @@ snapshots: metro-file-map@0.83.5: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) fb-watchman: 2.0.2 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -53085,7 +53307,7 @@ snapshots: chalk: 4.1.2 ci-info: 2.0.0 connect: 3.7.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) error-stack-parser: 2.1.4 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -53132,7 +53354,7 @@ snapshots: chalk: 4.1.2 ci-info: 2.0.0 connect: 3.7.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) error-stack-parser: 2.1.4 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -53449,7 +53671,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -53548,11 +53770,11 @@ snapshots: tapable: 2.3.0 webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) - mini-css-extract-plugin@2.9.4(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + mini-css-extract-plugin@2.9.4(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: schema-utils: 4.3.0 tapable: 2.3.0 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) mini-svg-data-uri@1.4.4: {} @@ -53786,7 +54008,7 @@ snapshots: ndepe@0.1.13(encoding@0.1.13)(rollup@4.62.2): dependencies: '@vercel/nft': 0.29.2(encoding@0.1.13)(rollup@4.62.2) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) fs-extra: 11.3.0 mlly: 1.6.1 pkg-types: 1.3.1 @@ -54780,7 +55002,7 @@ snapshots: portfinder@1.0.38: dependencies: async: 3.2.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) transitivePeerDependencies: - supports-color @@ -55835,7 +56057,7 @@ snapshots: puppeteer-core@2.1.1: dependencies: '@types/mime-types': 2.1.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) extract-zip: 1.7.0 https-proxy-agent: 4.0.0 mime: 2.6.0 @@ -55856,7 +56078,7 @@ snapshots: devtools-protocol: 0.0.1638949 typed-query-selector: 2.12.2 webdriver-bidi-protocol: 0.4.2 - ws: 8.21.1 + ws: 8.21.0 transitivePeerDependencies: - bufferutil - proxy-agent @@ -57802,25 +58024,25 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + react-server-dom-webpack@19.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: acorn-loose: 8.5.2 neo-async: 2.6.2 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) webpack-sources: 3.5.1 react-server-dom-webpack@19.2.4(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): @@ -58468,7 +58690,7 @@ snapshots: transitivePeerDependencies: - typescript - rolldown-plugin-dts@0.22.5(rolldown@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1))(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)): + rolldown-plugin-dts@0.22.5(rolldown@1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2))(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)): dependencies: '@babel/generator': 8.0.0-rc.2 '@babel/helper-validator-identifier': 8.0.0-rc.2 @@ -58479,14 +58701,14 @@ snapshots: dts-resolver: 2.1.3 get-tsconfig: 4.13.6 obug: 2.1.1 - rolldown: 1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + rolldown: 1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) optionalDependencies: typescript: 6.0.3 vue-tsc: 2.2.12(typescript@6.0.3) transitivePeerDependencies: - oxc-resolver - rolldown-plugin-dts@0.22.5(rolldown@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1))(typescript@7.0.2)(vue-tsc@2.2.12(typescript@6.0.3)): + rolldown-plugin-dts@0.22.5(rolldown@1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2))(typescript@7.0.2)(vue-tsc@2.2.12(typescript@6.0.3)): dependencies: '@babel/generator': 8.0.0-rc.2 '@babel/helper-validator-identifier': 8.0.0-rc.2 @@ -58497,14 +58719,14 @@ snapshots: dts-resolver: 2.1.3 get-tsconfig: 4.13.6 obug: 2.1.1 - rolldown: 1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + rolldown: 1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) optionalDependencies: typescript: 7.0.2 vue-tsc: 2.2.12(typescript@6.0.3) transitivePeerDependencies: - oxc-resolver - rolldown@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1): + rolldown@1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2): dependencies: '@oxc-project/types': 0.112.0 '@rolldown/pluginutils': 1.0.0-rc.3 @@ -58519,14 +58741,14 @@ snapshots: '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.3 '@rolldown/binding-linux-x64-musl': 1.0.0-rc.3 '@rolldown/binding-openharmony-arm64': 1.0.0-rc.3 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.3 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.3 transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' - rolldown@1.0.0-rc.9(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1): + rolldown@1.0.0-rc.9(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2): dependencies: '@oxc-project/types': 0.115.0 '@rolldown/pluginutils': 1.0.0-rc.9 @@ -58543,7 +58765,7 @@ snapshots: '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.9 '@rolldown/binding-linux-x64-musl': 1.0.0-rc.9 '@rolldown/binding-openharmony-arm64': 1.0.0-rc.9 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.9(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.9(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.9 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.9 transitivePeerDependencies: @@ -58639,7 +58861,7 @@ snapshots: router@2.2.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 @@ -58647,10 +58869,10 @@ snapshots: transitivePeerDependencies: - supports-color - rsbuild-plugin-dts@0.12.4(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(@rsbuild/core@1.5.17(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1))(typescript@7.0.2): + rsbuild-plugin-dts@0.12.4(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(@rsbuild/core@1.5.17(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2))(typescript@7.0.2): dependencies: '@ast-grep/napi': 0.37.0 - '@rsbuild/core': 1.5.17(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + '@rsbuild/core': 1.5.17(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) magic-string: 0.30.21 picocolors: 1.1.1 tinyglobby: 0.2.15 @@ -58667,6 +58889,14 @@ snapshots: '@microsoft/api-extractor': 7.57.7(@types/node@20.19.5) typescript: 6.0.3 + rsbuild-plugin-dts@0.23.2(@microsoft/api-extractor@7.57.7(@types/node@20.19.5))(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(typescript@6.0.3): + dependencies: + '@ast-grep/napi': 0.37.0 + '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + optionalDependencies: + '@microsoft/api-extractor': 7.57.7(@types/node@20.19.5) + typescript: 6.0.3 + rsbuild-plugin-dts@0.23.2(@microsoft/api-extractor@7.57.7(@types/node@22.19.15))(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(typescript@6.0.3): dependencies: '@ast-grep/napi': 0.37.0 @@ -58695,12 +58925,12 @@ snapshots: '@microsoft/api-extractor': 7.57.7(@types/node@26.1.1) typescript: 5.9.3 - rsbuild-plugin-html-minifier-terser@1.1.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)): + rsbuild-plugin-html-minifier-terser@1.1.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)): dependencies: '@types/html-minifier-terser': 7.0.2 html-minifier-terser: 7.2.0 optionalDependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) rsbuild-plugin-publint@0.2.1(@rsbuild/core@1.7.3): dependencies: @@ -58709,27 +58939,20 @@ snapshots: optionalDependencies: '@rsbuild/core': 1.7.3 - rsbuild-plugin-publint@0.2.1(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.36.1)): - dependencies: - picocolors: 1.1.1 - publint: 0.2.12 - optionalDependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.36.1) - rsbuild-plugin-rsc@0.1.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-server-dom-rspack@0.0.2(@rspack/core@2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) react-server-dom-rspack: 0.0.2(@rspack/core@2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rsbuild-plugin-rsc@0.1.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + rsbuild-plugin-rsc@0.1.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - react-server-dom-rspack: 0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-server-dom-rspack: 0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rsbuild-plugin-rsc@0.1.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + rsbuild-plugin-rsc@0.1.1(@rsbuild/core@2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(react-server-dom-rspack@0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@rsbuild/core': 2.1.0(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - react-server-dom-rspack: 0.0.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-server-dom-rspack: 0.0.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) rslog@1.2.3: {} @@ -58753,24 +58976,24 @@ snapshots: optionalDependencies: '@rspack/core': 2.0.6(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) - rspack-manifest-plugin@5.2.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)): + rspack-manifest-plugin@5.2.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17)): dependencies: '@rspack/lite-tapable': 1.1.2 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) - rspack-manifest-plugin@5.2.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)): + rspack-manifest-plugin@5.2.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23)): dependencies: '@rspack/lite-tapable': 1.1.2 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) - rspack-vue-loader@17.5.1(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2)): + rspack-vue-loader@17.5.1(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(vue@3.5.30(typescript@7.0.2)): dependencies: '@rspack/lite-tapable': 1.1.0 chalk: 4.1.2 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) vue: 3.5.30(typescript@7.0.2) rstest-fetch-mock@0.1.0(@rstest/core@0.10.6(@module-federation/runtime-tools@2.8.0)(core-js@3.36.1)(jsdom@20.0.3)): @@ -59157,7 +59380,7 @@ snapshots: send@1.2.1: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -59562,7 +59785,7 @@ snapshots: spdy-transport@3.0.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -59573,7 +59796,7 @@ snapshots: spdy@4.0.2: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -59641,18 +59864,18 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - storybook-addon-rslib@1.0.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rslib/core@0.23.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@7.0.2))(storybook-builder-rsbuild@1.0.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2))(typescript@7.0.2): + storybook-addon-rslib@1.0.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rslib/core@0.23.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@7.0.2))(storybook-builder-rsbuild@1.0.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2))(typescript@7.0.2): dependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@rslib/core': 0.23.2(@microsoft/api-extractor@7.57.7(@types/node@26.1.1))(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(typescript@7.0.2) - storybook-builder-rsbuild: 1.0.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2) + storybook-builder-rsbuild: 1.0.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2) optionalDependencies: typescript: 7.0.2 - storybook-builder-rsbuild@1.0.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2): + storybook-builder-rsbuild@1.0.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2): dependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - '@rsbuild/plugin-type-check': 1.5.0(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/plugin-type-check': 1.5.0(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2) '@storybook/addon-docs': 8.6.18(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1)) '@storybook/core-webpack': 8.6.18(storybook@8.6.17(prettier@3.8.1)) browser-assert: 1.2.1 @@ -59664,7 +59887,7 @@ snapshots: magic-string: 0.30.21 path-browserify: 1.0.1 process: 0.11.10 - rsbuild-plugin-html-minifier-terser: 1.1.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) + rsbuild-plugin-html-minifier-terser: 1.1.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)) sirv: 2.0.4 storybook: 8.6.17(prettier@3.8.1) ts-dedent: 2.2.0 @@ -59679,10 +59902,10 @@ snapshots: - '@typescript/native-preview' - tslib - storybook-react-rsbuild@1.0.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)): + storybook-react-rsbuild@1.0.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.62.2)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)): dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.62.2) - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) '@storybook/react': 8.6.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.17(prettier@3.8.1))(typescript@7.0.2) '@storybook/react-docgen-typescript-plugin': 1.0.1(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.7.26(@swc/helpers@0.5.13))(esbuild@0.28.1)(webpack-cli@5.1.4)) '@types/node': 18.19.130 @@ -59694,7 +59917,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) resolve: 1.22.11 storybook: 8.6.17(prettier@3.8.1) - storybook-builder-rsbuild: 1.0.3(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2) + storybook-builder-rsbuild: 1.0.3(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/react@18.3.28)(storybook@8.6.17(prettier@3.8.1))(tslib@2.8.1)(typescript@7.0.2) tsconfig-paths: 4.2.0 optionalDependencies: typescript: 7.0.2 @@ -59758,7 +59981,7 @@ snapshots: streamroller@3.1.5: dependencies: date-format: 4.0.14 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) fs-extra: 8.1.0 transitivePeerDependencies: - supports-color @@ -60445,14 +60668,14 @@ snapshots: term-size@2.2.1: {} - terser-webpack-plugin@5.3.14(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.3.14(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.48.0 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: '@swc/core': 1.15.8(@swc/helpers@0.5.17) esbuild: 0.18.20 @@ -60469,14 +60692,14 @@ snapshots: '@swc/core': 1.15.8(@swc/helpers@0.5.17) esbuild: 0.25.5 - terser-webpack-plugin@5.3.14(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.3.14(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 terser: 5.48.0 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: '@swc/core': 1.15.8(@swc/helpers@0.5.17) esbuild: 0.25.5 @@ -60503,24 +60726,24 @@ snapshots: '@swc/core': 1.15.41(@swc/helpers@0.5.17) esbuild: 0.28.1 - terser-webpack-plugin@5.4.0(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.4.0(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.0 terser: 5.46.1 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: '@swc/core': 1.15.41(@swc/helpers@0.5.19) esbuild: 0.18.20 - terser-webpack-plugin@5.4.0(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.4.0(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.0 terser: 5.46.1 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: '@swc/core': 1.15.41(@swc/helpers@0.5.19) esbuild: 0.25.5 @@ -60547,35 +60770,24 @@ snapshots: '@swc/core': 1.15.41(@swc/helpers@0.5.23) esbuild: 0.28.1 - terser-webpack-plugin@5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.0 terser: 5.46.1 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: '@swc/core': 1.15.8(@swc/helpers@0.5.17) esbuild: 0.18.20 - terser-webpack-plugin@5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.0 - terser: 5.46.1 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) - optionalDependencies: - '@swc/core': 1.15.8(@swc/helpers@0.5.17) - esbuild: 0.25.5 - - terser-webpack-plugin@5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.0 terser: 5.46.1 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: '@swc/core': 1.15.8(@swc/helpers@0.5.17) esbuild: 0.25.5 @@ -60837,7 +61049,7 @@ snapshots: transitivePeerDependencies: - tslib - ts-checker-rspack-plugin@1.5.1(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(tslib@2.8.1)(typescript@7.0.2): + ts-checker-rspack-plugin@1.5.1(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17))(tslib@2.8.1)(typescript@7.0.2): dependencies: '@rspack/lite-tapable': 1.1.2 chokidar: 3.6.0 @@ -60845,11 +61057,11 @@ snapshots: picocolors: 1.1.1 typescript: 7.0.2 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.17) transitivePeerDependencies: - tslib - ts-checker-rspack-plugin@1.5.1(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2): + ts-checker-rspack-plugin@1.5.1(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(tslib@2.8.1)(typescript@7.0.2): dependencies: '@rspack/lite-tapable': 1.1.2 chokidar: 3.6.0 @@ -60857,7 +61069,7 @@ snapshots: picocolors: 1.1.1 typescript: 7.0.2 optionalDependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) transitivePeerDependencies: - tslib @@ -60897,14 +61109,14 @@ snapshots: typescript: 7.0.2 webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) - ts-loader@9.4.4(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + ts-loader@9.4.4(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: chalk: 4.1.2 enhanced-resolve: 5.20.1 micromatch: 4.0.8 semver: 7.6.3 typescript: 7.0.2 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) ts-loader@9.5.4(typescript@7.0.2)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: @@ -61167,7 +61379,7 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tsdown@0.20.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(publint@0.3.18)(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)): + tsdown@0.20.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(publint@0.3.18)(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)): dependencies: ansis: 4.2.0 cac: 6.7.14 @@ -61177,14 +61389,14 @@ snapshots: import-without-cache: 0.2.5 obug: 2.1.1 picomatch: 4.0.3 - rolldown: 1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) - rolldown-plugin-dts: 0.22.5(rolldown@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1))(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)) + rolldown: 1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + rolldown-plugin-dts: 0.22.5(rolldown@1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2))(typescript@6.0.3)(vue-tsc@2.2.12(typescript@6.0.3)) semver: 7.7.4 tinyexec: 1.0.4 tinyglobby: 0.2.15 tree-kill: 1.2.2 unconfig-core: 7.5.0 - unrun: 0.2.32(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + unrun: 0.2.32(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) optionalDependencies: publint: 0.3.18 typescript: 6.0.3 @@ -61197,7 +61409,7 @@ snapshots: - synckit - vue-tsc - tsdown@0.20.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(publint@0.3.18)(typescript@7.0.2)(vue-tsc@2.2.12(typescript@6.0.3)): + tsdown@0.20.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)(publint@0.3.18)(typescript@7.0.2)(vue-tsc@2.2.12(typescript@6.0.3)): dependencies: ansis: 4.2.0 cac: 6.7.14 @@ -61207,14 +61419,14 @@ snapshots: import-without-cache: 0.2.5 obug: 2.1.1 picomatch: 4.0.3 - rolldown: 1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) - rolldown-plugin-dts: 0.22.5(rolldown@1.0.0-rc.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1))(typescript@7.0.2)(vue-tsc@2.2.12(typescript@6.0.3)) + rolldown: 1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + rolldown-plugin-dts: 0.22.5(rolldown@1.0.0-rc.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2))(typescript@7.0.2)(vue-tsc@2.2.12(typescript@6.0.3)) semver: 7.7.4 tinyexec: 1.0.4 tinyglobby: 0.2.15 tree-kill: 1.2.2 unconfig-core: 7.5.0 - unrun: 0.2.32(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + unrun: 0.2.32(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) optionalDependencies: publint: 0.3.18 typescript: 7.0.2 @@ -61242,7 +61454,7 @@ snapshots: bundle-require: 4.2.1(esbuild@0.19.12) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) esbuild: 0.19.12 execa: 5.1.1 globby: 11.1.0 @@ -61266,7 +61478,7 @@ snapshots: bundle-require: 4.2.1(esbuild@0.19.12) cac: 6.7.14 chokidar: 3.6.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) esbuild: 0.19.12 execa: 5.1.1 globby: 11.1.0 @@ -61703,9 +61915,9 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - unrun@0.2.32(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1): + unrun@0.2.32(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2): dependencies: - rolldown: 1.0.0-rc.9(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) + rolldown: 1.0.0-rc.9(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -61973,7 +62185,7 @@ snapshots: vite-node@3.2.4(@types/node@20.19.5)(jiti@2.6.1)(less@4.6.4)(sass-embedded@1.100.0)(sass@1.100.0)(terser@5.48.0)(yaml@2.9.0): dependencies: cac: 6.7.14 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) es-module-lexer: 1.7.0 pathe: 2.0.3 vite: 7.3.6(@types/node@20.19.5)(jiti@2.6.1)(less@4.6.4)(sass-embedded@1.100.0)(sass@1.100.0)(terser@5.48.0)(yaml@2.9.0) @@ -61994,7 +62206,7 @@ snapshots: vite-node@3.2.4(@types/node@26.1.1)(jiti@2.6.1)(less@4.6.4)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.48.0)(yaml@2.9.0): dependencies: cac: 6.7.14 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) es-module-lexer: 1.7.0 pathe: 2.0.3 vite: 7.3.6(@types/node@26.1.1)(jiti@2.6.1)(less@4.6.4)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.48.0)(yaml@2.9.0) @@ -62015,7 +62227,7 @@ snapshots: vite-tsconfig-paths@4.2.3(typescript@6.0.3)(vite@7.3.5(@types/node@20.19.5)(jiti@2.6.1)(less@4.6.4)(sass-embedded@1.100.0)(sass@1.100.0)(terser@5.48.0)(yaml@2.9.0)): dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) globrex: 0.1.2 tsconfck: 2.1.2(typescript@6.0.3) optionalDependencies: @@ -62116,7 +62328,7 @@ snapshots: '@vitest/spy': 3.2.6 '@vitest/utils': 3.2.6 chai: 5.3.3 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) expect-type: 1.4.0 magic-string: 0.30.21 pathe: 2.0.3 @@ -62160,7 +62372,7 @@ snapshots: '@vitest/spy': 3.2.6 '@vitest/utils': 3.2.6 chai: 5.3.3 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) expect-type: 1.4.0 magic-string: 0.30.21 pathe: 2.0.3 @@ -62204,7 +62416,7 @@ snapshots: vue-eslint-parser@9.4.3(eslint@8.57.1): dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eslint: 8.57.1 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -62384,7 +62596,7 @@ snapshots: webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optional: true - webpack-dev-middleware@7.4.5(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + webpack-dev-middleware@7.4.5(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: colorette: 2.0.20 memfs: 4.46.0 @@ -62393,7 +62605,7 @@ snapshots: range-parser: 1.3.0 schema-utils: 4.3.0 optionalDependencies: - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optional: true webpack-dev-middleware@7.4.5(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): @@ -62496,7 +62708,7 @@ snapshots: - utf-8-validate optional: true - webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): + webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -62524,18 +62736,19 @@ snapshots: serve-index: 1.9.2 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + webpack-dev-middleware: 7.4.5(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) ws: 8.21.0 optionalDependencies: - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) webpack-cli: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate + optional: true - webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + webpack-dev-server@5.2.3(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -62563,17 +62776,16 @@ snapshots: serve-index: 1.9.2 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + webpack-dev-middleware: 7.4.5(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) ws: 8.21.0 optionalDependencies: - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) webpack-cli: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - optional: true webpack-dev-server@5.2.3(webpack-cli@5.1.4)(webpack@5.104.1): dependencies: @@ -62651,12 +62863,12 @@ snapshots: optionalDependencies: html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) - webpack-subresource-integrity@5.1.0(html-webpack-plugin@5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)): + webpack-subresource-integrity@5.1.0(html-webpack-plugin@5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: typed-assert: 1.0.9 - webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4) + webpack: 5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)) optionalDependencies: - html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + html-webpack-plugin: 5.6.6(@rspack/core@1.7.9(@swc/helpers@0.5.19))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) webpack-virtual-modules@0.6.2: {} @@ -62728,7 +62940,7 @@ snapshots: - esbuild - uglify-js - webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4): + webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -62752,7 +62964,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.4.0(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) watchpack: 2.5.1 webpack-sources: 3.5.0 optionalDependencies: @@ -62762,7 +62974,7 @@ snapshots: - esbuild - uglify-js - webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.25.5)(webpack-cli@5.1.4): + webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -62786,7 +62998,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.4.0(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) watchpack: 2.5.1 webpack-sources: 3.5.0 optionalDependencies: @@ -62864,7 +63076,7 @@ snapshots: - esbuild - uglify-js - webpack@5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4): + webpack@5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -62888,7 +63100,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.18.20)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) watchpack: 2.5.1 webpack-sources: 3.5.0 optionalDependencies: @@ -62922,41 +63134,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) - watchpack: 2.5.1 - webpack-sources: 3.5.0 - optionalDependencies: - webpack-cli: 5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1) - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack@5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack-cli@5.1.4): - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.17.0 - acorn-import-phases: 1.0.4(acorn@8.17.0) - browserslist: 4.28.4 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.20.1 - es-module-lexer: 2.0.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.1 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.4.0(@swc/core@1.15.8(@swc/helpers@0.5.17))(esbuild@0.25.5)(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.19))(esbuild@0.18.20)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) watchpack: 2.5.1 webpack-sources: 3.5.0 optionalDependencies: @@ -63165,7 +63343,8 @@ snapshots: ws@8.21.0: {} - ws@8.21.1: {} + ws@8.21.1: + optional: true wsl-utils@0.1.0: dependencies: @@ -63307,7 +63486,7 @@ snapshots: '@toon-format/toon': 0.9.0 axios: 1.18.0(debug@4.4.3) axios-retry: 4.5.0(axios@1.18.0) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3(supports-color@9.3.1) eventsource: 4.1.0 git-url-parse: 15.0.0 https-proxy-agent: 7.0.6 @@ -63325,18 +63504,18 @@ snapshots: dependencies: tslib: 2.8.1 - zephyr-rsbuild-plugin@1.1.2(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): + zephyr-rsbuild-plugin@1.1.2(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: - '@rsbuild/core': 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) - zephyr-rspack-plugin: 1.1.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + '@rsbuild/core': 2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) + zephyr-rspack-plugin: 1.1.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) transitivePeerDependencies: - '@rspack/core' - supports-color - webpack - zephyr-rspack-plugin@1.1.2(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): + zephyr-rspack-plugin@1.1.2(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: - '@rspack/core': 2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) + '@rspack/core': 2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23) tslib: 2.8.1 zephyr-agent: 1.1.2 zephyr-xpack-internal: 1.1.2(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) @@ -63344,13 +63523,13 @@ snapshots: - supports-color - webpack - zephyr-rspress-plugin@1.1.2(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@rspress/core@2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): + zephyr-rspress-plugin@1.1.2(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@rspress/core@2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))): dependencies: - '@rspress/core': 2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2) + '@rspress/core': 2.0.14(@module-federation/runtime-tools@2.8.0)(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(@types/mdast@4.0.4)(@types/react@19.2.14)(core-js@3.49.0)(micromark-util-types@2.0.2)(micromark@4.0.2) tslib: 2.8.1 zephyr-agent: 1.1.2 zephyr-edge-contract: 1.1.2 - zephyr-rsbuild-plugin: 1.1.2(@rsbuild/core@2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.2(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) + zephyr-rsbuild-plugin: 1.1.2(@rsbuild/core@2.1.8(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0))(@rspack/core@2.1.5(@module-federation/runtime-tools@2.8.0)(@swc/helpers@0.5.23))(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) zephyr-xpack-internal: 1.1.2(webpack@5.104.1(@swc/core@1.15.41(@swc/helpers@0.5.23))(esbuild@0.28.1)(webpack-cli@5.1.4(webpack-dev-server@5.2.3)(webpack@5.104.1))) transitivePeerDependencies: - '@rsbuild/core' From 5a8e40105a4bc665e508999832bb6706bafb3bcc Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Sat, 25 Jul 2026 00:46:27 +0000 Subject: [PATCH 05/14] chore: restore enhanced test fixtures --- .../0-container-full/node_modules/react.js | 3 +++ .../1-container-full/node_modules/package.json | 3 +++ .../1-container-full/node_modules/react.js | 3 +++ .../2-container-full/node_modules/package.json | 3 +++ .../2-container-full/node_modules/react.js | 3 +++ .../3-container-full/node_modules/react.js | 3 +++ .../exposed-overridables/node_modules/package.json | 4 ++++ .../exposed-overridables/node_modules/react.js | 1 + .../node_modules/package.json | 4 ++++ .../node_modules/react.js | 1 + .../manifest-file-name/node_modules/package.json | 4 ++++ .../manifest-file-name/node_modules/react.js | 1 + .../container/manifest/node_modules/package.json | 4 ++++ .../container/manifest/node_modules/react.js | 1 + .../node_modules/package.json | 3 +++ .../node_modules/react.js | 3 +++ .../multiple-entrypoints-1/node_modules/react.js | 3 +++ .../multiple-entrypoints/node_modules/react.js | 3 +++ .../node_modules/package.json | 3 +++ .../multiple-runtime-chunk/node_modules/react.js | 3 +++ .../node_modules/@scope-sc/ui-lib/index.js | 3 +++ .../node_modules/@scope-sc/ui-lib/package.json | 6 ++++++ .../node_modules/@scope-sc/ui-lib2/index.js | 3 +++ .../node_modules/@scope-sc/ui-lib2/package.json | 6 ++++++ .../node_modules/@scope-sc/ui-lib3/index.js | 3 +++ .../node_modules/@scope-sc/ui-lib3/package.json | 6 ++++++ .../container/virtual-entry/node_modules/react.js | 3 +++ .../layers/1-layers-full/node_modules/react.js | 4 ++++ .../layers/2-layers-full/node_modules/react.js | 4 ++++ .../layers/3-layers-full/node_modules/react.js | 4 ++++ .../layers/4-layers-full/node_modules/react.js | 4 ++++ .../layers/5-layers-full/node_modules/react.js | 4 ++++ .../layers/6-layers-full/node_modules/react.js | 4 ++++ .../layers/7-layers-full/node_modules/package.json | 3 +++ .../layers/7-layers-full/node_modules/react.js | 5 +++++ .../layers/8-layers-full/node_modules/package.json | 3 +++ .../layers/8-layers-full/node_modules/react.js | 4 ++++ .../node_modules/singleton-filter/index.js | 4 ++++ .../node_modules/singleton-filter/package.json | 4 ++++ .../node_modules/version-exclude-fail/index.js | 4 ++++ .../node_modules/version-exclude-fail/package.json | 4 ++++ .../node_modules/version-exclude/index.js | 4 ++++ .../node_modules/version-exclude/package.json | 4 ++++ .../node_modules/version-include-fail/index.js | 4 ++++ .../node_modules/version-include-fail/package.json | 4 ++++ .../node_modules/version-include/index.js | 4 ++++ .../node_modules/version-include/package.json | 4 ++++ .../node_modules/@scoped/package/index.js | 1 + .../node_modules/package.js | 1 + .../node_modules/prefix/a.js | 1 + .../node_modules/prefix/deep/b.js | 1 + .../node_modules/singleton.js | 1 + .../node_modules/singletonWithoutVersion.js | 1 + .../node_modules/strict0.js | 1 + .../node_modules/strict1.js | 1 + .../node_modules/strict2.js | 1 + .../node_modules/strict3.js | 1 + .../node_modules/strict4.js | 1 + .../node_modules/@scoped/package/index.js | 1 + .../sharing/consume-module/node_modules/package.js | 1 + .../consume-module/node_modules/prefix/a.js | 1 + .../consume-module/node_modules/prefix/deep/b.js | 1 + .../consume-module/node_modules/singleton.js | 1 + .../node_modules/singletonWithoutVersion.js | 1 + .../sharing/consume-module/node_modules/strict0.js | 1 + .../sharing/consume-module/node_modules/strict1.js | 1 + .../sharing/consume-module/node_modules/strict2.js | 1 + .../sharing/consume-module/node_modules/strict3.js | 1 + .../sharing/consume-module/node_modules/strict4.js | 1 + .../node_modules/my-module/index.js | 1 + .../node_modules/my-module/package.json | 5 +++++ .../node_modules/my-module2/index.js | 1 + .../node_modules/my-module2/package.json | 5 +++++ .../node_modules/my-module3/index.js | 1 + .../node_modules/my-module3/package.json | 5 +++++ .../node_modules/my-module4/index.js | 1 + .../node_modules/my-module4/package.json | 5 +++++ .../node_modules/my-module/index.js | 1 + .../node_modules/my-module/package.json | 5 +++++ .../node_modules/my-module2/index.js | 1 + .../node_modules/my-module2/package.json | 5 +++++ .../node_modules/my-module3/index.js | 1 + .../node_modules/my-module3/package.json | 5 +++++ .../node_modules/my-module4/index.js | 1 + .../node_modules/my-module4/package.json | 5 +++++ .../node_modules/package-1/esm/index.js | 7 +++++++ .../node_modules/package-1/esm/package.json | 1 + .../node_modules/package-1/package.json | 5 +++++ .../consume-nested/node_modules/package-2/index.js | 6 ++++++ .../node_modules/package-2/package.json | 5 +++++ .../node_modules/my-middleware/index.js | 6 ++++++ .../node_modules/my-middleware/package.json | 8 ++++++++ .../node_modules/my-module/a.js | 3 +++ .../node_modules/my-module/b.js | 5 +++++ .../node_modules/my-module/package.json | 9 +++++++++ .../node_modules/react/index.js | 2 ++ .../node_modules/react/index2.js | 1 + .../node_modules/lib2/index.js | 2 ++ .../node_modules/multi-pkg/thing1.js | 1 + .../node_modules/multi-pkg/thing2.js | 1 + .../node_modules/react/index.js | 2 ++ .../node_modules/react/index2.js | 1 + .../node_modules/lib2/index.js | 2 ++ .../node_modules/multi-pkg/thing1.js | 1 + .../node_modules/multi-pkg/thing2.js | 1 + .../node_modules/react/index.js | 1 + .../node_modules/react/index2.js | 1 + .../layers-share-plugin/node_modules/lib2/index.js | 2 ++ .../node_modules/multi-pkg/thing1.js | 1 + .../node_modules/multi-pkg/thing2.js | 1 + .../node_modules/react/index.js | 2 ++ .../node_modules/react/index2.js | 1 + .../node_modules/package/index.js | 1 + .../node_modules/package/package.json | 3 +++ .../node_modules/common/index.js | 1 + .../node_modules/common/package.json | 3 +++ .../node_modules/uncommon/index.js | 1 + .../node_modules/uncommon/package.json | 3 +++ .../node_modules/singleton-filter/package.json | 4 ++++ .../node_modules/version-exclude-fail/package.json | 4 ++++ .../node_modules/version-exclude/package.json | 4 ++++ .../node_modules/version-include-fail/package.json | 4 ++++ .../node_modules/version-include/package.json | 4 ++++ .../provide-module/node_modules/package/index.js | 1 + .../node_modules/package/package.json | 3 +++ .../node_modules/my-module/index.js | 1 + .../my-module/node_modules/shared/index.js | 1 + .../my-module/node_modules/shared/package.json | 4 ++++ .../node_modules/shared/index.js | 1 + .../node_modules/shared/package.json | 4 ++++ .../unused-module/node_modules/shared/index.js | 1 + .../unused-module/node_modules/shared/package.json | 4 ++++ .../node_modules/x/index.js | 1 + .../node_modules/x/package.json | 3 +++ .../node_modules/my-module/index.js | 3 +++ .../my-module/node_modules/shared/index.js | 3 +++ .../my-module/node_modules/shared/package.json | 5 +++++ .../node_modules/my-module/package.json | 5 +++++ .../node_modules/shared/directory/thing.js | 3 +++ .../share-deep-module/node_modules/shared/index.js | 3 +++ .../node_modules/shared/package.json | 5 +++++ .../unused-module/node_modules/shared/index.js | 3 +++ .../unused-module/node_modules/shared/package.json | 5 +++++ .../node_modules/my-module/index.js | 1 + .../my-module/node_modules/shared/index.js | 1 + .../my-module/node_modules/shared/package.json | 4 ++++ .../node_modules/my-module/package.json | 5 +++++ .../node_modules/shared/index.js | 1 + .../node_modules/shared/package.json | 4 ++++ .../unused-module/node_modules/shared/index.js | 1 + .../unused-module/node_modules/shared/package.json | 4 ++++ .../node_modules/lib/index.js | 4 ++++ .../node_modules/lib/package.json | 6 ++++++ .../node_modules/transitive_lib/index.js | 3 +++ .../node_modules/transitive_lib/package.json | 3 +++ .../app1/node_modules/lib2/index.js | 3 +++ .../app1/node_modules/lib2/package.json | 3 +++ .../node_modules/lib1/index.js | 3 +++ .../node_modules/lib1/package.json | 3 +++ .../node_modules/lib2/index.js | 3 +++ .../node_modules/lib2/package.json | 3 +++ .../share-plugin/node_modules/lib1/index.js | 1 + .../share-plugin/node_modules/lib1/package.json | 3 +++ .../share-plugin/node_modules/lib2/index.js | 1 + .../share-plugin/node_modules/lib3/index.js | 1 + .../share-plugin/node_modules/lib3/package.json | 3 +++ .../share-plugin/node_modules/store/index.js | 1 + .../share-plugin/node_modules/store/package.json | 3 +++ .../sharing/shared-strategy/node_modules/react.js | 3 +++ .../ui-lib-dynamic-default-export/index.js | 9 +++++++++ .../ui-lib-dynamic-default-export/package.json | 6 ++++++ .../ui-lib-dynamic-specific-export/index.js | 3 +++ .../ui-lib-dynamic-specific-export/package.json | 6 ++++++ .../infer-strategy/node_modules/ui-lib-es/index.js | 3 +++ .../node_modules/ui-lib-es/package.json | 6 ++++++ .../node_modules/ui-lib-side-effect/index.js | 12 ++++++++++++ .../node_modules/ui-lib-side-effect/package.json | 6 ++++++ .../infer-strategy/node_modules/ui-lib/index.js | 9 +++++++++ .../node_modules/ui-lib/package.json | 6 ++++++ .../node_modules/legacy-nanoid-v3/index.js | 3 +++ .../legacy-nanoid-v3/node_modules/nanoid/index.js | 1 + .../node_modules/nanoid/package.json | 6 ++++++ .../node_modules/legacy-nanoid-v3/package.json | 9 +++++++++ .../node_modules/nanoid/index.js | 1 + .../node_modules/nanoid/package.json | 6 ++++++ .../ui-lib-dynamic-default-export/index.js | 9 +++++++++ .../ui-lib-dynamic-default-export/package.json | 6 ++++++ .../ui-lib-dynamic-specific-export/index.js | 3 +++ .../ui-lib-dynamic-specific-export/package.json | 6 ++++++ .../node_modules/ui-lib-es/index.js | 3 +++ .../node_modules/ui-lib-es/package.json | 6 ++++++ .../node_modules/ui-lib-side-effect/index.js | 12 ++++++++++++ .../node_modules/ui-lib-side-effect/package.json | 6 ++++++ .../node_modules/ui-lib/index.js | 9 +++++++++ .../node_modules/ui-lib/package.json | 6 ++++++ .../reshake-share/node_modules/ui-lib-dep/index.js | 2 ++ .../node_modules/ui-lib-dep/package.json | 6 ++++++ .../reshake-share/node_modules/ui-lib/index.js | 14 ++++++++++++++ .../reshake-share/node_modules/ui-lib/package.json | 6 ++++++ .../ui-lib-dynamic-default-export/index.js | 9 +++++++++ .../ui-lib-dynamic-default-export/package.json | 6 ++++++ .../ui-lib-dynamic-specific-export/index.js | 3 +++ .../ui-lib-dynamic-specific-export/package.json | 6 ++++++ .../node_modules/ui-lib-es/index.js | 3 +++ .../node_modules/ui-lib-es/package.json | 6 ++++++ .../node_modules/ui-lib-side-effect/index.js | 12 ++++++++++++ .../node_modules/ui-lib-side-effect/package.json | 6 ++++++ .../server-strategy/node_modules/ui-lib/index.js | 9 +++++++++ .../node_modules/ui-lib/package.json | 6 ++++++ 209 files changed, 727 insertions(+) create mode 100644 packages/enhanced/test/configCases/container/0-container-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/1-container-full/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/container/1-container-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/2-container-full/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/container/2-container-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/3-container-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/exposed-overridables/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/container/exposed-overridables/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/manifest-file-name/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/container/manifest-file-name/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/manifest/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/container/manifest/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/multiple-entrypoints-1/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/multiple-entrypoints/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/index.js create mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/package.json create mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/index.js create mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/package.json create mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/index.js create mode 100644 packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/package.json create mode 100644 packages/enhanced/test/configCases/container/virtual-entry/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/layers/1-layers-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/layers/2-layers-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/layers/3-layers-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/layers/4-layers-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/layers/5-layers-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/layers/6-layers-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/layers/7-layers-full/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/layers/7-layers-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/layers/8-layers-full/node_modules/package.json create mode 100644 packages/enhanced/test/configCases/layers/8-layers-full/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/@scoped/package/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/package.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/a.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/deep/b.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singleton.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singletonWithoutVersion.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict0.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict1.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict2.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict3.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict4.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/@scoped/package/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/package.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/a.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/deep/b.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/singleton.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/singletonWithoutVersion.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict0.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict1.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict2.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict3.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict4.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/index.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/package.json create mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/a.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/b.js create mode 100644 packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/package.json create mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index2.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/lib2/index.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing1.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing2.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index2.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/lib2/index.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing1.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing2.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index2.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/lib2/index.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing1.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing2.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index.js create mode 100644 packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index2.js create mode 100644 packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/index.js create mode 100644 packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/index.js create mode 100644 packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/index.js create mode 100644 packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/singleton-filter/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude-fail/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include-fail/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/index.js create mode 100644 packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/index.js create mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/index.js create mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/index.js create mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/index.js create mode 100644 packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/package.json create mode 100644 packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/index.js create mode 100644 packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/directory/thing.js create mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib2/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/package.json create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/index.js create mode 100644 packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/package.json create mode 100644 packages/enhanced/test/configCases/sharing/shared-strategy/node_modules/react.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/package.json create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/index.js create mode 100644 packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/package.json diff --git a/packages/enhanced/test/configCases/container/0-container-full/node_modules/react.js b/packages/enhanced/test/configCases/container/0-container-full/node_modules/react.js new file mode 100644 index 00000000000..bcf433f2afb --- /dev/null +++ b/packages/enhanced/test/configCases/container/0-container-full/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/1-container-full/node_modules/package.json b/packages/enhanced/test/configCases/container/1-container-full/node_modules/package.json new file mode 100644 index 00000000000..87032da008a --- /dev/null +++ b/packages/enhanced/test/configCases/container/1-container-full/node_modules/package.json @@ -0,0 +1,3 @@ +{ + "version": "2.1.0" +} diff --git a/packages/enhanced/test/configCases/container/1-container-full/node_modules/react.js b/packages/enhanced/test/configCases/container/1-container-full/node_modules/react.js new file mode 100644 index 00000000000..97d35a4bc9c --- /dev/null +++ b/packages/enhanced/test/configCases/container/1-container-full/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "2.1.0"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/2-container-full/node_modules/package.json b/packages/enhanced/test/configCases/container/2-container-full/node_modules/package.json new file mode 100644 index 00000000000..88d4e7f3e51 --- /dev/null +++ b/packages/enhanced/test/configCases/container/2-container-full/node_modules/package.json @@ -0,0 +1,3 @@ +{ + "version": "8" +} diff --git a/packages/enhanced/test/configCases/container/2-container-full/node_modules/react.js b/packages/enhanced/test/configCases/container/2-container-full/node_modules/react.js new file mode 100644 index 00000000000..ab65e86c7fe --- /dev/null +++ b/packages/enhanced/test/configCases/container/2-container-full/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "8"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/3-container-full/node_modules/react.js b/packages/enhanced/test/configCases/container/3-container-full/node_modules/react.js new file mode 100644 index 00000000000..ab65e86c7fe --- /dev/null +++ b/packages/enhanced/test/configCases/container/3-container-full/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "8"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/package.json b/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/package.json new file mode 100644 index 00000000000..a1069cc8a84 --- /dev/null +++ b/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/package.json @@ -0,0 +1,4 @@ +{ + "name": "react", + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/react.js b/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/react.js new file mode 100644 index 00000000000..ff64eb39526 --- /dev/null +++ b/packages/enhanced/test/configCases/container/exposed-overridables/node_modules/react.js @@ -0,0 +1 @@ +export default "React"; diff --git a/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/package.json b/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/package.json new file mode 100644 index 00000000000..a1069cc8a84 --- /dev/null +++ b/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/package.json @@ -0,0 +1,4 @@ +{ + "name": "react", + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/react.js b/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/react.js new file mode 100644 index 00000000000..ff64eb39526 --- /dev/null +++ b/packages/enhanced/test/configCases/container/manifest-disable-assets-analyze/node_modules/react.js @@ -0,0 +1 @@ +export default "React"; diff --git a/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/package.json b/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/package.json new file mode 100644 index 00000000000..a1069cc8a84 --- /dev/null +++ b/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/package.json @@ -0,0 +1,4 @@ +{ + "name": "react", + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/react.js b/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/react.js new file mode 100644 index 00000000000..ff64eb39526 --- /dev/null +++ b/packages/enhanced/test/configCases/container/manifest-file-name/node_modules/react.js @@ -0,0 +1 @@ +export default "React"; diff --git a/packages/enhanced/test/configCases/container/manifest/node_modules/package.json b/packages/enhanced/test/configCases/container/manifest/node_modules/package.json new file mode 100644 index 00000000000..a1069cc8a84 --- /dev/null +++ b/packages/enhanced/test/configCases/container/manifest/node_modules/package.json @@ -0,0 +1,4 @@ +{ + "name": "react", + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/container/manifest/node_modules/react.js b/packages/enhanced/test/configCases/container/manifest/node_modules/react.js new file mode 100644 index 00000000000..ff64eb39526 --- /dev/null +++ b/packages/enhanced/test/configCases/container/manifest/node_modules/react.js @@ -0,0 +1 @@ +export default "React"; diff --git a/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/package.json b/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/package.json new file mode 100644 index 00000000000..87032da008a --- /dev/null +++ b/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/package.json @@ -0,0 +1,3 @@ +{ + "version": "2.1.0" +} diff --git a/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/react.js b/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/react.js new file mode 100644 index 00000000000..97d35a4bc9c --- /dev/null +++ b/packages/enhanced/test/configCases/container/module-federation-with-shareScope/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "2.1.0"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/multiple-entrypoints-1/node_modules/react.js b/packages/enhanced/test/configCases/container/multiple-entrypoints-1/node_modules/react.js new file mode 100644 index 00000000000..bcf433f2afb --- /dev/null +++ b/packages/enhanced/test/configCases/container/multiple-entrypoints-1/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/multiple-entrypoints/node_modules/react.js b/packages/enhanced/test/configCases/container/multiple-entrypoints/node_modules/react.js new file mode 100644 index 00000000000..bcf433f2afb --- /dev/null +++ b/packages/enhanced/test/configCases/container/multiple-entrypoints/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/package.json b/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/package.json new file mode 100644 index 00000000000..87032da008a --- /dev/null +++ b/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/package.json @@ -0,0 +1,3 @@ +{ + "version": "2.1.0" +} diff --git a/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/react.js b/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/react.js new file mode 100644 index 00000000000..97d35a4bc9c --- /dev/null +++ b/packages/enhanced/test/configCases/container/multiple-runtime-chunk/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "2.1.0"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/index.js b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/index.js new file mode 100644 index 00000000000..4111021868b --- /dev/null +++ b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/index.js @@ -0,0 +1,3 @@ +let version = "0.1.2"; +export default () => `This is @scope-sc/ui-lib ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/package.json b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/package.json new file mode 100644 index 00000000000..485bb4d6261 --- /dev/null +++ b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib/package.json @@ -0,0 +1,6 @@ +{ + "name": "@scope-sc/ui-lib", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/index.js b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/index.js new file mode 100644 index 00000000000..994d882c949 --- /dev/null +++ b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/index.js @@ -0,0 +1,3 @@ +let version = "0.1.2"; +export default () => `This is @scope-sc/ui-lib2 ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/package.json b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/package.json new file mode 100644 index 00000000000..320334e0da6 --- /dev/null +++ b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib2/package.json @@ -0,0 +1,6 @@ +{ + "name": "@scope-sc/ui-lib2", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/index.js b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/index.js new file mode 100644 index 00000000000..ac1633f1e65 --- /dev/null +++ b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/index.js @@ -0,0 +1,3 @@ +let version = "0.1.2"; +export default () => `This is @scope-sc/ui-lib3 ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/package.json b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/package.json new file mode 100644 index 00000000000..7c0e181d2bf --- /dev/null +++ b/packages/enhanced/test/configCases/container/remote-array-share-scope/node_modules/@scope-sc/ui-lib3/package.json @@ -0,0 +1,6 @@ +{ + "name": "@scope-sc/ui-lib3", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/container/virtual-entry/node_modules/react.js b/packages/enhanced/test/configCases/container/virtual-entry/node_modules/react.js new file mode 100644 index 00000000000..bcf433f2afb --- /dev/null +++ b/packages/enhanced/test/configCases/container/virtual-entry/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/layers/1-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/1-layers-full/node_modules/react.js new file mode 100644 index 00000000000..4b536eeef07 --- /dev/null +++ b/packages/enhanced/test/configCases/layers/1-layers-full/node_modules/react.js @@ -0,0 +1,4 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } +export const layeredComponentsReact = () => "No Layer (1-layers-full)"; diff --git a/packages/enhanced/test/configCases/layers/2-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/2-layers-full/node_modules/react.js new file mode 100644 index 00000000000..f526a4d3939 --- /dev/null +++ b/packages/enhanced/test/configCases/layers/2-layers-full/node_modules/react.js @@ -0,0 +1,4 @@ +let version = "2.1.0"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } +export const layeredComponentsReact = () => "No Layer (2-layers-full)"; diff --git a/packages/enhanced/test/configCases/layers/3-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/3-layers-full/node_modules/react.js new file mode 100644 index 00000000000..6e63243a6eb --- /dev/null +++ b/packages/enhanced/test/configCases/layers/3-layers-full/node_modules/react.js @@ -0,0 +1,4 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } +export const layeredComponentsReact = () => "__PLACEHOLDER__"; diff --git a/packages/enhanced/test/configCases/layers/4-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/4-layers-full/node_modules/react.js new file mode 100644 index 00000000000..6e63243a6eb --- /dev/null +++ b/packages/enhanced/test/configCases/layers/4-layers-full/node_modules/react.js @@ -0,0 +1,4 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } +export const layeredComponentsReact = () => "__PLACEHOLDER__"; diff --git a/packages/enhanced/test/configCases/layers/5-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/5-layers-full/node_modules/react.js new file mode 100644 index 00000000000..6e63243a6eb --- /dev/null +++ b/packages/enhanced/test/configCases/layers/5-layers-full/node_modules/react.js @@ -0,0 +1,4 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } +export const layeredComponentsReact = () => "__PLACEHOLDER__"; diff --git a/packages/enhanced/test/configCases/layers/6-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/6-layers-full/node_modules/react.js new file mode 100644 index 00000000000..6e63243a6eb --- /dev/null +++ b/packages/enhanced/test/configCases/layers/6-layers-full/node_modules/react.js @@ -0,0 +1,4 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } +export const layeredComponentsReact = () => "__PLACEHOLDER__"; diff --git a/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/package.json b/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/package.json new file mode 100644 index 00000000000..3c5c6ef7e00 --- /dev/null +++ b/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/package.json @@ -0,0 +1,3 @@ +{ + "version": "0.1.2" +} diff --git a/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/react.js new file mode 100644 index 00000000000..b3d5e976d44 --- /dev/null +++ b/packages/enhanced/test/configCases/layers/7-layers-full/node_modules/react.js @@ -0,0 +1,5 @@ +import pkg from './package.json' + +export default () => `This is react ${pkg.version}`; +export function setVersion(v) { version = v; } +export const layeredComponentsReact = () => "No Layer"; diff --git a/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/package.json b/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/package.json new file mode 100644 index 00000000000..717ab457193 --- /dev/null +++ b/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/package.json @@ -0,0 +1,3 @@ +{ + "version": "0.1.1" +} diff --git a/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/react.js b/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/react.js new file mode 100644 index 00000000000..5280f1f7107 --- /dev/null +++ b/packages/enhanced/test/configCases/layers/8-layers-full/node_modules/react.js @@ -0,0 +1,4 @@ +import pkg from './package.json' +export function setVersion(v) { pkg.version = v; } +export const layeredComponentsReact = () => "FEDERATION IS BROKEN, THIS VERION SHOULD NOT BE LOADED"; +export default () => `${pkg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/index.js new file mode 100644 index 00000000000..4c5739c174a --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/index.js @@ -0,0 +1,4 @@ +module.exports = { + name: 'singleton-filter', + version: '1.0.5' +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/package.json new file mode 100644 index 00000000000..615621020b8 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/singleton-filter/package.json @@ -0,0 +1,4 @@ +{ + "name": "singleton-filter", + "version": "1.0.5" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/index.js new file mode 100644 index 00000000000..41777c6e3de --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/index.js @@ -0,0 +1,4 @@ +module.exports = { + name: 'version-exclude-fail', + version: '2.1.0' +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/package.json new file mode 100644 index 00000000000..a824e255c27 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude-fail/package.json @@ -0,0 +1,4 @@ +{ + "name": "version-exclude-fail", + "version": "2.1.0" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/index.js new file mode 100644 index 00000000000..edb70dc8c6b --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/index.js @@ -0,0 +1,4 @@ +module.exports = { + name: 'version-exclude', + version: '1.5.0' +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/package.json new file mode 100644 index 00000000000..a988d2d6547 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-exclude/package.json @@ -0,0 +1,4 @@ +{ + "name": "version-exclude", + "version": "1.5.0" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/index.js new file mode 100644 index 00000000000..5b5e0ad0912 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/index.js @@ -0,0 +1,4 @@ +module.exports = { + name: 'version-include-fail', + version: '1.5.0' +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/package.json new file mode 100644 index 00000000000..47092c5b190 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include-fail/package.json @@ -0,0 +1,4 @@ +{ + "name": "version-include-fail", + "version": "1.5.0" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/index.js b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/index.js new file mode 100644 index 00000000000..dc72d35a390 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/index.js @@ -0,0 +1,4 @@ +module.exports = { + name: 'version-include', + version: '1.2.3' +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/package.json b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/package.json new file mode 100644 index 00000000000..2c89a716669 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-filters/node_modules/version-include/package.json @@ -0,0 +1,4 @@ +{ + "name": "version-include", + "version": "1.2.3" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/@scoped/package/index.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/@scoped/package/index.js new file mode 100644 index 00000000000..8678386a6f2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/@scoped/package/index.js @@ -0,0 +1 @@ +module.exports = "@scoped/package"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/package.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/package.js new file mode 100644 index 00000000000..7c1dac1c302 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/package.js @@ -0,0 +1 @@ +module.exports = "package"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/a.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/a.js new file mode 100644 index 00000000000..6cd1d0075d4 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/a.js @@ -0,0 +1 @@ +module.exports = "a"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/deep/b.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/deep/b.js new file mode 100644 index 00000000000..dfbbeb621fa --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/prefix/deep/b.js @@ -0,0 +1 @@ +module.exports = "b"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singleton.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singleton.js new file mode 100644 index 00000000000..ec0140e27d2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singleton.js @@ -0,0 +1 @@ +module.exports = "singleton"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singletonWithoutVersion.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singletonWithoutVersion.js new file mode 100644 index 00000000000..eb02ddc0628 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/singletonWithoutVersion.js @@ -0,0 +1 @@ +module.exports = "singleton without version"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict0.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict0.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict0.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict1.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict1.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict1.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict2.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict2.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict2.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict3.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict3.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict3.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict4.js b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict4.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module-ignore-warnings/node_modules/strict4.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/@scoped/package/index.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/@scoped/package/index.js new file mode 100644 index 00000000000..8678386a6f2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/@scoped/package/index.js @@ -0,0 +1 @@ +module.exports = "@scoped/package"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/package.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/package.js new file mode 100644 index 00000000000..7c1dac1c302 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/package.js @@ -0,0 +1 @@ +module.exports = "package"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/a.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/a.js new file mode 100644 index 00000000000..6cd1d0075d4 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/a.js @@ -0,0 +1 @@ +module.exports = "a"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/deep/b.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/deep/b.js new file mode 100644 index 00000000000..dfbbeb621fa --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/prefix/deep/b.js @@ -0,0 +1 @@ +module.exports = "b"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singleton.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singleton.js new file mode 100644 index 00000000000..ec0140e27d2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singleton.js @@ -0,0 +1 @@ +module.exports = "singleton"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singletonWithoutVersion.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singletonWithoutVersion.js new file mode 100644 index 00000000000..eb02ddc0628 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/singletonWithoutVersion.js @@ -0,0 +1 @@ +module.exports = "singleton without version"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict0.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict0.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict0.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict1.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict1.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict1.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict2.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict2.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict2.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict3.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict3.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict3.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict4.js b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict4.js new file mode 100644 index 00000000000..51df4cc6671 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-module/node_modules/strict4.js @@ -0,0 +1 @@ +module.exports = "strict"; diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/index.js new file mode 100644 index 00000000000..ae61e683bfb --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/index.js @@ -0,0 +1 @@ +module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/package.json new file mode 100644 index 00000000000..ab866ffdfa3 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "shared": "^2.3.0" + } +} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/index.js new file mode 100644 index 00000000000..ae61e683bfb --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/index.js @@ -0,0 +1 @@ +module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/package.json new file mode 100644 index 00000000000..b88141f46c5 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module2/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "shared": "~2.3.0" + } +} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/index.js new file mode 100644 index 00000000000..ae61e683bfb --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/index.js @@ -0,0 +1 @@ +module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/package.json new file mode 100644 index 00000000000..6a3ed89c57b --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module3/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "shared": "^3.4.5" + } +} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/index.js new file mode 100644 index 00000000000..ae61e683bfb --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/index.js @@ -0,0 +1 @@ +module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/package.json new file mode 100644 index 00000000000..6faf4164846 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions-ignore-warnings/node_modules/my-module4/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "shared": "*" + } +} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/index.js new file mode 100644 index 00000000000..ae61e683bfb --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/index.js @@ -0,0 +1 @@ +module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/package.json new file mode 100644 index 00000000000..ab866ffdfa3 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "shared": "^2.3.0" + } +} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/index.js new file mode 100644 index 00000000000..ae61e683bfb --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/index.js @@ -0,0 +1 @@ +module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/package.json new file mode 100644 index 00000000000..b88141f46c5 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module2/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "shared": "~2.3.0" + } +} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/index.js new file mode 100644 index 00000000000..ae61e683bfb --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/index.js @@ -0,0 +1 @@ +module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/package.json new file mode 100644 index 00000000000..6a3ed89c57b --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module3/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "shared": "^3.4.5" + } +} diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/index.js b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/index.js new file mode 100644 index 00000000000..ae61e683bfb --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/index.js @@ -0,0 +1 @@ +module.exports = require("shared"); diff --git a/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/package.json b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/package.json new file mode 100644 index 00000000000..6faf4164846 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-multiple-versions/node_modules/my-module4/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "shared": "*" + } +} diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/index.js b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/index.js new file mode 100644 index 00000000000..64e5c1aae7c --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/index.js @@ -0,0 +1,7 @@ +import package2 from 'package-2'; + +export default function package1(msg) { + const result = package2(msg + ' package-1'); + + return result; +} diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/package.json b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/package.json new file mode 100644 index 00000000000..2bd6e5099f3 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/esm/package.json @@ -0,0 +1 @@ +{"type":"module","sideEffects":false} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/package.json b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/package.json new file mode 100644 index 00000000000..9094b0b0de2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-1/package.json @@ -0,0 +1,5 @@ +{ + "name": "package-1", + "version": "1.0.0", + "module": "./esm/index.js" +} diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/index.js b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/index.js new file mode 100644 index 00000000000..dac4028de4d --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/index.js @@ -0,0 +1,6 @@ +function package2(msg) { + const result = msg + ' package-2'; + return result; +} + +export { package2 as default }; diff --git a/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/package.json b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/package.json new file mode 100644 index 00000000000..9c3b4a80b18 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-nested/node_modules/package-2/package.json @@ -0,0 +1,5 @@ +{ + "name": "package-2", + "version": "1.0.0", + "module": "./index.js" +} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/index.js b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/index.js new file mode 100644 index 00000000000..9d3799c10a3 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/index.js @@ -0,0 +1,6 @@ +import { a } from "my-module/a"; +import { b } from "my-module/b"; + +export function m() { + return a() + b(); +} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/package.json b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/package.json new file mode 100644 index 00000000000..857375d8323 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-middleware/package.json @@ -0,0 +1,8 @@ +{ + "name": "my-middleware", + "type": "module", + "version": "2.3.4", + "dependencies": { + "my-module": "*" + } +} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/a.js b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/a.js new file mode 100644 index 00000000000..32864f0a77f --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/a.js @@ -0,0 +1,3 @@ +export function a() { + return "A"; +} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/b.js b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/b.js new file mode 100644 index 00000000000..a528f0acf55 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/b.js @@ -0,0 +1,5 @@ +import { a } from "my-module/a"; + +export function b() { + return "B" + a(); +} diff --git a/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/package.json new file mode 100644 index 00000000000..487a24abd22 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/consume-self-reference/node_modules/my-module/package.json @@ -0,0 +1,9 @@ +{ + "name": "my-module", + "type": "module", + "version": "1.2.3", + "exports": { + "./a": "./a.js", + "./b": "./b.js" + } +} diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index.js b/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index.js new file mode 100644 index 00000000000..17f0c46768c --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index.js @@ -0,0 +1,2 @@ +import { dix } from './index2'; +export const version = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index2.js b/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index2.js new file mode 100644 index 00000000000..6aa19f3b6b2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-consume-entry/node_modules/react/index2.js @@ -0,0 +1 @@ +export const dix = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/lib2/index.js new file mode 100644 index 00000000000..ec16f09935f --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/lib2/index.js @@ -0,0 +1,2 @@ +export default "lib2"; +export const version = '1.3.4'; diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing1.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing1.js new file mode 100644 index 00000000000..b0162214559 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing1.js @@ -0,0 +1 @@ +export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing2.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing2.js new file mode 100644 index 00000000000..b0162214559 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/multi-pkg/thing2.js @@ -0,0 +1 @@ +export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index.js new file mode 100644 index 00000000000..17f0c46768c --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index.js @@ -0,0 +1,2 @@ +import { dix } from './index2'; +export const version = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index2.js b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index2.js new file mode 100644 index 00000000000..6aa19f3b6b2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index2.js @@ -0,0 +1 @@ +export const dix = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/lib2/index.js new file mode 100644 index 00000000000..ec16f09935f --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/lib2/index.js @@ -0,0 +1,2 @@ +export default "lib2"; +export const version = '1.3.4'; diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing1.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing1.js new file mode 100644 index 00000000000..b0162214559 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing1.js @@ -0,0 +1 @@ +export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing2.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing2.js new file mode 100644 index 00000000000..b0162214559 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/multi-pkg/thing2.js @@ -0,0 +1 @@ +export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index.js new file mode 100644 index 00000000000..5957b07261c --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index.js @@ -0,0 +1 @@ +export const version = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index2.js b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index2.js new file mode 100644 index 00000000000..6aa19f3b6b2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-provides-loader/node_modules/react/index2.js @@ -0,0 +1 @@ +export const dix = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/lib2/index.js new file mode 100644 index 00000000000..ec16f09935f --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/lib2/index.js @@ -0,0 +1,2 @@ +export default "lib2"; +export const version = '1.3.4'; diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing1.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing1.js new file mode 100644 index 00000000000..b0162214559 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing1.js @@ -0,0 +1 @@ +export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing2.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing2.js new file mode 100644 index 00000000000..b0162214559 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/multi-pkg/thing2.js @@ -0,0 +1 @@ +export const version = '2.0.0' diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index.js new file mode 100644 index 00000000000..17f0c46768c --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index.js @@ -0,0 +1,2 @@ +import { dix } from './index2'; +export const version = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index2.js b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index2.js new file mode 100644 index 00000000000..6aa19f3b6b2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/layers-share-plugin/node_modules/react/index2.js @@ -0,0 +1 @@ +export const dix = "1.0.0"; diff --git a/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/index.js b/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/index.js new file mode 100644 index 00000000000..7c1dac1c302 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/index.js @@ -0,0 +1 @@ +module.exports = "package"; diff --git a/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/package.json b/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/package.json new file mode 100644 index 00000000000..1587a669681 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/no-override-loaded/node_modules/package/package.json @@ -0,0 +1,3 @@ +{ + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/index.js b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/index.js new file mode 100644 index 00000000000..888cae37af9 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/index.js @@ -0,0 +1 @@ +module.exports = 42; diff --git a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/package.json b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/package.json new file mode 100644 index 00000000000..1587a669681 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/common/package.json @@ -0,0 +1,3 @@ +{ + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/index.js b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/index.js new file mode 100644 index 00000000000..888cae37af9 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/index.js @@ -0,0 +1 @@ +module.exports = 42; diff --git a/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/package.json b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/package.json new file mode 100644 index 00000000000..4928ba5355f --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-eager-module/node_modules/uncommon/package.json @@ -0,0 +1,3 @@ +{ + "version": "2.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/singleton-filter/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/singleton-filter/package.json new file mode 100644 index 00000000000..615621020b8 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/singleton-filter/package.json @@ -0,0 +1,4 @@ +{ + "name": "singleton-filter", + "version": "1.0.5" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude-fail/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude-fail/package.json new file mode 100644 index 00000000000..a824e255c27 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude-fail/package.json @@ -0,0 +1,4 @@ +{ + "name": "version-exclude-fail", + "version": "2.1.0" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude/package.json new file mode 100644 index 00000000000..a988d2d6547 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-exclude/package.json @@ -0,0 +1,4 @@ +{ + "name": "version-exclude", + "version": "1.5.0" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include-fail/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include-fail/package.json new file mode 100644 index 00000000000..47092c5b190 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include-fail/package.json @@ -0,0 +1,4 @@ +{ + "name": "version-include-fail", + "version": "1.5.0" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include/package.json b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include/package.json new file mode 100644 index 00000000000..2c89a716669 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-filters/node_modules/version-include/package.json @@ -0,0 +1,4 @@ +{ + "name": "version-include", + "version": "1.2.3" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/index.js b/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/index.js new file mode 100644 index 00000000000..7c1dac1c302 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/index.js @@ -0,0 +1 @@ +module.exports = "package"; diff --git a/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/package.json b/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/package.json new file mode 100644 index 00000000000..1587a669681 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-module/node_modules/package/package.json @@ -0,0 +1,3 @@ +{ + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/index.js new file mode 100644 index 00000000000..33dcca8255b --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/index.js @@ -0,0 +1 @@ +export * from "shared"; diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/index.js new file mode 100644 index 00000000000..fa434c11d85 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/index.js @@ -0,0 +1 @@ +export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/package.json new file mode 100644 index 00000000000..8836d69c11f --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/my-module/node_modules/shared/package.json @@ -0,0 +1,4 @@ +{ + "name": "shared", + "version": "2.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/index.js new file mode 100644 index 00000000000..fa434c11d85 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/index.js @@ -0,0 +1 @@ +export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/package.json new file mode 100644 index 00000000000..65b99b00928 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/shared/package.json @@ -0,0 +1,4 @@ +{ + "name": "shared", + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/index.js new file mode 100644 index 00000000000..fa434c11d85 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/index.js @@ -0,0 +1 @@ +export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/package.json new file mode 100644 index 00000000000..87cb039c937 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-multiple-versions/node_modules/unused-module/node_modules/shared/package.json @@ -0,0 +1,4 @@ +{ + "name": "shared", + "version": "3.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/index.js b/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/index.js new file mode 100644 index 00000000000..888cae37af9 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/index.js @@ -0,0 +1 @@ +module.exports = 42; diff --git a/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/package.json b/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/package.json new file mode 100644 index 00000000000..1587a669681 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/provide-shared-with-runtime-chunk/node_modules/x/package.json @@ -0,0 +1,3 @@ +{ + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/index.js new file mode 100644 index 00000000000..beeb6fd0da1 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/index.js @@ -0,0 +1,3 @@ +module.exports = { + version: require('./node_modules/shared').version, +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/index.js new file mode 100644 index 00000000000..c6857c8ba0d --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/index.js @@ -0,0 +1,3 @@ +module.exports = { + version: '2.0.0', +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/package.json new file mode 100644 index 00000000000..4e8b63e2e26 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/node_modules/shared/package.json @@ -0,0 +1,5 @@ +{ + "name": "shared", + "version": "2.0.0", + "main": "index.js" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/package.json new file mode 100644 index 00000000000..f11e616f758 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/my-module/package.json @@ -0,0 +1,5 @@ +{ + "name": "my-module", + "version": "1.0.0", + "main": "index.js" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/directory/thing.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/directory/thing.js new file mode 100644 index 00000000000..1b3cfa1cdc7 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/directory/thing.js @@ -0,0 +1,3 @@ +module.exports = { + version: '1.0.0', +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/index.js new file mode 100644 index 00000000000..1b3cfa1cdc7 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/index.js @@ -0,0 +1,3 @@ +module.exports = { + version: '1.0.0', +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/package.json new file mode 100644 index 00000000000..16bd1298035 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/shared/package.json @@ -0,0 +1,5 @@ +{ + "name": "shared", + "version": "1.0.0", + "main": "index.js" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/index.js new file mode 100644 index 00000000000..74bdc5bd0fc --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/index.js @@ -0,0 +1,3 @@ +module.exports = { + version: '3.0.0', +}; \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/package.json new file mode 100644 index 00000000000..1a8a0755901 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-deep-module/node_modules/unused-module/node_modules/shared/package.json @@ -0,0 +1,5 @@ +{ + "name": "shared", + "version": "3.0.0", + "main": "index.js" +} \ No newline at end of file diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/index.js b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/index.js new file mode 100644 index 00000000000..33dcca8255b --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/index.js @@ -0,0 +1 @@ +export * from "shared"; diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/index.js new file mode 100644 index 00000000000..fa434c11d85 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/index.js @@ -0,0 +1 @@ +export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/package.json new file mode 100644 index 00000000000..8836d69c11f --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/node_modules/shared/package.json @@ -0,0 +1,4 @@ +{ + "name": "shared", + "version": "2.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/package.json b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/package.json new file mode 100644 index 00000000000..1bcd4a5c107 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/my-module/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "shared": "^2.0.0" + } +} diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/index.js new file mode 100644 index 00000000000..fa434c11d85 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/index.js @@ -0,0 +1 @@ +export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/package.json new file mode 100644 index 00000000000..65b99b00928 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/shared/package.json @@ -0,0 +1,4 @@ +{ + "name": "shared", + "version": "1.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/index.js b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/index.js new file mode 100644 index 00000000000..fa434c11d85 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/index.js @@ -0,0 +1 @@ +export * from "./package.json"; diff --git a/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/package.json b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/package.json new file mode 100644 index 00000000000..87cb039c937 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-multiple-versions/node_modules/unused-module/node_modules/shared/package.json @@ -0,0 +1,4 @@ +{ + "name": "shared", + "version": "3.0.0" +} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/index.js new file mode 100644 index 00000000000..7b736bcce99 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/index.js @@ -0,0 +1,4 @@ +import cfg from './package.json' with { type: 'json' }; +import transitiveDept from 'transitive_lib'; + +export default `lib@${cfg.version} with ${transitiveDept}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/package.json new file mode 100644 index 00000000000..7e0693158c6 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/lib/package.json @@ -0,0 +1,6 @@ +{ + "version": "1.1.1", + "dependencies": { + "transitive_lib": "^1.0.0" + } +} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/index.js new file mode 100644 index 00000000000..b2e98d48ce5 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/index.js @@ -0,0 +1,3 @@ +import cfg from './package.json' with { type: 'json' }; + +export default `transitive_lib@${cfg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/package.json new file mode 100644 index 00000000000..2a38ae1d1f4 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-dual-mode/node_modules/transitive_lib/package.json @@ -0,0 +1,3 @@ +{ + "version": "1.1.1" +} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/index.js new file mode 100644 index 00000000000..c5d50faf728 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/index.js @@ -0,0 +1,3 @@ +import cfg from './package.json' with { type: 'json' }; + +export default `lib2@${cfg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/package.json new file mode 100644 index 00000000000..b72ccacc95a --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/app1/node_modules/lib2/package.json @@ -0,0 +1,3 @@ +{ + "version": "2.2.2" +} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/index.js new file mode 100644 index 00000000000..a54163858e1 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/index.js @@ -0,0 +1,3 @@ +import cfg from './package.json' with { type: 'json' }; + +export default `lib1@${cfg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/package.json new file mode 100644 index 00000000000..2a38ae1d1f4 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib1/package.json @@ -0,0 +1,3 @@ +{ + "version": "1.1.1" +} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/index.js new file mode 100644 index 00000000000..c5d50faf728 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/index.js @@ -0,0 +1,3 @@ +import cfg from './package.json' with { type: 'json' }; + +export default `lib2@${cfg.version}`; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/package.json b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/package.json new file mode 100644 index 00000000000..2a38ae1d1f4 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin-monorepo/node_modules/lib2/package.json @@ -0,0 +1,3 @@ +{ + "version": "1.1.1" +} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/index.js b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/index.js new file mode 100644 index 00000000000..461d2376f4c --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/index.js @@ -0,0 +1 @@ +export default "lib1"; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/package.json b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/package.json new file mode 100644 index 00000000000..2a38ae1d1f4 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib1/package.json @@ -0,0 +1,3 @@ +{ + "version": "1.1.1" +} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib2/index.js b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib2/index.js new file mode 100644 index 00000000000..c2a6f9581ff --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib2/index.js @@ -0,0 +1 @@ +export default "lib2"; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/index.js b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/index.js new file mode 100644 index 00000000000..62fde4a705d --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/index.js @@ -0,0 +1 @@ +export default "lib3"; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/package.json b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/package.json new file mode 100644 index 00000000000..2a38ae1d1f4 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/lib3/package.json @@ -0,0 +1,3 @@ +{ + "version": "1.1.1" +} diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/index.js b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/index.js new file mode 100644 index 00000000000..225383e5cc2 --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/index.js @@ -0,0 +1 @@ +export default "store"; diff --git a/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/package.json b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/package.json new file mode 100644 index 00000000000..ce04135d2cd --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/share-plugin/node_modules/store/package.json @@ -0,0 +1,3 @@ +{ + "version": "0" +} diff --git a/packages/enhanced/test/configCases/sharing/shared-strategy/node_modules/react.js b/packages/enhanced/test/configCases/sharing/shared-strategy/node_modules/react.js new file mode 100644 index 00000000000..bcf433f2afb --- /dev/null +++ b/packages/enhanced/test/configCases/sharing/shared-strategy/node_modules/react.js @@ -0,0 +1,3 @@ +let version = "0.1.2"; +export default () => `This is react ${version}`; +export function setVersion(v) { version = v; } diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/index.js new file mode 100644 index 00000000000..9dd1824aaaa --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/index.js @@ -0,0 +1,9 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' + +export default { + Button, + List, + Badge +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/package.json new file mode 100644 index 00000000000..34effdfca83 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-default-export/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-dynamic-default-export", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/index.js new file mode 100644 index 00000000000..6d4fe4c20ea --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/index.js @@ -0,0 +1,3 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/package.json new file mode 100644 index 00000000000..e1e4830eb43 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-dynamic-specific-export/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-dynamic-specific-export", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/index.js new file mode 100644 index 00000000000..6d4fe4c20ea --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/index.js @@ -0,0 +1,3 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/package.json new file mode 100644 index 00000000000..4e05f3fb855 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-es/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-es", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/index.js new file mode 100644 index 00000000000..0568c23344a --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/index.js @@ -0,0 +1,12 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' + +globalThis.Button = Button; +globalThis.List = List; +globalThis.Badge = Badge; +export default { + Button, + List, + Badge +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/package.json new file mode 100644 index 00000000000..08f52aa758d --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib-side-effect/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-side-effect", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": true +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/index.js b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/index.js new file mode 100644 index 00000000000..39961a43ee4 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/index.js @@ -0,0 +1,9 @@ +export const Button = 'Button'; +export const List = 'List'; +export const Badge = 'Badge'; + +export default { + Button, + List, + Badge, +}; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/package.json b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/package.json new file mode 100644 index 00000000000..90f9db2691b --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/infer-strategy/node_modules/ui-lib/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/index.js new file mode 100644 index 00000000000..0952251fcc0 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/index.js @@ -0,0 +1,3 @@ +import { nanoid } from 'nanoid'; + +export const createLegacyId = () => nanoid(); diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/index.js new file mode 100644 index 00000000000..b8a20f2a410 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/index.js @@ -0,0 +1 @@ +export const nanoid = () => 'legacy-3.3.11'; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/package.json new file mode 100644 index 00000000000..e81079eece0 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/node_modules/nanoid/package.json @@ -0,0 +1,6 @@ +{ + "name": "nanoid", + "main": "./index.js", + "version": "3.3.11", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/package.json new file mode 100644 index 00000000000..401960f7119 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/legacy-nanoid-v3/package.json @@ -0,0 +1,9 @@ +{ + "name": "legacy-nanoid-v3", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false, + "dependencies": { + "nanoid": "3.3.11" + } +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/index.js new file mode 100644 index 00000000000..5ac54973804 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/index.js @@ -0,0 +1 @@ +export const nanoid = () => 'modern-5.1.6'; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/package.json new file mode 100644 index 00000000000..fca4c1790c6 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/nanoid/package.json @@ -0,0 +1,6 @@ +{ + "name": "nanoid", + "main": "./index.js", + "version": "5.1.6", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/index.js new file mode 100644 index 00000000000..9dd1824aaaa --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/index.js @@ -0,0 +1,9 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' + +export default { + Button, + List, + Badge +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/package.json new file mode 100644 index 00000000000..34effdfca83 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-default-export/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-dynamic-default-export", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/index.js new file mode 100644 index 00000000000..6d4fe4c20ea --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/index.js @@ -0,0 +1,3 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/package.json new file mode 100644 index 00000000000..e1e4830eb43 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-dynamic-specific-export/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-dynamic-specific-export", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/index.js new file mode 100644 index 00000000000..6d4fe4c20ea --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/index.js @@ -0,0 +1,3 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/package.json new file mode 100644 index 00000000000..4e05f3fb855 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-es/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-es", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/index.js new file mode 100644 index 00000000000..0568c23344a --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/index.js @@ -0,0 +1,12 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' + +globalThis.Button = Button; +globalThis.List = List; +globalThis.Badge = Badge; +export default { + Button, + List, + Badge +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/package.json new file mode 100644 index 00000000000..08f52aa758d --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib-side-effect/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-side-effect", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": true +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/index.js b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/index.js new file mode 100644 index 00000000000..39961a43ee4 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/index.js @@ -0,0 +1,9 @@ +export const Button = 'Button'; +export const List = 'List'; +export const Badge = 'Badge'; + +export default { + Button, + List, + Badge, +}; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/package.json b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/package.json new file mode 100644 index 00000000000..90f9db2691b --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/multi-version-fallback/node_modules/ui-lib/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/index.js b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/index.js new file mode 100644 index 00000000000..0e03fb26811 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/index.js @@ -0,0 +1,2 @@ +export const Message = 'Message'; +export const Spin = 'Spin'; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/package.json b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/package.json new file mode 100644 index 00000000000..436a74b6795 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib-dep/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-dep", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/index.js b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/index.js new file mode 100644 index 00000000000..212d1f07b45 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/index.js @@ -0,0 +1,14 @@ +import { Message, Spin } from 'ui-lib-dep'; + +export const Button = 'Button'; +export const List = 'List'; +export const Badge = 'Badge'; + +export const MessagePro = `${Message}Pro`; +export const SpinPro = `${Spin}Pro`; + +export default { + Button, + List, + Badge, +}; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/package.json b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/package.json new file mode 100644 index 00000000000..90f9db2691b --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/reshake-share/node_modules/ui-lib/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/index.js new file mode 100644 index 00000000000..9dd1824aaaa --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/index.js @@ -0,0 +1,9 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' + +export default { + Button, + List, + Badge +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/package.json new file mode 100644 index 00000000000..34effdfca83 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-default-export/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-dynamic-default-export", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/index.js new file mode 100644 index 00000000000..6d4fe4c20ea --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/index.js @@ -0,0 +1,3 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/package.json new file mode 100644 index 00000000000..e1e4830eb43 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-dynamic-specific-export/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-dynamic-specific-export", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/index.js new file mode 100644 index 00000000000..6d4fe4c20ea --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/index.js @@ -0,0 +1,3 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/package.json new file mode 100644 index 00000000000..4e05f3fb855 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-es/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-es", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/index.js new file mode 100644 index 00000000000..0568c23344a --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/index.js @@ -0,0 +1,12 @@ +export const Button = 'Button'; +export const List = 'List' +export const Badge = 'Badge' + +globalThis.Button = Button; +globalThis.List = List; +globalThis.Badge = Badge; +export default { + Button, + List, + Badge +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/package.json new file mode 100644 index 00000000000..08f52aa758d --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib-side-effect/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib-side-effect", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": true +} diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/index.js b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/index.js new file mode 100644 index 00000000000..39961a43ee4 --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/index.js @@ -0,0 +1,9 @@ +export const Button = 'Button'; +export const List = 'List'; +export const Badge = 'Badge'; + +export default { + Button, + List, + Badge, +}; diff --git a/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/package.json b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/package.json new file mode 100644 index 00000000000..90f9db2691b --- /dev/null +++ b/packages/enhanced/test/configCases/tree-shaking-share/server-strategy/node_modules/ui-lib/package.json @@ -0,0 +1,6 @@ +{ + "name": "ui-lib", + "main": "./index.js", + "version": "1.0.0", + "sideEffects": false +} From 206855eb4d16cda89e57e56d8c515e9539db34b1 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Sat, 25 Jul 2026 00:53:04 +0000 Subject: [PATCH 06/14] docs(rstest): polish integration guide --- .../en/integrations/build-tool/rstest.mdx | 77 +++++++++++++++---- 1 file changed, 64 insertions(+), 13 deletions(-) diff --git a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx index 81b3c05fe98..671b37b7f2d 100644 --- a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx +++ b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx @@ -1,17 +1,32 @@ # Rstest -`@module-federation/rstest` lets Rstest run tests against real Module -Federation remotes instead of mocked module boundaries. It is intended for -Rstest projects that use Node or JSDOM test environments, and it can also be -used with Rstest browser mode. +`@module-federation/rstest` enables Module Federation inside +[Rstest](https://rstest.rs/) test builds. Use it when your tests should load +real federated remotes instead of replacing the federation boundary with mocks. + +## Supports + +- Rstest Node and JSDOM test environments. +- Rstest browser mode. +- URL remotes such as `remote@http://localhost:3001/remoteEntry.js`. +- `commonjs ...` path remotes for Node-based integration tests. +- Automatic Rstest federation compatibility mode for Node-targeted test builds. ## Requirements +:::tip + Use `@rstest/core@0.11.4` or newer. Rstest's federation support shipped in -`0.11.4`, so older Rstest versions do not expose the configuration API this -plugin uses for Node test builds. +`0.11.4`. + +::: + +Older Rstest versions do not expose the configuration API this plugin uses for +Node test builds. + +## Quick Start -## Installation +### Installation import { PackageManagerTabs } from '@theme'; @@ -24,7 +39,7 @@ import { PackageManagerTabs } from '@theme'; }} /> -## Register Plugin +### Register Plugin ```ts title='rstest.config.ts' import { federation } from '@module-federation/rstest'; @@ -46,11 +61,23 @@ export default defineConfig({ }); ``` -Do not set `federation: true` in `rstest.config.ts`. For Node and JSDOM test -environments, `@module-federation/rstest` enables Rstest's federation -compatibility mode automatically. +:::warning + +Do not set `federation: true` in `rstest.config.ts` when using this plugin. For +Node and JSDOM test environments, `@module-federation/rstest` enables Rstest's +federation compatibility mode automatically. + +::: + +Run your tests with Rstest as usual: + +```bash +npx rstest run +``` + +## How It Works -## Node Test Defaults +### Node Test Defaults For Node-targeted Rstest builds, the plugin applies Module Federation defaults that match the Node runtime: @@ -65,7 +92,7 @@ that match the Node runtime: Standard URL remotes and `commonjs ...` path remotes work without setting `remoteType`. -## Browser Mode +### Browser Mode Pass `{ target: 'browser' }` as the second argument when using the plugin for Rstest browser mode: @@ -92,8 +119,32 @@ export default defineConfig({ Browser mode keeps browser build defaults and only enables `experiments.asyncStartup`. +## Configuration + +`federation(options, rstestOptions)` accepts the standard +[Module Federation configuration](/configure/index.html) as the first argument. + +```ts +federation(moduleFederationOptions, { + target: 'node', // or 'browser' +}); +``` + +### moduleFederationOptions + +[Module Federation Configuration](/configure/index.html) + +### rstestOptions + +- Type: `{ target?: 'node' | 'browser' }` +- Default: auto-detected from Rstest's build caller. Browser-mode builds default + to `'browser'`; other Rstest builds default to `'node'`. + ## Producer Builds Use `@module-federation/rsbuild-plugin` or another Module Federation build plugin to build the remote application. Use `@module-federation/rstest` only in the Rstest test project that consumes those remotes. + +For Rsbuild producers, continue with the +[Rsbuild plugin guide](/integrations/build-tool/rsbuild.html). From e58a32a6351867424ad8729e9748959d7b13ed9e Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Sat, 25 Jul 2026 00:56:28 +0000 Subject: [PATCH 07/14] fix(website): skip zephyr locally without auth --- apps/website-new/rspress.config.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/website-new/rspress.config.ts b/apps/website-new/rspress.config.ts index 27a43a687f5..3e576666e90 100644 --- a/apps/website-new/rspress.config.ts +++ b/apps/website-new/rspress.config.ts @@ -14,6 +14,7 @@ const siteIcon = '/svg.svg'; const socialImageUrl = `${siteOrigin}/module-federation-social.svg`; const socialImageAlt = 'Module Federation icon'; const googleAnalyticsMeasurementId = 'G-DRPXW0EEVT'; +const enableZephyr = Boolean(process.env.CI || process.env.ZE_SECRET_TOKEN); export default defineConfig({ root: path.join(__dirname, 'docs'), @@ -86,7 +87,7 @@ export default defineConfig({ // wordsMapPath: 'words-map.json', // }), pluginModuleFederation(mfConfig), - withZephyr(), + ...(enableZephyr ? [withZephyr()] : []), ], builderConfig: { html: { From 86009a93263221f905502cf52351f7a7a6e26c58 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Mon, 27 Jul 2026 21:54:54 +0000 Subject: [PATCH 08/14] fix(rstest): detect browser mode from exposed config --- .../en/integrations/build-tool/rstest.mdx | 5 ++- packages/rstest/src/index.test.ts | 41 ++++++++++--------- packages/rstest/src/plugin.ts | 35 ++++++---------- 3 files changed, 38 insertions(+), 43 deletions(-) diff --git a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx index 671b37b7f2d..9a9d44eff89 100644 --- a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx +++ b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx @@ -137,8 +137,9 @@ federation(moduleFederationOptions, { ### rstestOptions - Type: `{ target?: 'node' | 'browser' }` -- Default: auto-detected from Rstest's build caller. Browser-mode builds default - to `'browser'`; other Rstest builds default to `'node'`. +- Default: auto-detected from Rstest's resolved `browser.enabled` + configuration. Browser Mode defaults to `'browser'`; other builds default to + `'node'`. ## Producer Builds diff --git a/packages/rstest/src/index.test.ts b/packages/rstest/src/index.test.ts index ea5a9c8bf75..c14c55cf2cc 100644 --- a/packages/rstest/src/index.test.ts +++ b/packages/rstest/src/index.test.ts @@ -17,6 +17,9 @@ const NODE_RUNTIME_PLUGIN = require.resolve(NODE_RUNTIME_PLUGIN_REQUEST); type FederationPlugin = ReturnType; type TestRstestConfig = { + browser?: { + enabled?: boolean; + }; federation?: boolean; }; @@ -91,21 +94,21 @@ const getFederationPluginOptions = ( return options!; }; -// Minimal Rsbuild API surface used by the plugin. rstest sets callerName to -// 'rstest' (node) or 'rstest-browser' (browser) on its Rsbuild instances. +// Minimal Rsbuild API surface used by the plugin. const setupFederationPlugin = ( plugin: FederationPlugin, callerName = 'rstest', + rstestConfig: TestRstestConfig = {}, ): { envHook: EnvHook; order: unknown; rstestConfig: TestRstestConfig } => { let envHook: EnvHook | undefined; let order: unknown; - const rstestConfig: TestRstestConfig = {}; const fakeApi = { context: { callerName }, useExposed: (name: string) => name === 'rstest' ? { + getRstestConfig: () => rstestConfig, modifyRstestConfig: ( callback: (config: TestRstestConfig) => void, ) => callback(rstestConfig), @@ -152,14 +155,16 @@ const applyFederationPlugin = ( config = {}, mergeEnvironmentConfig = shallowMergeEnvironmentConfig, rspackConfig = { output: {}, plugins: [] }, + rstestConfig = {}, }: { callerName?: string; config?: EnvironmentConfig; mergeEnvironmentConfig?: MergeEnvironmentConfig; rspackConfig?: TestRspackConfig; + rstestConfig?: TestRstestConfig; } = {}, ) => { - const { envHook } = setupFederationPlugin(plugin, callerName); + const { envHook } = setupFederationPlugin(plugin, callerName, rstestConfig); const merged = envHook(config, { mergeEnvironmentConfig }); runRspackHooks(merged, rspackConfig); @@ -257,10 +262,10 @@ describe('federation()', () => { expect(rstestConfig.federation).toBe(true); }); - it('does not enable Rstest federation compatibility for browser targets', () => { - const { rstestConfig } = setupFederationPlugin( - federation(undefined, { target: 'browser' }), - ); + it('does not enable Rstest federation compatibility in Browser Mode', () => { + const { rstestConfig } = setupFederationPlugin(federation(), 'rstest', { + browser: { enabled: true }, + }); expect(rstestConfig.federation).toBeUndefined(); }); @@ -506,20 +511,18 @@ describe('federation()', () => { ); }); - it('does not warn about the caller under rstest runners', () => { - for (const callerName of ['rstest', 'rstest-browser']) { - const warnings = captureWarnings(() => { - setupFederationPlugin(federation(), callerName); - }); + it('does not warn about the caller under rstest', () => { + const warnings = captureWarnings(() => { + setupFederationPlugin(federation()); + }); - expect(warnings.join('\n')).not.toContain('designed to run under rstest'); - } + expect(warnings.join('\n')).not.toContain('designed to run under rstest'); }); - it('defaults to browser target when called from rstest-browser', () => { + it('defaults to browser target when Browser Mode is enabled', () => { const { merged, rspackConfig } = applyFederationPlugin( federation({ name: 'browser_caller_app' }), - { callerName: 'rstest-browser' }, + { rstestConfig: { browser: { enabled: true } } }, ); expect(merged.output?.target).not.toBe('node'); @@ -531,10 +534,10 @@ describe('federation()', () => { expect(options!.runtimePlugins).toBe(undefined); }); - it('lets an explicit node target win over the rstest-browser caller', () => { + it('lets an explicit node target win over detected Browser Mode', () => { const { merged, rspackConfig } = applyFederationPlugin( federation({ name: 'forced_node_app' }, { target: 'node' }), - { callerName: 'rstest-browser' }, + { rstestConfig: { browser: { enabled: true } } }, ); expect(merged.output?.target).toBe('node'); diff --git a/packages/rstest/src/plugin.ts b/packages/rstest/src/plugin.ts index 853acb96f88..e2a2efd7614 100644 --- a/packages/rstest/src/plugin.ts +++ b/packages/rstest/src/plugin.ts @@ -1,5 +1,6 @@ import type { EnvironmentConfig, RsbuildPlugin, Rspack } from '@rsbuild/core'; import { ModuleFederationPlugin } from '@module-federation/enhanced/rspack'; +import type { RstestExposeAPI } from '@rstest/core'; import { createFederationExternalBypass } from './externals-bypass'; import { logger } from './logger'; @@ -14,15 +15,7 @@ import type { ModuleFederationOptions, RstestFederationOptions } from './types'; */ export const FEDERATION_PLUGIN_NAME = 'rstest:federation'; -// `callerName` values rstest sets on the Rsbuild instances it creates. -const RSTEST_NODE_CALLER = 'rstest'; -const RSTEST_BROWSER_CALLER = 'rstest-browser'; - -type RstestExposeAPI = { - modifyRstestConfig: ( - callback: (config: { federation?: boolean }) => void, - ) => void; -}; +const RSTEST_CALLER = 'rstest'; const toArray = (value: T | T[] | undefined): T[] => { if (value == null) { @@ -101,28 +94,26 @@ export const federation = ( name: FEDERATION_PLUGIN_NAME, setup: (api) => { const { callerName } = api.context; - if ( - callerName !== RSTEST_NODE_CALLER && - callerName !== RSTEST_BROWSER_CALLER - ) { + if (callerName !== RSTEST_CALLER) { logger.warn( `This plugin is designed to run under rstest, but the current caller is "${callerName}". Federation test defaults may not fit this environment.`, ); } - // Browser-mode rstest builds identify themselves via callerName; use it - // to pick the default target. An explicit rstestOptions.target wins. + const rstestApi = api.useExposed('rstest'); + const isBrowserMode = + rstestApi?.getRstestConfig().browser?.enabled === true; + + // Rstest exposes the resolved config for both Node Mode and Browser Mode. + // An explicit rstestOptions.target wins over the detected mode. const target = - rstestOptions?.target ?? - (callerName === RSTEST_BROWSER_CALLER ? 'browser' : 'node'); + rstestOptions?.target ?? (isBrowserMode ? 'browser' : 'node'); const isNodeTarget = target === 'node'; if (isNodeTarget) { - api - .useExposed('rstest') - ?.modifyRstestConfig((config) => { - config.federation = true; - }); + rstestApi?.modifyRstestConfig((config) => { + config.federation = true; + }); } api.modifyEnvironmentConfig({ From e620fdde118dc00735ec5e3ad26111e4c6cff751 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 29 Jul 2026 00:29:05 +0000 Subject: [PATCH 09/14] refactor(rstest): simplify browser mode integration --- .../en/integrations/build-tool/rstest.mdx | 23 +++---- packages/rstest/README.md | 66 +++++++++---------- packages/rstest/src/plugin.ts | 2 +- 3 files changed, 45 insertions(+), 46 deletions(-) diff --git a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx index 9a9d44eff89..39c4d8fac0a 100644 --- a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx +++ b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx @@ -94,30 +94,31 @@ Standard URL remotes and `commonjs ...` path remotes work without setting ### Browser Mode -Pass `{ target: 'browser' }` as the second argument when using the plugin for -Rstest browser mode: +Rstest browser mode is detected automatically from its resolved +`browser.enabled` configuration: ```ts title='rstest.config.ts' import { federation } from '@module-federation/rstest'; import { defineConfig } from '@rstest/core'; export default defineConfig({ + browser: { + enabled: true, + }, plugins: [ - federation( - { - name: 'browser_host', - remotes: { - app2: 'app2@http://localhost:3001/remoteEntry.js', - }, + federation({ + name: 'browser_host', + remotes: { + app2: 'app2@http://localhost:3001/remoteEntry.js', }, - { target: 'browser' }, - ), + }), ], }); ``` Browser mode keeps browser build defaults and only enables -`experiments.asyncStartup`. +`experiments.asyncStartup`. Pass an explicit `target` only to override the +detected mode. ## Configuration diff --git a/packages/rstest/README.md b/packages/rstest/README.md index 81bce99edd0..a4a27604c92 100644 --- a/packages/rstest/README.md +++ b/packages/rstest/README.md @@ -1,33 +1,21 @@ # @module-federation/rstest -This package contains the `federation()` Rsbuild plugin used by Rstest to enable -Module Federation compatibility mode for Node test environments -(JSDOM / Node workers) and browser mode. +Module Federation integration for Rstest Node, JSDOM, and browser test +environments. -It is the companion plugin for [Rstest](https://rstest.rs)'s federation mode, -owned and versioned alongside the rest of the Module Federation tooling. +## Installation -## Required @rstest/core version +```bash +npm install --save-dev @module-federation/rstest @rstest/core +``` Use `@rstest/core@0.11.4` or newer. That release includes Rstest's federation support ([web-infra-dev/rstest#1407](https://github.com/web-infra-dev/rstest/pull/1407)). -For Node test environments, this plugin automatically enables Rstest's -federation compatibility mode. Do not set `federation: true` in -`rstest.config.*`; the plugin applies it through Rstest's exposed configuration -API when the test build targets Node. - -## Stable plugin name - -The plugin registers itself with the Rsbuild plugin name `rstest:federation` -(exported as `FEDERATION_PLUGIN_NAME`). This name is a stable, public contract: -rstest may detect the plugin by this name to enable federation-specific -behavior. It will not be renamed without a major version bump. - ## Usage -### Node/JSDOM test environments (default) +### Node and JSDOM ```ts import { federation } from '@module-federation/rstest'; @@ -49,8 +37,11 @@ export default defineConfig({ }); ``` -By default, `federation()` applies Node-safe Module Federation settings and -enables Rstest federation mode automatically: +For Node test environments, the plugin enables Rstest's federation +compatibility mode automatically. Do not also set `federation: true` in +`rstest.config.*`. + +The plugin applies these Node defaults: - `target: async-node` - `experiments.asyncStartup = true` @@ -60,29 +51,36 @@ enables Rstest federation mode automatically: - Remote transport is inferred from each remote declaration, so standard URL remotes and `commonjs ...` path remotes work without setting `remoteType` -Keep `federation: true` out of `rstest.config.*`. Setting it manually is only -needed when using Module Federation without this plugin. - -### Browser mode +### Browser Mode ```ts import { federation } from '@module-federation/rstest'; import { defineConfig } from '@rstest/core'; export default defineConfig({ + browser: { + enabled: true, + }, plugins: [ - federation( - { - name: 'browser_host', - remotes: { - app2: 'app2@http://localhost:3001/remoteEntry.js', - }, + federation({ + name: 'browser_host', + remotes: { + app2: 'app2@http://localhost:3001/remoteEntry.js', }, - { target: 'browser' }, - ), + }), ], }); ``` -In browser target mode, node-only defaults are not applied. +Browser Mode is detected from Rstest's resolved `browser.enabled` +configuration. In browser target mode, node-only defaults are not applied. `experiments.asyncStartup` remains enabled. + +The plugin name is `rstest:federation`, exported as +`FEDERATION_PLUGIN_NAME`. + +## Documentation + +See the +[Rstest integration guide](https://module-federation.io/integrations/build-tool/rstest) +for configuration details. diff --git a/packages/rstest/src/plugin.ts b/packages/rstest/src/plugin.ts index e2a2efd7614..1f4c56a19cb 100644 --- a/packages/rstest/src/plugin.ts +++ b/packages/rstest/src/plugin.ts @@ -53,7 +53,7 @@ const createRspackPatcher = ( createFederationExternalBypass(() => { remoteNames ??= collectRemoteNames( moduleFederationOptions?.remotes, - rspackConfig.plugins as unknown[] | undefined, + rspackConfig.plugins, ); return remoteNames; }), From 87d879e8102098bad93801be7af4a12a89d13b68 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 29 Jul 2026 20:21:15 +0000 Subject: [PATCH 10/14] fix(rstest): harden federation compatibility --- .eslintrc.json | 2 +- .../en/integrations/build-tool/rstest.mdx | 34 ++- packages/rsbuild-plugin/src/utils/ssr.ts | 11 +- packages/rstest/README.md | 15 +- packages/rstest/package.json | 10 +- packages/rstest/rslib.config.ts | 10 + packages/rstest/src/compiler.test.ts | 113 ++++++++ packages/rstest/src/index.test.ts | 255 +++++++++++++----- packages/rstest/src/node-defaults.ts | 17 +- packages/rstest/src/plugin.ts | 41 ++- packages/rstest/src/remotes.test.ts | 40 +-- packages/rstest/src/remotes.ts | 115 +++----- packages/rstest/tests/consumer/index.cts | 6 + packages/rstest/tests/consumer/index.mts | 10 + packages/rstest/tests/consumer/tsconfig.json | 12 + .../tests/integration/dynamic-remote.test.ts | 7 + .../tests/integration/remote-import.test.ts | 6 + .../tests/integration/remote/build-remote.ts | 92 +++++++ .../rstest/tests/integration/remote/entry.js | 1 + .../rstest/tests/integration/remote/value.js | 1 + .../rstest/tests/integration/rstest.config.ts | 32 +++ pnpm-lock.yaml | 3 + tools/fixtures/node20-compat/package.json | 3 +- .../node20-compat/rstest-consumer.cts | 5 + .../node20-compat/rstest-consumer.mts | 10 + tools/fixtures/node20-compat/smoke-cjs.cjs | 1 + tools/fixtures/node20-compat/smoke-esm.mjs | 1 + .../tsconfig.rstest-nodenext.json | 12 + tools/scripts/verify-node20-compat.mjs | 5 + 29 files changed, 680 insertions(+), 190 deletions(-) create mode 100644 packages/rstest/src/compiler.test.ts create mode 100644 packages/rstest/tests/consumer/index.cts create mode 100644 packages/rstest/tests/consumer/index.mts create mode 100644 packages/rstest/tests/consumer/tsconfig.json create mode 100644 packages/rstest/tests/integration/dynamic-remote.test.ts create mode 100644 packages/rstest/tests/integration/remote-import.test.ts create mode 100644 packages/rstest/tests/integration/remote/build-remote.ts create mode 100644 packages/rstest/tests/integration/remote/entry.js create mode 100644 packages/rstest/tests/integration/remote/value.js create mode 100644 packages/rstest/tests/integration/rstest.config.ts create mode 100644 tools/fixtures/node20-compat/rstest-consumer.cts create mode 100644 tools/fixtures/node20-compat/rstest-consumer.mts create mode 100644 tools/fixtures/node20-compat/tsconfig.rstest-nodenext.json diff --git a/.eslintrc.json b/.eslintrc.json index 51e0f4f3ce4..4b1c04dec46 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -2,7 +2,7 @@ "root": true, "overrides": [ { - "files": ["*.ts", "*.tsx"], + "files": ["*.ts", "*.tsx", "*.mts", "*.cts"], "extends": ["plugin:@typescript-eslint/recommended"], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": 2020, "sourceType": "module" }, diff --git a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx index 39c4d8fac0a..1eff880a33f 100644 --- a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx +++ b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx @@ -75,6 +75,30 @@ Run your tests with Rstest as usual: npx rstest run ``` +## Test a Federated Remote + +Build or start the remote in Rstest's `globalSetup`, then import exposed modules +the same way application code does: + +```ts title='remote.test.ts' +import { expect, it } from '@rstest/core'; +import Button from 'component-app/Button'; + +it('loads a remote through a static import', () => { + expect(Button).toBeDefined(); +}); + +it('loads a remote through a dynamic import', async () => { + const remote = await import('component-app/Button'); + expect(remote.default).toBeDefined(); +}); +``` + +The official +[Rstest federation example](https://github.com/web-infra-dev/rstest/tree/v0.11.4/examples/federation) +combines an HTTP component remote with a locally built `commonjs ...` remote +and runs both Node and JSDOM projects. + ## How It Works ### Node Test Defaults @@ -87,16 +111,19 @@ that match the Node runtime: - CommonJS container output - `@module-federation/node/runtimePlugin` - Node-targeted federation optimization -- Remote transport inferred from each remote declaration +- Script remote transport by default -Standard URL remotes and `commonjs ...` path remotes work without setting -`remoteType`. +Standard URL remotes use `remoteType: 'script'`. Inline transport prefixes such +as `commonjs ...` override that default. ### Browser Mode Rstest browser mode is detected automatically from its resolved `browser.enabled` configuration: +Install `@rstest/browser` and a Playwright browser first. See +[Rstest's Browser Mode setup](https://rstest.rs/guide/browser-testing/getting-started). + ```ts title='rstest.config.ts' import { federation } from '@module-federation/rstest'; import { defineConfig } from '@rstest/core'; @@ -104,6 +131,7 @@ import { defineConfig } from '@rstest/core'; export default defineConfig({ browser: { enabled: true, + provider: 'playwright', }, plugins: [ federation({ diff --git a/packages/rsbuild-plugin/src/utils/ssr.ts b/packages/rsbuild-plugin/src/utils/ssr.ts index 78a5785b7cb..14258d4bcd1 100644 --- a/packages/rsbuild-plugin/src/utils/ssr.ts +++ b/packages/rsbuild-plugin/src/utils/ssr.ts @@ -188,13 +188,10 @@ export function createSSRREnvConfig( * Node-target MF defaults for Rsbuild SSR builds. * * `@module-federation/rstest` has a sibling helper (`withNodeDefaults` in - * packages/rstest/src/node-defaults.ts) with deliberately different policy: - * SSR bundles run behind a real server, so remotes are fetched as scripts - * (`remoteType: 'script'`) and the container keeps whatever library name the - * bundler derives. Rstest executes containers inside Node test workers, so it - * infers the transport from each remote declaration instead of forcing - * `remoteType`, and forces `library.name` to the container name so the worker - * can resolve it. Keep divergence between the two intentional and documented. + * packages/rstest/src/node-defaults.ts). Both default remotes to script + * transport and container output to CommonJS. Rstest additionally forces + * `library.name` to the container name so test workers can resolve it; Rsbuild + * keeps the bundler-derived name. */ export function patchNodeMFConfig( mfConfig: moduleFederationPlugin.ModuleFederationPluginOptions, diff --git a/packages/rstest/README.md b/packages/rstest/README.md index a4a27604c92..21dda680e34 100644 --- a/packages/rstest/README.md +++ b/packages/rstest/README.md @@ -48,11 +48,14 @@ The plugin applies these Node defaults: - CommonJS library output (`library.type = 'commonjs-module'`) - Node runtime plugin (`@module-federation/node/runtimePlugin`) - `experiments.optimization.target = 'node'` -- Remote transport is inferred from each remote declaration, so standard URL - remotes and `commonjs ...` path remotes work without setting `remoteType` +- Script remote transport (`remoteType = 'script'`); inline prefixes such as + `commonjs ...` still override the default ### Browser Mode +Install `@rstest/browser` and a Playwright browser before enabling Browser +Mode. See [Rstest's Browser Mode setup](https://rstest.rs/guide/browser-testing/getting-started). + ```ts import { federation } from '@module-federation/rstest'; import { defineConfig } from '@rstest/core'; @@ -60,6 +63,7 @@ import { defineConfig } from '@rstest/core'; export default defineConfig({ browser: { enabled: true, + provider: 'playwright', }, plugins: [ federation({ @@ -79,6 +83,13 @@ configuration. In browser target mode, node-only defaults are not applied. The plugin name is `rstest:federation`, exported as `FEDERATION_PLUGIN_NAME`. +## Real-world Example + +Rstest's +[federation example](https://github.com/web-infra-dev/rstest/tree/v0.11.4/examples/federation) +tests an HTTP component remote and a locally built CommonJS remote from Node +and JSDOM projects. It covers both static and dynamic remote imports. + ## Documentation See the diff --git a/packages/rstest/package.json b/packages/rstest/package.json index b624a35832b..e6b85bb0a3b 100644 --- a/packages/rstest/package.json +++ b/packages/rstest/package.json @@ -35,11 +35,15 @@ ], "scripts": { "build": "rslib build", - "lint": "ESLINT_USE_FLAT_CONFIG=false pnpm exec eslint --ignore-pattern node_modules \"**/*.ts\" \"package.json\"", - "test": "pnpm exec rstest run -c rstest.config.ts", - "pre-release": "pnpm run test && pnpm run build" + "lint": "ESLINT_USE_FLAT_CONFIG=false pnpm exec eslint --ignore-pattern node_modules \"**/*.{ts,mts,cts}\" \"package.json\"", + "test": "pnpm run build && pnpm run test:unit && pnpm run test:consumer && pnpm run test:integration", + "test:unit": "pnpm exec rstest run -c rstest.config.ts", + "test:consumer": "pnpm exec tsc -p tests/consumer/tsconfig.json", + "test:integration": "pnpm exec rstest run -c tests/integration/rstest.config.ts", + "pre-release": "pnpm run test" }, "devDependencies": { + "@module-federation/rsbuild-plugin": "workspace:*", "@rslib/core": "^0.23.2", "@rsbuild/core": "2.1.4", "@rstest/core": "^0.11.4" diff --git a/packages/rstest/rslib.config.ts b/packages/rstest/rslib.config.ts index 1699f219785..88bd4fa7101 100644 --- a/packages/rstest/rslib.config.ts +++ b/packages/rstest/rslib.config.ts @@ -12,6 +12,11 @@ export default defineConfig({ autoExtension: true, distPath: './dist', }, + redirect: { + dts: { + extension: true, + }, + }, }, { format: 'cjs', @@ -21,6 +26,11 @@ export default defineConfig({ autoExtension: true, distPath: './dist', }, + redirect: { + dts: { + extension: true, + }, + }, }, ], source: { diff --git a/packages/rstest/src/compiler.test.ts b/packages/rstest/src/compiler.test.ts new file mode 100644 index 00000000000..ea5a723b8ed --- /dev/null +++ b/packages/rstest/src/compiler.test.ts @@ -0,0 +1,113 @@ +import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises'; +import { tmpdir } from 'node:os'; +import path from 'node:path'; +import { ModuleFederationPlugin } from '@module-federation/enhanced/rspack'; +import { afterEach, describe, expect, it } from '@rstest/core'; +import { rspack, type Rspack } from '@rsbuild/core'; + +import { withNodeDefaults } from './node-defaults'; +import { applyNodeRspackDefaults } from './rspack-hook'; + +type StatsModule = { + identifier?: string; + modules?: StatsModule[]; +}; + +const tempDirectories: string[] = []; + +afterEach(async () => { + await Promise.all( + tempDirectories.splice(0).map((directory) => + rm(directory, { + force: true, + recursive: true, + }), + ), + ); +}); + +const collectModuleIdentifiers = (modules: StatsModule[]): string[] => + modules.flatMap((module) => [ + ...(module.identifier ? [module.identifier] : []), + ...collectModuleIdentifiers(module.modules ?? []), + ]); + +const compileRemote = async (remote: string): Promise => { + const context = await mkdtemp(path.join(tmpdir(), 'rstest-federation-')); + tempDirectories.push(context); + + await mkdir(path.join(context, 'src')); + await writeFile( + path.join(context, 'src/index.js'), + "import('remote/Button');\n", + ); + + const rspackConfig: Rspack.Configuration = { + context, + entry: './src/index.js', + mode: 'development', + output: { + filename: 'main.js', + path: path.join(context, 'dist'), + }, + plugins: [ + new ModuleFederationPlugin( + withNodeDefaults({ + name: 'host', + remotes: { remote }, + }), + ), + ], + }; + applyNodeRspackDefaults(rspackConfig); + + const compiler = rspack(rspackConfig); + + let stats: Rspack.Stats; + try { + stats = await new Promise((resolve, reject) => { + compiler.run((error, result) => { + if (error) { + reject(error); + } else if (!result) { + reject(new Error('Rspack completed without stats.')); + } else { + resolve(result); + } + }); + }); + } finally { + await new Promise((resolve, reject) => { + compiler.close((error) => (error ? reject(error) : resolve())); + }); + } + + const result = stats.toJson({ + all: false, + errors: true, + modules: true, + nestedModules: true, + }); + expect(result.errors).toEqual([]); + + return collectModuleIdentifiers(result.modules ?? []); +}; + +describe('node remote transport', () => { + it('compiles URL remotes as script externals', async () => { + const identifiers = await compileRemote( + 'remote@http://localhost:3001/remoteEntry.js', + ); + + expect(identifiers).toContain( + 'external script "remote@http://localhost:3001/remoteEntry.js"', + ); + }); + + it('preserves inline CommonJS remote declarations', async () => { + const remotePath = './rstest-remote-entry.cjs'; + const identifiers = await compileRemote(`commonjs ${remotePath}`); + + expect(identifiers).toContain(`external commonjs "${remotePath}"`); + }); +}); diff --git a/packages/rstest/src/index.test.ts b/packages/rstest/src/index.test.ts index c14c55cf2cc..c4f25be5c38 100644 --- a/packages/rstest/src/index.test.ts +++ b/packages/rstest/src/index.test.ts @@ -1,4 +1,8 @@ import { createRequire } from 'node:module'; +import { + ModuleFederationPlugin, + PLUGIN_NAME, +} from '@module-federation/enhanced/rspack'; import { describe, expect, it } from '@rstest/core'; import type { EnvironmentConfig, @@ -36,6 +40,17 @@ type EnvHookDescriptor = | EnvHook | { handler: EnvHook; order?: 'pre' | 'post' | 'default' }; +type BeforeCreateCompilerHook = (args: { + bundlerConfigs?: Rspack.Configuration[]; +}) => void; + +type BeforeCreateCompilerHookDescriptor = + | BeforeCreateCompilerHook + | { + handler: BeforeCreateCompilerHook; + order?: 'pre' | 'post' | 'default'; + }; + // Loose rspack-config shape for tests: real Rspack.Configuration rejects the // fake plugin objects the tests construct, so the cast to the real type // happens once, at the hook boundary in runRspackHooks. @@ -72,9 +87,8 @@ const callExternal = (fn: ExternalFunction, request: string): unknown => { // plugin. `_options` is the private field of ModuleFederationPlugin; the // tests read it the same way `remotes.ts` does. type ModuleFederationPluginInstance = { - constructor?: { name?: string }; + name?: string; _options?: ModuleFederationOptions; - options?: ModuleFederationOptions; }; const shallowMergeEnvironmentConfig: MergeEnvironmentConfig = (...configs) => @@ -85,11 +99,11 @@ const getFederationPluginOptions = ( ): ModuleFederationOptions => { const plugin = (plugins ?? []).find( (item): item is ModuleFederationPluginInstance => - (item as ModuleFederationPluginInstance | undefined)?.constructor - ?.name === 'ModuleFederationPlugin', + (item as ModuleFederationPluginInstance | undefined)?.name === + PLUGIN_NAME, ); expect(plugin).toBeTruthy(); - const options = plugin!._options ?? plugin!.options; + const options = plugin!._options; expect(options).toBeTruthy(); return options!; }; @@ -99,7 +113,15 @@ const setupFederationPlugin = ( plugin: FederationPlugin, callerName = 'rstest', rstestConfig: TestRstestConfig = {}, -): { envHook: EnvHook; order: unknown; rstestConfig: TestRstestConfig } => { +): { + beforeCreateCompilerHook: BeforeCreateCompilerHook | undefined; + beforeCreateCompilerOrder: unknown; + envHook: EnvHook; + order: unknown; + rstestConfig: TestRstestConfig; +} => { + let beforeCreateCompilerHook: BeforeCreateCompilerHook | undefined; + let beforeCreateCompilerOrder: unknown; let envHook: EnvHook | undefined; let order: unknown; @@ -122,12 +144,26 @@ const setupFederationPlugin = ( order = hook.order; } }, + onBeforeCreateCompiler: (hook: BeforeCreateCompilerHookDescriptor) => { + if (typeof hook === 'function') { + beforeCreateCompilerHook = hook; + } else { + beforeCreateCompilerHook = hook.handler; + beforeCreateCompilerOrder = hook.order; + } + }, }; plugin.setup(fakeApi as unknown as RsbuildPluginAPI); expect(typeof envHook).toBe('function'); - return { envHook: envHook!, order, rstestConfig }; + return { + beforeCreateCompilerHook, + beforeCreateCompilerOrder, + envHook: envHook!, + order, + rstestConfig, + }; }; const runRspackHooks = ( @@ -154,20 +190,30 @@ const applyFederationPlugin = ( callerName = 'rstest', config = {}, mergeEnvironmentConfig = shallowMergeEnvironmentConfig, + latePlugins = [], rspackConfig = { output: {}, plugins: [] }, rstestConfig = {}, }: { callerName?: string; config?: EnvironmentConfig; + latePlugins?: unknown[]; mergeEnvironmentConfig?: MergeEnvironmentConfig; rspackConfig?: TestRspackConfig; rstestConfig?: TestRstestConfig; } = {}, ) => { - const { envHook } = setupFederationPlugin(plugin, callerName, rstestConfig); + const { beforeCreateCompilerHook, envHook } = setupFederationPlugin( + plugin, + callerName, + rstestConfig, + ); const merged = envHook(config, { mergeEnvironmentConfig }); runRspackHooks(merged, rspackConfig); + rspackConfig.plugins?.push(...latePlugins); + beforeCreateCompilerHook?.({ + bundlerConfigs: [rspackConfig as Rspack.Configuration], + }); return { merged, rspackConfig }; }; @@ -256,6 +302,11 @@ describe('federation()', () => { expect(order).toBe('post'); }); + it('normalizes existing federation plugins after compiler setup hooks', () => { + const { beforeCreateCompilerOrder } = setupFederationPlugin(federation()); + expect(beforeCreateCompilerOrder).toBe('post'); + }); + it('enables Rstest federation compatibility for node targets', () => { const { rstestConfig } = setupFederationPlugin(federation()); @@ -286,20 +337,18 @@ describe('federation()', () => { output: {}, externals: ['react'], plugins: [ - { - constructor: { name: 'ModuleFederationPlugin' }, - _options: { - remotes: { - 'component-app': - 'component_app@http://localhost:3001/remoteEntry.js', - }, - experiments: { - optimization: { - target: 'node', - }, + new ModuleFederationPlugin({ + name: 'existing_host', + remotes: { + 'component-app': + 'component_app@http://localhost:3001/remoteEntry.js', + }, + experiments: { + optimization: { + target: 'node', }, }, - }, + }), ], }, }); @@ -310,26 +359,108 @@ describe('federation()', () => { }); it('discovers federation remotes registered after rspack config patching', () => { + const originalOptions: ModuleFederationOptions = { + name: 'existing_host', + remotes: { + 'component-app': 'component_app@http://localhost:3001/remoteEntry.js', + }, + }; + const existingPlugin = new ModuleFederationPlugin(originalOptions); const { rspackConfig } = applyFederationPlugin(federation(), { rspackConfig: { output: {}, externals: ['react'], plugins: [], }, + latePlugins: [existingPlugin], }); - rspackConfig.plugins?.push({ - constructor: { name: 'ModuleFederationPlugin' }, - _options: { - remotes: { - 'component-app': 'component_app@http://localhost:3001/remoteEntry.js', - }, - }, - }); + expect(rspackConfig.plugins).toContain(existingPlugin); + expect(originalOptions.remoteType).toBeUndefined(); const bypass = getExternalBypass(rspackConfig); expect(callExternal(bypass, 'component-app/Button')).toBe(false); expect(callExternal(bypass, 'react')).toBe(undefined); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options.remoteType).toBe('script'); + expect(options.library).toEqual({ + name: 'existing_host', + type: 'commonjs-module', + }); + expect(options.runtimePlugins).toEqual([NODE_RUNTIME_PLUGIN]); + expect(options.experiments?.asyncStartup).toBe(true); + expect(options.experiments?.optimization?.target).toBe('node'); + }); + + it('does not normalize federation plugins from unpatched environments', () => { + const { beforeCreateCompilerHook, envHook } = + setupFederationPlugin(federation()); + const merged = envHook( + {}, + { mergeEnvironmentConfig: shallowMergeEnvironmentConfig }, + ); + const patchedConfig: TestRspackConfig = { output: {}, plugins: [] }; + runRspackHooks(merged, patchedConfig); + + const unpatchedConfig: TestRspackConfig = { + plugins: [new ModuleFederationPlugin({ name: 'other_environment' })], + }; + beforeCreateCompilerHook?.({ + bundlerConfigs: [ + patchedConfig as Rspack.Configuration, + unpatchedConfig as Rspack.Configuration, + ], + }); + + const options = getFederationPluginOptions(unpatchedConfig.plugins); + expect(options.remoteType).toBeUndefined(); + expect(options.library).toBeUndefined(); + }); + + it('applies browser defaults to an existing federation plugin', () => { + const { rspackConfig } = applyFederationPlugin(federation(), { + latePlugins: [ + new ModuleFederationPlugin({ name: 'existing_browser_host' }), + ], + rstestConfig: { + browser: { enabled: true }, + }, + }); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options.dts).toBe(false); + expect(options.manifest).toBe(false); + expect(options.dev).toBe(false); + expect(options.experiments?.asyncStartup).toBe(true); + expect(options.remoteType).toBeUndefined(); + expect(options.library).toBeUndefined(); + expect(options.runtimePlugins).toBeUndefined(); + }); + + it('does not register late normalization for direct options', () => { + const { beforeCreateCompilerHook } = setupFederationPlugin( + federation({ name: 'direct_host' }), + ); + + expect(beforeCreateCompilerHook).toBeUndefined(); + }); + + it('does not treat an existing runtime plugin as manual configuration', () => { + const warnings = captureWarnings(() => { + applyFederationPlugin(federation(), { + latePlugins: [ + new ModuleFederationPlugin({ + name: 'existing_node_host', + runtimePlugins: [NODE_RUNTIME_PLUGIN], + }), + ], + }); + }); + + expect(warnings.join('\n')).not.toContain( + 'manual configuration is unnecessary', + ); }); it('auto-applies ModuleFederationPlugin with node defaults', () => { @@ -351,13 +482,13 @@ describe('federation()', () => { expect(rspackConfig.output?.module).toBe(false); const options = getFederationPluginOptions(rspackConfig.plugins); - expect(options!.name).toBe('main_app_web'); - expect(options!.library?.type).toBe('commonjs-module'); - expect(options!.library?.name).toBe('main_app_web'); - expect(options!.remoteType).toBe(undefined); - expect(options!.runtimePlugins).toEqual([NODE_RUNTIME_PLUGIN]); - expect(options!.experiments?.asyncStartup).toBe(true); - expect(options!.experiments?.optimization?.target).toBe('node'); + expect(options.name).toBe('main_app_web'); + expect(options.library?.type).toBe('commonjs-module'); + expect(options.library?.name).toBe('main_app_web'); + expect(options.remoteType).toBe('script'); + expect(options.runtimePlugins).toEqual([NODE_RUNTIME_PLUGIN]); + expect(options.experiments?.asyncStartup).toBe(true); + expect(options.experiments?.optimization?.target).toBe('node'); }); it('disables dts, manifest, and dev machinery by default', () => { @@ -366,9 +497,9 @@ describe('federation()', () => { ); const options = getFederationPluginOptions(rspackConfig.plugins); - expect(options!.dts).toBe(false); - expect(options!.manifest).toBe(false); - expect(options!.dev).toBe(false); + expect(options.dts).toBe(false); + expect(options.manifest).toBe(false); + expect(options.dev).toBe(false); }); it('disables dts, manifest, and dev by default for browser target too', () => { @@ -377,9 +508,9 @@ describe('federation()', () => { ); const options = getFederationPluginOptions(rspackConfig.plugins); - expect(options!.dts).toBe(false); - expect(options!.manifest).toBe(false); - expect(options!.dev).toBe(false); + expect(options.dts).toBe(false); + expect(options.manifest).toBe(false); + expect(options.dev).toBe(false); }); it('preserves explicit dts, manifest, and dev values', () => { @@ -393,9 +524,9 @@ describe('federation()', () => { ); const options = getFederationPluginOptions(rspackConfig.plugins); - expect(options!.dts).toBe(true); - expect(options!.manifest).toEqual({ filePath: 'custom' }); - expect(options!.dev).toBe(true); + expect(options.dts).toBe(true); + expect(options.manifest).toEqual({ filePath: 'custom' }); + expect(options.dev).toBe(true); }); it('preserves user overrides while still injecting node runtime plugin', () => { @@ -530,8 +661,8 @@ describe('federation()', () => { expect(rspackConfig.output?.module).toBe(undefined); const options = getFederationPluginOptions(rspackConfig.plugins); - expect(options!.library).toBe(undefined); - expect(options!.runtimePlugins).toBe(undefined); + expect(options.library).toBe(undefined); + expect(options.runtimePlugins).toBe(undefined); }); it('lets an explicit node target win over detected Browser Mode', () => { @@ -567,13 +698,13 @@ describe('federation()', () => { expect(rspackConfig.output?.module).toBe(undefined); const options = getFederationPluginOptions(rspackConfig.plugins); - expect(options!.remoteType).toBe(undefined); - expect(options!.library).toBe(undefined); - expect(options!.runtimePlugins).toBe(undefined); - expect(options!.experiments?.asyncStartup).toBe(true); + expect(options.remoteType).toBe(undefined); + expect(options.library).toBe(undefined); + expect(options.runtimePlugins).toBe(undefined); + expect(options.experiments?.asyncStartup).toBe(true); }); - it('does not force remoteType when remotes are configured', () => { + it('defaults node remote transport to script', () => { const { rspackConfig } = applyFederationPlugin( federation({ name: 'prefixed_commonjs_remote', @@ -584,10 +715,10 @@ describe('federation()', () => { ); const options = getFederationPluginOptions(rspackConfig.plugins); - expect(options!.remoteType).toBe(undefined); + expect(options.remoteType).toBe('script'); }); - it('does not force remoteType when no remotes are configured', () => { + it('sets the node remote transport default without configured remotes', () => { const { rspackConfig } = applyFederationPlugin( federation({ name: 'no_remotes', @@ -598,7 +729,7 @@ describe('federation()', () => { ); const options = getFederationPluginOptions(rspackConfig.plugins); - expect(options!.remoteType).toBe(undefined); + expect(options.remoteType).toBe('script'); }); it('collects remote names from string remotes (mf-manifest) and bypasses externals', () => { @@ -607,17 +738,15 @@ describe('federation()', () => { output: {}, externals: [], plugins: [ - { - constructor: { name: 'ModuleFederationPlugin' }, - _options: { - remotes: ['component-app@http://localhost:3001/mf-manifest.json'], - experiments: { - optimization: { - target: 'node', - }, + new ModuleFederationPlugin({ + name: 'manifest_host', + remotes: ['component-app@http://localhost:3001/mf-manifest.json'], + experiments: { + optimization: { + target: 'node', }, }, - }, + }), ], }, }); diff --git a/packages/rstest/src/node-defaults.ts b/packages/rstest/src/node-defaults.ts index 5632c79e32c..48e9468f8e3 100644 --- a/packages/rstest/src/node-defaults.ts +++ b/packages/rstest/src/node-defaults.ts @@ -31,21 +31,23 @@ export const withRstestDefaults = ( * * `@module-federation/rsbuild-plugin` has a sibling helper * (`patchNodeMFConfig` in packages/rsbuild-plugin/src/utils/ssr.ts) with - * deliberately different policy: SSR bundles fetch remotes as scripts - * (`remoteType: 'script'`) and keep the bundler-derived library name. Test - * workers instead infer the transport from each remote declaration (so - * `remoteType` is never forced) and require `library.name` to equal the - * container name so the container is resolvable inside the worker. Keep - * divergence between the two intentional and documented. + * the same script transport default. Test workers additionally require + * `library.name` to equal the container name so the container is resolvable + * inside the worker. */ export const withNodeDefaults = ( options: ModuleFederationOptions, + { + warnOnConfiguredRuntimePlugin = true, + }: { + warnOnConfiguredRuntimePlugin?: boolean; + } = {}, ): ModuleFederationOptions => { const merged = withRstestDefaults(options); const { runtimePlugins, hasConfiguredNodeRuntimePlugin } = normalizeRuntimePlugins(merged.runtimePlugins); - if (hasConfiguredNodeRuntimePlugin) { + if (hasConfiguredNodeRuntimePlugin && warnOnConfiguredRuntimePlugin) { logger.warn( 'The node runtime plugin is injected automatically; manual configuration is unnecessary.', ); @@ -66,6 +68,7 @@ export const withNodeDefaults = ( return { ...merged, + remoteType: merged.remoteType ?? 'script', library: { ...merged.library, name: merged.name, diff --git a/packages/rstest/src/plugin.ts b/packages/rstest/src/plugin.ts index 1f4c56a19cb..98bd01ed22d 100644 --- a/packages/rstest/src/plugin.ts +++ b/packages/rstest/src/plugin.ts @@ -5,7 +5,10 @@ import type { RstestExposeAPI } from '@rstest/core'; import { createFederationExternalBypass } from './externals-bypass'; import { logger } from './logger'; import { withNodeDefaults, withRstestDefaults } from './node-defaults'; -import { collectRemoteNames } from './remotes'; +import { + applyDefaultsToFederationPlugins, + collectRemoteNames, +} from './remotes'; import { appendRspackHook, applyNodeRspackDefaults } from './rspack-hook'; import type { ModuleFederationOptions, RstestFederationOptions } from './types'; @@ -22,14 +25,16 @@ const toArray = (value: T | T[] | undefined): T[] => { return []; } - return Array.isArray(value) ? [...value] : [value]; + return Array.isArray(value) ? value : [value]; }; const createRspackPatcher = ( moduleFederationOptions: ModuleFederationOptions | undefined, isNodeTarget: boolean, + patchedRspackConfigs: WeakSet, ) => { return (rspackConfig: Rspack.Configuration): void => { + patchedRspackConfigs.add(rspackConfig); rspackConfig.output ||= {}; rspackConfig.plugins ||= []; @@ -109,6 +114,7 @@ export const federation = ( const target = rstestOptions?.target ?? (isBrowserMode ? 'browser' : 'node'); const isNodeTarget = target === 'node'; + const patchedRspackConfigs = new WeakSet(); if (isNodeTarget) { rstestApi?.modifyRstestConfig((config) => { @@ -116,6 +122,31 @@ export const federation = ( }); } + if (!moduleFederationOptions) { + const normalizeOptions = isNodeTarget + ? (options: ModuleFederationOptions) => + withNodeDefaults(options, { + warnOnConfiguredRuntimePlugin: false, + }) + : withRstestDefaults; + + api.onBeforeCreateCompiler({ + order: 'post', + handler: ({ bundlerConfigs }) => { + for (const rspackConfig of bundlerConfigs ?? []) { + if (!patchedRspackConfigs.has(rspackConfig)) { + continue; + } + + applyDefaultsToFederationPlugins( + rspackConfig.plugins, + normalizeOptions, + ); + } + }, + }); + } + api.modifyEnvironmentConfig({ // Run after other plugins' hooks so the externals bypass prepended by // the rspack patcher stays ahead of externals added by other plugins. @@ -131,7 +162,11 @@ export const federation = ( appendRspackHook( merged, - createRspackPatcher(moduleFederationOptions, isNodeTarget), + createRspackPatcher( + moduleFederationOptions, + isNodeTarget, + patchedRspackConfigs, + ), ); return merged; diff --git a/packages/rstest/src/remotes.test.ts b/packages/rstest/src/remotes.test.ts index 810b68bfe65..cb17325c938 100644 --- a/packages/rstest/src/remotes.test.ts +++ b/packages/rstest/src/remotes.test.ts @@ -1,3 +1,4 @@ +import { ModuleFederationPlugin } from '@module-federation/enhanced/rspack'; import { describe, expect, it } from '@rstest/core'; import { collectRemoteNames } from './remotes'; @@ -17,15 +18,17 @@ describe('collectRemoteNames', () => { collectRemoteNames([ 'stringRemote@http://localhost:3002/mf-manifest.json', { - name: 'namedRemote', - external: 'namedRemote@http://localhost:3003/remoteEntry.js', + name: 'namedRemote@http://localhost:3003/remoteEntry.js', }, { - alias: 'aliasedRemote', - external: 'aliasedContainer@http://localhost:3004/remoteEntry.js', + alias: 'aliasedContainer@http://localhost:3004/remoteEntry.js', + }, + { + first: 'firstContainer@http://localhost:3005/remoteEntry.js', + second: 'secondContainer@http://localhost:3006/remoteEntry.js', }, ]), - ).toEqual(new Set(['stringRemote', 'namedRemote', 'aliasedRemote'])); + ).toEqual(new Set(['stringRemote', 'name', 'alias', 'first', 'second'])); }); it('parses scoped string remotes as name@entry', () => { @@ -40,37 +43,34 @@ describe('collectRemoteNames', () => { it('collects fallback remote names from plugin options only when provided', () => { expect( collectRemoteNames(undefined, [ - { - constructor: { name: 'ModuleFederationPlugin' }, - _options: { - remotes: { - fallbackRemote: - 'fallbackRemote@http://localhost:3005/remoteEntry.js', - }, + new ModuleFederationPlugin({ + name: 'fallback_host', + remotes: { + fallbackRemote: + 'fallbackRemote@http://localhost:3005/remoteEntry.js', }, - }, + }), ]), ).toEqual(new Set(['fallbackRemote'])); }); - it('duck-types federation plugins whose constructor name differs', () => { + it('ignores similarly shaped non-federation plugins', () => { expect( collectRemoteNames(undefined, [ { - constructor: { name: 'WrappedFederationPlugin' }, - options: { + name: 'WrappedFederationPlugin', + _options: { name: 'wrapped_host', remotes: { duckRemote: 'duckRemote@http://localhost:3006/remoteEntry.js', }, }, }, - // Not federation-shaped: must be ignored. { - constructor: { name: 'SomeOtherPlugin' }, - options: { name: 'not_federation' }, + name: 'SomeOtherPlugin', + _options: { name: 'not_federation' }, }, ]), - ).toEqual(new Set(['duckRemote'])); + ).toEqual(new Set()); }); }); diff --git a/packages/rstest/src/remotes.ts b/packages/rstest/src/remotes.ts index 52c64151c8a..26746c84095 100644 --- a/packages/rstest/src/remotes.ts +++ b/packages/rstest/src/remotes.ts @@ -1,20 +1,11 @@ import { parseEntry } from '@module-federation/sdk'; +import { PLUGIN_NAME } from '@module-federation/enhanced/rspack'; import type { ModuleFederationOptions } from './types'; -type ModuleFederationPluginLikeOptions = { - name?: unknown; - remotes?: unknown; - exposes?: unknown; - shared?: unknown; -}; - type ModuleFederationPluginLike = { - constructor?: { - name?: unknown; - }; - _options?: ModuleFederationPluginLikeOptions; - options?: ModuleFederationPluginLikeOptions; + name?: unknown; + _options: ModuleFederationOptions; }; const addRemoteNameFromString = (entry: string, target: Set): void => { @@ -26,28 +17,6 @@ const addRemoteNameFromString = (entry: string, target: Set): void => { target.add(parseEntry(normalized, undefined, '@').name); }; -const addRemoteNameFromObject = ( - remote: Record, - target: Set, -): void => { - const maybeName = remote.name; - const maybeAlias = remote.alias; - - if (typeof maybeName === 'string') { - target.add(maybeName); - return; - } - - if (typeof maybeAlias === 'string') { - target.add(maybeAlias); - return; - } - - for (const key of Object.keys(remote)) { - target.add(key); - } -}; - const addRemoteNames = (remotes: unknown, target: Set): void => { if (!remotes) { return; @@ -60,26 +29,7 @@ const addRemoteNames = (remotes: unknown, target: Set): void => { if (Array.isArray(remotes)) { for (const remote of remotes) { - if (!remote) { - continue; - } - - if (typeof remote === 'string') { - addRemoteNameFromString(remote, target); - continue; - } - - if (Array.isArray(remote)) { - const [name] = remote; - if (typeof name === 'string') { - target.add(name); - } - continue; - } - - if (typeof remote === 'object') { - addRemoteNameFromObject(remote as Record, target); - } + addRemoteNames(remote, target); } return; } @@ -96,41 +46,46 @@ const addRemoteNames = (remotes: unknown, target: Set): void => { * rstest adapters (whose rsbuild config registers ModuleFederationPlugin via * `@module-federation/rsbuild-plugin`) do not have to redeclare remotes. * - * `_options` is a private field of the ModuleFederationPlugin classes in - * `packages/enhanced` and `packages/rspack` (no public accessor exists). - * Scraping it is tolerated only because both packages live in this monorepo: - * if that field is renamed, update this reader in the same change. The - * duck-type fallback below guards against false positives from unrelated - * plugins. + * `_options` is a private field of Rspack's ModuleFederationPlugin (no public + * accessor exists). Access is restricted by the plugin's stable public name. + * Both packages live in this monorepo, so a private-field rename must update + * this adapter in the same change. */ -const getModuleFederationPluginOptions = ( +const getModuleFederationPlugin = ( plugin: unknown, -): ModuleFederationPluginLikeOptions | undefined => { +): ModuleFederationPluginLike | undefined => { if (!plugin || typeof plugin !== 'object') { return undefined; } - const mf = plugin as ModuleFederationPluginLike; - const options = mf._options ?? mf.options; - if (!options || typeof options !== 'object') { + const federationPlugin = plugin as ModuleFederationPluginLike; + if ( + federationPlugin.name !== PLUGIN_NAME || + !federationPlugin._options || + typeof federationPlugin._options !== 'object' + ) { return undefined; } - if (mf.constructor?.name === 'ModuleFederationPlugin') { - return options; - } + return federationPlugin; +}; - // Duck-type fallback for wrapped or re-exported federation plugins whose - // constructor name differs: MF options carry a container name plus at - // least one federation-specific field. - if ( - typeof options.name === 'string' && - ('remotes' in options || 'exposes' in options || 'shared' in options) - ) { - return options; +export const applyDefaultsToFederationPlugins = ( + plugins: unknown[] | undefined, + getDefaults: (options: ModuleFederationOptions) => ModuleFederationOptions, +): void => { + if (!plugins) { + return; } - return undefined; + for (const plugin of plugins) { + const federationPlugin = getModuleFederationPlugin(plugin); + if (!federationPlugin) { + continue; + } + + federationPlugin._options = getDefaults(federationPlugin._options); + } }; const addFallbackRemoteNamesFromPlugins = ( @@ -142,9 +97,9 @@ const addFallbackRemoteNamesFromPlugins = ( } for (const plugin of plugins) { - const options = getModuleFederationPluginOptions(plugin); - if (options) { - addRemoteNames(options.remotes, target); + const federationPlugin = getModuleFederationPlugin(plugin); + if (federationPlugin) { + addRemoteNames(federationPlugin._options.remotes, target); } } }; diff --git a/packages/rstest/tests/consumer/index.cts b/packages/rstest/tests/consumer/index.cts new file mode 100644 index 00000000000..82bc246adec --- /dev/null +++ b/packages/rstest/tests/consumer/index.cts @@ -0,0 +1,6 @@ +// eslint-disable-next-line @typescript-eslint/no-require-imports -- Exercises the CommonJS export condition. +import rstest = require('@module-federation/rstest'); + +rstest.federation({ + name: 'cjs_consumer', +}); diff --git a/packages/rstest/tests/consumer/index.mts b/packages/rstest/tests/consumer/index.mts new file mode 100644 index 00000000000..207a930c961 --- /dev/null +++ b/packages/rstest/tests/consumer/index.mts @@ -0,0 +1,10 @@ +import { + federation, + type ModuleFederationOptions, +} from '@module-federation/rstest'; + +const options: ModuleFederationOptions = { + name: 'esm_consumer', +}; + +federation(options); diff --git a/packages/rstest/tests/consumer/tsconfig.json b/packages/rstest/tests/consumer/tsconfig.json new file mode 100644 index 00000000000..d8731bf536e --- /dev/null +++ b/packages/rstest/tests/consumer/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noEmit": true, + "skipLibCheck": false, + "strict": true, + "target": "ES2022", + "types": ["node"] + }, + "include": ["index.mts", "index.cts"] +} diff --git a/packages/rstest/tests/integration/dynamic-remote.test.ts b/packages/rstest/tests/integration/dynamic-remote.test.ts new file mode 100644 index 00000000000..f4d8a67c22b --- /dev/null +++ b/packages/rstest/tests/integration/dynamic-remote.test.ts @@ -0,0 +1,7 @@ +import { expect, it } from '@rstest/core'; + +it('loads a local CommonJS remote through a dynamic import', async () => { + const remote = await import('fixture-remote/value'); + + expect(remote.default).toBe('value from the fixture remote'); +}); diff --git a/packages/rstest/tests/integration/remote-import.test.ts b/packages/rstest/tests/integration/remote-import.test.ts new file mode 100644 index 00000000000..1c72a33c2d3 --- /dev/null +++ b/packages/rstest/tests/integration/remote-import.test.ts @@ -0,0 +1,6 @@ +import { expect, it } from '@rstest/core'; +import staticValue from 'fixture-remote/value'; + +it('loads a local CommonJS remote through a static import', () => { + expect(staticValue).toBe('value from the fixture remote'); +}); diff --git a/packages/rstest/tests/integration/remote/build-remote.ts b/packages/rstest/tests/integration/remote/build-remote.ts new file mode 100644 index 00000000000..25cec1d338b --- /dev/null +++ b/packages/rstest/tests/integration/remote/build-remote.ts @@ -0,0 +1,92 @@ +import { rm } from 'node:fs/promises'; +import { createRequire } from 'node:module'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { ModuleFederationPlugin } from '@module-federation/enhanced/rspack'; +import { rspack, type Rspack } from '@rsbuild/core'; + +const require = createRequire(import.meta.url); +const remoteDirectory = path.dirname(fileURLToPath(import.meta.url)); +const outputDirectory = path.resolve(remoteDirectory, 'dist'); + +const closeCompiler = async (compiler: Rspack.Compiler): Promise => { + await new Promise((resolve, reject) => { + compiler.close((error) => (error ? reject(error) : resolve())); + }); +}; + +const runCompiler = async (compiler: Rspack.Compiler): Promise => { + await new Promise((resolve, reject) => { + compiler.run((error, stats) => { + if (error) { + reject(error); + return; + } + if (!stats || stats.hasErrors()) { + reject( + new Error( + stats?.toString({ all: false, errors: true }) ?? + 'Rspack completed without stats.', + ), + ); + return; + } + resolve(); + }); + }); +}; + +export const setup = async (): Promise => { + await rm(outputDirectory, { force: true, recursive: true }); + + const compiler = rspack({ + context: remoteDirectory, + entry: './entry.js', + mode: 'development', + output: { + chunkFilename: '[name].cjs', + filename: '[name].cjs', + path: outputDirectory, + }, + plugins: [ + new ModuleFederationPlugin({ + name: 'fixture_remote', + filename: 'remoteEntry.cjs', + library: { + type: 'commonjs-module', + }, + exposes: { + './value': './value.js', + }, + dts: false, + manifest: false, + dev: false, + runtimePlugins: [ + require.resolve('@module-federation/node/runtimePlugin'), + ], + experiments: { + asyncStartup: true, + optimization: { + target: 'node', + }, + }, + }), + ], + target: 'async-node', + }); + + try { + try { + await runCompiler(compiler); + } finally { + await closeCompiler(compiler); + } + } catch (error) { + await rm(outputDirectory, { force: true, recursive: true }); + throw error; + } +}; + +export const teardown = async (): Promise => { + await rm(outputDirectory, { force: true, recursive: true }); +}; diff --git a/packages/rstest/tests/integration/remote/entry.js b/packages/rstest/tests/integration/remote/entry.js new file mode 100644 index 00000000000..dbb25ce7a1c --- /dev/null +++ b/packages/rstest/tests/integration/remote/entry.js @@ -0,0 +1 @@ +// The remote container is emitted by ModuleFederationPlugin. diff --git a/packages/rstest/tests/integration/remote/value.js b/packages/rstest/tests/integration/remote/value.js new file mode 100644 index 00000000000..a2f2d8f1f57 --- /dev/null +++ b/packages/rstest/tests/integration/remote/value.js @@ -0,0 +1 @@ +export default 'value from the fixture remote'; diff --git a/packages/rstest/tests/integration/rstest.config.ts b/packages/rstest/tests/integration/rstest.config.ts new file mode 100644 index 00000000000..a26b605c2bc --- /dev/null +++ b/packages/rstest/tests/integration/rstest.config.ts @@ -0,0 +1,32 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { pluginModuleFederation } from '@module-federation/rsbuild-plugin'; +import { federation } from '@module-federation/rstest'; +import { defineConfig } from '@rstest/core'; + +const fixtureDirectory = path.dirname(fileURLToPath(import.meta.url)); + +export default defineConfig({ + globalSetup: [path.resolve(fixtureDirectory, 'remote/build-remote.ts')], + include: [path.resolve(fixtureDirectory, '*.test.ts')], + testEnvironment: 'node', + testTimeout: 30_000, + plugins: [ + pluginModuleFederation( + { + name: 'rstest_integration_host', + remotes: { + 'fixture-remote': `commonjs ${path.resolve( + fixtureDirectory, + 'remote/dist/remoteEntry.cjs', + )}`, + }, + }, + { + environment: 'rstest', + target: 'node', + }, + ), + federation(), + ], +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 571f8f78241..93ca156db4d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4065,6 +4065,9 @@ importers: specifier: workspace:* version: link:../sdk devDependencies: + '@module-federation/rsbuild-plugin': + specifier: workspace:* + version: link:../rsbuild-plugin '@rsbuild/core': specifier: 2.1.4 version: 2.1.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0) diff --git a/tools/fixtures/node20-compat/package.json b/tools/fixtures/node20-compat/package.json index f9c2984a903..311c13d5af4 100644 --- a/tools/fixtures/node20-compat/package.json +++ b/tools/fixtures/node20-compat/package.json @@ -6,7 +6,8 @@ "scripts": { "build:rspack": "rspack build --config rspack.config.cjs", "build:webpack": "webpack --config webpack.config.cjs", - "typecheck": "tsc --project tsconfig.json" + "typecheck": "tsc --project tsconfig.json", + "typecheck:rstest": "tsc --project tsconfig.rstest-nodenext.json" }, "dependencies": {} } diff --git a/tools/fixtures/node20-compat/rstest-consumer.cts b/tools/fixtures/node20-compat/rstest-consumer.cts new file mode 100644 index 00000000000..d2b4bf08ecd --- /dev/null +++ b/tools/fixtures/node20-compat/rstest-consumer.cts @@ -0,0 +1,5 @@ +import rstest = require('@module-federation/rstest'); + +rstest.federation({ + name: 'node20_cjs_consumer', +}); diff --git a/tools/fixtures/node20-compat/rstest-consumer.mts b/tools/fixtures/node20-compat/rstest-consumer.mts new file mode 100644 index 00000000000..aecbbc3253c --- /dev/null +++ b/tools/fixtures/node20-compat/rstest-consumer.mts @@ -0,0 +1,10 @@ +import { + federation, + type ModuleFederationOptions, +} from '@module-federation/rstest'; + +const options: ModuleFederationOptions = { + name: 'node20_esm_consumer', +}; + +federation(options); diff --git a/tools/fixtures/node20-compat/smoke-cjs.cjs b/tools/fixtures/node20-compat/smoke-cjs.cjs index 7a35080a7a9..3554fcfdd11 100644 --- a/tools/fixtures/node20-compat/smoke-cjs.cjs +++ b/tools/fixtures/node20-compat/smoke-cjs.cjs @@ -7,6 +7,7 @@ const modules = [ '@module-federation/enhanced/webpack', '@module-federation/node', '@module-federation/cli', + '@module-federation/rstest', ]; for (const moduleName of modules) { diff --git a/tools/fixtures/node20-compat/smoke-esm.mjs b/tools/fixtures/node20-compat/smoke-esm.mjs index 2982417f4d4..66186a469ea 100644 --- a/tools/fixtures/node20-compat/smoke-esm.mjs +++ b/tools/fixtures/node20-compat/smoke-esm.mjs @@ -7,6 +7,7 @@ const modules = [ '@module-federation/enhanced/webpack', '@module-federation/node', '@module-federation/cli', + '@module-federation/rstest', ]; for (const moduleName of modules) { diff --git a/tools/fixtures/node20-compat/tsconfig.rstest-nodenext.json b/tools/fixtures/node20-compat/tsconfig.rstest-nodenext.json new file mode 100644 index 00000000000..22a71ffdfdf --- /dev/null +++ b/tools/fixtures/node20-compat/tsconfig.rstest-nodenext.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noEmit": true, + "skipLibCheck": false, + "strict": true, + "target": "ES2022", + "types": ["node"] + }, + "include": ["rstest-consumer.mts", "rstest-consumer.cts"] +} diff --git a/tools/scripts/verify-node20-compat.mjs b/tools/scripts/verify-node20-compat.mjs index d0136826ea2..947312f850e 100644 --- a/tools/scripts/verify-node20-compat.mjs +++ b/tools/scripts/verify-node20-compat.mjs @@ -38,11 +38,15 @@ try { const rootPackageJson = JSON.parse( readFileSync(join(ROOT, 'package.json'), 'utf8'), ); + const rstestPackageJson = JSON.parse( + readFileSync(join(ROOT, 'packages/rstest/package.json'), 'utf8'), + ); const packageJson = JSON.parse( readFileSync(join(consumerDir, 'package.json'), 'utf8'), ); packageJson.devDependencies = { + '@rsbuild/core': rstestPackageJson.devDependencies['@rsbuild/core'], '@rspack/cli': rootPackageJson.devDependencies['@rspack/cli'], '@rspack/core': rootPackageJson.devDependencies['@rspack/core'], '@swc/core': rootPackageJson.devDependencies['@swc/core'], @@ -80,6 +84,7 @@ try { cwd: consumerDir, }); run('npm', ['run', 'typecheck'], { cwd: consumerDir }); + run('npm', ['run', 'typecheck:rstest'], { cwd: consumerDir }); run('npm', ['run', 'build:webpack'], { cwd: consumerDir }); run('npm', ['run', 'build:rspack'], { cwd: consumerDir }); run('node', ['dist/webpack/main.js'], { cwd: consumerDir }); From 812693c40efaa2fda281e4817ef8f6ba441dbe30 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 29 Jul 2026 20:25:03 +0000 Subject: [PATCH 11/14] test(rstest): avoid ghost dependency false positive --- packages/rstest/src/compiler.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/rstest/src/compiler.test.ts b/packages/rstest/src/compiler.test.ts index ea5a723b8ed..ef7a9267d5e 100644 --- a/packages/rstest/src/compiler.test.ts +++ b/packages/rstest/src/compiler.test.ts @@ -37,9 +37,10 @@ const compileRemote = async (remote: string): Promise => { tempDirectories.push(context); await mkdir(path.join(context, 'src')); + const remoteRequest = 'remote/Button'; await writeFile( path.join(context, 'src/index.js'), - "import('remote/Button');\n", + `import(${JSON.stringify(remoteRequest)});\n`, ); const rspackConfig: Rspack.Configuration = { From 9d3bd7975ada4fa005c6ed582a1a9eb63cddbd2c Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 29 Jul 2026 23:06:50 +0000 Subject: [PATCH 12/14] refactor(rstest): simplify federation coverage --- .../en/integrations/build-tool/rstest.mdx | 2 +- packages/rstest/package.json | 2 +- packages/rstest/src/externals-bypass.ts | 4 -- packages/rstest/src/index.test.ts | 53 +++++++++---------- .../tests/integration/remote/build-remote.ts | 52 +++++++++--------- .../tsconfig.rstest-nodenext.json | 7 +-- 6 files changed, 54 insertions(+), 66 deletions(-) diff --git a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx index 1eff880a33f..0e09a8bea31 100644 --- a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx +++ b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx @@ -50,7 +50,7 @@ export default defineConfig({ federation({ name: 'host', remotes: { - remote: 'remote@http://localhost:3001/remoteEntry.js', + 'component-app': 'component_app@http://localhost:3001/remoteEntry.js', }, shared: { react: { singleton: true }, diff --git a/packages/rstest/package.json b/packages/rstest/package.json index e6b85bb0a3b..85d2a998797 100644 --- a/packages/rstest/package.json +++ b/packages/rstest/package.json @@ -1,7 +1,7 @@ { "name": "@module-federation/rstest", "version": "2.8.0", - "description": "Companion Rsbuild plugin for Rstest's Module Federation mode.", + "description": "Module Federation plugin for Rstest.", "homepage": "https://module-federation.io", "bugs": { "url": "https://github.com/module-federation/core/issues" diff --git a/packages/rstest/src/externals-bypass.ts b/packages/rstest/src/externals-bypass.ts index c83feff3234..b2b4af3839d 100644 --- a/packages/rstest/src/externals-bypass.ts +++ b/packages/rstest/src/externals-bypass.ts @@ -8,10 +8,6 @@ const isFederationRemoteRequest = ( request: string, remoteNames: Set, ): boolean => { - if (!remoteNames.size) { - return false; - } - for (const remoteName of remoteNames) { if (request === remoteName) { return true; diff --git a/packages/rstest/src/index.test.ts b/packages/rstest/src/index.test.ts index c4f25be5c38..789e81cb973 100644 --- a/packages/rstest/src/index.test.ts +++ b/packages/rstest/src/index.test.ts @@ -218,7 +218,9 @@ const applyFederationPlugin = ( return { merged, rspackConfig }; }; -const captureWarnings = (run: () => void): string[] => { +const captureWarnings = ( + run: () => T, +): { result: T; warnings: string[] } => { const consoleWithWarn = console as typeof console & { warn: (...args: unknown[]) => void; }; @@ -230,12 +232,13 @@ const captureWarnings = (run: () => void): string[] => { }; try { - run(); + return { + result: run(), + warnings, + }; } finally { consoleWithWarn.warn = originalWarn; } - - return warnings; }; describe('shouldKeepBundledForFederation', () => { @@ -447,7 +450,7 @@ describe('federation()', () => { }); it('does not treat an existing runtime plugin as manual configuration', () => { - const warnings = captureWarnings(() => { + const { warnings } = captureWarnings(() => { applyFederationPlugin(federation(), { latePlugins: [ new ModuleFederationPlugin({ @@ -530,8 +533,7 @@ describe('federation()', () => { }); it('preserves user overrides while still injecting node runtime plugin', () => { - let options: ModuleFederationOptions | undefined; - const warnings = captureWarnings(() => { + const { result: options, warnings } = captureWarnings(() => { const { rspackConfig } = applyFederationPlugin( federation({ name: 'component_app', @@ -551,14 +553,14 @@ describe('federation()', () => { }, }), ); - options = getFederationPluginOptions(rspackConfig.plugins); + return getFederationPluginOptions(rspackConfig.plugins); }); - expect(options!.remoteType).toBe('commonjs'); - expect(options!.library?.type).toBe('var'); - expect(options!.library?.name).toBe('component_app'); - expect(options!.experiments?.asyncStartup).toBe(true); - expect(options!.runtimePlugins).toEqual([ + expect(options.remoteType).toBe('commonjs'); + expect(options.library?.type).toBe('var'); + expect(options.library?.name).toBe('component_app'); + expect(options.experiments?.asyncStartup).toBe(true); + expect(options.runtimePlugins).toEqual([ NODE_RUNTIME_PLUGIN, 'custom/runtimePlugin', ]); @@ -568,8 +570,7 @@ describe('federation()', () => { }); it('forces node optimization target even when configured otherwise', () => { - let options: ModuleFederationOptions | undefined; - const warnings = captureWarnings(() => { + const { result: options, warnings } = captureWarnings(() => { const { rspackConfig } = applyFederationPlugin( federation({ name: 'component_app', @@ -580,18 +581,17 @@ describe('federation()', () => { }, }), ); - options = getFederationPluginOptions(rspackConfig.plugins); + return getFederationPluginOptions(rspackConfig.plugins); }); - expect(options!.experiments?.optimization?.target).toBe('node'); + expect(options.experiments?.optimization?.target).toBe('node'); expect(warnings.join('\n')).toContain( 'experiments.optimization.target "web" is overridden with "node"', ); }); it('forces async startup and warns when disabled manually', () => { - let options: ModuleFederationOptions | undefined; - const warnings = captureWarnings(() => { + const { result: options, warnings } = captureWarnings(() => { const { rspackConfig } = applyFederationPlugin( federation({ name: 'legacy_component_app', @@ -600,18 +600,17 @@ describe('federation()', () => { }, }), ); - options = getFederationPluginOptions(rspackConfig.plugins); + return getFederationPluginOptions(rspackConfig.plugins); }); - expect(options!.experiments?.asyncStartup).toBe(true); + expect(options.experiments?.asyncStartup).toBe(true); expect(warnings.join('\n')).toContain( 'experiments.asyncStartup was set to false but is forced to true', ); }); it('warns when the node runtime plugin is configured manually', () => { - let options: ModuleFederationOptions | undefined; - const warnings = captureWarnings(() => { + const { result: options, warnings } = captureWarnings(() => { const { rspackConfig } = applyFederationPlugin( federation({ name: 'legacy_component_app', @@ -623,17 +622,17 @@ describe('federation()', () => { }, }), ); - options = getFederationPluginOptions(rspackConfig.plugins); + return getFederationPluginOptions(rspackConfig.plugins); }); - expect(options!.runtimePlugins).toEqual([NODE_RUNTIME_PLUGIN]); + expect(options.runtimePlugins).toEqual([NODE_RUNTIME_PLUGIN]); expect(warnings.join('\n')).toContain( 'manual configuration is unnecessary', ); }); it('warns when running outside rstest', () => { - const warnings = captureWarnings(() => { + const { warnings } = captureWarnings(() => { setupFederationPlugin(federation(), 'rsbuild'); }); @@ -643,7 +642,7 @@ describe('federation()', () => { }); it('does not warn about the caller under rstest', () => { - const warnings = captureWarnings(() => { + const { warnings } = captureWarnings(() => { setupFederationPlugin(federation()); }); diff --git a/packages/rstest/tests/integration/remote/build-remote.ts b/packages/rstest/tests/integration/remote/build-remote.ts index 25cec1d338b..31ed75d4f93 100644 --- a/packages/rstest/tests/integration/remote/build-remote.ts +++ b/packages/rstest/tests/integration/remote/build-remote.ts @@ -9,31 +9,31 @@ const require = createRequire(import.meta.url); const remoteDirectory = path.dirname(fileURLToPath(import.meta.url)); const outputDirectory = path.resolve(remoteDirectory, 'dist'); -const closeCompiler = async (compiler: Rspack.Compiler): Promise => { - await new Promise((resolve, reject) => { - compiler.close((error) => (error ? reject(error) : resolve())); - }); -}; - const runCompiler = async (compiler: Rspack.Compiler): Promise => { - await new Promise((resolve, reject) => { - compiler.run((error, stats) => { - if (error) { - reject(error); - return; - } - if (!stats || stats.hasErrors()) { - reject( - new Error( - stats?.toString({ all: false, errors: true }) ?? - 'Rspack completed without stats.', - ), - ); - return; - } - resolve(); + try { + await new Promise((resolve, reject) => { + compiler.run((error, stats) => { + if (error) { + reject(error); + return; + } + if (!stats || stats.hasErrors()) { + reject( + new Error( + stats?.toString({ all: false, errors: true }) ?? + 'Rspack completed without stats.', + ), + ); + return; + } + resolve(); + }); }); - }); + } finally { + await new Promise((resolve, reject) => { + compiler.close((error) => (error ? reject(error) : resolve())); + }); + } }; export const setup = async (): Promise => { @@ -76,11 +76,7 @@ export const setup = async (): Promise => { }); try { - try { - await runCompiler(compiler); - } finally { - await closeCompiler(compiler); - } + await runCompiler(compiler); } catch (error) { await rm(outputDirectory, { force: true, recursive: true }); throw error; diff --git a/tools/fixtures/node20-compat/tsconfig.rstest-nodenext.json b/tools/fixtures/node20-compat/tsconfig.rstest-nodenext.json index 22a71ffdfdf..0ba18b598be 100644 --- a/tools/fixtures/node20-compat/tsconfig.rstest-nodenext.json +++ b/tools/fixtures/node20-compat/tsconfig.rstest-nodenext.json @@ -1,12 +1,9 @@ { + "extends": "./tsconfig.json", "compilerOptions": { "module": "NodeNext", "moduleResolution": "NodeNext", - "noEmit": true, - "skipLibCheck": false, - "strict": true, - "target": "ES2022", - "types": ["node"] + "skipLibCheck": false }, "include": ["rstest-consumer.mts", "rstest-consumer.cts"] } From 38b8313c00e29a35661580191c798e0d54efe9f6 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Thu, 30 Jul 2026 00:35:26 +0000 Subject: [PATCH 13/14] fix(rstest): harden node federation edge cases --- .../en/integrations/build-tool/rstest.mdx | 16 ++- packages/rsbuild-plugin/src/utils/ssr.spec.ts | 28 ++-- packages/rstest/CHANGELOG.md | 4 - packages/rstest/README.md | 6 +- packages/rstest/rslib.config.ts | 42 ++---- packages/rstest/rstest.config.ts | 2 - packages/rstest/src/compiler.test.ts | 24 +++- packages/rstest/src/index.test.ts | 129 +++++++++++++----- packages/rstest/src/node-defaults.ts | 18 ++- packages/rstest/src/plugin.ts | 42 +++--- packages/rstest/src/remotes.test.ts | 91 +++++++----- packages/rstest/src/remotes.ts | 31 ++--- packages/rstest/src/rspack-hook.ts | 21 +-- packages/rstest/src/runtime-plugin.ts | 25 ++-- packages/rstest/tests/consumer/index.mts | 6 +- .../tests/integration/remote/build-remote.ts | 3 +- .../rstest/tests/integration/rstest.config.ts | 3 +- packages/rstest/tsconfig.json | 2 +- packages/rstest/tsconfig.lib.json | 8 +- 19 files changed, 273 insertions(+), 228 deletions(-) diff --git a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx index 0e09a8bea31..cb186f17cac 100644 --- a/apps/website-new/docs/en/integrations/build-tool/rstest.mdx +++ b/apps/website-new/docs/en/integrations/build-tool/rstest.mdx @@ -21,8 +21,8 @@ Use `@rstest/core@0.11.4` or newer. Rstest's federation support shipped in ::: -Older Rstest versions do not expose the configuration API this plugin uses for -Node test builds. +Rstest versions before `0.11.4` do not include the `federation` compatibility +mode this plugin enables for Node test builds. ## Quick Start @@ -101,6 +101,9 @@ and runs both Node and JSDOM projects. ## How It Works +For both Node and browser targets, `dts`, `manifest`, and `dev` default to +`false`; explicit values are preserved. + ### Node Test Defaults For Node-targeted Rstest builds, the plugin applies Module Federation defaults @@ -108,7 +111,8 @@ that match the Node runtime: - `target: async-node` - `experiments.asyncStartup = true` -- CommonJS container output +- CommonJS container output; `module` and `modern-module` library types are + normalized - `@module-federation/node/runtimePlugin` - Node-targeted federation optimization - Script remote transport by default @@ -144,9 +148,9 @@ export default defineConfig({ }); ``` -Browser mode keeps browser build defaults and only enables -`experiments.asyncStartup`. Pass an explicit `target` only to override the -detected mode. +Browser mode avoids node-only defaults while enabling +`experiments.asyncStartup` and applying the shared defaults above. Pass an +explicit `target` only to override the detected mode. ## Configuration diff --git a/packages/rsbuild-plugin/src/utils/ssr.spec.ts b/packages/rsbuild-plugin/src/utils/ssr.spec.ts index 826194b65fb..89bf015cc40 100644 --- a/packages/rsbuild-plugin/src/utils/ssr.spec.ts +++ b/packages/rsbuild-plugin/src/utils/ssr.spec.ts @@ -1,4 +1,4 @@ -import { describe, it, expect, rs } from '@rstest/core'; +import { afterEach, describe, it, expect, rs } from '@rstest/core'; import { createSSRMFConfig, patchSSRRspackConfig, SSR_DIR } from './ssr'; import type { Rspack } from '@rsbuild/core'; import type { moduleFederationPlugin } from '@module-federation/sdk'; @@ -6,6 +6,10 @@ import type { moduleFederationPlugin } from '@module-federation/sdk'; const RECORD_DYNAMIC_REMOTE_ENTRY_HASH_PLUGIN_PATTERN = /record(?:-dynamic-remote-entry-hash-plugin|DynamicRemoteEntryHashPlugin)(\.js)?$/; +afterEach(() => { + rs.unstubAllEnvs(); +}); + describe('createSSRMFConfig', () => { const baseMFConfig: moduleFederationPlugin.ModuleFederationPluginOptions = { name: 'testApp', @@ -22,43 +26,38 @@ describe('createSSRMFConfig', () => { expect(ssrMFConfig.runtimePlugins?.[0]).toMatch(/runtimePlugin(\.js)?$/); }); - it('should preserve library.type if already defined', () => { + it('should preserve a preconfigured library', () => { const mfConfigWithLibraryType: moduleFederationPlugin.ModuleFederationPluginOptions = { ...baseMFConfig, library: { - name: 'testApp', + name: 'customLibrary', type: 'umd', }, }; const ssrMFConfig = createSSRMFConfig(mfConfigWithLibraryType); expect(ssrMFConfig.library?.type).toBe('umd'); - expect(ssrMFConfig.library?.name).toBe('testApp'); + expect(ssrMFConfig.library?.name).toBe('customLibrary'); }); it('should add record-dynamic-remote-entry-hash-plugin in development', () => { - const originalNodeEnv = process.env.NODE_ENV; - process.env.NODE_ENV = 'development'; + rs.stubEnv('NODE_ENV', 'development'); const ssrMFConfig = createSSRMFConfig(baseMFConfig); expect(ssrMFConfig.runtimePlugins?.[0]).toMatch(/runtimePlugin(\.js)?$/); expect(ssrMFConfig.runtimePlugins?.[1]).toMatch( RECORD_DYNAMIC_REMOTE_ENTRY_HASH_PLUGIN_PATTERN, ); - process.env.NODE_ENV = originalNodeEnv; // Restore original NODE_ENV }); it('should not add record-dynamic-remote-entry-hash-plugin in production', () => { - const originalNodeEnv = process.env.NODE_ENV; - process.env.NODE_ENV = 'production'; + rs.stubEnv('NODE_ENV', 'production'); const ssrMFConfig = createSSRMFConfig(baseMFConfig); expect(ssrMFConfig.runtimePlugins).toHaveLength(1); expect(ssrMFConfig.runtimePlugins?.[0]).toMatch(/runtimePlugin(\.js)?$/); - process.env.NODE_ENV = originalNodeEnv; // Restore original NODE_ENV }); it('should initialize runtimePlugins if it is undefined', () => { - const originalNodeEnv = process.env.NODE_ENV; - process.env.NODE_ENV = 'production'; + rs.stubEnv('NODE_ENV', 'production'); const mfConfigWithoutRuntimePlugins: moduleFederationPlugin.ModuleFederationPluginOptions = { name: 'testApp', @@ -67,7 +66,6 @@ describe('createSSRMFConfig', () => { const ssrMFConfig = createSSRMFConfig(mfConfigWithoutRuntimePlugins); expect(ssrMFConfig.runtimePlugins).toHaveLength(1); expect(ssrMFConfig.runtimePlugins?.[0]).toMatch(/runtimePlugin(\.js)?$/); - process.env.NODE_ENV = originalNodeEnv; }); }); @@ -113,8 +111,7 @@ describe('patchSSRRspackConfig', () => { }); it('should add UniverseEntryChunkTrackerPlugin to plugins', () => { - const env = process.env.NODE_ENV; - process.env.NODE_ENV = 'development'; + rs.stubEnv('NODE_ENV', 'development'); const config = JSON.parse(JSON.stringify(baseConfig)); const patchedConfig = patchSSRRspackConfig(config, baseMfConfig, 'ssr'); expect(patchedConfig.plugins).toHaveLength(1); @@ -122,7 +119,6 @@ describe('patchSSRRspackConfig', () => { expect(patchedConfig.plugins?.[0].constructor.name).toBe( 'UniverseEntryChunkTrackerPlugin', ); - process.env.NODE_ENV = env; }); describe('chunkFilename modification', () => { diff --git a/packages/rstest/CHANGELOG.md b/packages/rstest/CHANGELOG.md index 5c0d8c52199..c8374f747f4 100644 --- a/packages/rstest/CHANGELOG.md +++ b/packages/rstest/CHANGELOG.md @@ -1,5 +1 @@ # @module-federation/rstest - -## 2.8.0 - -- Initial release (extracted from `@rstest/core`). diff --git a/packages/rstest/README.md b/packages/rstest/README.md index 21dda680e34..8525ce0c0d6 100644 --- a/packages/rstest/README.md +++ b/packages/rstest/README.md @@ -41,11 +41,15 @@ For Node test environments, the plugin enables Rstest's federation compatibility mode automatically. Do not also set `federation: true` in `rstest.config.*`. +For both Node and browser targets, `dts`, `manifest`, and `dev` default to +`false`; explicit values are preserved. + The plugin applies these Node defaults: - `target: async-node` - `experiments.asyncStartup = true` -- CommonJS library output (`library.type = 'commonjs-module'`) +- CommonJS library output (`library.type = 'commonjs-module'`); `module` and + `modern-module` library types are normalized - Node runtime plugin (`@module-federation/node/runtimePlugin`) - `experiments.optimization.target = 'node'` - Script remote transport (`remoteType = 'script'`); inline prefixes such as diff --git a/packages/rstest/rslib.config.ts b/packages/rstest/rslib.config.ts index 88bd4fa7101..43bdbbda96f 100644 --- a/packages/rstest/rslib.config.ts +++ b/packages/rstest/rslib.config.ts @@ -3,36 +3,20 @@ import { pluginPublint } from 'rsbuild-plugin-publint'; export default defineConfig({ plugins: [pluginPublint()], - lib: [ - { - format: 'esm', - syntax: 'es2021', - bundle: true, - dts: { - autoExtension: true, - distPath: './dist', - }, - redirect: { - dts: { - extension: true, - }, - }, + lib: (['esm', 'cjs'] as const).map((format) => ({ + format, + syntax: 'es2021', + bundle: true, + dts: { + autoExtension: true, + distPath: './dist', }, - { - format: 'cjs', - syntax: 'es2021', - bundle: true, + redirect: { dts: { - autoExtension: true, - distPath: './dist', - }, - redirect: { - dts: { - extension: true, - }, + extension: true, }, }, - ], + })), source: { entry: { index: './src/index.ts', @@ -46,11 +30,5 @@ export default defineConfig({ }, // Keep workspace packages external; everything else is bundled for portability. externals: [/@module-federation\//, 'pnpapi'], - copy: [ - { - from: './LICENSE', - to: '.', - }, - ], }, }); diff --git a/packages/rstest/rstest.config.ts b/packages/rstest/rstest.config.ts index b86cff75da6..809d8429b9a 100644 --- a/packages/rstest/rstest.config.ts +++ b/packages/rstest/rstest.config.ts @@ -3,11 +3,9 @@ import path from 'node:path'; export default defineConfig({ testEnvironment: 'node', - globals: true, testTimeout: 10_000, include: [ path.resolve(__dirname, 'src/**/*.test.ts'), path.resolve(__dirname, 'src/**/*.spec.ts'), ], - exclude: ['**/dist/**', '**/node_modules/**'], }); diff --git a/packages/rstest/src/compiler.test.ts b/packages/rstest/src/compiler.test.ts index ef7a9267d5e..7fe1cc72395 100644 --- a/packages/rstest/src/compiler.test.ts +++ b/packages/rstest/src/compiler.test.ts @@ -1,4 +1,4 @@ -import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises'; +import { mkdtemp, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import path from 'node:path'; import { ModuleFederationPlugin } from '@module-federation/enhanced/rspack'; @@ -7,6 +7,7 @@ import { rspack, type Rspack } from '@rsbuild/core'; import { withNodeDefaults } from './node-defaults'; import { applyNodeRspackDefaults } from './rspack-hook'; +import type { ModuleFederationOptions } from './types'; type StatsModule = { identifier?: string; @@ -32,20 +33,22 @@ const collectModuleIdentifiers = (modules: StatsModule[]): string[] => ...collectModuleIdentifiers(module.modules ?? []), ]); -const compileRemote = async (remote: string): Promise => { +const compileRemote = async ( + remote: string, + libraryType?: NonNullable['type'], +): Promise => { const context = await mkdtemp(path.join(tmpdir(), 'rstest-federation-')); tempDirectories.push(context); - await mkdir(path.join(context, 'src')); const remoteRequest = 'remote/Button'; await writeFile( - path.join(context, 'src/index.js'), + path.join(context, 'index.js'), `import(${JSON.stringify(remoteRequest)});\n`, ); const rspackConfig: Rspack.Configuration = { context, - entry: './src/index.js', + entry: './index.js', mode: 'development', output: { filename: 'main.js', @@ -56,6 +59,7 @@ const compileRemote = async (remote: string): Promise => { withNodeDefaults({ name: 'host', remotes: { remote }, + library: libraryType ? { type: libraryType } : undefined, }), ), ], @@ -111,4 +115,14 @@ describe('node remote transport', () => { expect(identifiers).toContain(`external commonjs "${remotePath}"`); }); + + it.each(['module', 'modern-module'] as const)( + 'normalizes incompatible %s library output before compilation', + async (libraryType) => { + const remote = 'remote@http://localhost:3001/remoteEntry.js'; + const identifiers = await compileRemote(remote, libraryType); + + expect(identifiers).toContain(`external script "${remote}"`); + }, + ); }); diff --git a/packages/rstest/src/index.test.ts b/packages/rstest/src/index.test.ts index 789e81cb973..8539feaae3a 100644 --- a/packages/rstest/src/index.test.ts +++ b/packages/rstest/src/index.test.ts @@ -3,11 +3,12 @@ import { ModuleFederationPlugin, PLUGIN_NAME, } from '@module-federation/enhanced/rspack'; -import { describe, expect, it } from '@rstest/core'; -import type { - EnvironmentConfig, - RsbuildPluginAPI, - Rspack, +import { describe, expect, it, rs } from '@rstest/core'; +import { + mergeRsbuildConfig, + type EnvironmentConfig, + type RsbuildPluginAPI, + type Rspack, } from '@rsbuild/core'; import { shouldKeepBundledForFederation } from './externals-bypass'; @@ -221,23 +222,19 @@ const applyFederationPlugin = ( const captureWarnings = ( run: () => T, ): { result: T; warnings: string[] } => { - const consoleWithWarn = console as typeof console & { - warn: (...args: unknown[]) => void; - }; - const originalWarn = consoleWithWarn.warn; - const warnings: string[] = []; - - consoleWithWarn.warn = (...args: unknown[]) => { - warnings.push(args.map((arg) => String(arg)).join(' ')); - }; + const warningSpy = rs + .spyOn(console, 'warn') + .mockImplementation(() => undefined); try { return { result: run(), - warnings, + warnings: warningSpy.mock.calls.map((args) => + args.map((arg) => String(arg)).join(' '), + ), }; } finally { - consoleWithWarn.warn = originalWarn; + warningSpy.mockRestore(); } }; @@ -361,6 +358,35 @@ describe('federation()', () => { expect(callExternal(bypass, 'react')).toBe(undefined); }); + it('keeps remotes from every federation plugin bundled', () => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'direct_host', + remotes: { + directRemote: 'directRemote@http://localhost:3001/remoteEntry.js', + }, + }), + { + rspackConfig: { + output: {}, + plugins: [ + new ModuleFederationPlugin({ + name: 'existing_host', + remotes: { + existingRemote: + 'existingRemote@http://localhost:3002/remoteEntry.js', + }, + }), + ], + }, + }, + ); + + const bypass = getExternalBypass(rspackConfig); + expect(callExternal(bypass, 'directRemote/Button')).toBe(false); + expect(callExternal(bypass, 'existingRemote/Button')).toBe(false); + }); + it('discovers federation remotes registered after rspack config patching', () => { const originalOptions: ModuleFederationOptions = { name: 'existing_host', @@ -590,6 +616,31 @@ describe('federation()', () => { ); }); + it.each(['module', 'modern-module'] as const)( + 'normalizes incompatible %s library output', + (libraryType) => { + const { result: options, warnings } = captureWarnings(() => { + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'component_app', + library: { + type: libraryType, + }, + }), + ); + return getFederationPluginOptions(rspackConfig.plugins); + }); + + expect(options.library).toEqual({ + name: 'component_app', + type: 'commonjs-module', + }); + expect(warnings.join('\n')).toContain( + `library.type "${libraryType}" is overridden with "commonjs-module"`, + ); + }, + ); + it('forces async startup and warns when disabled manually', () => { const { result: options, warnings } = captureWarnings(() => { const { rspackConfig } = applyFederationPlugin( @@ -631,6 +682,26 @@ describe('federation()', () => { ); }); + it('deduplicates configured node runtime plugin aliases', () => { + const runtimePluginOptions = { enabled: true }; + const { rspackConfig } = applyFederationPlugin( + federation({ + name: 'legacy_component_app', + runtimePlugins: [ + [NODE_RUNTIME_PLUGIN_REQUEST, runtimePluginOptions], + NODE_RUNTIME_PLUGIN, + 'custom/runtimePlugin', + ], + }), + ); + + const options = getFederationPluginOptions(rspackConfig.plugins); + expect(options.runtimePlugins).toEqual([ + [NODE_RUNTIME_PLUGIN, runtimePluginOptions], + 'custom/runtimePlugin', + ]); + }); + it('warns when running outside rstest', () => { const { warnings } = captureWarnings(() => { setupFederationPlugin(federation(), 'rsbuild'); @@ -755,37 +826,23 @@ describe('federation()', () => { }); it('composes with existing tools.rspack hook instead of overwriting it', () => { - const mergeEnvironmentConfig: MergeEnvironmentConfig = (...configs) => { - // Basic merge that preserves nested objects we care about for this test. - const out: EnvironmentConfig = {}; - for (const c of configs) { - if (!c) continue; - if (c.output) out.output = { ...out.output, ...c.output }; - if (c.tools) out.tools = { ...out.tools, ...c.tools }; - } - return out; - }; - const existingHook = (cfg: Rspack.Configuration) => { ( cfg as TestRspackConfig & { __existingHookRan?: boolean } ).__existingHookRan = true; }; - const { envHook } = setupFederationPlugin(federation()); - const merged = envHook( - { tools: { rspack: existingHook } }, - { mergeEnvironmentConfig }, - ); - - expect(Array.isArray(merged.tools?.rspack)).toBe(true); - const rspackConfig: TestRspackConfig & { __existingHookRan?: boolean } = { output: {}, plugins: [], }; - runRspackHooks(merged, rspackConfig); + const { merged } = applyFederationPlugin(federation(), { + config: { tools: { rspack: existingHook } }, + mergeEnvironmentConfig: mergeRsbuildConfig, + rspackConfig, + }); + expect(Array.isArray(merged.tools?.rspack)).toBe(true); expect(rspackConfig.__existingHookRan).toBe(true); expect(rspackConfig.experiments?.outputModule).toBe(false); expect(rspackConfig.output?.module).toBe(false); diff --git a/packages/rstest/src/node-defaults.ts b/packages/rstest/src/node-defaults.ts index 48e9468f8e3..77182708a1f 100644 --- a/packages/rstest/src/node-defaults.ts +++ b/packages/rstest/src/node-defaults.ts @@ -33,7 +33,8 @@ export const withRstestDefaults = ( * (`patchNodeMFConfig` in packages/rsbuild-plugin/src/utils/ssr.ts) with * the same script transport default. Test workers additionally require * `library.name` to equal the container name so the container is resolvable - * inside the worker. + * inside the worker. ESM library types are normalized because Rstest runs + * Node test bundles with module output disabled. */ export const withNodeDefaults = ( options: ModuleFederationOptions, @@ -66,13 +67,26 @@ export const withNodeDefaults = ( ); } + const userLibraryType = merged.library?.type; + const usesEsmLibrary = + userLibraryType === 'module' || userLibraryType === 'modern-module'; + const libraryType = usesEsmLibrary + ? 'commonjs-module' + : (userLibraryType ?? 'commonjs-module'); + + if (usesEsmLibrary) { + logger.warn( + `library.type "${userLibraryType}" is overridden with "commonjs-module": rstest disables module output in Node test workers.`, + ); + } + return { ...merged, remoteType: merged.remoteType ?? 'script', library: { ...merged.library, name: merged.name, - type: merged.library?.type ?? 'commonjs-module', + type: libraryType, }, runtimePlugins, experiments: { diff --git a/packages/rstest/src/plugin.ts b/packages/rstest/src/plugin.ts index 98bd01ed22d..231bf3a5ca5 100644 --- a/packages/rstest/src/plugin.ts +++ b/packages/rstest/src/plugin.ts @@ -9,7 +9,7 @@ import { applyDefaultsToFederationPlugins, collectRemoteNames, } from './remotes'; -import { appendRspackHook, applyNodeRspackDefaults } from './rspack-hook'; +import { applyNodeRspackDefaults } from './rspack-hook'; import type { ModuleFederationOptions, RstestFederationOptions } from './types'; /** @@ -56,10 +56,7 @@ const createRspackPatcher = ( let remoteNames: Set | undefined; rspackConfig.externals = [ createFederationExternalBypass(() => { - remoteNames ??= collectRemoteNames( - moduleFederationOptions?.remotes, - rspackConfig.plugins, - ); + remoteNames ??= collectRemoteNames(rspackConfig.plugins); return remoteNames; }), ...toArray(rspackConfig.externals), @@ -152,24 +149,23 @@ export const federation = ( // the rspack patcher stays ahead of externals added by other plugins. order: 'post', handler: (config, { mergeEnvironmentConfig }) => { - const merged = isNodeTarget - ? mergeEnvironmentConfig(config, { - output: { - target: 'node', - }, - } satisfies EnvironmentConfig) - : mergeEnvironmentConfig(config); - - appendRspackHook( - merged, - createRspackPatcher( - moduleFederationOptions, - isNodeTarget, - patchedRspackConfigs, - ), - ); - - return merged; + const pluginConfig: EnvironmentConfig = { + tools: { + rspack: createRspackPatcher( + moduleFederationOptions, + isNodeTarget, + patchedRspackConfigs, + ), + }, + }; + + if (isNodeTarget) { + pluginConfig.output = { + target: 'node', + }; + } + + return mergeEnvironmentConfig(config, pluginConfig); }, }); }, diff --git a/packages/rstest/src/remotes.test.ts b/packages/rstest/src/remotes.test.ts index cb17325c938..8c87e0697d3 100644 --- a/packages/rstest/src/remotes.test.ts +++ b/packages/rstest/src/remotes.test.ts @@ -4,59 +4,84 @@ import { describe, expect, it } from '@rstest/core'; import { collectRemoteNames } from './remotes'; describe('collectRemoteNames', () => { - it('collects remote names from object keys and string entries', () => { - expect( - collectRemoteNames({ - objectRemote: 'remote@http://localhost:3001/remoteEntry.js', - stringlessObjectRemote: { - external: 'commonjs /tmp/remoteEntry.js', - }, - }), - ).toEqual(new Set(['objectRemote', 'stringlessObjectRemote'])); - + it('collects remote names from every federation plugin shape', () => { expect( collectRemoteNames([ - 'stringRemote@http://localhost:3002/mf-manifest.json', - { - name: 'namedRemote@http://localhost:3003/remoteEntry.js', - }, - { - alias: 'aliasedContainer@http://localhost:3004/remoteEntry.js', - }, - { - first: 'firstContainer@http://localhost:3005/remoteEntry.js', - second: 'secondContainer@http://localhost:3006/remoteEntry.js', - }, + new ModuleFederationPlugin({ + name: 'object_host', + remotes: { + objectRemote: 'remote@http://localhost:3001/remoteEntry.js', + stringlessObjectRemote: { + external: 'commonjs /tmp/remoteEntry.js', + }, + }, + }), + new ModuleFederationPlugin({ + name: 'string_host', + remotes: [ + 'stringRemote@http://localhost:3002/mf-manifest.json', + { + name: 'namedRemote@http://localhost:3003/remoteEntry.js', + }, + { + alias: 'aliasedContainer@http://localhost:3004/remoteEntry.js', + }, + { + first: 'firstContainer@http://localhost:3005/remoteEntry.js', + second: 'secondContainer@http://localhost:3006/remoteEntry.js', + }, + ], + }), ]), - ).toEqual(new Set(['stringRemote', 'name', 'alias', 'first', 'second'])); + ).toEqual( + new Set([ + 'objectRemote', + 'stringlessObjectRemote', + 'stringRemote', + 'name', + 'alias', + 'first', + 'second', + ]), + ); }); it('parses scoped string remotes as name@entry', () => { expect( collectRemoteNames([ - '@scope/remote@http://localhost:3001/remoteEntry.js', - '@scope/manifest-remote@http://localhost:3002/mf-manifest.json', + new ModuleFederationPlugin({ + name: 'scoped_host', + remotes: [ + '@scope/remote@http://localhost:3001/remoteEntry.js', + '@scope/manifest-remote@http://localhost:3002/mf-manifest.json', + ], + }), ]), ).toEqual(new Set(['@scope/remote', '@scope/manifest-remote'])); }); - it('collects fallback remote names from plugin options only when provided', () => { + it('collects remote names from multiple federation plugins', () => { expect( - collectRemoteNames(undefined, [ + collectRemoteNames([ new ModuleFederationPlugin({ - name: 'fallback_host', + name: 'first_host', remotes: { - fallbackRemote: - 'fallbackRemote@http://localhost:3005/remoteEntry.js', + firstRemote: 'firstRemote@http://localhost:3005/remoteEntry.js', + }, + }), + new ModuleFederationPlugin({ + name: 'second_host', + remotes: { + secondRemote: 'secondRemote@http://localhost:3006/remoteEntry.js', }, }), ]), - ).toEqual(new Set(['fallbackRemote'])); + ).toEqual(new Set(['firstRemote', 'secondRemote'])); }); it('ignores similarly shaped non-federation plugins', () => { expect( - collectRemoteNames(undefined, [ + collectRemoteNames([ { name: 'WrappedFederationPlugin', _options: { @@ -66,10 +91,6 @@ describe('collectRemoteNames', () => { }, }, }, - { - name: 'SomeOtherPlugin', - _options: { name: 'not_federation' }, - }, ]), ).toEqual(new Set()); }); diff --git a/packages/rstest/src/remotes.ts b/packages/rstest/src/remotes.ts index 26746c84095..74fa066b838 100644 --- a/packages/rstest/src/remotes.ts +++ b/packages/rstest/src/remotes.ts @@ -72,7 +72,9 @@ const getModuleFederationPlugin = ( export const applyDefaultsToFederationPlugins = ( plugins: unknown[] | undefined, - getDefaults: (options: ModuleFederationOptions) => ModuleFederationOptions, + normalizeOptions: ( + options: ModuleFederationOptions, + ) => ModuleFederationOptions, ): void => { if (!plugins) { return; @@ -84,36 +86,21 @@ export const applyDefaultsToFederationPlugins = ( continue; } - federationPlugin._options = getDefaults(federationPlugin._options); + federationPlugin._options = normalizeOptions(federationPlugin._options); } }; -const addFallbackRemoteNamesFromPlugins = ( +export const collectRemoteNames = ( plugins: unknown[] | undefined, - target: Set, -): void => { - if (!plugins) { - return; - } +): Set => { + const remoteNames = new Set(); - for (const plugin of plugins) { + for (const plugin of plugins ?? []) { const federationPlugin = getModuleFederationPlugin(plugin); if (federationPlugin) { - addRemoteNames(federationPlugin._options.remotes, target); + addRemoteNames(federationPlugin._options.remotes, remoteNames); } } -}; - -export const collectRemoteNames = ( - remotes: ModuleFederationOptions['remotes'] | undefined, - fallbackPlugins?: unknown[], -): Set => { - const remoteNames = new Set(); - addRemoteNames(remotes, remoteNames); - - if (!remoteNames.size) { - addFallbackRemoteNamesFromPlugins(fallbackPlugins, remoteNames); - } return remoteNames; }; diff --git a/packages/rstest/src/rspack-hook.ts b/packages/rstest/src/rspack-hook.ts index 94459cd7c3e..5ac8cfc7ae2 100644 --- a/packages/rstest/src/rspack-hook.ts +++ b/packages/rstest/src/rspack-hook.ts @@ -1,23 +1,4 @@ -import type { EnvironmentConfig, Rspack } from '@rsbuild/core'; - -export type RspackConfigPatcher = (rspackConfig: Rspack.Configuration) => void; - -export const appendRspackHook = ( - config: EnvironmentConfig, - patchRspackConfig: RspackConfigPatcher, -): void => { - config.tools ||= {}; - - const existing = config.tools.rspack; - if (!existing) { - config.tools.rspack = patchRspackConfig; - return; - } - - config.tools.rspack = Array.isArray(existing) - ? [...existing, patchRspackConfig] - : [existing, patchRspackConfig]; -}; +import type { Rspack } from '@rsbuild/core'; export const applyNodeRspackDefaults = ( rspackConfig: Rspack.Configuration, diff --git a/packages/rstest/src/runtime-plugin.ts b/packages/rstest/src/runtime-plugin.ts index 532a0c6317f..54b6e207c2d 100644 --- a/packages/rstest/src/runtime-plugin.ts +++ b/packages/rstest/src/runtime-plugin.ts @@ -4,11 +4,10 @@ import type { RuntimePlugin } from './types'; const require = createRequire(import.meta.url); -export const NODE_RUNTIME_PLUGIN_REQUEST = - '@module-federation/node/runtimePlugin'; +const NODE_RUNTIME_PLUGIN_REQUEST = '@module-federation/node/runtimePlugin'; export const NODE_RUNTIME_PLUGIN = require.resolve(NODE_RUNTIME_PLUGIN_REQUEST); -export const getRuntimePluginName = (runtimePlugin: RuntimePlugin): string => { +const getRuntimePluginName = (runtimePlugin: RuntimePlugin): string => { return typeof runtimePlugin === 'string' ? runtimePlugin : runtimePlugin[0]; }; @@ -36,11 +35,21 @@ export const normalizeRuntimePlugins = ( runtimePlugins: RuntimePlugin[]; hasConfiguredNodeRuntimePlugin: boolean; } => { - const normalized = (runtimePlugins ?? []).map(normalizeRuntimePlugin); - const hasConfiguredNodeRuntimePlugin = normalized.some( - (runtimePlugin) => - getRuntimePluginName(runtimePlugin) === NODE_RUNTIME_PLUGIN, - ); + const normalized: RuntimePlugin[] = []; + let hasConfiguredNodeRuntimePlugin = false; + + for (const runtimePlugin of runtimePlugins ?? []) { + const normalizedPlugin = normalizeRuntimePlugin(runtimePlugin); + const isNodeRuntimePlugin = + getRuntimePluginName(normalizedPlugin) === NODE_RUNTIME_PLUGIN; + + if (isNodeRuntimePlugin && hasConfiguredNodeRuntimePlugin) { + continue; + } + + normalized.push(normalizedPlugin); + hasConfiguredNodeRuntimePlugin ||= isNodeRuntimePlugin; + } return { runtimePlugins: hasConfiguredNodeRuntimePlugin diff --git a/packages/rstest/tests/consumer/index.mts b/packages/rstest/tests/consumer/index.mts index 207a930c961..5aabaecff50 100644 --- a/packages/rstest/tests/consumer/index.mts +++ b/packages/rstest/tests/consumer/index.mts @@ -3,8 +3,6 @@ import { type ModuleFederationOptions, } from '@module-federation/rstest'; -const options: ModuleFederationOptions = { +federation({ name: 'esm_consumer', -}; - -federation(options); +} satisfies ModuleFederationOptions); diff --git a/packages/rstest/tests/integration/remote/build-remote.ts b/packages/rstest/tests/integration/remote/build-remote.ts index 31ed75d4f93..43668d61148 100644 --- a/packages/rstest/tests/integration/remote/build-remote.ts +++ b/packages/rstest/tests/integration/remote/build-remote.ts @@ -1,12 +1,11 @@ import { rm } from 'node:fs/promises'; import { createRequire } from 'node:module'; import path from 'node:path'; -import { fileURLToPath } from 'node:url'; import { ModuleFederationPlugin } from '@module-federation/enhanced/rspack'; import { rspack, type Rspack } from '@rsbuild/core'; const require = createRequire(import.meta.url); -const remoteDirectory = path.dirname(fileURLToPath(import.meta.url)); +const remoteDirectory = import.meta.dirname; const outputDirectory = path.resolve(remoteDirectory, 'dist'); const runCompiler = async (compiler: Rspack.Compiler): Promise => { diff --git a/packages/rstest/tests/integration/rstest.config.ts b/packages/rstest/tests/integration/rstest.config.ts index a26b605c2bc..c16e8f1cf8a 100644 --- a/packages/rstest/tests/integration/rstest.config.ts +++ b/packages/rstest/tests/integration/rstest.config.ts @@ -1,10 +1,9 @@ import path from 'node:path'; -import { fileURLToPath } from 'node:url'; import { pluginModuleFederation } from '@module-federation/rsbuild-plugin'; import { federation } from '@module-federation/rstest'; import { defineConfig } from '@rstest/core'; -const fixtureDirectory = path.dirname(fileURLToPath(import.meta.url)); +const fixtureDirectory = import.meta.dirname; export default defineConfig({ globalSetup: [path.resolve(fixtureDirectory, 'remote/build-remote.ts')], diff --git a/packages/rstest/tsconfig.json b/packages/rstest/tsconfig.json index 6209497d0a1..e1b2e7ea2f3 100644 --- a/packages/rstest/tsconfig.json +++ b/packages/rstest/tsconfig.json @@ -9,7 +9,7 @@ "resolveJsonModule": true, "esModuleInterop": true, "declaration": true, - "types": ["@rstest/core/globals", "node"] + "types": ["node"] }, "include": ["src", "rstest.config.ts"], "references": [ diff --git a/packages/rstest/tsconfig.lib.json b/packages/rstest/tsconfig.lib.json index 27e6f529fa6..c526e0e9d78 100644 --- a/packages/rstest/tsconfig.lib.json +++ b/packages/rstest/tsconfig.lib.json @@ -2,14 +2,8 @@ "extends": "./tsconfig.json", "compilerOptions": { "rootDir": "./src", - "declaration": true, "types": ["node"] }, "include": ["src/**/*.ts"], - "exclude": [ - "src/**/*.spec.ts", - "src/**/*.test.ts", - "dist/**", - "node_modules/**" - ] + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"] } From b1b37d66b1a846d4a00f46529929b6a288f1c29f Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Thu, 30 Jul 2026 01:08:27 +0000 Subject: [PATCH 14/14] chore(rstest): clean package metadata --- packages/rstest/CHANGELOG.md | 1 - packages/rstest/package.json | 4 ++-- pnpm-lock.yaml | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) delete mode 100644 packages/rstest/CHANGELOG.md diff --git a/packages/rstest/CHANGELOG.md b/packages/rstest/CHANGELOG.md deleted file mode 100644 index c8374f747f4..00000000000 --- a/packages/rstest/CHANGELOG.md +++ /dev/null @@ -1 +0,0 @@ -# @module-federation/rstest diff --git a/packages/rstest/package.json b/packages/rstest/package.json index 85d2a998797..8c32ec3087b 100644 --- a/packages/rstest/package.json +++ b/packages/rstest/package.json @@ -46,7 +46,8 @@ "@module-federation/rsbuild-plugin": "workspace:*", "@rslib/core": "^0.23.2", "@rsbuild/core": "2.1.4", - "@rstest/core": "^0.11.4" + "@rstest/core": "^0.11.4", + "typescript": "6.0.3" }, "peerDependencies": { "@rstest/core": ">=0.11.4", @@ -63,7 +64,6 @@ "dependencies": { "@module-federation/enhanced": "workspace:*", "@module-federation/node": "workspace:*", - "@module-federation/rspack": "workspace:*", "@module-federation/sdk": "workspace:*" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 93ca156db4d..b066f271bae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4058,9 +4058,6 @@ importers: '@module-federation/node': specifier: workspace:* version: link:../node - '@module-federation/rspack': - specifier: workspace:* - version: link:../rspack '@module-federation/sdk': specifier: workspace:* version: link:../sdk @@ -4077,6 +4074,9 @@ importers: '@rstest/core': specifier: ^0.11.4 version: 0.11.4(@module-federation/runtime-tools@2.8.0)(core-js@3.49.0)(jsdom@20.0.3) + typescript: + specifier: 6.0.3 + version: 6.0.3 packages/runtime: dependencies: