From 9a6efbe11a7e2eb1452c5463633b1fd1de6863ad Mon Sep 17 00:00:00 2001 From: "Yuito Akatsuki (Tani Yutaka)" Date: Tue, 20 May 2025 17:12:56 +0900 Subject: [PATCH 1/3] Add chokidar for watch mode in buildTypes script --- package.json | 1 + pnpm-lock.yaml | 51 ++++++++++++++++++++------------------ scripts/buildTypes.mts | 56 +++++++++++++++++++++++++++++++++++------- 3 files changed, 75 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index d427724687f838..8d1e63ba0deec5 100644 --- a/package.json +++ b/package.json @@ -154,6 +154,7 @@ "babel-plugin-transform-inline-environment-variables": "^0.4.4", "babel-plugin-transform-react-remove-prop-types": "^0.4.24", "chalk": "^5.4.1", + "chokidar": "^4.0.3", "compression-webpack-plugin": "^11.1.0", "concurrently": "^9.1.2", "cpy-cli": "^5.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 648a398060eadc..b9d601164c2a1d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -184,6 +184,9 @@ importers: chalk: specifier: ^5.4.1 version: 5.4.1 + chokidar: + specifier: ^4.0.3 + version: 4.0.3 compression-webpack-plugin: specifier: ^11.1.0 version: 11.1.0(webpack@5.99.8) @@ -327,7 +330,7 @@ importers: version: 37.0.0(stylelint@16.19.1(typescript@5.8.3)) terser-webpack-plugin: specifier: ^5.3.14 - version: 5.3.14(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))) + version: 5.3.14(webpack@5.99.8) tsconfig-paths-webpack-plugin: specifier: ^4.2.0 version: 4.2.0 @@ -348,7 +351,7 @@ importers: version: 0.7.1(vite@6.0.15(@types/node@20.17.48)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@3.1.3) webpack: specifier: ^5.99.8 - version: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + version: 5.99.8(webpack-cli@6.0.1) webpack-bundle-analyzer: specifier: ^4.10.2 version: 4.10.2 @@ -2182,7 +2185,7 @@ importers: version: 11.3.0 html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))) + version: 5.6.3(webpack@5.99.8(webpack-cli@6.0.1)) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -2221,7 +2224,7 @@ importers: version: 1.6.28 webpack: specifier: ^5.99.8 - version: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + version: 5.99.8(webpack-cli@6.0.1) yargs: specifier: ^17.7.2 version: 17.7.2 @@ -18378,19 +18381,19 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8)': + '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.99.8)': dependencies: - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8) - '@webpack-cli/info@3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8)': + '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.99.8)': dependencies: - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8) - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8)': + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.99.8)': dependencies: - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8) '@whatwg-node/disposablestack@0.0.6': @@ -18885,7 +18888,7 @@ snapshots: dependencies: '@babel/core': 7.27.1 find-up: 5.0.0 - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) babel-merge@3.0.0(@babel/core@7.27.1): dependencies: @@ -19651,7 +19654,7 @@ snapshots: dependencies: schema-utils: 4.3.2 serialize-javascript: 6.0.2 - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) compression@1.7.4: dependencies: @@ -20819,7 +20822,7 @@ snapshots: lodash: 4.17.21 resolve: 2.0.0-next.5 semver: 5.7.2 - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) transitivePeerDependencies: - supports-color @@ -21982,7 +21985,7 @@ snapshots: readable-stream: 1.0.34 through2: 0.4.2 - html-webpack-plugin@5.6.3(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))): + html-webpack-plugin@5.6.3(webpack@5.99.8(webpack-cli@6.0.1)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -21990,7 +21993,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) htmlparser2@6.1.0: dependencies: @@ -22934,7 +22937,7 @@ snapshots: dependencies: glob: 7.2.3 minimatch: 3.1.2 - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) webpack-merge: 4.2.2 karma@6.4.4: @@ -26907,14 +26910,14 @@ snapshots: dependencies: rimraf: 2.6.3 - terser-webpack-plugin@5.3.14(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))): + terser-webpack-plugin@5.3.14(webpack@5.99.8): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) terser@5.39.0: dependencies: @@ -27587,9 +27590,9 @@ snapshots: webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8): dependencies: '@discoveryjs/json-ext': 0.6.3 - '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8) - '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8) - '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8) + '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.99.8) + '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.99.8) + '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack@5.99.8) colorette: 2.0.20 commander: 12.1.0 cross-spawn: 7.0.6 @@ -27598,7 +27601,7 @@ snapshots: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) + webpack: 5.99.8(webpack-cli@6.0.1) webpack-merge: 6.0.1 optionalDependencies: webpack-bundle-analyzer: 4.10.2 @@ -27617,7 +27620,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)): + webpack@5.99.8(webpack-cli@6.0.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -27640,7 +27643,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.14(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))) + terser-webpack-plugin: 5.3.14(webpack@5.99.8) watchpack: 2.4.1 webpack-sources: 3.2.3 optionalDependencies: diff --git a/scripts/buildTypes.mts b/scripts/buildTypes.mts index 78ab604506f735..26c68cb1709db1 100644 --- a/scripts/buildTypes.mts +++ b/scripts/buildTypes.mts @@ -5,6 +5,7 @@ import yargs from 'yargs'; import { $ } from 'execa'; import * as babel from '@babel/core'; import { parse } from 'jsonc-parser'; +import chokidar from 'chokidar'; const $$ = $({ stdio: 'inherit' }); @@ -57,15 +58,10 @@ async function copyDeclarations(sourceDirectory: string, destinationDirectory: s await fs.cp(fullSourceDirectory, fullDestinationDirectory, { recursive: true, filter: async (src) => { - if (src.startsWith('.')) { - // ignore dotfiles - return false; - } + // eslint-disable-next-line curly + if (src.startsWith('.')) return false; const stats = await fs.stat(src); - if (stats.isDirectory()) { - return true; - } - return src.endsWith('.d.ts'); + return stats.isDirectory() || src.endsWith('.d.ts'); }, }); } @@ -74,6 +70,7 @@ interface HandlerArgv { skipTsc: boolean; copy: string[]; removeCss: boolean; + watch?: boolean; } async function main(argv: HandlerArgv) { @@ -139,9 +136,50 @@ yargs(process.argv.slice(2)) type: 'boolean', default: false, describe: 'Set to `true` if you want to remove the css imports in the type definitions', + }) + .option('watch', { + type: 'boolean', + default: false, + describe: 'Watch mode: rebuild when source files change', }); }, - main, + async (argv) => { + if (argv.watch) { + // eslint-disable-next-line no-console + console.log('[watch] Starting in watch mode...'); + + let isBuilding = false; + const build = async () => { + // eslint-disable-next-line curly + if (isBuilding) return; + isBuilding = true; + try { + await main(argv); + // eslint-disable-next-line no-console + console.log('[watch] Build complete'); + } catch (err) { + console.error('[watch] Build failed:', err); + } finally { + isBuilding = false; + } + }; + + await build(); + + chokidar + .watch(['src/**/*.ts', 'src/**/*.d.ts'], { + ignoreInitial: true, + }) + // eslint-disable-next-line @typescript-eslint/no-shadow + .on('all', async (event, path) => { + // eslint-disable-next-line no-console + console.log(`[watch] ${event}: ${path}`); + await build(); + }); + } else { + await main(argv); + } + }, ) .help() .strict(true) From b0e85020598c8842dbd5b1a78c83a1844c63904e Mon Sep 17 00:00:00 2001 From: "Yuito Akatsuki (Tani Yutaka)" Date: Thu, 22 May 2025 08:46:04 +0900 Subject: [PATCH 2/3] Implement watch mode for build process using chokidar --- scripts/buildTypes.mts | 73 +++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/scripts/buildTypes.mts b/scripts/buildTypes.mts index 26c68cb1709db1..fd0e7fddf28c12 100644 --- a/scripts/buildTypes.mts +++ b/scripts/buildTypes.mts @@ -73,7 +73,7 @@ interface HandlerArgv { watch?: boolean; } -async function main(argv: HandlerArgv) { +async function buildOnce(argv: HandlerArgv) { const packageRoot = process.cwd(); const tsconfigPath = path.join(packageRoot, 'tsconfig.build.json'); const tsconfigExists = await fs.access(tsconfigPath).then( @@ -115,6 +115,41 @@ async function main(argv: HandlerArgv) { await Promise.all(tsbuildinfo.map(async (file) => fs.rm(file))); } +async function main(argv: HandlerArgv) { + if (argv.watch) { + // eslint-disable-next-line no-console + console.log('[watch] Starting in watch mode...'); + + let isBuilding = false; + const triggerBuild = async () => { + // eslint-disable-next-line curly + if (isBuilding) return; + isBuilding = true; + try { + await buildOnce(argv); + // eslint-disable-next-line no-console + console.log('[watch] Build complete'); + } catch (err) { + console.error('[watch] Build failed:', err); + } finally { + isBuilding = false; + } + }; + + await triggerBuild(); + + chokidar + .watch(['src/**/*.ts', 'src/**/*.d.ts'], { ignoreInitial: true }) + .on('all', async (event, tmpPath) => { + // eslint-disable-next-line no-console + console.log(`[watch] ${event}: ${tmpPath}`); + await triggerBuild(); + }); + } else { + await buildOnce(argv); + } +} + yargs(process.argv.slice(2)) .command( '$0', @@ -144,41 +179,7 @@ yargs(process.argv.slice(2)) }); }, async (argv) => { - if (argv.watch) { - // eslint-disable-next-line no-console - console.log('[watch] Starting in watch mode...'); - - let isBuilding = false; - const build = async () => { - // eslint-disable-next-line curly - if (isBuilding) return; - isBuilding = true; - try { - await main(argv); - // eslint-disable-next-line no-console - console.log('[watch] Build complete'); - } catch (err) { - console.error('[watch] Build failed:', err); - } finally { - isBuilding = false; - } - }; - - await build(); - - chokidar - .watch(['src/**/*.ts', 'src/**/*.d.ts'], { - ignoreInitial: true, - }) - // eslint-disable-next-line @typescript-eslint/no-shadow - .on('all', async (event, path) => { - // eslint-disable-next-line no-console - console.log(`[watch] ${event}: ${path}`); - await build(); - }); - } else { - await main(argv); - } + await main(argv); }, ) .help() From 562bb78abff616cb64a9144aa756a5fa41ab9767 Mon Sep 17 00:00:00 2001 From: "Yuito Akatsuki (Tani Yutaka)" Date: Thu, 22 May 2025 08:50:53 +0900 Subject: [PATCH 3/3] pnpm dedupe --- pnpm-lock.yaml | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b9d601164c2a1d..4db362cdf9fa7c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -330,7 +330,7 @@ importers: version: 37.0.0(stylelint@16.19.1(typescript@5.8.3)) terser-webpack-plugin: specifier: ^5.3.14 - version: 5.3.14(webpack@5.99.8) + version: 5.3.14(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))) tsconfig-paths-webpack-plugin: specifier: ^4.2.0 version: 4.2.0 @@ -351,7 +351,7 @@ importers: version: 0.7.1(vite@6.0.15(@types/node@20.17.48)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@3.1.3) webpack: specifier: ^5.99.8 - version: 5.99.8(webpack-cli@6.0.1) + version: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) webpack-bundle-analyzer: specifier: ^4.10.2 version: 4.10.2 @@ -2185,7 +2185,7 @@ importers: version: 11.3.0 html-webpack-plugin: specifier: ^5.6.3 - version: 5.6.3(webpack@5.99.8(webpack-cli@6.0.1)) + version: 5.6.3(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -2224,7 +2224,7 @@ importers: version: 1.6.28 webpack: specifier: ^5.99.8 - version: 5.99.8(webpack-cli@6.0.1) + version: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) yargs: specifier: ^17.7.2 version: 17.7.2 @@ -18381,19 +18381,19 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.99.8)': + '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8)': dependencies: - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8) - '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.99.8)': + '@webpack-cli/info@3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8)': dependencies: - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8) - '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.99.8)': + '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8)': dependencies: - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8) '@whatwg-node/disposablestack@0.0.6': @@ -18888,7 +18888,7 @@ snapshots: dependencies: '@babel/core': 7.27.1 find-up: 5.0.0 - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) babel-merge@3.0.0(@babel/core@7.27.1): dependencies: @@ -19654,7 +19654,7 @@ snapshots: dependencies: schema-utils: 4.3.2 serialize-javascript: 6.0.2 - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) compression@1.7.4: dependencies: @@ -20822,7 +20822,7 @@ snapshots: lodash: 4.17.21 resolve: 2.0.0-next.5 semver: 5.7.2 - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) transitivePeerDependencies: - supports-color @@ -21985,7 +21985,7 @@ snapshots: readable-stream: 1.0.34 through2: 0.4.2 - html-webpack-plugin@5.6.3(webpack@5.99.8(webpack-cli@6.0.1)): + html-webpack-plugin@5.6.3(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -21993,7 +21993,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) htmlparser2@6.1.0: dependencies: @@ -22937,7 +22937,7 @@ snapshots: dependencies: glob: 7.2.3 minimatch: 3.1.2 - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) webpack-merge: 4.2.2 karma@6.4.4: @@ -26910,14 +26910,14 @@ snapshots: dependencies: rimraf: 2.6.3 - terser-webpack-plugin@5.3.14(webpack@5.99.8): + terser-webpack-plugin@5.3.14(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) terser@5.39.0: dependencies: @@ -27590,9 +27590,9 @@ snapshots: webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8): dependencies: '@discoveryjs/json-ext': 0.6.3 - '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.99.8) - '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.99.8) - '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack@5.99.8) + '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8) + '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8) + '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))(webpack@5.99.8) colorette: 2.0.20 commander: 12.1.0 cross-spawn: 7.0.6 @@ -27601,7 +27601,7 @@ snapshots: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.99.8(webpack-cli@6.0.1) + webpack: 5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)) webpack-merge: 6.0.1 optionalDependencies: webpack-bundle-analyzer: 4.10.2 @@ -27620,7 +27620,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.99.8(webpack-cli@6.0.1): + webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -27643,7 +27643,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.14(webpack@5.99.8) + terser-webpack-plugin: 5.3.14(webpack@5.99.8(webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.99.8))) watchpack: 2.4.1 webpack-sources: 3.2.3 optionalDependencies: