25 lines
1.2 KiB
JavaScript
25 lines
1.2 KiB
JavaScript
import { fileURLToPath } from "node:url";
|
|
import { defineConfig } from "vite";
|
|
import { configDefaults } from "vitest/config";
|
|
|
|
export default defineConfig({
|
|
// Ohne dedupe lädt der Controller three aus seinem eigenen node_modules -> zwei Kopien.
|
|
resolve: { dedupe: ["three", "three-mesh-bvh"] },
|
|
// Der BVH-Worker wird dynamisch aus three-mesh-bvh/src/workers/ geladen und darf nicht vorgebündelt werden.
|
|
optimizeDeps: { exclude: ["three-mesh-bvh", "three-player-controller"] },
|
|
// Zwei Seiten: das Spiel und die Animations-Testseite. Ohne diese Liste baut vite nur index.html.
|
|
build: {
|
|
rollupOptions: {
|
|
input: {
|
|
main: fileURLToPath(new URL("./index.html", import.meta.url)),
|
|
animationen: fileURLToPath(new URL("./animationen.html", import.meta.url)),
|
|
},
|
|
},
|
|
},
|
|
server: { host: true },
|
|
// Parallele Sitzungen legen ihre Arbeitsbäume unter .claude/worktrees/ in diesem Repository
|
|
// an. Ohne diesen Ausschluss sammelt vitest deren Testdateien mit ein — das verdoppelt die
|
|
// Zahl und lässt unseren Lauf fehlschlagen, sobald dort gerade ein Test rot ist.
|
|
test: { exclude: [...configDefaults.exclude, "**/.claude/**"] },
|
|
});
|