import { URL, fileURLToPath } from 'node:url';
import { defineConfig } from 'vite';
// Standalone build of the <physarum-player> custom element: a single
// self-contained ES module. No PWA, no Solid app shell. WGSL is inlined via
// ?raw, so the output needs no external engine assets.
export default defineConfig({
resolve: {
alias: { '~': fileURLToPath(new URL('./src', import.meta.url)) },
},
assetsInclude: ['**/*.wgsl'],
build: {
target: 'es2022',
sourcemap: true,
outDir: 'dist-player',
emptyOutDir: true,
copyPublicDir: false,
lib: {
entry: fileURLToPath(new URL('./src/player/element.ts', import.meta.url)),
formats: ['es'],
fileName: () => 'physarum-player.js',
},
},
});