Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarcy Clarke <darcy@darcyclarke.me>2020-03-18 19:08:12 +0300
committerDarcy Clarke <darcy@darcyclarke.me>2020-03-18 19:08:22 +0300
commite111676467f090f73802b97e8da7ece481b18f99 (patch)
treed0b97c53974af78d6cbedb4cfb2dbd499a5ed0bf /node_modules
parentd9a7b30f6afc0419ad4939bfb478ca8a589e769f (diff)
mkdirp@0.5.3
Diffstat (limited to 'node_modules')
-rw-r--r--node_modules/.gitignore1
-rw-r--r--node_modules/mkdirp/examples/pow.js6
-rw-r--r--node_modules/mkdirp/node_modules/minimist/.travis.yml (renamed from node_modules/mkdirp/.travis.yml)0
-rw-r--r--node_modules/mkdirp/node_modules/minimist/LICENSE18
-rw-r--r--node_modules/mkdirp/node_modules/minimist/example/parse.js2
-rw-r--r--node_modules/mkdirp/node_modules/minimist/index.js245
-rw-r--r--node_modules/mkdirp/node_modules/minimist/package.json73
-rw-r--r--node_modules/mkdirp/node_modules/minimist/readme.markdown95
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/all_bool.js32
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/bool.js178
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/dash.js31
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/default_bool.js35
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/dotted.js22
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/kv_short.js16
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/long.js31
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/num.js36
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/parse.js197
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/parse_modified.js9
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/proto.js44
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/short.js67
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/stop_early.js15
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/unknown.js102
-rw-r--r--node_modules/mkdirp/node_modules/minimist/test/whitespace.js8
-rw-r--r--node_modules/mkdirp/package.json49
-rw-r--r--node_modules/mkdirp/test/chmod.js41
-rw-r--r--node_modules/mkdirp/test/clobber.js38
-rw-r--r--node_modules/mkdirp/test/mkdirp.js28
-rw-r--r--node_modules/mkdirp/test/opts_fs.js29
-rw-r--r--node_modules/mkdirp/test/opts_fs_sync.js27
-rw-r--r--node_modules/mkdirp/test/perm.js32
-rw-r--r--node_modules/mkdirp/test/perm_sync.js36
-rw-r--r--node_modules/mkdirp/test/race.js37
-rw-r--r--node_modules/mkdirp/test/rel.js32
-rw-r--r--node_modules/mkdirp/test/return.js25
-rw-r--r--node_modules/mkdirp/test/return_sync.js24
-rw-r--r--node_modules/mkdirp/test/root.js19
-rw-r--r--node_modules/mkdirp/test/sync.js32
-rw-r--r--node_modules/mkdirp/test/umask.js28
-rw-r--r--node_modules/mkdirp/test/umask_sync.js32
39 files changed, 1283 insertions, 489 deletions
diff --git a/node_modules/.gitignore b/node_modules/.gitignore
index fa76105d9..0b19045db 100644
--- a/node_modules/.gitignore
+++ b/node_modules/.gitignore
@@ -139,6 +139,7 @@
/marked-man
/merge-source-map
/mimic-fn
+/minimist
/minipass
/nano
/natural-compare
diff --git a/node_modules/mkdirp/examples/pow.js b/node_modules/mkdirp/examples/pow.js
deleted file mode 100644
index e6924212e..000000000
--- a/node_modules/mkdirp/examples/pow.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var mkdirp = require('mkdirp');
-
-mkdirp('/tmp/foo/bar/baz', function (err) {
- if (err) console.error(err)
- else console.log('pow!')
-});
diff --git a/node_modules/mkdirp/.travis.yml b/node_modules/mkdirp/node_modules/minimist/.travis.yml
index 74c57bf15..74c57bf15 100644
--- a/node_modules/mkdirp/.travis.yml
+++ b/node_modules/mkdirp/node_modules/minimist/.travis.yml
diff --git a/node_modules/mkdirp/node_modules/minimist/LICENSE b/node_modules/mkdirp/node_modules/minimist/LICENSE
new file mode 100644
index 000000000..ee27ba4b4
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/LICENSE
@@ -0,0 +1,18 @@
+This software is released under the MIT license:
+
+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/node_modules/mkdirp/node_modules/minimist/example/parse.js b/node_modules/mkdirp/node_modules/minimist/example/parse.js
new file mode 100644
index 000000000..f7c8d4980
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/example/parse.js
@@ -0,0 +1,2 @@
+var argv = require('../')(process.argv.slice(2));
+console.log(argv);
diff --git a/node_modules/mkdirp/node_modules/minimist/index.js b/node_modules/mkdirp/node_modules/minimist/index.js
new file mode 100644
index 000000000..d2afe5e4d
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/index.js
@@ -0,0 +1,245 @@
+module.exports = function (args, opts) {
+ if (!opts) opts = {};
+
+ var flags = { bools : {}, strings : {}, unknownFn: null };
+
+ if (typeof opts['unknown'] === 'function') {
+ flags.unknownFn = opts['unknown'];
+ }
+
+ if (typeof opts['boolean'] === 'boolean' && opts['boolean']) {
+ flags.allBools = true;
+ } else {
+ [].concat(opts['boolean']).filter(Boolean).forEach(function (key) {
+ flags.bools[key] = true;
+ });
+ }
+
+ var aliases = {};
+ Object.keys(opts.alias || {}).forEach(function (key) {
+ aliases[key] = [].concat(opts.alias[key]);
+ aliases[key].forEach(function (x) {
+ aliases[x] = [key].concat(aliases[key].filter(function (y) {
+ return x !== y;
+ }));
+ });
+ });
+
+ [].concat(opts.string).filter(Boolean).forEach(function (key) {
+ flags.strings[key] = true;
+ if (aliases[key]) {
+ flags.strings[aliases[key]] = true;
+ }
+ });
+
+ var defaults = opts['default'] || {};
+
+ var argv = { _ : [] };
+ Object.keys(flags.bools).forEach(function (key) {
+ setArg(key, defaults[key] === undefined ? false : defaults[key]);
+ });
+
+ var notFlags = [];
+
+ if (args.indexOf('--') !== -1) {
+ notFlags = args.slice(args.indexOf('--')+1);
+ args = args.slice(0, args.indexOf('--'));
+ }
+
+ function argDefined(key, arg) {
+ return (flags.allBools && /^--[^=]+$/.test(arg)) ||
+ flags.strings[key] || flags.bools[key] || aliases[key];
+ }
+
+ function setArg (key, val, arg) {
+ if (arg && flags.unknownFn && !argDefined(key, arg)) {
+ if (flags.unknownFn(arg) === false) return;
+ }
+
+ var value = !flags.strings[key] && isNumber(val)
+ ? Number(val) : val
+ ;
+ setKey(argv, key.split('.'), value);
+
+ (aliases[key] || []).forEach(function (x) {
+ setKey(argv, x.split('.'), value);
+ });
+ }
+
+ function setKey (obj, keys, value) {
+ var o = obj;
+ for (var i = 0; i < keys.length-1; i++) {
+ var key = keys[i];
+ if (key === '__proto__') return;
+ if (o[key] === undefined) o[key] = {};
+ if (o[key] === Object.prototype || o[key] === Number.prototype
+ || o[key] === String.prototype) o[key] = {};
+ if (o[key] === Array.prototype) o[key] = [];
+ o = o[key];
+ }
+
+ var key = keys[keys.length - 1];
+ if (key === '__proto__') return;
+ if (o === Object.prototype || o === Number.prototype
+ || o === String.prototype) o = {};
+ if (o === Array.prototype) o = [];
+ if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') {
+ o[key] = value;
+ }
+ else if (Array.isArray(o[key])) {
+ o[key].push(value);
+ }
+ else {
+ o[key] = [ o[key], value ];
+ }
+ }
+
+ function aliasIsBoolean(key) {
+ return aliases[key].some(function (x) {
+ return flags.bools[x];
+ });
+ }
+
+ for (var i = 0; i < args.length; i++) {
+ var arg = args[i];
+
+ if (/^--.+=/.test(arg)) {
+ // Using [\s\S] instead of . because js doesn't support the
+ // 'dotall' regex modifier. See:
+ // http://stackoverflow.com/a/1068308/13216
+ var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
+ var key = m[1];
+ var value = m[2];
+ if (flags.bools[key]) {
+ value = value !== 'false';
+ }
+ setArg(key, value, arg);
+ }
+ else if (/^--no-.+/.test(arg)) {
+ var key = arg.match(/^--no-(.+)/)[1];
+ setArg(key, false, arg);
+ }
+ else if (/^--.+/.test(arg)) {
+ var key = arg.match(/^--(.+)/)[1];
+ var next = args[i + 1];
+ if (next !== undefined && !/^-/.test(next)
+ && !flags.bools[key]
+ && !flags.allBools
+ && (aliases[key] ? !aliasIsBoolean(key) : true)) {
+ setArg(key, next, arg);
+ i++;
+ }
+ else if (/^(true|false)$/.test(next)) {
+ setArg(key, next === 'true', arg);
+ i++;
+ }
+ else {
+ setArg(key, flags.strings[key] ? '' : true, arg);
+ }
+ }
+ else if (/^-[^-]+/.test(arg)) {
+ var letters = arg.slice(1,-1).split('');
+
+ var broken = false;
+ for (var j = 0; j < letters.length; j++) {
+ var next = arg.slice(j+2);
+
+ if (next === '-') {
+ setArg(letters[j], next, arg)
+ continue;
+ }
+
+ if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) {
+ setArg(letters[j], next.split('=')[1], arg);
+ broken = true;
+ break;
+ }
+
+ if (/[A-Za-z]/.test(letters[j])
+ && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
+ setArg(letters[j], next, arg);
+ broken = true;
+ break;
+ }
+
+ if (letters[j+1] && letters[j+1].match(/\W/)) {
+ setArg(letters[j], arg.slice(j+2), arg);
+ broken = true;
+ break;
+ }
+ else {
+ setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
+ }
+ }
+
+ var key = arg.slice(-1)[0];
+ if (!broken && key !== '-') {
+ if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1])
+ && !flags.bools[key]
+ && (aliases[key] ? !aliasIsBoolean(key) : true)) {
+ setArg(key, args[i+1], arg);
+ i++;
+ }
+ else if (args[i+1] && /^(true|false)$/.test(args[i+1])) {
+ setArg(key, args[i+1] === 'true', arg);
+ i++;
+ }
+ else {
+ setArg(key, flags.strings[key] ? '' : true, arg);
+ }
+ }
+ }
+ else {
+ if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
+ argv._.push(
+ flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)
+ );
+ }
+ if (opts.stopEarly) {
+ argv._.push.apply(argv._, args.slice(i + 1));
+ break;
+ }
+ }
+ }
+
+ Object.keys(defaults).forEach(function (key) {
+ if (!hasKey(argv, key.split('.'))) {
+ setKey(argv, key.split('.'), defaults[key]);
+
+ (aliases[key] || []).forEach(function (x) {
+ setKey(argv, x.split('.'), defaults[key]);
+ });
+ }
+ });
+
+ if (opts['--']) {
+ argv['--'] = new Array();
+ notFlags.forEach(function(key) {
+ argv['--'].push(key);
+ });
+ }
+ else {
+ notFlags.forEach(function(key) {
+ argv._.push(key);
+ });
+ }
+
+ return argv;
+};
+
+function hasKey (obj, keys) {
+ var o = obj;
+ keys.slice(0,-1).forEach(function (key) {
+ o = (o[key] || {});
+ });
+
+ var key = keys[keys.length - 1];
+ return key in o;
+}
+
+function isNumber (x) {
+ if (typeof x === 'number') return true;
+ if (/^0x[0-9a-f]+$/i.test(x)) return true;
+ return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
+}
+
diff --git a/node_modules/mkdirp/node_modules/minimist/package.json b/node_modules/mkdirp/node_modules/minimist/package.json
new file mode 100644
index 000000000..2846f6885
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/package.json
@@ -0,0 +1,73 @@
+{
+ "_from": "minimist@^1.2.5",
+ "_id": "minimist@1.2.5",
+ "_inBundle": false,
+ "_integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "_location": "/mkdirp/minimist",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "minimist@^1.2.5",
+ "name": "minimist",
+ "escapedName": "minimist",
+ "rawSpec": "^1.2.5",
+ "saveSpec": null,
+ "fetchSpec": "^1.2.5"
+ },
+ "_requiredBy": [
+ "/mkdirp"
+ ],
+ "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "_shasum": "67d66014b66a6a8aaa0c083c5fd58df4e4e97602",
+ "_spec": "minimist@^1.2.5",
+ "_where": "/Users/darcyclarke/Documents/Repos/npm/npm/cli/node_modules/mkdirp",
+ "author": {
+ "name": "James Halliday",
+ "email": "mail@substack.net",
+ "url": "http://substack.net"
+ },
+ "bugs": {
+ "url": "https://github.com/substack/minimist/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "parse argument options",
+ "devDependencies": {
+ "covert": "^1.0.0",
+ "tap": "~0.4.0",
+ "tape": "^3.5.0"
+ },
+ "homepage": "https://github.com/substack/minimist",
+ "keywords": [
+ "argv",
+ "getopt",
+ "parser",
+ "optimist"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "minimist",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/substack/minimist.git"
+ },
+ "scripts": {
+ "coverage": "covert test/*.js",
+ "test": "tap test/*.js"
+ },
+ "testling": {
+ "files": "test/*.js",
+ "browsers": [
+ "ie/6..latest",
+ "ff/5",
+ "firefox/latest",
+ "chrome/10",
+ "chrome/latest",
+ "safari/5.1",
+ "safari/latest",
+ "opera/12"
+ ]
+ },
+ "version": "1.2.5"
+}
diff --git a/node_modules/mkdirp/node_modules/minimist/readme.markdown b/node_modules/mkdirp/node_modules/minimist/readme.markdown
new file mode 100644
index 000000000..5fd97ab11
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/readme.markdown
@@ -0,0 +1,95 @@
+# minimist
+
+parse argument options
+
+This module is the guts of optimist's argument parser without all the
+fanciful decoration.
+
+# example
+
+``` js
+var argv = require('minimist')(process.argv.slice(2));
+console.log(argv);
+```
+
+```
+$ node example/parse.js -a beep -b boop
+{ _: [], a: 'beep', b: 'boop' }
+```
+
+```
+$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
+{ _: [ 'foo', 'bar', 'baz' ],
+ x: 3,
+ y: 4,
+ n: 5,
+ a: true,
+ b: true,
+ c: true,
+ beep: 'boop' }
+```
+
+# security
+
+Previous versions had a prototype pollution bug that could cause privilege
+escalation in some circumstances when handling untrusted user input.
+
+Please use version 1.2.3 or later: https://snyk.io/vuln/SNYK-JS-MINIMIST-559764
+
+# methods
+
+``` js
+var parseArgs = require('minimist')
+```
+
+## var argv = parseArgs(args, opts={})
+
+Return an argument object `argv` populated with the array arguments from `args`.
+
+`argv._` contains all the arguments that didn't have an option associated with
+them.
+
+Numeric-looking arguments will be returned as numbers unless `opts.string` or
+`opts.boolean` is set for that argument name.
+
+Any arguments after `'--'` will not be parsed and will end up in `argv._`.
+
+options can be:
+
+* `opts.string` - a string or array of strings argument names to always treat as
+strings
+* `opts.boolean` - a boolean, string or array of strings to always treat as
+booleans. if `true` will treat all double hyphenated arguments without equal signs
+as boolean (e.g. affects `--foo`, not `-f` or `--foo=bar`)
+* `opts.alias` - an object mapping string names to strings or arrays of string
+argument names to use as aliases
+* `opts.default` - an object mapping string argument names to default values
+* `opts.stopEarly` - when true, populate `argv._` with everything after the
+first non-option
+* `opts['--']` - when true, populate `argv._` with everything before the `--`
+and `argv['--']` with everything after the `--`. Here's an example:
+
+ ```
+ > require('./')('one two three -- four five --six'.split(' '), { '--': true })
+ { _: [ 'one', 'two', 'three' ],
+ '--': [ 'four', 'five', '--six' ] }
+ ```
+
+ Note that with `opts['--']` set, parsing for arguments still stops after the
+ `--`.
+
+* `opts.unknown` - a function which is invoked with a command line parameter not
+defined in the `opts` configuration object. If the function returns `false`, the
+unknown option is not added to `argv`.
+
+# install
+
+With [npm](https://npmjs.org) do:
+
+```
+npm install minimist
+```
+
+# license
+
+MIT
diff --git a/node_modules/mkdirp/node_modules/minimist/test/all_bool.js b/node_modules/mkdirp/node_modules/minimist/test/all_bool.js
new file mode 100644
index 000000000..ac835483d
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/all_bool.js
@@ -0,0 +1,32 @@
+var parse = require('../');
+var test = require('tape');
+
+test('flag boolean true (default all --args to boolean)', function (t) {
+ var argv = parse(['moo', '--honk', 'cow'], {
+ boolean: true
+ });
+
+ t.deepEqual(argv, {
+ honk: true,
+ _: ['moo', 'cow']
+ });
+
+ t.deepEqual(typeof argv.honk, 'boolean');
+ t.end();
+});
+
+test('flag boolean true only affects double hyphen arguments without equals signs', function (t) {
+ var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], {
+ boolean: true
+ });
+
+ t.deepEqual(argv, {
+ honk: true,
+ tacos: 'good',
+ p: 55,
+ _: ['moo', 'cow']
+ });
+
+ t.deepEqual(typeof argv.honk, 'boolean');
+ t.end();
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/bool.js b/node_modules/mkdirp/node_modules/minimist/test/bool.js
new file mode 100644
index 000000000..5f7dbde16
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/bool.js
@@ -0,0 +1,178 @@
+var parse = require('../');
+var test = require('tape');
+
+test('flag boolean default false', function (t) {
+ var argv = parse(['moo'], {
+ boolean: ['t', 'verbose'],
+ default: { verbose: false, t: false }
+ });
+
+ t.deepEqual(argv, {
+ verbose: false,
+ t: false,
+ _: ['moo']
+ });
+
+ t.deepEqual(typeof argv.verbose, 'boolean');
+ t.deepEqual(typeof argv.t, 'boolean');
+ t.end();
+
+});
+
+test('boolean groups', function (t) {
+ var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], {
+ boolean: ['x','y','z']
+ });
+
+ t.deepEqual(argv, {
+ x : true,
+ y : false,
+ z : true,
+ _ : [ 'one', 'two', 'three' ]
+ });
+
+ t.deepEqual(typeof argv.x, 'boolean');
+ t.deepEqual(typeof argv.y, 'boolean');
+ t.deepEqual(typeof argv.z, 'boolean');
+ t.end();
+});
+test('boolean and alias with chainable api', function (t) {
+ var aliased = [ '-h', 'derp' ];
+ var regular = [ '--herp', 'derp' ];
+ var opts = {
+ herp: { alias: 'h', boolean: true }
+ };
+ var aliasedArgv = parse(aliased, {
+ boolean: 'herp',
+ alias: { h: 'herp' }
+ });
+ var propertyArgv = parse(regular, {
+ boolean: 'herp',
+ alias: { h: 'herp' }
+ });
+ var expected = {
+ herp: true,
+ h: true,
+ '_': [ 'derp' ]
+ };
+
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.end();
+});
+
+test('boolean and alias with options hash', function (t) {
+ var aliased = [ '-h', 'derp' ];
+ var regular = [ '--herp', 'derp' ];
+ var opts = {
+ alias: { 'h': 'herp' },
+ boolean: 'herp'
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+ var expected = {
+ herp: true,
+ h: true,
+ '_': [ 'derp' ]
+ };
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.end();
+});
+
+test('boolean and alias array with options hash', function (t) {
+ var aliased = [ '-h', 'derp' ];
+ var regular = [ '--herp', 'derp' ];
+ var alt = [ '--harp', 'derp' ];
+ var opts = {
+ alias: { 'h': ['herp', 'harp'] },
+ boolean: 'h'
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+ var altPropertyArgv = parse(alt, opts);
+ var expected = {
+ harp: true,
+ herp: true,
+ h: true,
+ '_': [ 'derp' ]
+ };
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.same(altPropertyArgv, expected);
+ t.end();
+});
+
+test('boolean and alias using explicit true', function (t) {
+ var aliased = [ '-h', 'true' ];
+ var regular = [ '--herp', 'true' ];
+ var opts = {
+ alias: { h: 'herp' },
+ boolean: 'h'
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+ var expected = {
+ herp: true,
+ h: true,
+ '_': [ ]
+ };
+
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.end();
+});
+
+// regression, see https://github.com/substack/node-optimist/issues/71
+test('boolean and --x=true', function(t) {
+ var parsed = parse(['--boool', '--other=true'], {
+ boolean: 'boool'
+ });
+
+ t.same(parsed.boool, true);
+ t.same(parsed.other, 'true');
+
+ parsed = parse(['--boool', '--other=false'], {
+ boolean: 'boool'
+ });
+
+ t.same(parsed.boool, true);
+ t.same(parsed.other, 'false');
+ t.end();
+});
+
+test('boolean --boool=true', function (t) {
+ var parsed = parse(['--boool=true'], {
+ default: {
+ boool: false
+ },
+ boolean: ['boool']
+ });
+
+ t.same(parsed.boool, true);
+ t.end();
+});
+
+test('boolean --boool=false', function (t) {
+ var parsed = parse(['--boool=false'], {
+ default: {
+ boool: true
+ },
+ boolean: ['boool']
+ });
+
+ t.same(parsed.boool, false);
+ t.end();
+});
+
+test('boolean using something similar to true', function (t) {
+ var opts = { boolean: 'h' };
+ var result = parse(['-h', 'true.txt'], opts);
+ var expected = {
+ h: true,
+ '_': ['true.txt']
+ };
+
+ t.same(result, expected);
+ t.end();
+}); \ No newline at end of file
diff --git a/node_modules/mkdirp/node_modules/minimist/test/dash.js b/node_modules/mkdirp/node_modules/minimist/test/dash.js
new file mode 100644
index 000000000..5a4fa5be4
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/dash.js
@@ -0,0 +1,31 @@
+var parse = require('../');
+var test = require('tape');
+
+test('-', function (t) {
+ t.plan(5);
+ t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] });
+ t.deepEqual(parse([ '-' ]), { _: [ '-' ] });
+ t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] });
+ t.deepEqual(
+ parse([ '-b', '-' ], { boolean: 'b' }),
+ { b: true, _: [ '-' ] }
+ );
+ t.deepEqual(
+ parse([ '-s', '-' ], { string: 's' }),
+ { s: '-', _: [] }
+ );
+});
+
+test('-a -- b', function (t) {
+ t.plan(3);
+ t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] });
+ t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] });
+ t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] });
+});
+
+test('move arguments after the -- into their own `--` array', function(t) {
+ t.plan(1);
+ t.deepEqual(
+ parse([ '--name', 'John', 'before', '--', 'after' ], { '--': true }),
+ { name: 'John', _: [ 'before' ], '--': [ 'after' ] });
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/default_bool.js b/node_modules/mkdirp/node_modules/minimist/test/default_bool.js
new file mode 100644
index 000000000..780a31127
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/default_bool.js
@@ -0,0 +1,35 @@
+var test = require('tape');
+var parse = require('../');
+
+test('boolean default true', function (t) {
+ var argv = parse([], {
+ boolean: 'sometrue',
+ default: { sometrue: true }
+ });
+ t.equal(argv.sometrue, true);
+ t.end();
+});
+
+test('boolean default false', function (t) {
+ var argv = parse([], {
+ boolean: 'somefalse',
+ default: { somefalse: false }
+ });
+ t.equal(argv.somefalse, false);
+ t.end();
+});
+
+test('boolean default to null', function (t) {
+ var argv = parse([], {
+ boolean: 'maybe',
+ default: { maybe: null }
+ });
+ t.equal(argv.maybe, null);
+ var argv = parse(['--maybe'], {
+ boolean: 'maybe',
+ default: { maybe: null }
+ });
+ t.equal(argv.maybe, true);
+ t.end();
+
+})
diff --git a/node_modules/mkdirp/node_modules/minimist/test/dotted.js b/node_modules/mkdirp/node_modules/minimist/test/dotted.js
new file mode 100644
index 000000000..d8b3e856e
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/dotted.js
@@ -0,0 +1,22 @@
+var parse = require('../');
+var test = require('tape');
+
+test('dotted alias', function (t) {
+ var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}});
+ t.equal(argv.a.b, 22);
+ t.equal(argv.aa.bb, 22);
+ t.end();
+});
+
+test('dotted default', function (t) {
+ var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}});
+ t.equal(argv.a.b, 11);
+ t.equal(argv.aa.bb, 11);
+ t.end();
+});
+
+test('dotted default with no alias', function (t) {
+ var argv = parse('', {default: {'a.b': 11}});
+ t.equal(argv.a.b, 11);
+ t.end();
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/kv_short.js b/node_modules/mkdirp/node_modules/minimist/test/kv_short.js
new file mode 100644
index 000000000..f813b3050
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/kv_short.js
@@ -0,0 +1,16 @@
+var parse = require('../');
+var test = require('tape');
+
+test('short -k=v' , function (t) {
+ t.plan(1);
+
+ var argv = parse([ '-b=123' ]);
+ t.deepEqual(argv, { b: 123, _: [] });
+});
+
+test('multi short -k=v' , function (t) {
+ t.plan(1);
+
+ var argv = parse([ '-a=whatever', '-b=robots' ]);
+ t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] });
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/long.js b/node_modules/mkdirp/node_modules/minimist/test/long.js
new file mode 100644
index 000000000..5d3a1e09d
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/long.js
@@ -0,0 +1,31 @@
+var test = require('tape');
+var parse = require('../');
+
+test('long opts', function (t) {
+ t.deepEqual(
+ parse([ '--bool' ]),
+ { bool : true, _ : [] },
+ 'long boolean'
+ );
+ t.deepEqual(
+ parse([ '--pow', 'xixxle' ]),
+ { pow : 'xixxle', _ : [] },
+ 'long capture sp'
+ );
+ t.deepEqual(
+ parse([ '--pow=xixxle' ]),
+ { pow : 'xixxle', _ : [] },
+ 'long capture eq'
+ );
+ t.deepEqual(
+ parse([ '--host', 'localhost', '--port', '555' ]),
+ { host : 'localhost', port : 555, _ : [] },
+ 'long captures sp'
+ );
+ t.deepEqual(
+ parse([ '--host=localhost', '--port=555' ]),
+ { host : 'localhost', port : 555, _ : [] },
+ 'long captures eq'
+ );
+ t.end();
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/num.js b/node_modules/mkdirp/node_modules/minimist/test/num.js
new file mode 100644
index 000000000..2cc77f4d6
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/num.js
@@ -0,0 +1,36 @@
+var parse = require('../');
+var test = require('tape');
+
+test('nums', function (t) {
+ var argv = parse([
+ '-x', '1234',
+ '-y', '5.67',
+ '-z', '1e7',
+ '-w', '10f',
+ '--hex', '0xdeadbeef',
+ '789'
+ ]);
+ t.deepEqual(argv, {
+ x : 1234,
+ y : 5.67,
+ z : 1e7,
+ w : '10f',
+ hex : 0xdeadbeef,
+ _ : [ 789 ]
+ });
+ t.deepEqual(typeof argv.x, 'number');
+ t.deepEqual(typeof argv.y, 'number');
+ t.deepEqual(typeof argv.z, 'number');
+ t.deepEqual(typeof argv.w, 'string');
+ t.deepEqual(typeof argv.hex, 'number');
+ t.deepEqual(typeof argv._[0], 'number');
+ t.end();
+});
+
+test('already a number', function (t) {
+ var argv = parse([ '-x', 1234, 789 ]);
+ t.deepEqual(argv, { x : 1234, _ : [ 789 ] });
+ t.deepEqual(typeof argv.x, 'number');
+ t.deepEqual(typeof argv._[0], 'number');
+ t.end();
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/parse.js b/node_modules/mkdirp/node_modules/minimist/test/parse.js
new file mode 100644
index 000000000..7b4a2a17c
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/parse.js
@@ -0,0 +1,197 @@
+var parse = require('../');
+var test = require('tape');
+
+test('parse args', function (t) {
+ t.deepEqual(
+ parse([ '--no-moo' ]),
+ { moo : false, _ : [] },
+ 'no'
+ );
+ t.deepEqual(
+ parse([ '-v', 'a', '-v', 'b', '-v', 'c' ]),
+ { v : ['a','b','c'], _ : [] },
+ 'multi'
+ );
+ t.end();
+});
+
+test('comprehensive', function (t) {
+ t.deepEqual(
+ parse([
+ '--name=meowmers', 'bare', '-cats', 'woo',
+ '-h', 'awesome', '--multi=quux',
+ '--key', 'value',
+ '-b', '--bool', '--no-meep', '--multi=baz',
+ '--', '--not-a-flag', 'eek'
+ ]),
+ {
+ c : true,
+ a : true,
+ t : true,
+ s : 'woo',
+ h : 'awesome',
+ b : true,
+ bool : true,
+ key : 'value',
+ multi : [ 'quux', 'baz' ],
+ meep : false,
+ name : 'meowmers',
+ _ : [ 'bare', '--not-a-flag', 'eek' ]
+ }
+ );
+ t.end();
+});
+
+test('flag boolean', function (t) {
+ var argv = parse([ '-t', 'moo' ], { boolean: 't' });
+ t.deepEqual(argv, { t : true, _ : [ 'moo' ] });
+ t.deepEqual(typeof argv.t, 'boolean');
+ t.end();
+});
+
+test('flag boolean value', function (t) {
+ var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], {
+ boolean: [ 't', 'verbose' ],
+ default: { verbose: true }
+ });
+
+ t.deepEqual(argv, {
+ verbose: false,
+ t: true,
+ _: ['moo']
+ });
+
+ t.deepEqual(typeof argv.verbose, 'boolean');
+ t.deepEqual(typeof argv.t, 'boolean');
+ t.end();
+});
+
+test('newlines in params' , function (t) {
+ var args = parse([ '-s', "X\nX" ])
+ t.deepEqual(args, { _ : [], s : "X\nX" });
+
+ // reproduce in bash:
+ // VALUE="new
+ // line"
+ // node program.js --s="$VALUE"
+ args = parse([ "--s=X\nX" ])
+ t.deepEqual(args, { _ : [], s : "X\nX" });
+ t.end();
+});
+
+test('strings' , function (t) {
+ var s = parse([ '-s', '0001234' ], { string: 's' }).s;
+ t.equal(s, '0001234');
+ t.equal(typeof s, 'string');
+
+ var x = parse([ '-x', '56' ], { string: 'x' }).x;
+ t.equal(x, '56');
+ t.equal(typeof x, 'string');
+ t.end();
+});
+
+test('stringArgs', function (t) {
+ var s = parse([ ' ', ' ' ], { string: '_' })._;
+ t.same(s.length, 2);
+ t.same(typeof s[0], 'string');
+ t.same(s[0], ' ');
+ t.same(typeof s[1], 'string');
+ t.same(s[1], ' ');
+ t.end();
+});
+
+test('empty strings', function(t) {
+ var s = parse([ '-s' ], { string: 's' }).s;
+ t.equal(s, '');
+ t.equal(typeof s, 'string');
+
+ var str = parse([ '--str' ], { string: 'str' }).str;
+ t.equal(str, '');
+ t.equal(typeof str, 'string');
+
+ var letters = parse([ '-art' ], {
+ string: [ 'a', 't' ]
+ });
+
+ t.equal(letters.a, '');
+ t.equal(letters.r, true);
+ t.equal(letters.t, '');
+
+ t.end();
+});
+
+
+test('string and alias', function(t) {
+ var x = parse([ '--str', '000123' ], {
+ string: 's',
+ alias: { s: 'str' }
+ });
+
+ t.equal(x.str, '000123');
+ t.equal(typeof x.str, 'string');
+ t.equal(x.s, '000123');
+ t.equal(typeof x.s, 'string');
+
+ var y = parse([ '-s', '000123' ], {
+ string: 'str',
+ alias: { str: 's' }
+ });
+
+ t.equal(y.str, '000123');
+ t.equal(typeof y.str, 'string');
+ t.equal(y.s, '000123');
+ t.equal(typeof y.s, 'string');
+ t.end();
+});
+
+test('slashBreak', function (t) {
+ t.same(
+ parse([ '-I/foo/bar/baz' ]),
+ { I : '/foo/bar/baz', _ : [] }
+ );
+ t.same(
+ parse([ '-xyz/foo/bar/baz' ]),
+ { x : true, y : true, z : '/foo/bar/baz', _ : [] }
+ );
+ t.end();
+});
+
+test('alias', function (t) {
+ var argv = parse([ '-f', '11', '--zoom', '55' ], {
+ alias: { z: 'zoom' }
+ });
+ t.equal(argv.zoom, 55);
+ t.equal(argv.z, argv.zoom);
+ t.equal(argv.f, 11);
+ t.end();
+});
+
+test('multiAlias', function (t) {
+ var argv = parse([ '-f', '11', '--zoom', '55' ], {
+ alias: { z: [ 'zm', 'zoom' ] }
+ });
+ t.equal(argv.zoom, 55);
+ t.equal(argv.z, argv.zoom);
+ t.equal(argv.z, argv.zm);
+ t.equal(argv.f, 11);
+ t.end();
+});
+
+test('nested dotted objects', function (t) {
+ var argv = parse([
+ '--foo.bar', '3', '--foo.baz', '4',
+ '--foo.quux.quibble', '5', '--foo.quux.o_O',
+ '--beep.boop'
+ ]);
+
+ t.same(argv.foo, {
+ bar : 3,
+ baz : 4,
+ quux : {
+ quibble : 5,
+ o_O : true
+ }
+ });
+ t.same(argv.beep, { boop : true });
+ t.end();
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js b/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js
new file mode 100644
index 000000000..ab620dc5e
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js
@@ -0,0 +1,9 @@
+var parse = require('../');
+var test = require('tape');
+
+test('parse with modifier functions' , function (t) {
+ t.plan(1);
+
+ var argv = parse([ '-b', '123' ], { boolean: 'b' });
+ t.deepEqual(argv, { b: true, _: [123] });
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/proto.js b/node_modules/mkdirp/node_modules/minimist/test/proto.js
new file mode 100644
index 000000000..8649107ec
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/proto.js
@@ -0,0 +1,44 @@
+var parse = require('../');
+var test = require('tape');
+
+test('proto pollution', function (t) {
+ var argv = parse(['--__proto__.x','123']);
+ t.equal({}.x, undefined);
+ t.equal(argv.__proto__.x, undefined);
+ t.equal(argv.x, undefined);
+ t.end();
+});
+
+test('proto pollution (array)', function (t) {
+ var argv = parse(['--x','4','--x','5','--x.__proto__.z','789']);
+ t.equal({}.z, undefined);
+ t.deepEqual(argv.x, [4,5]);
+ t.equal(argv.x.z, undefined);
+ t.equal(argv.x.__proto__.z, undefined);
+ t.end();
+});
+
+test('proto pollution (number)', function (t) {
+ var argv = parse(['--x','5','--x.__proto__.z','100']);
+ t.equal({}.z, undefined);
+ t.equal((4).z, undefined);
+ t.equal(argv.x, 5);
+ t.equal(argv.x.z, undefined);
+ t.end();
+});
+
+test('proto pollution (string)', function (t) {
+ var argv = parse(['--x','abc','--x.__proto__.z','def']);
+ t.equal({}.z, undefined);
+ t.equal('...'.z, undefined);
+ t.equal(argv.x, 'abc');
+ t.equal(argv.x.z, undefined);
+ t.end();
+});
+
+test('proto pollution (constructor)', function (t) {
+ var argv = parse(['--constructor.prototype.y','123']);
+ t.equal({}.y, undefined);
+ t.equal(argv.y, undefined);
+ t.end();
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/short.js b/node_modules/mkdirp/node_modules/minimist/test/short.js
new file mode 100644
index 000000000..d513a1c25
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/short.js
@@ -0,0 +1,67 @@
+var parse = require('../');
+var test = require('tape');
+
+test('numeric short args', function (t) {
+ t.plan(2);
+ t.deepEqual(parse([ '-n123' ]), { n: 123, _: [] });
+ t.deepEqual(
+ parse([ '-123', '456' ]),
+ { 1: true, 2: true, 3: 456, _: [] }
+ );
+});
+
+test('short', function (t) {
+ t.deepEqual(
+ parse([ '-b' ]),
+ { b : true, _ : [] },
+ 'short boolean'
+ );
+ t.deepEqual(
+ parse([ 'foo', 'bar', 'baz' ]),
+ { _ : [ 'foo', 'bar', 'baz' ] },
+ 'bare'
+ );
+ t.deepEqual(
+ parse([ '-cats' ]),
+ { c : true, a : true, t : true, s : true, _ : [] },
+ 'group'
+ );
+ t.deepEqual(
+ parse([ '-cats', 'meow' ]),
+ { c : true, a : true, t : true, s : 'meow', _ : [] },
+ 'short group next'
+ );
+ t.deepEqual(
+ parse([ '-h', 'localhost' ]),
+ { h : 'localhost', _ : [] },
+ 'short capture'
+ );
+ t.deepEqual(
+ parse([ '-h', 'localhost', '-p', '555' ]),
+ { h : 'localhost', p : 555, _ : [] },
+ 'short captures'
+ );
+ t.end();
+});
+
+test('mixed short bool and capture', function (t) {
+ t.same(
+ parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]),
+ {
+ f : true, p : 555, h : 'localhost',
+ _ : [ 'script.js' ]
+ }
+ );
+ t.end();
+});
+
+test('short and long', function (t) {
+ t.deepEqual(
+ parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]),
+ {
+ f : true, p : 555, h : 'localhost',
+ _ : [ 'script.js' ]
+ }
+ );
+ t.end();
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/stop_early.js b/node_modules/mkdirp/node_modules/minimist/test/stop_early.js
new file mode 100644
index 000000000..bdf9fbcb0
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/stop_early.js
@@ -0,0 +1,15 @@
+var parse = require('../');
+var test = require('tape');
+
+test('stops parsing on the first non-option when stopEarly is set', function (t) {
+ var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], {
+ stopEarly: true
+ });
+
+ t.deepEqual(argv, {
+ aaa: 'bbb',
+ _: ['ccc', '--ddd']
+ });
+
+ t.end();
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/unknown.js b/node_modules/mkdirp/node_modules/minimist/test/unknown.js
new file mode 100644
index 000000000..462a36bdd
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/unknown.js
@@ -0,0 +1,102 @@
+var parse = require('../');
+var test = require('tape');
+
+test('boolean and alias is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var aliased = [ '-h', 'true', '--derp', 'true' ];
+ var regular = [ '--herp', 'true', '-d', 'true' ];
+ var opts = {
+ alias: { h: 'herp' },
+ boolean: 'h',
+ unknown: unknownFn
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+
+ t.same(unknown, ['--derp', '-d']);
+ t.end();
+});
+
+test('flag boolean true any double hyphen argument is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], {
+ boolean: true,
+ unknown: unknownFn
+ });
+ t.same(unknown, ['--tacos=good', 'cow', '-p']);
+ t.same(argv, {
+ honk: true,
+ _: []
+ });
+ t.end();
+});
+
+test('string and alias is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var aliased = [ '-h', 'hello', '--derp', 'goodbye' ];
+ var regular = [ '--herp', 'hello', '-d', 'moon' ];
+ var opts = {
+ alias: { h: 'herp' },
+ string: 'h',
+ unknown: unknownFn
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+
+ t.same(unknown, ['--derp', '-d']);
+ t.end();
+});
+
+test('default and alias is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var aliased = [ '-h', 'hello' ];
+ var regular = [ '--herp', 'hello' ];
+ var opts = {
+ default: { 'h': 'bar' },
+ alias: { 'h': 'herp' },
+ unknown: unknownFn
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+
+ t.same(unknown, []);
+ t.end();
+ unknownFn(); // exercise fn for 100% coverage
+});
+
+test('value following -- is not unknown', function (t) {
+ var unknown = [];
+ function unknownFn(arg) {
+ unknown.push(arg);
+ return false;
+ }
+ var aliased = [ '--bad', '--', 'good', 'arg' ];
+ var opts = {
+ '--': true,
+ unknown: unknownFn
+ };
+ var argv = parse(aliased, opts);
+
+ t.same(unknown, ['--bad']);
+ t.same(argv, {
+ '--': ['good', 'arg'],
+ '_': []
+ })
+ t.end();
+});
diff --git a/node_modules/mkdirp/node_modules/minimist/test/whitespace.js b/node_modules/mkdirp/node_modules/minimist/test/whitespace.js
new file mode 100644
index 000000000..8a52a58ce
--- /dev/null
+++ b/node_modules/mkdirp/node_modules/minimist/test/whitespace.js
@@ -0,0 +1,8 @@
+var parse = require('../');
+var test = require('tape');
+
+test('whitespace should be whitespace' , function (t) {
+ t.plan(1);
+ var x = parse([ '-x', '\t' ]).x;
+ t.equal(x, '\t');
+});
diff --git a/node_modules/mkdirp/package.json b/node_modules/mkdirp/package.json
index aa7b90611..a880e2ef5 100644
--- a/node_modules/mkdirp/package.json
+++ b/node_modules/mkdirp/package.json
@@ -1,47 +1,41 @@
{
- "_args": [
- [
- "mkdirp@0.5.1",
- "/Users/rebecca/code/npm"
- ]
- ],
- "_from": "mkdirp@0.5.1",
- "_id": "mkdirp@0.5.1",
+ "_from": "mkdirp@0.5.3",
+ "_id": "mkdirp@0.5.3",
"_inBundle": false,
- "_integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "_integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
"_location": "/mkdirp",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "mkdirp@0.5.1",
+ "raw": "mkdirp@0.5.3",
"name": "mkdirp",
"escapedName": "mkdirp",
- "rawSpec": "0.5.1",
+ "rawSpec": "0.5.3",
"saveSpec": null,
- "fetchSpec": "0.5.1"
+ "fetchSpec": "0.5.3"
},
"_requiredBy": [
+ "#USER",
"/",
"/cacache",
"/cmd-shim",
"/copy-concurrently",
"/eslint",
- "/fstream",
"/gentle-fs",
+ "/libcipm",
"/move-concurrently",
"/node-gyp",
- "/npm-profile/cacache",
- "/npm-registry-fetch/cacache",
"/pacote",
- "/tacks",
+ "/spawn-wrap",
"/tap",
"/tar",
"/write"
],
- "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "_spec": "0.5.1",
- "_where": "/Users/rebecca/code/npm",
+ "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
+ "_shasum": "5a514b7179259287952881e94410ec5465659f8c",
+ "_spec": "mkdirp@0.5.3",
+ "_where": "/Users/darcyclarke/Documents/Repos/npm/npm/cli",
"author": {
"name": "James Halliday",
"email": "mail@substack.net",
@@ -53,14 +47,20 @@
"bugs": {
"url": "https://github.com/substack/node-mkdirp/issues"
},
+ "bundleDependencies": false,
"dependencies": {
- "minimist": "0.0.8"
+ "minimist": "^1.2.5"
},
+ "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
"description": "Recursively mkdir, like `mkdir -p`",
"devDependencies": {
- "mock-fs": "2 >=2.7.0",
- "tap": "1"
+ "mock-fs": "^3.7.0",
+ "tap": "^5.4.2"
},
+ "files": [
+ "bin",
+ "index.js"
+ ],
"homepage": "https://github.com/substack/node-mkdirp#readme",
"keywords": [
"mkdir",
@@ -69,6 +69,9 @@
"license": "MIT",
"main": "index.js",
"name": "mkdirp",
+ "publishConfig": {
+ "tag": "legacy"
+ },
"repository": {
"type": "git",
"url": "git+https://github.com/substack/node-mkdirp.git"
@@ -76,5 +79,5 @@
"scripts": {
"test": "tap test/*.js"
},
- "version": "0.5.1"
+ "version": "0.5.3"
}
diff --git a/node_modules/mkdirp/test/chmod.js b/node_modules/mkdirp/test/chmod.js
deleted file mode 100644
index 6a404b932..000000000
--- a/node_modules/mkdirp/test/chmod.js
+++ /dev/null
@@ -1,41 +0,0 @@
-var mkdirp = require('../').mkdirp;
-var path = require('path');
-var fs = require('fs');
-var test = require('tap').test;
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-var _0744 = parseInt('0744', 8);
-
-var ps = [ '', 'tmp' ];
-
-for (var i = 0; i < 25; i++) {
- var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- ps.push(dir);
-}
-
-var file = ps.join('/');
-
-test('chmod-pre', function (t) {
- var mode = _0744
- mkdirp(file, mode, function (er) {
- t.ifError(er, 'should not error');
- fs.stat(file, function (er, stat) {
- t.ifError(er, 'should exist');
- t.ok(stat && stat.isDirectory(), 'should be directory');
- t.equal(stat && stat.mode & _0777, mode, 'should be 0744');
- t.end();
- });
- });
-});
-
-test('chmod', function (t) {
- var mode = _0755
- mkdirp(file, mode, function (er) {
- t.ifError(er, 'should not error');
- fs.stat(file, function (er, stat) {
- t.ifError(er, 'should exist');
- t.ok(stat && stat.isDirectory(), 'should be directory');
- t.end();
- });
- });
-});
diff --git a/node_modules/mkdirp/test/clobber.js b/node_modules/mkdirp/test/clobber.js
deleted file mode 100644
index 2433b9ad5..000000000
--- a/node_modules/mkdirp/test/clobber.js
+++ /dev/null
@@ -1,38 +0,0 @@
-var mkdirp = require('../').mkdirp;
-var path = require('path');
-var fs = require('fs');
-var test = require('tap').test;
-var _0755 = parseInt('0755', 8);
-
-var ps = [ '', 'tmp' ];
-
-for (var i = 0; i < 25; i++) {
- var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- ps.push(dir);
-}
-
-var file = ps.join('/');
-
-// a file in the way
-var itw = ps.slice(0, 3).join('/');
-
-
-test('clobber-pre', function (t) {
- console.error("about to write to "+itw)
- fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.');
-
- fs.stat(itw, function (er, stat) {
- t.ifError(er)
- t.ok(stat && stat.isFile(), 'should be file')
- t.end()
- })
-})
-
-test('clobber', function (t) {
- t.plan(2);
- mkdirp(file, _0755, function (err) {
- t.ok(err);
- t.equal(err.code, 'ENOTDIR');
- t.end();
- });
-});
diff --git a/node_modules/mkdirp/test/mkdirp.js b/node_modules/mkdirp/test/mkdirp.js
deleted file mode 100644
index eaa8921c7..000000000
--- a/node_modules/mkdirp/test/mkdirp.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var exists = fs.exists || path.exists;
-var test = require('tap').test;
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('woo', function (t) {
- t.plan(5);
- var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
-
- var file = '/tmp/' + [x,y,z].join('/');
-
- mkdirp(file, _0755, function (err) {
- t.ifError(err);
- exists(file, function (ex) {
- t.ok(ex, 'file created');
- fs.stat(file, function (err, stat) {
- t.ifError(err);
- t.equal(stat.mode & _0777, _0755);
- t.ok(stat.isDirectory(), 'target not a directory');
- })
- })
- });
-});
diff --git a/node_modules/mkdirp/test/opts_fs.js b/node_modules/mkdirp/test/opts_fs.js
deleted file mode 100644
index 97186b62e..000000000
--- a/node_modules/mkdirp/test/opts_fs.js
+++ /dev/null
@@ -1,29 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var test = require('tap').test;
-var mockfs = require('mock-fs');
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('opts.fs', function (t) {
- t.plan(5);
-
- var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
-
- var file = '/beep/boop/' + [x,y,z].join('/');
- var xfs = mockfs.fs();
-
- mkdirp(file, { fs: xfs, mode: _0755 }, function (err) {
- t.ifError(err);
- xfs.exists(file, function (ex) {
- t.ok(ex, 'created file');
- xfs.stat(file, function (err, stat) {
- t.ifError(err);
- t.equal(stat.mode & _0777, _0755);
- t.ok(stat.isDirectory(), 'target not a directory');
- });
- });
- });
-});
diff --git a/node_modules/mkdirp/test/opts_fs_sync.js b/node_modules/mkdirp/test/opts_fs_sync.js
deleted file mode 100644
index 6c370aa6e..000000000
--- a/node_modules/mkdirp/test/opts_fs_sync.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var test = require('tap').test;
-var mockfs = require('mock-fs');
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('opts.fs sync', function (t) {
- t.plan(4);
-
- var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
-
- var file = '/beep/boop/' + [x,y,z].join('/');
- var xfs = mockfs.fs();
-
- mkdirp.sync(file, { fs: xfs, mode: _0755 });
- xfs.exists(file, function (ex) {
- t.ok(ex, 'created file');
- xfs.stat(file, function (err, stat) {
- t.ifError(err);
- t.equal(stat.mode & _0777, _0755);
- t.ok(stat.isDirectory(), 'target not a directory');
- });
- });
-});
diff --git a/node_modules/mkdirp/test/perm.js b/node_modules/mkdirp/test/perm.js
deleted file mode 100644
index fbce44b82..000000000
--- a/node_modules/mkdirp/test/perm.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var exists = fs.exists || path.exists;
-var test = require('tap').test;
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('async perm', function (t) {
- t.plan(5);
- var file = '/tmp/' + (Math.random() * (1<<30)).toString(16);
-
- mkdirp(file, _0755, function (err) {
- t.ifError(err);
- exists(file, function (ex) {
- t.ok(ex, 'file created');
- fs.stat(file, function (err, stat) {
- t.ifError(err);
- t.equal(stat.mode & _0777, _0755);
- t.ok(stat.isDirectory(), 'target not a directory');
- })
- })
- });
-});
-
-test('async root perm', function (t) {
- mkdirp('/tmp', _0755, function (err) {
- if (err) t.fail(err);
- t.end();
- });
- t.end();
-});
diff --git a/node_modules/mkdirp/test/perm_sync.js b/node_modules/mkdirp/test/perm_sync.js
deleted file mode 100644
index 398229fe5..000000000
--- a/node_modules/mkdirp/test/perm_sync.js
+++ /dev/null
@@ -1,36 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var exists = fs.exists || path.exists;
-var test = require('tap').test;
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('sync perm', function (t) {
- t.plan(4);
- var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json';
-
- mkdirp.sync(file, _0755);
- exists(file, function (ex) {
- t.ok(ex, 'file created');
- fs.stat(file, function (err, stat) {
- t.ifError(err);
- t.equal(stat.mode & _0777, _0755);
- t.ok(stat.isDirectory(), 'target not a directory');
- });
- });
-});
-
-test('sync root perm', function (t) {
- t.plan(3);
-
- var file = '/tmp';
- mkdirp.sync(file, _0755);
- exists(file, function (ex) {
- t.ok(ex, 'file created');
- fs.stat(file, function (err, stat) {
- t.ifError(err);
- t.ok(stat.isDirectory(), 'target not a directory');
- })
- });
-});
diff --git a/node_modules/mkdirp/test/race.js b/node_modules/mkdirp/test/race.js
deleted file mode 100644
index b0b9e183c..000000000
--- a/node_modules/mkdirp/test/race.js
+++ /dev/null
@@ -1,37 +0,0 @@
-var mkdirp = require('../').mkdirp;
-var path = require('path');
-var fs = require('fs');
-var exists = fs.exists || path.exists;
-var test = require('tap').test;
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('race', function (t) {
- t.plan(10);
- var ps = [ '', 'tmp' ];
-
- for (var i = 0; i < 25; i++) {
- var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- ps.push(dir);
- }
- var file = ps.join('/');
-
- var res = 2;
- mk(file);
-
- mk(file);
-
- function mk (file, cb) {
- mkdirp(file, _0755, function (err) {
- t.ifError(err);
- exists(file, function (ex) {
- t.ok(ex, 'file created');
- fs.stat(file, function (err, stat) {
- t.ifError(err);
- t.equal(stat.mode & _0777, _0755);
- t.ok(stat.isDirectory(), 'target not a directory');
- });
- })
- });
- }
-});
diff --git a/node_modules/mkdirp/test/rel.js b/node_modules/mkdirp/test/rel.js
deleted file mode 100644
index 4ddb34276..000000000
--- a/node_modules/mkdirp/test/rel.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var exists = fs.exists || path.exists;
-var test = require('tap').test;
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('rel', function (t) {
- t.plan(5);
- var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
-
- var cwd = process.cwd();
- process.chdir('/tmp');
-
- var file = [x,y,z].join('/');
-
- mkdirp(file, _0755, function (err) {
- t.ifError(err);
- exists(file, function (ex) {
- t.ok(ex, 'file created');
- fs.stat(file, function (err, stat) {
- t.ifError(err);
- process.chdir(cwd);
- t.equal(stat.mode & _0777, _0755);
- t.ok(stat.isDirectory(), 'target not a directory');
- })
- })
- });
-});
diff --git a/node_modules/mkdirp/test/return.js b/node_modules/mkdirp/test/return.js
deleted file mode 100644
index bce68e561..000000000
--- a/node_modules/mkdirp/test/return.js
+++ /dev/null
@@ -1,25 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var test = require('tap').test;
-
-test('return value', function (t) {
- t.plan(4);
- var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
-
- var file = '/tmp/' + [x,y,z].join('/');
-
- // should return the first dir created.
- // By this point, it would be profoundly surprising if /tmp didn't
- // already exist, since every other test makes things in there.
- mkdirp(file, function (err, made) {
- t.ifError(err);
- t.equal(made, '/tmp/' + x);
- mkdirp(file, function (err, made) {
- t.ifError(err);
- t.equal(made, null);
- });
- });
-});
diff --git a/node_modules/mkdirp/test/return_sync.js b/node_modules/mkdirp/test/return_sync.js
deleted file mode 100644
index 7c222d355..000000000
--- a/node_modules/mkdirp/test/return_sync.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var test = require('tap').test;
-
-test('return value', function (t) {
- t.plan(2);
- var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
-
- var file = '/tmp/' + [x,y,z].join('/');
-
- // should return the first dir created.
- // By this point, it would be profoundly surprising if /tmp didn't
- // already exist, since every other test makes things in there.
- // Note that this will throw on failure, which will fail the test.
- var made = mkdirp.sync(file);
- t.equal(made, '/tmp/' + x);
-
- // making the same file again should have no effect.
- made = mkdirp.sync(file);
- t.equal(made, null);
-});
diff --git a/node_modules/mkdirp/test/root.js b/node_modules/mkdirp/test/root.js
deleted file mode 100644
index 9e7d079d9..000000000
--- a/node_modules/mkdirp/test/root.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var test = require('tap').test;
-var _0755 = parseInt('0755', 8);
-
-test('root', function (t) {
- // '/' on unix, 'c:/' on windows.
- var file = path.resolve('/');
-
- mkdirp(file, _0755, function (err) {
- if (err) throw err
- fs.stat(file, function (er, stat) {
- if (er) throw er
- t.ok(stat.isDirectory(), 'target is a directory');
- t.end();
- })
- });
-});
diff --git a/node_modules/mkdirp/test/sync.js b/node_modules/mkdirp/test/sync.js
deleted file mode 100644
index 8c8dc938c..000000000
--- a/node_modules/mkdirp/test/sync.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var exists = fs.exists || path.exists;
-var test = require('tap').test;
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('sync', function (t) {
- t.plan(4);
- var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
-
- var file = '/tmp/' + [x,y,z].join('/');
-
- try {
- mkdirp.sync(file, _0755);
- } catch (err) {
- t.fail(err);
- return t.end();
- }
-
- exists(file, function (ex) {
- t.ok(ex, 'file created');
- fs.stat(file, function (err, stat) {
- t.ifError(err);
- t.equal(stat.mode & _0777, _0755);
- t.ok(stat.isDirectory(), 'target not a directory');
- });
- });
-});
diff --git a/node_modules/mkdirp/test/umask.js b/node_modules/mkdirp/test/umask.js
deleted file mode 100644
index 2033c63a4..000000000
--- a/node_modules/mkdirp/test/umask.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var exists = fs.exists || path.exists;
-var test = require('tap').test;
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('implicit mode from umask', function (t) {
- t.plan(5);
- var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
-
- var file = '/tmp/' + [x,y,z].join('/');
-
- mkdirp(file, function (err) {
- t.ifError(err);
- exists(file, function (ex) {
- t.ok(ex, 'file created');
- fs.stat(file, function (err, stat) {
- t.ifError(err);
- t.equal(stat.mode & _0777, _0777 & (~process.umask()));
- t.ok(stat.isDirectory(), 'target not a directory');
- });
- })
- });
-});
diff --git a/node_modules/mkdirp/test/umask_sync.js b/node_modules/mkdirp/test/umask_sync.js
deleted file mode 100644
index 11a761474..000000000
--- a/node_modules/mkdirp/test/umask_sync.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var mkdirp = require('../');
-var path = require('path');
-var fs = require('fs');
-var exists = fs.exists || path.exists;
-var test = require('tap').test;
-var _0777 = parseInt('0777', 8);
-var _0755 = parseInt('0755', 8);
-
-test('umask sync modes', function (t) {
- t.plan(4);
- var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
- var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
-
- var file = '/tmp/' + [x,y,z].join('/');
-
- try {
- mkdirp.sync(file);
- } catch (err) {
- t.fail(err);
- return t.end();
- }
-
- exists(file, function (ex) {
- t.ok(ex, 'file created');
- fs.stat(file, function (err, stat) {
- t.ifError(err);
- t.equal(stat.mode & _0777, (_0777 & (~process.umask())));
- t.ok(stat.isDirectory(), 'target not a directory');
- });
- });
-});