node-pre-gyp
Advanced tools
Comparing version 0.6.3 to 0.6.4
# node-pre-gyp changelog | ||
## 0.6.4 | ||
- Improved support for `io.js` (@fengmk2) | ||
- Test coverage improvements (@mikemorris) | ||
- Fixed support for `--dist-url` that regressed in 0.6.3 | ||
## 0.6.3 | ||
- Added support for passing raw options to node-gyp using `--` separator. Flags passed after | ||
the `--` to `node-pre-gyp configure` will be passed directly to gyp while flags passed | ||
after the `--` will be passed directly to make/visual studio. | ||
- Added `node-pre-gyp configure` command to be able to call `node-gyp configure` directly | ||
- Fix issue with require validation not working on windows 7 (@edgarsilva) | ||
## 0.6.2 | ||
@@ -4,0 +18,0 @@ |
125
lib/build.js
@@ -7,117 +7,38 @@ "use strict"; | ||
var fs = require('fs'); | ||
var compile = require('./util/compile.js'); | ||
var versioning = require('./util/versioning.js'); | ||
var fs = require('fs'); | ||
var handle_gyp_opts = require('./util/handle_gyp_opts.js'); | ||
var configure = require('./configure.js'); | ||
/* | ||
Here we gather node-pre-gyp generated options (from versioning) and pass them along to node-gyp. | ||
We massage the args and options slightly to account for differences in what commands mean between | ||
node-pre-gyp and node-gyp (e.g. see the difference between "build" and "rebuild" below) | ||
Keep in mind: the values inside `argv` and `gyp.opts` below are different depending on whether | ||
node-pre-gyp is called directory, or if it is called in a `run-script` phase of npm. | ||
We also try to preserve any command line options that might have been passed to npm or node-pre-gyp. | ||
But this is fairly difficult without passing way to much through. For example `gyp.opts` contains all | ||
the process.env and npm pushes a lot of variables into process.env which node-pre-gyp inherits. So we have | ||
to be very selective about what we pass through. | ||
For example: | ||
`npm install --build-from-source` will give: | ||
argv == [ 'rebuild' ] | ||
gyp.opts.argv == { remain: [ 'install' ], | ||
cooked: [ 'install', '--fallback-to-build' ], | ||
original: [ 'install', '--fallback-to-build' ] } | ||
`./bin/node-pre-gyp build` will give: | ||
argv == [] | ||
gyp.opts.argv == { remain: [ 'build' ], | ||
cooked: [ 'build' ], | ||
original: [ '-C', 'test/app1', 'build' ] } | ||
*/ | ||
// select set of node-pre-gyp versioning info | ||
// to share with node-gyp | ||
var share_with_node_gyp = [ | ||
'module', | ||
'module_name', | ||
'module_path', | ||
]; | ||
function build(gyp, argv, callback) { | ||
// Collect node-pre-gyp specific variables to pass to node-gyp | ||
var node_pre_gyp_options = []; | ||
// generate custom node-pre-gyp versioning info | ||
var opts = versioning.evaluate(JSON.parse(fs.readFileSync('./package.json')), gyp.opts); | ||
share_with_node_gyp.forEach(function(key) { | ||
var val = opts[key]; | ||
if (val) { | ||
node_pre_gyp_options.push('--' + key + '=' + val); | ||
} else { | ||
return callback(new Error("Option " + key + " required but not found by node-pre-gyp")); | ||
function do_build(gyp,argv,callback) { | ||
handle_gyp_opts(gyp,argv,function(err,result) { | ||
var final_args = ['build'].concat(result.gyp).concat(result.pre); | ||
if (result.unparsed.length > 0) { | ||
final_args = final_args. | ||
concat(['--']). | ||
concat(result.unparsed); | ||
} | ||
compile.run_gyp(final_args,result.opts,function(err) { | ||
return callback(err); | ||
}); | ||
}); | ||
} | ||
// Collect options that follow the special -- which disables nopt parsing | ||
var unparsed_options = []; | ||
var double_hyphen_found = false; | ||
gyp.opts.argv.original.forEach(function(opt) { | ||
if (double_hyphen_found) { | ||
unparsed_options.push(opt); | ||
} | ||
if (opt == '--') { | ||
double_hyphen_found = true; | ||
} | ||
}); | ||
function build(gyp, argv, callback) { | ||
// We try respect and pass through remaining command | ||
// line options (like --foo=bar) to node-gyp | ||
var cooked = gyp.opts.argv.cooked; | ||
var node_gyp_options = []; | ||
cooked.forEach(function(value) { | ||
if (value.length > 2 && value.slice(0,2) == '--') { | ||
var key = value.slice(2); | ||
var val = cooked[cooked.indexOf(value)+1]; | ||
if (val && val.indexOf('--') === -1) { // handle '--foo=bar' or ['--foo','bar'] | ||
node_gyp_options.push('--' + key + '=' + val); | ||
} else { // pass through --foo | ||
node_gyp_options.push(value); | ||
} | ||
} | ||
}); | ||
var final_args = ['configure'].concat(node_gyp_options).concat(node_pre_gyp_options); | ||
var configure_options = []; | ||
if (unparsed_options.length > 0) { | ||
configure_options = final_args. | ||
concat(['--']). | ||
concat(unparsed_options); | ||
} | ||
// Form up commands to pass to node-gyp: | ||
// We map `node-pre-gyp build` to `node-gyp configure build` so that we do not | ||
// trigger a clean and therefore do not pay the penalty of a full recompile | ||
var node_gyp_command = 'build'; | ||
if (argv.length && (argv.indexOf('rebuild') > -1)) { | ||
// here we map `node-pre-gyp rebuild` to `node-gyp rebuild` which internally means | ||
// "clean + configure + build" and triggers a full recompile | ||
node_gyp_command = 'rebuild'; | ||
compile.run_gyp(['clean'],{},function(err) { | ||
if (err) return callback(err); | ||
configure(gyp,argv,function(err) { | ||
if (err) return callback(err); | ||
return do_build(gyp,argv,callback); | ||
}); | ||
}); | ||
} else { | ||
return do_build(gyp,argv,callback); | ||
} | ||
compile.run_gyp(configure_options.concat(final_args),opts,function(err) { | ||
if (err) return callback(err); | ||
compile.run_gyp([node_gyp_command].concat(final_args).concat(node_pre_gyp_options),opts,function(err) { | ||
return callback(err); | ||
}); | ||
}); | ||
} |
@@ -30,3 +30,4 @@ "use strict"; | ||
'testbinary', | ||
'reveal' | ||
'reveal', | ||
'configure' | ||
]; | ||
@@ -33,0 +34,0 @@ var aliases = {}; |
@@ -20,6 +20,6 @@ "use strict"; | ||
// if it is a known option | ||
var args = gyp.opts.argv.cooked; | ||
var find_val = args[args.indexOf('reveal')+1]; | ||
if (find_val && opts.hasOwnProperty(find_val)) { | ||
console.log(opts[find_val].replace(/\\/g, '/')); | ||
//console.log(JSON.stringify(gyp.opts,null,1)) | ||
var remain = gyp.opts.argv.remain.pop(); | ||
if (remain && opts.hasOwnProperty(remain)) { | ||
console.log(opts[remain].replace(/\\/g, '/')); | ||
hit = true; | ||
@@ -26,0 +26,0 @@ } |
@@ -65,3 +65,3 @@ "use strict"; | ||
args.push('--eval'); | ||
args.push("require('" + binary_module.replace(/\'/g, '\\\'') +"')"); | ||
args.push("'require(\\'" + binary_module.replace(/\'/g, '\\\'') +"\\')'"); | ||
log.info("validate","Running test command: '" + shell_cmd + ' ' + args.join(' ') + "'"); | ||
@@ -68,0 +68,0 @@ cp.execFile(shell_cmd, args, options, function(err, stdout, stderr) { |
@@ -361,3 +361,7 @@ { | ||
"v8": "4.1" | ||
}, | ||
"1.2.0": { | ||
"node_abi": 43, | ||
"v8": "4.1" | ||
} | ||
} |
@@ -14,3 +14,3 @@ "use strict"; | ||
- node-gyp on NODE_PATH | ||
- node-gyp inside npm on NODE_PATH | ||
- node-gyp inside npm on NODE_PATH (ignore on iojs) | ||
- node-gyp inside npm beside node exe | ||
@@ -28,11 +28,13 @@ */ | ||
} catch (err) { } | ||
try { | ||
var npm_main = require.resolve('npm'); | ||
var node_gyp_bin2 = path.join(path.dirname( | ||
path.dirname(npm_main)), | ||
'node_modules/node-gyp/bin/node-gyp.js'); | ||
if (existsSync(node_gyp_bin2)) { | ||
return node_gyp_bin2; | ||
} | ||
} catch (err) { } | ||
if (process.execPath.indexOf('iojs') === -1) { | ||
try { | ||
var npm_main = require.resolve('npm'); | ||
var node_gyp_bin2 = path.join(path.dirname( | ||
path.dirname(npm_main)), | ||
'node_modules/node-gyp/bin/node-gyp.js'); | ||
if (existsSync(node_gyp_bin2)) { | ||
return node_gyp_bin2; | ||
} | ||
} catch (err) { } | ||
} | ||
var npm_base = path.join(path.dirname( | ||
@@ -39,0 +41,0 @@ path.dirname(process.execPath)), |
@@ -65,4 +65,3 @@ { | ||
"_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d", | ||
"_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", | ||
"readme": "ERROR: No README data found!" | ||
"_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" | ||
} |
@@ -42,3 +42,3 @@ { | ||
}, | ||
"_from": "mkdirp@~0.5.0", | ||
"_from": "mkdirp@>=0.5.0 <0.6.0", | ||
"_npmVersion": "1.4.3", | ||
@@ -45,0 +45,0 @@ "_npmUser": { |
@@ -27,3 +27,3 @@ { | ||
"_shasum": "5d8257bd9ebe435e698b2fa431afde4fe7b10b03", | ||
"_from": "abbrev@1", | ||
"_from": "abbrev@>=1.0.0 <2.0.0", | ||
"_npmVersion": "1.4.7", | ||
@@ -30,0 +30,0 @@ "_npmUser": { |
@@ -38,3 +38,3 @@ { | ||
"_shasum": "bce5c42446a3291f47622a370abbf158fbbacbfd", | ||
"_from": "nopt@~3.0.1", | ||
"_from": "nopt@>=3.0.1 <3.1.0", | ||
"_npmVersion": "1.4.18", | ||
@@ -41,0 +41,0 @@ "_npmUser": { |
@@ -0,1 +1,4 @@ | ||
'use strict' | ||
var Progress = require('are-we-there-yet') | ||
var Gauge = require('gauge') | ||
var EE = require('events').EventEmitter | ||
@@ -23,2 +26,76 @@ var log = exports = module.exports = new EE | ||
log.gauge = new Gauge(log.cursor) | ||
log.tracker = new Progress.TrackerGroup() | ||
// no progress bars unless asked | ||
log.progressEnabled = false | ||
var unicodeEnabled = undefined | ||
log.enableUnicode = function () { | ||
unicodeEnabled = true | ||
log.gauge.theme = Gauge.unicode | ||
} | ||
log.disableUnicode = function () { | ||
unicodeEnabled = false | ||
log.gauge.theme = Gauge.ascii | ||
} | ||
log.enableProgress = function () { | ||
if (this.progressEnabled) return | ||
this.progressEnabled = true | ||
if (this._pause) return | ||
this.tracker.on('change', this.showProgress) | ||
this.gauge.enable() | ||
this.showProgress() | ||
} | ||
log.disableProgress = function () { | ||
if (!this.progressEnabled) return | ||
this.clearProgress() | ||
this.progressEnabled = false | ||
this.tracker.removeListener('change', this.showProgress) | ||
this.gauge.disable() | ||
} | ||
var trackerConstructors = ['newGroup', 'newItem', 'newStream'] | ||
var mixinLog = function (tracker) { | ||
// mixin the public methods from log into the tracker | ||
// (except: conflicts and one's we handle specially) | ||
Object.keys(log).forEach(function (P) { | ||
if (P[0] === '_') return | ||
if (trackerConstructors.filter(function (C) { return C === P }).length) return | ||
if (tracker[P]) return | ||
if (typeof log[P] !== 'function') return | ||
var func = log[P] | ||
tracker[P] = function () { | ||
return func.apply(log, arguments) | ||
} | ||
}) | ||
// if the new tracker is a group, make sure any subtrackers get | ||
// mixed in too | ||
if (tracker instanceof Progress.TrackerGroup) { | ||
trackerConstructors.forEach(function (C) { | ||
var func = tracker[C] | ||
tracker[C] = function () { return mixinLog(func.apply(tracker, arguments)) } | ||
}) | ||
} | ||
return tracker | ||
} | ||
// Add tracker constructors to the top level log object | ||
trackerConstructors.forEach(function (C) { | ||
log[C] = function () { return mixinLog(this.tracker[C].apply(this.tracker, arguments)) } | ||
}) | ||
log.clearProgress = function () { | ||
if (!this.progressEnabled) return | ||
this.gauge.hide() | ||
} | ||
log.showProgress = function (name) { | ||
if (!this.progressEnabled) return | ||
this.gauge.show(name, this.tracker.completed()) | ||
}.bind(log) // bind for use in tracker's on-change listener | ||
// temporarily stop emitting, but don't drop | ||
@@ -38,2 +115,3 @@ log.pause = function () { | ||
}, this) | ||
if (this.progressEnabled) this.enableProgress() | ||
} | ||
@@ -93,2 +171,3 @@ | ||
} | ||
if (this.progressEnabled) this.gauge.pulse(m.prefix) | ||
var l = this.levels[m.level] | ||
@@ -101,2 +180,3 @@ if (l === undefined) return | ||
var disp = log.disp[m.level] || m.level | ||
this.clearProgress() | ||
m.message.split(/\r?\n/).forEach(function (line) { | ||
@@ -113,2 +193,3 @@ if (this.heading) { | ||
}, this) | ||
this.showProgress() | ||
} | ||
@@ -120,2 +201,7 @@ | ||
this.cursor = ansi(this.stream, { enabled: colorEnabled }) | ||
var options = {} | ||
if (unicodeEnabled != null) { | ||
options.theme = unicodeEnabled ? Gauge.unicode : Gauge.ascii | ||
} | ||
this.gauge = new Gauge(options, this.cursor) | ||
} | ||
@@ -122,0 +208,0 @@ |
@@ -31,3 +31,3 @@ { | ||
"_shasum": "74b2f1f187c8553c7f95015bcb76009fb43d38e0", | ||
"_from": "ansi@~0.3.0", | ||
"_from": "ansi@>=0.3.0 <0.4.0", | ||
"_npmVersion": "1.4.9", | ||
@@ -34,0 +34,0 @@ "_npmUser": { |
@@ -9,3 +9,3 @@ { | ||
"description": "logger for npm", | ||
"version": "0.1.1", | ||
"version": "1.1.0", | ||
"repository": { | ||
@@ -20,3 +20,5 @@ "type": "git", | ||
"dependencies": { | ||
"ansi": "~0.3.0" | ||
"ansi": "~0.3.0", | ||
"are-we-there-yet": "~1.0.0", | ||
"gauge": "~1.1.0" | ||
}, | ||
@@ -27,3 +29,3 @@ "devDependencies": { | ||
"license": "BSD", | ||
"gitHead": "b58e360cd99db707d1191ce6125ae53d79f075a1", | ||
"gitHead": "d8e2bd3976cc052816ea3eaea2db45e257763d74", | ||
"bugs": { | ||
@@ -33,9 +35,10 @@ "url": "https://github.com/isaacs/npmlog/issues" | ||
"homepage": "https://github.com/isaacs/npmlog", | ||
"_id": "npmlog@0.1.1", | ||
"_shasum": "8b9b9e4405d7ec48c31c2346965aadc7abaecaa5", | ||
"_from": "npmlog@~0.1.1", | ||
"_npmVersion": "1.4.15", | ||
"_id": "npmlog@1.1.0", | ||
"_shasum": "8744168148df1ce3f3387c0bc38154883b4af5f4", | ||
"_from": "npmlog@>=1.1.0 <1.2.0", | ||
"_npmVersion": "2.4.0", | ||
"_nodeVersion": "0.10.33", | ||
"_npmUser": { | ||
"name": "isaacs", | ||
"email": "i@izs.me" | ||
"name": "iarna", | ||
"email": "me@re-becca.org" | ||
}, | ||
@@ -46,11 +49,14 @@ "maintainers": [ | ||
"email": "i@izs.me" | ||
}, | ||
{ | ||
"name": "iarna", | ||
"email": "me@re-becca.org" | ||
} | ||
], | ||
"dist": { | ||
"shasum": "8b9b9e4405d7ec48c31c2346965aadc7abaecaa5", | ||
"tarball": "http://registry.npmjs.org/npmlog/-/npmlog-0.1.1.tgz" | ||
"shasum": "8744168148df1ce3f3387c0bc38154883b4af5f4", | ||
"tarball": "http://registry.npmjs.org/npmlog/-/npmlog-1.1.0.tgz" | ||
}, | ||
"directories": {}, | ||
"_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-0.1.1.tgz", | ||
"readme": "ERROR: No README data found!" | ||
"_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.1.0.tgz" | ||
} |
@@ -83,2 +83,18 @@ # npmlog | ||
## log.enableProgress() | ||
Enable the display of log activity spinner and progress bar | ||
## log.disableProgress() | ||
Disable the display of a progress bar | ||
## log.enableUnicode() | ||
Force the unicode theme to be used for the progress bar. | ||
## log.disableUnicode() | ||
Disable the use of unicode in the progress bar. | ||
## log.pause() | ||
@@ -127,2 +143,24 @@ | ||
## log.newItem(name, todo, weight) | ||
* `name` {String} Optional; progress item name. | ||
* `todo` {Number} Optional; total amount of work to be done. Default 0. | ||
* `weight` {Number} Optional; the weight of this item relative to others. Default 1. | ||
This adds a new `are-we-there-yet` item tracker to the progress tracker. The | ||
object returned has the `log[level]` methods but is otherwise an | ||
`are-we-there-yet` `Tracker` object. | ||
## log.newStream(name, todo, weight) | ||
This adds a new `are-we-there-yet` stream tracker to the progress tracker. The | ||
object returned has the `log[level]` methods but is otherwise an | ||
`are-we-there-yet` `TrackerStream` object. | ||
## log.newGroup(name, weight) | ||
This adds a new `are-we-there-yet` tracker group to the progress tracker. The | ||
object returned has the `log[level]` methods but is otherwise an | ||
`are-we-there-yet` `TrackerGroup` object. | ||
# Events | ||
@@ -129,0 +167,0 @@ |
@@ -11,3 +11,3 @@ #! /usr/bin/env node | ||
module.exports = function (name, defaults, argv) { | ||
module.exports = function (name, defaults, argv, parse) { | ||
if('string' !== typeof name) | ||
@@ -22,2 +22,9 @@ throw new Error('rc(name): name *must* be string') | ||
parse = parse || cc.parse | ||
function file () { | ||
var content = cc.file.apply(null, arguments) | ||
return content ? parse(content) : null | ||
} | ||
var local = cc.find('.'+name+'rc') | ||
@@ -29,12 +36,12 @@ | ||
defaults, | ||
win ? {} : cc.json(join(etc, name, 'config')), | ||
win ? {} : cc.json(join(etc, name + 'rc')), | ||
home ? cc.json(join(home, '.config', name, 'config')) : {}, | ||
home ? cc.json(join(home, '.config', name)) : {}, | ||
home ? cc.json(join(home, '.' + name, 'config')) : {}, | ||
home ? cc.json(join(home, '.' + name + 'rc')) : {}, | ||
cc.json(local), | ||
win ? {} : file(join(etc, name, 'config')), | ||
win ? {} : file(join(etc, name + 'rc')), | ||
home ? file(join(home, '.config', name, 'config')) : {}, | ||
home ? file(join(home, '.config', name)) : {}, | ||
home ? file(join(home, '.' + name, 'config')) : {}, | ||
home ? file(join(home, '.' + name + 'rc')) : {}, | ||
file(local), | ||
local ? {config: local} : null, | ||
env.config ? cc.json(env.config) : null, | ||
argv.config ? cc.json(argv.config) : null, | ||
env.config ? file(env.config) : null, | ||
argv.config ? file(argv.config) : null, | ||
env, | ||
@@ -41,0 +48,0 @@ argv |
@@ -19,3 +19,3 @@ var fs = require('fs') | ||
var json = exports.json = function () { | ||
var file = exports.file = function () { | ||
var args = [].slice.call(arguments).filter(function (arg) { return arg != null }) | ||
@@ -31,9 +31,13 @@ | ||
try { | ||
content = fs.readFileSync(file,'utf-8') | ||
return fs.readFileSync(file,'utf-8') | ||
} catch (err) { | ||
return | ||
} | ||
return parse(content) | ||
} | ||
var json = exports.json = function () { | ||
var content = file.apply(null, arguments) | ||
return content ? parse(content) : null | ||
} | ||
var env = exports.env = function (prefix, env) { | ||
@@ -40,0 +44,0 @@ env = env || process.env |
@@ -44,3 +44,3 @@ { | ||
}, | ||
"_from": "deep-extend@~0.2.5", | ||
"_from": "deep-extend@>=0.2.5 <0.3.0", | ||
"_npmVersion": "1.4.6", | ||
@@ -58,3 +58,4 @@ "_npmUser": { | ||
"_shasum": "7a16ba69729132340506170494bc83f7076fe08f", | ||
"_resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz" | ||
"_resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz", | ||
"readme": "ERROR: No README data found!" | ||
} |
@@ -33,3 +33,3 @@ { | ||
"_shasum": "c07e34aef1de06aff21d413b458e52b21533a11e", | ||
"_from": "ini@~1.3.0", | ||
"_from": "ini@>=1.3.0 <1.4.0", | ||
"_npmVersion": "2.5.1", | ||
@@ -52,3 +52,4 @@ "_nodeVersion": "1.1.0", | ||
"directories": {}, | ||
"_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.3.tgz" | ||
"_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.3.tgz", | ||
"readme": "ERROR: No README data found!" | ||
} |
@@ -51,3 +51,3 @@ { | ||
}, | ||
"_from": "minimist@~0.0.7", | ||
"_from": "minimist@>=0.0.7 <0.1.0", | ||
"_npmVersion": "1.4.3", | ||
@@ -66,3 +66,4 @@ "_npmUser": { | ||
"_shasum": "de3f98543dbf96082be48ad1a0c7cda836301dcf", | ||
"_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" | ||
"_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", | ||
"readme": "ERROR: No README data found!" | ||
} |
@@ -58,3 +58,3 @@ { | ||
"_shasum": "164c64e370a8a3cc00c9e01b539e569823f0ee54", | ||
"_from": "strip-json-comments@0.1.x", | ||
"_from": "strip-json-comments@>=0.1.0 <0.2.0", | ||
"_npmVersion": "1.4.13", | ||
@@ -76,3 +76,4 @@ "_npmUser": { | ||
"directories": {}, | ||
"_resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz" | ||
"_resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz", | ||
"readme": "ERROR: No README data found!" | ||
} |
{ | ||
"name": "rc", | ||
"version": "0.5.5", | ||
"version": "0.6.0", | ||
"description": "hardwired configuration loader", | ||
@@ -39,3 +39,3 @@ "main": "index.js", | ||
}, | ||
"gitHead": "eb2ef879b3740bcdf686d9d269977121b3571523", | ||
"gitHead": "1f2ccd5baeb81933b754e8ced208c7f91b870f2d", | ||
"bugs": { | ||
@@ -45,7 +45,7 @@ "url": "https://github.com/dominictarr/rc/issues" | ||
"homepage": "https://github.com/dominictarr/rc", | ||
"_id": "rc@0.5.5", | ||
"_shasum": "541cc3300f464b6dfe6432d756f0f2dd3e9eb199", | ||
"_from": "rc@~0.5.1", | ||
"_npmVersion": "2.1.11", | ||
"_nodeVersion": "0.10.31", | ||
"_id": "rc@0.6.0", | ||
"_shasum": "e1c930059af831c85413fe275ae2f40f4e3c5371", | ||
"_from": "rc@>=0.6.0 <0.7.0", | ||
"_npmVersion": "2.4.1", | ||
"_nodeVersion": "0.10.35", | ||
"_npmUser": { | ||
@@ -62,7 +62,7 @@ "name": "dominictarr", | ||
"dist": { | ||
"shasum": "541cc3300f464b6dfe6432d756f0f2dd3e9eb199", | ||
"tarball": "http://registry.npmjs.org/rc/-/rc-0.5.5.tgz" | ||
"shasum": "e1c930059af831c85413fe275ae2f40f4e3c5371", | ||
"tarball": "http://registry.npmjs.org/rc/-/rc-0.6.0.tgz" | ||
}, | ||
"directories": {}, | ||
"_resolved": "https://registry.npmjs.org/rc/-/rc-0.5.5.tgz" | ||
"_resolved": "https://registry.npmjs.org/rc/-/rc-0.6.0.tgz" | ||
} |
@@ -120,3 +120,15 @@ # rc | ||
## Pass in your own parser | ||
If you have a special need to use a non-standard parser, | ||
you can do so by passing in the parser as the 4th argument. | ||
(leave the 3rd as null to get the default args parser) | ||
```javascript | ||
require('rc')(appname, defaults, null, parser); | ||
``` | ||
This may also be used to force a more strict format, | ||
such as strict, valid JSON only. | ||
## Note on Performance | ||
@@ -123,0 +135,0 @@ |
@@ -30,3 +30,3 @@ { | ||
}, | ||
"_from": "aws-sign2@~0.5.0", | ||
"_from": "aws-sign2@>=0.5.0 <0.6.0", | ||
"_npmVersion": "1.3.2", | ||
@@ -33,0 +33,0 @@ "_npmUser": { |
@@ -38,3 +38,3 @@ { | ||
}, | ||
"_from": "core-util-is@~1.0.0", | ||
"_from": "core-util-is@>=1.0.0 <1.1.0", | ||
"_npmVersion": "1.3.23", | ||
@@ -53,3 +53,4 @@ "_npmUser": { | ||
"_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538", | ||
"_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" | ||
"_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", | ||
"scripts": {} | ||
} |
@@ -35,3 +35,3 @@ { | ||
}, | ||
"_from": "inherits@2", | ||
"_from": "inherits@>=2.0.1 <2.1.0", | ||
"_npmVersion": "1.3.8", | ||
@@ -38,0 +38,0 @@ "_npmUser": { |
@@ -31,3 +31,3 @@ { | ||
"_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", | ||
"_from": "string_decoder@~0.10.x", | ||
"_from": "string_decoder@>=0.10.0 <0.11.0", | ||
"_npmVersion": "1.4.23", | ||
@@ -34,0 +34,0 @@ "_npmUser": { |
@@ -43,3 +43,3 @@ { | ||
"_shasum": "3a360dd66c1b1d7fd4705389860eda1d0f61126c", | ||
"_from": "readable-stream@~1.0.26", | ||
"_from": "readable-stream@>=1.0.26 <1.1.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -46,0 +46,0 @@ "_npmUser": { |
@@ -42,3 +42,3 @@ { | ||
"_shasum": "4702ddf72fbe0ecd82787c00c113aea1935ad0e7", | ||
"_from": "bl@~0.9.0", | ||
"_from": "bl@>=0.9.0 <0.10.0", | ||
"_npmVersion": "2.1.18", | ||
@@ -45,0 +45,0 @@ "_nodeVersion": "1.0.3", |
@@ -34,3 +34,3 @@ { | ||
"_shasum": "b7b65ce6bf1413886539cfd533f0b30effa9cf88", | ||
"_from": "caseless@~0.9.0", | ||
"_from": "caseless@>=0.9.0 <0.10.0", | ||
"_npmVersion": "1.4.14", | ||
@@ -37,0 +37,0 @@ "_npmUser": { |
@@ -36,3 +36,3 @@ { | ||
}, | ||
"_from": "combined-stream@~0.0.5", | ||
"_from": "combined-stream@>=0.0.5 <0.1.0", | ||
"_npmVersion": "1.4.3", | ||
@@ -39,0 +39,0 @@ "_npmUser": { |
@@ -29,3 +29,3 @@ { | ||
}, | ||
"_from": "forever-agent@~0.5.0", | ||
"_from": "forever-agent@>=0.5.0 <0.6.0", | ||
"_npmVersion": "1.3.21", | ||
@@ -32,0 +32,0 @@ "_npmUser": { |
@@ -44,3 +44,3 @@ { | ||
}, | ||
"_from": "async@~0.9.0", | ||
"_from": "async@>=0.9.0 <0.10.0", | ||
"_npmVersion": "1.4.3", | ||
@@ -47,0 +47,0 @@ "_npmUser": { |
@@ -45,3 +45,3 @@ { | ||
"_shasum": "26f8bc26da6440e299cbdcfb69035c4f77a6e466", | ||
"_from": "form-data@~0.2.0", | ||
"_from": "form-data@>=0.2.0 <0.3.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -48,0 +48,0 @@ "_npmUser": { |
@@ -40,3 +40,3 @@ { | ||
"_shasum": "4dc8ef9b6dfad9c43bbbfbe71fa4c21419f22753", | ||
"_from": "boom@2.x.x", | ||
"_from": "boom@>=2.0.0 <3.0.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -43,0 +43,0 @@ "_npmUser": { |
@@ -46,3 +46,3 @@ { | ||
"_shasum": "09ea1775b9e1c7de7e60a99d42ab6f08ce1a1285", | ||
"_from": "cryptiles@2.x.x", | ||
"_from": "cryptiles@>=2.0.0 <3.0.0", | ||
"_npmVersion": "1.4.23", | ||
@@ -49,0 +49,0 @@ "_npmUser": { |
@@ -37,3 +37,3 @@ { | ||
"_shasum": "e588ec66a6b405b0e7140308720e1e1cd4f035b7", | ||
"_from": "hoek@2.x.x", | ||
"_from": "hoek@>=2.0.0 <3.0.0", | ||
"_npmVersion": "2.1.9", | ||
@@ -40,0 +40,0 @@ "_nodeVersion": "0.10.32", |
@@ -46,3 +46,3 @@ { | ||
"_shasum": "6541184cc90aeea6c6e7b35e2659082443c66198", | ||
"_from": "sntp@1.x.x", | ||
"_from": "sntp@>=1.0.0 <2.0.0", | ||
"_npmVersion": "1.4.23", | ||
@@ -49,0 +49,0 @@ "_npmUser": { |
@@ -52,3 +52,3 @@ { | ||
"_shasum": "1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f", | ||
"_from": "hawk@~2.3.0", | ||
"_from": "hawk@>=2.3.0 <2.4.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -55,0 +55,0 @@ "_npmUser": { |
@@ -28,3 +28,3 @@ { | ||
}, | ||
"_from": "assert-plus@^0.1.5", | ||
"_from": "assert-plus@>=0.1.5 <0.2.0", | ||
"_npmVersion": "1.3.11", | ||
@@ -31,0 +31,0 @@ "_npmUser": { |
@@ -50,3 +50,3 @@ { | ||
"_resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", | ||
"_from": "http-signature@~0.10.0", | ||
"_from": "http-signature@>=0.10.0 <0.11.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -53,0 +53,0 @@ "_npmUser": { |
@@ -39,3 +39,3 @@ { | ||
"_shasum": "48332c5999893996ba253c81c7bd6e7ae0905c4f", | ||
"_from": "isstream@~0.1.1", | ||
"_from": "isstream@>=0.1.1 <0.2.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -42,0 +42,0 @@ "_npmUser": { |
@@ -33,3 +33,3 @@ { | ||
}, | ||
"_from": "json-stringify-safe@~5.0.0", | ||
"_from": "json-stringify-safe@>=5.0.0 <5.1.0", | ||
"_npmVersion": "1.3.6", | ||
@@ -36,0 +36,0 @@ "_npmUser": { |
@@ -70,3 +70,3 @@ { | ||
"_shasum": "36cf66a6c52ea71827bde287f77c254f5ef1b8d3", | ||
"_from": "mime-db@~1.7.0", | ||
"_from": "mime-db@>=1.7.0 <1.8.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -73,0 +73,0 @@ "_npmUser": { |
@@ -57,3 +57,3 @@ { | ||
"_shasum": "e8449aff27b1245ddc6641b524439ae80c4b78a6", | ||
"_from": "mime-types@~2.0.1", | ||
"_from": "mime-types@>=2.0.1 <2.1.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -60,0 +60,0 @@ "_npmUser": { |
@@ -46,3 +46,3 @@ { | ||
"_shasum": "907db3d11b7b6a2cf4f905fb7199f14ae7379ba0", | ||
"_from": "node-uuid@~1.4.0", | ||
"_from": "node-uuid@>=1.4.0 <1.5.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -49,0 +49,0 @@ "_npmUser": { |
@@ -30,3 +30,3 @@ { | ||
"_shasum": "7dbeae44f6ca454e1f168451d630746735813ce3", | ||
"_from": "oauth-sign@~0.6.0", | ||
"_from": "oauth-sign@>=0.6.0 <0.7.0", | ||
"_npmVersion": "1.4.14", | ||
@@ -33,0 +33,0 @@ "_npmUser": { |
@@ -35,3 +35,3 @@ { | ||
"_shasum": "e9e85adbe75da0bbe4c8e0476a086290f863b404", | ||
"_from": "qs@~2.3.1", | ||
"_from": "qs@>=2.3.1 <2.4.0", | ||
"_npmVersion": "2.1.6", | ||
@@ -38,0 +38,0 @@ "_nodeVersion": "0.10.32", |
@@ -42,3 +42,3 @@ { | ||
"_shasum": "0f0e3423f942960b5692ac324a57dd093bc41a92", | ||
"_from": "stringstream@~0.0.4", | ||
"_from": "stringstream@>=0.0.4 <0.1.0", | ||
"_resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz", | ||
@@ -45,0 +45,0 @@ "bugs": { |
@@ -29,3 +29,3 @@ { | ||
}, | ||
"_from": "tunnel-agent@~0.4.0", | ||
"_from": "tunnel-agent@>=0.4.0 <0.5.0", | ||
"_npmVersion": "1.3.21", | ||
@@ -32,0 +32,0 @@ "_npmUser": { |
@@ -73,3 +73,3 @@ { | ||
"_shasum": "180a3ae92b7b639802e4f9545dd8fcdeb71d760c", | ||
"_from": "request@2.x", | ||
"_from": "request@>=2.0.0 <3.0.0", | ||
"_npmVersion": "1.4.14", | ||
@@ -76,0 +76,0 @@ "_npmUser": { |
@@ -54,3 +54,3 @@ { | ||
"_shasum": "e439be2aaee327321952730f99a8929e4fc50582", | ||
"_from": "rimraf@~2.2.8", | ||
"_from": "rimraf@>=2.2.8 <2.3.0", | ||
"_npmVersion": "1.4.10", | ||
@@ -57,0 +57,0 @@ "_npmUser": { |
{ | ||
"name": "semver", | ||
"version": "4.2.2", | ||
"version": "4.3.0", | ||
"description": "The semantic version parser used by npm.", | ||
@@ -24,3 +24,3 @@ "main": "semver.js", | ||
}, | ||
"gitHead": "d2806e62a28290c0bb4b552b741029baf9829226", | ||
"gitHead": "12c0304de19c3d01ae2524b70592e9c49a76ff9d", | ||
"bugs": { | ||
@@ -30,10 +30,10 @@ "url": "https://github.com/isaacs/node-semver/issues" | ||
"homepage": "https://github.com/isaacs/node-semver", | ||
"_id": "semver@4.2.2", | ||
"_shasum": "a6aa6ac6a63c0dc7aff7ea48d5455ae2b93a3062", | ||
"_from": "semver@~4.2.0", | ||
"_id": "semver@4.3.0", | ||
"_shasum": "3757ceed2b91afefe0ba2c3b6bda49c688b0257a", | ||
"_from": "semver@>=4.3.0 <4.4.0", | ||
"_npmVersion": "2.5.1", | ||
"_nodeVersion": "0.12.0", | ||
"_nodeVersion": "1.1.0", | ||
"_npmUser": { | ||
"name": "othiym23", | ||
"email": "ogd@aoaioxxysz.net" | ||
"name": "isaacs", | ||
"email": "i@izs.me" | ||
}, | ||
@@ -51,8 +51,8 @@ "maintainers": [ | ||
"dist": { | ||
"shasum": "a6aa6ac6a63c0dc7aff7ea48d5455ae2b93a3062", | ||
"tarball": "http://registry.npmjs.org/semver/-/semver-4.2.2.tgz" | ||
"shasum": "3757ceed2b91afefe0ba2c3b6bda49c688b0257a", | ||
"tarball": "http://registry.npmjs.org/semver/-/semver-4.3.0.tgz" | ||
}, | ||
"directories": {}, | ||
"_resolved": "https://registry.npmjs.org/semver/-/semver-4.2.2.tgz", | ||
"_resolved": "https://registry.npmjs.org/semver/-/semver-4.3.0.tgz", | ||
"readme": "ERROR: No README data found!" | ||
} |
@@ -251,2 +251,5 @@ semver(1) -- The semantic versioner for npm | ||
increments it. | ||
* `major(v)`: Return the major version number. | ||
* `minor(v)`: Return the minor version number. | ||
* `patch(v)`: Return the patch version number. | ||
@@ -253,0 +256,0 @@ ### Comparison |
@@ -508,2 +508,17 @@ ;(function(exports) { | ||
exports.major = major; | ||
function major(a, loose) { | ||
return new SemVer(a, loose).major; | ||
} | ||
exports.minor = minor; | ||
function minor(a, loose) { | ||
return new SemVer(a, loose).minor; | ||
} | ||
exports.patch = patch; | ||
function patch(a, loose) { | ||
return new SemVer(a, loose).patch; | ||
} | ||
exports.compare = compare; | ||
@@ -510,0 +525,0 @@ function compare(a, b, loose) { |
@@ -518,2 +518,17 @@ // export the class if we are in a Node-like system. | ||
exports.major = major; | ||
function major(a, loose) { | ||
return new SemVer(a, loose).major; | ||
} | ||
exports.minor = minor; | ||
function minor(a, loose) { | ||
return new SemVer(a, loose).minor; | ||
} | ||
exports.patch = patch; | ||
function patch(a, loose) { | ||
return new SemVer(a, loose).patch; | ||
} | ||
exports.compare = compare; | ||
@@ -520,0 +535,0 @@ function compare(a, b, loose) { |
@@ -1,1 +0,1 @@ | ||
!function(e){if(typeof module==="object"&&module.exports===e)e=module.exports=H;e.SEMVER_SPEC_VERSION="2.0.0";var r=e.re=[];var t=e.src=[];var n=0;var i=n++;t[i]="0|[1-9]\\d*";var s=n++;t[s]="[0-9]+";var a=n++;t[a]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var o=n++;t[o]="("+t[i]+")\\."+"("+t[i]+")\\."+"("+t[i]+")";var f=n++;t[f]="("+t[s]+")\\."+"("+t[s]+")\\."+"("+t[s]+")";var u=n++;t[u]="(?:"+t[i]+"|"+t[a]+")";var l=n++;t[l]="(?:"+t[s]+"|"+t[a]+")";var p=n++;t[p]="(?:-("+t[u]+"(?:\\."+t[u]+")*))";var c=n++;t[c]="(?:-?("+t[l]+"(?:\\."+t[l]+")*))";var h=n++;t[h]="[0-9A-Za-z-]+";var v=n++;t[v]="(?:\\+("+t[h]+"(?:\\."+t[h]+")*))";var m=n++;var g="v?"+t[o]+t[p]+"?"+t[v]+"?";t[m]="^"+g+"$";var w="[v=\\s]*"+t[f]+t[c]+"?"+t[v]+"?";var d=n++;t[d]="^"+w+"$";var y=n++;t[y]="((?:<|>)?=?)";var j=n++;t[j]=t[s]+"|x|X|\\*";var b=n++;t[b]=t[i]+"|x|X|\\*";var $=n++;t[$]="[v=\\s]*("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:"+t[p]+")?"+t[v]+"?"+")?)?";var k=n++;t[k]="[v=\\s]*("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:"+t[c]+")?"+t[v]+"?"+")?)?";var E=n++;t[E]="^"+t[y]+"\\s*"+t[$]+"$";var x=n++;t[x]="^"+t[y]+"\\s*"+t[k]+"$";var R=n++;t[R]="(?:~>?)";var S=n++;t[S]="(\\s*)"+t[R]+"\\s+";r[S]=new RegExp(t[S],"g");var V="$1~";var I=n++;t[I]="^"+t[R]+t[$]+"$";var T=n++;t[T]="^"+t[R]+t[k]+"$";var A=n++;t[A]="(?:\\^)";var C=n++;t[C]="(\\s*)"+t[A]+"\\s+";r[C]=new RegExp(t[C],"g");var M="$1^";var z=n++;t[z]="^"+t[A]+t[$]+"$";var N=n++;t[N]="^"+t[A]+t[k]+"$";var P=n++;t[P]="^"+t[y]+"\\s*("+w+")$|^$";var Z=n++;t[Z]="^"+t[y]+"\\s*("+g+")$|^$";var q=n++;t[q]="(\\s*)"+t[y]+"\\s*("+w+"|"+t[$]+")";r[q]=new RegExp(t[q],"g");var L="$1$2$3";var X=n++;t[X]="^\\s*("+t[$]+")"+"\\s+-\\s+"+"("+t[$]+")"+"\\s*$";var _=n++;t[_]="^\\s*("+t[k]+")"+"\\s+-\\s+"+"("+t[k]+")"+"\\s*$";var O=n++;t[O]="(<|>)?=?\\s*\\*";for(var B=0;B<n;B++){if(!r[B])r[B]=new RegExp(t[B])}e.parse=D;function D(e,t){var n=t?r[d]:r[m];return n.test(e)?new H(e,t):null}e.valid=F;function F(e,r){var t=D(e,r);return t?t.version:null}e.clean=G;function G(e,r){var t=D(e.trim().replace(/^[=v]+/,""),r);return t?t.version:null}e.SemVer=H;function H(e,t){if(e instanceof H){if(e.loose===t)return e;else e=e.version}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(!(this instanceof H))return new H(e,t);this.loose=t;var n=e.trim().match(t?r[d]:r[m]);if(!n)throw new TypeError("Invalid Version: "+e);this.raw=e;this.major=+n[1];this.minor=+n[2];this.patch=+n[3];if(!n[4])this.prerelease=[];else this.prerelease=n[4].split(".").map(function(e){return/^[0-9]+$/.test(e)?+e:e});this.build=n[5]?n[5].split("."):[];this.format()}H.prototype.format=function(){this.version=this.major+"."+this.minor+"."+this.patch;if(this.prerelease.length)this.version+="-"+this.prerelease.join(".");return this.version};H.prototype.inspect=function(){return'<SemVer "'+this+'">'};H.prototype.toString=function(){return this.version};H.prototype.compare=function(e){if(!(e instanceof H))e=new H(e,this.loose);return this.compareMain(e)||this.comparePre(e)};H.prototype.compareMain=function(e){if(!(e instanceof H))e=new H(e,this.loose);return U(this.major,e.major)||U(this.minor,e.minor)||U(this.patch,e.patch)};H.prototype.comparePre=function(e){if(!(e instanceof H))e=new H(e,this.loose);if(this.prerelease.length&&!e.prerelease.length)return-1;else if(!this.prerelease.length&&e.prerelease.length)return 1;else if(!this.prerelease.length&&!e.prerelease.length)return 0;var r=0;do{var t=this.prerelease[r];var n=e.prerelease[r];if(t===undefined&&n===undefined)return 0;else if(n===undefined)return 1;else if(t===undefined)return-1;else if(t===n)continue;else return U(t,n)}while(++r)};H.prototype.inc=function(e,r){switch(e){case"premajor":this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc("pre",r);break;case"preminor":this.prerelease.length=0;this.patch=0;this.minor++;this.inc("pre",r);break;case"prepatch":this.prerelease.length=0;this.inc("patch",r);this.inc("pre",r);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",r);this.inc("pre",r);break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0;this.patch=0;this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{var t=this.prerelease.length;while(--t>=0){if(typeof this.prerelease[t]==="number"){this.prerelease[t]++;t=-2}}if(t===-1)this.prerelease.push(0)}if(r){if(this.prerelease[0]===r){if(isNaN(this.prerelease[1]))this.prerelease=[r,0]}else this.prerelease=[r,0]}break;default:throw new Error("invalid increment argument: "+e)}this.format();return this};e.inc=J;function J(e,r,t,n){if(typeof t==="string"){n=t;t=undefined}try{return new H(e,t).inc(r,n).version}catch(i){return null}}e.diff=K;function K(e,r){if(ar(e,r)){return null}else{var t=D(e);var n=D(r);if(t.prerelease.length||n.prerelease.length){for(var i in t){if(i==="major"||i==="minor"||i==="patch"){if(t[i]!==n[i]){return"pre"+i}}}return"prerelease"}for(var i in t){if(i==="major"||i==="minor"||i==="patch"){if(t[i]!==n[i]){return i}}}}}e.compareIdentifiers=U;var Q=/^[0-9]+$/;function U(e,r){var t=Q.test(e);var n=Q.test(r);if(t&&n){e=+e;r=+r}return t&&!n?-1:n&&!t?1:e<r?-1:e>r?1:0}e.rcompareIdentifiers=W;function W(e,r){return U(r,e)}e.compare=Y;function Y(e,r,t){return new H(e,t).compare(r)}e.compareLoose=er;function er(e,r){return Y(e,r,true)}e.rcompare=rr;function rr(e,r,t){return Y(r,e,t)}e.sort=tr;function tr(r,t){return r.sort(function(r,n){return e.compare(r,n,t)})}e.rsort=nr;function nr(r,t){return r.sort(function(r,n){return e.rcompare(r,n,t)})}e.gt=ir;function ir(e,r,t){return Y(e,r,t)>0}e.lt=sr;function sr(e,r,t){return Y(e,r,t)<0}e.eq=ar;function ar(e,r,t){return Y(e,r,t)===0}e.neq=or;function or(e,r,t){return Y(e,r,t)!==0}e.gte=fr;function fr(e,r,t){return Y(e,r,t)>=0}e.lte=ur;function ur(e,r,t){return Y(e,r,t)<=0}e.cmp=lr;function lr(e,r,t,n){var i;switch(r){case"===":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e===t;break;case"!==":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e!==t;break;case"":case"=":case"==":i=ar(e,t,n);break;case"!=":i=or(e,t,n);break;case">":i=ir(e,t,n);break;case">=":i=fr(e,t,n);break;case"<":i=sr(e,t,n);break;case"<=":i=ur(e,t,n);break;default:throw new TypeError("Invalid operator: "+r)}return i}e.Comparator=pr;function pr(e,r){if(e instanceof pr){if(e.loose===r)return e;else e=e.value}if(!(this instanceof pr))return new pr(e,r);this.loose=r;this.parse(e);if(this.semver===cr)this.value="";else this.value=this.operator+this.semver.version}var cr={};pr.prototype.parse=function(e){var t=this.loose?r[P]:r[Z];var n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1];if(this.operator==="=")this.operator="";if(!n[2])this.semver=cr;else this.semver=new H(n[2],this.loose)};pr.prototype.inspect=function(){return'<SemVer Comparator "'+this+'">'};pr.prototype.toString=function(){return this.value};pr.prototype.test=function(e){if(this.semver===cr)return true;if(typeof e==="string")e=new H(e,this.loose);return lr(e,this.operator,this.semver,this.loose)};e.Range=hr;function hr(e,r){if(e instanceof hr&&e.loose===r)return e;if(!(this instanceof hr))return new hr(e,r);this.loose=r;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}hr.prototype.inspect=function(){return'<SemVer Range "'+this.range+'">'};hr.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};hr.prototype.toString=function(){return this.range};hr.prototype.parseRange=function(e){var t=this.loose;e=e.trim();var n=t?r[_]:r[X];e=e.replace(n,Er);e=e.replace(r[q],L);e=e.replace(r[S],V);e=e.replace(r[C],M);e=e.split(/\s+/).join(" ");var i=t?r[P]:r[Z];var s=e.split(" ").map(function(e){return mr(e,t)}).join(" ").split(/\s+/);if(this.loose){s=s.filter(function(e){return!!e.match(i)})}s=s.map(function(e){return new pr(e,t)});return s};e.toComparators=vr;function vr(e,r){return new hr(e,r).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function mr(e,r){e=yr(e,r);e=wr(e,r);e=br(e,r);e=kr(e,r);return e}function gr(e){return!e||e.toLowerCase()==="x"||e==="*"}function wr(e,r){return e.trim().split(/\s+/).map(function(e){return dr(e,r)}).join(" ")}function dr(e,t){var n=t?r[T]:r[I];return e.replace(n,function(e,r,t,n,i){var s;if(gr(r))s="";else if(gr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(gr(n))s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else if(i){if(i.charAt(0)!=="-")i="-"+i;s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0";return s})}function yr(e,r){return e.trim().split(/\s+/).map(function(e){return jr(e,r)}).join(" ")}function jr(e,t){var n=t?r[N]:r[z];return e.replace(n,function(e,r,t,n,i){var s;if(gr(r))s="";else if(gr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(gr(n)){if(r==="0")s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else s=">="+r+"."+t+".0 <"+(+r+1)+".0.0"}else if(i){if(i.charAt(0)!=="-")i="-"+i;if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+i+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+i+" <"+(+r+1)+".0.0"}else{if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+(+r+1)+".0.0"}return s})}function br(e,r){return e.split(/\s+/).map(function(e){return $r(e,r)}).join(" ")}function $r(e,t){e=e.trim();var n=t?r[x]:r[E];return e.replace(n,function(e,r,t,n,i,s){var a=gr(t);var o=a||gr(n);var f=o||gr(i);var u=f;if(r==="="&&u)r="";if(a){if(r===">"||r==="<"){e="<0.0.0"}else{e="*"}}else if(r&&u){if(o)n=0;if(f)i=0;if(r===">"){r=">=";if(o){t=+t+1;n=0;i=0}else if(f){n=+n+1;i=0}}else if(r==="<="){r="<";if(o)t=+t+1;else n=+n+1}e=r+t+"."+n+"."+i}else if(o){e=">="+t+".0.0 <"+(+t+1)+".0.0"}else if(f){e=">="+t+"."+n+".0 <"+t+"."+(+n+1)+".0"}return e})}function kr(e,t){return e.trim().replace(r[O],"")}function Er(e,r,t,n,i,s,a,o,f,u,l,p,c){if(gr(t))r="";else if(gr(n))r=">="+t+".0.0";else if(gr(i))r=">="+t+"."+n+".0";else r=">="+r;if(gr(f))o="";else if(gr(u))o="<"+(+f+1)+".0.0";else if(gr(l))o="<"+f+"."+(+u+1)+".0";else if(p)o="<="+f+"."+u+"."+l+"-"+p;else o="<="+o;return(r+" "+o).trim()}hr.prototype.test=function(e){if(!e)return false;if(typeof e==="string")e=new H(e,this.loose);for(var r=0;r<this.set.length;r++){if(xr(this.set[r],e))return true}return false};function xr(e,r){for(var t=0;t<e.length;t++){if(!e[t].test(r))return false}if(r.prerelease.length){for(var t=0;t<e.length;t++){if(e[t].semver===cr)return true;if(e[t].semver.prerelease.length>0){var n=e[t].semver;if(n.major===r.major&&n.minor===r.minor&&n.patch===r.patch)return true}}return false}return true}e.satisfies=Rr;function Rr(e,r,t){try{r=new hr(r,t)}catch(n){return false}return r.test(e)}e.maxSatisfying=Sr;function Sr(e,r,t){return e.filter(function(e){return Rr(e,r,t)}).sort(function(e,r){return rr(e,r,t)})[0]||null}e.validRange=Vr;function Vr(e,r){try{return new hr(e,r).range||"*"}catch(t){return null}}e.ltr=Ir;function Ir(e,r,t){return Ar(e,r,"<",t)}e.gtr=Tr;function Tr(e,r,t){return Ar(e,r,">",t)}e.outside=Ar;function Ar(e,r,t,n){e=new H(e,n);r=new hr(r,n);var i,s,a,o,f;switch(t){case">":i=ir;s=ur;a=sr;o=">";f=">=";break;case"<":i=sr;s=fr;a=ir;o="<";f="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Rr(e,r,n)){return false}for(var u=0;u<r.set.length;++u){var l=r.set[u];var p=null;var c=null;l.forEach(function(e){p=p||e;c=c||e;if(i(e.semver,p.semver,n)){p=e}else if(a(e.semver,c.semver,n)){c=e}});if(p.operator===o||p.operator===f){return false}if((!c.operator||c.operator===o)&&s(e,c.semver)){return false}else if(c.operator===f&&a(e,c.semver)){return false}}return true}if(typeof define==="function"&&define.amd)define(e)}(typeof exports==="object"?exports:typeof define==="function"&&define.amd?{}:semver={}); | ||
(function(e){if(typeof module==="object"&&module.exports===e)e=module.exports=H;e.SEMVER_SPEC_VERSION="2.0.0";var r=e.re=[];var t=e.src=[];var n=0;var i=n++;t[i]="0|[1-9]\\d*";var s=n++;t[s]="[0-9]+";var a=n++;t[a]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var o=n++;t[o]="("+t[i]+")\\."+"("+t[i]+")\\."+"("+t[i]+")";var f=n++;t[f]="("+t[s]+")\\."+"("+t[s]+")\\."+"("+t[s]+")";var u=n++;t[u]="(?:"+t[i]+"|"+t[a]+")";var l=n++;t[l]="(?:"+t[s]+"|"+t[a]+")";var p=n++;t[p]="(?:-("+t[u]+"(?:\\."+t[u]+")*))";var c=n++;t[c]="(?:-?("+t[l]+"(?:\\."+t[l]+")*))";var h=n++;t[h]="[0-9A-Za-z-]+";var v=n++;t[v]="(?:\\+("+t[h]+"(?:\\."+t[h]+")*))";var m=n++;var g="v?"+t[o]+t[p]+"?"+t[v]+"?";t[m]="^"+g+"$";var w="[v=\\s]*"+t[f]+t[c]+"?"+t[v]+"?";var d=n++;t[d]="^"+w+"$";var y=n++;t[y]="((?:<|>)?=?)";var j=n++;t[j]=t[s]+"|x|X|\\*";var b=n++;t[b]=t[i]+"|x|X|\\*";var $=n++;t[$]="[v=\\s]*("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:\\.("+t[b]+")"+"(?:"+t[p]+")?"+t[v]+"?"+")?)?";var k=n++;t[k]="[v=\\s]*("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:"+t[c]+")?"+t[v]+"?"+")?)?";var E=n++;t[E]="^"+t[y]+"\\s*"+t[$]+"$";var x=n++;t[x]="^"+t[y]+"\\s*"+t[k]+"$";var R=n++;t[R]="(?:~>?)";var S=n++;t[S]="(\\s*)"+t[R]+"\\s+";r[S]=new RegExp(t[S],"g");var V="$1~";var I=n++;t[I]="^"+t[R]+t[$]+"$";var T=n++;t[T]="^"+t[R]+t[k]+"$";var A=n++;t[A]="(?:\\^)";var C=n++;t[C]="(\\s*)"+t[A]+"\\s+";r[C]=new RegExp(t[C],"g");var M="$1^";var z=n++;t[z]="^"+t[A]+t[$]+"$";var N=n++;t[N]="^"+t[A]+t[k]+"$";var P=n++;t[P]="^"+t[y]+"\\s*("+w+")$|^$";var Z=n++;t[Z]="^"+t[y]+"\\s*("+g+")$|^$";var q=n++;t[q]="(\\s*)"+t[y]+"\\s*("+w+"|"+t[$]+")";r[q]=new RegExp(t[q],"g");var L="$1$2$3";var X=n++;t[X]="^\\s*("+t[$]+")"+"\\s+-\\s+"+"("+t[$]+")"+"\\s*$";var _=n++;t[_]="^\\s*("+t[k]+")"+"\\s+-\\s+"+"("+t[k]+")"+"\\s*$";var O=n++;t[O]="(<|>)?=?\\s*\\*";for(var B=0;B<n;B++){if(!r[B])r[B]=new RegExp(t[B])}e.parse=D;function D(e,t){var n=t?r[d]:r[m];return n.test(e)?new H(e,t):null}e.valid=F;function F(e,r){var t=D(e,r);return t?t.version:null}e.clean=G;function G(e,r){var t=D(e.trim().replace(/^[=v]+/,""),r);return t?t.version:null}e.SemVer=H;function H(e,t){if(e instanceof H){if(e.loose===t)return e;else e=e.version}else if(typeof e!=="string"){throw new TypeError("Invalid Version: "+e)}if(!(this instanceof H))return new H(e,t);this.loose=t;var n=e.trim().match(t?r[d]:r[m]);if(!n)throw new TypeError("Invalid Version: "+e);this.raw=e;this.major=+n[1];this.minor=+n[2];this.patch=+n[3];if(!n[4])this.prerelease=[];else this.prerelease=n[4].split(".").map(function(e){return/^[0-9]+$/.test(e)?+e:e});this.build=n[5]?n[5].split("."):[];this.format()}H.prototype.format=function(){this.version=this.major+"."+this.minor+"."+this.patch;if(this.prerelease.length)this.version+="-"+this.prerelease.join(".");return this.version};H.prototype.inspect=function(){return'<SemVer "'+this+'">'};H.prototype.toString=function(){return this.version};H.prototype.compare=function(e){if(!(e instanceof H))e=new H(e,this.loose);return this.compareMain(e)||this.comparePre(e)};H.prototype.compareMain=function(e){if(!(e instanceof H))e=new H(e,this.loose);return U(this.major,e.major)||U(this.minor,e.minor)||U(this.patch,e.patch)};H.prototype.comparePre=function(e){if(!(e instanceof H))e=new H(e,this.loose);if(this.prerelease.length&&!e.prerelease.length)return-1;else if(!this.prerelease.length&&e.prerelease.length)return 1;else if(!this.prerelease.length&&!e.prerelease.length)return 0;var r=0;do{var t=this.prerelease[r];var n=e.prerelease[r];if(t===undefined&&n===undefined)return 0;else if(n===undefined)return 1;else if(t===undefined)return-1;else if(t===n)continue;else return U(t,n)}while(++r)};H.prototype.inc=function(e,r){switch(e){case"premajor":this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc("pre",r);break;case"preminor":this.prerelease.length=0;this.patch=0;this.minor++;this.inc("pre",r);break;case"prepatch":this.prerelease.length=0;this.inc("patch",r);this.inc("pre",r);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",r);this.inc("pre",r);break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0;this.patch=0;this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{var t=this.prerelease.length;while(--t>=0){if(typeof this.prerelease[t]==="number"){this.prerelease[t]++;t=-2}}if(t===-1)this.prerelease.push(0)}if(r){if(this.prerelease[0]===r){if(isNaN(this.prerelease[1]))this.prerelease=[r,0]}else this.prerelease=[r,0]}break;default:throw new Error("invalid increment argument: "+e)}this.format();return this};e.inc=J;function J(e,r,t,n){if(typeof t==="string"){n=t;t=undefined}try{return new H(e,t).inc(r,n).version}catch(i){return null}}e.diff=K;function K(e,r){if(ur(e,r)){return null}else{var t=D(e);var n=D(r);if(t.prerelease.length||n.prerelease.length){for(var i in t){if(i==="major"||i==="minor"||i==="patch"){if(t[i]!==n[i]){return"pre"+i}}}return"prerelease"}for(var i in t){if(i==="major"||i==="minor"||i==="patch"){if(t[i]!==n[i]){return i}}}}}e.compareIdentifiers=U;var Q=/^[0-9]+$/;function U(e,r){var t=Q.test(e);var n=Q.test(r);if(t&&n){e=+e;r=+r}return t&&!n?-1:n&&!t?1:e<r?-1:e>r?1:0}e.rcompareIdentifiers=W;function W(e,r){return U(r,e)}e.major=Y;function Y(e,r){return new H(e,r).major}e.minor=er;function er(e,r){return new H(e,r).minor}e.patch=rr;function rr(e,r){return new H(e,r).patch}e.compare=tr;function tr(e,r,t){return new H(e,t).compare(r)}e.compareLoose=nr;function nr(e,r){return tr(e,r,true)}e.rcompare=ir;function ir(e,r,t){return tr(r,e,t)}e.sort=sr;function sr(r,t){return r.sort(function(r,n){return e.compare(r,n,t)})}e.rsort=ar;function ar(r,t){return r.sort(function(r,n){return e.rcompare(r,n,t)})}e.gt=or;function or(e,r,t){return tr(e,r,t)>0}e.lt=fr;function fr(e,r,t){return tr(e,r,t)<0}e.eq=ur;function ur(e,r,t){return tr(e,r,t)===0}e.neq=lr;function lr(e,r,t){return tr(e,r,t)!==0}e.gte=pr;function pr(e,r,t){return tr(e,r,t)>=0}e.lte=cr;function cr(e,r,t){return tr(e,r,t)<=0}e.cmp=hr;function hr(e,r,t,n){var i;switch(r){case"===":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e===t;break;case"!==":if(typeof e==="object")e=e.version;if(typeof t==="object")t=t.version;i=e!==t;break;case"":case"=":case"==":i=ur(e,t,n);break;case"!=":i=lr(e,t,n);break;case">":i=or(e,t,n);break;case">=":i=pr(e,t,n);break;case"<":i=fr(e,t,n);break;case"<=":i=cr(e,t,n);break;default:throw new TypeError("Invalid operator: "+r)}return i}e.Comparator=vr;function vr(e,r){if(e instanceof vr){if(e.loose===r)return e;else e=e.value}if(!(this instanceof vr))return new vr(e,r);this.loose=r;this.parse(e);if(this.semver===mr)this.value="";else this.value=this.operator+this.semver.version}var mr={};vr.prototype.parse=function(e){var t=this.loose?r[P]:r[Z];var n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1];if(this.operator==="=")this.operator="";if(!n[2])this.semver=mr;else this.semver=new H(n[2],this.loose)};vr.prototype.inspect=function(){return'<SemVer Comparator "'+this+'">'};vr.prototype.toString=function(){return this.value};vr.prototype.test=function(e){if(this.semver===mr)return true;if(typeof e==="string")e=new H(e,this.loose);return hr(e,this.operator,this.semver,this.loose)};e.Range=gr;function gr(e,r){if(e instanceof gr&&e.loose===r)return e;if(!(this instanceof gr))return new gr(e,r);this.loose=r;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}gr.prototype.inspect=function(){return'<SemVer Range "'+this.range+'">'};gr.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};gr.prototype.toString=function(){return this.range};gr.prototype.parseRange=function(e){var t=this.loose;e=e.trim();var n=t?r[_]:r[X];e=e.replace(n,Sr);e=e.replace(r[q],L);e=e.replace(r[S],V);e=e.replace(r[C],M);e=e.split(/\s+/).join(" ");var i=t?r[P]:r[Z];var s=e.split(" ").map(function(e){return dr(e,t)}).join(" ").split(/\s+/);if(this.loose){s=s.filter(function(e){return!!e.match(i)})}s=s.map(function(e){return new vr(e,t)});return s};e.toComparators=wr;function wr(e,r){return new gr(e,r).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function dr(e,r){e=$r(e,r);e=jr(e,r);e=Er(e,r);e=Rr(e,r);return e}function yr(e){return!e||e.toLowerCase()==="x"||e==="*"}function jr(e,r){return e.trim().split(/\s+/).map(function(e){return br(e,r)}).join(" ")}function br(e,t){var n=t?r[T]:r[I];return e.replace(n,function(e,r,t,n,i){var s;if(yr(r))s="";else if(yr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(yr(n))s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else if(i){if(i.charAt(0)!=="-")i="-"+i;s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0";return s})}function $r(e,r){return e.trim().split(/\s+/).map(function(e){return kr(e,r)}).join(" ")}function kr(e,t){var n=t?r[N]:r[z];return e.replace(n,function(e,r,t,n,i){var s;if(yr(r))s="";else if(yr(t))s=">="+r+".0.0 <"+(+r+1)+".0.0";else if(yr(n)){if(r==="0")s=">="+r+"."+t+".0 <"+r+"."+(+t+1)+".0";else s=">="+r+"."+t+".0 <"+(+r+1)+".0.0"}else if(i){if(i.charAt(0)!=="-")i="-"+i;if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+i+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+i+" <"+(+r+1)+".0.0"}else{if(r==="0"){if(t==="0")s=">="+r+"."+t+"."+n+" <"+r+"."+t+"."+(+n+1);else s=">="+r+"."+t+"."+n+" <"+r+"."+(+t+1)+".0"}else s=">="+r+"."+t+"."+n+" <"+(+r+1)+".0.0"}return s})}function Er(e,r){return e.split(/\s+/).map(function(e){return xr(e,r)}).join(" ")}function xr(e,t){e=e.trim();var n=t?r[x]:r[E];return e.replace(n,function(e,r,t,n,i,s){var a=yr(t);var o=a||yr(n);var f=o||yr(i);var u=f;if(r==="="&&u)r="";if(a){if(r===">"||r==="<"){e="<0.0.0"}else{e="*"}}else if(r&&u){if(o)n=0;if(f)i=0;if(r===">"){r=">=";if(o){t=+t+1;n=0;i=0}else if(f){n=+n+1;i=0}}else if(r==="<="){r="<";if(o)t=+t+1;else n=+n+1}e=r+t+"."+n+"."+i}else if(o){e=">="+t+".0.0 <"+(+t+1)+".0.0"}else if(f){e=">="+t+"."+n+".0 <"+t+"."+(+n+1)+".0"}return e})}function Rr(e,t){return e.trim().replace(r[O],"")}function Sr(e,r,t,n,i,s,a,o,f,u,l,p,c){if(yr(t))r="";else if(yr(n))r=">="+t+".0.0";else if(yr(i))r=">="+t+"."+n+".0";else r=">="+r;if(yr(f))o="";else if(yr(u))o="<"+(+f+1)+".0.0";else if(yr(l))o="<"+f+"."+(+u+1)+".0";else if(p)o="<="+f+"."+u+"."+l+"-"+p;else o="<="+o;return(r+" "+o).trim()}gr.prototype.test=function(e){if(!e)return false;if(typeof e==="string")e=new H(e,this.loose);for(var r=0;r<this.set.length;r++){if(Vr(this.set[r],e))return true}return false};function Vr(e,r){for(var t=0;t<e.length;t++){if(!e[t].test(r))return false}if(r.prerelease.length){for(var t=0;t<e.length;t++){if(e[t].semver===mr)return true;if(e[t].semver.prerelease.length>0){var n=e[t].semver;if(n.major===r.major&&n.minor===r.minor&&n.patch===r.patch)return true}}return false}return true}e.satisfies=Ir;function Ir(e,r,t){try{r=new gr(r,t)}catch(n){return false}return r.test(e)}e.maxSatisfying=Tr;function Tr(e,r,t){return e.filter(function(e){return Ir(e,r,t)}).sort(function(e,r){return ir(e,r,t)})[0]||null}e.validRange=Ar;function Ar(e,r){try{return new gr(e,r).range||"*"}catch(t){return null}}e.ltr=Cr;function Cr(e,r,t){return zr(e,r,"<",t)}e.gtr=Mr;function Mr(e,r,t){return zr(e,r,">",t)}e.outside=zr;function zr(e,r,t,n){e=new H(e,n);r=new gr(r,n);var i,s,a,o,f;switch(t){case">":i=or;s=cr;a=fr;o=">";f=">=";break;case"<":i=fr;s=pr;a=or;o="<";f="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ir(e,r,n)){return false}for(var u=0;u<r.set.length;++u){var l=r.set[u];var p=null;var c=null;l.forEach(function(e){p=p||e;c=c||e;if(i(e.semver,p.semver,n)){p=e}else if(a(e.semver,c.semver,n)){c=e}});if(p.operator===o||p.operator===f){return false}if((!c.operator||c.operator===o)&&s(e,c.semver)){return false}else if(c.operator===f&&a(e,c.semver)){return false}}return true}if(typeof define==="function"&&define.amd)define(e)})(typeof exports==="object"?exports:typeof define==="function"&&define.amd?{}:semver={}); |
@@ -47,3 +47,3 @@ { | ||
}, | ||
"_from": "debug@~0.7.2", | ||
"_from": "debug@>=0.7.2 <0.8.0", | ||
"_npmVersion": "1.3.13", | ||
@@ -62,3 +62,4 @@ "_npmUser": { | ||
"_shasum": "06e1ea8082c2cb14e39806e22e2f6f757f92af39", | ||
"_resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" | ||
"_resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", | ||
"readme": "ERROR: No README data found!" | ||
} |
@@ -35,3 +35,3 @@ { | ||
}, | ||
"_from": "inherits@~2.0.1", | ||
"_from": "inherits@>=2.0.0 <3.0.0", | ||
"_npmVersion": "1.3.8", | ||
@@ -38,0 +38,0 @@ "_npmUser": { |
@@ -34,3 +34,3 @@ { | ||
}, | ||
"_from": "lru-cache@2", | ||
"_from": "lru-cache@>=2.0.0 <3.0.0", | ||
"_npmVersion": "1.3.15", | ||
@@ -37,0 +37,0 @@ "_npmUser": { |
@@ -52,3 +52,3 @@ { | ||
"_shasum": "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296", | ||
"_from": "sigmund@~1.0.0", | ||
"_from": "sigmund@>=1.0.0 <1.1.0", | ||
"_resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", | ||
@@ -55,0 +55,0 @@ "bugs": { |
@@ -41,3 +41,3 @@ { | ||
}, | ||
"_from": "minimatch@~0.2.0", | ||
"_from": "minimatch@>=0.2.0 <0.3.0", | ||
"_npmVersion": "1.3.17", | ||
@@ -44,0 +44,0 @@ "_npmUser": { |
@@ -51,3 +51,5 @@ { | ||
"_shasum": "eea3033f0c3728139de7b57ab1b0d6d89c353c63", | ||
"_resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz" | ||
"_resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz", | ||
"readme": "ERROR: No README data found!", | ||
"homepage": "https://github.com/isaacs/fstream-ignore" | ||
} |
@@ -53,3 +53,3 @@ { | ||
"_shasum": "4a880474bdeb716fe3278cf29792dec38dfac418", | ||
"_from": "graceful-fs@~3.0.2", | ||
"_from": "graceful-fs@>=3.0.2 <3.1.0", | ||
"_npmVersion": "2.1.9", | ||
@@ -56,0 +56,0 @@ "_nodeVersion": "0.10.16", |
@@ -35,3 +35,3 @@ { | ||
}, | ||
"_from": "inherits@~2.0.0", | ||
"_from": "inherits@>=2.0.0 <2.1.0", | ||
"_npmVersion": "1.3.8", | ||
@@ -38,0 +38,0 @@ "_npmUser": { |
@@ -38,3 +38,3 @@ { | ||
"_shasum": "7337f058fbbbbefa8c9f561a28cab0849202c988", | ||
"_from": "fstream@~0.1.22", | ||
"_from": "fstream@>=0.1.22 <0.2.0", | ||
"_npmVersion": "2.0.0-alpha-5", | ||
@@ -56,3 +56,4 @@ "_npmUser": { | ||
"directories": {}, | ||
"_resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz" | ||
"_resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz", | ||
"readme": "ERROR: No README data found!" | ||
} |
@@ -49,3 +49,3 @@ { | ||
}, | ||
"_from": "graceful-fs@1.2", | ||
"_from": "graceful-fs@>=1.2.0 <1.3.0", | ||
"_npmVersion": "1.3.2", | ||
@@ -63,3 +63,5 @@ "_npmUser": { | ||
"_shasum": "15a4806a57547cb2d2dbf27f42e89a8c3451b364", | ||
"_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" | ||
"_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", | ||
"readme": "ERROR: No README data found!", | ||
"homepage": "https://github.com/isaacs/node-graceful-fs" | ||
} |
@@ -49,4 +49,9 @@ { | ||
"_shasum": "9db574933ccb08c3a7614d154032c09ea6f339e7", | ||
"_from": "once@~1.1.1", | ||
"_resolved": "https://registry.npmjs.org/once/-/once-1.1.1.tgz" | ||
"_from": "once@>=1.1.1 <1.2.0", | ||
"_resolved": "https://registry.npmjs.org/once/-/once-1.1.1.tgz", | ||
"bugs": { | ||
"url": "https://github.com/isaacs/once/issues" | ||
}, | ||
"readme": "ERROR: No README data found!", | ||
"homepage": "https://github.com/isaacs/once" | ||
} |
@@ -38,3 +38,3 @@ { | ||
}, | ||
"_from": "core-util-is@~1.0.0", | ||
"_from": "core-util-is@>=1.0.0 <1.1.0", | ||
"_npmVersion": "1.3.23", | ||
@@ -53,3 +53,4 @@ "_npmUser": { | ||
"_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538", | ||
"_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" | ||
"_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", | ||
"scripts": {} | ||
} |
@@ -35,3 +35,3 @@ { | ||
}, | ||
"_from": "inherits@2", | ||
"_from": "inherits@>=2.0.0 <2.1.0", | ||
"_npmVersion": "1.3.8", | ||
@@ -38,0 +38,0 @@ "_npmUser": { |
@@ -31,3 +31,3 @@ { | ||
"_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94", | ||
"_from": "string_decoder@~0.10.x", | ||
"_from": "string_decoder@>=0.10.0 <0.11.0", | ||
"_npmVersion": "1.4.23", | ||
@@ -34,0 +34,0 @@ "_npmUser": { |
@@ -43,3 +43,3 @@ { | ||
"_shasum": "3a360dd66c1b1d7fd4705389860eda1d0f61126c", | ||
"_from": "readable-stream@~1.0.2", | ||
"_from": "readable-stream@>=1.0.2 <1.1.0", | ||
"_npmVersion": "1.4.28", | ||
@@ -46,0 +46,0 @@ "_npmUser": { |
@@ -35,3 +35,3 @@ { | ||
}, | ||
"_from": "inherits@2", | ||
"_from": "inherits@>=2.0.0 <3.0.0", | ||
"_npmVersion": "1.3.8", | ||
@@ -38,0 +38,0 @@ "_npmUser": { |
@@ -35,3 +35,3 @@ { | ||
"_shasum": "42940bae5b5f22c74483699126f9f3f27449cb13", | ||
"_from": "tar@~0.1.17", | ||
"_from": "tar@>=0.1.17 <0.2.0", | ||
"_npmVersion": "1.4.16", | ||
@@ -53,3 +53,4 @@ "_npmUser": { | ||
"directories": {}, | ||
"_resolved": "https://registry.npmjs.org/tar/-/tar-0.1.20.tgz" | ||
"_resolved": "https://registry.npmjs.org/tar/-/tar-0.1.20.tgz", | ||
"readme": "ERROR: No README data found!" | ||
} |
@@ -44,3 +44,8 @@ { | ||
"_from": "uid-number@0.0.3", | ||
"_resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.3.tgz" | ||
"_resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.3.tgz", | ||
"bugs": { | ||
"url": "https://github.com/isaacs/uid-number/issues" | ||
}, | ||
"readme": "ERROR: No README data found!", | ||
"homepage": "https://github.com/isaacs/uid-number" | ||
} |
@@ -39,3 +39,3 @@ { | ||
}, | ||
"_from": "tar-pack@~2.0.0", | ||
"_from": "tar-pack@>=2.0.0 <2.1.0", | ||
"_npmVersion": "1.2.10", | ||
@@ -54,3 +54,7 @@ "_npmUser": { | ||
"_shasum": "c2c401c02dd366138645e917b3a6baa256a9dcab", | ||
"_resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-2.0.0.tgz" | ||
"_resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-2.0.0.tgz", | ||
"bugs": { | ||
"url": "https://github.com/ForbesLindesay/tar-pack/issues" | ||
}, | ||
"homepage": "https://github.com/ForbesLindesay/tar-pack" | ||
} |
@@ -53,3 +53,3 @@ { | ||
"_shasum": "4a880474bdeb716fe3278cf29792dec38dfac418", | ||
"_from": "graceful-fs@3", | ||
"_from": "graceful-fs@>=3.0.0 <4.0.0", | ||
"_npmVersion": "2.1.9", | ||
@@ -56,0 +56,0 @@ "_nodeVersion": "0.10.16", |
@@ -38,3 +38,3 @@ { | ||
"_shasum": "6c52298473fd6351fd22fc4bf9254fcfebe80f2b", | ||
"_from": "fstream@^1.0.2", | ||
"_from": "fstream@>=1.0.2 <2.0.0", | ||
"_npmVersion": "2.4.1", | ||
@@ -41,0 +41,0 @@ "_nodeVersion": "0.10.35", |
@@ -35,3 +35,3 @@ { | ||
}, | ||
"_from": "inherits@2", | ||
"_from": "inherits@>=2.0.0 <3.0.0", | ||
"_npmVersion": "1.3.8", | ||
@@ -38,0 +38,0 @@ "_npmUser": { |
@@ -37,3 +37,3 @@ { | ||
"_shasum": "15bcdab244fa4add44e4244a0176edb8aa9a2b44", | ||
"_from": "tar@~1.0.2", | ||
"_from": "tar@>=1.0.2 <1.1.0", | ||
"_npmVersion": "2.1.10", | ||
@@ -40,0 +40,0 @@ "_nodeVersion": "0.10.33", |
{ | ||
"name": "node-pre-gyp", | ||
"description": "Node.js native addon binary install tool", | ||
"version" : "0.6.3", | ||
"version" : "0.6.4", | ||
"keywords": [ | ||
@@ -24,9 +24,9 @@ "native", | ||
"nopt": "~3.0.1", | ||
"npmlog": "~0.1.1", | ||
"npmlog": "~1.1.0", | ||
"request": "2.x", | ||
"semver": "~4.2.0", | ||
"semver": "~4.3.0", | ||
"tar": "~1.0.2", | ||
"tar-pack":"~2.0.0", | ||
"mkdirp":"~0.5.0", | ||
"rc":"~0.5.1", | ||
"rc":"~0.6.0", | ||
"rimraf":"~2.2.8" | ||
@@ -64,6 +64,6 @@ }, | ||
"scripts": { | ||
"prepublish":"retire -n && npm ls && jshint test/*.js lib/*.js lib/util/*.js scripts/*js bin/node-pre-gyp", | ||
"prepublish":"retire -n && npm ls && jshint test/*js", | ||
"update-crosswalk":"node scripts/abi_crosswalk.js", | ||
"test":"mocha -R spec --timeout 100000" | ||
"test":"jshint lib lib/util scripts bin/node-pre-gyp && mocha -R spec --timeout 100000" | ||
} | ||
} |
@@ -33,3 +33,3 @@ # node-pre-gyp | ||
- Node.js 0.10.x or 0.8.x | ||
- Node.js 0.12.x -> 0.8.x | ||
@@ -36,0 +36,0 @@ ## Install |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
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 3 instances 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
3298873
849
62960
198
32
Updatednpmlog@~1.1.0
Updatedrc@~0.6.0
Updatedsemver@~4.3.0