-
Notifications
You must be signed in to change notification settings - Fork 10
/
build.js
45 lines (42 loc) · 1.08 KB
/
build.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const exec = require('child_process').exec
const spawn = require('child_process').spawn
const args = process.argv
let release = ''
if(args[args.length - 1] === '--release') {
release = '--release'
}
const asyncExec = async (cmd) => {
const events = exec(cmd, (error, stdout, stderr) => {
if (error) {
throw error
}
return true
})
events.stdout.on('data', (stdout) => {
process.stdout.write(stdout);
})
events.stderr.on('data', (stderr) => {
process.stderr.write(stderr);
})
}
function getDistPath() {
switch(process.platform) {
case 'darwin':
return './dist/darwin'
case 'freebsd':
case 'netbsd':
case 'linux':
case 'openbsd':
case 'sunos':
return './dist/linux'
case 'win32':
case 'cygwin':
return './dist/win'
default:
console.log("Platform is not supported");
}
}
// Dynamically build native package;
(async () => {
return await asyncExec(`nj-cli build -o ${getDistPath()} ${release}`);
})()