Comparing version 1.1.1 to 1.2.0
34
bin.js
@@ -13,2 +13,4 @@ #!/usr/bin/env node | ||
log.heading = 'prebuild' | ||
if (process.env.npm_config_loglevel) log.level = process.env.npm_config_loglevel | ||
var setupLog = log.info.bind(log, 'setup') | ||
@@ -111,14 +113,23 @@ | ||
if (v[0] !== 'v') v = 'v' + v | ||
log.info('setup', 'Preparing to prebuild ' + pkg.name + '@' + pkg.version + ' for ' + v + ' on ' + rc.platform + '-' + rc.arch) | ||
build(v, function (err, filename) { | ||
setupLog('Preparing to prebuild ' + pkg.name + '@' + pkg.version + ' for ' + v + ' on ' + rc.platform + '-' + rc.arch) | ||
getAbi(v, function (err, abi) { | ||
if (err) return log.error(err.message) | ||
getAbi(v, function (err, abi) { | ||
if (err) return log.error(err.message) | ||
pack(filename, abi) | ||
var tarPath = getTarPath(abi) | ||
var next = function (err) { | ||
if (err) return cb(err) | ||
cb(null, { path: tarPath, abi: abi, version: v, platform: rc.platform, arch: rc.arch}) | ||
} | ||
fs.stat(tarPath, function (err, st) { | ||
if (!err && !rc.force) { | ||
log.info('package', tarPath + ' exists, skipping build') | ||
return next() | ||
} | ||
build(v, function (err, filename) { | ||
if (err) return cb(err) | ||
pack(filename, tarPath, next) | ||
}) | ||
}) | ||
}) | ||
function pack (filename, abi) { | ||
var name = pkg.name + '-v' + pkg.version + '-node-v' + abi + '-' + rc.platform + '-' + rc.arch + '.tar.gz' | ||
var tarPath = path.join('prebuilds', name) | ||
function pack (filename, tarPath, cb) { | ||
fs.mkdir('prebuilds', function () { | ||
@@ -144,3 +155,3 @@ fs.stat(filename, function (err, st) { | ||
log.info('package', 'Prebuild written to ' + tarPath) | ||
cb(null, {path: tarPath, name: name, abi: abi, version: v, platform: rc.platform, arch: rc.arch}) | ||
cb() | ||
}) | ||
@@ -151,1 +162,6 @@ }) | ||
} | ||
function getTarPath (abi) { | ||
var name = pkg.name + '-v' + pkg.version + '-node-v' + abi + '-' + rc.platform + '-' + rc.arch + '.tar.gz' | ||
return path.join('prebuilds', name) | ||
} |
{ | ||
"name": "prebuild", | ||
"version": "1.1.1", | ||
"version": "1.2.0", | ||
"description": "A command line tool for easily doing prebuilds for multiple version of node/iojs on a specific platform", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -12,4 +12,5 @@ var minimist = require('minimist') | ||
arch: 'a', | ||
platform: 'p' | ||
platform: 'p', | ||
force: 'f' | ||
} | ||
})) |
@@ -19,4 +19,25 @@ # prebuild | ||
## ABI | ||
You just need to do a prebuild for every version of node/iojs that have new ABI (application binary interface). | ||
As of writing this to support all versions of node (>0.8.0) and iojs do | ||
``` | ||
prebuild -t 0.10.26 -t 0.12.7 -t 1.8.1 -t 1.0.1 -t 2.4.0 | ||
``` | ||
Optionally you can add a rc file to `~/.prebuildrc` with the following content | ||
``` ini | ||
target[] = 0.10.26 | ||
target[] = 0.12.7 | ||
target[] = 1.8.1 | ||
target[] = 1.0.1 | ||
target[] = 2.4.0 | ||
``` | ||
To always build for the above versions | ||
## License | ||
MIT |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
7760
151
43
6