Skip to content

Commit

Permalink
fix: make --force work for all environments (#18901)
Browse files Browse the repository at this point in the history
  • Loading branch information
sapphi-red authored Jan 23, 2025
1 parent 612332b commit 51a42c6
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 7 deletions.
2 changes: 1 addition & 1 deletion packages/vite/src/node/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,8 @@ cli
configLoader: options.configLoader,
logLevel: options.logLevel,
clearScreen: options.clearScreen,
optimizeDeps: { force: options.force },
server: cleanGlobalCLIOptions(options),
forceOptimizeDeps: options.force,
})

if (!server.httpServer) {
Expand Down
6 changes: 6 additions & 0 deletions packages/vite/src/node/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,7 @@ export interface InlineConfig extends UserConfig {
/** @experimental */
configLoader?: 'bundle' | 'runner'
envFile?: false
forceOptimizeDeps?: boolean
}

export interface ResolvedConfig
Expand Down Expand Up @@ -775,6 +776,7 @@ function resolveEnvironmentOptions(
options: EnvironmentOptions,
alias: Alias[],
preserveSymlinks: boolean,
forceOptimizeDeps: boolean | undefined,
logger: Logger,
environmentName: string,
// Backward compatibility
Expand Down Expand Up @@ -804,6 +806,7 @@ function resolveEnvironmentOptions(
optimizeDeps: resolveDepOptimizationOptions(
options.optimizeDeps,
resolve.preserveSymlinks,
forceOptimizeDeps,
consumer,
),
dev: resolveDevEnvironmentOptions(
Expand Down Expand Up @@ -980,6 +983,7 @@ function resolveResolveOptions(
function resolveDepOptimizationOptions(
optimizeDeps: DepOptimizationOptions | undefined,
preserveSymlinks: boolean,
forceOptimizeDeps: boolean | undefined,
consumer: 'client' | 'server' | undefined,
): DepOptimizationOptions {
return mergeWithDefaults(
Expand All @@ -990,6 +994,7 @@ function resolveDepOptimizationOptions(
esbuildOptions: {
preserveSymlinks,
},
force: forceOptimizeDeps ?? configDefaults.optimizeDeps.force,
},
optimizeDeps ?? {},
)
Expand Down Expand Up @@ -1202,6 +1207,7 @@ export async function resolveConfig(
config.environments[environmentName],
resolvedDefaultResolve.alias,
resolvedDefaultResolve.preserveSymlinks,
inlineConfig.forceOptimizeDeps,
logger,
environmentName,
config.experimental?.skipSsrTransform,
Expand Down
18 changes: 15 additions & 3 deletions packages/vite/src/node/optimizer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -373,24 +373,36 @@ export async function loadCachedDepOptimizationMetadata(
if (cachedMetadata.lockfileHash !== getLockfileHash(environment)) {
environment.logger.info(
'Re-optimizing dependencies because lockfile has changed',
{
timestamp: true,
},
)
} else if (cachedMetadata.configHash !== getConfigHash(environment)) {
environment.logger.info(
'Re-optimizing dependencies because vite config has changed',
{
timestamp: true,
},
)
} else {
log?.('Hash is consistent. Skipping. Use --force to override.')
log?.(
`(${environment.name}) Hash is consistent. Skipping. Use --force to override.`,
)
// Nothing to commit or cancel as we are using the cache, we only
// need to resolve the processing promise so requests can move on
return cachedMetadata
}
}
} else {
environment.logger.info('Forced re-optimization of dependencies')
environment.logger.info('Forced re-optimization of dependencies', {
timestamp: true,
})
}

// Start with a fresh cache
debug?.(colors.green(`removing old cache dir ${depsCacheDir}`))
debug?.(
`(${environment.name}) ${colors.green(`removing old cache dir ${depsCacheDir}`)}`,
)
await fsp.rm(depsCacheDir, { recursive: true, force: true })
}

Expand Down
4 changes: 1 addition & 3 deletions packages/vite/src/node/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1164,9 +1164,7 @@ async function restartServer(server: ViteDevServer) {
let inlineConfig = server.config.inlineConfig
if (server._forceOptimizeOnRestart) {
inlineConfig = mergeConfig(inlineConfig, {
optimizeDeps: {
force: true,
},
forceOptimizeDeps: true,
})
}

Expand Down

0 comments on commit 51a42c6

Please sign in to comment.