setupOnCrawlEnd() — vite Function Reference
Architecture documentation for the setupOnCrawlEnd() function in environment.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD c7599009_1b74_ff3f_37a1_c8cb945418f8["setupOnCrawlEnd()"] 7916c84f_5621_2b3b_d220_a171ebce997f["environment.ts"] c7599009_1b74_ff3f_37a1_c8cb945418f8 -->|defined in| 7916c84f_5621_2b3b_d220_a171ebce997f 6ea66dc7_258c_4d4e_457c_a36e57776e88["constructor()"] 6ea66dc7_258c_4d4e_457c_a36e57776e88 -->|calls| c7599009_1b74_ff3f_37a1_c8cb945418f8 b6ef989d_5a20_eb85_097b_a92459d6c1e0["waitForRequestsIdle()"] c7599009_1b74_ff3f_37a1_c8cb945418f8 -->|calls| b6ef989d_5a20_eb85_097b_a92459d6c1e0 dfa2b928_25a4_a78f_1e11_1e7e643cae09["resolve()"] c7599009_1b74_ff3f_37a1_c8cb945418f8 -->|calls| dfa2b928_25a4_a78f_1e11_1e7e643cae09 style c7599009_1b74_ff3f_37a1_c8cb945418f8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/server/environment.ts lines 342–401
function setupOnCrawlEnd(): CrawlEndFinder {
const registeredIds = new Set<string>()
const seenIds = new Set<string>()
const onCrawlEndPromiseWithResolvers = promiseWithResolvers<void>()
let timeoutHandle: NodeJS.Timeout | undefined
let cancelled = false
function cancel() {
cancelled = true
}
function registerRequestProcessing(
id: string,
done: () => Promise<any>,
): void {
if (!seenIds.has(id)) {
seenIds.add(id)
registeredIds.add(id)
done()
.catch(() => {})
.finally(() => markIdAsDone(id))
}
}
function waitForRequestsIdle(ignoredId?: string): Promise<void> {
if (ignoredId) {
seenIds.add(ignoredId)
markIdAsDone(ignoredId)
} else {
checkIfCrawlEndAfterTimeout()
}
return onCrawlEndPromiseWithResolvers.promise
}
function markIdAsDone(id: string): void {
registeredIds.delete(id)
checkIfCrawlEndAfterTimeout()
}
function checkIfCrawlEndAfterTimeout() {
if (cancelled || registeredIds.size > 0) return
if (timeoutHandle) clearTimeout(timeoutHandle)
timeoutHandle = setTimeout(
callOnCrawlEndWhenIdle,
callCrawlEndIfIdleAfterMs,
)
}
async function callOnCrawlEndWhenIdle() {
if (cancelled || registeredIds.size > 0) return
onCrawlEndPromiseWithResolvers.resolve()
}
return {
registerRequestProcessing,
waitForRequestsIdle,
cancel,
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does setupOnCrawlEnd() do?
setupOnCrawlEnd() is a function in the vite codebase, defined in packages/vite/src/node/server/environment.ts.
Where is setupOnCrawlEnd() defined?
setupOnCrawlEnd() is defined in packages/vite/src/node/server/environment.ts at line 342.
What does setupOnCrawlEnd() call?
setupOnCrawlEnd() calls 2 function(s): resolve, waitForRequestsIdle.
What calls setupOnCrawlEnd()?
setupOnCrawlEnd() is called by 1 function(s): constructor.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free