site-library/scripts/todos.ts
2025-03-08 21:04:49 +01:00

37 lines
1.2 KiB
TypeScript

// src/integrations/build-logger.ts
import type { AstroIntegration } from 'astro';
export default function buildLogger(): AstroIntegration {
return {
name: 'build-logger',
hooks: {
'astro:build:start': () => {
console.log('Build started');
},
'astro:build:setup': ({ vite, target }) => {
console.log(`Build setup for target: ${target}`);
},
'astro:build:generated': ({ dir }) => {
console.log(`Files generated in: ${dir}`);
},
'astro:build:ssr': ({ manifest }) => {
console.log('SSR build complete');
console.log(`Manifest entries: ${Object.keys(manifest).length}`);
},
'astro:build:done': ({ dir, routes }) => {
console.log('Build completed');
console.log(`Output directory: ${dir}`);
console.log(`Built routes: ${routes.length}`);
// Log details of each built route
routes.forEach((route, index) => {
console.log(`[${index + 1}] Route: ${route.route}`);
console.log(` Type: ${route.type}`);
if (route.distURL) {
console.log(` Output: ${route.distURL.pathname}`);
}
});
}
},
};
}