Files
openscreen/vite.config.ts
2026-06-05 16:33:17 +07:00

61 lines
1.3 KiB
TypeScript

import path from "node:path";
import react from "@vitejs/plugin-react";
import { defineConfig } from "vite";
import electron from "vite-plugin-electron/simple";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
react(),
electron({
main: {
entry: "electron/main.ts",
onstart({ startup }) {
const env = { ...process.env };
delete env.ELECTRON_RUN_AS_NODE;
return startup(["."], { env });
},
vite: {
build: {},
},
},
preload: {
input: path.join(__dirname, "electron/preload.ts"),
},
renderer: process.env.NODE_ENV === "test" ? undefined : {},
}),
],
resolve: {
alias: {
"@": path.resolve(__dirname, "src"),
},
},
build: {
target: "esnext",
minify: "terser",
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true,
pure_funcs: ["console.log", "console.debug"],
},
},
rollupOptions: {
output: {
manualChunks(id) {
if (id.includes("pixi.js") || id.includes("pixi-filters") || id.includes("@pixi/"))
return "pixi";
if (id.includes("react-dom") || id.includes("/react/")) return "react-vendor";
if (
id.includes("mediabunny") ||
id.includes("mp4box") ||
id.includes("fix-webm-duration")
)
return "video-processing";
},
},
},
chunkSizeWarningLimit: 1000,
},
});