UNPKG

982 BJavaScriptView Raw
1#!/usr/bin/env node
2
3var proc = require('child_process')
4var os = require('os')
5
6proc.exec('node-gyp-build-test', function (err) {
7 if (err) preinstall()
8})
9
10function build () {
11 proc.spawn(os.platform() === 'win32' ? 'node-gyp.cmd' : 'node-gyp', ['rebuild'], {stdio: 'inherit'}).on('exit', function (code) {
12 if (code || !process.argv[3]) process.exit(code)
13 exec(process.argv[3]).on('exit', function (code) {
14 process.exit(code)
15 })
16 })
17}
18
19function preinstall () {
20 if (!process.argv[2]) return build()
21 exec(process.argv[2]).on('exit', function (code) {
22 if (code) process.exit(code)
23 build()
24 })
25}
26
27function exec (cmd) {
28 if (process.platform !== 'win32') {
29 var shell = os.platform() === 'android' ? 'sh' : '/bin/sh'
30 return proc.spawn(shell, ['-c', cmd], {
31 stdio: 'inherit'
32 })
33 }
34
35 return proc.spawn(process.env.comspec || 'cmd.exe', ['/s', '/c', '"' + cmd + '"'], {
36 windowsVerbatimArguments: true,
37 stdio: 'inherit'
38 })
39}