fleeting-garden/vite.config.ts
2026-05-21 07:43:10 +01:00

41 lines
1 KiB
TypeScript

import basicSsl from '@vitejs/plugin-basic-ssl';
import browserslist from 'browserslist';
import browserslistToEsbuild from 'browserslist-to-esbuild';
import { browserslistToTargets } from 'lightningcss';
import { viteSingleFile } from 'vite-plugin-singlefile';
import { defineConfig } from 'vitest/config';
const cssTargets = browserslistToTargets(browserslist());
const esbuildTargets = browserslistToEsbuild();
export default defineConfig(({ command }) => ({
base: './',
plugins: [
viteSingleFile({
inlinePattern: ['index-*.js', 'style-*.css'],
useRecommendedBuildConfig: false,
}),
...(command === 'serve' ? [basicSsl()] : []),
],
css: {
transformer: 'lightningcss',
lightningcss: {
targets: cssTargets,
},
},
build: {
target: esbuildTargets,
cssCodeSplit: false,
cssMinify: 'lightningcss',
assetsInlineLimit: Number.MAX_SAFE_INTEGER,
assetsDir: '',
},
server: {
open: true,
host: true,
},
test: {
environment: 'node',
include: ['src/**/*.test.ts'],
},
}));