From 2c2a86bf8d050906060a2bd7c15b44e43bb069a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Sat, 25 Jun 2022 22:13:29 +0900 Subject: [PATCH] fix: always remove temp config (#8782) --- packages/vite/src/node/config.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index fbc5754af892cd..1e7b9583a618ea 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -887,9 +887,12 @@ export async function loadConfigFromFile( // bundle the config file w/ ts transforms first, write it to disk, // load it with native Node ESM, then delete the file. fs.writeFileSync(resolvedPath + '.mjs', bundled.code) - userConfig = (await dynamicImport(`${fileUrl}.mjs?t=${Date.now()}`)) - .default - fs.unlinkSync(resolvedPath + '.mjs') + try { + userConfig = (await dynamicImport(`${fileUrl}.mjs?t=${Date.now()}`)) + .default + } finally { + fs.unlinkSync(resolvedPath + '.mjs') + } debug(`TS + native esm config loaded in ${getTime()}`, fileUrl) } else { // using Function to avoid this from being compiled away by TS/Rollup