import { defineConfig } from 'vite';
import wasm from 'vite-plugin-wasm';
import topLevelAwait from 'vite-plugin-top-level-await';
export default defineConfig({
plugins: [
wasm(),
topLevelAwait(),
],
server: {
port: 3000,
open: true,
headers: {
'Cross-Origin-Opener-Policy': 'same-origin',
'Cross-Origin-Embedder-Policy': 'require-corp',
},
},
preview: {
port: 3000,
headers: {
'Cross-Origin-Opener-Policy': 'same-origin',
'Cross-Origin-Embedder-Policy': 'require-corp',
},
},
build: {
target: 'esnext',
outDir: 'dist',
assetsDir: 'assets',
sourcemap: true,
minify: 'esbuild',
rollupOptions: {
output: {
manualChunks: {
'wasm-core': ['./pkg/numrs2.js'],
},
},
},
},
optimizeDeps: {
exclude: ['./pkg/numrs2.js'],
},
worker: {
format: 'es',
plugins: [
wasm(),
topLevelAwait(),
],
},
});