47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import path from "path";
|
|
import react from "@vitejs/plugin-react";
|
|
import { viteStaticCopy } from "vite-plugin-static-copy";
|
|
import type { ConfigEnv, UserConfig } from "vite";
|
|
import { defineConfig } from "vite";
|
|
import { pluginExposeRenderer } from "./vite.base.config";
|
|
|
|
// https://vitejs.dev/config
|
|
export default defineConfig((env) => {
|
|
const forgeEnv = env as ConfigEnv<"renderer">;
|
|
const { root, mode, forgeConfigSelf } = forgeEnv;
|
|
const name = forgeConfigSelf.name ?? "";
|
|
|
|
return {
|
|
root,
|
|
mode,
|
|
base: "./",
|
|
build: {
|
|
outDir: `.vite/renderer/${name}`,
|
|
},
|
|
plugins: [
|
|
pluginExposeRenderer(name),
|
|
react(),
|
|
viteStaticCopy({
|
|
targets: [
|
|
{
|
|
src: "assets/*",
|
|
dest: "assets",
|
|
},
|
|
],
|
|
}),
|
|
],
|
|
resolve: {
|
|
preserveSymlinks: true,
|
|
alias: {
|
|
"@": path.resolve(__dirname, "./src"),
|
|
"@renderer": path.resolve(__dirname, "./src/renderer"),
|
|
"@commands": path.resolve(__dirname, "./src/commands"),
|
|
},
|
|
},
|
|
optimizeDeps: {
|
|
exclude: ["@ffmpeg/ffmpeg", "@ffmpeg/util"],
|
|
},
|
|
clearScreen: false,
|
|
} as UserConfig;
|
|
});
|