From 939b38ce7ce6deb957a02bf824082bcbb16dba74 Mon Sep 17 00:00:00 2001 From: patak-dev Date: Fri, 8 Apr 2022 08:38:07 +0200 Subject: [PATCH 1/3] feat: optimizeDeps.disabled --- packages/playground/vue-jsx/vite.config.js | 3 +++ packages/vite/src/node/optimizer/index.ts | 4 ++++ packages/vite/src/node/server/index.ts | 10 ++++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/playground/vue-jsx/vite.config.js b/packages/playground/vue-jsx/vite.config.js index d6eb84e05f4e4a..2f4ea255c95094 100644 --- a/packages/playground/vue-jsx/vite.config.js +++ b/packages/playground/vue-jsx/vite.config.js @@ -35,5 +35,8 @@ export default defineComponent(() => { build: { // to make tests faster minify: false + }, + optimizeDeps: { + disabled: true } } diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 88c41801938b98..1a0216aeaa4609 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -41,6 +41,10 @@ export interface OptimizedDeps { } export interface DepOptimizationOptions { + /** + * @default false + */ + disabled?: boolean /** * By default, Vite will crawl your `index.html` to detect dependencies that * need to be pre-bundled. If `build.rollupOptions.input` is specified, Vite diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index de80ac1147ff0f..bf13ba683a9b93 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -571,6 +571,12 @@ export async function createServer( // error handler middlewares.use(errorMiddleware(server, !!middlewareMode)) + const initOptimizer = () => { + if (!config.optimizeDeps.disabled) { + server._optimizedDeps = createOptimizedDeps(server) + } + } + if (!middlewareMode && httpServer) { let isOptimized = false // overwrite listen to init optimizer before server start @@ -579,7 +585,7 @@ export async function createServer( if (!isOptimized) { try { await container.buildStart({}) - server._optimizedDeps = createOptimizedDeps(server) + initOptimizer() isOptimized = true } catch (e) { httpServer.emit('error', e) @@ -590,7 +596,7 @@ export async function createServer( }) as any } else { await container.buildStart({}) - server._optimizedDeps = createOptimizedDeps(server) + initOptimizer() } return server From edd99bd85acfdfc471c639b97b7cd12a186d5e92 Mon Sep 17 00:00:00 2001 From: patak-dev Date: Mon, 11 Apr 2022 21:57:14 +0200 Subject: [PATCH 2/3] chore: update --- packages/playground/vue-jsx/vite.config.js | 4 +--- packages/vite/src/node/config.ts | 14 +++++++++----- packages/vite/src/node/optimizer/index.ts | 10 ++++++---- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/packages/playground/vue-jsx/vite.config.js b/packages/playground/vue-jsx/vite.config.js index 2f4ea255c95094..4c7370a0ce4787 100644 --- a/packages/playground/vue-jsx/vite.config.js +++ b/packages/playground/vue-jsx/vite.config.js @@ -36,7 +36,5 @@ export default defineComponent(() => { // to make tests faster minify: false }, - optimizeDeps: { - disabled: true - } + optimizeDeps: false } diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 9910cbb3a8b004..1b5481d57981d5 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -145,8 +145,9 @@ export interface UserConfig { preview?: PreviewOptions /** * Dep optimization options + * false disables optimization completely (experimental) */ - optimizeDeps?: DepOptimizationOptions + optimizeDeps?: DepOptimizationOptions | false /** * SSR specific options * @alpha @@ -463,6 +464,8 @@ export async function resolveConfig( const server = resolveServerOptions(resolvedRoot, config.server) + const optimizeDeps = config.optimizeDeps || {} + const resolved: ResolvedConfig = { ...config, configFile: configFile ? normalizePath(configFile) : undefined, @@ -497,11 +500,12 @@ export async function resolveConfig( packageCache: new Map(), createResolver, optimizeDeps: { - ...config.optimizeDeps, + disabled: config.optimizeDeps === false, + ...optimizeDeps, esbuildOptions: { - keepNames: config.optimizeDeps?.keepNames, + keepNames: optimizeDeps.keepNames, preserveSymlinks: config.resolve?.preserveSymlinks, - ...config.optimizeDeps?.esbuildOptions + ...optimizeDeps.esbuildOptions } }, worker: resolvedWorkerOptions @@ -605,7 +609,7 @@ export async function resolveConfig( } }) - if (config.optimizeDeps?.keepNames) { + if (optimizeDeps.keepNames) { logDeprecationWarning( 'optimizeDeps.keepNames', 'Use "optimizeDeps.esbuildOptions.keepNames" instead.' diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 1a0216aeaa4609..13c322610cf493 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -41,10 +41,6 @@ export interface OptimizedDeps { } export interface DepOptimizationOptions { - /** - * @default false - */ - disabled?: boolean /** * By default, Vite will crawl your `index.html` to detect dependencies that * need to be pre-bundled. If `build.rollupOptions.input` is specified, Vite @@ -105,6 +101,12 @@ export interface DepOptimizationOptions { * @experimental */ extensions?: string[] + /** + * Disables dependencies optimizations + * @default false + * @experimental + */ + disabled?: boolean } export interface DepOptimizationResult { From a7bdb3dc337f069bf78c8ba56989f8c3fb8cceb2 Mon Sep 17 00:00:00 2001 From: patak Date: Tue, 12 Apr 2022 07:40:40 +0200 Subject: [PATCH 3/3] chore: missing line break Co-authored-by: Bjorn Lu --- packages/vite/src/node/config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 1b5481d57981d5..b02ac6e496593e 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -145,6 +145,7 @@ export interface UserConfig { preview?: PreviewOptions /** * Dep optimization options + * * false disables optimization completely (experimental) */ optimizeDeps?: DepOptimizationOptions | false