-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
41 lines (38 loc) · 916 Bytes
/
vite.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/// <reference types="vitest" />
import { svelte, vitePreprocess } from '@sveltejs/vite-plugin-svelte';
import autoprefixer from 'autoprefixer';
import type { PluginVisualizerOptions } from 'rollup-plugin-visualizer';
import { defineConfig } from 'vite';
export default defineConfig(({ command, mode }) => {
const analyze = command === 'build' && mode === 'analyze';
return {
plugins: [
svelte({
preprocess: vitePreprocess(),
}),
analyze &&
visualizer({
template: 'sunburst',
}),
],
css: {
postcss: {
plugins: [autoprefixer()],
},
},
server: {
port: 3000,
},
esbuild: {
legalComments: 'eof',
},
test: {
environment: 'happy-dom',
},
};
});
async function visualizer(options: PluginVisualizerOptions) {
// Async import so the dependency is optional
const { visualizer } = await import('rollup-plugin-visualizer');
return visualizer(options);
}