diff --git a/packages/vite/src/node/optimizer/optimizer.ts b/packages/vite/src/node/optimizer/optimizer.ts index a791f8a1dd45b5..7ac32309267de9 100644 --- a/packages/vite/src/node/optimizer/optimizer.ts +++ b/packages/vite/src/node/optimizer/optimizer.ts @@ -168,11 +168,13 @@ async function createDepsOptimizer( let optimizingNewDeps: Promise | undefined async function close() { closed = true - await discoverProjectDependenciesPromise?.catch(() => { - /* ignore error for scanner because it's not important */ - }) - await postScanOptimizationResult - await optimizingNewDeps + await Promise.allSettled([ + discoverProjectDependenciesPromise?.catch(() => { + /* ignore error for scanner because it's not important */ + }), + postScanOptimizationResult, + optimizingNewDeps, + ]) } if (!cachedMetadata) { diff --git a/packages/vite/src/node/optimizer/scan.ts b/packages/vite/src/node/optimizer/scan.ts index f4f5da083e41bb..9cddac198cb2c3 100644 --- a/packages/vite/src/node/optimizer/scan.ts +++ b/packages/vite/src/node/optimizer/scan.ts @@ -106,20 +106,19 @@ export async function scanImports(config: ResolvedConfig): Promise<{ const { plugins = [], ...esbuildOptions } = config.optimizeDeps?.esbuildOptions ?? {} - await Promise.all( - entries.map((entry) => - build({ - absWorkingDir: process.cwd(), - write: false, - entryPoints: [entry], - bundle: true, - format: 'esm', - logLevel: 'error', - plugins: [...plugins, plugin], - ...esbuildOptions, - }), - ), - ) + await build({ + absWorkingDir: process.cwd(), + write: false, + stdin: { + contents: entries.map((e) => `import '${e}'`).join('\n'), + loader: 'js', + }, + bundle: true, + format: 'esm', + logLevel: 'error', + plugins: [...plugins, plugin], + ...esbuildOptions, + }) debug(`Scan completed in ${(performance.now() - start).toFixed(2)}ms:`, deps) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 9b3ad9fc19ca01..238725da4b4458 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -419,7 +419,7 @@ export async function createServer( process.stdin.off('end', exitProcess) } } - await Promise.all([ + await Promise.allSettled([ watcher.close(), ws.close(), container.close(),