-
Notifications
You must be signed in to change notification settings - Fork 46
/
Copy pathvite.config.main.mjs
43 lines (41 loc) · 1.47 KB
/
vite.config.main.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import path from "node:path";
import { normalizePath } from "vite";
import { viteStaticCopy } from "vite-plugin-static-copy";
import { createSingleFile, ENVIRONMENT, getCommonViteConfig, getElectronVendorsCache, PROJECT_HOME, sourceEnv } from "./vite.config.common.mjs";
/**
* @type {import('vite').UserConfig}
* @see https://vitejs.dev/config/
*/
export default ({ mode, command }) => {
sourceEnv(ENVIRONMENT);
const cache = getElectronVendorsCache();
const outputFormat = "es";
const config = getCommonViteConfig({ mode: mode || process.env.MODE || "development", command, outputName: "main", outputFormat });
config.build.emptyOutDir = false;
config.build.ssr = true;
config.build.target = `node${cache.node}`;
config.build.lib = {
name: "main",
entry: "src/electron-shell/main.ts",
formats: [outputFormat]
};
// config.build.manifest = true;
config.build.rollupOptions.external = ["electron"];
config.build.rollupOptions.preserveEntrySignatures = "exports-only";
config.build.rollupOptions.output.exports = "auto";
config.build.rollupOptions.output.format = outputFormat;
if (ENVIRONMENT === "production") {
config.plugins.push(createSingleFile(false));
config.plugins.push(
viteStaticCopy({
targets: [
{
src: normalizePath(path.resolve(PROJECT_HOME, "support/resources/appx")),
dest: normalizePath(path.resolve(PROJECT_HOME, "build"))
}
]
})
);
}
return config;
};