diff --git a/packages/astro/src/core/config/config.ts b/packages/astro/src/core/config/config.ts index 6350bb80ae..eab2ffba1d 100644 --- a/packages/astro/src/core/config/config.ts +++ b/packages/astro/src/core/config/config.ts @@ -146,11 +146,6 @@ export async function resolveConfig( inlineUserConfig.root = root; } - const generatedTsConfigUrl = new URL('./.astro/tsconfig.json', inlineUserConfig.root); - if (!fsMod.existsSync(generatedTsConfigUrl)) { - fsMod.writeFileSync(generatedTsConfigUrl, '{}', 'utf-8'); - } - const userConfig = await loadConfig(root, inlineOnlyConfig.configFile, fsMod); const mergedConfig = mergeConfig(userConfig, inlineUserConfig); // First-Pass Validation @@ -170,5 +165,12 @@ export async function resolveConfig( throw e; } + if (astroConfig.experimental.typescript) { + const generatedTsConfigUrl = new URL('./.astro/tsconfig.json', astroConfig.root); + if (!fsMod.existsSync(generatedTsConfigUrl)) { + fsMod.writeFileSync(generatedTsConfigUrl, '{}', 'utf-8'); + } + } + return { userConfig: mergedConfig, astroConfig }; }