You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.0 KiB
88 lines
2.0 KiB
var minimist = require('minimist') |
|
var targets = require('./targets') |
|
|
|
if (process.env.npm_config_argv) { |
|
var npmargs = ['compile', 'build-from-source', 'debug'] |
|
try { |
|
var npmArgv = JSON.parse(process.env.npm_config_argv).cooked |
|
for (var i = 0; i < npmargs.length; ++i) { |
|
if (npmArgv.indexOf('--' + npmargs[i]) !== -1) { |
|
process.argv.push('--' + npmargs[i]) |
|
} |
|
if (npmArgv.indexOf('--no-' + npmargs[i]) !== -1) { |
|
process.argv.push('--no-' + npmargs[i]) |
|
} |
|
} |
|
} catch (e) { } |
|
} |
|
|
|
var npmconfigs = ['proxy', 'https-proxy', 'local-address', 'target', 'abi'] |
|
for (var j = 0; j < npmconfigs.length; ++j) { |
|
var envname = 'npm_config_' + npmconfigs[j].replace('-', '_') |
|
if (process.env[envname]) { |
|
process.argv.push('--' + npmconfigs[j]) |
|
process.argv.push(process.env[envname]) |
|
} |
|
} |
|
|
|
// Ensure that modules used inside electron are build from source |
|
if (process.env['npm_config_runtime'] === 'electron' && |
|
process.argv.indexOf('--build-from-source') === -1) { |
|
process.argv.push('--build-from-source') |
|
} |
|
|
|
var rc = module.exports = require('rc')('prebuild', { |
|
target: process.version, |
|
arch: process.arch, |
|
libc: process.env.LIBC, |
|
platform: process.platform, |
|
abi: process.versions.modules, |
|
all: false, |
|
force: false, |
|
debug: false, |
|
verbose: false, |
|
path: '.', |
|
backend: 'node-gyp', |
|
proxy: process.env['HTTP_PROXY'], |
|
'https-proxy': process.env['HTTPS_PROXY'] |
|
}, minimist(process.argv, { |
|
alias: { |
|
target: 't', |
|
prebuild: 'b', |
|
help: 'h', |
|
arch: 'a', |
|
path: 'p', |
|
force: 'f', |
|
version: 'v', |
|
upload: 'u', |
|
download: 'd', |
|
'build-from-source': 'compile', |
|
compile: 'c', |
|
preinstall: 'i' |
|
} |
|
})) |
|
|
|
if (rc.path === true) { |
|
delete rc.path |
|
} |
|
|
|
if (rc.prebuild) { |
|
rc.pb = rc.prebuild |
|
} |
|
|
|
if (rc.pb) { |
|
rc.prebuild = rc.pb |
|
} |
|
|
|
if (rc.all === true) { |
|
delete rc.prebuild |
|
rc.prebuild = targets |
|
} |
|
|
|
if (rc['upload-all']) { |
|
rc.upload = rc['upload-all'] |
|
} |
|
|
|
if (!module.parent) { |
|
console.log(JSON.stringify(module.exports, null, 2)) |
|
}
|
|
|