-
-
Notifications
You must be signed in to change notification settings - Fork 616
Expand file tree
/
Copy pathvite.main.config.ts
More file actions
43 lines (39 loc) · 1.1 KB
/
vite.main.config.ts
File metadata and controls
43 lines (39 loc) · 1.1 KB
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 { type ConfigEnv, mergeConfig, type UserConfig } from 'vite';
import {
external,
getBuildConfig,
getBuildDefine,
pluginHotRestart,
} from './vite.base.config.js';
export function getConfig(
forgeEnv: ConfigEnv<'build'>,
userConfig: UserConfig = {},
): UserConfig {
const { forgeConfigSelf, forgeConfig } = forgeEnv;
const isEsm = forgeConfig.outputFormat === 'es';
const define = getBuildDefine(forgeEnv);
const config: UserConfig = {
build: {
copyPublicDir: false,
rollupOptions: {
external: [...external, 'electron/main'],
},
},
plugins: [pluginHotRestart('restart')],
define,
resolve: {
// Load the Node.js entry.
conditions: ['node'],
mainFields: ['module', 'jsnext:main', 'jsnext'],
},
};
const buildConfig = getBuildConfig(forgeEnv);
if (userConfig.build?.lib == null) {
config.build!.lib = {
entry: forgeConfigSelf.entry,
fileName: () => (isEsm ? '[name].mjs' : '[name].cjs'),
formats: [isEsm ? 'es' : 'cjs'],
};
}
return mergeConfig(mergeConfig(buildConfig, config), userConfig);
}