Skip to content

Commit cfe75ee

Browse files
authoredApr 11, 2023
fix(optimizer): start optimizer after buildStart (#12832)
1 parent e0061d1 commit cfe75ee

File tree

3 files changed

+7
-18
lines changed

3 files changed

+7
-18
lines changed
 

‎packages/vite/src/node/optimizer/index.ts

-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import {
2727
import { transformWithEsbuild } from '../plugins/esbuild'
2828
import { ESBUILD_MODULES_TARGET } from '../constants'
2929
import { resolvePackageData } from '../packages'
30-
import type { ViteDevServer } from '../server'
3130
import { esbuildCjsExternalPlugin, esbuildDepPlugin } from './esbuildDepPlugin'
3231
import { scanImports } from './scan'
3332
export {
@@ -66,7 +65,6 @@ export interface DepsOptimizer {
6665
close: () => Promise<void>
6766

6867
options: DepOptimizationOptions
69-
server?: ViteDevServer
7068
}
7169

7270
export interface DepOptimizationConfig {

‎packages/vite/src/node/optimizer/optimizer.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ async function createDepsOptimizer(
120120
ensureFirstRun,
121121
close,
122122
options: getDepOptimizationConfig(config, ssr),
123-
server,
124123
}
125124

126125
depsOptimizerMap.set(config, depsOptimizer)
@@ -471,13 +470,13 @@ async function createDepsOptimizer(
471470
}
472471

473472
function fullReload() {
474-
if (depsOptimizer.server) {
473+
if (server) {
475474
// Cached transform results have stale imports (resolved to
476475
// old locations) so they need to be invalidated before the page is
477476
// reloaded.
478-
depsOptimizer.server.moduleGraph.invalidateAll()
477+
server.moduleGraph.invalidateAll()
479478

480-
depsOptimizer.server.ws.send({
479+
server.ws.send({
481480
type: 'full-reload',
482481
path: '*',
483482
})

‎packages/vite/src/node/server/index.ts

+4-12
Original file line numberDiff line numberDiff line change
@@ -347,11 +347,6 @@ export async function _createServer(
347347
): Promise<ViteDevServer> {
348348
const config = await resolveConfig(inlineConfig, 'serve')
349349

350-
if (isDepsOptimizerEnabled(config, false)) {
351-
// start optimizer in the background, we still need to await the setup
352-
await initDepsOptimizer(config)
353-
}
354-
355350
const { root, server: serverConfig } = config
356351
const httpsOptions = await resolveHttpsConfig(config.server.https)
357352
const { middlewareMode } = serverConfig
@@ -656,13 +651,6 @@ export async function _createServer(
656651
// error handler
657652
middlewares.use(errorMiddleware(server, middlewareMode))
658653

659-
// when the optimizer is ready, hook server so that it can reload the page
660-
// or invalidate the module graph when needed
661-
const depsOptimizer = getDepsOptimizer(config)
662-
if (depsOptimizer) {
663-
depsOptimizer.server = server
664-
}
665-
666654
// httpServer.listen can be called multiple times
667655
// when port when using next port number
668656
// this code is to avoid calling buildStart multiple times
@@ -674,6 +662,10 @@ export async function _createServer(
674662

675663
initingServer = (async function () {
676664
await container.buildStart({})
665+
// start deps optimizer after all container plugins are ready
666+
if (isDepsOptimizerEnabled(config, false)) {
667+
await initDepsOptimizer(config, server)
668+
}
677669
initingServer = undefined
678670
serverInited = true
679671
})()

0 commit comments

Comments
 (0)
Please sign in to comment.