From ac5b81b88f297937e80305d669ccdaa5fd77f2ed Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 26 Jul 2022 21:06:16 +0800 Subject: [PATCH 1/2] fix(vite-node): clear cache after each render --- packages/vite/src/runtime/vite-node.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/vite/src/runtime/vite-node.mjs b/packages/vite/src/runtime/vite-node.mjs index dcf89ccc97c..88b63e3fb21 100644 --- a/packages/vite/src/runtime/vite-node.mjs +++ b/packages/vite/src/runtime/vite-node.mjs @@ -22,5 +22,6 @@ export default async (ssrContext) => { process.server = true render = render || (await runner.executeFile(viteNodeOptions.entryPath)).default const result = await render(ssrContext) + runner.moduleCache.clear() return result } From 57fb1e53d3ff8bf3e14983836ab93f4aa0359cd5 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 26 Jul 2022 21:39:51 +0800 Subject: [PATCH 2/2] perf: update --- packages/vite/src/runtime/vite-node.mjs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/runtime/vite-node.mjs b/packages/vite/src/runtime/vite-node.mjs index 88b63e3fb21..94f45f25b30 100644 --- a/packages/vite/src/runtime/vite-node.mjs +++ b/packages/vite/src/runtime/vite-node.mjs @@ -22,6 +22,11 @@ export default async (ssrContext) => { process.server = true render = render || (await runner.executeFile(viteNodeOptions.entryPath)).default const result = await render(ssrContext) - runner.moduleCache.clear() + // reset cache for non-node-modules + for (const key of runner.moduleCache.keys()) { + if (!key.includes('/node_modules/')) { + runner.moduleCache.delete(key) + } + } return result }