import { defineConfig } from 'vite'; import { readFileSync, writeFileSync } from 'fs'; import { resolve } from 'path'; function swVersionPlugin() { return { name: 'sw-version', writeBundle() { const swPath = resolve('dist/sw.js'); const content = readFileSync(swPath, 'utf-8'); const versioned = content.replace('__BUILD_TIME__', Date.now().toString()); writeFileSync(swPath, versioned); } }; } export default defineConfig({ root: '.', publicDir: 'public', build: { outDir: 'dist', target: 'esnext' }, plugins: [swVersionPlugin()], server: { port: 3000 }, preview: { port: 3000 } });