Skip to content

Commit f61a1ab

Browse files
o-m12aclaude
andauthored
feat(optimizer): log when dependency scanning or bundling takes over 1s (#21797)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 5e656c1 commit f61a1ab

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,6 +644,12 @@ export function runOptimizeDeps(
644644

645645
const start = performance.now()
646646

647+
const bundleTimer = setTimeout(() => {
648+
environment.logger.info('[optimizer] bundling dependencies...', {
649+
timestamp: true,
650+
})
651+
}, 1000)
652+
647653
const preparedRun = prepareRolldownOptimizerRun(
648654
environment,
649655
depsInfo,
@@ -653,6 +659,7 @@ export function runOptimizeDeps(
653659

654660
const runResult = preparedRun.then(({ context, idToExports }) => {
655661
if (!context || optimizerContext.cancelled) {
662+
clearTimeout(bundleTimer)
656663
return cancelledResult
657664
}
658665

@@ -712,6 +719,8 @@ export function runOptimizeDeps(
712719
}
713720
}
714721

722+
clearTimeout(bundleTimer)
723+
715724
debug?.(
716725
`Dependencies bundled in ${(performance.now() - start).toFixed(2)}ms`,
717726
)
@@ -720,6 +729,7 @@ export function runOptimizeDeps(
720729
})
721730

722731
.catch((e) => {
732+
clearTimeout(bundleTimer)
723733
if (e.errors && e.message.includes('The build was canceled')) {
724734
// an error happens when cancelling, but this is expected so
725735
// return an empty result instead

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,12 @@ export function createDepsOptimizer(
200200
try {
201201
debug?.(colors.green(`scanning for dependencies...`))
202202

203+
const scanTimer = setTimeout(() => {
204+
logger.info('[optimizer] scanning dependencies...', {
205+
timestamp: true,
206+
})
207+
}, 1000)
208+
203209
let deps: Record<string, string>
204210
try {
205211
discover = discoverProjectDependencies(
@@ -216,6 +222,8 @@ export function createDepsOptimizer(
216222
),
217223
)
218224
return
225+
} finally {
226+
clearTimeout(scanTimer)
219227
}
220228

221229
const manuallyIncluded = Object.keys(manuallyIncludedDepsInfo)

0 commit comments

Comments
 (0)