refactor: migrate to vite for critical scss bundling, remove dart sass dependency

Signed-off-by: Sped0n <hi@sped0n.com>
This commit is contained in:
Sped0n
2025-11-12 16:56:30 +08:00
committed by Ryan
parent 8b3b5cd77a
commit 4b1f529589
9 changed files with 309 additions and 30 deletions

View File

@@ -4,21 +4,37 @@ import solidPlugin from 'vite-plugin-solid'
export default defineConfig({
plugins: [solidPlugin()],
build: {
outDir: './static/bundled',
outDir: './',
watch: process.env.DISABLE_WATCH
? null
: {
include: 'assets/**'
},
rollupOptions: {
input: './assets/ts/main.tsx',
input: {
main: './assets/ts/main.tsx',
critical: './assets/ts/critical.ts'
},
output: {
format: 'es',
entryFileNames: 'js/[name].js',
chunkFileNames: 'js/[hash:6].js',
assetFileNames: '[ext]/[name].[ext]',
entryFileNames: (chunkInfo) =>
chunkInfo.name === 'critical'
? 'assets/bundled/[name].js'
: 'static/bundled/js/[name].js',
chunkFileNames: 'static/bundled/js/[hash:6].js',
assetFileNames: (assetInfo) =>
assetInfo.names[0]?.startsWith('critical')
? 'assets/bundled/[name].[ext]'
: 'static/bundled/[ext]/[name].[ext]',
compact: true
}
}
},
css: {
preprocessorOptions: {
scss: {
loadPaths: ['./assets/scss']
}
}
}
})