Files
geekgeekrun/packages/ui/scripts/make-dist-for-current-platform.mjs

30 lines
1.0 KiB
JavaScript

import builder from 'electron-builder'
import yaml from 'js-yaml'
import url from 'node:url'
import path from 'node:path'
import fs from 'node:fs'
import { buildTargetListMapByPlatform, osPlatformToBuildCommandMap } from './vars/os.mjs'
const __dirname = url.fileURLToPath(new URL('.', import.meta.url))
const getBuilderConfig = () => {
return yaml.load(fs.readFileSync(path.join(__dirname, '../electron-builder.yml'), 'utf8'))
}
export default async function makeDistForCurrentPlatform() {
const buildTargets = buildTargetListMapByPlatform[process.platform]
const platformKeyForBuildParameter = osPlatformToBuildCommandMap[process.platform]
if (!buildTargets?.length || !platformKeyForBuildParameter) {
console.log('Cannot build for current platform')
process.exit(1)
}
const buildParameter = {
config: getBuilderConfig()
}
buildParameter[platformKeyForBuildParameter] = buildTargets.map((it) => `${it}:${process.arch}`)
return await builder.build(buildParameter)
}
makeDistForCurrentPlatform()