Skip to content

Commit

Permalink
fix(server): use options argument in caching of transformRequest
Browse files Browse the repository at this point in the history
…calls (#5391)
  • Loading branch information
aleclarson authored Nov 2, 2021
1 parent 981e1f5 commit 27b7f90
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 15 deletions.
4 changes: 2 additions & 2 deletions packages/vite/src/node/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ export interface ViteDevServer {
/**
* @internal
*/
_pendingRequests: Record<string, Promise<TransformResult | null> | null>
_pendingRequests: Map<string, Promise<TransformResult | null>>
}

export async function createServer(
Expand Down Expand Up @@ -432,7 +432,7 @@ export async function createServer(
_isRunningOptimizer: false,
_registerMissingImport: null,
_pendingReload: null,
_pendingRequests: Object.create(null)
_pendingRequests: new Map()
}

server.transformIndexHtml = createDevHtmlTransformFn(server)
Expand Down
21 changes: 8 additions & 13 deletions packages/vite/src/node/server/transformRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,20 +43,15 @@ export function transformRequest(
server: ViteDevServer,
options: TransformOptions = {}
): Promise<TransformResult | null> {
const pending = server._pendingRequests[url]
if (pending) {
debugTransform(
`[reuse pending] for ${prettifyUrl(url, server.config.root)}`
)
return pending
const cacheKey = (options.ssr ? 'ssr:' : options.html ? 'html:' : '') + url
let request = server._pendingRequests.get(cacheKey)
if (!request) {
request = doTransform(url, server, options)
server._pendingRequests.set(cacheKey, request)
const done = () => server._pendingRequests.delete(cacheKey)
request.then(done, done)
}
const result = doTransform(url, server, options)
server._pendingRequests[url] = result
const onDone = () => {
server._pendingRequests[url] = null
}
result.then(onDone, onDone)
return result
return request
}

async function doTransform(
Expand Down

0 comments on commit 27b7f90

Please sign in to comment.