61 lines
1.2 KiB
JavaScript
61 lines
1.2 KiB
JavaScript
|
// @ts-check
|
||
|
import { defineConfig } from "astro/config";
|
||
|
import tailwindcss from "@tailwindcss/vite";
|
||
|
|
||
|
// https://astro.build/config
|
||
|
export default defineConfig({
|
||
|
site: 'https://justin.deal',
|
||
|
|
||
|
// Performance optimizations
|
||
|
compressHTML: true,
|
||
|
|
||
|
// Build optimizations
|
||
|
build: {
|
||
|
inlineStylesheets: 'auto', // Inline small stylesheets for better performance
|
||
|
},
|
||
|
|
||
|
// Image optimizations - using passthrough service for CI/CD
|
||
|
image: {
|
||
|
service: {
|
||
|
entrypoint: 'astro/assets/services/noop',
|
||
|
},
|
||
|
},
|
||
|
|
||
|
// Vite configuration
|
||
|
vite: {
|
||
|
plugins: [tailwindcss()],
|
||
|
|
||
|
// Build optimizations
|
||
|
build: {
|
||
|
// Enable chunk splitting
|
||
|
cssCodeSplit: true,
|
||
|
|
||
|
// Optimize chunks
|
||
|
rollupOptions: {
|
||
|
output: {
|
||
|
// Customize chunk naming
|
||
|
manualChunks: {
|
||
|
// Group Alpine.js and related code
|
||
|
alpine: ['alpinejs'],
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
// Optimize dependencies
|
||
|
optimizeDeps: {
|
||
|
include: ['alpinejs'],
|
||
|
},
|
||
|
|
||
|
// CSS optimization
|
||
|
css: {
|
||
|
devSourcemap: true,
|
||
|
},
|
||
|
|
||
|
// Enable server-side rendering optimizations
|
||
|
ssr: {
|
||
|
noExternal: ['@astrojs/tailwind'],
|
||
|
},
|
||
|
},
|
||
|
});
|