From a73a89a311f77aab78ba9a83faa99ea52e0c9c18 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Thu, 22 Aug 2024 16:05:56 +0200 Subject: [PATCH] feat: create root tsconfig if doesn't exist --- packages/astro/src/core/config/config.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/astro/src/core/config/config.ts b/packages/astro/src/core/config/config.ts index d703e578a5..549041fd8a 100644 --- a/packages/astro/src/core/config/config.ts +++ b/packages/astro/src/core/config/config.ts @@ -167,6 +167,20 @@ export async function resolveConfig( } if (astroConfig.experimental.typescript) { + const rootTsConfigUrl = new URL('./tsconfig.json', astroConfig.root); + if (!fsMod.existsSync(rootTsConfigUrl)) { + fsMod.writeFileSync( + rootTsConfigUrl, + JSON.stringify( + { + extends: ['astro/tsconfigs/base', GENERATED_TSCONFIG_PATH], + }, + null, + 2, + ), + 'utf-8', + ); + } const generatedTsConfigUrl = new URL(GENERATED_TSCONFIG_PATH, astroConfig.root); if (!fsMod.existsSync(generatedTsConfigUrl)) { fsMod.mkdirSync(path.dirname(fileURLToPath(generatedTsConfigUrl)), { recursive: true });