(
buildConfig: VitePluginBuildConfig | VitePluginRendererConfig,
target: Target,
)
| 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. |
no outgoing calls
no test coverage detected