From c71194d7aac9c08b0cba5ab189bd7f8c8b046f9b Mon Sep 17 00:00:00 2001 From: Princesseuh Date: Mon, 13 Mar 2023 14:23:26 +0100 Subject: [PATCH] fix(assets): Fix assets types reverting back on every dev server starts --- packages/astro/src/vite-plugin-inject-env-ts/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/astro/src/vite-plugin-inject-env-ts/index.ts b/packages/astro/src/vite-plugin-inject-env-ts/index.ts index bee2f37cc663..1693917f7e7e 100644 --- a/packages/astro/src/vite-plugin-inject-env-ts/index.ts +++ b/packages/astro/src/vite-plugin-inject-env-ts/index.ts @@ -49,18 +49,25 @@ export async function setUpEnvTs({ if (fs.existsSync(envTsPath)) { let typesEnvContents = await fs.promises.readFile(envTsPath, 'utf-8'); + + // TODO: Remove this logic in 3.0, as `astro/client-image` will be merged into `astro/client` if (settings.config.experimental.assets && typesEnvContents.includes('types="astro/client"')) { typesEnvContents = typesEnvContents.replace( 'types="astro/client"', 'types="astro/client-image"' ); await fs.promises.writeFile(envTsPath, typesEnvContents, 'utf-8'); - } else if (typesEnvContents.includes('types="astro/client-image"')) { + info(logging, 'assets', `Added ${bold(envTsPathRelativetoRoot)} types`); + } else if ( + !settings.config.experimental.assets && + typesEnvContents.includes('types="astro/client-image"') + ) { typesEnvContents = typesEnvContents.replace( 'types="astro/client-image"', 'types="astro/client"' ); await fs.promises.writeFile(envTsPath, typesEnvContents, 'utf-8'); + info(logging, 'assets', `Removed ${bold(envTsPathRelativetoRoot)} types`); } if (!fs.existsSync(dotAstroDir))