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'; 6 7// 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});