77 lines
1.3 KiB
TypeScript
77 lines
1.3 KiB
TypeScript
import * as builder from 'electron-builder'
|
|
|
|
const linux: builder.CliOptions = {
|
|
x64: true,
|
|
ia32: true,
|
|
armv7l: true,
|
|
arm64: true,
|
|
linux: ['AppImage', 'deb', 'rpm', 'pacman', 'tar.gz'],
|
|
projectDir: './build/clean',
|
|
publish: 'always',
|
|
}
|
|
|
|
const linuxSnap: builder.CliOptions = {
|
|
x64: true,
|
|
ia32: false,
|
|
armv7l: false,
|
|
arm64: false,
|
|
linux: ['snap'],
|
|
projectDir: './build/clean',
|
|
publish: 'always',
|
|
}
|
|
|
|
const win: builder.CliOptions = {
|
|
x64: true,
|
|
ia32: true,
|
|
armv7l: false,
|
|
arm64: false,
|
|
win: ['portable', 'nsis'],
|
|
projectDir: './build/clean',
|
|
publish: 'always',
|
|
}
|
|
|
|
const mac: builder.CliOptions = {
|
|
x64: true,
|
|
ia32: true,
|
|
armv7l: false,
|
|
arm64: false,
|
|
mac: ['dmg'],
|
|
projectDir: './build/clean',
|
|
publish: 'always',
|
|
}
|
|
|
|
async function executeBuild() {
|
|
console.log(process.argv[2])
|
|
switch (process.argv[2]) {
|
|
case 'win':
|
|
await builder.build(win)
|
|
break
|
|
case 'linux':
|
|
await builder.build(linux)
|
|
break
|
|
case 'snap':
|
|
try {
|
|
await builder.build(linuxSnap)
|
|
} catch {
|
|
// ignore
|
|
}
|
|
break
|
|
case 'mac':
|
|
await builder.build(mac)
|
|
break
|
|
default:
|
|
await builder.build(mac)
|
|
}
|
|
}
|
|
|
|
function build() {
|
|
try {
|
|
executeBuild()
|
|
} catch (error) {
|
|
console.error(error)
|
|
process.exit(1)
|
|
}
|
|
}
|
|
|
|
build()
|