aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/nopt
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/nopt')
-rw-r--r--deps/npm/node_modules/nopt/.travis.yml7
-rw-r--r--deps/npm/node_modules/nopt/CHANGELOG.md58
-rw-r--r--deps/npm/node_modules/nopt/README.md54
-rw-r--r--deps/npm/node_modules/nopt/lib/nopt.js79
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/.npmignore13
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/.travis.yml9
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/LICENSE15
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/README.md63
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/index.js24
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/license21
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/package.json109
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/readme.md31
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/index.js25
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/license21
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/package.json109
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/readme.md32
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/osenv.js72
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/package.json113
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/test/unix.js71
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/test/windows.js74
-rw-r--r--deps/npm/node_modules/nopt/node_modules/osenv/x.tap39
-rw-r--r--deps/npm/node_modules/nopt/package.json69
-rw-r--r--deps/npm/node_modules/nopt/test/basic.js44
23 files changed, 1058 insertions, 94 deletions
diff --git a/deps/npm/node_modules/nopt/.travis.yml b/deps/npm/node_modules/nopt/.travis.yml
index 99f2bbf506..a1cef591c3 100644
--- a/deps/npm/node_modules/nopt/.travis.yml
+++ b/deps/npm/node_modules/nopt/.travis.yml
@@ -1,9 +1,8 @@
language: node_js
-language: node_js
node_js:
- - '0.8'
- - '0.10'
- '0.12'
- - 'iojs'
+ - '4'
+ - '6'
+ - '7'
before_install:
- npm install -g npm@latest
diff --git a/deps/npm/node_modules/nopt/CHANGELOG.md b/deps/npm/node_modules/nopt/CHANGELOG.md
new file mode 100644
index 0000000000..82a09fb4bf
--- /dev/null
+++ b/deps/npm/node_modules/nopt/CHANGELOG.md
@@ -0,0 +1,58 @@
+### v4.0.1 (2016-12-14)
+
+#### WHOOPS
+
+* [`fb9b1ce`](https://github.com/npm/nopt/commit/fb9b1ce57b3c69b4f7819015be87719204f77ef6)
+ Merged so many patches at once that the code fencing
+ ([@adius](https://github.com/adius)) added got broken. Sorry,
+ ([@adius](https://github.com/adius))!
+ ([@othiym23](https://github.com/othiym23))
+
+### v4.0.0 (2016-12-13)
+
+#### BREAKING CHANGES
+
+* [`651d447`](https://github.com/npm/nopt/commit/651d4473946096d341a480bbe56793de3fc706aa)
+ When parsing String-typed arguments, if the next value is `""`, don't simply
+ swallow it. ([@samjonester](https://github.com/samjonester))
+
+#### PERFORMANCE TWEAKS
+
+* [`3370ce8`](https://github.com/npm/nopt/commit/3370ce87a7618ba228883861db84ddbcdff252a9)
+ Simplify initialization. ([@elidoran](https://github.com/elidoran))
+* [`356e58e`](https://github.com/npm/nopt/commit/356e58e3b3b431a4b1af7fd7bdee44c2c0526a09)
+ Store `Array.isArray(types[arg])` for reuse.
+ ([@elidoran](https://github.com/elidoran))
+* [`0d95e90`](https://github.com/npm/nopt/commit/0d95e90515844f266015b56d2c80b94e5d14a07e)
+ Interpret single-item type arrays as a single type.
+ ([@samjonester](https://github.com/samjonester))
+* [`07c69d3`](https://github.com/npm/nopt/commit/07c69d38b5186450941fbb505550becb78a0e925)
+ Simplify key-value extraction. ([@elidoran](https://github.com/elidoran))
+* [`39b6e5c`](https://github.com/npm/nopt/commit/39b6e5c65ac47f60cd43a1fbeece5cd4c834c254)
+ Only call `Date.parse(val)` once. ([@elidoran](https://github.com/elidoran))
+* [`934943d`](https://github.com/npm/nopt/commit/934943dffecb55123a2b15959fe2a359319a5dbd)
+ Use `osenv.home()` to find a user's home directory instead of assuming it's
+ always `$HOME`. ([@othiym23](https://github.com/othiym23))
+
+#### TEST & CI IMPROVEMENTS
+
+* [`326ffff`](https://github.com/npm/nopt/commit/326ffff7f78a00bcd316adecf69075f8a8093619)
+ Fix `/tmp` test to work on Windows.
+ ([@elidoran](https://github.com/elidoran))
+* [`c89d31a`](https://github.com/npm/nopt/commit/c89d31a49d14f2238bc6672db08da697bbc57f1b)
+ Only run Windows tests on Windows, only run Unix tests on a Unix.
+ ([@elidoran](https://github.com/elidoran))
+* [`affd3d1`](https://github.com/npm/nopt/commit/affd3d1d0addffa93006397b2013b18447339366)
+ Refresh Travis to run the tests against the currently-supported batch of npm
+ versions. ([@helio](https://github.com/helio)-frota)
+* [`55f9449`](https://github.com/npm/nopt/commit/55f94497d163ed4d16dd55fd6c4fb95cc440e66d)
+ `tap@8.0.1` ([@othiym23](https://github.com/othiym23))
+
+#### DOC TWEAKS
+
+* [`5271229`](https://github.com/npm/nopt/commit/5271229ee7c810217dd51616c086f5d9ab224581)
+ Use JavaScript code block for syntax highlighting.
+ ([@adius](https://github.com/adius))
+* [`c0d156f`](https://github.com/npm/nopt/commit/c0d156f229f9994c5dfcec4a8886eceff7a07682)
+ The code sample in the README had `many2: [ oneThing ]`, and now it has
+ `many2: [ two, things ]`. ([@silkentrance](https://github.com/silkentrance))
diff --git a/deps/npm/node_modules/nopt/README.md b/deps/npm/node_modules/nopt/README.md
index f21a4b31c5..a99531c046 100644
--- a/deps/npm/node_modules/nopt/README.md
+++ b/deps/npm/node_modules/nopt/README.md
@@ -19,35 +19,37 @@ nice option parser.
## USAGE
- // my-program.js
- var nopt = require("nopt")
- , Stream = require("stream").Stream
- , path = require("path")
- , knownOpts = { "foo" : [String, null]
- , "bar" : [Stream, Number]
- , "baz" : path
- , "bloo" : [ "big", "medium", "small" ]
- , "flag" : Boolean
- , "pick" : Boolean
- , "many1" : [String, Array]
- , "many2" : [path]
- }
- , shortHands = { "foofoo" : ["--foo", "Mr. Foo"]
- , "b7" : ["--bar", "7"]
- , "m" : ["--bloo", "medium"]
- , "p" : ["--pick"]
- , "f" : ["--flag"]
- }
- // everything is optional.
- // knownOpts and shorthands default to {}
- // arg list defaults to process.argv
- // slice defaults to 2
- , parsed = nopt(knownOpts, shortHands, process.argv, 2)
- console.log(parsed)
+```javascript
+// my-program.js
+var nopt = require("nopt")
+ , Stream = require("stream").Stream
+ , path = require("path")
+ , knownOpts = { "foo" : [String, null]
+ , "bar" : [Stream, Number]
+ , "baz" : path
+ , "bloo" : [ "big", "medium", "small" ]
+ , "flag" : Boolean
+ , "pick" : Boolean
+ , "many1" : [String, Array]
+ , "many2" : [path, Array]
+ }
+ , shortHands = { "foofoo" : ["--foo", "Mr. Foo"]
+ , "b7" : ["--bar", "7"]
+ , "m" : ["--bloo", "medium"]
+ , "p" : ["--pick"]
+ , "f" : ["--flag"]
+ }
+ // everything is optional.
+ // knownOpts and shorthands default to {}
+ // arg list defaults to process.argv
+ // slice defaults to 2
+ , parsed = nopt(knownOpts, shortHands, process.argv, 2)
+console.log(parsed)
+```
This would give you support for any of the following:
-```bash
+```console
$ node my-program.js --foo "blerp" --no-flag
{ "foo" : "blerp", "flag" : false }
diff --git a/deps/npm/node_modules/nopt/lib/nopt.js b/deps/npm/node_modules/nopt/lib/nopt.js
index 97707e7842..1fb113514f 100644
--- a/deps/npm/node_modules/nopt/lib/nopt.js
+++ b/deps/npm/node_modules/nopt/lib/nopt.js
@@ -8,6 +8,7 @@ var url = require("url")
, path = require("path")
, Stream = require("stream").Stream
, abbrev = require("abbrev")
+ , osenv = require("osenv")
module.exports = exports = nopt
exports.clean = clean
@@ -33,14 +34,16 @@ function nopt (types, shorthands, args, slice) {
args = args.slice(slice)
var data = {}
, key
- , remain = []
- , cooked = args
- , original = args.slice(0)
+ , argv = {
+ remain: [],
+ cooked: args,
+ original: args.slice(0)
+ }
- parse(args, data, remain, types, shorthands)
+ parse(args, data, argv.remain, types, shorthands)
// now data is full
clean(data, types, exports.typeDefs)
- data.argv = {remain:remain,cooked:cooked,original:original}
+ data.argv = argv
Object.defineProperty(data.argv, 'toString', { value: function () {
return this.original.map(JSON.stringify).join(" ")
}, enumerable: false })
@@ -129,11 +132,16 @@ function validatePath (data, k, val) {
if (val === null) return true
val = String(val)
- var homePattern = process.platform === 'win32' ? /^~(\/|\\)/ : /^~\//
- if (val.match(homePattern) && process.env.HOME) {
- val = path.resolve(process.env.HOME, val.substr(2))
+
+ var isWin = process.platform === 'win32'
+ , homePattern = isWin ? /^~(\/|\\)/ : /^~\//
+ , home = osenv.home()
+
+ if (home && val.match(homePattern)) {
+ data[k] = path.resolve(home, val.substr(2))
+ } else {
+ data[k] = path.resolve(val)
}
- data[k] = path.resolve(String(val))
return true
}
@@ -144,8 +152,8 @@ function validateNumber (data, k, val) {
}
function validateDate (data, k, val) {
- debug("validate Date %j %j %j", k, val, Date.parse(val))
var s = Date.parse(val)
+ debug("validate Date %j %j %j", k, val, s)
if (isNaN(s)) return false
data[k] = new Date(val)
}
@@ -246,12 +254,12 @@ function parse (args, data, remain, types, shorthands) {
}
var hadEq = false
if (arg.charAt(0) === "-" && arg.length > 1) {
- if (arg.indexOf("=") !== -1) {
+ var at = arg.indexOf('=')
+ if (at > -1) {
hadEq = true
- var v = arg.split("=")
- arg = v.shift()
- v = v.join("=")
- args.splice.apply(args, [i, 1].concat([arg, v]))
+ var v = arg.substr(at + 1)
+ arg = arg.substr(0, at)
+ args.splice(i, 1, arg, v)
}
// see if it's a shorthand
@@ -275,8 +283,15 @@ function parse (args, data, remain, types, shorthands) {
if (abbrevs[arg]) arg = abbrevs[arg]
- var isArray = types[arg] === Array ||
- Array.isArray(types[arg]) && types[arg].indexOf(Array) !== -1
+ var argType = types[arg]
+ var isTypeArray = Array.isArray(argType)
+ if (isTypeArray && argType.length === 1) {
+ isTypeArray = false
+ argType = argType[0]
+ }
+
+ var isArray = argType === Array ||
+ isTypeArray && argType.indexOf(Array) !== -1
// allow unknown things to be arrays if specified multiple times.
if (!types.hasOwnProperty(arg) && data.hasOwnProperty(arg)) {
@@ -289,12 +304,12 @@ function parse (args, data, remain, types, shorthands) {
, la = args[i + 1]
var isBool = typeof no === 'boolean' ||
- types[arg] === Boolean ||
- Array.isArray(types[arg]) && types[arg].indexOf(Boolean) !== -1 ||
- (typeof types[arg] === 'undefined' && !hadEq) ||
+ argType === Boolean ||
+ isTypeArray && argType.indexOf(Boolean) !== -1 ||
+ (typeof argType === 'undefined' && !hadEq) ||
(la === "false" &&
- (types[arg] === null ||
- Array.isArray(types[arg]) && ~types[arg].indexOf(null)))
+ (argType === null ||
+ isTypeArray && ~argType.indexOf(null)))
if (isBool) {
// just set and move along
@@ -308,22 +323,22 @@ function parse (args, data, remain, types, shorthands) {
}
// also support "foo":[Boolean, "bar"] and "--foo bar"
- if (Array.isArray(types[arg]) && la) {
- if (~types[arg].indexOf(la)) {
+ if (isTypeArray && la) {
+ if (~argType.indexOf(la)) {
// an explicit type
val = la
i ++
- } else if ( la === "null" && ~types[arg].indexOf(null) ) {
+ } else if ( la === "null" && ~argType.indexOf(null) ) {
// null allowed
val = null
i ++
} else if ( !la.match(/^-{2,}[^-]/) &&
!isNaN(la) &&
- ~types[arg].indexOf(Number) ) {
+ ~argType.indexOf(Number) ) {
// number
val = +la
i ++
- } else if ( !la.match(/^-[^-]/) && ~types[arg].indexOf(String) ) {
+ } else if ( !la.match(/^-[^-]/) && ~argType.indexOf(String) ) {
// string
val = la
i ++
@@ -336,8 +351,14 @@ function parse (args, data, remain, types, shorthands) {
continue
}
- if (types[arg] === String && la === undefined)
- la = ""
+ if (argType === String) {
+ if (la === undefined) {
+ la = ""
+ } else if (la.match(/^-{1,2}[^-]+/)) {
+ la = ""
+ i --
+ }
+ }
if (la && la.match(/^-{2,}$/)) {
la = undefined
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/.npmignore b/deps/npm/node_modules/nopt/node_modules/osenv/.npmignore
new file mode 100644
index 0000000000..8c23deeb34
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/.npmignore
@@ -0,0 +1,13 @@
+*.swp
+.*.swp
+
+.DS_Store
+*~
+.project
+.settings
+npm-debug.log
+coverage.html
+.idea
+lib-cov
+
+node_modules
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/.travis.yml b/deps/npm/node_modules/nopt/node_modules/osenv/.travis.yml
new file mode 100644
index 0000000000..99f2bbf506
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/.travis.yml
@@ -0,0 +1,9 @@
+language: node_js
+language: node_js
+node_js:
+ - '0.8'
+ - '0.10'
+ - '0.12'
+ - 'iojs'
+before_install:
+ - npm install -g npm@latest
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/LICENSE b/deps/npm/node_modules/nopt/node_modules/osenv/LICENSE
new file mode 100644
index 0000000000..19129e315f
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/README.md b/deps/npm/node_modules/nopt/node_modules/osenv/README.md
new file mode 100644
index 0000000000..3935519cc2
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/README.md
@@ -0,0 +1,63 @@
+# osenv
+
+Look up environment settings specific to different operating systems.
+
+## Usage
+
+```javascript
+var osenv = require('osenv')
+var path = osenv.path()
+var user = osenv.user()
+// etc.
+
+// Some things are not reliably in the env, and have a fallback command:
+var h = osenv.hostname(function (er, hostname) {
+ h = hostname
+})
+// This will still cause it to be memoized, so calling osenv.hostname()
+// is now an immediate operation.
+
+// You can always send a cb, which will get called in the nextTick
+// if it's been memoized, or wait for the fallback data if it wasn't
+// found in the environment.
+osenv.hostname(function (er, hostname) {
+ if (er) console.error('error looking up hostname')
+ else console.log('this machine calls itself %s', hostname)
+})
+```
+
+## osenv.hostname()
+
+The machine name. Calls `hostname` if not found.
+
+## osenv.user()
+
+The currently logged-in user. Calls `whoami` if not found.
+
+## osenv.prompt()
+
+Either PS1 on unix, or PROMPT on Windows.
+
+## osenv.tmpdir()
+
+The place where temporary files should be created.
+
+## osenv.home()
+
+No place like it.
+
+## osenv.path()
+
+An array of the places that the operating system will search for
+executables.
+
+## osenv.editor()
+
+Return the executable name of the editor program. This uses the EDITOR
+and VISUAL environment variables, and falls back to `vi` on Unix, or
+`notepad.exe` on Windows.
+
+## osenv.shell()
+
+The SHELL on Unix, which Windows calls the ComSpec. Defaults to 'bash'
+or 'cmd'.
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/index.js b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/index.js
new file mode 100644
index 0000000000..33066166fe
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/index.js
@@ -0,0 +1,24 @@
+'use strict';
+var os = require('os');
+
+function homedir() {
+ var env = process.env;
+ var home = env.HOME;
+ var user = env.LOGNAME || env.USER || env.LNAME || env.USERNAME;
+
+ if (process.platform === 'win32') {
+ return env.USERPROFILE || env.HOMEDRIVE + env.HOMEPATH || home || null;
+ }
+
+ if (process.platform === 'darwin') {
+ return home || (user ? '/Users/' + user : null);
+ }
+
+ if (process.platform === 'linux') {
+ return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null));
+ }
+
+ return home || null;
+}
+
+module.exports = typeof os.homedir === 'function' ? os.homedir : homedir;
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/license b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/package.json b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/package.json
new file mode 100644
index 0000000000..e5b18d1c60
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/package.json
@@ -0,0 +1,109 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "os-homedir@^1.0.0",
+ "scope": null,
+ "escapedName": "os-homedir",
+ "name": "os-homedir",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/ogd/Documents/projects/npm/npm/node_modules/nopt/node_modules/osenv"
+ ]
+ ],
+ "_from": "os-homedir@>=1.0.0 <2.0.0",
+ "_id": "os-homedir@1.0.2",
+ "_inCache": true,
+ "_location": "/nopt/osenv/os-homedir",
+ "_nodeVersion": "6.6.0",
+ "_npmOperationalInternal": {
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/os-homedir-1.0.2.tgz_1475211519628_0.7873868853785098"
+ },
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "_npmVersion": "3.10.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "os-homedir@^1.0.0",
+ "scope": null,
+ "escapedName": "os-homedir",
+ "name": "os-homedir",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/nopt/osenv"
+ ],
+ "_resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "_shasum": "ffbc4988336e0e833de0c168c7ef152121aa7fb3",
+ "_shrinkwrap": null,
+ "_spec": "os-homedir@^1.0.0",
+ "_where": "/Users/ogd/Documents/projects/npm/npm/node_modules/nopt/node_modules/osenv",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/os-homedir/issues"
+ },
+ "dependencies": {},
+ "description": "Node.js 4 `os.homedir()` ponyfill",
+ "devDependencies": {
+ "ava": "*",
+ "path-exists": "^2.0.0",
+ "xo": "^0.16.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "ffbc4988336e0e833de0c168c7ef152121aa7fb3",
+ "tarball": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "b1b0ae70a5965fef7005ff6509a5dd1a78c95e36",
+ "homepage": "https://github.com/sindresorhus/os-homedir#readme",
+ "keywords": [
+ "builtin",
+ "core",
+ "ponyfill",
+ "polyfill",
+ "shim",
+ "os",
+ "homedir",
+ "home",
+ "dir",
+ "directory",
+ "folder",
+ "user",
+ "path"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "name": "os-homedir",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/os-homedir.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "1.0.2"
+}
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/readme.md b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/readme.md
new file mode 100644
index 0000000000..856ae615b0
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-homedir/readme.md
@@ -0,0 +1,31 @@
+# os-homedir [![Build Status](https://travis-ci.org/sindresorhus/os-homedir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-homedir)
+
+> Node.js 4 [`os.homedir()`](https://nodejs.org/api/os.html#os_os_homedir) [ponyfill](https://ponyfill.com)
+
+
+## Install
+
+```
+$ npm install --save os-homedir
+```
+
+
+## Usage
+
+```js
+const osHomedir = require('os-homedir');
+
+console.log(osHomedir());
+//=> '/Users/sindresorhus'
+```
+
+
+## Related
+
+- [user-home](https://github.com/sindresorhus/user-home) - Same as this module but caches the result
+- [home-or-tmp](https://github.com/sindresorhus/home-or-tmp) - Get the user home directory with fallback to the system temp directory
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/index.js b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/index.js
new file mode 100644
index 0000000000..2077b1ce74
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/index.js
@@ -0,0 +1,25 @@
+'use strict';
+var isWindows = process.platform === 'win32';
+var trailingSlashRe = isWindows ? /[^:]\\$/ : /.\/$/;
+
+// https://github.com/nodejs/node/blob/3e7a14381497a3b73dda68d05b5130563cdab420/lib/os.js#L25-L43
+module.exports = function () {
+ var path;
+
+ if (isWindows) {
+ path = process.env.TEMP ||
+ process.env.TMP ||
+ (process.env.SystemRoot || process.env.windir) + '\\temp';
+ } else {
+ path = process.env.TMPDIR ||
+ process.env.TMP ||
+ process.env.TEMP ||
+ '/tmp';
+ }
+
+ if (trailingSlashRe.test(path)) {
+ path = path.slice(0, -1);
+ }
+
+ return path;
+};
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/license b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/package.json b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/package.json
new file mode 100644
index 0000000000..73ae4a3bd8
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/package.json
@@ -0,0 +1,109 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "os-tmpdir@^1.0.0",
+ "scope": null,
+ "escapedName": "os-tmpdir",
+ "name": "os-tmpdir",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/ogd/Documents/projects/npm/npm/node_modules/nopt/node_modules/osenv"
+ ]
+ ],
+ "_from": "os-tmpdir@>=1.0.0 <2.0.0",
+ "_id": "os-tmpdir@1.0.2",
+ "_inCache": true,
+ "_location": "/nopt/osenv/os-tmpdir",
+ "_nodeVersion": "6.6.0",
+ "_npmOperationalInternal": {
+ "host": "packages-12-west.internal.npmjs.com",
+ "tmp": "tmp/os-tmpdir-1.0.2.tgz_1475211274587_0.14931037812493742"
+ },
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "_npmVersion": "3.10.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "os-tmpdir@^1.0.0",
+ "scope": null,
+ "escapedName": "os-tmpdir",
+ "name": "os-tmpdir",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/nopt/osenv"
+ ],
+ "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "_shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274",
+ "_shrinkwrap": null,
+ "_spec": "os-tmpdir@^1.0.0",
+ "_where": "/Users/ogd/Documents/projects/npm/npm/node_modules/nopt/node_modules/osenv",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/os-tmpdir/issues"
+ },
+ "dependencies": {},
+ "description": "Node.js os.tmpdir() ponyfill",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "^0.16.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274",
+ "tarball": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "1abf9cf5611b4be7377060ea67054b45cbf6813c",
+ "homepage": "https://github.com/sindresorhus/os-tmpdir#readme",
+ "keywords": [
+ "built-in",
+ "core",
+ "ponyfill",
+ "polyfill",
+ "shim",
+ "os",
+ "tmpdir",
+ "tempdir",
+ "tmp",
+ "temp",
+ "dir",
+ "directory",
+ "env",
+ "environment"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "name": "os-tmpdir",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/os-tmpdir.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "1.0.2"
+}
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/readme.md b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/readme.md
new file mode 100644
index 0000000000..c09f7ed8d5
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/node_modules/os-tmpdir/readme.md
@@ -0,0 +1,32 @@
+# os-tmpdir [![Build Status](https://travis-ci.org/sindresorhus/os-tmpdir.svg?branch=master)](https://travis-ci.org/sindresorhus/os-tmpdir)
+
+> Node.js [`os.tmpdir()`](https://nodejs.org/api/os.html#os_os_tmpdir) [ponyfill](https://ponyfill.com)
+
+Use this instead of `require('os').tmpdir()` to get a consistent behavior on different Node.js versions (even 0.8).
+
+
+## Install
+
+```
+$ npm install --save os-tmpdir
+```
+
+
+## Usage
+
+```js
+const osTmpdir = require('os-tmpdir');
+
+osTmpdir();
+//=> '/var/folders/m3/5574nnhn0yj488ccryqr7tc80000gn/T'
+```
+
+
+## API
+
+See the [`os.tmpdir()` docs](https://nodejs.org/api/os.html#os_os_tmpdir).
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/osenv.js b/deps/npm/node_modules/nopt/node_modules/osenv/osenv.js
new file mode 100644
index 0000000000..702a95b98a
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/osenv.js
@@ -0,0 +1,72 @@
+var isWindows = process.platform === 'win32'
+var path = require('path')
+var exec = require('child_process').exec
+var osTmpdir = require('os-tmpdir')
+var osHomedir = require('os-homedir')
+
+// looking up envs is a bit costly.
+// Also, sometimes we want to have a fallback
+// Pass in a callback to wait for the fallback on failures
+// After the first lookup, always returns the same thing.
+function memo (key, lookup, fallback) {
+ var fell = false
+ var falling = false
+ exports[key] = function (cb) {
+ var val = lookup()
+ if (!val && !fell && !falling && fallback) {
+ fell = true
+ falling = true
+ exec(fallback, function (er, output, stderr) {
+ falling = false
+ if (er) return // oh well, we tried
+ val = output.trim()
+ })
+ }
+ exports[key] = function (cb) {
+ if (cb) process.nextTick(cb.bind(null, null, val))
+ return val
+ }
+ if (cb && !falling) process.nextTick(cb.bind(null, null, val))
+ return val
+ }
+}
+
+memo('user', function () {
+ return ( isWindows
+ ? process.env.USERDOMAIN + '\\' + process.env.USERNAME
+ : process.env.USER
+ )
+}, 'whoami')
+
+memo('prompt', function () {
+ return isWindows ? process.env.PROMPT : process.env.PS1
+})
+
+memo('hostname', function () {
+ return isWindows ? process.env.COMPUTERNAME : process.env.HOSTNAME
+}, 'hostname')
+
+memo('tmpdir', function () {
+ return osTmpdir()
+})
+
+memo('home', function () {
+ return osHomedir()
+})
+
+memo('path', function () {
+ return (process.env.PATH ||
+ process.env.Path ||
+ process.env.path).split(isWindows ? ';' : ':')
+})
+
+memo('editor', function () {
+ return process.env.EDITOR ||
+ process.env.VISUAL ||
+ (isWindows ? 'notepad.exe' : 'vi')
+})
+
+memo('shell', function () {
+ return isWindows ? process.env.ComSpec || 'cmd'
+ : process.env.SHELL || 'bash'
+})
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/package.json b/deps/npm/node_modules/nopt/node_modules/osenv/package.json
new file mode 100644
index 0000000000..002d5ff062
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/package.json
@@ -0,0 +1,113 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "osenv@^0.1.4",
+ "scope": null,
+ "escapedName": "osenv",
+ "name": "osenv",
+ "rawSpec": "^0.1.4",
+ "spec": ">=0.1.4 <0.2.0",
+ "type": "range"
+ },
+ "/Users/ogd/Documents/projects/npm/npm/node_modules/nopt"
+ ]
+ ],
+ "_from": "osenv@>=0.1.4 <0.2.0",
+ "_id": "osenv@0.1.4",
+ "_inCache": true,
+ "_location": "/nopt/osenv",
+ "_nodeVersion": "6.5.0",
+ "_npmOperationalInternal": {
+ "host": "packages-18-east.internal.npmjs.com",
+ "tmp": "tmp/osenv-0.1.4.tgz_1481655889868_0.3980878754518926"
+ },
+ "_npmUser": {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ },
+ "_npmVersion": "3.10.9",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "osenv@^0.1.4",
+ "scope": null,
+ "escapedName": "osenv",
+ "name": "osenv",
+ "rawSpec": "^0.1.4",
+ "spec": ">=0.1.4 <0.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/nopt"
+ ],
+ "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
+ "_shasum": "42fe6d5953df06c8064be6f176c3d05aaaa34644",
+ "_shrinkwrap": null,
+ "_spec": "osenv@^0.1.4",
+ "_where": "/Users/ogd/Documents/projects/npm/npm/node_modules/nopt",
+ "author": {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/osenv/issues"
+ },
+ "dependencies": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ },
+ "description": "Look up environment settings specific to different operating systems",
+ "devDependencies": {
+ "tap": "^8.0.1"
+ },
+ "directories": {
+ "test": "test"
+ },
+ "dist": {
+ "shasum": "42fe6d5953df06c8064be6f176c3d05aaaa34644",
+ "tarball": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz"
+ },
+ "gitHead": "ef718f0d20e38d45ec452b7faeefc692d3cd1062",
+ "homepage": "https://github.com/npm/osenv#readme",
+ "keywords": [
+ "environment",
+ "variable",
+ "home",
+ "tmpdir",
+ "path",
+ "prompt",
+ "ps1"
+ ],
+ "license": "ISC",
+ "main": "osenv.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ },
+ {
+ "name": "robertkowalski",
+ "email": "rok@kowalski.gd"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "osenv",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/osenv.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "0.1.4"
+}
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/test/unix.js b/deps/npm/node_modules/nopt/node_modules/osenv/test/unix.js
new file mode 100644
index 0000000000..94d4aaafb4
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/test/unix.js
@@ -0,0 +1,71 @@
+// only run this test on windows
+// pretending to be another platform is too hacky, since it breaks
+// how the underlying system looks up module paths and runs
+// child processes, and all that stuff is cached.
+var tap = require('tap')
+
+
+if (process.platform === 'win32') {
+ tap.plan(0, 'Skip unix tests, this is not unix')
+ process.exit(0)
+}
+
+// like unix, but funny
+process.env.USER = 'sirUser'
+process.env.HOME = '/home/sirUser'
+process.env.HOSTNAME = 'my-machine'
+process.env.TMPDIR = '/tmpdir'
+process.env.TMP = '/tmp'
+process.env.TEMP = '/temp'
+process.env.PATH = '/opt/local/bin:/usr/local/bin:/usr/bin/:bin'
+process.env.PS1 = '(o_o) $ '
+process.env.EDITOR = 'edit'
+process.env.VISUAL = 'visualedit'
+process.env.SHELL = 'zsh'
+
+tap.test('basic unix sanity test', function (t) {
+ var osenv = require('../osenv.js')
+
+ t.equal(osenv.user(), process.env.USER)
+ t.equal(osenv.home(), process.env.HOME)
+ t.equal(osenv.hostname(), process.env.HOSTNAME)
+ t.same(osenv.path(), process.env.PATH.split(':'))
+ t.equal(osenv.prompt(), process.env.PS1)
+ t.equal(osenv.tmpdir(), process.env.TMPDIR)
+
+ // mildly evil, but it's for a test.
+ process.env.TMPDIR = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.tmpdir(), process.env.TMP)
+
+ process.env.TMP = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.tmpdir(), process.env.TEMP)
+
+ process.env.TEMP = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ osenv.home = function () { return null }
+ t.equal(osenv.tmpdir(), '/tmp')
+
+ t.equal(osenv.editor(), 'edit')
+ process.env.EDITOR = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.editor(), 'visualedit')
+
+ process.env.VISUAL = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.editor(), 'vi')
+
+ t.equal(osenv.shell(), 'zsh')
+ process.env.SHELL = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.shell(), 'bash')
+
+ t.end()
+})
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/test/windows.js b/deps/npm/node_modules/nopt/node_modules/osenv/test/windows.js
new file mode 100644
index 0000000000..c9d837a32d
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/test/windows.js
@@ -0,0 +1,74 @@
+// only run this test on windows
+// pretending to be another platform is too hacky, since it breaks
+// how the underlying system looks up module paths and runs
+// child processes, and all that stuff is cached.
+if (process.platform !== 'win32') {
+ console.log('TAP version 13\n' +
+ '1..0 # Skip windows tests, this is not windows\n')
+ return
+}
+
+// load this before clubbing the platform name.
+var tap = require('tap')
+
+process.env.windir = 'c:\\windows'
+process.env.USERDOMAIN = 'some-domain'
+process.env.USERNAME = 'sirUser'
+process.env.USERPROFILE = 'C:\\Users\\sirUser'
+process.env.COMPUTERNAME = 'my-machine'
+process.env.TMPDIR = 'C:\\tmpdir'
+process.env.TMP = 'C:\\tmp'
+process.env.TEMP = 'C:\\temp'
+process.env.Path = 'C:\\Program Files\\;C:\\Binary Stuff\\bin'
+process.env.PROMPT = '(o_o) $ '
+process.env.EDITOR = 'edit'
+process.env.VISUAL = 'visualedit'
+process.env.ComSpec = 'some-com'
+
+tap.test('basic windows sanity test', function (t) {
+ var osenv = require('../osenv.js')
+
+ t.equal(osenv.user(),
+ process.env.USERDOMAIN + '\\' + process.env.USERNAME)
+ t.equal(osenv.home(), process.env.USERPROFILE)
+ t.equal(osenv.hostname(), process.env.COMPUTERNAME)
+ t.same(osenv.path(), process.env.Path.split(';'))
+ t.equal(osenv.prompt(), process.env.PROMPT)
+ t.equal(osenv.tmpdir(), process.env.TMPDIR)
+
+ // mildly evil, but it's for a test.
+ process.env.TMPDIR = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.tmpdir(), process.env.TMP)
+
+ process.env.TMP = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.tmpdir(), process.env.TEMP)
+
+ process.env.TEMP = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ osenv.home = function () { return null }
+ t.equal(osenv.tmpdir(), 'c:\\windows\\temp')
+
+ t.equal(osenv.editor(), 'edit')
+ process.env.EDITOR = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.editor(), 'visualedit')
+
+ process.env.VISUAL = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.editor(), 'notepad.exe')
+
+ t.equal(osenv.shell(), 'some-com')
+ process.env.ComSpec = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.shell(), 'cmd')
+
+ t.end()
+})
diff --git a/deps/npm/node_modules/nopt/node_modules/osenv/x.tap b/deps/npm/node_modules/nopt/node_modules/osenv/x.tap
new file mode 100644
index 0000000000..90d8472087
--- /dev/null
+++ b/deps/npm/node_modules/nopt/node_modules/osenv/x.tap
@@ -0,0 +1,39 @@
+TAP version 13
+ # Subtest: test/unix.js
+ TAP version 13
+ # Subtest: basic unix sanity test
+ ok 1 - should be equal
+ ok 2 - should be equal
+ ok 3 - should be equal
+ ok 4 - should be equivalent
+ ok 5 - should be equal
+ ok 6 - should be equal
+ ok 7 - should be equal
+ ok 8 - should be equal
+ ok 9 - should be equal
+ ok 10 - should be equal
+ ok 11 - should be equal
+ ok 12 - should be equal
+ ok 13 - should be equal
+ ok 14 - should be equal
+ 1..14
+ ok 1 - basic unix sanity test # time=10.712ms
+
+ 1..1
+ # time=18.422ms
+ok 1 - test/unix.js # time=169.827ms
+
+ # Subtest: test/windows.js
+ TAP version 13
+ 1..0 # Skip windows tests, this is not windows
+
+ok 2 - test/windows.js # SKIP Skip windows tests, this is not windows
+
+ # Subtest: test/nada.js
+ TAP version 13
+ 1..0
+
+ok 2 - test/nada.js
+
+1..3
+# time=274.247ms
diff --git a/deps/npm/node_modules/nopt/package.json b/deps/npm/node_modules/nopt/package.json
index ada51ba4bf..c29a2ad44c 100644
--- a/deps/npm/node_modules/nopt/package.json
+++ b/deps/npm/node_modules/nopt/package.json
@@ -1,44 +1,54 @@
{
"_args": [
[
- "nopt@~3.0.6",
- "/Users/ogd/Documents/projects/npm/npm"
+ {
+ "raw": "nopt@4.0.1",
+ "scope": null,
+ "escapedName": "nopt",
+ "name": "nopt",
+ "rawSpec": "4.0.1",
+ "spec": "4.0.1",
+ "type": "version"
+ },
+ "/Users/rebecca/code/npm"
]
],
- "_from": "nopt@>=3.0.6 <3.1.0",
- "_id": "nopt@3.0.6",
+ "_from": "nopt@4.0.1",
+ "_id": "nopt@4.0.1",
"_inCache": true,
- "_installable": true,
"_location": "/nopt",
- "_nodeVersion": "4.2.1",
+ "_nodeVersion": "7.2.0",
+ "_npmOperationalInternal": {
+ "host": "packages-12-west.internal.npmjs.com",
+ "tmp": "tmp/nopt-4.0.1.tgz_1481739985863_0.18861285015009344"
+ },
"_npmUser": {
- "email": "ogd@aoaioxxysz.net",
- "name": "othiym23"
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
},
- "_npmVersion": "2.14.10",
+ "_npmVersion": "4.0.5",
"_phantomChildren": {},
"_requested": {
- "name": "nopt",
- "raw": "nopt@~3.0.6",
- "rawSpec": "~3.0.6",
+ "raw": "nopt@4.0.1",
"scope": null,
- "spec": ">=3.0.6 <3.1.0",
- "type": "range"
+ "escapedName": "nopt",
+ "name": "nopt",
+ "rawSpec": "4.0.1",
+ "spec": "4.0.1",
+ "type": "version"
},
"_requiredBy": [
- "/",
- "/node-gyp",
- "/standard/standard-format/esformatter-jsx/js-beautify",
- "/tap/nyc/istanbul"
+ "#USER",
+ "/"
],
- "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "_shasum": "c6465dbf08abcd4db359317f79ac68a646b28ff9",
+ "_resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "_shasum": "d0d4685afd5415193c8c7505602d0d17cd64474d",
"_shrinkwrap": null,
- "_spec": "nopt@~3.0.6",
- "_where": "/Users/ogd/Documents/projects/npm/npm",
+ "_spec": "nopt@4.0.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "email": "i@izs.me",
"name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
"url": "http://blog.izs.me/"
},
"bin": {
@@ -48,18 +58,19 @@
"url": "https://github.com/npm/nopt/issues"
},
"dependencies": {
- "abbrev": "1"
+ "abbrev": "1",
+ "osenv": "^0.1.4"
},
"description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
"devDependencies": {
- "tap": "^1.2.0"
+ "tap": "^8.0.1"
},
"directories": {},
"dist": {
- "shasum": "c6465dbf08abcd4db359317f79ac68a646b28ff9",
- "tarball": "http://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz"
+ "shasum": "d0d4685afd5415193c8c7505602d0d17cd64474d",
+ "tarball": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz"
},
- "gitHead": "10a750c9bb99c1950160353459e733ac2aa18cb6",
+ "gitHead": "24921187dc52825d628042c9708bbd8e8734698c",
"homepage": "https://github.com/npm/nopt#readme",
"license": "ISC",
"main": "lib/nopt.js",
@@ -87,5 +98,5 @@
"scripts": {
"test": "tap test/*.js"
},
- "version": "3.0.6"
+ "version": "4.0.1"
}
diff --git a/deps/npm/node_modules/nopt/test/basic.js b/deps/npm/node_modules/nopt/test/basic.js
index 17fb286951..5c18ac0fc6 100644
--- a/deps/npm/node_modules/nopt/test/basic.js
+++ b/deps/npm/node_modules/nopt/test/basic.js
@@ -1,6 +1,6 @@
var nopt = require("../")
, test = require('tap').test
-
+ , isWin = process.platform === 'win32'
test("passing a string results in a string", function (t) {
var parsed = nopt({ key: String }, {}, ["--key", "myvalue"], 0)
@@ -15,11 +15,41 @@ test("Empty String results in empty string, not true", function (t) {
t.end()
})
-test("~ path is resolved to $HOME", function (t) {
+// https://github.com/npm/nopt/issues/65
+test("Empty String should not swallow next flag", function (t) {
+ var parsed = nopt({ empty: String, foo: String }, {}, ["--empty", "--foo"], 0)
+ t.same(parsed.empty, "")
+ t.same(parsed.foo, "")
+ t.end()
+})
+
+// https://github.com/npm/nopt/issues/66
+test("Empty String should not be true when type is single item Array", function (t) {
+ var parsed = nopt({ 'foo': [String] }, {}, ["--foo"], 0)
+ t.same(parsed.foo, "")
+ t.end()
+})
+
+test("~ path is resolved to " + (isWin ? '%USERPROFILE%' : '$HOME'), function (t) {
var path = require("path")
- if (!process.env.HOME) process.env.HOME = "/tmp"
- var parsed = nopt({key: path}, {}, ["--key=~/val"], 0)
- t.same(parsed.key, path.resolve(process.env.HOME, "val"))
+ , the
+
+ if (isWin) {
+ the = {
+ key: 'USERPROFILE',
+ dir: 'C:\\temp',
+ val: '~\\val'
+ }
+ } else {
+ the = {
+ key: 'HOME',
+ dir: '/tmp',
+ val: '~/val'
+ }
+ }
+ if (!process.env[the.key]) process.env[the.key] = v.dir
+ var parsed = nopt({key: path}, {}, ["--key=" + the.val], 0)
+ t.same(parsed.key, path.resolve(process.env[the.key], "val"))
t.end()
})
@@ -106,6 +136,8 @@ test("other tests", function (t) {
, loglevel : ["silent","win","error","warn","info","verbose","silly"]
, long : Boolean
, "node-version" : [false, String]
+ , npaturl : url
+ , npat : Boolean
, "onload-script" : [false, String]
, outfd : [Number, Stream]
, parseable : Boolean
@@ -146,7 +178,7 @@ test("other tests", function (t) {
,["--color --logfd 7", {logfd:7,color:true}, []]
,["--color=true", {color:true}, []]
,["--logfd=10", {logfd:10}, []]
- ,["--tmp=/tmp -tar=gtar",{tmp:"/tmp",tar:"gtar"},[]]
+ ,["--tmp=/tmp -tar=gtar", {tmp: isWin ? "C:\\tmp" : "/tmp",tar:"gtar"},[]]
,["--tmp=tmp -tar=gtar",
{tmp:path.resolve(process.cwd(), "tmp"),tar:"gtar"},[]]
,["--logfd x", {}, []]