39 lines
970 B
JavaScript
39 lines
970 B
JavaScript
const fs = require('fs-extra');
|
|
const path = require('path');
|
|
const { execSync } = require('child_process');
|
|
|
|
const pckg = require('../package.json');
|
|
const platform = process.argv[2];
|
|
|
|
const distDir = path.resolve(__dirname, '../dist');
|
|
const outDir = `${distDir}/release`;
|
|
|
|
async function makeRelease(target) {
|
|
const srcDir = `${distDir}/${target}`;
|
|
|
|
if (await fs.pathExists(srcDir)) {
|
|
const zipFile = `${outDir}/${pckg.name}-${pckg.version}-${target}.zip`;
|
|
|
|
execSync(`zip -r ${zipFile} .`, {cwd: srcDir, stdio: 'inherit'});
|
|
}
|
|
}
|
|
|
|
async function main() {
|
|
try {
|
|
await fs.emptyDir(outDir);
|
|
if (platform) {
|
|
await makeRelease(platform);
|
|
} else {
|
|
await makeRelease('win');
|
|
await makeRelease('linux');
|
|
await makeRelease('linux-arm64');
|
|
await makeRelease('macos');
|
|
}
|
|
} catch(e) {
|
|
console.error(e);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
main();
|