MCPcopy
hub / github.com/electron/forge / resolveConfig

Method resolveConfig

packages/plugin/vite/src/ViteConfig.ts:28–65  ·  view source on GitHub ↗
(
    buildConfig: VitePluginBuildConfig | VitePluginRendererConfig,
    target: Target,
  )

Source from the content-addressed store, hash-verified

26 }
27
28 async resolveConfig(
29 buildConfig: VitePluginBuildConfig | VitePluginRendererConfig,
30 target: Target,
31 ): Promise<UserConfig> {
32 const configEnv: ConfigEnv = {
33 // @see - https://vitejs.dev/config/#conditional-config
34 command: this.isProd ? 'build' : 'serve',
35 // `mode` affects `.env.[mode]` file load.
36 mode: this.mode,
37
38 // Forge extension variables.
39 root: this.projectDir,
40 forgeConfig: this.pluginConfig,
41 forgeConfigSelf: buildConfig,
42 };
43
44 // `configEnv` is to be passed as an arguments when the user export a function in `vite.config.js`.
45 const userConfig = (await loadConfigFromFile(configEnv, buildConfig.config))
46 ?.config;
47 switch (target) {
48 case 'main':
49 return getMainViteConfig(configEnv as ConfigEnv<'build'>, userConfig);
50 case 'preload':
51 return getPreloadViteConfig(
52 configEnv as ConfigEnv<'build'>,
53 userConfig,
54 );
55 case 'renderer':
56 return getRendererViteConfig(
57 configEnv as ConfigEnv<'renderer'>,
58 userConfig,
59 );
60 default:
61 throw new Error(
62 `Unknown target: ${target}, expected 'main', 'preload' or 'renderer'`,
63 );
64 }
65 }
66
67 get mode(): string {
68 // Vite's `mode` can be passed in via command.

Callers 2

getBuildConfigsMethod · 0.95
getRendererConfigMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected