From 823484ba62297a701bc0eb769003c5e492da91c4 Mon Sep 17 00:00:00 2001 From: JounQin Date: Fri, 9 Aug 2024 01:07:39 +0800 Subject: [PATCH 1/9] feat: experimentally support using rspack instead close #21682 Signed-off-by: JounQin --- packages/cli/package.json | 15 + .../cli/src/commands/build/buildFrontend.ts | 4 +- packages/cli/src/commands/build/command.ts | 4 + packages/cli/src/lib/bundler/bundle.ts | 16 +- packages/cli/src/lib/bundler/config.ts | 160 ++++--- packages/cli/src/lib/bundler/optimization.ts | 24 +- packages/cli/src/lib/bundler/server.ts | 14 +- packages/cli/src/lib/bundler/transforms.ts | 23 +- packages/cli/src/lib/bundler/types.ts | 3 + yarn.lock | 447 +++++++++++++++--- 10 files changed, 565 insertions(+), 145 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index de38b0c656..e2726f358a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -166,6 +166,9 @@ "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@backstage/theme": "workspace:^", + "@rspack/core": "^0.7.5", + "@rspack/dev-server": "^0.7.5", + "@rspack/plugin-react-refresh": "^0.7.5", "@types/cross-spawn": "^6.0.2", "@types/diff": "^5.0.0", "@types/ejs": "^3.1.3", @@ -191,12 +194,24 @@ "vite-plugin-node-polyfills": "^0.22.0" }, "peerDependencies": { + "@rspack/core": "^0.7.5", + "@rspack/dev-server": "^0.7.5", + "@rspack/plugin-react-refresh": "^0.7.5", "@vitejs/plugin-react": "^4.0.4", "vite": "^4.4.9", "vite-plugin-html": "^3.2.0", "vite-plugin-node-polyfills": "^0.22.0" }, "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "@rspack/dev-server": { + "optional": true + }, + "@rspack/plugin-react-refresh": { + "optional": true + }, "@vitejs/plugin-react": { "optional": true }, diff --git a/packages/cli/src/commands/build/buildFrontend.ts b/packages/cli/src/commands/build/buildFrontend.ts index f29e0bdd38..5cb6d3b526 100644 --- a/packages/cli/src/commands/build/buildFrontend.ts +++ b/packages/cli/src/commands/build/buildFrontend.ts @@ -25,10 +25,11 @@ interface BuildAppOptions { writeStats: boolean; configPaths: string[]; isModuleFederationRemote?: true; + useRspack?: boolean; } export async function buildFrontend(options: BuildAppOptions) { - const { targetDir, writeStats, configPaths } = options; + const { targetDir, writeStats, configPaths, useRspack } = options; const { name } = await fs.readJson(resolvePath(targetDir, 'package.json')); await buildBundle({ @@ -44,5 +45,6 @@ export async function buildFrontend(options: BuildAppOptions) { args: configPaths, fromPackage: name, })), + useRspack, }); } diff --git a/packages/cli/src/commands/build/command.ts b/packages/cli/src/commands/build/command.ts index c0ad3c912b..4f99ec6a00 100644 --- a/packages/cli/src/commands/build/command.ts +++ b/packages/cli/src/commands/build/command.ts @@ -25,6 +25,8 @@ import { isValidUrl } from '../../lib/urls'; import chalk from 'chalk'; export async function command(opts: OptionValues): Promise { + const useRspack = !!process.env.EXPERIMENTAL_RSPACK; + const role = await findRoleFromCommand(opts); if (role === 'frontend' || role === 'backend') { @@ -40,6 +42,7 @@ export async function command(opts: OptionValues): Promise { targetDir: paths.targetDir, configPaths, writeStats: Boolean(opts.stats), + useRspack, }); } return buildBackend({ @@ -62,6 +65,7 @@ export async function command(opts: OptionValues): Promise { configPaths: [], writeStats: Boolean(opts.stats), isModuleFederationRemote: true, + useRspack, }); } diff --git a/packages/cli/src/lib/bundler/bundle.ts b/packages/cli/src/lib/bundler/bundle.ts index 0aa91a90a6..0a36f54053 100644 --- a/packages/cli/src/lib/bundler/bundle.ts +++ b/packages/cli/src/lib/bundler/bundle.ts @@ -38,7 +38,7 @@ function applyContextToError(error: string, moduleName: string): string { } export async function buildBundle(options: BuildOptions) { - const { statsJsonEnabled, schema: configSchema } = options; + const { statsJsonEnabled, schema: configSchema, useRspack } = options; const paths = resolveBundlingPaths(options); const publicPaths = await resolveOptionalBundlingPaths({ @@ -54,7 +54,7 @@ export async function buildBundle(options: BuildOptions) { getFrontendAppConfigs: () => options.frontendAppConfigs, }; - const configs = []; + const configs: webpack.Configuration[] = []; if (options.moduleFederation?.mode === 'remote') { // Package detection is disabled for remote bundles @@ -119,7 +119,7 @@ export async function buildBundle(options: BuildOptions) { ); } - const { stats } = await build(configs, isCi); + const { stats } = await build(configs, isCi, useRspack); if (!stats) { throw new Error('No stats returned'); @@ -152,10 +152,16 @@ export async function buildBundle(options: BuildOptions) { } } -async function build(configs: webpack.Configuration[], isCi: boolean) { +async function build( + configs: webpack.Configuration[], + isCi: boolean, + useRspack?: boolean, +) { + const bundler: typeof webpack = useRspack ? require('@rspack/core') : webpack; + const stats = await new Promise( (resolve, reject) => { - webpack(configs, (err, buildStats) => { + bundler(configs, (err, buildStats) => { if (err) { if (err.message) { const { errors } = formatWebpackMessages({ diff --git a/packages/cli/src/lib/bundler/config.ts b/packages/cli/src/lib/bundler/config.ts index da7b378fbd..69c673b833 100644 --- a/packages/cli/src/lib/bundler/config.ts +++ b/packages/cli/src/lib/bundler/config.ts @@ -21,7 +21,7 @@ import { } from './types'; import { posix as posixPath, resolve as resolvePath, dirname } from 'path'; import chalk from 'chalk'; -import webpack, { ProvidePlugin } from 'webpack'; +import webpack from 'webpack'; import { BackstagePackage } from '@backstage/cli-node'; import { BundlingPaths } from './paths'; @@ -132,6 +132,7 @@ export async function createConfig( frontendConfig, moduleFederation, publicSubPath = '', + useRspack, } = options; const { plugins, loaders } = transforms(options); @@ -152,15 +153,20 @@ export async function createConfig( options.moduleFederation, ); - plugins.push( - new ReactRefreshPlugin({ - overlay: { - sockProtocol: 'ws', - sockHost: host, - sockPort: port, - }, - }), - ); + if (useRspack) { + const RspackReactRefreshPlugin = require('@rspack/plugin-react-refresh'); + plugins.push(new RspackReactRefreshPlugin()); + } else { + plugins.push( + new ReactRefreshPlugin({ + overlay: { + sockProtocol: 'ws', + sockHost: host, + sockPort: port, + }, + }), + ); + } } if (checksEnabled) { @@ -175,18 +181,24 @@ export async function createConfig( ); } + const rspack = useRspack + ? (require('@rspack/core') as typeof import('@rspack/core').rspack) + : undefined; + const bundler = useRspack ? (rspack as unknown as typeof webpack) : webpack; + // TODO(blam): process is no longer auto polyfilled by webpack in v5. // we use the provide plugin to provide this polyfill, but lets look // to remove this eventually! plugins.push( - new ProvidePlugin({ - process: require.resolve('process/browser'), + new bundler.ProvidePlugin({ + process: require.resolve('process/browser'),, Buffer: ['buffer', 'Buffer'], }), ); if (options.moduleFederation?.mode !== 'remote') { plugins.push( + // `rspack.HtmlRspackPlugin` does not support object type `templateParameters` value, `frontendConfig` in this case new HtmlWebpackPlugin({ meta: { 'backstage-app-mode': options?.appMode ?? 'public', @@ -203,8 +215,13 @@ export async function createConfig( if (options.moduleFederation) { const isRemote = options.moduleFederation?.mode === 'remote'; + const AdaptedModuleFederationPlugin = useRspack + ? (rspack!.container + .ModuleFederationPlugin as unknown as typeof ModuleFederationPlugin) + : ModuleFederationPlugin; + plugins.push( - new ModuleFederationPlugin({ + new AdaptedModuleFederationPlugin({ ...(isRemote && { filename: 'remoteEntry.js', exposes: { @@ -264,13 +281,17 @@ export async function createConfig( } const buildInfo = await readBuildInfo(); + plugins.push( - new webpack.DefinePlugin({ + new bundler.DefinePlugin({ 'process.env.BUILD_INFO': JSON.stringify(buildInfo), - 'process.env.APP_CONFIG': webpack.DefinePlugin.runtimeValue( - () => JSON.stringify(options.getFrontendAppConfigs()), - true, - ), + 'process.env.APP_CONFIG': useRspack + ? // FIXME: see also https://github.com/web-infra-dev/rspack/issues/5606 + JSON.stringify(options.getFrontendAppConfigs()) + : bundler.DefinePlugin.runtimeValue( + () => JSON.stringify(options.getFrontendAppConfigs()), + true, + ), // This allows for conditional imports of react-dom/client, since there's no way // to check for presence of it in source code without module resolution errors. 'process.env.HAS_REACT_DOM_CLIENT': JSON.stringify(hasReactDomClient()), @@ -280,13 +301,17 @@ export async function createConfig( // These files are required by the transpiled code when using React Refresh. // They need to be excluded to the module scope plugin which ensures that files // that exist in the package are required. - const reactRefreshFiles = [ - require.resolve( - '@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js', - ), - require.resolve('@pmmmwh/react-refresh-webpack-plugin/overlay/index.js'), - require.resolve('react-refresh'), - ]; + const reactRefreshFiles = useRspack + ? [] + : [ + require.resolve( + '@pmmmwh/react-refresh-webpack-plugin/lib/runtime/RefreshUtils.js', + ), + require.resolve( + '@pmmmwh/react-refresh-webpack-plugin/overlay/index.js', + ), + require.resolve('react-refresh'), + ]; const mode = isDev ? 'development' : 'production'; const optimization = optimizationConfig(options); @@ -315,16 +340,19 @@ export async function createConfig( // Instead, provide a custom definition which always uses "development" if // the module is part of `react` or `react-dom`, and `config.mode` otherwise. plugins.push( - new webpack.DefinePlugin({ - 'process.env.NODE_ENV': webpack.DefinePlugin.runtimeValue( - ({ module }) => { - if (reactPackageDirs.some(val => module.resource.startsWith(val))) { - return '"development"'; - } + new bundler.DefinePlugin({ + 'process.env.NODE_ENV': useRspack + ? // FIXME: see also https://github.com/web-infra-dev/rspack/issues/5606 + JSON.stringify(mode) + : webpack.DefinePlugin.runtimeValue(({ module }) => { + if ( + reactPackageDirs.some(val => module.resource.startsWith(val)) + ) { + return '"development"'; + } - return `"${mode}"`; - }, - ), + return `"${mode}"`; + }), }), ); } @@ -362,13 +390,16 @@ export async function createConfig( http: false, util: require.resolve('util/'), }, - plugins: [ - new LinkedPackageResolvePlugin(paths.rootNodeModules, externalPkgs), - new ModuleScopePlugin( - [paths.targetSrc, paths.targetDev], - [paths.targetPackageJson, ...reactRefreshFiles], - ), - ], + // FIXME: see also https://github.com/web-infra-dev/rspack/issues/3408 + ...(!useRspack && { + plugins: [ + new LinkedPackageResolvePlugin(paths.rootNodeModules, externalPkgs), + new ModuleScopePlugin( + [paths.targetSrc, paths.targetDev], + [paths.targetPackageJson, ...reactRefreshFiles], + ), + ], + }), }, module: { rules: loaders, @@ -396,16 +427,20 @@ export async function createConfig( lazyCompilation: yn(process.env.EXPERIMENTAL_LAZY_COMPILATION), }, plugins, - ...(withCache - ? { - cache: { - type: 'filesystem', - buildDependencies: { - config: [__filename], - }, - }, - } - : {}), + ...(withCache && { + cache: { + type: 'filesystem', + buildDependencies: { + config: [__filename], + }, + }, + }), + ...(useRspack && { + // We're still using `style-loader` for custom `insert` option + experiments: { + css: false, + }, + }), }; } @@ -413,7 +448,7 @@ export async function createBackendConfig( paths: BundlingPaths, options: BackendBundlingOptions, ): Promise { - const { checksEnabled, isDev } = options; + const { checksEnabled, isDev, useRspack } = options; // Find all local monorepo packages and their node_modules, and mark them as external. const { packages } = await getPackages(cliPaths.targetDir); @@ -484,13 +519,16 @@ export async function createBackendConfig( extensions: ['.ts', '.mjs', '.js', '.json'], mainFields: ['main'], modules: [paths.rootNodeModules, ...moduleDirs], - plugins: [ - new LinkedPackageResolvePlugin(paths.rootNodeModules, externalPkgs), - new ModuleScopePlugin( - [paths.targetSrc, paths.targetDev], - [paths.targetPackageJson], - ), - ], + // FIXME: see also https://github.com/web-infra-dev/rspack/issues/3408 + ...(!useRspack && { + plugins: [ + new LinkedPackageResolvePlugin(paths.rootNodeModules, externalPkgs), + new ModuleScopePlugin( + [paths.targetSrc, paths.targetDev], + [paths.targetPackageJson], + ), + ], + }), }, module: { rules: loaders, @@ -517,7 +555,9 @@ export async function createBackendConfig( nodeArgs: runScriptNodeArgs.length > 0 ? runScriptNodeArgs : undefined, args: process.argv.slice(3), // drop `node backstage-cli backend:dev` }), - new webpack.HotModuleReplacementPlugin(), + new (useRspack + ? require('@rspack/core').rspack.HotModuleReplacementPlugin + : webpack.HotModuleReplacementPlugin)(), ...(checksEnabled ? [ new ForkTsCheckerWebpackPlugin({ diff --git a/packages/cli/src/lib/bundler/optimization.ts b/packages/cli/src/lib/bundler/optimization.ts index cf240b4791..1cef6b6205 100644 --- a/packages/cli/src/lib/bundler/optimization.ts +++ b/packages/cli/src/lib/bundler/optimization.ts @@ -22,22 +22,35 @@ const { EsbuildPlugin } = require('esbuild-loader'); export const optimization = ( options: BundlingOptions, ): WebpackOptionsNormalized['optimization'] => { - const { isDev } = options; + const { isDev, useRspack } = options; + + const extralOptions = useRspack + ? {} + : { maxAsyncRequests: Infinity, maxInitialRequests: Infinity }; + + const rspack = useRspack + ? (require('@rspack/core') as typeof import('@rspack/core').rspack) + : undefined; + + const MinifyPlugin = useRspack + ? rspack!.SwcJsMinimizerRspackPlugin + : EsbuildPlugin; return { minimize: !isDev, minimizer: [ - new EsbuildPlugin({ + new MinifyPlugin({ target: 'ES2022', format: 'iife', exclude: 'remoteEntry.js', }), // Avoid iife wrapping of module federation remote entry as it breaks the variable assignment - new EsbuildPlugin({ + new MinifyPlugin({ target: 'ES2022', format: undefined, include: 'remoteEntry.js', }), + useRspack && new rspack!.LightningCssMinimizerRspackPlugin(), ], runtimeChunk: 'single', splitChunks: { @@ -69,9 +82,8 @@ export const optimization = ( priority: 10, minSize: 100000, minChunks: 1, - maxAsyncRequests: Infinity, - maxInitialRequests: Infinity, - } as any, // filename is not included in type, but we need it + ...extralOptions, + }, // filename is not included in type, but we need it // Group together the smallest modules vendor: { chunks: 'initial', diff --git a/packages/cli/src/lib/bundler/server.ts b/packages/cli/src/lib/bundler/server.ts index 259f3263eb..25d3cbe321 100644 --- a/packages/cli/src/lib/bundler/server.ts +++ b/packages/cli/src/lib/bundler/server.ts @@ -106,12 +106,15 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be }, }); + const useRspack = !!process.env.EXPERIMENTAL_RSPACK; + const commonConfigOptions = { ...options, checksEnabled: options.checksEnabled, isDev: true, baseUrl: url, frontendConfig, + useRspack, getFrontendAppConfigs: () => { return latestFrontendAppConfigs; }, @@ -163,6 +166,11 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be root: paths.targetPath, }); } else { + const bundler = useRspack ? require('@rspack/core') : webpack; + const DevServer: typeof WebpackDevServer = useRspack + ? require('@rspack/dev-server').RspackDevServer + : WebpackDevServer; + const publicPaths = await resolveOptionalBundlingPaths({ entry: 'src/index-public-experimental', dist: 'dist/public', @@ -175,10 +183,10 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be ); } const compiler = publicPaths - ? webpack([config, await createConfig(publicPaths, commonConfigOptions)]) - : webpack(config); + ? bundler([config, await createConfig(publicPaths, commonConfigOptions)]) + : bundler(config); - webpackServer = new WebpackDevServer( + webpackServer = new DevServer( { hot: !process.env.CI, devMiddleware: { diff --git a/packages/cli/src/lib/bundler/transforms.ts b/packages/cli/src/lib/bundler/transforms.ts index 302b2fbe68..a6a49895ef 100644 --- a/packages/cli/src/lib/bundler/transforms.ts +++ b/packages/cli/src/lib/bundler/transforms.ts @@ -26,10 +26,15 @@ type Transforms = { type TransformOptions = { isDev: boolean; isBackend?: boolean; + useRspack?: boolean; }; export const transforms = (options: TransformOptions): Transforms => { - const { isDev, isBackend } = options; + const { isDev, isBackend, useRspack } = options; + + const CssExtractRspackPlugin: typeof MiniCssExtractPlugin = useRspack + ? require('@rspack/core').CssExtractRspackPlugin + : MiniCssExtractPlugin; // This ensures that styles inserted from the style-loader and any // async style chunks are always given lower priority than JSS styles. @@ -54,7 +59,9 @@ export const transforms = (options: TransformOptions): Transforms => { exclude: /node_modules/, use: [ { - loader: require.resolve('swc-loader'), + loader: useRspack + ? 'builtin:swc-loader' + : require.resolve('swc-loader'), options: { jsc: { target: 'es2022', @@ -82,7 +89,9 @@ export const transforms = (options: TransformOptions): Transforms => { exclude: /node_modules/, use: [ { - loader: require.resolve('swc-loader'), + loader: useRspack + ? 'builtin:swc-loader' + : require.resolve('swc-loader'), options: { jsc: { target: 'es2022', @@ -115,7 +124,9 @@ export const transforms = (options: TransformOptions): Transforms => { test: [/\.icon\.svg$/], use: [ { - loader: require.resolve('swc-loader'), + loader: useRspack + ? 'builtin:swc-loader' + : require.resolve('swc-loader'), options: { jsc: { target: 'es2022', @@ -179,7 +190,7 @@ export const transforms = (options: TransformOptions): Transforms => { insert: insertBeforeJssStyles, }, } - : MiniCssExtractPlugin.loader, + : CssExtractRspackPlugin.loader, { loader: require.resolve('css-loader'), options: { @@ -194,7 +205,7 @@ export const transforms = (options: TransformOptions): Transforms => { if (!isDev) { plugins.push( - new MiniCssExtractPlugin({ + new CssExtractRspackPlugin({ filename: 'static/[name].[contenthash:8].css', chunkFilename: 'static/[name].[id].[contenthash:8].css', insert: insertBeforeJssStyles, // Only applies to async chunks diff --git a/packages/cli/src/lib/bundler/types.ts b/packages/cli/src/lib/bundler/types.ts index f8e228c5c4..8b48976f9b 100644 --- a/packages/cli/src/lib/bundler/types.ts +++ b/packages/cli/src/lib/bundler/types.ts @@ -37,6 +37,7 @@ export type BundlingOptions = { // Mode that the app is running in, 'protected' or 'public', default is 'public' appMode?: string; moduleFederation?: ModuleFederationOptions; + useRspack?: boolean; }; export type ServeOptions = BundlingPathsOptions & { @@ -57,6 +58,7 @@ export type BuildOptions = BundlingPathsOptions & { frontendAppConfigs: AppConfig[]; fullConfig: Config; moduleFederation?: ModuleFederationOptions; + useRspack?: boolean; }; export type BackendBundlingOptions = { @@ -66,6 +68,7 @@ export type BackendBundlingOptions = { inspectEnabled: boolean; inspectBrkEnabled: boolean; require?: string; + useRspack?: boolean; }; export type BackendServeOptions = BundlingPathsOptions & { diff --git a/yarn.lock b/yarn.lock index 9c292f5903..7222777537 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3958,6 +3958,9 @@ __metadata: "@rollup/plugin-json": ^6.0.0 "@rollup/plugin-node-resolve": ^15.0.0 "@rollup/plugin-yaml": ^4.0.0 + "@rspack/core": ^0.7.5 + "@rspack/dev-server": ^0.7.5 + "@rspack/plugin-react-refresh": ^0.7.5 "@spotify/eslint-config-base": ^15.0.0 "@spotify/eslint-config-react": ^15.0.0 "@spotify/eslint-config-typescript": ^15.0.0 @@ -4073,11 +4076,20 @@ __metadata: yn: ^4.0.0 zod: ^3.22.4 peerDependencies: + "@rspack/core": ^0.7.5 + "@rspack/dev-server": ^0.7.5 + "@rspack/plugin-react-refresh": ^0.7.5 "@vitejs/plugin-react": ^4.0.4 vite: ^4.4.9 vite-plugin-html: ^3.2.0 vite-plugin-node-polyfills: ^0.22.0 peerDependenciesMeta: + "@rspack/core": + optional: true + "@rspack/dev-server": + optional: true + "@rspack/plugin-react-refresh": + optional: true "@vitejs/plugin-react": optional: true vite: @@ -11270,6 +11282,16 @@ __metadata: languageName: node linkType: hard +"@module-federation/runtime-tools@npm:0.1.6": + version: 0.1.6 + resolution: "@module-federation/runtime-tools@npm:0.1.6" + dependencies: + "@module-federation/runtime": 0.1.6 + "@module-federation/webpack-bundler-runtime": 0.1.6 + checksum: a902fe7fd07707be566fec6620c71d597311cee02cc2c2605b9b796f9aad07fcc3c60939efb2e139b01b28ac599d610f5dbc054c555915cd9e5fcc9324598413 + languageName: node + linkType: hard + "@module-federation/runtime-tools@npm:0.3.5": version: 0.3.5 resolution: "@module-federation/runtime-tools@npm:0.3.5" @@ -11280,6 +11302,15 @@ __metadata: languageName: node linkType: hard +"@module-federation/runtime@npm:0.1.6": + version: 0.1.6 + resolution: "@module-federation/runtime@npm:0.1.6" + dependencies: + "@module-federation/sdk": 0.1.6 + checksum: c564636edd5c1abf5ddf54a6d0dde8fcad1a72d2561163a841f08c354fb1a6e2c69e89d0ec3e5412d55556ea19057ad1980962fbd571aca5a0fb7945e60c0822 + languageName: node + linkType: hard + "@module-federation/runtime@npm:0.3.5": version: 0.3.5 resolution: "@module-federation/runtime@npm:0.3.5" @@ -11289,6 +11320,13 @@ __metadata: languageName: node linkType: hard +"@module-federation/sdk@npm:0.1.6": + version: 0.1.6 + resolution: "@module-federation/sdk@npm:0.1.6" + checksum: 99442f2269e916af78f9f77f7fc71a40e83e4dec5408d6ea8b1f053662005e5717340f91c666cce178e0d9ab92b13826f7cba5e00417bce2a3ee67c0face6ac5 + languageName: node + linkType: hard + "@module-federation/sdk@npm:0.3.5": version: 0.3.5 resolution: "@module-federation/sdk@npm:0.3.5" @@ -11307,6 +11345,16 @@ __metadata: languageName: node linkType: hard +"@module-federation/webpack-bundler-runtime@npm:0.1.6": + version: 0.1.6 + resolution: "@module-federation/webpack-bundler-runtime@npm:0.1.6" + dependencies: + "@module-federation/runtime": 0.1.6 + "@module-federation/sdk": 0.1.6 + checksum: 7dd6478cdd34881e974f67c8fe3cf668dbd881722416e214981eb423a67a7a1743564d60e652c6819445b1ab8d13fef823ea309c9c75c189001e75e81bd34fb3 + languageName: node + linkType: hard + "@module-federation/webpack-bundler-runtime@npm:0.3.5": version: 0.3.5 resolution: "@module-federation/webpack-bundler-runtime@npm:0.3.5" @@ -15068,6 +15116,153 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-darwin-arm64@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding-darwin-arm64@npm:0.7.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rspack/binding-darwin-x64@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding-darwin-x64@npm:0.7.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rspack/binding-linux-arm64-gnu@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding-linux-arm64-gnu@npm:0.7.5" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rspack/binding-linux-arm64-musl@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding-linux-arm64-musl@npm:0.7.5" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rspack/binding-linux-x64-gnu@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding-linux-x64-gnu@npm:0.7.5" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rspack/binding-linux-x64-musl@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding-linux-x64-musl@npm:0.7.5" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rspack/binding-win32-arm64-msvc@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding-win32-arm64-msvc@npm:0.7.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rspack/binding-win32-ia32-msvc@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding-win32-ia32-msvc@npm:0.7.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rspack/binding-win32-x64-msvc@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding-win32-x64-msvc@npm:0.7.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rspack/binding@npm:0.7.5": + version: 0.7.5 + resolution: "@rspack/binding@npm:0.7.5" + dependencies: + "@rspack/binding-darwin-arm64": 0.7.5 + "@rspack/binding-darwin-x64": 0.7.5 + "@rspack/binding-linux-arm64-gnu": 0.7.5 + "@rspack/binding-linux-arm64-musl": 0.7.5 + "@rspack/binding-linux-x64-gnu": 0.7.5 + "@rspack/binding-linux-x64-musl": 0.7.5 + "@rspack/binding-win32-arm64-msvc": 0.7.5 + "@rspack/binding-win32-ia32-msvc": 0.7.5 + "@rspack/binding-win32-x64-msvc": 0.7.5 + dependenciesMeta: + "@rspack/binding-darwin-arm64": + optional: true + "@rspack/binding-darwin-x64": + optional: true + "@rspack/binding-linux-arm64-gnu": + optional: true + "@rspack/binding-linux-arm64-musl": + optional: true + "@rspack/binding-linux-x64-gnu": + optional: true + "@rspack/binding-linux-x64-musl": + optional: true + "@rspack/binding-win32-arm64-msvc": + optional: true + "@rspack/binding-win32-ia32-msvc": + optional: true + "@rspack/binding-win32-x64-msvc": + optional: true + checksum: de25c44cc9c3a240c6f59a657d19d7170c3af1c99097fe2aa5118e2af7b0d606935ad45640102888ce1806bc67fb207189f562cfbcfe4c1628116f5b06f7c6b6 + languageName: node + linkType: hard + +"@rspack/core@npm:^0.7.5": + version: 0.7.5 + resolution: "@rspack/core@npm:0.7.5" + dependencies: + "@module-federation/runtime-tools": 0.1.6 + "@rspack/binding": 0.7.5 + caniuse-lite: ^1.0.30001616 + tapable: 2.2.1 + webpack-sources: 3.2.3 + peerDependencies: + "@swc/helpers": ">=0.5.1" + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 9e41005231d7a58888cb349ee26737752087f13847f6178308f04e99169187996e40cdaf8987e656a81fe1fb91aeb2e8ca2f1fa32fed46b04fe2709325e5a387 + languageName: node + linkType: hard + +"@rspack/dev-server@npm:^0.7.5": + version: 0.7.5 + resolution: "@rspack/dev-server@npm:0.7.5" + dependencies: + chokidar: 3.5.3 + connect-history-api-fallback: 2.0.0 + express: 4.19.2 + http-proxy-middleware: 2.0.6 + mime-types: 2.1.35 + webpack-dev-middleware: 6.1.2 + webpack-dev-server: 4.13.1 + ws: 8.8.1 + peerDependencies: + "@rspack/core": "*" + checksum: d5c767726b1083797cdcc852cb0603fc81ae0225341b5cf52d15e847ced0f1672b83a42bd3237fd047ba63ebe5a9032f5de9ca8c47f318e6ac68425c91ff46d7 + languageName: node + linkType: hard + +"@rspack/plugin-react-refresh@npm:^0.7.5": + version: 0.7.5 + resolution: "@rspack/plugin-react-refresh@npm:0.7.5" + peerDependencies: + react-refresh: ">=0.10.0 <1.0.0" + peerDependenciesMeta: + react-refresh: + optional: true + checksum: ab5f480c44563799bd5d837a608223e57ac41d535adcd22fb8f40625f6bda83e2ece28d40dce4c290249e7c9a8657781b5dfa864b14fae86017e41925d026655 + languageName: node + linkType: hard + "@rushstack/node-core-library@npm:3.59.7": version: 3.59.7 resolution: "@rushstack/node-core-library@npm:3.59.7" @@ -17476,7 +17671,7 @@ __metadata: languageName: node linkType: hard -"@types/bonjour@npm:^3.5.13": +"@types/bonjour@npm:^3.5.13, @types/bonjour@npm:^3.5.9": version: 3.5.13 resolution: "@types/bonjour@npm:3.5.13" dependencies: @@ -17581,7 +17776,7 @@ __metadata: languageName: node linkType: hard -"@types/connect-history-api-fallback@npm:^1.5.4": +"@types/connect-history-api-fallback@npm:^1.3.5, @types/connect-history-api-fallback@npm:^1.5.4": version: 1.5.4 resolution: "@types/connect-history-api-fallback@npm:1.5.4" dependencies: @@ -17870,7 +18065,7 @@ __metadata: languageName: node linkType: hard -"@types/express@npm:*, @types/express@npm:^4.17.14, @types/express@npm:^4.17.21, @types/express@npm:^4.17.6": +"@types/express@npm:*, @types/express@npm:^4.17.13, @types/express@npm:^4.17.14, @types/express@npm:^4.17.21, @types/express@npm:^4.17.6": version: 4.17.21 resolution: "@types/express@npm:4.17.21" dependencies: @@ -18365,13 +18560,6 @@ __metadata: languageName: node linkType: hard -"@types/mime@npm:*": - version: 3.0.4 - resolution: "@types/mime@npm:3.0.4" - checksum: a6139c8e1f705ef2b064d072f6edc01f3c099023ad7c4fce2afc6c2bf0231888202adadbdb48643e8e20da0ce409481a49922e737eca52871b3dc08017455843 - languageName: node - linkType: hard - "@types/mime@npm:^1": version: 1.3.2 resolution: "@types/mime@npm:1.3.2" @@ -18895,6 +19083,13 @@ __metadata: languageName: node linkType: hard +"@types/retry@npm:0.12.0": + version: 0.12.0 + resolution: "@types/retry@npm:0.12.0" + checksum: 61a072c7639f6e8126588bf1eb1ce8835f2cb9c2aba795c4491cf6310e013267b0c8488039857c261c387e9728c1b43205099223f160bb6a76b4374f741b5603 + languageName: node + linkType: hard + "@types/retry@npm:0.12.2": version: 0.12.2 resolution: "@types/retry@npm:0.12.2" @@ -18960,7 +19155,7 @@ __metadata: languageName: node linkType: hard -"@types/serve-index@npm:^1.9.4": +"@types/serve-index@npm:^1.9.1, @types/serve-index@npm:^1.9.4": version: 1.9.4 resolution: "@types/serve-index@npm:1.9.4" dependencies: @@ -18969,14 +19164,14 @@ __metadata: languageName: node linkType: hard -"@types/serve-static@npm:*, @types/serve-static@npm:^1.15.5": - version: 1.15.5 - resolution: "@types/serve-static@npm:1.15.5" +"@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10, @types/serve-static@npm:^1.15.5": + version: 1.15.7 + resolution: "@types/serve-static@npm:1.15.7" dependencies: "@types/http-errors": "*" - "@types/mime": "*" "@types/node": "*" - checksum: 0ff4b3703cf20ba89c9f9e345bc38417860a88e85863c8d6fe274a543220ab7f5f647d307c60a71bb57dc9559f0890a661e8dc771a6ec5ef195d91c8afc4a893 + "@types/send": "*" + checksum: bbbf00dbd84719da2250a462270dc68964006e8d62f41fe3741abd94504ba3688f420a49afb2b7478921a1544d3793183ffa097c5724167da777f4e0c7f1a7d6 languageName: node linkType: hard @@ -19019,7 +19214,7 @@ __metadata: languageName: node linkType: hard -"@types/sockjs@npm:^0.3.36": +"@types/sockjs@npm:^0.3.33, @types/sockjs@npm:^0.3.36": version: 0.3.36 resolution: "@types/sockjs@npm:0.3.36" dependencies: @@ -19253,12 +19448,12 @@ __metadata: languageName: node linkType: hard -"@types/ws@npm:*, @types/ws@npm:^8.0.0, @types/ws@npm:^8.5.10, @types/ws@npm:^8.5.3": - version: 8.5.10 - resolution: "@types/ws@npm:8.5.10" +"@types/ws@npm:*, @types/ws@npm:^8.0.0, @types/ws@npm:^8.5.1, @types/ws@npm:^8.5.10, @types/ws@npm:^8.5.3": + version: 8.5.12 + resolution: "@types/ws@npm:8.5.12" dependencies: "@types/node": "*" - checksum: 3ec416ea2be24042ebd677932a462cf16d2080393d8d7d0b1b3f5d6eaa4a7387aaf0eefb99193c0bfd29444857cf2e0c3ac89899e130550dc6c14ada8a46d25e + checksum: ddefb6ad1671f70ce73b38a5f47f471d4d493864fca7c51f002a86e5993d031294201c5dced6d5018fb8905ad46888d65c7f20dd54fc165910b69f42fba9a6d0 languageName: node linkType: hard @@ -22203,7 +22398,7 @@ __metadata: languageName: node linkType: hard -"bonjour-service@npm:^1.2.1": +"bonjour-service@npm:^1.0.11, bonjour-service@npm:^1.2.1": version: 1.2.1 resolution: "bonjour-service@npm:1.2.1" dependencies: @@ -22773,10 +22968,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001629": - version: 1.0.30001632 - resolution: "caniuse-lite@npm:1.0.30001632" - checksum: 95be155501650ac36a8c3bdf60886bc8f7c419e7715cdaf1c04941f8676c0bd75355aeda62563092585fbe6f9d50d2eb6dea6bd063d7f6a58004ec62d8f8fe49 +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001616, caniuse-lite@npm:^1.0.30001629": + version: 1.0.30001651 + resolution: "caniuse-lite@npm:1.0.30001651" + checksum: c31a5a01288e70cdbbfb5cd94af3df02f295791673173b8ce6d6a16db4394a6999197d44190be5a6ff06b8c2c7d2047e94dfd5e5eb4c103ab000fca2d370afc7 languageName: node linkType: hard @@ -22921,6 +23116,25 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:3.5.3": + version: 3.5.3 + resolution: "chokidar@npm:3.5.3" + dependencies: + anymatch: ~3.1.2 + braces: ~3.0.2 + fsevents: ~2.3.2 + glob-parent: ~5.1.2 + is-binary-path: ~2.1.0 + is-glob: ~4.0.1 + normalize-path: ~3.0.0 + readdirp: ~3.6.0 + dependenciesMeta: + fsevents: + optional: true + checksum: b49fcde40176ba007ff361b198a2d35df60d9bb2a5aab228279eb810feae9294a6b4649ab15981304447afe1e6ffbf4788ad5db77235dc770ab777c6e771980c + languageName: node + linkType: hard + "chokidar@npm:^3.3.1, chokidar@npm:^3.4.2, chokidar@npm:^3.5.2, chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": version: 3.6.0 resolution: "chokidar@npm:3.6.0" @@ -23758,6 +23972,13 @@ __metadata: languageName: node linkType: hard +"connect-history-api-fallback@npm:2.0.0, connect-history-api-fallback@npm:^2.0.0": + version: 2.0.0 + resolution: "connect-history-api-fallback@npm:2.0.0" + checksum: dc5368690f4a5c413889792f8df70d5941ca9da44523cde3f87af0745faee5ee16afb8195434550f0504726642734f2683d6c07f8b460f828a12c45fbd4c9a68 + languageName: node + linkType: hard + "connect-history-api-fallback@npm:^1.6.0": version: 1.6.0 resolution: "connect-history-api-fallback@npm:1.6.0" @@ -23765,13 +23986,6 @@ __metadata: languageName: node linkType: hard -"connect-history-api-fallback@npm:^2.0.0": - version: 2.0.0 - resolution: "connect-history-api-fallback@npm:2.0.0" - checksum: dc5368690f4a5c413889792f8df70d5941ca9da44523cde3f87af0745faee5ee16afb8195434550f0504726642734f2683d6c07f8b460f828a12c45fbd4c9a68 - languageName: node - linkType: hard - "connect-session-knex@npm:^4.0.0": version: 4.0.0 resolution: "connect-session-knex@npm:4.0.0" @@ -27383,7 +27597,7 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.14.0, express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.18.1, express@npm:^4.18.2, express@npm:^4.19.2": +"express@npm:4.19.2, express@npm:^4.14.0, express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.18.1, express@npm:^4.18.2, express@npm:^4.19.2": version: 4.19.2 resolution: "express@npm:4.19.2" dependencies: @@ -29422,7 +29636,7 @@ __metadata: languageName: node linkType: hard -"html-entities@npm:^2.1.0, html-entities@npm:^2.4.0, html-entities@npm:^2.5.2": +"html-entities@npm:^2.1.0, html-entities@npm:^2.3.2, html-entities@npm:^2.4.0, html-entities@npm:^2.5.2": version: 2.5.2 resolution: "html-entities@npm:2.5.2" checksum: b23f4a07d33d49ade1994069af4e13d31650e3fb62621e92ae10ecdf01d1a98065c78fd20fdc92b4c7881612210b37c275f2c9fba9777650ab0d6f2ceb3b99b6 @@ -29612,7 +29826,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3, http-proxy-middleware@npm:^2.0.6": +"http-proxy-middleware@npm:2.0.6, http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3, http-proxy-middleware@npm:^2.0.6": version: 2.0.6 resolution: "http-proxy-middleware@npm:2.0.6" dependencies: @@ -30189,10 +30403,10 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:^2.1.0": - version: 2.1.0 - resolution: "ipaddr.js@npm:2.1.0" - checksum: 807a054f2bd720c4d97ee479d6c9e865c233bea21f139fb8dabd5a35c4226d2621c42e07b4ad94ff3f82add926a607d8d9d37c625ad0319f0e08f9f2bd1968e2 +"ipaddr.js@npm:^2.0.1, ipaddr.js@npm:^2.1.0": + version: 2.2.0 + resolution: "ipaddr.js@npm:2.2.0" + checksum: 770ba8451fd9bf78015e8edac0d5abd7a708cbf75f9429ca9147a9d2f3a2d60767cd5de2aab2b1e13ca6e4445bdeff42bf12ef6f151c07a5c6cf8a44328e2859 languageName: node linkType: hard @@ -32700,13 +32914,13 @@ __metadata: languageName: node linkType: hard -"launch-editor@npm:^2.6.1": - version: 2.6.1 - resolution: "launch-editor@npm:2.6.1" +"launch-editor@npm:^2.6.0, launch-editor@npm:^2.6.1": + version: 2.8.1 + resolution: "launch-editor@npm:2.8.1" dependencies: picocolors: ^1.0.0 shell-quote: ^1.8.1 - checksum: e06d193075ac09f7f8109f10cabe464a211bf7ed4cbe75f83348d6f67bf4d9f162f06e7a1ab3e1cd7fc250b5342c3b57080618aff2e646dc34248fe499227601 + checksum: 69adfc913c066b0bcd685103907525789db6af3585cdc5f8c1172f0fcebe2c4ea1cff1108f76e9c591c00134329a5fb29e5911e9c0c347618a5300978b6bb767 languageName: node linkType: hard @@ -33947,7 +34161,7 @@ __metadata: languageName: node linkType: hard -"memfs@npm:^3.1.2, memfs@npm:^3.4.1": +"memfs@npm:^3.1.2, memfs@npm:^3.4.1, memfs@npm:^3.4.12, memfs@npm:^3.4.3": version: 3.5.3 resolution: "memfs@npm:3.5.3" dependencies: @@ -36105,14 +36319,14 @@ __metadata: languageName: node linkType: hard -"open@npm:^8.0.0, open@npm:^8.4.0": - version: 8.4.0 - resolution: "open@npm:8.4.0" +"open@npm:^8.0.0, open@npm:^8.0.9, open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" dependencies: define-lazy-prop: ^2.0.0 is-docker: ^2.1.1 is-wsl: ^2.2.0 - checksum: e9545bec64cdbf30a0c35c1bdc310344adf8428a117f7d8df3c0af0a0a24c513b304916a6d9b11db0190ff7225c2d578885080b761ed46a3d5f6f1eebb98b63c + checksum: 6388bfff21b40cb9bd8f913f9130d107f2ed4724ea81a8fd29798ee322b361ca31fa2cdfb491a5c31e43a3996cfe9566741238c7a741ada8d7af1cb78d85cf26 languageName: node linkType: hard @@ -36389,6 +36603,16 @@ __metadata: languageName: node linkType: hard +"p-retry@npm:^4.5.0": + version: 4.6.2 + resolution: "p-retry@npm:4.6.2" + dependencies: + "@types/retry": 0.12.0 + retry: ^0.13.1 + checksum: 45c270bfddaffb4a895cea16cb760dcc72bdecb6cb45fef1971fa6ea2e91ddeafddefe01e444ac73e33b1b3d5d29fb0dd18a7effb294262437221ddc03ce0f2e + languageName: node + linkType: hard + "p-retry@npm:^6.2.0": version: 6.2.0 resolution: "p-retry@npm:6.2.0" @@ -40622,7 +40846,7 @@ __metadata: languageName: node linkType: hard -"selfsigned@npm:^2.0.0, selfsigned@npm:^2.4.1": +"selfsigned@npm:^2.0.0, selfsigned@npm:^2.1.1, selfsigned@npm:^2.4.1": version: 2.4.1 resolution: "selfsigned@npm:2.4.1" dependencies: @@ -42397,6 +42621,13 @@ __metadata: languageName: node linkType: hard +"tapable@npm:2.2.1, tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 + languageName: node + linkType: hard + "tapable@npm:^1.0.0": version: 1.1.3 resolution: "tapable@npm:1.1.3" @@ -42404,13 +42635,6 @@ __metadata: languageName: node linkType: hard -"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 - languageName: node - linkType: hard - "tar-fs@npm:^2.0.0": version: 2.1.1 resolution: "tar-fs@npm:2.1.1" @@ -44642,6 +44866,39 @@ __metadata: languageName: node linkType: hard +"webpack-dev-middleware@npm:6.1.2": + version: 6.1.2 + resolution: "webpack-dev-middleware@npm:6.1.2" + dependencies: + colorette: ^2.0.10 + memfs: ^3.4.12 + mime-types: ^2.1.31 + range-parser: ^1.2.1 + schema-utils: ^4.0.0 + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + checksum: 6e962341db5b3ac8526cd678fc6b128adcb92c288aab767948ab7d01591d7837d2d97cf9329d307831b1d51c831fcea4d8f2eb514efe8c8654ae2a4ae9d9f1fb + languageName: node + linkType: hard + +"webpack-dev-middleware@npm:^5.3.1": + version: 5.3.4 + resolution: "webpack-dev-middleware@npm:5.3.4" + dependencies: + colorette: ^2.0.10 + memfs: ^3.4.3 + mime-types: ^2.1.31 + range-parser: ^1.2.1 + schema-utils: ^4.0.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 90cf3e27d0714c1a745454a1794f491b7076434939340605b9ee8718ba2b85385b120939754e9fdbd6569811e749dee53eec319e0d600e70e0b0baffd8e3fb13 + languageName: node + linkType: hard + "webpack-dev-middleware@npm:^7.1.0": version: 7.2.1 resolution: "webpack-dev-middleware@npm:7.2.1" @@ -44661,6 +44918,53 @@ __metadata: languageName: node linkType: hard +"webpack-dev-server@npm:4.13.1": + version: 4.13.1 + resolution: "webpack-dev-server@npm:4.13.1" + dependencies: + "@types/bonjour": ^3.5.9 + "@types/connect-history-api-fallback": ^1.3.5 + "@types/express": ^4.17.13 + "@types/serve-index": ^1.9.1 + "@types/serve-static": ^1.13.10 + "@types/sockjs": ^0.3.33 + "@types/ws": ^8.5.1 + ansi-html-community: ^0.0.8 + bonjour-service: ^1.0.11 + chokidar: ^3.5.3 + colorette: ^2.0.10 + compression: ^1.7.4 + connect-history-api-fallback: ^2.0.0 + default-gateway: ^6.0.3 + express: ^4.17.3 + graceful-fs: ^4.2.6 + html-entities: ^2.3.2 + http-proxy-middleware: ^2.0.3 + ipaddr.js: ^2.0.1 + launch-editor: ^2.6.0 + open: ^8.0.9 + p-retry: ^4.5.0 + rimraf: ^3.0.2 + schema-utils: ^4.0.0 + selfsigned: ^2.1.1 + serve-index: ^1.9.1 + sockjs: ^0.3.24 + spdy: ^4.0.2 + webpack-dev-middleware: ^5.3.1 + ws: ^8.13.0 + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + bin: + webpack-dev-server: bin/webpack-dev-server.js + checksum: f70611544b7d964a31eb3d934d7c2b376b97e6927a89e03b2e21cfa5812bb639625cd18fd350de1604ba6c455b324135523a894032f28c69d90d90682e4f3b7d + languageName: node + linkType: hard + "webpack-dev-server@npm:^5.0.0": version: 5.0.4 resolution: "webpack-dev-server@npm:5.0.4" @@ -44715,6 +45019,13 @@ __metadata: languageName: node linkType: hard +"webpack-sources@npm:3.2.3, webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 + languageName: node + linkType: hard + "webpack-sources@npm:^1.4.3": version: 1.4.3 resolution: "webpack-sources@npm:1.4.3" @@ -44725,13 +45036,6 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^3.2.3": - version: 3.2.3 - resolution: "webpack-sources@npm:3.2.3" - checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 - languageName: node - linkType: hard - "webpack@npm:^5, webpack@npm:^5.70.0": version: 5.91.0 resolution: "webpack@npm:5.91.0" @@ -45142,6 +45446,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:8.8.1": + version: 8.8.1 + resolution: "ws@npm:8.8.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 2152cf862cae0693f3775bc688a6afb2e989d19d626d215e70f5fcd8eb55b1c3b0d3a6a4052905ec320e2d7734e20aeedbf9744496d62f15a26ad79cf4cf7dae + languageName: node + linkType: hard + "ws@npm:^7, ws@npm:^7.4.6, ws@npm:^7.5.5": version: 7.5.10 resolution: "ws@npm:7.5.10" From b676cc944f9891236c9e29ee01b7f10fbee548ed Mon Sep 17 00:00:00 2001 From: JounQin Date: Fri, 9 Aug 2024 01:11:21 +0800 Subject: [PATCH 2/9] chore: add related changeset Signed-off-by: JounQin --- .changeset/green-berries-wave.md | 5 +++++ packages/cli/src/lib/bundler/optimization.ts | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 .changeset/green-berries-wave.md diff --git a/.changeset/green-berries-wave.md b/.changeset/green-berries-wave.md new file mode 100644 index 0000000000..574d329488 --- /dev/null +++ b/.changeset/green-berries-wave.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +feat: experimentally support using rspack instead under `EXPERIMENTAL_RSPACK` env flag diff --git a/packages/cli/src/lib/bundler/optimization.ts b/packages/cli/src/lib/bundler/optimization.ts index 1cef6b6205..4c569e5ccf 100644 --- a/packages/cli/src/lib/bundler/optimization.ts +++ b/packages/cli/src/lib/bundler/optimization.ts @@ -24,10 +24,6 @@ export const optimization = ( ): WebpackOptionsNormalized['optimization'] => { const { isDev, useRspack } = options; - const extralOptions = useRspack - ? {} - : { maxAsyncRequests: Infinity, maxInitialRequests: Infinity }; - const rspack = useRspack ? (require('@rspack/core') as typeof import('@rspack/core').rspack) : undefined; @@ -82,7 +78,10 @@ export const optimization = ( priority: 10, minSize: 100000, minChunks: 1, - ...extralOptions, + ...(!useRspack && { + maxAsyncRequests: Infinity, + maxInitialRequests: Infinity, + }), }, // filename is not included in type, but we need it // Group together the smallest modules vendor: { From 28a0779d6e34dc4b90d515db5618129eaa4245fc Mon Sep 17 00:00:00 2001 From: JounQin Date: Fri, 9 Aug 2024 11:35:09 +0800 Subject: [PATCH 3/9] chore: add @types/webpack-sources dev dep Signed-off-by: JounQin --- packages/cli/package.json | 1 + packages/cli/src/lib/bundler/backend.ts | 9 ++++++++- yarn.lock | 19 +++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index e2726f358a..5c5ca64692 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -184,6 +184,7 @@ "@types/svgo": "^2.6.2", "@types/tar": "^6.1.1", "@types/terser-webpack-plugin": "^5.0.4", + "@types/webpack-sources": "^3.2.3", "@types/yarnpkg__lockfile": "^1.1.4", "@vitejs/plugin-react": "^4.0.4", "del": "^7.0.0", diff --git a/packages/cli/src/lib/bundler/backend.ts b/packages/cli/src/lib/bundler/backend.ts index 598b77bc51..e089a9fd72 100644 --- a/packages/cli/src/lib/bundler/backend.ts +++ b/packages/cli/src/lib/bundler/backend.ts @@ -20,17 +20,24 @@ import { resolveBundlingPaths } from './paths'; import { BackendServeOptions } from './types'; export async function serveBackend(options: BackendServeOptions) { + const useRspack = !!process.env.EXPERIMENTAL_RSPACK; + const paths = resolveBundlingPaths(options); const config = await createBackendConfig(paths, { ...options, isDev: true, + useRspack, }); // Webpack only replaces occurrences of this in code it touches, which does // not include dependencies in node_modules. So we set it here at runtime as well. (process.env as { NODE_ENV: string }).NODE_ENV = 'development'; - const compiler = webpack(config, (err: Error | null) => { + const bundler: typeof webpack = useRspack + ? require('@rspack/core').rspack + : webpack; + + const compiler = bundler(config, (err: Error | null) => { if (err) { console.error(err); } else console.log('Build succeeded'); diff --git a/yarn.lock b/yarn.lock index 7222777537..d63d839c08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3990,6 +3990,7 @@ __metadata: "@types/tar": ^6.1.1 "@types/terser-webpack-plugin": ^5.0.4 "@types/webpack-env": ^1.15.2 + "@types/webpack-sources": ^3.2.3 "@types/yarnpkg__lockfile": ^1.1.4 "@typescript-eslint/eslint-plugin": ^6.12.0 "@typescript-eslint/parser": ^6.7.2 @@ -19223,6 +19224,13 @@ __metadata: languageName: node linkType: hard +"@types/source-list-map@npm:*": + version: 0.1.6 + resolution: "@types/source-list-map@npm:0.1.6" + checksum: 9cd294c121f1562062de5d241fe4d10780b1131b01c57434845fe50968e9dcf67ede444591c2b1ad6d3f9b6bc646ac02cc8f51a3577c795f9c64cf4573dcc6b1 + languageName: node + linkType: hard + "@types/ssh2-streams@npm:*": version: 0.1.8 resolution: "@types/ssh2-streams@npm:0.1.8" @@ -19430,6 +19438,17 @@ __metadata: languageName: node linkType: hard +"@types/webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "@types/webpack-sources@npm:3.2.3" + dependencies: + "@types/node": "*" + "@types/source-list-map": "*" + source-map: ^0.7.3 + checksum: 7b557f242efaa10e4e3e18cc4171a0c98e22898570caefdd4f7b076fe8534b5abfac92c953c6604658dcb7218507f970230352511840fe9fdea31a9af3b9a906 + languageName: node + linkType: hard + "@types/webpack@npm:^5.28.0": version: 5.28.5 resolution: "@types/webpack@npm:5.28.5" From 4e640197902f1612543834de4af68250c69f91c2 Mon Sep 17 00:00:00 2001 From: JounQin Date: Wed, 14 Aug 2024 18:56:35 +0800 Subject: [PATCH 4/9] chore: rebase issue Signed-off-by: JounQin --- packages/cli/src/lib/bundler/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/lib/bundler/config.ts b/packages/cli/src/lib/bundler/config.ts index 69c673b833..f31acc3a1b 100644 --- a/packages/cli/src/lib/bundler/config.ts +++ b/packages/cli/src/lib/bundler/config.ts @@ -191,7 +191,7 @@ export async function createConfig( // to remove this eventually! plugins.push( new bundler.ProvidePlugin({ - process: require.resolve('process/browser'),, + process: require.resolve('process/browser'), Buffer: ['buffer', 'Buffer'], }), ); From 551abf6d55e3b62f24375ef48ee7ea4d7cb791af Mon Sep 17 00:00:00 2001 From: JounQin Date: Wed, 14 Aug 2024 19:00:43 +0800 Subject: [PATCH 5/9] chore: override experiments unexpectedly Signed-off-by: JounQin --- packages/cli/src/lib/bundler/config.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/cli/src/lib/bundler/config.ts b/packages/cli/src/lib/bundler/config.ts index f31acc3a1b..59ef2655cc 100644 --- a/packages/cli/src/lib/bundler/config.ts +++ b/packages/cli/src/lib/bundler/config.ts @@ -424,7 +424,12 @@ export async function createConfig( : {}), }, experiments: { - lazyCompilation: yn(process.env.EXPERIMENTAL_LAZY_COMPILATION), + lazyCompilation: + !useRspack && yn(process.env.EXPERIMENTAL_LAZY_COMPILATION), + ...(useRspack && { + // We're still using `style-loader` for custom `insert` option + css: false, + }), }, plugins, ...(withCache && { @@ -435,12 +440,6 @@ export async function createConfig( }, }, }), - ...(useRspack && { - // We're still using `style-loader` for custom `insert` option - experiments: { - css: false, - }, - }), }; } From 7357f79670fac65aecfb9bbc9db703adcd7092ec Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 11 Oct 2024 00:36:51 +0200 Subject: [PATCH 6/9] cli: revert rspack additions to backend bundling Signed-off-by: Patrik Oldsberg --- packages/cli/src/lib/bundler/backend.ts | 9 +-------- packages/cli/src/lib/bundler/config.ts | 23 +++++++++-------------- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/packages/cli/src/lib/bundler/backend.ts b/packages/cli/src/lib/bundler/backend.ts index e089a9fd72..598b77bc51 100644 --- a/packages/cli/src/lib/bundler/backend.ts +++ b/packages/cli/src/lib/bundler/backend.ts @@ -20,24 +20,17 @@ import { resolveBundlingPaths } from './paths'; import { BackendServeOptions } from './types'; export async function serveBackend(options: BackendServeOptions) { - const useRspack = !!process.env.EXPERIMENTAL_RSPACK; - const paths = resolveBundlingPaths(options); const config = await createBackendConfig(paths, { ...options, isDev: true, - useRspack, }); // Webpack only replaces occurrences of this in code it touches, which does // not include dependencies in node_modules. So we set it here at runtime as well. (process.env as { NODE_ENV: string }).NODE_ENV = 'development'; - const bundler: typeof webpack = useRspack - ? require('@rspack/core').rspack - : webpack; - - const compiler = bundler(config, (err: Error | null) => { + const compiler = webpack(config, (err: Error | null) => { if (err) { console.error(err); } else console.log('Build succeeded'); diff --git a/packages/cli/src/lib/bundler/config.ts b/packages/cli/src/lib/bundler/config.ts index 59ef2655cc..958104a68f 100644 --- a/packages/cli/src/lib/bundler/config.ts +++ b/packages/cli/src/lib/bundler/config.ts @@ -447,7 +447,7 @@ export async function createBackendConfig( paths: BundlingPaths, options: BackendBundlingOptions, ): Promise { - const { checksEnabled, isDev, useRspack } = options; + const { checksEnabled, isDev } = options; // Find all local monorepo packages and their node_modules, and mark them as external. const { packages } = await getPackages(cliPaths.targetDir); @@ -518,16 +518,13 @@ export async function createBackendConfig( extensions: ['.ts', '.mjs', '.js', '.json'], mainFields: ['main'], modules: [paths.rootNodeModules, ...moduleDirs], - // FIXME: see also https://github.com/web-infra-dev/rspack/issues/3408 - ...(!useRspack && { - plugins: [ - new LinkedPackageResolvePlugin(paths.rootNodeModules, externalPkgs), - new ModuleScopePlugin( - [paths.targetSrc, paths.targetDev], - [paths.targetPackageJson], - ), - ], - }), + plugins: [ + new LinkedPackageResolvePlugin(paths.rootNodeModules, externalPkgs), + new ModuleScopePlugin( + [paths.targetSrc, paths.targetDev], + [paths.targetPackageJson], + ), + ], }, module: { rules: loaders, @@ -554,9 +551,7 @@ export async function createBackendConfig( nodeArgs: runScriptNodeArgs.length > 0 ? runScriptNodeArgs : undefined, args: process.argv.slice(3), // drop `node backstage-cli backend:dev` }), - new (useRspack - ? require('@rspack/core').rspack.HotModuleReplacementPlugin - : webpack.HotModuleReplacementPlugin)(), + new webpack.HotModuleReplacementPlugin(), ...(checksEnabled ? [ new ForkTsCheckerWebpackPlugin({ From e4125fb698cd361086918a5acd4f21727126c001 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 11 Oct 2024 01:11:08 +0200 Subject: [PATCH 7/9] cli: refactor rspack conditionals Signed-off-by: Patrik Oldsberg --- .../cli/src/commands/build/buildFrontend.ts | 6 ++--- packages/cli/src/commands/build/command.ts | 8 +++--- packages/cli/src/lib/bundler/bundle.ts | 8 +++--- packages/cli/src/lib/bundler/config.ts | 26 ++++++++----------- packages/cli/src/lib/bundler/optimization.ts | 14 ++++------ packages/cli/src/lib/bundler/server.ts | 10 ++++--- packages/cli/src/lib/bundler/transforms.ts | 20 +++++--------- packages/cli/src/lib/bundler/types.ts | 6 ++--- 8 files changed, 44 insertions(+), 54 deletions(-) diff --git a/packages/cli/src/commands/build/buildFrontend.ts b/packages/cli/src/commands/build/buildFrontend.ts index 5cb6d3b526..59f3225738 100644 --- a/packages/cli/src/commands/build/buildFrontend.ts +++ b/packages/cli/src/commands/build/buildFrontend.ts @@ -25,11 +25,11 @@ interface BuildAppOptions { writeStats: boolean; configPaths: string[]; isModuleFederationRemote?: true; - useRspack?: boolean; + rspack?: typeof import('@rspack/core').rspack; } export async function buildFrontend(options: BuildAppOptions) { - const { targetDir, writeStats, configPaths, useRspack } = options; + const { targetDir, writeStats, configPaths, rspack } = options; const { name } = await fs.readJson(resolvePath(targetDir, 'package.json')); await buildBundle({ @@ -45,6 +45,6 @@ export async function buildFrontend(options: BuildAppOptions) { args: configPaths, fromPackage: name, })), - useRspack, + rspack, }); } diff --git a/packages/cli/src/commands/build/command.ts b/packages/cli/src/commands/build/command.ts index 4f99ec6a00..dd3e422d2b 100644 --- a/packages/cli/src/commands/build/command.ts +++ b/packages/cli/src/commands/build/command.ts @@ -25,7 +25,9 @@ import { isValidUrl } from '../../lib/urls'; import chalk from 'chalk'; export async function command(opts: OptionValues): Promise { - const useRspack = !!process.env.EXPERIMENTAL_RSPACK; + const rspack = process.env.EXPERIMENTAL_RSPACK + ? (require('@rspack/core') as typeof import('@rspack/core').rspack) + : undefined; const role = await findRoleFromCommand(opts); @@ -42,7 +44,7 @@ export async function command(opts: OptionValues): Promise { targetDir: paths.targetDir, configPaths, writeStats: Boolean(opts.stats), - useRspack, + rspack, }); } return buildBackend({ @@ -65,7 +67,7 @@ export async function command(opts: OptionValues): Promise { configPaths: [], writeStats: Boolean(opts.stats), isModuleFederationRemote: true, - useRspack, + rspack, }); } diff --git a/packages/cli/src/lib/bundler/bundle.ts b/packages/cli/src/lib/bundler/bundle.ts index 0a36f54053..cb0322eb2c 100644 --- a/packages/cli/src/lib/bundler/bundle.ts +++ b/packages/cli/src/lib/bundler/bundle.ts @@ -38,7 +38,7 @@ function applyContextToError(error: string, moduleName: string): string { } export async function buildBundle(options: BuildOptions) { - const { statsJsonEnabled, schema: configSchema, useRspack } = options; + const { statsJsonEnabled, schema: configSchema, rspack } = options; const paths = resolveBundlingPaths(options); const publicPaths = await resolveOptionalBundlingPaths({ @@ -119,7 +119,7 @@ export async function buildBundle(options: BuildOptions) { ); } - const { stats } = await build(configs, isCi, useRspack); + const { stats } = await build(configs, isCi, rspack); if (!stats) { throw new Error('No stats returned'); @@ -155,9 +155,9 @@ export async function buildBundle(options: BuildOptions) { async function build( configs: webpack.Configuration[], isCi: boolean, - useRspack?: boolean, + rspack?: typeof import('@rspack/core').rspack, ) { - const bundler: typeof webpack = useRspack ? require('@rspack/core') : webpack; + const bundler = (rspack ?? webpack) as typeof webpack; const stats = await new Promise( (resolve, reject) => { diff --git a/packages/cli/src/lib/bundler/config.ts b/packages/cli/src/lib/bundler/config.ts index 958104a68f..9714ca683e 100644 --- a/packages/cli/src/lib/bundler/config.ts +++ b/packages/cli/src/lib/bundler/config.ts @@ -132,7 +132,7 @@ export async function createConfig( frontendConfig, moduleFederation, publicSubPath = '', - useRspack, + rspack, } = options; const { plugins, loaders } = transforms(options); @@ -153,7 +153,7 @@ export async function createConfig( options.moduleFederation, ); - if (useRspack) { + if (rspack) { const RspackReactRefreshPlugin = require('@rspack/plugin-react-refresh'); plugins.push(new RspackReactRefreshPlugin()); } else { @@ -181,10 +181,7 @@ export async function createConfig( ); } - const rspack = useRspack - ? (require('@rspack/core') as typeof import('@rspack/core').rspack) - : undefined; - const bundler = useRspack ? (rspack as unknown as typeof webpack) : webpack; + const bundler = rspack ? (rspack as unknown as typeof webpack) : webpack; // TODO(blam): process is no longer auto polyfilled by webpack in v5. // we use the provide plugin to provide this polyfill, but lets look @@ -215,8 +212,8 @@ export async function createConfig( if (options.moduleFederation) { const isRemote = options.moduleFederation?.mode === 'remote'; - const AdaptedModuleFederationPlugin = useRspack - ? (rspack!.container + const AdaptedModuleFederationPlugin = rspack + ? (rspack.container .ModuleFederationPlugin as unknown as typeof ModuleFederationPlugin) : ModuleFederationPlugin; @@ -285,7 +282,7 @@ export async function createConfig( plugins.push( new bundler.DefinePlugin({ 'process.env.BUILD_INFO': JSON.stringify(buildInfo), - 'process.env.APP_CONFIG': useRspack + 'process.env.APP_CONFIG': rspack ? // FIXME: see also https://github.com/web-infra-dev/rspack/issues/5606 JSON.stringify(options.getFrontendAppConfigs()) : bundler.DefinePlugin.runtimeValue( @@ -301,7 +298,7 @@ export async function createConfig( // These files are required by the transpiled code when using React Refresh. // They need to be excluded to the module scope plugin which ensures that files // that exist in the package are required. - const reactRefreshFiles = useRspack + const reactRefreshFiles = rspack ? [] : [ require.resolve( @@ -341,7 +338,7 @@ export async function createConfig( // the module is part of `react` or `react-dom`, and `config.mode` otherwise. plugins.push( new bundler.DefinePlugin({ - 'process.env.NODE_ENV': useRspack + 'process.env.NODE_ENV': rspack ? // FIXME: see also https://github.com/web-infra-dev/rspack/issues/5606 JSON.stringify(mode) : webpack.DefinePlugin.runtimeValue(({ module }) => { @@ -391,7 +388,7 @@ export async function createConfig( util: require.resolve('util/'), }, // FIXME: see also https://github.com/web-infra-dev/rspack/issues/3408 - ...(!useRspack && { + ...(!rspack && { plugins: [ new LinkedPackageResolvePlugin(paths.rootNodeModules, externalPkgs), new ModuleScopePlugin( @@ -424,9 +421,8 @@ export async function createConfig( : {}), }, experiments: { - lazyCompilation: - !useRspack && yn(process.env.EXPERIMENTAL_LAZY_COMPILATION), - ...(useRspack && { + lazyCompilation: !rspack && yn(process.env.EXPERIMENTAL_LAZY_COMPILATION), + ...(rspack && { // We're still using `style-loader` for custom `insert` option css: false, }), diff --git a/packages/cli/src/lib/bundler/optimization.ts b/packages/cli/src/lib/bundler/optimization.ts index 4c569e5ccf..9f61043910 100644 --- a/packages/cli/src/lib/bundler/optimization.ts +++ b/packages/cli/src/lib/bundler/optimization.ts @@ -22,14 +22,10 @@ const { EsbuildPlugin } = require('esbuild-loader'); export const optimization = ( options: BundlingOptions, ): WebpackOptionsNormalized['optimization'] => { - const { isDev, useRspack } = options; + const { isDev, rspack } = options; - const rspack = useRspack - ? (require('@rspack/core') as typeof import('@rspack/core').rspack) - : undefined; - - const MinifyPlugin = useRspack - ? rspack!.SwcJsMinimizerRspackPlugin + const MinifyPlugin = rspack + ? rspack.SwcJsMinimizerRspackPlugin : EsbuildPlugin; return { @@ -46,7 +42,7 @@ export const optimization = ( format: undefined, include: 'remoteEntry.js', }), - useRspack && new rspack!.LightningCssMinimizerRspackPlugin(), + rspack && new rspack.LightningCssMinimizerRspackPlugin(), ], runtimeChunk: 'single', splitChunks: { @@ -78,7 +74,7 @@ export const optimization = ( priority: 10, minSize: 100000, minChunks: 1, - ...(!useRspack && { + ...(!rspack && { maxAsyncRequests: Infinity, maxInitialRequests: Infinity, }), diff --git a/packages/cli/src/lib/bundler/server.ts b/packages/cli/src/lib/bundler/server.ts index 25d3cbe321..ebde70ce66 100644 --- a/packages/cli/src/lib/bundler/server.ts +++ b/packages/cli/src/lib/bundler/server.ts @@ -106,7 +106,9 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be }, }); - const useRspack = !!process.env.EXPERIMENTAL_RSPACK; + const rspack = process.env.EXPERIMENTAL_RSPACK + ? (require('@rspack/core') as typeof import('@rspack/core').rspack) + : undefined; const commonConfigOptions = { ...options, @@ -114,7 +116,7 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be isDev: true, baseUrl: url, frontendConfig, - useRspack, + rspack, getFrontendAppConfigs: () => { return latestFrontendAppConfigs; }, @@ -166,8 +168,8 @@ DEPRECATION WARNING: React Router Beta is deprecated and support for it will be root: paths.targetPath, }); } else { - const bundler = useRspack ? require('@rspack/core') : webpack; - const DevServer: typeof WebpackDevServer = useRspack + const bundler = (rspack ?? webpack) as typeof webpack; + const DevServer: typeof WebpackDevServer = rspack ? require('@rspack/dev-server').RspackDevServer : WebpackDevServer; diff --git a/packages/cli/src/lib/bundler/transforms.ts b/packages/cli/src/lib/bundler/transforms.ts index a6a49895ef..8e2e1e1f66 100644 --- a/packages/cli/src/lib/bundler/transforms.ts +++ b/packages/cli/src/lib/bundler/transforms.ts @@ -26,14 +26,14 @@ type Transforms = { type TransformOptions = { isDev: boolean; isBackend?: boolean; - useRspack?: boolean; + rspack?: typeof import('@rspack/core').rspack; }; export const transforms = (options: TransformOptions): Transforms => { - const { isDev, isBackend, useRspack } = options; + const { isDev, isBackend, rspack } = options; - const CssExtractRspackPlugin: typeof MiniCssExtractPlugin = useRspack - ? require('@rspack/core').CssExtractRspackPlugin + const CssExtractRspackPlugin: typeof MiniCssExtractPlugin = rspack + ? (rspack.CssExtractRspackPlugin as unknown as typeof MiniCssExtractPlugin) : MiniCssExtractPlugin; // This ensures that styles inserted from the style-loader and any @@ -59,9 +59,7 @@ export const transforms = (options: TransformOptions): Transforms => { exclude: /node_modules/, use: [ { - loader: useRspack - ? 'builtin:swc-loader' - : require.resolve('swc-loader'), + loader: rspack ? 'builtin:swc-loader' : require.resolve('swc-loader'), options: { jsc: { target: 'es2022', @@ -89,9 +87,7 @@ export const transforms = (options: TransformOptions): Transforms => { exclude: /node_modules/, use: [ { - loader: useRspack - ? 'builtin:swc-loader' - : require.resolve('swc-loader'), + loader: rspack ? 'builtin:swc-loader' : require.resolve('swc-loader'), options: { jsc: { target: 'es2022', @@ -124,9 +120,7 @@ export const transforms = (options: TransformOptions): Transforms => { test: [/\.icon\.svg$/], use: [ { - loader: useRspack - ? 'builtin:swc-loader' - : require.resolve('swc-loader'), + loader: rspack ? 'builtin:swc-loader' : require.resolve('swc-loader'), options: { jsc: { target: 'es2022', diff --git a/packages/cli/src/lib/bundler/types.ts b/packages/cli/src/lib/bundler/types.ts index 8b48976f9b..d7ea69a1d4 100644 --- a/packages/cli/src/lib/bundler/types.ts +++ b/packages/cli/src/lib/bundler/types.ts @@ -37,7 +37,7 @@ export type BundlingOptions = { // Mode that the app is running in, 'protected' or 'public', default is 'public' appMode?: string; moduleFederation?: ModuleFederationOptions; - useRspack?: boolean; + rspack?: typeof import('@rspack/core').rspack; }; export type ServeOptions = BundlingPathsOptions & { @@ -58,7 +58,7 @@ export type BuildOptions = BundlingPathsOptions & { frontendAppConfigs: AppConfig[]; fullConfig: Config; moduleFederation?: ModuleFederationOptions; - useRspack?: boolean; + rspack?: typeof import('@rspack/core').rspack; }; export type BackendBundlingOptions = { @@ -68,7 +68,7 @@ export type BackendBundlingOptions = { inspectEnabled: boolean; inspectBrkEnabled: boolean; require?: string; - useRspack?: boolean; + rspack?: typeof import('@rspack/core').rspack; }; export type BackendServeOptions = BundlingPathsOptions & { From 52e134283354fe42e290c4972968baac97b1bd73 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 11 Oct 2024 10:05:50 +0200 Subject: [PATCH 8/9] yarn.lock: dedupe Signed-off-by: Patrik Oldsberg --- yarn.lock | 63 +++++-------------------------------------------------- 1 file changed, 5 insertions(+), 58 deletions(-) diff --git a/yarn.lock b/yarn.lock index f777946543..3b522f91e1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18392,13 +18392,6 @@ __metadata: languageName: node linkType: hard -"@types/mime@npm:*": - version: 3.0.4 - resolution: "@types/mime@npm:3.0.4" - checksum: a6139c8e1f705ef2b064d072f6edc01f3c099023ad7c4fce2afc6c2bf0231888202adadbdb48643e8e20da0ce409481a49922e737eca52871b3dc08017455843 - languageName: node - linkType: hard - "@types/mime@npm:^1": version: 1.3.2 resolution: "@types/mime@npm:1.3.2" @@ -19004,18 +18997,7 @@ __metadata: languageName: node linkType: hard -"@types/serve-static@npm:*, @types/serve-static@npm:^1.15.5": - version: 1.15.5 - resolution: "@types/serve-static@npm:1.15.5" - dependencies: - "@types/http-errors": "*" - "@types/mime": "*" - "@types/node": "*" - checksum: 0ff4b3703cf20ba89c9f9e345bc38417860a88e85863c8d6fe274a543220ab7f5f647d307c60a71bb57dc9559f0890a661e8dc771a6ec5ef195d91c8afc4a893 - languageName: node - linkType: hard - -"@types/serve-static@npm:^1.13.10": +"@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10, @types/serve-static@npm:^1.15.5": version: 1.15.7 resolution: "@types/serve-static@npm:1.15.7" dependencies: @@ -22891,14 +22873,7 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001646": - version: 1.0.30001653 - resolution: "caniuse-lite@npm:1.0.30001653" - checksum: 289cf06c26a46f3e6460ccd5feffa788ab0ab35d306898c48120c65cfb11959bfa560e9f739393769b4fd01150c69b0747ad3ad5ec3abf3dfafd66df3c59254e - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001616": +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001616, caniuse-lite@npm:^1.0.30001646": version: 1.0.30001668 resolution: "caniuse-lite@npm:1.0.30001668" checksum: ce6996901b5883454a8ddb3040f82342277b6a6275876dfefcdecb11f7e472e29877f34cae47c2b674f08f2e71971dd4a2acb9bc01adfe8421b7148a7e9e8297 @@ -30400,20 +30375,13 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:^2.0.1": +"ipaddr.js@npm:^2.0.1, ipaddr.js@npm:^2.1.0": version: 2.2.0 resolution: "ipaddr.js@npm:2.2.0" checksum: 770ba8451fd9bf78015e8edac0d5abd7a708cbf75f9429ca9147a9d2f3a2d60767cd5de2aab2b1e13ca6e4445bdeff42bf12ef6f151c07a5c6cf8a44328e2859 languageName: node linkType: hard -"ipaddr.js@npm:^2.1.0": - version: 2.1.0 - resolution: "ipaddr.js@npm:2.1.0" - checksum: 807a054f2bd720c4d97ee479d6c9e865c233bea21f139fb8dabd5a35c4226d2621c42e07b4ad94ff3f82add926a607d8d9d37c625ad0319f0e08f9f2bd1968e2 - languageName: node - linkType: hard - "is-absolute-url@npm:^3.0.3": version: 3.0.3 resolution: "is-absolute-url@npm:3.0.3" @@ -32887,7 +32855,7 @@ __metadata: languageName: node linkType: hard -"launch-editor@npm:^2.6.0": +"launch-editor@npm:^2.6.0, launch-editor@npm:^2.6.1": version: 2.9.1 resolution: "launch-editor@npm:2.9.1" dependencies: @@ -32897,16 +32865,6 @@ __metadata: languageName: node linkType: hard -"launch-editor@npm:^2.6.1": - version: 2.6.1 - resolution: "launch-editor@npm:2.6.1" - dependencies: - picocolors: ^1.0.0 - shell-quote: ^1.8.1 - checksum: e06d193075ac09f7f8109f10cabe464a211bf7ed4cbe75f83348d6f67bf4d9f162f06e7a1ab3e1cd7fc250b5342c3b57080618aff2e646dc34248fe499227601 - languageName: node - linkType: hard - "lazystream@npm:^1.0.0": version: 1.0.0 resolution: "lazystream@npm:1.0.0" @@ -36328,18 +36286,7 @@ __metadata: languageName: node linkType: hard -"open@npm:^8.0.0, open@npm:^8.4.0": - version: 8.4.0 - resolution: "open@npm:8.4.0" - dependencies: - define-lazy-prop: ^2.0.0 - is-docker: ^2.1.1 - is-wsl: ^2.2.0 - checksum: e9545bec64cdbf30a0c35c1bdc310344adf8428a117f7d8df3c0af0a0a24c513b304916a6d9b11db0190ff7225c2d578885080b761ed46a3d5f6f1eebb98b63c - languageName: node - linkType: hard - -"open@npm:^8.0.9": +"open@npm:^8.0.0, open@npm:^8.0.9, open@npm:^8.4.0": version: 8.4.2 resolution: "open@npm:8.4.2" dependencies: From 62b147ebe243ca21a49b585227222e64dc42a022 Mon Sep 17 00:00:00 2001 From: JounQin Date: Fri, 11 Oct 2024 18:15:30 +0800 Subject: [PATCH 9/9] chore: upgrade rspack to v1.0 Signed-off-by: JounQin --- packages/cli/package.json | 12 +- yarn.lock | 560 +++++++++++++------------------------- 2 files changed, 189 insertions(+), 383 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 844594753b..36d5a4d538 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -170,9 +170,9 @@ "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", "@backstage/theme": "workspace:^", - "@rspack/core": "^0.7.5", - "@rspack/dev-server": "^0.7.5", - "@rspack/plugin-react-refresh": "^0.7.5", + "@rspack/core": "^1.0.10", + "@rspack/dev-server": "^1.0.9", + "@rspack/plugin-react-refresh": "^1.0.0", "@types/cross-spawn": "^6.0.2", "@types/ejs": "^3.1.3", "@types/express": "^4.17.6", @@ -199,9 +199,9 @@ }, "peerDependencies": { "@modyfi/vite-plugin-yaml": "^1.1.0", - "@rspack/core": "^0.7.5", - "@rspack/dev-server": "^0.7.5", - "@rspack/plugin-react-refresh": "^0.7.5", + "@rspack/core": "^1.0.10", + "@rspack/dev-server": "^1.0.9", + "@rspack/plugin-react-refresh": "^1.0.0", "@vitejs/plugin-react": "^4.0.4", "vite": "^4.4.9", "vite-plugin-html": "^3.2.0", diff --git a/yarn.lock b/yarn.lock index 3b522f91e1..6402cf8408 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3940,9 +3940,9 @@ __metadata: "@rollup/plugin-json": ^6.0.0 "@rollup/plugin-node-resolve": ^15.0.0 "@rollup/plugin-yaml": ^4.0.0 - "@rspack/core": ^0.7.5 - "@rspack/dev-server": ^0.7.5 - "@rspack/plugin-react-refresh": ^0.7.5 + "@rspack/core": ^1.0.10 + "@rspack/dev-server": ^1.0.9 + "@rspack/plugin-react-refresh": ^1.0.0 "@spotify/eslint-config-base": ^15.0.0 "@spotify/eslint-config-react": ^15.0.0 "@spotify/eslint-config-typescript": ^15.0.0 @@ -4063,9 +4063,9 @@ __metadata: zod: ^3.22.4 peerDependencies: "@modyfi/vite-plugin-yaml": ^1.1.0 - "@rspack/core": ^0.7.5 - "@rspack/dev-server": ^0.7.5 - "@rspack/plugin-react-refresh": ^0.7.5 + "@rspack/core": ^1.0.10 + "@rspack/dev-server": ^1.0.9 + "@rspack/plugin-react-refresh": ^1.0.0 "@vitejs/plugin-react": ^4.0.4 vite: ^4.4.9 vite-plugin-html: ^3.2.0 @@ -11557,13 +11557,13 @@ __metadata: languageName: node linkType: hard -"@module-federation/runtime-tools@npm:0.1.6": - version: 0.1.6 - resolution: "@module-federation/runtime-tools@npm:0.1.6" +"@module-federation/runtime-tools@npm:0.5.1": + version: 0.5.1 + resolution: "@module-federation/runtime-tools@npm:0.5.1" dependencies: - "@module-federation/runtime": 0.1.6 - "@module-federation/webpack-bundler-runtime": 0.1.6 - checksum: a902fe7fd07707be566fec6620c71d597311cee02cc2c2605b9b796f9aad07fcc3c60939efb2e139b01b28ac599d610f5dbc054c555915cd9e5fcc9324598413 + "@module-federation/runtime": 0.5.1 + "@module-federation/webpack-bundler-runtime": 0.5.1 + checksum: 651051fb6e2e63915b408547b7d6bdea06338857e293e293b088e330dbb78e147df1b74c5e1f9d1e93ea6e61706f2d4511b8a0dc487703b5615db9695ee9e8ad languageName: node linkType: hard @@ -11577,12 +11577,12 @@ __metadata: languageName: node linkType: hard -"@module-federation/runtime@npm:0.1.6": - version: 0.1.6 - resolution: "@module-federation/runtime@npm:0.1.6" +"@module-federation/runtime@npm:0.5.1": + version: 0.5.1 + resolution: "@module-federation/runtime@npm:0.5.1" dependencies: - "@module-federation/sdk": 0.1.6 - checksum: c564636edd5c1abf5ddf54a6d0dde8fcad1a72d2561163a841f08c354fb1a6e2c69e89d0ec3e5412d55556ea19057ad1980962fbd571aca5a0fb7945e60c0822 + "@module-federation/sdk": 0.5.1 + checksum: 810e350dbd12a7f4bffb860375fd28a26a560669128f5339d729bc40810ae9b503b4034cbbb90e7105fd1df5544c3bc9cf11dfd2a47e2eaa2c50d00ad759b1e2 languageName: node linkType: hard @@ -11595,10 +11595,10 @@ __metadata: languageName: node linkType: hard -"@module-federation/sdk@npm:0.1.6": - version: 0.1.6 - resolution: "@module-federation/sdk@npm:0.1.6" - checksum: 99442f2269e916af78f9f77f7fc71a40e83e4dec5408d6ea8b1f053662005e5717340f91c666cce178e0d9ab92b13826f7cba5e00417bce2a3ee67c0face6ac5 +"@module-federation/sdk@npm:0.5.1": + version: 0.5.1 + resolution: "@module-federation/sdk@npm:0.5.1" + checksum: 75f225926564779db3113aae9cd1b89d303b753026c84945a5225b496554db9e3a2fe2e1d594af4357708853337f161235f46ed5e6320592ac1e8b07756bf918 languageName: node linkType: hard @@ -11620,13 +11620,13 @@ __metadata: languageName: node linkType: hard -"@module-federation/webpack-bundler-runtime@npm:0.1.6": - version: 0.1.6 - resolution: "@module-federation/webpack-bundler-runtime@npm:0.1.6" +"@module-federation/webpack-bundler-runtime@npm:0.5.1": + version: 0.5.1 + resolution: "@module-federation/webpack-bundler-runtime@npm:0.5.1" dependencies: - "@module-federation/runtime": 0.1.6 - "@module-federation/sdk": 0.1.6 - checksum: 7dd6478cdd34881e974f67c8fe3cf668dbd881722416e214981eb423a67a7a1743564d60e652c6819445b1ab8d13fef823ea309c9c75c189001e75e81bd34fb3 + "@module-federation/runtime": 0.5.1 + "@module-federation/sdk": 0.5.1 + checksum: a84a7b9482f133eba0fb8fd77ea87310a1028b7d5fc3da4a17b2bb5fc3fc9fc440cb32ed927f74e1bfe61925eec361512884d84b236b3cdab74276c0dcfff840 languageName: node linkType: hard @@ -15121,82 +15121,82 @@ __metadata: languageName: node linkType: hard -"@rspack/binding-darwin-arm64@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding-darwin-arm64@npm:0.7.5" +"@rspack/binding-darwin-arm64@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding-darwin-arm64@npm:1.0.10" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rspack/binding-darwin-x64@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding-darwin-x64@npm:0.7.5" +"@rspack/binding-darwin-x64@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding-darwin-x64@npm:1.0.10" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rspack/binding-linux-arm64-gnu@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding-linux-arm64-gnu@npm:0.7.5" +"@rspack/binding-linux-arm64-gnu@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding-linux-arm64-gnu@npm:1.0.10" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rspack/binding-linux-arm64-musl@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding-linux-arm64-musl@npm:0.7.5" +"@rspack/binding-linux-arm64-musl@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding-linux-arm64-musl@npm:1.0.10" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rspack/binding-linux-x64-gnu@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding-linux-x64-gnu@npm:0.7.5" +"@rspack/binding-linux-x64-gnu@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding-linux-x64-gnu@npm:1.0.10" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rspack/binding-linux-x64-musl@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding-linux-x64-musl@npm:0.7.5" +"@rspack/binding-linux-x64-musl@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding-linux-x64-musl@npm:1.0.10" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rspack/binding-win32-arm64-msvc@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding-win32-arm64-msvc@npm:0.7.5" +"@rspack/binding-win32-arm64-msvc@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding-win32-arm64-msvc@npm:1.0.10" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rspack/binding-win32-ia32-msvc@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding-win32-ia32-msvc@npm:0.7.5" +"@rspack/binding-win32-ia32-msvc@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding-win32-ia32-msvc@npm:1.0.10" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rspack/binding-win32-x64-msvc@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding-win32-x64-msvc@npm:0.7.5" +"@rspack/binding-win32-x64-msvc@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding-win32-x64-msvc@npm:1.0.10" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rspack/binding@npm:0.7.5": - version: 0.7.5 - resolution: "@rspack/binding@npm:0.7.5" +"@rspack/binding@npm:1.0.10": + version: 1.0.10 + resolution: "@rspack/binding@npm:1.0.10" dependencies: - "@rspack/binding-darwin-arm64": 0.7.5 - "@rspack/binding-darwin-x64": 0.7.5 - "@rspack/binding-linux-arm64-gnu": 0.7.5 - "@rspack/binding-linux-arm64-musl": 0.7.5 - "@rspack/binding-linux-x64-gnu": 0.7.5 - "@rspack/binding-linux-x64-musl": 0.7.5 - "@rspack/binding-win32-arm64-msvc": 0.7.5 - "@rspack/binding-win32-ia32-msvc": 0.7.5 - "@rspack/binding-win32-x64-msvc": 0.7.5 + "@rspack/binding-darwin-arm64": 1.0.10 + "@rspack/binding-darwin-x64": 1.0.10 + "@rspack/binding-linux-arm64-gnu": 1.0.10 + "@rspack/binding-linux-arm64-musl": 1.0.10 + "@rspack/binding-linux-x64-gnu": 1.0.10 + "@rspack/binding-linux-x64-musl": 1.0.10 + "@rspack/binding-win32-arm64-msvc": 1.0.10 + "@rspack/binding-win32-ia32-msvc": 1.0.10 + "@rspack/binding-win32-x64-msvc": 1.0.10 dependenciesMeta: "@rspack/binding-darwin-arm64": optional: true @@ -15216,55 +15216,65 @@ __metadata: optional: true "@rspack/binding-win32-x64-msvc": optional: true - checksum: de25c44cc9c3a240c6f59a657d19d7170c3af1c99097fe2aa5118e2af7b0d606935ad45640102888ce1806bc67fb207189f562cfbcfe4c1628116f5b06f7c6b6 + checksum: a7add6fe37706dfc7dd937da36590b0d6b6b1c5d2acd97b8c2e773769ef128012e6d797b1b30a2ea0f12a284ef3cd131e4b0158eb33ce50717c04ac2cd220e70 languageName: node linkType: hard -"@rspack/core@npm:^0.7.5": - version: 0.7.5 - resolution: "@rspack/core@npm:0.7.5" +"@rspack/core@npm:^1.0.10": + version: 1.0.10 + resolution: "@rspack/core@npm:1.0.10" dependencies: - "@module-federation/runtime-tools": 0.1.6 - "@rspack/binding": 0.7.5 + "@module-federation/runtime-tools": 0.5.1 + "@rspack/binding": 1.0.10 + "@rspack/lite-tapable": 1.0.1 caniuse-lite: ^1.0.30001616 - tapable: 2.2.1 - webpack-sources: 3.2.3 peerDependencies: "@swc/helpers": ">=0.5.1" peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 9e41005231d7a58888cb349ee26737752087f13847f6178308f04e99169187996e40cdaf8987e656a81fe1fb91aeb2e8ca2f1fa32fed46b04fe2709325e5a387 + checksum: 7e65516c613a1694e3a4585ddaaae4c3e4ac48eb104598fb41c56a22d198152b1384c87f56b36e2589d90353b1e5fd8575a28352ff235bbaa6746972d37f04b8 languageName: node linkType: hard -"@rspack/dev-server@npm:^0.7.5": - version: 0.7.5 - resolution: "@rspack/dev-server@npm:0.7.5" +"@rspack/dev-server@npm:^1.0.9": + version: 1.0.9 + resolution: "@rspack/dev-server@npm:1.0.9" dependencies: - chokidar: 3.5.3 - connect-history-api-fallback: 2.0.0 - express: 4.19.2 - http-proxy-middleware: 2.0.6 - mime-types: 2.1.35 - webpack-dev-middleware: 6.1.2 - webpack-dev-server: 4.13.1 - ws: 8.8.1 + chokidar: ^3.6.0 + connect-history-api-fallback: ^2.0.0 + express: ^4.19.2 + http-proxy-middleware: ^2.0.6 + mime-types: ^2.1.35 + p-retry: 4.6.2 + webpack-dev-middleware: ^7.4.2 + webpack-dev-server: 5.0.4 + ws: ^8.16.0 peerDependencies: "@rspack/core": "*" - checksum: d5c767726b1083797cdcc852cb0603fc81ae0225341b5cf52d15e847ced0f1672b83a42bd3237fd047ba63ebe5a9032f5de9ca8c47f318e6ac68425c91ff46d7 + checksum: 46b6ad1e8f52a44c178042b6b9306fe54ad28ab24b86015f118d03a69628b04bf9563201686e0738b8c06ee8c5dedbc0bb4d6705c7f2d7d3959f2a449ff95cd6 languageName: node linkType: hard -"@rspack/plugin-react-refresh@npm:^0.7.5": - version: 0.7.5 - resolution: "@rspack/plugin-react-refresh@npm:0.7.5" +"@rspack/lite-tapable@npm:1.0.1": + version: 1.0.1 + resolution: "@rspack/lite-tapable@npm:1.0.1" + checksum: a490aa7868178e7277573293a2b81191513d451c72f4118173f080b5c65a19618e1d37083cffa049b563433a3f772ab2f4424c0a920b04b1347ddb12fe3bcbf8 + languageName: node + linkType: hard + +"@rspack/plugin-react-refresh@npm:^1.0.0": + version: 1.0.0 + resolution: "@rspack/plugin-react-refresh@npm:1.0.0" + dependencies: + error-stack-parser: ^2.0.6 + html-entities: ^2.1.0 peerDependencies: react-refresh: ">=0.10.0 <1.0.0" peerDependenciesMeta: react-refresh: optional: true - checksum: ab5f480c44563799bd5d837a608223e57ac41d535adcd22fb8f40625f6bda83e2ece28d40dce4c290249e7c9a8657781b5dfa864b14fae86017e41925d026655 + checksum: 88212e66da7e51d99228c7d77b683ef020ba2f70ea7ed546158167eaa4d6e3fa228da2f7d660c3f7a74ad69a47bc98c67a2d11e4a403f3e1ff8523cded67c6c0 languageName: node linkType: hard @@ -17641,7 +17651,7 @@ __metadata: languageName: node linkType: hard -"@types/bonjour@npm:^3.5.13, @types/bonjour@npm:^3.5.9": +"@types/bonjour@npm:^3.5.13": version: 3.5.13 resolution: "@types/bonjour@npm:3.5.13" dependencies: @@ -17746,7 +17756,7 @@ __metadata: languageName: node linkType: hard -"@types/connect-history-api-fallback@npm:^1.3.5, @types/connect-history-api-fallback@npm:^1.5.4": +"@types/connect-history-api-fallback@npm:^1.5.4": version: 1.5.4 resolution: "@types/connect-history-api-fallback@npm:1.5.4" dependencies: @@ -18011,7 +18021,7 @@ __metadata: languageName: node linkType: hard -"@types/express@npm:*, @types/express@npm:^4.17.13, @types/express@npm:^4.17.21, @types/express@npm:^4.17.6": +"@types/express@npm:*, @types/express@npm:^4.17.21, @types/express@npm:^4.17.6": version: 4.17.21 resolution: "@types/express@npm:4.17.21" dependencies: @@ -18988,7 +18998,7 @@ __metadata: languageName: node linkType: hard -"@types/serve-index@npm:^1.9.1, @types/serve-index@npm:^1.9.4": +"@types/serve-index@npm:^1.9.4": version: 1.9.4 resolution: "@types/serve-index@npm:1.9.4" dependencies: @@ -18997,7 +19007,7 @@ __metadata: languageName: node linkType: hard -"@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10, @types/serve-static@npm:^1.15.5": +"@types/serve-static@npm:*, @types/serve-static@npm:^1.15.5": version: 1.15.7 resolution: "@types/serve-static@npm:1.15.7" dependencies: @@ -19047,7 +19057,7 @@ __metadata: languageName: node linkType: hard -"@types/sockjs@npm:^0.3.33, @types/sockjs@npm:^0.3.36": +"@types/sockjs@npm:^0.3.36": version: 0.3.36 resolution: "@types/sockjs@npm:0.3.36" dependencies: @@ -19299,7 +19309,7 @@ __metadata: languageName: node linkType: hard -"@types/ws@npm:*, @types/ws@npm:^8.0.0, @types/ws@npm:^8.5.1, @types/ws@npm:^8.5.10, @types/ws@npm:^8.5.3": +"@types/ws@npm:*, @types/ws@npm:^8.0.0, @types/ws@npm:^8.5.10, @types/ws@npm:^8.5.3": version: 8.5.12 resolution: "@types/ws@npm:8.5.12" dependencies: @@ -22249,26 +22259,6 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.2": - version: 1.20.2 - resolution: "body-parser@npm:1.20.2" - dependencies: - bytes: 3.1.2 - content-type: ~1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.2 - type-is: ~1.6.18 - unpipe: 1.0.0 - checksum: 14d37ec638ab5c93f6099ecaed7f28f890d222c650c69306872e00b9efa081ff6c596cd9afb9930656aae4d6c4e1c17537bea12bb73c87a217cb3cfea8896737 - languageName: node - linkType: hard - "body-parser@npm:1.20.3, body-parser@npm:^1.15.2": version: 1.20.3 resolution: "body-parser@npm:1.20.3" @@ -22289,7 +22279,7 @@ __metadata: languageName: node linkType: hard -"bonjour-service@npm:^1.0.11, bonjour-service@npm:^1.2.1": +"bonjour-service@npm:^1.2.1": version: 1.2.1 resolution: "bonjour-service@npm:1.2.1" dependencies: @@ -23014,25 +23004,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:3.5.3": - version: 3.5.3 - resolution: "chokidar@npm:3.5.3" - dependencies: - anymatch: ~3.1.2 - braces: ~3.0.2 - fsevents: ~2.3.2 - glob-parent: ~5.1.2 - is-binary-path: ~2.1.0 - is-glob: ~4.0.1 - normalize-path: ~3.0.0 - readdirp: ~3.6.0 - dependenciesMeta: - fsevents: - optional: true - checksum: b49fcde40176ba007ff361b198a2d35df60d9bb2a5aab228279eb810feae9294a6b4649ab15981304447afe1e6ffbf4788ad5db77235dc770ab777c6e771980c - languageName: node - linkType: hard - "chokidar@npm:^3.3.1, chokidar@npm:^3.4.2, chokidar@npm:^3.5.2, chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": version: 3.6.0 resolution: "chokidar@npm:3.6.0" @@ -23852,13 +23823,6 @@ __metadata: languageName: node linkType: hard -"connect-history-api-fallback@npm:2.0.0, connect-history-api-fallback@npm:^2.0.0": - version: 2.0.0 - resolution: "connect-history-api-fallback@npm:2.0.0" - checksum: dc5368690f4a5c413889792f8df70d5941ca9da44523cde3f87af0745faee5ee16afb8195434550f0504726642734f2683d6c07f8b460f828a12c45fbd4c9a68 - languageName: node - linkType: hard - "connect-history-api-fallback@npm:^1.6.0": version: 1.6.0 resolution: "connect-history-api-fallback@npm:1.6.0" @@ -23866,6 +23830,13 @@ __metadata: languageName: node linkType: hard +"connect-history-api-fallback@npm:^2.0.0": + version: 2.0.0 + resolution: "connect-history-api-fallback@npm:2.0.0" + checksum: dc5368690f4a5c413889792f8df70d5941ca9da44523cde3f87af0745faee5ee16afb8195434550f0504726642734f2683d6c07f8b460f828a12c45fbd4c9a68 + languageName: node + linkType: hard + "connect-session-knex@npm:^4.0.0": version: 4.0.0 resolution: "connect-session-knex@npm:4.0.0" @@ -23993,13 +23964,6 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.6.0, cookie@npm:~0.6.0": - version: 0.6.0 - resolution: "cookie@npm:0.6.0" - checksum: f56a7d32a07db5458e79c726b77e3c2eff655c36792f2b6c58d351fb5f61531e5b1ab7f46987150136e366c65213cbe31729e02a3eaed630c3bf7334635fb410 - languageName: node - linkType: hard - "cookie@npm:0.7.1": version: 0.7.1 resolution: "cookie@npm:0.7.1" @@ -24028,6 +23992,13 @@ __metadata: languageName: node linkType: hard +"cookie@npm:~0.6.0": + version: 0.6.0 + resolution: "cookie@npm:0.6.0" + checksum: f56a7d32a07db5458e79c726b77e3c2eff655c36792f2b6c58d351fb5f61531e5b1ab7f46987150136e366c65213cbe31729e02a3eaed630c3bf7334635fb410 + languageName: node + linkType: hard + "cookiejar@npm:^2.1.4": version: 2.1.4 resolution: "cookiejar@npm:2.1.4" @@ -27449,45 +27420,6 @@ __metadata: languageName: node linkType: hard -"express@npm:4.19.2": - version: 4.19.2 - resolution: "express@npm:4.19.2" - dependencies: - accepts: ~1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.2 - content-disposition: 0.5.4 - content-type: ~1.0.4 - cookie: 0.6.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - etag: ~1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: ~1.1.2 - on-finished: 2.4.1 - parseurl: ~1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: ~2.0.7 - qs: 6.11.0 - range-parser: ~1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: ~1.6.18 - utils-merge: 1.0.1 - vary: ~1.1.2 - checksum: 212dbd6c2c222a96a61bc927639c95970a53b06257080bb9e2838adb3bffdb966856551fdad1ab5dd654a217c35db94f987d0aa88d48fb04d306340f5f34dca5 - languageName: node - linkType: hard - "express@npm:^4.14.0, express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.18.1, express@npm:^4.18.2, express@npm:^4.19.2": version: 4.21.1 resolution: "express@npm:4.21.1" @@ -27893,21 +27825,6 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.2.0": - version: 1.2.0 - resolution: "finalhandler@npm:1.2.0" - dependencies: - debug: 2.6.9 - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - on-finished: 2.4.1 - parseurl: ~1.3.3 - statuses: 2.0.1 - unpipe: ~1.0.0 - checksum: 92effbfd32e22a7dff2994acedbd9bcc3aa646a3e919ea6a53238090e87097f8ef07cced90aa2cc421abdf993aefbdd5b00104d55c7c5479a8d00ed105b45716 - languageName: node - linkType: hard - "finalhandler@npm:1.3.1": version: 1.3.1 resolution: "finalhandler@npm:1.3.1" @@ -28789,7 +28706,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.4.1": +"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7, glob@npm:^10.4.1": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -29573,7 +29490,7 @@ __metadata: languageName: node linkType: hard -"html-entities@npm:^2.1.0, html-entities@npm:^2.3.2, html-entities@npm:^2.4.0, html-entities@npm:^2.5.2": +"html-entities@npm:^2.1.0, html-entities@npm:^2.4.0, html-entities@npm:^2.5.2": version: 2.5.2 resolution: "html-entities@npm:2.5.2" checksum: b23f4a07d33d49ade1994069af4e13d31650e3fb62621e92ae10ecdf01d1a98065c78fd20fdc92b4c7881612210b37c275f2c9fba9777650ab0d6f2ceb3b99b6 @@ -29774,24 +29691,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-middleware@npm:2.0.6": - version: 2.0.6 - resolution: "http-proxy-middleware@npm:2.0.6" - dependencies: - "@types/http-proxy": ^1.17.8 - http-proxy: ^1.18.1 - is-glob: ^4.0.1 - is-plain-obj: ^3.0.0 - micromatch: ^4.0.2 - peerDependencies: - "@types/express": ^4.17.13 - peerDependenciesMeta: - "@types/express": - optional: true - checksum: 2ee85bc878afa6cbf34491e972ece0f5be0a3e5c98a60850cf40d2a9a5356e1fc57aab6cff33c1fc37691b0121c3a42602d2b1956c52577e87a5b77b62ae1c3a - languageName: node - linkType: hard - "http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3, http-proxy-middleware@npm:^2.0.6": version: 2.0.7 resolution: "http-proxy-middleware@npm:2.0.7" @@ -30375,7 +30274,7 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:^2.0.1, ipaddr.js@npm:^2.1.0": +"ipaddr.js@npm:^2.1.0": version: 2.2.0 resolution: "ipaddr.js@npm:2.2.0" checksum: 770ba8451fd9bf78015e8edac0d5abd7a708cbf75f9429ca9147a9d2f3a2d60767cd5de2aab2b1e13ca6e4445bdeff42bf12ef6f151c07a5c6cf8a44328e2859 @@ -32855,7 +32754,7 @@ __metadata: languageName: node linkType: hard -"launch-editor@npm:^2.6.0, launch-editor@npm:^2.6.1": +"launch-editor@npm:^2.6.1": version: 2.9.1 resolution: "launch-editor@npm:2.9.1" dependencies: @@ -34072,7 +33971,7 @@ __metadata: languageName: node linkType: hard -"memfs@npm:^3.1.2, memfs@npm:^3.4.1, memfs@npm:^3.4.12, memfs@npm:^3.4.3": +"memfs@npm:^3.1.2, memfs@npm:^3.4.1": version: 3.5.3 resolution: "memfs@npm:3.5.3" dependencies: @@ -34120,13 +34019,6 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.1": - version: 1.0.1 - resolution: "merge-descriptors@npm:1.0.1" - checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 - languageName: node - linkType: hard - "merge-descriptors@npm:1.0.3, merge-descriptors@npm:^1.0.1": version: 1.0.3 resolution: "merge-descriptors@npm:1.0.3" @@ -34549,7 +34441,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:2.1.35, mime-types@npm:^2.1.12, mime-types@npm:^2.1.18, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:2.1.35, mime-types@npm:^2.1.12, mime-types@npm:^2.1.18, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:^2.1.35, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -36286,7 +36178,7 @@ __metadata: languageName: node linkType: hard -"open@npm:^8.0.0, open@npm:^8.0.9, open@npm:^8.4.0": +"open@npm:^8.0.0, open@npm:^8.4.0": version: 8.4.2 resolution: "open@npm:8.4.2" dependencies: @@ -36592,7 +36484,7 @@ __metadata: languageName: node linkType: hard -"p-retry@npm:^4.5.0": +"p-retry@npm:4.6.2": version: 4.6.2 resolution: "p-retry@npm:4.6.2" dependencies: @@ -37120,13 +37012,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.7": - version: 0.1.7 - resolution: "path-to-regexp@npm:0.1.7" - checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce - languageName: node - linkType: hard - "path-to-regexp@npm:2.2.1": version: 2.2.1 resolution: "path-to-regexp@npm:2.2.1" @@ -38554,15 +38439,6 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.11.0": - version: 6.11.0 - resolution: "qs@npm:6.11.0" - dependencies: - side-channel: ^1.0.4 - checksum: 6e1f29dd5385f7488ec74ac7b6c92f4d09a90408882d0c208414a34dd33badc1a621019d4c799a3df15ab9b1d0292f97c1dd71dc7c045e69f81a8064e5af7297 - languageName: node - linkType: hard - "qs@npm:6.13.0, qs@npm:^6.10.1, qs@npm:^6.10.2, qs@npm:^6.10.3, qs@npm:^6.11.0, qs@npm:^6.11.2, qs@npm:^6.12.2, qs@npm:^6.9.4": version: 6.13.0 resolution: "qs@npm:6.13.0" @@ -40294,6 +40170,17 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" + dependencies: + glob: ^10.3.7 + bin: + rimraf: dist/esm/bin.mjs + checksum: 50e27388dd2b3fa6677385fc1e2966e9157c89c86853b96d02e6915663a96b7ff4d590e14f6f70e90f9b554093aa5dbc05ac3012876be558c06a65437337bc05 + languageName: node + linkType: hard + "rimraf@npm:~2.6.2": version: 2.6.3 resolution: "rimraf@npm:2.6.3" @@ -40812,7 +40699,7 @@ __metadata: languageName: node linkType: hard -"selfsigned@npm:^2.0.0, selfsigned@npm:^2.1.1, selfsigned@npm:^2.4.1": +"selfsigned@npm:^2.0.0, selfsigned@npm:^2.4.1": version: 2.4.1 resolution: "selfsigned@npm:2.4.1" dependencies: @@ -40883,27 +40770,6 @@ __metadata: languageName: node linkType: hard -"send@npm:0.18.0": - version: 0.18.0 - resolution: "send@npm:0.18.0" - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - etag: ~1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: ~1.2.1 - statuses: 2.0.1 - checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 - languageName: node - linkType: hard - "send@npm:0.19.0": version: 0.19.0 resolution: "send@npm:0.19.0" @@ -40990,18 +40856,6 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:1.15.0": - version: 1.15.0 - resolution: "serve-static@npm:1.15.0" - dependencies: - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - parseurl: ~1.3.3 - send: 0.18.0 - checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d - languageName: node - linkType: hard - "serve-static@npm:1.16.2": version: 1.16.2 resolution: "serve-static@npm:1.16.2" @@ -42634,13 +42488,6 @@ __metadata: languageName: node linkType: hard -"tapable@npm:2.2.1, tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 - languageName: node - linkType: hard - "tapable@npm:^1.0.0": version: 1.1.3 resolution: "tapable@npm:1.1.3" @@ -42648,6 +42495,13 @@ __metadata: languageName: node linkType: hard +"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 + languageName: node + linkType: hard + "tar-fs@npm:^2.0.0": version: 2.1.1 resolution: "tar-fs@npm:2.1.1" @@ -44857,40 +44711,7 @@ __metadata: languageName: node linkType: hard -"webpack-dev-middleware@npm:6.1.2": - version: 6.1.2 - resolution: "webpack-dev-middleware@npm:6.1.2" - dependencies: - colorette: ^2.0.10 - memfs: ^3.4.12 - mime-types: ^2.1.31 - range-parser: ^1.2.1 - schema-utils: ^4.0.0 - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - checksum: 6e962341db5b3ac8526cd678fc6b128adcb92c288aab767948ab7d01591d7837d2d97cf9329d307831b1d51c831fcea4d8f2eb514efe8c8654ae2a4ae9d9f1fb - languageName: node - linkType: hard - -"webpack-dev-middleware@npm:^5.3.1": - version: 5.3.4 - resolution: "webpack-dev-middleware@npm:5.3.4" - dependencies: - colorette: ^2.0.10 - memfs: ^3.4.3 - mime-types: ^2.1.31 - range-parser: ^1.2.1 - schema-utils: ^4.0.0 - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: 90cf3e27d0714c1a745454a1794f491b7076434939340605b9ee8718ba2b85385b120939754e9fdbd6569811e749dee53eec319e0d600e70e0b0baffd8e3fb13 - languageName: node - linkType: hard - -"webpack-dev-middleware@npm:^7.4.2": +"webpack-dev-middleware@npm:^7.1.0, webpack-dev-middleware@npm:^7.4.2": version: 7.4.2 resolution: "webpack-dev-middleware@npm:7.4.2" dependencies: @@ -44909,42 +44730,42 @@ __metadata: languageName: node linkType: hard -"webpack-dev-server@npm:4.13.1": - version: 4.13.1 - resolution: "webpack-dev-server@npm:4.13.1" +"webpack-dev-server@npm:5.0.4": + version: 5.0.4 + resolution: "webpack-dev-server@npm:5.0.4" dependencies: - "@types/bonjour": ^3.5.9 - "@types/connect-history-api-fallback": ^1.3.5 - "@types/express": ^4.17.13 - "@types/serve-index": ^1.9.1 - "@types/serve-static": ^1.13.10 - "@types/sockjs": ^0.3.33 - "@types/ws": ^8.5.1 + "@types/bonjour": ^3.5.13 + "@types/connect-history-api-fallback": ^1.5.4 + "@types/express": ^4.17.21 + "@types/serve-index": ^1.9.4 + "@types/serve-static": ^1.15.5 + "@types/sockjs": ^0.3.36 + "@types/ws": ^8.5.10 ansi-html-community: ^0.0.8 - bonjour-service: ^1.0.11 - chokidar: ^3.5.3 + bonjour-service: ^1.2.1 + chokidar: ^3.6.0 colorette: ^2.0.10 compression: ^1.7.4 connect-history-api-fallback: ^2.0.0 default-gateway: ^6.0.3 express: ^4.17.3 graceful-fs: ^4.2.6 - html-entities: ^2.3.2 + html-entities: ^2.4.0 http-proxy-middleware: ^2.0.3 - ipaddr.js: ^2.0.1 - launch-editor: ^2.6.0 - open: ^8.0.9 - p-retry: ^4.5.0 - rimraf: ^3.0.2 - schema-utils: ^4.0.0 - selfsigned: ^2.1.1 + ipaddr.js: ^2.1.0 + launch-editor: ^2.6.1 + open: ^10.0.3 + p-retry: ^6.2.0 + rimraf: ^5.0.5 + schema-utils: ^4.2.0 + selfsigned: ^2.4.1 serve-index: ^1.9.1 sockjs: ^0.3.24 spdy: ^4.0.2 - webpack-dev-middleware: ^5.3.1 - ws: ^8.13.0 + webpack-dev-middleware: ^7.1.0 + ws: ^8.16.0 peerDependencies: - webpack: ^4.37.0 || ^5.0.0 + webpack: ^5.0.0 peerDependenciesMeta: webpack: optional: true @@ -44952,7 +44773,7 @@ __metadata: optional: true bin: webpack-dev-server: bin/webpack-dev-server.js - checksum: f70611544b7d964a31eb3d934d7c2b376b97e6927a89e03b2e21cfa5812bb639625cd18fd350de1604ba6c455b324135523a894032f28c69d90d90682e4f3b7d + checksum: b3535d01e8d895f4ce6d74b5f76e29398b712476216cd6d459365e5cc2f2fb1e49240aef6c23b2b943b04dbf768d7d18301af3eb064038bde4e11d03c241202d languageName: node linkType: hard @@ -45008,13 +44829,6 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:3.2.3, webpack-sources@npm:^3.2.3": - version: 3.2.3 - resolution: "webpack-sources@npm:3.2.3" - checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 - languageName: node - linkType: hard - "webpack-sources@npm:^1.4.3": version: 1.4.3 resolution: "webpack-sources@npm:1.4.3" @@ -45025,6 +44839,13 @@ __metadata: languageName: node linkType: hard +"webpack-sources@npm:^3.2.3": + version: 3.2.3 + resolution: "webpack-sources@npm:3.2.3" + checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 + languageName: node + linkType: hard + "webpack@npm:^5, webpack@npm:^5.70.0": version: 5.94.0 resolution: "webpack@npm:5.94.0" @@ -45388,7 +45209,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:*, ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.8.0": +"ws@npm:*, ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.16.0, ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.8.0": version: 8.18.0 resolution: "ws@npm:8.18.0" peerDependencies: @@ -45418,21 +45239,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.8.1": - version: 8.8.1 - resolution: "ws@npm:8.8.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 2152cf862cae0693f3775bc688a6afb2e989d19d626d215e70f5fcd8eb55b1c3b0d3a6a4052905ec320e2d7734e20aeedbf9744496d62f15a26ad79cf4cf7dae - languageName: node - linkType: hard - "ws@npm:^7, ws@npm:^7.4.6, ws@npm:^7.5.5": version: 7.5.10 resolution: "ws@npm:7.5.10"