-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.js
33 lines (29 loc) · 1.03 KB
/
vite.config.js
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
import glsl from 'vite-plugin-glsl';
import { defineConfig } from 'vite';
import { visualizer } from 'rollup-plugin-visualizer';
export default defineConfig({
plugins: [glsl({ compress: true })],
// Enable high-resolution timers for performance measuring (see https://web.dev/coop-coep/)
server: {
host: true,
headers: {
'Cross-Origin-Embedder-Policy': 'require-corp',
'Cross-Origin-Opener-Policy': 'same-origin',
},
},
// Split tweakpane into its own chunk
build: {
rollupOptions: {
plugins: [visualizer({ emitFile: true, gzipSize: true, brotliSize: true })],
output: {
manualChunks(id) {
// Split tweakpane into its own chunk
if (/node_modules\/@?tweakpane/.test(id)) return 'tweakpane';
// Split all node modules (besides whitelisted ones) into their own chunk
const whitelist = ['seedrandom'];
if (id.includes('node_modules') && !whitelist.some((x) => id.includes(`node_modules/${x}`))) return 'vendor';
},
},
},
},
});