blob: 0efb6e39775a61174f804918b22356886d935000 [file] [log] [blame]
'use strict'
// Utilty script for adding ${cli} binaries to zap binaries generated via "pack:$platform" NPM targets
const zip = require('../node_modules/7zip-bin/index')
const scriptUtil = require('./script-util.js')
const fsp = require('fs/promises')
const yargs = require('yargs/yargs')
const { hideBin } = require('yargs/helpers')
const argv = yargs(hideBin(process.argv)).argv
const baseDir = `${__dirname}/../`
const dist = `${baseDir}/dist`
console.log(argv)
const platform = argv.p ? argv.p : process.platform
/**
* Zip file
* @param {*} dst
* @param {*} filename
*/
async function addToZip(dst, filename) {
await scriptUtil.executeCmd({}, zip.path7za, [
'a',
`${dist}/${dst}`,
`${dist}/${filename}`
])
}
/**
* Rename file
* @param {*} oldPath
* @param {*} newPath
*/
async function rename(oldPath, newPath) {
await fsp.rename(`${dist}/${oldPath}`, `${dist}/${newPath}`)
}
/**
* Package ZAP.
*/
async function main() {
if (platform.includes('darwin') || platform.includes('mac')) {
let file = 'zap-macos'
let cli = `zap-cli`
// Handle x64 build
await rename(`${file}-x64`, cli)
await addToZip(`zap-mac-x64.zip`, cli)
// Handle arm64 build - pkg now supports macos-arm64
await rename(`${file}-arm64`, cli)
await addToZip(`zap-mac-arm64.zip`, cli)
} else if (platform.includes('win')) {
let file = 'zap-win'
let cli = `zap-cli.exe`
await rename(`${file}-x64.exe`, cli)
await addToZip(`${file}-x64.zip`, cli)
await rename(`${file}-arm64.exe`, cli)
await addToZip(`${file}-arm64.zip`, cli)
} else if (platform.includes('linux')) {
let file = 'zap-linux'
let cli = `zap-cli`
await rename(`${file}-x64`, cli)
await addToZip(`${file}-x64.zip`, cli)
await rename(`${file}-arm64`, cli)
await addToZip(`${file}-arm64.zip`, cli)
}
}
main()