From 5237f654dba42a33e72287b89b99f1fa875a7ffe Mon Sep 17 00:00:00 2001 From: Gengkun Date: Mon, 8 Jan 2024 20:06:56 +0800 Subject: [PATCH] feat: upgrade rspack to 0.5 canary (#1171) --- packages/core/package.json | 3 +- packages/core/src/provider/plugins/hmr.ts | 10 +- packages/core/src/provider/plugins/swc.ts | 7 + .../tests/__snapshots__/builder.test.ts.snap | 7 +- .../__snapshots__/default.test.ts.snap | 28 ++-- .../plugins/__snapshots__/swc.test.ts.snap | 24 +++ .../rspack-provider/plugins/minimize.test.ts | 16 +- packages/plugin-react/package.json | 2 +- packages/plugin-react/src/react.ts | 59 +------ .../tests/__snapshots__/index.test.ts.snap | 8 +- packages/shared/package.json | 2 +- packages/shared/src/minimize.ts | 9 +- packages/shared/src/types/config/output.ts | 4 +- packages/shared/src/types/rspack.ts | 49 ++++-- packages/test-helper/package.json | 2 +- pnpm-lock.yaml | 146 +++++++----------- 16 files changed, 178 insertions(+), 198 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 3494c4fab1..3040c75c7c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -61,7 +61,8 @@ }, "dependencies": { "@rsbuild/shared": "workspace:*", - "@rspack/core": "0.4.5", + "@rspack/core": "0.4.5-canary-be59383-20240105051840", + "@swc/helpers": "0.5.3", "core-js": "~3.32.2", "html-webpack-plugin": "npm:html-rspack-plugin@5.5.7", "postcss": "8.4.31" diff --git a/packages/core/src/provider/plugins/hmr.ts b/packages/core/src/provider/plugins/hmr.ts index 264ad275db..48c2ad48c0 100644 --- a/packages/core/src/provider/plugins/hmr.ts +++ b/packages/core/src/provider/plugins/hmr.ts @@ -1,17 +1,21 @@ import type { RsbuildPlugin } from '../../types'; -import { setConfig, isUsingHMR } from '@rsbuild/shared'; +import { isUsingHMR } from '@rsbuild/shared'; export const pluginHMR = (): RsbuildPlugin => ({ name: 'rsbuild:hmr', setup(api) { - api.modifyRspackConfig((rspackConfig, utils) => { + api.modifyBundlerChain((chain, utils) => { const config = api.getNormalizedConfig(); const usingHMR = isUsingHMR(config, utils); - setConfig(rspackConfig, 'devServer.hot', usingHMR); + if (usingHMR) { + chain + .plugin(utils.CHAIN_ID.PLUGIN.HMR) + .use(utils.bundler.HotModuleReplacementPlugin); + } }); }, }); diff --git a/packages/core/src/provider/plugins/swc.ts b/packages/core/src/provider/plugins/swc.ts index 68d5ce4487..192027f966 100644 --- a/packages/core/src/provider/plugins/swc.ts +++ b/packages/core/src/provider/plugins/swc.ts @@ -79,6 +79,13 @@ export const pluginSwc = (): RsbuildPlugin => ({ applyDecorator(swcConfig, config.output.enableLatestDecorators); + if (swcConfig.jsc?.externalHelpers) { + chain.resolve.alias.set( + '@swc/helpers', + path.dirname(require.resolve('@swc/helpers/package.json')), + ); + } + // apply polyfill if (isWebTarget(target)) { const polyfillMode = config.output.polyfill; diff --git a/packages/core/tests/__snapshots__/builder.test.ts.snap b/packages/core/tests/__snapshots__/builder.test.ts.snap index d7a72a1aa6..32393aa905 100644 --- a/packages/core/tests/__snapshots__/builder.test.ts.snap +++ b/packages/core/tests/__snapshots__/builder.test.ts.snap @@ -12,9 +12,6 @@ exports[`should use rspack as default bundler > apply rspack correctly 1`] = ` }, }, "context": "", - "devServer": { - "hot": true, - }, "devtool": "cheap-module-source-map", "entry": { "index": [ @@ -649,9 +646,13 @@ exports[`should use rspack as default bundler > apply rspack correctly 1`] = ` RemoveCssSourcemapPlugin { "name": "RemoveCssSourcemapPlugin", }, + HotModuleReplacementPlugin { + "name": "HotModuleReplacementPlugin", + }, ], "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, "extensions": [ diff --git a/packages/core/tests/rspack-provider/plugins/__snapshots__/default.test.ts.snap b/packages/core/tests/rspack-provider/plugins/__snapshots__/default.test.ts.snap index a3a2d58667..38452b8c6a 100644 --- a/packages/core/tests/rspack-provider/plugins/__snapshots__/default.test.ts.snap +++ b/packages/core/tests/rspack-provider/plugins/__snapshots__/default.test.ts.snap @@ -12,9 +12,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly 1`] = ` }, }, "context": "", - "devServer": { - "hot": true, - }, "devtool": "cheap-module-source-map", "entry": { "index": [ @@ -649,9 +646,13 @@ exports[`applyDefaultPlugins > should apply default plugins correctly 1`] = ` RemoveCssSourcemapPlugin { "name": "RemoveCssSourcemapPlugin", }, + HotModuleReplacementPlugin { + "name": "HotModuleReplacementPlugin", + }, ], "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, "extensions": [ @@ -682,9 +683,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when prod }, }, "context": "", - "devServer": { - "hot": false, - }, "devtool": false, "entry": { "index": [ @@ -1243,7 +1241,9 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when prod "_options": { "compress": "{"passes":1,"pure_funcs":[],"drop_console":false}", "exclude": undefined, - "extractComments": "true", + "extractComments": { + "condition": "@preserve|@lic|@cc_on|^/**!", + }, "format": "{"comments":false,"asciiOnly":true}", "include": undefined, "mangle": "{"keep_classnames":false,"keep_fnames":false}", @@ -1370,6 +1370,7 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when prod ], "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, "extensions": [ @@ -1400,9 +1401,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when targe }, }, "context": "", - "devServer": { - "hot": false, - }, "devtool": "cheap-module-source-map", "entry": { "index": [ @@ -1786,6 +1784,9 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when targe }, ], "resolve": { + "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", + }, "conditionNames": [ "require", "node", @@ -1815,9 +1816,6 @@ exports[`tools.rspack > should match snapshot 1`] = ` }, }, "context": "", - "devServer": { - "hot": true, - }, "devtool": "cheap-module-source-map", "entry": { "index": [ @@ -2463,9 +2461,13 @@ exports[`tools.rspack > should match snapshot 1`] = ` RemoveCssSourcemapPlugin { "name": "RemoveCssSourcemapPlugin", }, + HotModuleReplacementPlugin { + "name": "HotModuleReplacementPlugin", + }, ], "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, "extensions": [ diff --git a/packages/core/tests/rspack-provider/plugins/__snapshots__/swc.test.ts.snap b/packages/core/tests/rspack-provider/plugins/__snapshots__/swc.test.ts.snap index a2eadddeb6..cab4aab5e4 100644 --- a/packages/core/tests/rspack-provider/plugins/__snapshots__/swc.test.ts.snap +++ b/packages/core/tests/rspack-provider/plugins/__snapshots__/swc.test.ts.snap @@ -102,6 +102,7 @@ exports[`plugin-swc > should add antd pluginImport 1`] = ` }, "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, }, @@ -205,6 +206,7 @@ exports[`plugin-swc > should add browserslist 1`] = ` }, "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, }, @@ -309,6 +311,7 @@ exports[`plugin-swc > should add browserslist 2`] = ` }, "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, }, @@ -433,6 +436,7 @@ exports[`plugin-swc > should add pluginImport 1`] = ` }, "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, }, @@ -542,6 +546,7 @@ exports[`plugin-swc > should disable all pluginImport 1`] = ` }, "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, }, @@ -637,6 +642,11 @@ exports[`plugin-swc > should disable preset_env in target other than web 1`] = ` }, ], }, + "resolve": { + "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", + }, + }, }, ] `; @@ -738,6 +748,11 @@ exports[`plugin-swc > should disable preset_env mode 1`] = ` }, ], }, + "resolve": { + "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", + }, + }, }, ] `; @@ -844,6 +859,7 @@ exports[`plugin-swc > should enable entry mode preset_env 1`] = ` }, "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, }, @@ -954,6 +970,7 @@ exports[`plugin-swc > should enable usage mode preset_env 1`] = ` }, "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, }, @@ -1063,6 +1080,7 @@ exports[`plugin-swc > should has correct core-js 1`] = ` }, "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, }, @@ -1159,6 +1177,11 @@ exports[`plugin-swc > should has correct core-js 2`] = ` }, ], }, + "resolve": { + "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", + }, + }, }, ] `; @@ -1266,6 +1289,7 @@ exports[`plugin-swc > should'n override browserslist when target platform is not }, "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", }, }, diff --git a/packages/core/tests/rspack-provider/plugins/minimize.test.ts b/packages/core/tests/rspack-provider/plugins/minimize.test.ts index 0d15569b29..d9294d79f8 100644 --- a/packages/core/tests/rspack-provider/plugins/minimize.test.ts +++ b/packages/core/tests/rspack-provider/plugins/minimize.test.ts @@ -35,7 +35,9 @@ describe('plugin-minimize', () => { "_options": { "compress": "{"passes":1,"pure_funcs":[],"drop_console":false}", "exclude": undefined, - "extractComments": "true", + "extractComments": { + "condition": "@preserve|@lic|@cc_on|^/**!", + }, "format": "{"comments":false,"asciiOnly":true}", "include": undefined, "mangle": "{"keep_classnames":false,"keep_fnames":false}", @@ -97,7 +99,9 @@ describe('plugin-minimize', () => { "_options": { "compress": "{"passes":1,"pure_funcs":[],"drop_console":true}", "exclude": undefined, - "extractComments": "true", + "extractComments": { + "condition": "@preserve|@lic|@cc_on|^/**!", + }, "format": "{"comments":false,"asciiOnly":true}", "include": undefined, "mangle": "{"keep_classnames":false,"keep_fnames":false}", @@ -140,7 +144,9 @@ describe('plugin-minimize', () => { "_options": { "compress": "{"passes":1,"pure_funcs":["console.log","console.warn"],"drop_console":false}", "exclude": undefined, - "extractComments": "true", + "extractComments": { + "condition": "@preserve|@lic|@cc_on|^/**!", + }, "format": "{"comments":false,"asciiOnly":true}", "include": undefined, "mangle": "{"keep_classnames":false,"keep_fnames":false}", @@ -183,7 +189,9 @@ describe('plugin-minimize', () => { "_options": { "compress": "{"passes":1,"pure_funcs":[],"drop_console":false}", "exclude": undefined, - "extractComments": "true", + "extractComments": { + "condition": "@preserve|@lic|@cc_on|^/**!", + }, "format": "{"comments":false,"asciiOnly":false}", "include": undefined, "mangle": "{"keep_classnames":false,"keep_fnames":false}", diff --git a/packages/plugin-react/package.json b/packages/plugin-react/package.json index 6867443c45..0307037dae 100644 --- a/packages/plugin-react/package.json +++ b/packages/plugin-react/package.json @@ -27,7 +27,7 @@ }, "dependencies": { "@rsbuild/shared": "workspace:*", - "@rspack/plugin-react-refresh": "0.4.5", + "@rspack/plugin-react-refresh": "0.4.5-canary-be59383-20240105051840", "react-refresh": "^0.14.0" }, "devDependencies": { diff --git a/packages/plugin-react/src/react.ts b/packages/plugin-react/src/react.ts index 71082b9c21..1f1d089a17 100644 --- a/packages/plugin-react/src/react.ts +++ b/packages/plugin-react/src/react.ts @@ -1,57 +1,12 @@ -import { - isProd, - isUsingHMR, - isClientCompiler, - type SwcReactConfig, -} from '@rsbuild/shared'; -import type { Rspack, RsbuildPluginAPI } from '@rsbuild/core'; +import path from 'node:path'; +import { SwcReactConfig, isUsingHMR } from '@rsbuild/shared'; +import type { RsbuildPluginAPI } from '@rsbuild/core'; import type { PluginReactOptions } from '.'; -function getReactRefreshEntry(compiler: Rspack.Compiler) { - const hot = compiler.options.devServer?.hot ?? true; - const refresh = compiler.options.builtins?.react?.refresh ?? true; - - if (hot && refresh) { - const reactRefreshEntryPath = require.resolve( - '@rspack/plugin-react-refresh/react-refresh-entry', - ); - return reactRefreshEntryPath; - } - - return null; -} - -const setupCompiler = (compiler: Rspack.Compiler) => { - if (!isClientCompiler(compiler)) { - return; - } - - const reactRefreshEntry = getReactRefreshEntry(compiler); - if (!reactRefreshEntry) { - return; - } - - new compiler.webpack.EntryPlugin(compiler.context, reactRefreshEntry, { - name: undefined, - }).apply(compiler); -}; - -export const applyBasicReactSupport = ( - api: RsbuildPluginAPI, - options: PluginReactOptions, -) => { - api.onAfterCreateCompiler(({ compiler: multiCompiler }) => { - if (isProd()) { - return; - } - - if ((multiCompiler as Rspack.MultiCompiler).compilers) { - (multiCompiler as Rspack.MultiCompiler).compilers.forEach(setupCompiler); - } else { - setupCompiler(multiCompiler as Rspack.Compiler); - } - }); +export const REACT_REFRESH_PATH = require.resolve('react-refresh'); +const REACT_REFRESH_DIR_PATH = path.dirname(REACT_REFRESH_PATH); +export const applyBasicReactSupport = (api: RsbuildPluginAPI, options: PluginReactOptions) => { api.modifyBundlerChain(async (chain, { CHAIN_ID, isProd, target }) => { const config = api.getNormalizedConfig(); const usingHMR = isUsingHMR(config, { isProd, target }); @@ -87,6 +42,8 @@ export const applyBasicReactSupport = ( return; } + chain.resolve.alias.set('react-refresh', REACT_REFRESH_DIR_PATH); + const { default: ReactRefreshRspackPlugin } = await import( '@rspack/plugin-react-refresh' ); diff --git a/packages/plugin-react/tests/__snapshots__/index.test.ts.snap b/packages/plugin-react/tests/__snapshots__/index.test.ts.snap index 1af79c8f2e..2bd146baba 100644 --- a/packages/plugin-react/tests/__snapshots__/index.test.ts.snap +++ b/packages/plugin-react/tests/__snapshots__/index.test.ts.snap @@ -29,9 +29,6 @@ exports[`plugins/react > should work with swc-loader 1`] = ` }, }, "context": "", - "devServer": { - "hot": true, - }, "devtool": "cheap-module-source-map", "entry": { "index": [ @@ -687,6 +684,9 @@ exports[`plugins/react > should work with swc-loader 1`] = ` RemoveCssSourcemapPlugin { "name": "RemoveCssSourcemapPlugin", }, + HotModuleReplacementPlugin { + "name": "HotModuleReplacementPlugin", + }, ReactRefreshRspackPlugin { "options": { "exclude": /node_modules/i, @@ -696,7 +696,9 @@ exports[`plugins/react > should work with swc-loader 1`] = ` ], "resolve": { "alias": { + "@swc/helpers": "/node_modules//@swc/helpers", "core-js": "/node_modules//core-js", + "react-refresh": "/node_modules//react-refresh", }, "extensions": [ ".ts", diff --git a/packages/shared/package.json b/packages/shared/package.json index 081d81bcbf..3e5a78c529 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -118,7 +118,7 @@ "test:watch": "vitest dev --no-coverage" }, "dependencies": { - "@rspack/core": "0.4.5", + "@rspack/core": "0.4.5-canary-be59383-20240105051840", "caniuse-lite": "^1.0.30001559", "lodash": "^4.17.21", "postcss": "8.4.31" diff --git a/packages/shared/src/minimize.ts b/packages/shared/src/minimize.ts index fcb6a9353c..b075afe3d4 100644 --- a/packages/shared/src/minimize.ts +++ b/packages/shared/src/minimize.ts @@ -1,10 +1,7 @@ import { isObject } from './utils'; import { mergeChainedOptions } from './mergeChainedOptions'; -import type { - NormalizedConfig, - TerserPluginOptions, - RspackBuiltinsConfig, -} from './types'; +import type { NormalizedConfig, TerserPluginOptions } from './types'; +import { SwcJsMinimizerRspackPluginOptions } from '@rspack/core'; function applyRemoveConsole( options: TerserPluginOptions, @@ -76,7 +73,7 @@ export async function getTerserMinifyOptions(config: NormalizedConfig) { } export const getSwcMinimizerOptions = (config: NormalizedConfig) => { - const options: RspackBuiltinsConfig['minifyOptions'] = {}; + const options: SwcJsMinimizerRspackPluginOptions = {}; const { removeConsole } = config.performance; diff --git a/packages/shared/src/types/config/output.ts b/packages/shared/src/types/config/output.ts index 3ff1487b8a..e9a7bbde87 100644 --- a/packages/shared/src/types/config/output.ts +++ b/packages/shared/src/types/config/output.ts @@ -1,6 +1,6 @@ import type { RspackConfig } from '../rspack'; import type { RsbuildTarget } from '../rsbuild'; -import type { Builtins, Externals } from '@rspack/core'; +import type { CopyRspackPluginOptions, Externals } from '@rspack/core'; export type DistPathConfig = { /** The root directory of all files. */ @@ -82,7 +82,7 @@ export type CssModules = { exportLocalsConvention?: CssModuleLocalsConvention; }; -export type CopyPluginOptions = NonNullable; +export type CopyPluginOptions = CopyRspackPluginOptions; export type InlineChunkTestFunction = (params: { size: number; diff --git a/packages/shared/src/types/rspack.ts b/packages/shared/src/types/rspack.ts index b13480e775..9b4977aeda 100644 --- a/packages/shared/src/types/rspack.ts +++ b/packages/shared/src/types/rspack.ts @@ -24,16 +24,7 @@ export type RspackPluginInstance = GetElementType< NonNullable >; -export type RspackBuiltinsConfig = Omit< - BuiltinsOptions, - | 'html' - | 'react' - | 'pluginImport' - | 'decorator' - | 'presetEnv' - | 'emotion' - | 'relay' ->; +export type RspackBuiltinsConfig = BuiltinsOptions; export declare type JscTarget = | 'es3' @@ -122,11 +113,39 @@ export type BuiltinSwcLoaderOptions = { }; preserveAllComments?: boolean; }; - rspackExperiments?: Pick< - BuiltinsOptions, - 'react' | 'decorator' | 'presetEnv' | 'emotion' | 'relay' - > & { - import?: BuiltinsOptions['pluginImport']; + rspackExperiments?: { + relay?: + | boolean + | { + artifactDirectory?: string; + language: 'javascript' | 'typescript' | 'flow'; + }; + emotion?: + | boolean + | { + sourceMap?: boolean; + autoLabel?: 'never' | 'dev-only' | 'always'; + labelFormat?: string; + importMap?: { + [packageName: string]: { + [exportName: string]: { + canonicalImport?: [string, string]; + }; + }; + }; + }; + import?: { + libraryName: string; + libraryDirectory?: string; + customName?: string; + customStyleName?: string; + style?: string | boolean; + styleLibraryDirectory?: string; + camelToDashComponentName?: boolean; + transformToDefaultImport?: boolean; + ignoreEsComponent?: Array; + ignoreStyleComponent?: Array; + }[]; styledComponents?: { displayName?: boolean; ssr?: boolean; diff --git a/packages/test-helper/package.json b/packages/test-helper/package.json index 4f0e8d3fa4..0ba00c9838 100644 --- a/packages/test-helper/package.json +++ b/packages/test-helper/package.json @@ -28,7 +28,7 @@ "dependencies": { "@rsbuild/core": "workspace:*", "@rsbuild/shared": "workspace:*", - "@rspack/core": "0.4.5", + "@rspack/core": "0.4.5-canary-be59383-20240105051840", "@types/lodash": "^4.14.200", "@types/node": "16.x", "lodash": "^4.17.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf8d5427bc..8a8b368ecc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -620,8 +620,11 @@ importers: specifier: workspace:* version: link:../shared '@rspack/core': - specifier: 0.4.5 - version: 0.4.5 + specifier: 0.4.5-canary-be59383-20240105051840 + version: 0.4.5-canary-be59383-20240105051840(@swc/helpers@0.5.3) + '@swc/helpers': + specifier: 0.5.3 + version: 0.5.3 core-js: specifier: ~3.32.2 version: 3.32.2 @@ -1105,8 +1108,8 @@ importers: specifier: workspace:* version: link:../shared '@rspack/plugin-react-refresh': - specifier: 0.4.5 - version: 0.4.5(react-refresh@0.14.0) + specifier: 0.4.5-canary-be59383-20240105051840 + version: 0.4.5-canary-be59383-20240105051840(react-refresh@0.14.0) react-refresh: specifier: ^0.14.0 version: 0.14.0 @@ -1463,8 +1466,8 @@ importers: packages/shared: dependencies: '@rspack/core': - specifier: 0.4.5 - version: 0.4.5 + specifier: 0.4.5-canary-be59383-20240105051840 + version: 0.4.5-canary-be59383-20240105051840(@swc/helpers@0.5.3) caniuse-lite: specifier: ^1.0.30001559 version: 1.0.30001559 @@ -1509,8 +1512,8 @@ importers: specifier: workspace:* version: link:../shared '@rspack/core': - specifier: 0.4.5 - version: 0.4.5 + specifier: 0.4.5-canary-be59383-20240105051840 + version: 0.4.5-canary-be59383-20240105051840(@swc/helpers@0.5.3) '@types/lodash': specifier: ^4.14.200 version: 4.14.200 @@ -4050,28 +4053,28 @@ packages: rslog: 1.2.0 dev: true - /@module-federation/runtime-tools@0.0.0-next-20231225095220: - resolution: {integrity: sha512-Rn4ntKEWR5FdT3IA2gd5vw71GhXiYbNev2F54iBiWHsF0z+J41lHQhNDXDAoTeNmJs64e9dsPhBM2U0VZKo8uA==} + /@module-federation/runtime-tools@0.0.0-next-20240102063242: + resolution: {integrity: sha512-jn1H+2dxyDKcfcG5NFUfvEgMEbDcOHtAkhOkCmDAzGfBQtInUpmSzrN4H2SMo0wXnDaudxGFxfsmDWyrMPu/VA==} dependencies: - '@module-federation/runtime': 0.0.0-next-20231225095220 - '@module-federation/webpack-bundler-runtime': 0.0.0-next-20231225095220 + '@module-federation/runtime': 0.0.0-next-20240102063242 + '@module-federation/webpack-bundler-runtime': 0.0.0-next-20240102063242 dev: false - /@module-federation/runtime@0.0.0-next-20231225095220: - resolution: {integrity: sha512-tsST3igVpXKclGpqq2NNm1wzROks29PGte7GCgSPhoaFVNg076Nl8XzFNPGflCF6g/z13oFw/vahYpBAHkEZgQ==} + /@module-federation/runtime@0.0.0-next-20240102063242: + resolution: {integrity: sha512-nFqXMUWJIUMLBCdKbeeWY8Ui3iYxjkOE3hUNtQKC1n4SuJYCtUa54qpgqwdQh2D0hsrzcRL84lmAx2TodSjHAA==} dependencies: - '@module-federation/sdk': 0.0.0-next-20231225095220 + '@module-federation/sdk': 0.0.0-next-20240102063242 dev: false - /@module-federation/sdk@0.0.0-next-20231225095220: - resolution: {integrity: sha512-0vS5UXCkbKyotZIXAsF+mrL8PQ+xKmKfaDYHdBxXR4kyGSRjSRRokSKkXZNVfPEhy1f1z/oAgUo5AZoOisrrQA==} + /@module-federation/sdk@0.0.0-next-20240102063242: + resolution: {integrity: sha512-yj6osXfRHu1cOareK1Fkh/fAnym93f4McfUIARL53Kdgj2hTIoj/W3SNPtuv6Xo+mDhAoZhyHVqPGpckTG1SqA==} dev: false - /@module-federation/webpack-bundler-runtime@0.0.0-next-20231225095220: - resolution: {integrity: sha512-xzz2FUvj+/TMl2ua/EcFaiYmH54XedH5fU7zQ1/EBZDrt26uJR4vabmvPx3Eb06KfDEcGB2/zkzZNzcT8572CQ==} + /@module-federation/webpack-bundler-runtime@0.0.0-next-20240102063242: + resolution: {integrity: sha512-4FM7ZzWRWYICQxiufts8xd6qekgVjwwgSCsCKdyBNIMVIbvEJ58FJNQ25XJUe+b2hkfarISo4mjH2xoMl9+KJg==} dependencies: - '@module-federation/runtime': 0.0.0-next-20231225095220 - '@module-federation/sdk': 0.0.0-next-20231225095220 + '@module-federation/runtime': 0.0.0-next-20240102063242 + '@module-federation/sdk': 0.0.0-next-20240102063242 dev: false /@napi-rs/image-android-arm-eabi@1.7.0: @@ -4447,106 +4450,64 @@ packages: dev: true optional: true - /@rspack/binding-darwin-arm64@0.4.5: - resolution: {integrity: sha512-H7RaSPN9VEzZf4URZpVV0Is4I1mgOHCzYVxDUZ/9G5vMkTW5baktCxFwbmBPYKcZ8Zoj/hy/DE8fmt1L200NmQ==} + /@rspack/binding-darwin-arm64@0.4.5-canary-be59383-20240105051840: + resolution: {integrity: sha512-6duV563cGkflsCx5u/W+3hgIBhd9jSpMCcIA/lMPuseF+JQSIvQC6lVdbWiNCJHaR4dGodfQYbHV5xLomy9spQ==} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /@rspack/binding-darwin-x64@0.4.5: - resolution: {integrity: sha512-K5HgE4nHwVWizCr2pBLA8N3LXfn1lQCSV5sR+6xQQrVdvRJ5zBhPMwjPOzP+AdmGhrD14zz1j9mktzCvA7FUtg==} + /@rspack/binding-darwin-x64@0.4.5-canary-be59383-20240105051840: + resolution: {integrity: sha512-vPTWA2q1OJF8WaLtSRm7j+lkw/dVG6Wk0d3gcrtRi9JWKPZ3KGKeJNojRvHSgZa4RHVSwIu/U14ZAFSa0GXnBA==} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-arm64-gnu@0.4.5: - resolution: {integrity: sha512-JvESc3imqKbqwal5WesxlV3ix8eIO/07XCj+pkaZWaf4nj/ui02NGtLaeLVxwc1fxHekdLc+ROQrxpdOLhQ1jw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-linux-arm64-musl@0.4.5: - resolution: {integrity: sha512-ziYGYEoLsPEyC0pEAj5clU8XOFr3+r7IExm9/sq2gp+M1as/yTzouEuzO3D8kI0xVfub1WmiEktTBlgjS13CSA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-linux-x64-gnu@0.4.5: - resolution: {integrity: sha512-9cXOIswpSZYhEXeuIWdsQNrgpjHTD4I3v0NPm75cL6cdBtJMHOa/qejO5mdTLzoDdE7waGZAb4uSMfrJOEkwqQ==} + /@rspack/binding-linux-x64-gnu@0.4.5-canary-be59383-20240105051840: + resolution: {integrity: sha512-QOJJs82G4Va/GkQDhKidgXuemYBuNJiZeL4T8lK8rzO3AG9YO2sSB9vZwkWL/9b7i48ac+qPiyNnRmnhvhFIpQ==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@rspack/binding-linux-x64-musl@0.4.5: - resolution: {integrity: sha512-wClTj9mbVKprHIWsLEVJg+ZXT5slF93JsyAALIhAFkNMmn5z0B2NPD7+Oaii62edKMk2nS3dpoHu1JCLDmP0cw==} + /@rspack/binding-win32-x64-msvc@0.4.5-canary-be59383-20240105051840: + resolution: {integrity: sha512-wKOJK7RdudqFVENb2hrB46H2mQ53KY0/JKDGwj3d6PrLnewRh6F26J5sqWi9y5f1lIp4CGX1wELibnjSULrF2A==} cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-win32-arm64-msvc@0.4.5: - resolution: {integrity: sha512-8LNITZqPMKO69nc8hwdcweBXcAS4yAL5W/kZ6zKeb6Ly+X5SBZk7l0WPL7lPMib/vHFkjJjp1buGhzymLU0bzA==} - cpu: [arm64] os: [win32] requiresBuild: true dev: false optional: true - /@rspack/binding-win32-ia32-msvc@0.4.5: - resolution: {integrity: sha512-dndiXygG1ZmSO3unuZ9Mc+7IvqBtFqwvjFZGKUdIcufFr2CjZDL/KR1zJGTmFIzwHKMV2hEH4cZpa2TwisXvGQ==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@rspack/binding-win32-x64-msvc@0.4.5: - resolution: {integrity: sha512-SEu8+pQsnGP7A0/XX5vawsccR825UCOzK5phJ8INSC7Mse8FKzkZpv2Af3PsHl2+N17M0PRgBxTghXR35PXkiw==} - cpu: [x64] - os: [win32] - requiresBuild: true + /@rspack/binding@0.4.5-canary-be59383-20240105051840: + resolution: {integrity: sha512-GS2Oq6gtbQhKXAAUBwy/fqZzFxTWDYTUbxBduC/P+OOqgHNYGNWRFioQ47uHSx9DLuMdOL5rtP4l2EP7xXcQ2g==} + optionalDependencies: + '@rspack/binding-darwin-arm64': 0.4.5-canary-be59383-20240105051840 + '@rspack/binding-darwin-x64': 0.4.5-canary-be59383-20240105051840 + '@rspack/binding-linux-x64-gnu': 0.4.5-canary-be59383-20240105051840 + '@rspack/binding-win32-x64-msvc': 0.4.5-canary-be59383-20240105051840 dev: false - optional: true - /@rspack/binding@0.4.5: - resolution: {integrity: sha512-XmSlt9ucpfebhkWI4guPEym0F+8JZGr8UyBVAtHN2/7SQRI8TL8G1BUQGVgmc7+UKA5RM1Qfps1QmtHYzjARBQ==} - optionalDependencies: - '@rspack/binding-darwin-arm64': 0.4.5 - '@rspack/binding-darwin-x64': 0.4.5 - '@rspack/binding-linux-arm64-gnu': 0.4.5 - '@rspack/binding-linux-arm64-musl': 0.4.5 - '@rspack/binding-linux-x64-gnu': 0.4.5 - '@rspack/binding-linux-x64-musl': 0.4.5 - '@rspack/binding-win32-arm64-msvc': 0.4.5 - '@rspack/binding-win32-ia32-msvc': 0.4.5 - '@rspack/binding-win32-x64-msvc': 0.4.5 - dev: false - - /@rspack/core@0.4.5: - resolution: {integrity: sha512-X29fvCqTJH9OYN5pqa2lYP9hBLGICGVugtpTIAyLtMxC7gqvjvZkG/qisaVsjPyg4p2eB0NvmosnHkRv0GJ4sg==} + /@rspack/core@0.4.5-canary-be59383-20240105051840(@swc/helpers@0.5.3): + resolution: {integrity: sha512-uOjo9UrQNHj4oJwLW+Kp9FvV2+X+N4FkIf6jVh88UV+mAJjaj0XqPp04QR6MarccF8QWbI7HPoa/BFHBFECM8w==} engines: {node: '>=16.0.0'} + peerDependencies: + '@swc/helpers': '>=0.5.1' + peerDependenciesMeta: + '@swc/helpers': + optional: true dependencies: - '@module-federation/runtime-tools': 0.0.0-next-20231225095220 - '@rspack/binding': 0.4.5 - '@swc/helpers': 0.5.1 + '@module-federation/runtime-tools': 0.0.0-next-20240102063242 + '@rspack/binding': 0.4.5-canary-be59383-20240105051840 + '@swc/helpers': 0.5.3 browserslist: 4.22.1 - compare-versions: 6.0.0-rc.1 enhanced-resolve: 5.12.0 graceful-fs: 4.2.10 json-parse-even-better-errors: 3.0.0 neo-async: 2.6.2 - react-refresh: 0.14.0 tapable: 2.2.1 terminal-link: 2.1.1 watchpack: 2.4.0 @@ -4555,8 +4516,8 @@ packages: zod-validation-error: 1.3.1(zod@3.22.4) dev: false - /@rspack/plugin-react-refresh@0.4.5(react-refresh@0.14.0): - resolution: {integrity: sha512-VGauW5J2r8zX+y2DlX1oPHPlruEHM9O+8faLfWWOJF0Gylra+WGD9STWbR+XcYJsCnDzbTzIL5gOq4cQbINcYg==} + /@rspack/plugin-react-refresh@0.4.5-canary-be59383-20240105051840(react-refresh@0.14.0): + resolution: {integrity: sha512-dASSkHlTRoJZ/GT9Ix8tTj1eUjZ3lVobWKYqDM40xkIAulTT5awNzKsqsQXOfiNv3+lHnJtHypDLjFSbnLHGKQ==} peerDependencies: react-refresh: '>=0.10.0 <1.0.0' peerDependenciesMeta: @@ -5098,6 +5059,7 @@ packages: resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} dependencies: tslib: 2.6.2 + dev: true /@swc/helpers@0.5.3: resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==} @@ -6874,10 +6836,6 @@ packages: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: true - /compare-versions@6.0.0-rc.1: - resolution: {integrity: sha512-cFhkjbGY1jLFWIV7KegECbfuyYPxSGvgGkdkfM+ibboQDoPwg2FRHm5BSNTOApiauRBzJIQH7qvOJs2sW5ueKQ==} - dev: false - /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'}