feat: inject types for __assets, __version, __prefix

This commit is contained in:
Ayo Ayco 2024-08-17 10:14:39 +02:00
parent b6e72d3d7e
commit 2b94e3c827

View file

@ -79,26 +79,13 @@ export default function serviceWorker(config) {
if (command === 'build') { if (command === 'build') {
injectScript('page', registrationScript); injectScript('page', registrationScript);
} }
},
const injectedTypeDefinitions = ` 'astro:config:done': async ({injectTypes, logger}) => {
/*** let injectedTypes = `
* @ayco/astro-sw injected variables
*/
declare const __assets: string; declare const __assets: string;
declare const __version: string; declare const __version: string;
declare const __prefix: string; declare const __prefix: string;`
` injectTypes({filename: 'caching.d.ts', content: injectedTypes})
const envTs = path.join(__dirname, 'src/env.d.ts');
try {
await writeFile(
envTs,
injectedTypeDefinitions,
{ flag: 'a+' }
);
} catch (err) {
logger.error(err.toString())
}
}, },
'astro:build:ssr': ({ manifest }) => { 'astro:build:ssr': ({ manifest }) => {
const files = manifest.routes.map(route => route.file.replaceAll('/', '')); const files = manifest.routes.map(route => route.file.replaceAll('/', ''));