@electron-forge/plugin-vite 8.0.0-alpha.3 → 8.0.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pluginHotRestart = exports.pluginExposeRenderer = exports.getBuildDefine = exports.getDefineKeys = exports.getBuildConfig = exports.external = exports.builtins = void 0;
4
- const node_module_1 = require("node:module");
5
- exports.builtins = [
1
+ import { builtinModules } from 'node:module';
2
+ export const builtins = [
6
3
  'electron',
7
4
  'electron/common',
8
- ...node_module_1.builtinModules.map((m) => [m, `node:${m}`]).flat(),
5
+ ...builtinModules.map((m) => [m, `node:${m}`]).flat(),
9
6
  ];
10
- exports.external = [...exports.builtins];
7
+ export const external = [...builtins];
11
8
  // Used for hot reload after preload scripts.
12
9
  const viteDevServers = {};
13
10
  const viteDevServerUrls = {};
14
- function getBuildConfig(env) {
11
+ export function getBuildConfig(env) {
15
12
  const { root, mode, command } = env;
16
13
  return {
17
14
  root,
@@ -27,8 +24,7 @@ function getBuildConfig(env) {
27
24
  clearScreen: false,
28
25
  };
29
26
  }
30
- exports.getBuildConfig = getBuildConfig;
31
- function getDefineKeys(names) {
27
+ export function getDefineKeys(names) {
32
28
  const define = {};
33
29
  // change name from kebab case to upper snake case to agree with vite:define plugin
34
30
  // this allows the VitePluginRendererConfig entries to contain names with dashes
@@ -41,8 +37,7 @@ function getDefineKeys(names) {
41
37
  return { ...acc, [name]: keys };
42
38
  }, define);
43
39
  }
44
- exports.getDefineKeys = getDefineKeys;
45
- function getBuildDefine(env) {
40
+ export function getBuildDefine(env) {
46
41
  const { command, forgeConfig } = env;
47
42
  const names = forgeConfig.renderer
48
43
  .filter(({ name }) => name != null)
@@ -60,8 +55,7 @@ function getBuildDefine(env) {
60
55
  }, {});
61
56
  return define;
62
57
  }
63
- exports.getBuildDefine = getBuildDefine;
64
- function pluginExposeRenderer(name) {
58
+ export function pluginExposeRenderer(name) {
65
59
  const { VITE_DEV_SERVER_URL } = getDefineKeys([name])[name];
66
60
  return {
67
61
  name: '@electron-forge/plugin-vite:expose-renderer',
@@ -77,8 +71,7 @@ function pluginExposeRenderer(name) {
77
71
  },
78
72
  };
79
73
  }
80
- exports.pluginExposeRenderer = pluginExposeRenderer;
81
- function pluginHotRestart(command) {
74
+ export function pluginHotRestart(command) {
82
75
  return {
83
76
  name: '@electron-forge/plugin-vite:hot-restart',
84
77
  closeBundle() {
@@ -97,5 +90,4 @@ function pluginHotRestart(command) {
97
90
  },
98
91
  };
99
92
  }
100
- exports.pluginHotRestart = pluginHotRestart;
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5iYXNlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdml0ZS5iYXNlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNkM7QUFLaEMsUUFBQSxRQUFRLEdBQUc7SUFDdEIsVUFBVTtJQUNWLGlCQUFpQjtJQUNqQixHQUFHLDRCQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7Q0FDdEQsQ0FBQztBQUVXLFFBQUEsUUFBUSxHQUFHLENBQUMsR0FBRyxnQkFBUSxDQUFDLENBQUM7QUFFdEMsNkNBQTZDO0FBQzdDLE1BQU0sY0FBYyxHQUFrQyxFQUFFLENBQUM7QUFDekQsTUFBTSxpQkFBaUIsR0FBMkIsRUFBRSxDQUFDO0FBRXJELFNBQWdCLGNBQWMsQ0FBQyxHQUF1QjtJQUNwRCxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFFcEMsT0FBTztRQUNMLElBQUk7UUFDSixJQUFJO1FBQ0osS0FBSyxFQUFFO1lBQ0wsNERBQTREO1lBQzVELFdBQVcsRUFBRSxLQUFLO1lBQ2xCLG1DQUFtQztZQUNuQyxNQUFNLEVBQUUsYUFBYTtZQUNyQixLQUFLLEVBQUUsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3RDLE1BQU0sRUFBRSxPQUFPLEtBQUssT0FBTztTQUM1QjtRQUNELFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7QUFDSixDQUFDO0FBaEJELHdDQWdCQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxLQUFlO0lBQzNDLE1BQU0sTUFBTSxHQUE4QyxFQUFFLENBQUM7SUFFN0QsbUZBQW1GO0lBQ25GLGdGQUFnRjtJQUVoRixPQUFPLEtB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
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5iYXNlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdml0ZS5iYXNlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSzdDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO0NBQ3RELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0FBRXRDLDZDQUE2QztBQUM3QyxNQUFNLGNBQWMsR0FBa0MsRUFBRSxDQUFDO0FBQ3pELE1BQU0saUJBQWlCLEdBQTJCLEVBQUUsQ0FBQztBQUVyRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQXVCO0lBQ3BELE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUVwQyxPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUk7UUFDSixLQUFLLEVBQUU7WUFDTCw0REFBNEQ7WUFDNUQsV0FBVyxFQUFFLEtBQUs7WUFDbEIsbUNBQW1DO1lBQ25DLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLEtBQUssRUFBRSxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDdEMsTUFBTSxFQUFFLE9BQU8sS0FBSyxPQUFPO1NBQzVCO1FBQ0QsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQWU7SUFDM0MsTUFBTSxNQUFNLEdBQThDLEVBQUUsQ0FBQztJQUU3RCxtRkFBbUY7SUFDbkYsZ0ZBQWdGO0lBRWhGLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNyRCxNQUFNLElBQUksR0FBMEI7WUFDbEMsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLHNCQUFzQjtZQUNsRCxTQUFTLEVBQUUsR0FBRyxJQUFJLFlBQVk7U0FDL0IsQ0FBQztRQUVGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQXVCO0lBQ3BELE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ3JDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRO1NBQy9CLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7U0FDbEMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSyxDQUFDLENBQUM7SUFDNUIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUM5QyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3BCLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUc7WUFDVixDQUFDLG1CQUFtQixDQUFDLEVBQ25CLE9BQU8sS0FBSyxPQUFPO2dCQUNqQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUN4RCxDQUFDLENBQUMsU0FBUztZQUNmLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDbEMsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUMsRUFDRCxFQUF5QixDQUMxQixDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxJQUFZO0lBQy9DLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUQsT0FBTztRQUNMLElBQUksRUFBRSw2Q0FBNkM7UUFDbkQsZUFBZSxDQUFDLE1BQU07WUFDcEIsZ0RBQWdEO1lBQ2hELGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFFOUIsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQWlCLENBQUM7Z0JBQ2hFLDRDQUE0QztnQkFDNUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7b0JBQ3BDLG9CQUFvQixXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsT0FBNkI7SUFDNUQsT0FBTztRQUNMLElBQUksRUFBRSx5Q0FBeUM7UUFDL0MsV0FBVztZQUNULElBQUksT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN6QixLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztvQkFDbkQsOEJBQThCO29CQUM5QixNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDakMsNEJBQTRCO2dCQUM1Qiw2RkFBNkY7Z0JBQzdGLHlCQUF5QjtnQkFDekIsb0NBQW9DO1lBQ3RDLENBQUM7UUFDSCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMifQ==
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getConfig = void 0;
4
- const vite_1 = require("vite");
5
- const vite_base_config_1 = require("./vite.base.config");
6
- function getConfig(forgeEnv, userConfig = {}) {
1
+ import { mergeConfig } from 'vite';
2
+ import { external, getBuildConfig, getBuildDefine, pluginHotRestart, } from './vite.base.config.js';
3
+ export function getConfig(forgeEnv, userConfig = {}) {
7
4
  const { forgeConfigSelf } = forgeEnv;
8
- const define = (0, vite_base_config_1.getBuildDefine)(forgeEnv);
5
+ const define = getBuildDefine(forgeEnv);
9
6
  const config = {
10
7
  build: {
11
8
  copyPublicDir: false,
12
9
  rollupOptions: {
13
- external: [...vite_base_config_1.external, 'electron/main'],
10
+ external: [...external, 'electron/main'],
14
11
  },
15
12
  },
16
- plugins: [(0, vite_base_config_1.pluginHotRestart)('restart')],
13
+ plugins: [pluginHotRestart('restart')],
17
14
  define,
18
15
  resolve: {
19
16
  // Load the Node.js entry.
@@ -21,7 +18,7 @@ function getConfig(forgeEnv, userConfig = {}) {
21
18
  mainFields: ['module', 'jsnext:main', 'jsnext'],
22
19
  },
23
20
  };
24
- const buildConfig = (0, vite_base_config_1.getBuildConfig)(forgeEnv);
21
+ const buildConfig = getBuildConfig(forgeEnv);
25
22
  if (userConfig.build?.lib == null) {
26
23
  config.build.lib = {
27
24
  entry: forgeConfigSelf.entry,
@@ -29,7 +26,6 @@ function getConfig(forgeEnv, userConfig = {}) {
29
26
  formats: ['cjs'],
30
27
  };
31
28
  }
32
- return (0, vite_1.mergeConfig)((0, vite_1.mergeConfig)(buildConfig, config), userConfig);
29
+ return mergeConfig(mergeConfig(buildConfig, config), userConfig);
33
30
  }
34
- exports.getConfig = getConfig;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5tYWluLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdml0ZS5tYWluLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBb0U7QUFFcEUseURBSzRCO0FBRTVCLFNBQWdCLFNBQVMsQ0FDdkIsUUFBNEIsRUFDNUIsYUFBeUIsRUFBRTtJQUUzQixNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUEsaUNBQWMsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBZTtRQUN6QixLQUFLLEVBQUU7WUFDTCxhQUFhLEVBQUUsS0FBSztZQUNwQixhQUFhLEVBQUU7Z0JBQ2IsUUFBUSxFQUFFLENBQUMsR0FBRywyQkFBUSxFQUFFLGVBQWUsQ0FBQzthQUN6QztTQUNGO1FBQ0QsT0FBTyxFQUFFLENBQUMsSUFBQSxtQ0FBZ0IsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxNQUFNO1FBQ04sT0FBTyxFQUFFO1lBQ1AsMEJBQTBCO1lBQzFCLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNwQixVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQztTQUNoRDtLQUNGLENBQUM7SUFDRixNQUFNLFdBQVcsR0FBRyxJQUFBLGlDQUFjLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0MsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQyxNQUFNLENBQUMsS0FBTSxDQUFDLEdBQUcsR0FBRztZQUNsQixLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUs7WUFDNUIsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVc7WUFDM0IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxJQUFBLGtCQUFXLEVBQUMsSUFBQSxrQkFBVyxFQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBaENELDhCQWdDQyJ9
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5tYWluLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdml0ZS5tYWluLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFdBQVcsRUFBbUIsTUFBTSxNQUFNLENBQUM7QUFFcEUsT0FBTyxFQUNMLFFBQVEsRUFDUixjQUFjLEVBQ2QsY0FBYyxFQUNkLGdCQUFnQixHQUNqQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE1BQU0sVUFBVSxTQUFTLENBQ3ZCLFFBQTRCLEVBQzVCLGFBQXlCLEVBQUU7SUFFM0IsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLFFBQVEsQ0FBQztJQUNyQyxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQWU7UUFDekIsS0FBSyxFQUFFO1lBQ0wsYUFBYSxFQUFFLEtBQUs7WUFDcEIsYUFBYSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLGVBQWUsQ0FBQzthQUN6QztTQUNGO1FBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsTUFBTTtRQUNOLE9BQU8sRUFBRTtZQUNQLDBCQUEwQjtZQUMxQixVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDcEIsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUM7U0FDaEQ7S0FDRixDQUFDO0lBQ0YsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTdDLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEMsTUFBTSxDQUFDLEtBQU0sQ0FBQyxHQUFHLEdBQUc7WUFDbEIsS0FBSyxFQUFFLGVBQWUsQ0FBQyxLQUFLO1lBQzVCLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXO1lBQzNCLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbkUsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"vite.preload.config.d.ts","sourceRoot":"","sources":["../../src/config/vite.preload.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAe,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAIpE,wBAAgB,SAAS,CACvB,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAC5B,UAAU,GAAE,UAAe,GAC1B,UAAU,CAwBZ"}
1
+ {"version":3,"file":"vite.preload.config.d.ts","sourceRoot":"","sources":["../../src/config/vite.preload.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAe,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAQpE,wBAAgB,SAAS,CACvB,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAC5B,UAAU,GAAE,UAAe,GAC1B,UAAU,CAwBZ"}
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getConfig = void 0;
4
- const vite_1 = require("vite");
5
- const vite_base_config_1 = require("./vite.base.config");
6
- function getConfig(forgeEnv, userConfig = {}) {
1
+ import { mergeConfig } from 'vite';
2
+ import { external, getBuildConfig, pluginHotRestart, } from './vite.base.config.js';
3
+ export function getConfig(forgeEnv, userConfig = {}) {
7
4
  const { forgeConfigSelf } = forgeEnv;
8
5
  const config = {
9
6
  build: {
10
7
  copyPublicDir: false,
11
8
  rollupOptions: {
12
- external: [...vite_base_config_1.external, 'electron/renderer'],
9
+ external: [...external, 'electron/renderer'],
13
10
  // Preload scripts may contain Web assets, so use the `build.rollupOptions.input` instead `build.lib.entry`.
14
11
  input: forgeConfigSelf.entry,
15
12
  output: {
@@ -22,10 +19,9 @@ function getConfig(forgeEnv, userConfig = {}) {
22
19
  },
23
20
  },
24
21
  },
25
- plugins: [(0, vite_base_config_1.pluginHotRestart)('reload')],
22
+ plugins: [pluginHotRestart('reload')],
26
23
  };
27
- const buildConfig = (0, vite_base_config_1.getBuildConfig)(forgeEnv);
28
- return (0, vite_1.mergeConfig)((0, vite_1.mergeConfig)(buildConfig, config), userConfig);
24
+ const buildConfig = getBuildConfig(forgeEnv);
25
+ return mergeConfig(mergeConfig(buildConfig, config), userConfig);
29
26
  }
30
- exports.getConfig = getConfig;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5wcmVsb2FkLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdml0ZS5wcmVsb2FkLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBb0U7QUFFcEUseURBQWdGO0FBRWhGLFNBQWdCLFNBQVMsQ0FDdkIsUUFBNEIsRUFDNUIsYUFBeUIsRUFBRTtJQUUzQixNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQ3JDLE1BQU0sTUFBTSxHQUFlO1FBQ3pCLEtBQUssRUFBRTtZQUNMLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGFBQWEsRUFBRTtnQkFDYixRQUFRLEVBQUUsQ0FBQyxHQUFHLDJCQUFRLEVBQUUsbUJBQW1CLENBQUM7Z0JBQzVDLDRHQUE0RztnQkFDNUcsS0FBSyxFQUFFLGVBQWUsQ0FBQyxLQUFLO2dCQUM1QixNQUFNLEVBQUU7b0JBQ04sTUFBTSxFQUFFLEtBQUs7b0JBQ2IsaUNBQWlDO29CQUNqQyxvQkFBb0IsRUFBRSxJQUFJO29CQUMxQixjQUFjLEVBQUUsV0FBVztvQkFDM0IsY0FBYyxFQUFFLFdBQVc7b0JBQzNCLGNBQWMsRUFBRSxjQUFjO2lCQUMvQjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFBLG1DQUFnQixFQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3RDLENBQUM7SUFDRixNQUFNLFdBQVcsR0FBRyxJQUFBLGlDQUFjLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0MsT0FBTyxJQUFBLGtCQUFXLEVBQUMsSUFBQSxrQkFBVyxFQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBM0JELDhCQTJCQyJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5wcmVsb2FkLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdml0ZS5wcmVsb2FkLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFdBQVcsRUFBbUIsTUFBTSxNQUFNLENBQUM7QUFFcEUsT0FBTyxFQUNMLFFBQVEsRUFDUixjQUFjLEVBQ2QsZ0JBQWdCLEdBQ2pCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsUUFBNEIsRUFDNUIsYUFBeUIsRUFBRTtJQUUzQixNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQ3JDLE1BQU0sTUFBTSxHQUFlO1FBQ3pCLEtBQUssRUFBRTtZQUNMLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGFBQWEsRUFBRTtnQkFDYixRQUFRLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQztnQkFDNUMsNEdBQTRHO2dCQUM1RyxLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUs7Z0JBQzVCLE1BQU0sRUFBRTtvQkFDTixNQUFNLEVBQUUsS0FBSztvQkFDYixpQ0FBaUM7b0JBQ2pDLG9CQUFvQixFQUFFLElBQUk7b0JBQzFCLGNBQWMsRUFBRSxXQUFXO29CQUMzQixjQUFjLEVBQUUsV0FBVztvQkFDM0IsY0FBYyxFQUFFLGNBQWM7aUJBQy9CO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3RDLENBQUM7SUFDRixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0MsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNuRSxDQUFDIn0=
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getConfig = void 0;
4
- const vite_1 = require("vite");
5
- const vite_base_config_1 = require("./vite.base.config");
1
+ import { mergeConfig } from 'vite';
2
+ import { pluginExposeRenderer } from './vite.base.config.js';
6
3
  // https://vitejs.dev/config
7
- function getConfig(forgeEnv, userConfig = {}) {
4
+ export function getConfig(forgeEnv, userConfig = {}) {
8
5
  const { root, mode, forgeConfigSelf } = forgeEnv;
9
6
  const name = forgeConfigSelf.name ?? '';
10
7
  const config = {
@@ -15,13 +12,12 @@ function getConfig(forgeEnv, userConfig = {}) {
15
12
  copyPublicDir: true,
16
13
  outDir: `.vite/renderer/${name}`,
17
14
  },
18
- plugins: [(0, vite_base_config_1.pluginExposeRenderer)(name)],
15
+ plugins: [pluginExposeRenderer(name)],
19
16
  resolve: {
20
17
  preserveSymlinks: true,
21
18
  },
22
19
  clearScreen: false,
23
20
  };
24
- return (0, vite_1.mergeConfig)(config, userConfig);
21
+ return mergeConfig(config, userConfig);
25
22
  }
26
- exports.getConfig = getConfig;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5yZW5kZXJlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3ZpdGUucmVuZGVyZXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFvRTtBQUVwRSx5REFBMEQ7QUFFMUQsNEJBQTRCO0FBQzVCLFNBQWdCLFNBQVMsQ0FDdkIsUUFBK0IsRUFDL0IsYUFBeUIsRUFBRTtJQUUzQixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsR0FBRyxRQUFRLENBQUM7SUFDakQsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFFeEMsTUFBTSxNQUFNLEdBQWU7UUFDekIsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLEVBQUUsSUFBSTtRQUNWLEtBQUssRUFBRTtZQUNMLGFBQWEsRUFBRSxJQUFJO1lBQ25CLE1BQU0sRUFBRSxrQkFBa0IsSUFBSSxFQUFFO1NBQ2pDO1FBQ0QsT0FBTyxFQUFFLENBQUMsSUFBQSx1Q0FBb0IsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLEVBQUU7WUFDUCxnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCO1FBQ0QsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztJQUVGLE9BQU8sSUFBQSxrQkFBVyxFQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBdkJELDhCQXVCQyJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5yZW5kZXJlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3ZpdGUucmVuZGVyZXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsV0FBVyxFQUFtQixNQUFNLE1BQU0sQ0FBQztBQUVwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3RCw0QkFBNEI7QUFDNUIsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsUUFBK0IsRUFDL0IsYUFBeUIsRUFBRTtJQUUzQixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsR0FBRyxRQUFRLENBQUM7SUFDakQsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFFeEMsTUFBTSxNQUFNLEdBQWU7UUFDekIsSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJLEVBQUUsSUFBSTtRQUNWLEtBQUssRUFBRTtZQUNMLGFBQWEsRUFBRSxJQUFJO1lBQ25CLE1BQU0sRUFBRSxrQkFBa0IsSUFBSSxFQUFFO1NBQ2pDO1FBQ0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxFQUFFO1lBQ1AsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QjtRQUNELFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7SUFFRixPQUFPLFdBQVcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDekMsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subprocess-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subprocess-worker.d.ts","sourceRoot":"","sources":["../src/subprocess-worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { build } from 'vite';
2
+ import ViteConfigGenerator from './ViteConfig.js';
3
+ const projectDir = process.env.FORGE_VITE_PROJECT_DIR;
4
+ const kind = process.env.FORGE_VITE_KIND;
5
+ const index = Number(process.env.FORGE_VITE_INDEX);
6
+ const rawConfig = process.env.FORGE_VITE_CONFIG;
7
+ if (!projectDir || !kind || !rawConfig || !Number.isInteger(index)) {
8
+ console.error('subprocess-worker: missing one of FORGE_VITE_PROJECT_DIR, FORGE_VITE_KIND, FORGE_VITE_INDEX, FORGE_VITE_CONFIG');
9
+ process.exit(1);
10
+ }
11
+ // The full plugin config (both build[] and renderer[]) is needed because
12
+ // getBuildDefine() reads forgeConfig.renderer to generate ${NAME}_VITE_NAME
13
+ // defines when building main targets.
14
+ const pluginConfig = JSON.parse(rawConfig);
15
+ const generator = new ViteConfigGenerator(pluginConfig, projectDir, true);
16
+ let spec;
17
+ let target;
18
+ if (kind === 'build') {
19
+ spec = pluginConfig.build[index];
20
+ target = spec.target ?? 'main';
21
+ }
22
+ else {
23
+ spec = pluginConfig.renderer[index];
24
+ target = 'renderer';
25
+ }
26
+ const resolved = await generator.resolveConfig(spec, target);
27
+ await build({
28
+ configFile: false,
29
+ logLevel: 'error',
30
+ ...resolved,
31
+ clearScreen: false,
32
+ });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VicHJvY2Vzcy13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3VicHJvY2Vzcy13b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLG1CQUFtQixNQUFNLGlCQUFpQixDQUFDO0FBUWxELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUM7QUFDdEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUF1QyxDQUFDO0FBQ2pFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDbkQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztBQUVoRCxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ25FLE9BQU8sQ0FBQyxLQUFLLENBQ1gsZ0hBQWdILENBQ2pILENBQUM7SUFDRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUM7QUFFRCx5RUFBeUU7QUFDekUsNEVBQTRFO0FBQzVFLHNDQUFzQztBQUN0QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBcUIsQ0FBQztBQUUvRCxNQUFNLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFMUUsSUFBSSxJQUFzRCxDQUFDO0FBQzNELElBQUksTUFBdUMsQ0FBQztBQUM1QyxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztJQUNyQixJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxNQUFNLEdBQUksSUFBOEIsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDO0FBQzVELENBQUM7S0FBTSxDQUFDO0lBQ04sSUFBSSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsTUFBTSxHQUFHLFVBQVUsQ0FBQztBQUN0QixDQUFDO0FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU3RCxNQUFNLEtBQUssQ0FBQztJQUNWLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLEdBQUcsUUFBUTtJQUNYLFdBQVcsRUFBRSxLQUFLO0NBQ25CLENBQUMsQ0FBQyJ9
@@ -1,5 +1,5 @@
1
1
  export {}; // Make this a module
2
- import type { VitePluginConfig } from './src/Config';
2
+ import type { VitePluginConfig } from './src/Config.js';
3
3
 
4
4
  declare global {
5
5
  // This allows TypeScript to pick up the magic constants that's auto-generated by Forge's Vite
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@electron-forge/plugin-vite",
3
- "version": "8.0.0-alpha.3",
3
+ "version": "8.0.0-alpha.5",
4
+ "type": "module",
4
5
  "description": "Vite plugin for Electron Forge, lets you use Vite directly in your tooling",
5
6
  "repository": {
6
7
  "type": "git",
@@ -9,27 +10,27 @@
9
10
  },
10
11
  "author": "caoxiemeihao",
11
12
  "license": "MIT",
12
- "main": "dist/VitePlugin.js",
13
+ "exports": "./dist/VitePlugin.js",
13
14
  "typings": "dist/VitePlugin.d.ts",
14
15
  "dependencies": {
15
- "@electron-forge/plugin-base": "8.0.0-alpha.3",
16
- "@electron-forge/shared-types": "8.0.0-alpha.3",
16
+ "@electron-forge/plugin-base": "8.0.0-alpha.5",
17
+ "@electron-forge/shared-types": "8.0.0-alpha.5",
17
18
  "chalk": "^4.0.0",
18
19
  "debug": "^4.3.1",
19
20
  "fs-extra": "^10.0.0",
20
21
  "listr2": "^7.0.2"
21
22
  },
22
23
  "devDependencies": {
23
- "@electron/packager": "^18.3.5",
24
+ "@electron/packager": "^19.0.1",
24
25
  "@malept/cross-spawn-promise": "^2.0.0",
25
- "@types/node": "^18.0.3",
26
- "vite": "^5.0.12",
27
- "vitest": "^3.1.3",
26
+ "@types/node": "^22.10.7",
27
+ "vite": "^7.2.4",
28
+ "vitest": "^4.0.14",
28
29
  "which": "^2.0.2",
29
30
  "xvfb-maybe": "^0.2.1"
30
31
  },
31
32
  "engines": {
32
- "node": ">= 16.4.0"
33
+ "node": ">= 22.12.0"
33
34
  },
34
35
  "publishConfig": {
35
36
  "access": "public"
@@ -39,5 +40,5 @@
39
40
  "src",
40
41
  "forge-vite-env.d.ts"
41
42
  ],
42
- "gitHead": "1ac299b86edfb2173f44f885148310648db03e88"
43
+ "gitHead": "5ad3a256c5896637d0858d7713101bfabefb557e"
43
44
  }
package/src/ViteConfig.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import debug from 'debug';
2
2
  import { loadConfigFromFile } from 'vite';
3
3
 
4
- import { getConfig as getMainViteConfig } from './config/vite.main.config';
5
- import { getConfig as getPreloadViteConfig } from './config/vite.preload.config';
6
- import { getConfig as getRendererViteConfig } from './config/vite.renderer.config';
4
+ import { getConfig as getMainViteConfig } from './config/vite.main.config.js';
5
+ import { getConfig as getPreloadViteConfig } from './config/vite.preload.config.js';
6
+ import { getConfig as getRendererViteConfig } from './config/vite.renderer.config.js';
7
7
 
8
8
  import type {
9
9
  VitePluginBuildConfig,
10
10
  VitePluginConfig,
11
11
  VitePluginRendererConfig,
12
- } from './Config';
12
+ } from './Config.js';
13
13
  import type { ConfigEnv, UserConfig } from 'vite';
14
14
 
15
15
  const d = debug('@electron-forge/plugin-vite:ViteConfig');
package/src/VitePlugin.ts CHANGED
@@ -1,6 +1,4 @@
1
- // TODO(erickzhao): Remove this when upgrading to Vite 6 and converting to ESM
2
- process.env.VITE_CJS_IGNORE_WARNING = 'true';
3
-
1
+ import { spawn } from 'node:child_process';
4
2
  import path from 'node:path';
5
3
 
6
4
  import { namedHookWithTaskFn, PluginBase } from '@electron-forge/plugin-base';
@@ -8,20 +6,82 @@ import chalk from 'chalk';
8
6
  import debug from 'debug';
9
7
  import fs from 'fs-extra';
10
8
  import { Listr, PRESET_TIMER } from 'listr2';
11
- import { default as vite } from 'vite';
9
+ import * as vite from 'vite';
12
10
 
13
- import ViteConfigGenerator from './ViteConfig';
11
+ import ViteConfigGenerator from './ViteConfig.js';
14
12
 
15
- import type { VitePluginConfig } from './Config';
13
+ import type { VitePluginConfig } from './Config.js';
16
14
  import type {
17
15
  ForgeListrTask,
18
16
  ForgeMultiHookMap,
19
17
  ResolvedForgeConfig,
20
18
  } from '@electron-forge/shared-types';
21
19
  import type { AddressInfo } from 'node:net';
20
+ import type { LibraryOptions } from 'vite';
22
21
 
23
22
  const d = debug('electron-forge:plugin:vite');
24
23
 
24
+ const subprocessWorkerPath = path.resolve(
25
+ import.meta.dirname,
26
+ 'subprocess-worker.js',
27
+ );
28
+
29
+ function spawnViteBuild(
30
+ pluginConfig: Pick<VitePluginConfig, 'build' | 'renderer'>,
31
+ kind: 'build' | 'renderer',
32
+ index: number,
33
+ projectDir: string,
34
+ ) {
35
+ return new Promise<void>((resolve, reject) => {
36
+ const child = spawn(process.execPath, [subprocessWorkerPath], {
37
+ cwd: projectDir,
38
+ env: {
39
+ ...process.env,
40
+ FORGE_VITE_PROJECT_DIR: projectDir,
41
+ FORGE_VITE_KIND: kind,
42
+ FORGE_VITE_INDEX: String(index),
43
+ FORGE_VITE_CONFIG: JSON.stringify(pluginConfig),
44
+ },
45
+ stdio: ['ignore', 'pipe', 'pipe'],
46
+ });
47
+
48
+ let stdout = '';
49
+ child.stdout.setEncoding('utf8');
50
+ child.stdout.on('data', (chunk) => {
51
+ stdout += chunk;
52
+ });
53
+
54
+ let stderr = '';
55
+ child.stderr.setEncoding('utf8');
56
+ child.stderr.on('data', (chunk) => {
57
+ stderr += chunk;
58
+ });
59
+
60
+ child.on('error', reject);
61
+ child.on('close', (code, signal) => {
62
+ if (code === 0) {
63
+ resolve();
64
+ } else {
65
+ const output = [stdout, stderr].filter(Boolean).join('\n');
66
+ const reason = signal
67
+ ? `killed by signal ${signal}`
68
+ : `exited with code ${code}`;
69
+ reject(
70
+ new Error(
71
+ `Vite build subprocess ${reason}${output ? `:\n${output}` : ''}`,
72
+ ),
73
+ );
74
+ }
75
+ });
76
+ });
77
+ }
78
+
79
+ function entryToDisplay(entry: LibraryOptions['entry']): string {
80
+ if (typeof entry === 'string') return entry;
81
+ if (Array.isArray(entry)) return entry.join(' ');
82
+ return Object.keys(entry).join(' ');
83
+ }
84
+
25
85
  export default class VitePlugin extends PluginBase<VitePluginConfig> {
26
86
  private static alreadyStarted = false;
27
87
 
@@ -208,8 +268,47 @@ the generated files). Instead, it is ${JSON.stringify(pj.main)}.`);
208
268
  });
209
269
  };
210
270
 
271
+ /**
272
+ * Serializable snapshot of the plugin config to pass to subprocess workers.
273
+ * We only include build[] and renderer[] — the worker needs the full renderer
274
+ * list for defines even when building a single main target.
275
+ */
276
+ private get serializableConfig(): Pick<
277
+ VitePluginConfig,
278
+ 'build' | 'renderer'
279
+ > {
280
+ return {
281
+ build: this.config.build,
282
+ renderer: this.config.renderer,
283
+ };
284
+ }
285
+
211
286
  // Main process, Preload scripts and Worker process, etc.
212
287
  build = async (task?: ForgeListrTask<null>): Promise<Listr | void> => {
288
+ if (this.isProd) {
289
+ const targets = this.config.build
290
+ .map((spec, index) => ({ spec, index }))
291
+ .filter(({ spec }) => spec.config);
292
+ return task?.newListr(
293
+ targets.map(({ spec, index }) => ({
294
+ title: `Building ${chalk.green(entryToDisplay(spec.entry))}`,
295
+ task: async (_ctx, subtask) => {
296
+ await spawnViteBuild(
297
+ this.serializableConfig,
298
+ 'build',
299
+ index,
300
+ this.projectDir,
301
+ );
302
+ subtask.title = `Built target ${chalk.dim(entryToDisplay(spec.entry))}`;
303
+ },
304
+ })),
305
+ {
306
+ concurrent: this.config.concurrent ?? true,
307
+ exitOnError: true,
308
+ },
309
+ );
310
+ }
311
+
213
312
  const configs = await this.configGenerator.getBuildConfigs();
214
313
  /**
215
314
  * Checks if the result of the Vite build is a Rollup watcher.
@@ -339,6 +438,30 @@ the generated files). Instead, it is ${JSON.stringify(pj.main)}.`);
339
438
 
340
439
  // Renderer process
341
440
  buildRenderer = async (task?: ForgeListrTask<null>) => {
441
+ if (this.isProd) {
442
+ const targets = this.config.renderer
443
+ .map((spec, index) => ({ spec, index }))
444
+ .filter(({ spec }) => spec.config);
445
+ return task?.newListr(
446
+ targets.map(({ spec, index }) => ({
447
+ title: `Building ${chalk.green(spec.name)}`,
448
+ task: async (_ctx, subtask) => {
449
+ await spawnViteBuild(
450
+ this.serializableConfig,
451
+ 'renderer',
452
+ index,
453
+ this.projectDir,
454
+ );
455
+ subtask.title = `Built target ${chalk.dim(spec.name)}`;
456
+ },
457
+ })),
458
+ {
459
+ concurrent: this.config.concurrent ?? true,
460
+ exitOnError: true,
461
+ },
462
+ );
463
+ }
464
+
342
465
  const rendererConfigs = await this.configGenerator.getRendererConfig();
343
466
  return task?.newListr(
344
467
  rendererConfigs.map((userConfig) => ({
@@ -5,7 +5,7 @@ import {
5
5
  getBuildConfig,
6
6
  getBuildDefine,
7
7
  pluginHotRestart,
8
- } from './vite.base.config';
8
+ } from './vite.base.config.js';
9
9
 
10
10
  export function getConfig(
11
11
  forgeEnv: ConfigEnv<'build'>,
@@ -1,6 +1,10 @@
1
1
  import { type ConfigEnv, mergeConfig, type UserConfig } from 'vite';
2
2
 
3
- import { external, getBuildConfig, pluginHotRestart } from './vite.base.config';
3
+ import {
4
+ external,
5
+ getBuildConfig,
6
+ pluginHotRestart,
7
+ } from './vite.base.config.js';
4
8
 
5
9
  export function getConfig(
6
10
  forgeEnv: ConfigEnv<'build'>,
@@ -1,6 +1,6 @@
1
1
  import { type ConfigEnv, mergeConfig, type UserConfig } from 'vite';
2
2
 
3
- import { pluginExposeRenderer } from './vite.base.config';
3
+ import { pluginExposeRenderer } from './vite.base.config.js';
4
4
 
5
5
  // https://vitejs.dev/config
6
6
  export function getConfig(
@@ -0,0 +1,47 @@
1
+ import { build } from 'vite';
2
+
3
+ import ViteConfigGenerator from './ViteConfig.js';
4
+
5
+ import type {
6
+ VitePluginBuildConfig,
7
+ VitePluginConfig,
8
+ VitePluginRendererConfig,
9
+ } from './Config.js';
10
+
11
+ const projectDir = process.env.FORGE_VITE_PROJECT_DIR;
12
+ const kind = process.env.FORGE_VITE_KIND as 'build' | 'renderer';
13
+ const index = Number(process.env.FORGE_VITE_INDEX);
14
+ const rawConfig = process.env.FORGE_VITE_CONFIG;
15
+
16
+ if (!projectDir || !kind || !rawConfig || !Number.isInteger(index)) {
17
+ console.error(
18
+ 'subprocess-worker: missing one of FORGE_VITE_PROJECT_DIR, FORGE_VITE_KIND, FORGE_VITE_INDEX, FORGE_VITE_CONFIG',
19
+ );
20
+ process.exit(1);
21
+ }
22
+
23
+ // The full plugin config (both build[] and renderer[]) is needed because
24
+ // getBuildDefine() reads forgeConfig.renderer to generate ${NAME}_VITE_NAME
25
+ // defines when building main targets.
26
+ const pluginConfig = JSON.parse(rawConfig) as VitePluginConfig;
27
+
28
+ const generator = new ViteConfigGenerator(pluginConfig, projectDir, true);
29
+
30
+ let spec: VitePluginBuildConfig | VitePluginRendererConfig;
31
+ let target: 'main' | 'preload' | 'renderer';
32
+ if (kind === 'build') {
33
+ spec = pluginConfig.build[index];
34
+ target = (spec as VitePluginBuildConfig).target ?? 'main';
35
+ } else {
36
+ spec = pluginConfig.renderer[index];
37
+ target = 'renderer';
38
+ }
39
+
40
+ const resolved = await generator.resolveConfig(spec, target);
41
+
42
+ await build({
43
+ configFile: false,
44
+ logLevel: 'error',
45
+ ...resolved,
46
+ clearScreen: false,
47
+ });