jevstrudel.git / packages / web / vite.config.js
1import { defineConfig } from 'vite';
2import { dependencies } from './package.json';
3import { resolve } from 'path';
4import replace from '@rollup/plugin-replace';
5import bundleAudioWorkletPlugin from 'vite-plugin-bundle-audioworklet';

https://vitejs.dev/config/

8export default defineConfig({
9  base: './',
10  plugins: [bundleAudioWorkletPlugin()],
11  build: {
12    lib: {
13      entry: resolve(__dirname, 'web.mjs'),
14      name: 'strudel',
15      formats: ['es', 'iife'],
16      fileName: (ext) => ({ es: 'index.mjs', iife: 'index.js' })[ext],
17    },
18    rollupOptions: {
19      // external: [...Object.keys(dependencies)],
20      plugins: [
21        replace({
22          'process.env.NODE_ENV': JSON.stringify('production'),
23          preventAssignment: true,
24        }),
25      ],
26    },
27    target: 'esnext',
28  },
29});