feat: electron-builder

This commit is contained in:
草鞋没号 2021-11-02 11:15:19 +08:00
parent 4dc1dd895f
commit 25ac4ae3af
2 changed files with 54 additions and 1 deletions

View File

@ -1,6 +1,8 @@
import { join, relative } from 'path'
import { rollup, RollupOptions, OutputOptions, RollupOutput } from 'rollup'
import { build as viteBuild2 } from 'vite'
import { build as electronBuild2 } from 'electron-builder'
import { config as builderConfig } from './electron-builder.config'
import {
mainOptions,
preloadOptions,
@ -42,15 +44,28 @@ async function buildReactTs(): Promise<BuildResult> {
}
}
; (async () => {
// build electron
async function electronBuild() {
try {
const result = await electronBuild2({ config: builderConfig })
console.log(TAG, `electron-builder.build result - ${result}`)
return [null, result]
} catch (error) {
return [error, null]
}
}
; (async () => {
console.log(TAG, 'Build with rollup.')
try {
await Promise.all([
// Avoid logs cleaned by vite
rollupBuild(mainOptions()),
rollupBuild(preloadOptions()),
])
await buildReactTs()
await electronBuild()
} catch (error) {
console.error(TAG, error)
process.exit(1)

View File

@ -0,0 +1,38 @@
import { Configuration } from 'electron-builder'
const config: Configuration = {
appId: "308487730@qq.com",
asar: true,
directories: {
output: "release/${version}"
},
files: [
"!node_modules",
"dist/**"
],
mac: {
artifactName: "${productName}_${version}.${ext}",
target: [
"dmg"
]
},
win: {
target: [
{
target: "nsis",
arch: [
"x64"
]
}
],
artifactName: "${productName}_${version}.${ext}"
},
nsis: {
oneClick: false,
perMachine: false,
allowToChangeInstallationDirectory: true,
deleteAppDataOnUninstall: false
}
}
export { config }