fix: output format error under multiple entries
This commit is contained in:
parent
cf1151ef5f
commit
41ff7372c2
|
@ -52,10 +52,7 @@ export function electronMainVitePlugin(options?: ElectronPluginOptions): Plugin[
|
||||||
build: {
|
build: {
|
||||||
outDir: path.resolve(root, 'out', 'main'),
|
outDir: path.resolve(root, 'out', 'main'),
|
||||||
target: nodeTarget,
|
target: nodeTarget,
|
||||||
lib: {
|
assetsDir: 'chunks',
|
||||||
entry: findLibEntry(root, 'main'),
|
|
||||||
formats: ['cjs']
|
|
||||||
},
|
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
external: ['electron', ...builtinModules.flatMap(m => [m, `node:${m}`])],
|
external: ['electron', ...builtinModules.flatMap(m => [m, `node:${m}`])],
|
||||||
output: {
|
output: {
|
||||||
|
@ -67,7 +64,18 @@ export function electronMainVitePlugin(options?: ElectronPluginOptions): Plugin[
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const buildConfig = mergeConfig(defaultConfig.build, config.build || {})
|
const build = config.build || {}
|
||||||
|
const rollupOptions = build.rollupOptions || {}
|
||||||
|
if (!rollupOptions.input) {
|
||||||
|
defaultConfig.build['lib'] = {
|
||||||
|
entry: findLibEntry(root, 'main'),
|
||||||
|
formats: ['cjs']
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
defaultConfig.build.rollupOptions.output['format'] = 'cjs'
|
||||||
|
}
|
||||||
|
|
||||||
|
const buildConfig = mergeConfig(defaultConfig.build, build)
|
||||||
config.build = buildConfig
|
config.build = buildConfig
|
||||||
|
|
||||||
config.define = config.define || {}
|
config.define = config.define || {}
|
||||||
|
@ -93,7 +101,18 @@ export function electronMainVitePlugin(options?: ElectronPluginOptions): Plugin[
|
||||||
|
|
||||||
const lib = build.lib
|
const lib = build.lib
|
||||||
if (!lib) {
|
if (!lib) {
|
||||||
throw new Error('build lib field required for the electron vite main config')
|
const rollupOptions = build.rollupOptions
|
||||||
|
if (!rollupOptions?.input) {
|
||||||
|
throw new Error('build lib field required for the electron vite main config')
|
||||||
|
} else {
|
||||||
|
const output = rollupOptions?.output
|
||||||
|
if (output) {
|
||||||
|
const formats = Array.isArray(output) ? output : [output]
|
||||||
|
if (!formats.some(f => f !== 'cjs')) {
|
||||||
|
throw new Error('the electron vite main config output format must be cjs')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!lib.entry) {
|
if (!lib.entry) {
|
||||||
throw new Error('build entry field required for the electron vite main config')
|
throw new Error('build entry field required for the electron vite main config')
|
||||||
|
@ -124,6 +143,7 @@ export function electronPreloadVitePlugin(options?: ElectronPluginOptions): Plug
|
||||||
build: {
|
build: {
|
||||||
outDir: path.resolve(root, 'out', 'preload'),
|
outDir: path.resolve(root, 'out', 'preload'),
|
||||||
target: nodeTarget,
|
target: nodeTarget,
|
||||||
|
assetsDir: 'chunks',
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
external: ['electron', ...builtinModules.flatMap(m => [m, `node:${m}`])],
|
external: ['electron', ...builtinModules.flatMap(m => [m, `node:${m}`])],
|
||||||
output: {
|
output: {
|
||||||
|
@ -143,12 +163,10 @@ export function electronPreloadVitePlugin(options?: ElectronPluginOptions): Plug
|
||||||
formats: ['cjs']
|
formats: ['cjs']
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!rollupOptions.output) {
|
defaultConfig.build.rollupOptions.output['format'] = 'cjs'
|
||||||
defaultConfig.build.rollupOptions.output['format'] = 'cjs'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const buildConfig = mergeConfig(defaultConfig.build, config.build || {})
|
const buildConfig = mergeConfig(defaultConfig.build, build)
|
||||||
config.build = buildConfig
|
config.build = buildConfig
|
||||||
|
|
||||||
config.define = config.define || {}
|
config.define = config.define || {}
|
||||||
|
|
Loading…
Reference in a new issue