aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/libnpx/node_modules
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/libnpx/node_modules')
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/dotenv/CHANGELOG.md22
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/dotenv/README.md69
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/dotenv/appveyor.yml13
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/dotenv/lib/main.js39
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/dotenv/package.json39
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/npm-package-arg/LICENSE15
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/npm-package-arg/README.md81
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/npm-package-arg/npa.js270
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/npm-package-arg/package.json64
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/y18n/CHANGELOG.md21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/y18n/README.md18
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/y18n/index.js16
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/y18n/package.json48
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/CHANGELOG.md170
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/README.md24
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/completion.sh.hbs4
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/index.js3
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/apply-extends.js21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js30
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/assign.js15
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/command.js330
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/completion.js51
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/levenshtein.js10
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/obj-filter.js7
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/usage.js303
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/validation.js267
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/lib/yerror.js1
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/en.json4
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/hi.json5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/id.json5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/ja.json5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/ko.json5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/nl.json5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/nn.json39
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/pl.json5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/pt_BR.json6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/tr.json4
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/locales/zh_CN.json6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/package.json)5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/CHANGELOG.md26
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/README.md6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/index.js6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/package.json)6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json)6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json)6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/package.json)5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/package.json)6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/package.json)9
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/package.json94
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/license9
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/index.js4
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/package.json75
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/readme.md38
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/package.json81
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/index.js2
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/license20
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/package.json53
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/readme.md4
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/index.js26
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/index.js)4
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/package.json47
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/readme.md)9
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/package.json)6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/license21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/package.json)6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/package.json)6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/package.json)16
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/index.js47
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/license21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/index.js11
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/license21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/index.js35
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/license21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/LICENSE21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/README.md144
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/index.js133
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.editorconfig18
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.istanbul.yml4
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.npmignore5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.travis.yml17
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/LICENSE21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/README.md16
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/index.js10
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/package.json44
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/package.json46
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/package.json45
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/readme.md83
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/parse.js751
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/unicode.js71
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/index.js68
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/license21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/package.json45
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/readme.md119
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/index.js14
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/license21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/package.json43
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/readme.md36
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/package.json48
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/readme.md45
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/index.js26
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/license21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/index.js68
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/license21
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/package.json80
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/readme.md119
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/package.json45
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/readme.md42
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/package.json49
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/readme.md79
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/package.json49
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/readme.md80
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/LICENSE13
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/README.md91
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/index.js172
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/package.json65
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/CHANGELOG.md77
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/README.md27
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/index.js113
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/lib/tokenize-arg-string.js8
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/package.json65
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/package.json54
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/yargs.js490
156 files changed, 4232 insertions, 2309 deletions
diff --git a/deps/npm/node_modules/libnpx/node_modules/dotenv/CHANGELOG.md b/deps/npm/node_modules/libnpx/node_modules/dotenv/CHANGELOG.md
index 1cfa04fa4f..2fcf56b902 100644
--- a/deps/npm/node_modules/libnpx/node_modules/dotenv/CHANGELOG.md
+++ b/deps/npm/node_modules/libnpx/node_modules/dotenv/CHANGELOG.md
@@ -4,25 +4,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
-## [5.0.0] - 2018-01-29
-
-### Added
-
-- Testing against Node v8 and v9
-- Documentation on trim behavior of values
-- Documentation on how to use with `import`
-
-### Changed
-
-- *Breaking*: default `path` is now `path.resolve(process.cwd(), '.env')`
-- *Breaking*: does not write over keys already in `process.env` if the key has a falsy value
-- using `const` and `let` instead of `var`
-
-### Removed
-
-- Testing aginst Node v7
-
-
## [4.0.0] - 2016-12-23
### Changed
@@ -86,8 +67,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
### Removed
- support for multiple `.env` files. should always use one `.env` file for the current environment
-[Unreleased]: https://github.com/motdotla/dotenv/compare/v5.0.0...HEAD
-[5.0.0]: https://github.com/motdotla/dotenv/compare/v4.0.0...v5.0.0
+[Unreleased]: https://github.com/motdotla/dotenv/compare/v4.0.0...HEAD
[4.0.0]: https://github.com/motdotla/dotenv/compare/v3.0.0...v4.0.0
[3.0.0]: https://github.com/motdotla/dotenv/compare/v2.0.0...v3.0.0
[2.0.0]: https://github.com/motdotla/dotenv/compare/v1.2.0...v2.0.0
diff --git a/deps/npm/node_modules/libnpx/node_modules/dotenv/README.md b/deps/npm/node_modules/libnpx/node_modules/dotenv/README.md
index 4665fd3962..90836a34b7 100644
--- a/deps/npm/node_modules/libnpx/node_modules/dotenv/README.md
+++ b/deps/npm/node_modules/libnpx/node_modules/dotenv/README.md
@@ -5,7 +5,6 @@
Dotenv is a zero-dependency module that loads environment variables from a `.env` file into [`process.env`](https://nodejs.org/docs/latest/api/process.html#process_process_env). Storing configuration in the environment separate from code is based on [The Twelve-Factor App](http://12factor.net/config) methodology.
[![BuildStatus](https://img.shields.io/travis/motdotla/dotenv/master.svg?style=flat-square)](https://travis-ci.org/motdotla/dotenv)
-[![Build status](https://ci.appveyor.com/api/projects/status/rnba2pyi87hgc8xw/branch/master?svg=true)](https://ci.appveyor.com/project/maxbeatty/dotenv/branch/master)
[![NPM version](https://img.shields.io/npm/v/dotenv.svg?style=flat-square)](https://www.npmjs.com/package/dotenv)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)
[![Coverage Status](https://img.shields.io/coveralls/motdotla/dotenv/master.svg?style=flat-square)](https://coveralls.io/github/motdotla/dotenv?branch=coverall-intergration)
@@ -28,7 +27,7 @@ Create a `.env` file in the root directory of your project. Add
environment-specific variables on new lines in the form of `NAME=VALUE`.
For example:
-```dosini
+```
DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3
@@ -39,7 +38,7 @@ That's it.
`process.env` now has the keys and values you defined in your `.env` file.
```javascript
-const db = require('db')
+var db = require('db')
db.connect({
host: process.env.DB_HOST,
username: process.env.DB_USER,
@@ -49,7 +48,8 @@ db.connect({
### Preload
-You can use the `--require` (`-r`) command line option to preload dotenv. By doing this, you do not need to require and load dotenv in your application code. This is the preferred approach when using `import` instead of `require`.
+If you are using iojs-v1.6.0 or later, you can use the `--require` (`-r`) command line option to preload dotenv. By doing this, you do not need to require and load dotenv in your application code.
+
```bash
$ node -r dotenv/config your_script.js
@@ -67,31 +67,20 @@ _Alias: `load`_
`config` will read your .env file, parse the contents, assign it to
[`process.env`](https://nodejs.org/docs/latest/api/process.html#process_process_env),
-and return an Object with a `parsed` key containing the loaded content or an `error` key if it failed.
-
-```js
-const result = dotenv.config()
-
-if (result.error) {
- throw result.error
-}
-
-console.log(result.parsed)
-```
-
+and return an Object with a _parsed_ key containing the loaded content or an _error_ key if it failed.
You can additionally, pass options to `config`.
### Options
#### Path
-Default: `path.resolve(process.cwd(), '.env')`
+Default: `.env`
You can specify a custom path if your file containing environment variables is
named or located differently.
```js
-require('dotenv').config({path: '/full/custom/path/to/your/env/vars'})
+require('dotenv').config({path: '/custom/path/to/your/env/vars'})
```
#### Encoding
@@ -112,9 +101,9 @@ variables is available to use. It accepts a String or Buffer and will return
an Object with the parsed keys and values.
```js
-const dotenv = require('dotenv')
-const buf = new Buffer('BASIC=basic')
-const config = dotenv.parse(buf) // will return an object
+var dotenv = require('dotenv')
+var buf = new Buffer('BASIC=basic')
+var config = dotenv.parse(buf) // will return an object
console.log(typeof config, config) // object { BASIC : 'basic' }
```
@@ -134,7 +123,6 @@ The parsing engine currently supports the following rules:
line'}
```
- inner quotes are maintained (think JSON) (`JSON={"foo": "bar"}` becomes `{JSON:"{\"foo\": \"bar\"}"`)
-- whitespace is removed from both ends of the value (see more on [`trim`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)) (`FOO=" some value "` becomes `{FOO: 'some value'}`)
## FAQ
@@ -187,40 +175,6 @@ For `dotenv@2.x.x`: Use [dotenv-expand](https://github.com/motdotla/dotenv-expan
For `dotenv@1.x.x`: We haven't been presented with a compelling use case for expanding variables and believe it leads to env vars that are not "fully orthogonal" as [The Twelve-Factor App](http://12factor.net/config) outlines.<sup>[[1](https://github.com/motdotla/dotenv/issues/39)][[2](https://github.com/motdotla/dotenv/pull/97)]</sup> Please open an issue if you have a compelling use case.
-### How do I use dotenv with `import`?
-
-ES2015 and beyond offers modules that allow you to `export` any top-level `function`, `class`, `var`, `let`, or `const`.
-
-> When you run a module containing an `import` declaration, the modules it imports are loaded first, then each module body is executed in a depth-first traversal of the dependency graph, avoiding cycles by skipping anything already executed.
->
-> – [ES6 In Depth: Modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/)
-
-You must run `dotenv.config()` before referencing any environment variables. Here's an example of problematic code:
-
-`errorReporter.js`:
-
-```js
-import { Client } from 'best-error-reporting-service'
-
-export const client = new Client(process.env.BEST_API_KEY)
-```
-
-`index.js`:
-
-```js
-import dotenv from 'dotenv'
-dotenv.config()
-
-import errorReporter from './errorReporter'
-errorReporter.client.report(new Error('faq example'))
-```
-
-`client` will not be configured correctly because it was constructed before `dotenv.config()` was executed. There are (at least) 3 ways to make this work.
-
-1. Preload dotenv: `node --require dotenv/config index.js` (_Note: you do not need to `import` dotenv with this approach_)
-2. Import `dotenv/config` instead of `dotenv` (_Note: you do not need to call `dotenv.config()` and must pass options via the command line with this approach_)
-3. Create a separate file that will execute `config` first as outlined in [this comment on #133](https://github.com/motdotla/dotenv/issues/133#issuecomment-255298822)
-
## Contributing Guide
See [CONTRIBUTING.md](CONTRIBUTING.md)
@@ -252,6 +206,3 @@ Here's some projects that expand on dotenv. Check them out.
* [require-environment-variables](https://github.com/bjoshuanoah/require-environment-variables)
* [dotenv-safe](https://github.com/rolodato/dotenv-safe)
* [envalid](https://github.com/af/envalid)
-* [lookenv](https://github.com/RodrigoEspinosa/lookenv)
-* [run.env](https://www.npmjs.com/package/run.env)
-* [dotenv-webpack](https://github.com/mrsteele/dotenv-webpack)
diff --git a/deps/npm/node_modules/libnpx/node_modules/dotenv/appveyor.yml b/deps/npm/node_modules/libnpx/node_modules/dotenv/appveyor.yml
deleted file mode 100644
index f55b8a4b6e..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/dotenv/appveyor.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-version: "{build}"
-build: off
-environment:
- matrix:
- - nodejs_version: "4"
- - nodejs_version: "6"
- - nodejs_version: "8"
- - nodejs_version: "9"
-install:
- - ps: Install-Product node $env:nodejs_version
- - npm install
-test_script:
- - npm test
diff --git a/deps/npm/node_modules/libnpx/node_modules/dotenv/lib/main.js b/deps/npm/node_modules/libnpx/node_modules/dotenv/lib/main.js
index 1f0df92719..eb96e7fd56 100644
--- a/deps/npm/node_modules/libnpx/node_modules/dotenv/lib/main.js
+++ b/deps/npm/node_modules/libnpx/node_modules/dotenv/lib/main.js
@@ -1,29 +1,28 @@
'use strict'
-const fs = require('fs')
-const path = require('path')
+var fs = require('fs')
/*
* Parses a string or buffer into an object
- * @param {(string|Buffer)} src - source to be parsed
- * @returns {Object} keys and values from src
+ * @param {String|Buffer} src - source to be parsed
+ * @returns {Object}
*/
function parse (src) {
- const obj = {}
+ var obj = {}
// convert Buffers before splitting into lines and processing
src.toString().split('\n').forEach(function (line) {
// matching "KEY' and 'VAL' in 'KEY=VAL'
- const keyValueArr = line.match(/^\s*([\w\.\-]+)\s*=\s*(.*)?\s*$/)
+ var keyValueArr = line.match(/^\s*([\w\.\-]+)\s*=\s*(.*)?\s*$/)
// matched?
if (keyValueArr != null) {
- const key = keyValueArr[1]
+ var key = keyValueArr[1]
// default undefined or missing values to empty string
- let value = keyValueArr[2] || ''
+ var value = keyValueArr[2] ? keyValueArr[2] : ''
// expand newlines in quoted values
- const len = value ? value.length : 0
+ var len = value ? value.length : 0
if (len > 0 && value.charAt(0) === '"' && value.charAt(len - 1) === '"') {
value = value.replace(/\\n/gm, '\n')
}
@@ -40,18 +39,16 @@ function parse (src) {
/*
* Main entry point into dotenv. Allows configuration before loading .env
- * @param {Object} options - options for parsing .env file
- * @param {string} [options.path=.env] - path to .env file
- * @param {string} [options.encoding=utf8] - encoding of .env file
- * @returns {Object} parsed object or error
+ * @param {Object} options - valid options: path ('.env'), encoding ('utf8')
+ * @returns {Boolean}
*/
function config (options) {
- let dotenvPath = path.resolve(process.cwd(), '.env')
- let encoding = 'utf8'
+ var path = '.env'
+ var encoding = 'utf8'
if (options) {
if (options.path) {
- dotenvPath = options.path
+ path = options.path
}
if (options.encoding) {
encoding = options.encoding
@@ -60,15 +57,13 @@ function config (options) {
try {
// specifying an encoding returns a string instead of a buffer
- const parsed = parse(fs.readFileSync(dotenvPath, { encoding }))
+ var parsedObj = parse(fs.readFileSync(path, { encoding: encoding }))
- Object.keys(parsed).forEach(function (key) {
- if (!process.env.hasOwnProperty(key)) {
- process.env[key] = parsed[key]
- }
+ Object.keys(parsedObj).forEach(function (key) {
+ process.env[key] = process.env[key] || parsedObj[key]
})
- return { parsed }
+ return { parsed: parsedObj }
} catch (e) {
return { error: e }
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/dotenv/package.json b/deps/npm/node_modules/libnpx/node_modules/dotenv/package.json
index f1d99fc5fc..19c25a8886 100644
--- a/deps/npm/node_modules/libnpx/node_modules/dotenv/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/dotenv/package.json
@@ -1,41 +1,45 @@
{
- "_from": "dotenv@^5.0.1",
- "_id": "dotenv@5.0.1",
- "_inBundle": false,
- "_integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==",
+ "_args": [
+ [
+ "dotenv@4.0.0",
+ "/Users/zkat/Documents/code/npx"
+ ]
+ ],
+ "_from": "dotenv@4.0.0",
+ "_id": "dotenv@4.0.0",
+ "_inBundle": true,
+ "_integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=",
"_location": "/libnpx/dotenv",
"_phantomChildren": {},
"_requested": {
- "type": "range",
+ "type": "version",
"registry": true,
- "raw": "dotenv@^5.0.1",
+ "raw": "dotenv@4.0.0",
"name": "dotenv",
"escapedName": "dotenv",
- "rawSpec": "^5.0.1",
+ "rawSpec": "4.0.0",
"saveSpec": null,
- "fetchSpec": "^5.0.1"
+ "fetchSpec": "4.0.0"
},
"_requiredBy": [
"/libnpx"
],
- "_resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz",
- "_shasum": "a5317459bd3d79ab88cff6e44057a6a3fbb1fcef",
- "_spec": "dotenv@^5.0.1",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx",
+ "_resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz",
+ "_spec": "4.0.0",
+ "_where": "/Users/zkat/Documents/code/npx",
"author": {
"name": "scottmotte"
},
"bugs": {
"url": "https://github.com/motdotla/dotenv/issues"
},
- "bundleDependencies": false,
"dependencies": {},
- "deprecated": false,
"description": "Loads environment variables from .env file",
"devDependencies": {
"babel": "5.8.23",
"coveralls": "^2.11.9",
- "lab": "^14.3.2",
+ "lab": "11.1.0",
+ "semver": "5.3.0",
"should": "11.1.1",
"sinon": "1.17.6",
"standard": "8.4.0",
@@ -62,12 +66,11 @@
"url": "git://github.com/motdotla/dotenv.git"
},
"scripts": {
- "ci:coverage": "lab test/* -r lcov | coveralls",
"lint": "standard",
"lint-md": "standard-markdown",
"postlint": "npm run lint-md",
"pretest": "npm run lint",
- "test": "lab"
+ "test": "lab test/* -r lcov | coveralls"
},
- "version": "5.0.1"
+ "version": "4.0.0"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/LICENSE b/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/LICENSE
new file mode 100644
index 0000000000..05eeeb88c2
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter
+
+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/libnpx/node_modules/npm-package-arg/README.md b/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/README.md
new file mode 100644
index 0000000000..d45032dc74
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/README.md
@@ -0,0 +1,81 @@
+# npm-package-arg
+
+Parses package name and specifier passed to commands like `npm install` or
+`npm cache add`, or as found in `package.json` dependency sections.
+
+## EXAMPLES
+
+```javascript
+var assert = require("assert")
+var npa = require("npm-package-arg")
+
+// Pass in the descriptor, and it'll return an object
+try {
+ var parsed = npa("@bar/foo@1.2")
+} catch (ex) {
+ …
+}
+```
+
+## USING
+
+`var npa = require('npm-package-arg')`
+
+### var result = npa(*arg*[, *where*])
+
+* *arg* - a string that you might pass to `npm install`, like:
+`foo@1.2`, `@bar/foo@1.2`, `foo@user/foo`, `http://x.com/foo.tgz`,
+`git+https://github.com/user/foo`, `bitbucket:user/foo`, `foo.tar.gz`,
+`../foo/bar/` or `bar`. If the *arg* you provide doesn't have a specifier
+part, eg `foo` then the specifier will default to `latest`.
+* *where* - Optionally the path to resolve file paths relative to. Defaults to `process.cwd()`
+
+**Throws** if the package name is invalid, a dist-tag is invalid or a URL's protocol is not supported.
+
+### var result = npa.resolve(*name*, *spec*[, *where*])
+
+* *name* - The name of the module you want to install. For example: `foo` or `@bar/foo`.
+* *spec* - The specifier indicating where and how you can get this module. Something like:
+`1.2`, `^1.7.17`, `http://x.com/foo.tgz`, `git+https://github.com/user/foo`,
+`bitbucket:user/foo`, `file:foo.tar.gz` or `file:../foo/bar/`. If not
+included then the default is `latest`.
+* *where* - Optionally the path to resolve file paths relative to. Defaults to `process.cwd()`
+
+**Throws** if the package name is invalid, a dist-tag is invalid or a URL's protocol is not supported.
+
+## RESULT OBJECT
+
+The objects that are returned by npm-package-arg contain the following
+keys:
+
+* `type` - One of the following strings:
+ * `git` - A git repo
+ * `tag` - A tagged version, like `"foo@latest"`
+ * `version` - A specific version number, like `"foo@1.2.3"`
+ * `range` - A version range, like `"foo@2.x"`
+ * `file` - A local `.tar.gz`, `.tar` or `.tgz` file.
+ * `directory` - A local directory.
+ * `remote` - An http url (presumably to a tgz)
+* `registry` - If true this specifier refers to a resource hosted on a
+ registry. This is true for `tag`, `version` and `range` types.
+* `name` - If known, the `name` field expected in the resulting pkg.
+* `scope` - If a name is something like `@org/module` then the `scope`
+ field will be set to `@org`. If it doesn't have a scoped name, then
+ scope is `null`.
+* `escapedName` - A version of `name` escaped to match the npm scoped packages
+ specification. Mostly used when making requests against a registry. When
+ `name` is `null`, `escapedName` will also be `null`.
+* `rawSpec` - The specifier part that was parsed out in calls to `npa(arg)`,
+ or the value of `spec` in calls to `npa.resolve(name, spec).
+* `saveSpec` - The normalized specifier, for saving to package.json files.
+ `null` for registry dependencies.
+* `fetchSpec` - The version of the specifier to be used to fetch this
+ resource. `null` for shortcuts to hosted git dependencies as there isn't
+ just one URL to try with them.
+* `gitRange` - If set, this is a semver specifier to match against git tags with
+* `gitCommittish` - If set, this is the specific committish to use with a git dependency.
+* `hosted` - If `from === 'hosted'` then this will be a `hosted-git-info`
+ object. This property is not included when serializing the object as
+ JSON.
+* `raw` - The original un-modified string that was provided. If called as
+ `npa.resolve(name, spec)` then this will be `name + '@' + spec`.
diff --git a/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/npa.js b/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/npa.js
new file mode 100644
index 0000000000..a61c057429
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/npa.js
@@ -0,0 +1,270 @@
+'use strict'
+module.exports = npa
+module.exports.resolve = resolve
+module.exports.Result = Result
+
+let url
+let HostedGit
+let semver
+let path
+let validatePackageName
+let osenv
+
+const isWindows = process.platform === 'win32' || global.FAKE_WINDOWS
+const hasSlashes = isWindows ? /\\|[/]/ : /[/]/
+const isURL = /^(?:git[+])?[a-z]+:/i
+const isFilename = /[.](?:tgz|tar.gz|tar)$/i
+
+function npa (arg, where) {
+ let name
+ let spec
+ const nameEndsAt = arg[0] === '@' ? arg.slice(1).indexOf('@') + 1 : arg.indexOf('@')
+ const namePart = nameEndsAt > 0 ? arg.slice(0, nameEndsAt) : arg
+ if (isURL.test(arg)) {
+ spec = arg
+ } else if (namePart[0] !== '@' && (hasSlashes.test(namePart) || isFilename.test(namePart))) {
+ spec = arg
+ } else if (nameEndsAt > 0) {
+ name = namePart
+ spec = arg.slice(nameEndsAt + 1)
+ } else {
+ if (!validatePackageName) validatePackageName = require('validate-npm-package-name')
+ const valid = validatePackageName(arg)
+ if (valid.validForOldPackages) {
+ name = arg
+ } else {
+ spec = arg
+ }
+ }
+ return resolve(name, spec, where, arg)
+}
+
+const isFilespec = isWindows ? /^(?:[.]|~[/]|[/\\]|[a-zA-Z]:)/ : /^(?:[.]|~[/]|[/]|[a-zA-Z]:)/
+
+function resolve (name, spec, where, arg) {
+ const res = new Result({
+ raw: arg,
+ name: name,
+ rawSpec: spec,
+ fromArgument: arg != null
+ })
+
+ if (name) res.setName(name)
+
+ if (spec && (isFilespec.test(spec) || /^file:/i.test(spec))) {
+ return fromFile(res, where)
+ }
+ if (!HostedGit) HostedGit = require('hosted-git-info')
+ const hosted = HostedGit.fromUrl(spec, {noGitPlus: true, noCommittish: true})
+ if (hosted) {
+ return fromHostedGit(res, hosted)
+ } else if (spec && isURL.test(spec)) {
+ return fromURL(res)
+ } else if (spec && (hasSlashes.test(spec) || isFilename.test(spec))) {
+ return fromFile(res, where)
+ } else {
+ return fromRegistry(res)
+ }
+}
+
+function invalidPackageName (name, valid) {
+ const err = new Error(`Invalid package name "${name}": ${valid.errors.join('; ')}`)
+ err.code = 'EINVALIDPACKAGENAME'
+ return err
+}
+function invalidTagName (name) {
+ const err = new Error(`Invalid tag name "${name}": Tags may not have any characters that encodeURIComponent encodes.`)
+ err.code = 'EINVALIDTAGNAME'
+ return err
+}
+
+function Result (opts) {
+ this.type = opts.type
+ this.registry = opts.registry
+ this.where = opts.where
+ if (opts.raw == null) {
+ this.raw = opts.name ? opts.name + '@' + opts.rawSpec : opts.rawSpec
+ } else {
+ this.raw = opts.raw
+ }
+ this.name = undefined
+ this.escapedName = undefined
+ this.scope = undefined
+ this.rawSpec = opts.rawSpec == null ? '' : opts.rawSpec
+ this.saveSpec = opts.saveSpec
+ this.fetchSpec = opts.fetchSpec
+ if (opts.name) this.setName(opts.name)
+ this.gitRange = opts.gitRange
+ this.gitCommittish = opts.gitCommittish
+ this.hosted = opts.hosted
+}
+Result.prototype = {}
+
+Result.prototype.setName = function (name) {
+ if (!validatePackageName) validatePackageName = require('validate-npm-package-name')
+ const valid = validatePackageName(name)
+ if (!valid.validForOldPackages) {
+ throw invalidPackageName(name, valid)
+ }
+ this.name = name
+ this.scope = name[0] === '@' ? name.slice(0, name.indexOf('/')) : undefined
+ // scoped packages in couch must have slash url-encoded, e.g. @foo%2Fbar
+ this.escapedName = name.replace('/', '%2f')
+ return this
+}
+
+Result.prototype.toString = function () {
+ const full = []
+ if (this.name != null && this.name !== '') full.push(this.name)
+ const spec = this.saveSpec || this.fetchSpec || this.rawSpec
+ if (spec != null && spec !== '') full.push(spec)
+ return full.length ? full.join('@') : this.raw
+}
+
+Result.prototype.toJSON = function () {
+ const result = Object.assign({}, this)
+ delete result.hosted
+ return result
+}
+
+function setGitCommittish (res, committish) {
+ if (committish != null && committish.length >= 7 && committish.slice(0, 7) === 'semver:') {
+ res.gitRange = decodeURIComponent(committish.slice(7))
+ res.gitCommittish = null
+ } else if (committish == null || committish === '') {
+ res.gitCommittish = 'master'
+ } else {
+ res.gitCommittish = committish
+ }
+ return res
+}
+
+const isAbsolutePath = /^[/]|^[A-Za-z]:/
+
+function resolvePath (where, spec) {
+ if (isAbsolutePath.test(spec)) return spec
+ if (!path) path = require('path')
+ return path.resolve(where, spec)
+}
+
+function isAbsolute (dir) {
+ if (dir[0] === '/') return true
+ if (/^[A-Za-z]:/.test(dir)) return true
+ return false
+}
+
+function fromFile (res, where) {
+ if (!where) where = process.cwd()
+ res.type = isFilename.test(res.rawSpec) ? 'file' : 'directory'
+ res.where = where
+
+ const spec = res.rawSpec.replace(/\\/g, '/')
+ .replace(/^file:[/]*([A-Za-z]:)/, '$1') // drive name paths on windows
+ .replace(/^file:(?:[/]*([~./]))?/, '$1')
+ if (/^~[/]/.test(spec)) {
+ // this is needed for windows and for file:~/foo/bar
+ if (!osenv) osenv = require('osenv')
+ res.fetchSpec = resolvePath(osenv.home(), spec.slice(2))
+ res.saveSpec = 'file:' + spec
+ } else {
+ res.fetchSpec = resolvePath(where, spec)
+ if (isAbsolute(spec)) {
+ res.saveSpec = 'file:' + spec
+ } else {
+ if (!path) path = require('path')
+ res.saveSpec = 'file:' + path.relative(where, res.fetchSpec)
+ }
+ }
+ return res
+}
+
+function fromHostedGit (res, hosted) {
+ res.type = 'git'
+ res.hosted = hosted
+ res.saveSpec = hosted.toString({noGitPlus: false, noCommittish: false})
+ res.fetchSpec = hosted.getDefaultRepresentation() === 'shortcut' ? null : hosted.toString()
+ return setGitCommittish(res, hosted.committish)
+}
+
+function unsupportedURLType (protocol, spec) {
+ const err = new Error(`Unsupported URL Type "${protocol}": ${spec}`)
+ err.code = 'EUNSUPPORTEDPROTOCOL'
+ return err
+}
+
+function matchGitScp (spec) {
+ // git ssh specifiers are overloaded to also use scp-style git
+ // specifiers, so we have to parse those out and treat them special.
+ // They are NOT true URIs, so we can't hand them to `url.parse`.
+ //
+ // This regex looks for things that look like:
+ // git+ssh://git@my.custom.git.com:username/project.git#deadbeef
+ //
+ // ...and various combinations. The username in the beginning is *required*.
+ const matched = spec.match(/^git\+ssh:\/\/([^:#]+:[^#]+(?:\.git)?)(?:#(.*))?$/i)
+ return matched && !matched[1].match(/:[0-9]+\/?.*$/i) && {
+ fetchSpec: matched[1],
+ gitCommittish: matched[2] || 'master'
+ }
+}
+
+function fromURL (res) {
+ if (!url) url = require('url')
+ const urlparse = url.parse(res.rawSpec)
+ res.saveSpec = res.rawSpec
+ // check the protocol, and then see if it's git or not
+ switch (urlparse.protocol) {
+ case 'git:':
+ case 'git+http:':
+ case 'git+https:':
+ case 'git+rsync:':
+ case 'git+ftp:':
+ case 'git+file:':
+ case 'git+ssh:':
+ res.type = 'git'
+ const match = urlparse.protocol === 'git+ssh:' && matchGitScp(res.rawSpec)
+ if (match) {
+ res.fetchSpec = match.fetchSpec
+ res.gitCommittish = match.gitCommittish
+ } else {
+ setGitCommittish(res, urlparse.hash != null ? urlparse.hash.slice(1) : '')
+ urlparse.protocol = urlparse.protocol.replace(/^git[+]/, '')
+ delete urlparse.hash
+ res.fetchSpec = url.format(urlparse)
+ }
+ break
+ case 'http:':
+ case 'https:':
+ res.type = 'remote'
+ res.fetchSpec = res.saveSpec
+ break
+
+ default:
+ throw unsupportedURLType(urlparse.protocol, res.rawSpec)
+ }
+
+ return res
+}
+
+function fromRegistry (res) {
+ res.registry = true
+ const spec = res.rawSpec === '' ? 'latest' : res.rawSpec
+ // no save spec for registry components as we save based on the fetched
+ // version, not on the argument so this can't compute that.
+ res.saveSpec = null
+ res.fetchSpec = spec
+ if (!semver) semver = require('semver')
+ const version = semver.valid(spec, true)
+ const range = semver.validRange(spec, true)
+ if (version) {
+ res.type = 'version'
+ } else if (range) {
+ res.type = 'range'
+ } else {
+ if (encodeURIComponent(spec) !== spec) {
+ throw invalidTagName(spec)
+ }
+ res.type = 'tag'
+ }
+ return res
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/package.json b/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/package.json
new file mode 100644
index 0000000000..550a575a9f
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/package.json
@@ -0,0 +1,64 @@
+{
+ "_from": "npm-package-arg@^5.1.2",
+ "_id": "npm-package-arg@5.1.2",
+ "_inBundle": false,
+ "_integrity": "sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA==",
+ "_location": "/libnpx/npm-package-arg",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "npm-package-arg@^5.1.2",
+ "name": "npm-package-arg",
+ "escapedName": "npm-package-arg",
+ "rawSpec": "^5.1.2",
+ "saveSpec": null,
+ "fetchSpec": "^5.1.2"
+ },
+ "_requiredBy": [
+ "/libnpx"
+ ],
+ "_resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz",
+ "_shasum": "fb18d17bb61e60900d6312619919bd753755ab37",
+ "_spec": "npm-package-arg@^5.1.2",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx",
+ "author": {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/npm-package-arg/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "hosted-git-info": "^2.4.2",
+ "osenv": "^0.1.4",
+ "semver": "^5.1.0",
+ "validate-npm-package-name": "^3.0.0"
+ },
+ "deprecated": false,
+ "description": "Parse the things that can be arguments to `npm install`",
+ "devDependencies": {
+ "standard": "9.0.2",
+ "tap": "^10.3.0"
+ },
+ "directories": {
+ "test": "test"
+ },
+ "files": [
+ "npa.js"
+ ],
+ "homepage": "https://github.com/npm/npm-package-arg",
+ "license": "ISC",
+ "main": "npa.js",
+ "name": "npm-package-arg",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/npm-package-arg.git"
+ },
+ "scripts": {
+ "test": "standard && tap -J --coverage test/*.js"
+ },
+ "version": "5.1.2"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/y18n/CHANGELOG.md b/deps/npm/node_modules/libnpx/node_modules/y18n/CHANGELOG.md
deleted file mode 100644
index c259076ad6..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/y18n/CHANGELOG.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-
-<a name="4.0.0"></a>
-# [4.0.0](https://github.com/yargs/y18n/compare/v3.2.1...v4.0.0) (2017-10-10)
-
-
-### Bug Fixes
-
-* allow support for falsy values like 0 in tagged literal ([#45](https://github.com/yargs/y18n/issues/45)) ([c926123](https://github.com/yargs/y18n/commit/c926123))
-
-
-### Features
-
-* **__:** added tagged template literal support ([#44](https://github.com/yargs/y18n/issues/44)) ([0598daf](https://github.com/yargs/y18n/commit/0598daf))
-
-
-### BREAKING CHANGES
-
-* **__:** dropping Node 0.10/Node 0.12 support
diff --git a/deps/npm/node_modules/libnpx/node_modules/y18n/README.md b/deps/npm/node_modules/libnpx/node_modules/y18n/README.md
index 826474f209..9859458f20 100644
--- a/deps/npm/node_modules/libnpx/node_modules/y18n/README.md
+++ b/deps/npm/node_modules/libnpx/node_modules/y18n/README.md
@@ -4,7 +4,6 @@
[![Coverage Status][coveralls-image]][coveralls-url]
[![NPM version][npm-image]][npm-url]
[![js-standard-style][standard-image]][standard-url]
-[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
The bare-bones internationalization library used by yargs.
@@ -24,19 +23,6 @@ output:
`my awesome string foo`
-_using tagged template literals_
-
-```js
-var __ = require('y18n').__
-var str = 'foo'
-
-console.log(__`my awesome string ${str}`)
-```
-
-output:
-
-`my awesome string foo`
-
_pluralization support:_
```js
@@ -74,10 +60,6 @@ Create an instance of y18n with the config provided, options include:
Print a localized string, `%s` will be replaced with `arg`s.
-This function can also be used as a tag for a template literal. You can use it
-like this: <code>__&#96;hello ${'world'}&#96;</code>. This will be equivalent to
-`__('hello %s', 'world')`.
-
### y18n.\_\_n(singularString, pluralString, count, arg, arg, arg)
Print a localized string with appropriate pluralization. If `%d` is provided
diff --git a/deps/npm/node_modules/libnpx/node_modules/y18n/index.js b/deps/npm/node_modules/libnpx/node_modules/y18n/index.js
index d720681628..91b159e342 100644
--- a/deps/npm/node_modules/libnpx/node_modules/y18n/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/y18n/index.js
@@ -16,9 +16,6 @@ function Y18N (opts) {
}
Y18N.prototype.__ = function () {
- if (typeof arguments[0] !== 'string') {
- return this._taggedLiteral.apply(this, arguments)
- }
var args = Array.prototype.slice.call(arguments)
var str = args.shift()
var cb = function () {} // start with noop.
@@ -43,19 +40,6 @@ Y18N.prototype.__ = function () {
return util.format.apply(util, [this.cache[this.locale][str] || str].concat(args))
}
-Y18N.prototype._taggedLiteral = function (parts) {
- var args = arguments
- var str = ''
- parts.forEach(function (part, i) {
- var arg = args[i + 1]
- str += part
- if (typeof arg !== 'undefined') {
- str += '%s'
- }
- })
- return this.__.apply(null, [str].concat([].slice.call(arguments, 1)))
-}
-
Y18N.prototype._enqueueWrite = function (work) {
this.writeQueue.push(work)
if (this.writeQueue.length === 1) this._processWriteQueue()
diff --git a/deps/npm/node_modules/libnpx/node_modules/y18n/package.json b/deps/npm/node_modules/libnpx/node_modules/y18n/package.json
index e60020d7f5..78945dc782 100644
--- a/deps/npm/node_modules/libnpx/node_modules/y18n/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/y18n/package.json
@@ -1,27 +1,33 @@
{
- "_from": "y18n@^4.0.0",
- "_id": "y18n@4.0.0",
- "_inBundle": false,
- "_integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "_args": [
+ [
+ "y18n@3.2.1",
+ "/Users/zkat/Documents/code/npx"
+ ]
+ ],
+ "_from": "y18n@3.2.1",
+ "_id": "y18n@3.2.1",
+ "_inBundle": true,
+ "_integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
"_location": "/libnpx/y18n",
"_phantomChildren": {},
"_requested": {
- "type": "range",
+ "type": "version",
"registry": true,
- "raw": "y18n@^4.0.0",
+ "raw": "y18n@3.2.1",
"name": "y18n",
"escapedName": "y18n",
- "rawSpec": "^4.0.0",
+ "rawSpec": "3.2.1",
"saveSpec": null,
- "fetchSpec": "^4.0.0"
+ "fetchSpec": "3.2.1"
},
"_requiredBy": [
- "/libnpx"
+ "/libnpx",
+ "/libnpx/yargs"
],
- "_resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "_shasum": "95ef94f85ecc81d007c264e190a120f0a3c8566b",
- "_spec": "y18n@^4.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx",
+ "_resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "_spec": "3.2.1",
+ "_where": "/Users/zkat/Documents/code/npx",
"author": {
"name": "Ben Coe",
"email": "ben@npmjs.com"
@@ -29,17 +35,14 @@
"bugs": {
"url": "https://github.com/yargs/y18n/issues"
},
- "bundleDependencies": false,
- "deprecated": false,
"description": "the bare-bones internationalization library used by yargs",
"devDependencies": {
- "chai": "^4.0.1",
- "coveralls": "^3.0.0",
- "mocha": "^4.0.1",
- "nyc": "^11.0.1",
+ "chai": "^3.4.1",
+ "coveralls": "^2.11.6",
+ "mocha": "^2.3.4",
+ "nyc": "^6.1.1",
"rimraf": "^2.5.0",
- "standard": "^10.0.0-beta.0",
- "standard-version": "^4.2.0"
+ "standard": "^5.4.1"
},
"files": [
"index.js"
@@ -60,8 +63,7 @@
"scripts": {
"coverage": "nyc report --reporter=text-lcov | coveralls",
"pretest": "standard",
- "release": "standard-version",
"test": "nyc mocha"
},
- "version": "4.0.0"
+ "version": "3.2.1"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/CHANGELOG.md b/deps/npm/node_modules/libnpx/node_modules/yargs/CHANGELOG.md
index 0eaf2f33ed..95f4141253 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/CHANGELOG.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/CHANGELOG.md
@@ -2,176 +2,6 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-<a name="11.0.0"></a>
-# [11.0.0](https://github.com/yargs/yargs/compare/v10.1.2...v11.0.0) (2018-01-22)
-
-
-### Bug Fixes
-
-* Set implicit nargs=1 when type=number requiresArg=true ([#1050](https://github.com/yargs/yargs/issues/1050)) ([2b56812](https://github.com/yargs/yargs/commit/2b56812))
-
-
-### Features
-
-* requiresArg is now simply an alias for nargs(1) ([#1054](https://github.com/yargs/yargs/issues/1054)) ([a3ddacc](https://github.com/yargs/yargs/commit/a3ddacc))
-
-
-### BREAKING CHANGES
-
-* requiresArg now has significantly different error output, matching nargs.
-
-
-
-<a name="10.1.2"></a>
-## [10.1.2](https://github.com/yargs/yargs/compare/v10.1.1...v10.1.2) (2018-01-17)
-
-
-### Bug Fixes
-
-* requiresArg should only be enforced if argument exists ([#1043](https://github.com/yargs/yargs/issues/1043)) ([fbf41ae](https://github.com/yargs/yargs/commit/fbf41ae))
-
-
-
-<a name="10.1.1"></a>
-## [10.1.1](https://github.com/yargs/yargs/compare/v10.1.0...v10.1.1) (2018-01-09)
-
-
-### Bug Fixes
-
-* Add `dirname` sanity check on `findUp` ([#1036](https://github.com/yargs/yargs/issues/1036)) ([331d103](https://github.com/yargs/yargs/commit/331d103))
-
-
-
-<a name="10.1.0"></a>
-# [10.1.0](https://github.com/yargs/yargs/compare/v10.0.3...v10.1.0) (2018-01-01)
-
-
-### Bug Fixes
-
-* 'undefined' should be taken to mean no argument was provided ([#1015](https://github.com/yargs/yargs/issues/1015)) ([c679e90](https://github.com/yargs/yargs/commit/c679e90))
-
-
-### Features
-
-* add missing simple chinese locale strings ([#1004](https://github.com/yargs/yargs/issues/1004)) ([3cc24ec](https://github.com/yargs/yargs/commit/3cc24ec))
-* add Norwegian Nynorsk translations ([#1028](https://github.com/yargs/yargs/issues/1028)) ([a5ac213](https://github.com/yargs/yargs/commit/a5ac213))
-* async command handlers ([#1001](https://github.com/yargs/yargs/issues/1001)) ([241124b](https://github.com/yargs/yargs/commit/241124b))
-* middleware ([#881](https://github.com/yargs/yargs/issues/881)) ([77b8dbc](https://github.com/yargs/yargs/commit/77b8dbc))
-
-
-
-<a name="10.0.3"></a>
-## [10.0.3](https://github.com/yargs/yargs/compare/v10.0.2...v10.0.3) (2017-10-21)
-
-
-### Bug Fixes
-
-* parse array rather than string, so that quotes are safe ([#993](https://github.com/yargs/yargs/issues/993)) ([c351685](https://github.com/yargs/yargs/commit/c351685))
-
-
-
-<a name="10.0.2"></a>
-## [10.0.2](https://github.com/yargs/yargs/compare/v10.0.1...v10.0.2) (2017-10-21)
-
-
-### Bug Fixes
-
-* fix tiny spacing issue with usage ([#992](https://github.com/yargs/yargs/issues/992)) ([7871327](https://github.com/yargs/yargs/commit/7871327))
-
-
-
-<a name="10.0.1"></a>
-## [10.0.1](https://github.com/yargs/yargs/compare/v10.0.0...v10.0.1) (2017-10-19)
-
-
-### Bug Fixes
-
-* help strings for nested commands were missing parent commands ([#990](https://github.com/yargs/yargs/issues/990)) ([cd1ca15](https://github.com/yargs/yargs/commit/cd1ca15))
-* use correct completion command in generated completion script ([#988](https://github.com/yargs/yargs/issues/988)) ([3c8ac1d](https://github.com/yargs/yargs/commit/3c8ac1d))
-
-
-
-<a name="10.0.0"></a>
-# [10.0.0](https://github.com/yargs/yargs/compare/v9.1.0...v10.0.0) (2017-10-18)
-
-
-### Bug Fixes
-
-* config and normalize can be disabled with false ([#952](https://github.com/yargs/yargs/issues/952)) ([3bb8771](https://github.com/yargs/yargs/commit/3bb8771))
-* less eager help command execution ([#972](https://github.com/yargs/yargs/issues/972)) ([8c1d7bf](https://github.com/yargs/yargs/commit/8c1d7bf))
-* the positional argument parse was clobbering global flag arguments ([#984](https://github.com/yargs/yargs/issues/984)) ([7e58453](https://github.com/yargs/yargs/commit/7e58453))
-
-
-### Features
-
-* .usage() can now be used to configure a default command ([#975](https://github.com/yargs/yargs/issues/975)) ([7269531](https://github.com/yargs/yargs/commit/7269531))
-* hidden options are now explicitly indicated using "hidden" flag ([#962](https://github.com/yargs/yargs/issues/962)) ([280d0d6](https://github.com/yargs/yargs/commit/280d0d6))
-* introduce .positional() for configuring positional arguments ([#967](https://github.com/yargs/yargs/issues/967)) ([cb16460](https://github.com/yargs/yargs/commit/cb16460))
-* replace $0 with file basename ([#983](https://github.com/yargs/yargs/issues/983)) ([20bb99b](https://github.com/yargs/yargs/commit/20bb99b))
-
-
-### BREAKING CHANGES
-
-* .usage() no longer accepts an options object as the second argument. It can instead be used as an alias for configuring a default command.
-* previously hidden options were simply implied using a falsy description
-* help command now only executes if it's the last positional in argv._
-
-
-
-<a name="9.1.0"></a>
-# [9.1.0](https://github.com/yargs/yargs/compare/v9.0.1...v9.1.0) (2017-09-25)
-
-
-### Bug Fixes
-
-* **command:** Run default cmd even if the only cmd ([#950](https://github.com/yargs/yargs/issues/950)) ([7b22203](https://github.com/yargs/yargs/commit/7b22203))
-
-
-### Features
-
-* multiple usage calls are now collected, not replaced ([#958](https://github.com/yargs/yargs/issues/958)) ([74a38b2](https://github.com/yargs/yargs/commit/74a38b2))
-
-
-
-<a name="9.0.1"></a>
-## [9.0.1](https://github.com/yargs/yargs/compare/v9.0.0...v9.0.1) (2017-09-17)
-
-
-### Bug Fixes
-
-* implications fails only displayed once ([#954](https://github.com/yargs/yargs/issues/954)) ([ac8088b](https://github.com/yargs/yargs/commit/ac8088b))
-
-
-
-<a name="9.0.0"></a>
-# [9.0.0](https://github.com/yargs/yargs/compare/v8.0.2...v9.0.0) (2017-09-03)
-
-
-### Bug Fixes
-
-* 'undefined' default value for choices resulted in validation failing ([782b896](https://github.com/yargs/yargs/commit/782b896))
-* address bug with handling of arrays of implications ([c240661](https://github.com/yargs/yargs/commit/c240661))
-* defaulting keys to 'undefined' interfered with conflicting key logic ([a8e0cff](https://github.com/yargs/yargs/commit/a8e0cff))
-* don't bother calling JSON.stringify() on string default values ([#891](https://github.com/yargs/yargs/issues/891)) ([628be21](https://github.com/yargs/yargs/commit/628be21))
-* exclude positional arguments from completion output ([#927](https://github.com/yargs/yargs/issues/927)) ([71c7ec7](https://github.com/yargs/yargs/commit/71c7ec7))
-* strict mode should not fail for hidden options ([#949](https://github.com/yargs/yargs/issues/949)) ([0e0c58d](https://github.com/yargs/yargs/commit/0e0c58d))
-
-
-### Features
-
-* allow implies and conflicts to accept array values ([#922](https://github.com/yargs/yargs/issues/922)) ([abdc7da](https://github.com/yargs/yargs/commit/abdc7da))
-* allow parse with no arguments as alias for yargs.argv ([#944](https://github.com/yargs/yargs/issues/944)) ([a9f03e7](https://github.com/yargs/yargs/commit/a9f03e7))
-* enable .help() and .version() by default ([#912](https://github.com/yargs/yargs/issues/912)) ([1ef44e0](https://github.com/yargs/yargs/commit/1ef44e0))
-* to allow both undefined and nulls, for benefit of TypeScript ([#945](https://github.com/yargs/yargs/issues/945)) ([792564d](https://github.com/yargs/yargs/commit/792564d))
-
-
-### BREAKING CHANGES
-
-* version() and help() are now enabled by default, and show up in help output; the implicit help command can no longer be enabled/disabled independently from the help command itself (which can now be disabled).
-* parse() now behaves as an alias for .argv, unless a parseCallback is provided.
-
-
-
<a name="8.0.2"></a>
## [8.0.2](https://github.com/yargs/yargs/compare/v8.0.1...v8.0.2) (2017-06-12)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/README.md b/deps/npm/node_modules/libnpx/node_modules/yargs/README.md
index d16b82d177..20a18da2ca 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/README.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/README.md
@@ -6,9 +6,7 @@
[![Windows Tests][windows-image]][windows-url]
[![js-standard-style][standard-image]][standard-url]
[![Conventional Commits][conventional-commits-image]][conventional-commits-url]
-[![Slack][slack-image]][slack-url]
-
-_Having problems? want to contribute? join our [community slack](http://devtoolscommunity.herokuapp.com)_.
+[![Gitter][gitter-image]][gitter-url]
> Yargs be a node.js library fer hearties tryin' ter parse optstrings.
@@ -55,13 +53,12 @@ Retreat from the xupptumblers!
```js
#!/usr/bin/env node
-require('yargs') // eslint-disable-line
- .command('serve [port]', 'start the server', (yargs) => {
- yargs
- .positional('port', {
- describe: 'port to bind on',
- default: 5000
- })
+const yargs = require('yargs') // eslint-disable-line
+ .command('serve', 'start the server', (yargs) => {
+ yargs.option('port', {
+ describe: 'port to bind on',
+ default: 5000
+ })
}, (argv) => {
if (argv.verbose) console.info(`start server on :${argv.port}`)
serve(argv.port)
@@ -70,11 +67,10 @@ require('yargs') // eslint-disable-line
alias: 'v',
default: false
})
+ .help()
.argv
```
-Run the example above with `--help` to see the help for the application.
-
## Table of Contents
* [Yargs' API](/docs/api.md)
@@ -103,5 +99,5 @@ Run the example above with `--help` to see the help for the application.
[standard-url]: http://standardjs.com/
[conventional-commits-image]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg
[conventional-commits-url]: https://conventionalcommits.org/
-[slack-image]: http://devtoolscommunity.herokuapp.com/badge.svg
-[slack-url]: http://devtoolscommunity.herokuapp.com
+[gitter-image]: https://img.shields.io/gitter/room/nwjs/nw.js.svg?maxAge=2592000
+[gitter-url]: https://gitter.im/yargs/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/completion.sh.hbs b/deps/npm/node_modules/libnpx/node_modules/yargs/completion.sh.hbs
index 819c8ae83a..14445b834e 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/completion.sh.hbs
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/completion.sh.hbs
@@ -2,8 +2,8 @@
#
# yargs command completion script
#
-# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc
-# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX.
+# Installation: {{app_path}} completion >> ~/.bashrc
+# or {{app_path}} completion >> ~/.bash_profile on OSX.
#
_yargs_completions()
{
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/index.js
index dfed54bc51..37450cf7a6 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/index.js
@@ -1,4 +1,3 @@
-'use strict'
// classic singleton yargs API, to use yargs
// without running as a singleton do:
// require('yargs/yargs')(process.argv.slice(2))
@@ -22,7 +21,7 @@ function Argv (processArgs, cwd) {
to get a parsed version of process.argv.
*/
function singletonify (inst) {
- Object.keys(inst).forEach((key) => {
+ Object.keys(inst).forEach(function (key) {
if (key === 'argv') {
Argv.__defineGetter__(key, inst.__lookupGetter__(key))
} else {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/apply-extends.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/apply-extends.js
index 3005848e3c..5fc69fab16 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/apply-extends.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/apply-extends.js
@@ -1,14 +1,13 @@
+var fs = require('fs')
+var path = require('path')
+var assign = require('./assign')
+var YError = require('./yerror')
-'use strict'
-const fs = require('fs')
-const path = require('path')
-const YError = require('./yerror')
-
-let previouslyVisitedConfigs = []
+var previouslyVisitedConfigs = []
function checkForCircularExtends (path) {
if (previouslyVisitedConfigs.indexOf(path) > -1) {
- throw new YError(`Circular extended configurations: '${path}'.`)
+ throw new YError("Circular extended configurations: '" + path + "'.")
}
}
@@ -17,12 +16,12 @@ function getPathToDefaultConfig (cwd, pathToExtend) {
}
function applyExtends (config, cwd) {
- let defaultConfig = {}
+ var defaultConfig = {}
if (config.hasOwnProperty('extends')) {
if (typeof config.extends !== 'string') return defaultConfig
- const isPath = /\.json$/.test(config.extends)
- let pathToDefault = null
+ var isPath = /\.json$/.test(config.extends)
+ var pathToDefault = null
if (!isPath) {
try {
pathToDefault = require.resolve(config.extends)
@@ -47,7 +46,7 @@ function applyExtends (config, cwd) {
previouslyVisitedConfigs = []
- return Object.assign({}, defaultConfig, config)
+ return assign(defaultConfig, config)
}
module.exports = applyExtends
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js
index ed1d598713..d3e72fce57 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/argsert.js
@@ -1,21 +1,20 @@
-'use strict'
const command = require('./command')()
const YError = require('./yerror')
const positionName = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth']
-module.exports = function argsert (expected, callerArguments, length) {
+module.exports = function (expected, callerArguments, length) {
// TODO: should this eventually raise an exception.
try {
// preface the argument description with "cmd", so
// that we can run it through yargs' command parser.
- let position = 0
- let parsed = {demanded: [], optional: []}
+ var position = 0
+ var parsed = {demanded: [], optional: []}
if (typeof expected === 'object') {
length = callerArguments
callerArguments = expected
} else {
- parsed = command.parseCommand(`cmd ${expected}`)
+ parsed = command.parseCommand('cmd ' + expected)
}
const args = [].slice.call(callerArguments)
@@ -23,27 +22,33 @@ module.exports = function argsert (expected, callerArguments, length) {
length = length || args.length
if (length < parsed.demanded.length) {
- throw new YError(`Not enough arguments provided. Expected ${parsed.demanded.length} but received ${args.length}.`)
+ throw new YError('Not enough arguments provided. Expected ' + parsed.demanded.length +
+ ' but received ' + args.length + '.')
}
const totalCommands = parsed.demanded.length + parsed.optional.length
if (length > totalCommands) {
- throw new YError(`Too many arguments provided. Expected max ${totalCommands} but received ${length}.`)
+ throw new YError('Too many arguments provided. Expected max ' + totalCommands +
+ ' but received ' + length + '.')
}
- parsed.demanded.forEach((demanded) => {
+ parsed.demanded.forEach(function (demanded) {
const arg = args.shift()
const observedType = guessType(arg)
- const matchingTypes = demanded.cmd.filter(type => type === observedType || type === '*')
+ const matchingTypes = demanded.cmd.filter(function (type) {
+ return type === observedType || type === '*'
+ })
if (matchingTypes.length === 0) argumentTypeError(observedType, demanded.cmd, position, false)
position += 1
})
- parsed.optional.forEach((optional) => {
+ parsed.optional.forEach(function (optional) {
if (args.length === 0) return
const arg = args.shift()
const observedType = guessType(arg)
- const matchingTypes = optional.cmd.filter(type => type === observedType || type === '*')
+ const matchingTypes = optional.cmd.filter(function (type) {
+ return type === observedType || type === '*'
+ })
if (matchingTypes.length === 0) argumentTypeError(observedType, optional.cmd, position, true)
position += 1
})
@@ -62,5 +67,6 @@ function guessType (arg) {
}
function argumentTypeError (observedType, allowedTypes, position, optional) {
- throw new YError(`Invalid ${positionName[position] || 'manyith'} argument. Expected ${allowedTypes.join(' or ')} but received ${observedType}.`)
+ throw new YError('Invalid ' + (positionName[position] || 'manyith') + ' argument.' +
+ ' Expected ' + allowedTypes.join(' or ') + ' but received ' + observedType + '.')
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/assign.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/assign.js
new file mode 100644
index 0000000000..7d5a3cef24
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/assign.js
@@ -0,0 +1,15 @@
+// lazy Object.assign logic that only works for merging
+// two objects; eventually we should replace this with Object.assign.
+module.exports = function assign (defaults, configuration) {
+ var o = {}
+ configuration = configuration || {}
+
+ Object.keys(defaults).forEach(function (k) {
+ o[k] = defaults[k]
+ })
+ Object.keys(configuration).forEach(function (k) {
+ o[k] = configuration[k]
+ })
+
+ return o
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/command.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/command.js
index 65322dbbdb..3567cf9532 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/command.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/command.js
@@ -1,57 +1,67 @@
-'use strict'
-
-const inspect = require('util').inspect
const path = require('path')
-const Parser = require('yargs-parser')
+const inspect = require('util').inspect
+const camelCase = require('camelcase')
-const DEFAULT_MARKER = /(^\*)|(^\$0)/
+const DEFAULT_MARKER = '*'
// handles parsing positional arguments,
// and populating argv with said positional
// arguments.
-module.exports = function command (yargs, usage, validation) {
+module.exports = function (yargs, usage, validation) {
const self = {}
- let handlers = {}
- let aliasMap = {}
- let defaultCommand
- self.addHandler = function addHandler (cmd, description, builder, handler, middlewares) {
- let aliases = []
- handler = handler || (() => {})
- middlewares = middlewares || []
+
+ var handlers = {}
+ var aliasMap = {}
+ var defaultCommand
+ self.addHandler = function (cmd, description, builder, handler) {
+ var aliases = []
+ handler = handler || function () {}
+
if (Array.isArray(cmd)) {
aliases = cmd.slice(1)
cmd = cmd[0]
} else if (typeof cmd === 'object') {
- let command = (Array.isArray(cmd.command) || typeof cmd.command === 'string') ? cmd.command : moduleName(cmd)
+ var command = (Array.isArray(cmd.command) || typeof cmd.command === 'string') ? cmd.command : moduleName(cmd)
if (cmd.aliases) command = [].concat(command).concat(cmd.aliases)
- self.addHandler(command, extractDesc(cmd), cmd.builder, cmd.handler, cmd.middlewares)
+ self.addHandler(command, extractDesc(cmd), cmd.builder, cmd.handler)
return
}
// allow a module to be provided instead of separate builder and handler
if (typeof builder === 'object' && builder.builder && typeof builder.handler === 'function') {
- self.addHandler([cmd].concat(aliases), description, builder.builder, builder.handler, builder.middlewares)
+ self.addHandler([cmd].concat(aliases), description, builder.builder, builder.handler)
return
}
// parse positionals out of cmd string
- const parsedCommand = self.parseCommand(cmd)
+ var parsedCommand = self.parseCommand(cmd)
// remove positional args from aliases only
- aliases = aliases.map(alias => self.parseCommand(alias).cmd)
+ aliases = aliases.map(function (alias) {
+ return self.parseCommand(alias).cmd
+ })
// check for default and filter out '*''
- let isDefault = false
- const parsedAliases = [parsedCommand.cmd].concat(aliases).filter((c) => {
- if (DEFAULT_MARKER.test(c)) {
+ var isDefault = false
+ var parsedAliases = [parsedCommand.cmd].concat(aliases).filter(function (c) {
+ if (c === DEFAULT_MARKER) {
isDefault = true
return false
}
return true
})
- // standardize on $0 for default command.
- if (parsedAliases.length === 0 && isDefault) parsedAliases.push('$0')
+ // short-circuit if default with no aliases
+ if (isDefault && parsedAliases.length === 0) {
+ defaultCommand = {
+ original: cmd.replace(DEFAULT_MARKER, '').trim(),
+ handler: handler,
+ builder: builder || {},
+ demanded: parsedCommand.demanded,
+ optional: parsedCommand.optional
+ }
+ return
+ }
// shift cmd and aliases after filtering out '*'
if (isDefault) {
@@ -61,7 +71,7 @@ module.exports = function command (yargs, usage, validation) {
}
// populate aliasMap
- aliases.forEach((alias) => {
+ aliases.forEach(function (alias) {
aliasMap[alias] = parsedCommand.cmd
})
@@ -71,10 +81,8 @@ module.exports = function command (yargs, usage, validation) {
handlers[parsedCommand.cmd] = {
original: cmd,
- description: description,
- handler,
+ handler: handler,
builder: builder || {},
- middlewares: middlewares || [],
demanded: parsedCommand.demanded,
optional: parsedCommand.optional
}
@@ -82,16 +90,16 @@ module.exports = function command (yargs, usage, validation) {
if (isDefault) defaultCommand = handlers[parsedCommand.cmd]
}
- self.addDirectory = function addDirectory (dir, context, req, callerFile, opts) {
+ self.addDirectory = function (dir, context, req, callerFile, opts) {
opts = opts || {}
// disable recursion to support nested directories of subcommands
if (typeof opts.recurse !== 'boolean') opts.recurse = false
// exclude 'json', 'coffee' from require-directory defaults
if (!Array.isArray(opts.extensions)) opts.extensions = ['js']
// allow consumer to define their own visitor function
- const parentVisit = typeof opts.visit === 'function' ? opts.visit : o => o
+ const parentVisit = typeof opts.visit === 'function' ? opts.visit : function (o) { return o }
// call addHandler via visitor function
- opts.visit = function visit (obj, joined, filename) {
+ opts.visit = function (obj, joined, filename) {
const visited = parentVisit(obj, joined, filename)
// allow consumer to skip modules with their own visitor
if (visited) {
@@ -111,7 +119,7 @@ module.exports = function command (yargs, usage, validation) {
// if module was not require()d and no name given, throw error
function moduleName (obj) {
const mod = require('which-module')(obj)
- if (!mod) throw new Error(`No command name given for module: ${inspect(obj)}`)
+ if (!mod) throw new Error('No command name given for module: ' + inspect(obj))
return commandFromFilename(mod.filename)
}
@@ -121,62 +129,66 @@ module.exports = function command (yargs, usage, validation) {
}
function extractDesc (obj) {
- for (let keys = ['describe', 'description', 'desc'], i = 0, l = keys.length, test; i < l; i++) {
+ for (var keys = ['describe', 'description', 'desc'], i = 0, l = keys.length, test; i < l; i++) {
test = obj[keys[i]]
if (typeof test === 'string' || typeof test === 'boolean') return test
}
return false
}
- self.parseCommand = function parseCommand (cmd) {
- const extraSpacesStrippedCommand = cmd.replace(/\s{2,}/g, ' ')
- const splitCommand = extraSpacesStrippedCommand.split(/\s+(?![^[]*]|[^<]*>)/)
- const bregex = /\.*[\][<>]/g
- const parsedCommand = {
+ self.parseCommand = function (cmd) {
+ var extraSpacesStrippedCommand = cmd.replace(/\s{2,}/g, ' ')
+ var splitCommand = extraSpacesStrippedCommand.split(/\s+(?![^[]*]|[^<]*>)/)
+ var bregex = /\.*[\][<>]/g
+ var parsedCommand = {
cmd: (splitCommand.shift()).replace(bregex, ''),
demanded: [],
optional: []
}
- splitCommand.forEach((cmd, i) => {
- let variadic = false
+ splitCommand.forEach(function (cmd, i) {
+ var variadic = false
cmd = cmd.replace(/\s/g, '')
if (/\.+[\]>]/.test(cmd) && i === splitCommand.length - 1) variadic = true
if (/^\[/.test(cmd)) {
parsedCommand.optional.push({
cmd: cmd.replace(bregex, '').split('|'),
- variadic
+ variadic: variadic
})
} else {
parsedCommand.demanded.push({
cmd: cmd.replace(bregex, '').split('|'),
- variadic
+ variadic: variadic
})
}
})
return parsedCommand
}
- self.getCommands = () => Object.keys(handlers).concat(Object.keys(aliasMap))
+ self.getCommands = function () {
+ return Object.keys(handlers).concat(Object.keys(aliasMap))
+ }
- self.getCommandHandlers = () => handlers
+ self.getCommandHandlers = function () {
+ return handlers
+ }
- self.hasDefaultCommand = () => !!defaultCommand
+ self.hasDefaultCommand = function () {
+ return !!defaultCommand
+ }
- self.runCommand = function runCommand (command, yargs, parsed, commandIndex) {
- let aliases = parsed.aliases
- const commandHandler = handlers[command] || handlers[aliasMap[command]] || defaultCommand
- const currentContext = yargs.getContext()
- let numFiles = currentContext.files.length
- const parentCommands = currentContext.commands.slice()
+ self.runCommand = function (command, yargs, parsed, commandIndex) {
+ var aliases = parsed.aliases
+ var commandHandler = handlers[command] || handlers[aliasMap[command]] || defaultCommand
+ var currentContext = yargs.getContext()
+ var numFiles = currentContext.files.length
+ var parentCommands = currentContext.commands.slice()
// what does yargs look like after the buidler is run?
- let innerArgv = parsed.argv
- let innerYargs = null
- let positionalMap = {}
- if (command) {
- currentContext.commands.push(command)
- currentContext.fullCommands.push(commandHandler.original)
- }
+ var innerArgv = parsed.argv
+ var innerYargs = null
+ var positionalMap = {}
+
+ if (command) currentContext.commands.push(command)
if (typeof commandHandler.builder === 'function') {
// a function can be provided, which builds
// up a yargs chain and possibly returns it.
@@ -186,11 +198,8 @@ module.exports = function command (yargs, usage, validation) {
// original command string as usage() for consistent behavior with
// options object below.
if (yargs.parsed === false) {
- if (shouldUpdateUsage(yargs)) {
- yargs.getUsageInstance().usage(
- usageFromParentCommandsCommandHandler(parentCommands, commandHandler),
- commandHandler.description
- )
+ if (typeof yargs.getUsageInstance().getUsage() === 'undefined') {
+ yargs.usage('$0 ' + (parentCommands.length ? parentCommands.join(' ') + ' ' : '') + commandHandler.original)
}
innerArgv = innerYargs ? innerYargs._parseArgs(null, null, true, commandIndex) : yargs._parseArgs(null, null, true, commandIndex)
} else {
@@ -203,13 +212,8 @@ module.exports = function command (yargs, usage, validation) {
// as a short hand, an object can instead be provided, specifying
// the options that a command takes.
innerYargs = yargs.reset(parsed.aliases)
- if (shouldUpdateUsage(innerYargs)) {
- innerYargs.getUsageInstance().usage(
- usageFromParentCommandsCommandHandler(parentCommands, commandHandler),
- commandHandler.description
- )
- }
- Object.keys(commandHandler.builder).forEach((key) => {
+ innerYargs.usage('$0 ' + (parentCommands.length ? parentCommands.join(' ') + ' ' : '') + commandHandler.original)
+ Object.keys(commandHandler.builder).forEach(function (key) {
innerYargs.option(key, commandHandler.builder[key])
})
innerArgv = innerYargs._parseArgs(null, null, true, commandIndex)
@@ -226,178 +230,84 @@ module.exports = function command (yargs, usage, validation) {
if (commandHandler.handler && !yargs._hasOutput()) {
yargs._setHasOutput()
- if (commandHandler.middlewares.length > 0) {
- const middlewareArgs = commandHandler.middlewares.reduce(function (initialObj, middleware) {
- return Object.assign(initialObj, middleware(innerArgv))
- }, {})
- Object.assign(innerArgv, middlewareArgs)
- }
- const handlerResult = commandHandler.handler(innerArgv)
- if (handlerResult && typeof handlerResult.then === 'function') {
- handlerResult.then(
- null,
- (error) => yargs.getUsageInstance().fail(null, error)
- )
- }
+ commandHandler.handler(innerArgv)
}
- if (command) {
- currentContext.commands.pop()
- currentContext.fullCommands.pop()
- }
+ if (command) currentContext.commands.pop()
numFiles = currentContext.files.length - numFiles
if (numFiles > 0) currentContext.files.splice(numFiles * -1, numFiles)
return innerArgv
}
- function shouldUpdateUsage (yargs) {
- return !yargs.getUsageInstance().getUsageDisabled() &&
- yargs.getUsageInstance().getUsage().length === 0
- }
-
- function usageFromParentCommandsCommandHandler (parentCommands, commandHandler) {
- const c = DEFAULT_MARKER.test(commandHandler.original) ? commandHandler.original.replace(DEFAULT_MARKER, '').trim() : commandHandler.original
- const pc = parentCommands.filter((c) => { return !DEFAULT_MARKER.test(c) })
- pc.push(c)
- return `$0 ${pc.join(' ')}`
- }
-
- self.runDefaultBuilderOn = function (yargs) {
- if (shouldUpdateUsage(yargs)) {
- // build the root-level command string from the default string.
- const commandString = DEFAULT_MARKER.test(defaultCommand.original)
- ? defaultCommand.original : defaultCommand.original.replace(/^[^[\]<>]*/, '$0 ')
- yargs.getUsageInstance().usage(
- commandString,
- defaultCommand.description
- )
- }
- const builder = defaultCommand.builder
- if (typeof builder === 'function') {
- builder(yargs)
- } else {
- Object.keys(builder).forEach((key) => {
- yargs.option(key, builder[key])
- })
- }
- }
-
// transcribe all positional arguments "command <foo> <bar> [apple]"
// onto argv.
function populatePositionals (commandHandler, argv, context, yargs) {
argv._ = argv._.slice(context.commands.length) // nuke the current commands
- const demanded = commandHandler.demanded.slice(0)
- const optional = commandHandler.optional.slice(0)
- const positionalMap = {}
+ var demanded = commandHandler.demanded.slice(0)
+ var optional = commandHandler.optional.slice(0)
+ var positionalMap = {}
validation.positionalCount(demanded.length, argv._.length)
while (demanded.length) {
- const demand = demanded.shift()
- populatePositional(demand, argv, positionalMap)
+ var demand = demanded.shift()
+ populatePositional(demand, argv, yargs, positionalMap)
}
while (optional.length) {
- const maybe = optional.shift()
- populatePositional(maybe, argv, positionalMap)
+ var maybe = optional.shift()
+ populatePositional(maybe, argv, yargs, positionalMap)
}
argv._ = context.commands.concat(argv._)
-
- postProcessPositionals(argv, positionalMap, self.cmdToParseOptions(commandHandler.original))
-
return positionalMap
}
- function populatePositional (positional, argv, positionalMap, parseOptions) {
- const cmd = positional.cmd[0]
- if (positional.variadic) {
- positionalMap[cmd] = argv._.splice(0).map(String)
- } else {
- if (argv._.length) positionalMap[cmd] = [String(argv._.shift())]
+ // populate a single positional argument and its
+ // aliases onto argv.
+ function populatePositional (positional, argv, yargs, positionalMap) {
+ // "positional" consists of the positional.cmd, an array representing
+ // the positional's name and aliases, and positional.variadic
+ // indicating whether or not it is a variadic array.
+ var variadics = null
+ var value = null
+ for (var i = 0, cmd; (cmd = positional.cmd[i]) !== undefined; i++) {
+ if (positional.variadic) {
+ if (variadics) argv[cmd] = variadics.slice(0)
+ else argv[cmd] = variadics = argv._.splice(0)
+ } else {
+ if (!value && !argv._.length) continue
+ if (value) argv[cmd] = value
+ else argv[cmd] = value = argv._.shift()
+ }
+ positionalMap[cmd] = true
+ postProcessPositional(yargs, argv, cmd)
+ addCamelCaseExpansions(argv, cmd)
}
}
- // we run yargs-parser against the positional arguments
- // applying the same parsing logic used for flags.
- function postProcessPositionals (argv, positionalMap, parseOptions) {
- // combine the parsing hints we've inferred from the command
- // string with explicitly configured parsing hints.
- const options = Object.assign({}, yargs.getOptions())
- options.default = Object.assign(parseOptions.default, options.default)
- options.alias = Object.assign(parseOptions.alias, options.alias)
- options.array = options.array.concat(parseOptions.array)
-
- const unparsed = []
- Object.keys(positionalMap).forEach((key) => {
- positionalMap[key].map((value) => {
- unparsed.push(`--${key}`)
- unparsed.push(value)
- })
- })
-
- // short-circuit parse.
- if (!unparsed.length) return
-
- const parsed = Parser.detailed(unparsed, options)
-
- if (parsed.error) {
- yargs.getUsageInstance().fail(parsed.error.message, parsed.error)
- } else {
- // only copy over positional keys (don't overwrite
- // flag arguments that were already parsed).
- const positionalKeys = Object.keys(positionalMap)
- Object.keys(positionalMap).forEach((key) => {
- [].push.apply(positionalKeys, parsed.aliases[key])
- })
-
- Object.keys(parsed.argv).forEach((key) => {
- if (positionalKeys.indexOf(key) !== -1) {
- argv[key] = parsed.argv[key]
- }
- })
+ // TODO move positional arg logic to yargs-parser and remove this duplication
+ function postProcessPositional (yargs, argv, key) {
+ var coerce = yargs.getOptions().coerce[key]
+ if (typeof coerce === 'function') {
+ try {
+ argv[key] = coerce(argv[key])
+ } catch (err) {
+ yargs.getUsageInstance().fail(err.message, err)
+ }
}
}
- self.cmdToParseOptions = function (cmdString) {
- const parseOptions = {
- array: [],
- default: {},
- alias: {},
- demand: {}
+ function addCamelCaseExpansions (argv, option) {
+ if (/-/.test(option)) {
+ const cc = camelCase(option)
+ if (typeof argv[option] === 'object') argv[cc] = argv[option].slice(0)
+ else argv[cc] = argv[option]
}
-
- const parsed = self.parseCommand(cmdString)
- parsed.demanded.forEach((d) => {
- const cmds = d.cmd.slice(0)
- const cmd = cmds.shift()
- if (d.variadic) {
- parseOptions.array.push(cmd)
- parseOptions.default[cmd] = []
- }
- cmds.forEach((c) => {
- parseOptions.alias[cmd] = c
- })
- parseOptions.demand[cmd] = true
- })
-
- parsed.optional.forEach((o) => {
- const cmds = o.cmd.slice(0)
- const cmd = cmds.shift()
- if (o.variadic) {
- parseOptions.array.push(cmd)
- parseOptions.default[cmd] = []
- }
- cmds.forEach((c) => {
- parseOptions.alias[cmd] = c
- })
- })
-
- return parseOptions
}
- self.reset = () => {
+ self.reset = function () {
handlers = {}
aliasMap = {}
defaultCommand = undefined
@@ -408,14 +318,14 @@ module.exports = function command (yargs, usage, validation) {
// the state of commands such that
// we can apply .parse() multiple times
// with the same yargs instance.
- let frozen
- self.freeze = () => {
+ var frozen
+ self.freeze = function () {
frozen = {}
frozen.handlers = handlers
frozen.aliasMap = aliasMap
frozen.defaultCommand = defaultCommand
}
- self.unfreeze = () => {
+ self.unfreeze = function () {
handlers = frozen.handlers
aliasMap = frozen.aliasMap
defaultCommand = frozen.defaultCommand
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/completion.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/completion.js
index ad6969a2d9..5cd9a18a03 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/completion.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/completion.js
@@ -1,17 +1,16 @@
-'use strict'
const fs = require('fs')
const path = require('path')
// add bash completions to your
// yargs-powered applications.
-module.exports = function completion (yargs, usage, command) {
+module.exports = function (yargs, usage, command) {
const self = {
completionKey: 'get-yargs-completions'
}
// get a list of completion commands.
// 'args' is the array of strings from the line to be completed
- self.getCompletion = function getCompletion (args, done) {
+ self.getCompletion = function (args, done) {
const completions = []
const current = args.length ? args[args.length - 1] : ''
const argv = yargs.parse(args, true)
@@ -21,14 +20,14 @@ module.exports = function completion (yargs, usage, command) {
// to completion().
if (completionFunction) {
if (completionFunction.length < 3) {
- const result = completionFunction(current, argv)
+ var result = completionFunction(current, argv)
// promise based completion function.
if (typeof result.then === 'function') {
- return result.then((list) => {
- process.nextTick(() => { done(list) })
- }).catch((err) => {
- process.nextTick(() => { throw err })
+ return result.then(function (list) {
+ process.nextTick(function () { done(list) })
+ }).catch(function (err) {
+ process.nextTick(function () { throw err })
})
}
@@ -36,14 +35,14 @@ module.exports = function completion (yargs, usage, command) {
return done(result)
} else {
// asynchronous completion function
- return completionFunction(current, argv, (completions) => {
+ return completionFunction(current, argv, function (completions) {
done(completions)
})
}
}
- const handlers = command.getCommandHandlers()
- for (let i = 0, ii = args.length; i < ii; ++i) {
+ var handlers = command.getCommandHandlers()
+ for (var i = 0, ii = args.length; i < ii; ++i) {
if (handlers[args[i]] && handlers[args[i]].builder) {
const builder = handlers[args[i]].builder
if (typeof builder === 'function') {
@@ -55,21 +54,22 @@ module.exports = function completion (yargs, usage, command) {
}
if (!current.match(/^-/)) {
- usage.getCommands().forEach((usageCommand) => {
- const commandName = command.parseCommand(usageCommand[0]).cmd
- if (args.indexOf(commandName) === -1) {
- completions.push(commandName)
+ usage.getCommands().forEach(function (command) {
+ if (args.indexOf(command[0]) === -1) {
+ completions.push(command[0])
}
})
}
if (current.match(/^-/)) {
- Object.keys(yargs.getOptions().key).forEach((key) => {
+ Object.keys(yargs.getOptions().key).forEach(function (key) {
// If the key and its aliases aren't in 'args', add the key to 'completions'
- const keyAndAliases = [key].concat(aliases[key] || [])
- const notInArgs = keyAndAliases.every(val => args.indexOf(`--${val}`) === -1)
+ var keyAndAliases = [key].concat(aliases[key] || [])
+ var notInArgs = keyAndAliases.every(function (val) {
+ return args.indexOf('--' + val) === -1
+ })
if (notInArgs) {
- completions.push(`--${key}`)
+ completions.push('--' + key)
}
})
}
@@ -78,26 +78,25 @@ module.exports = function completion (yargs, usage, command) {
}
// generate the completion script to add to your .bashrc.
- self.generateCompletionScript = function generateCompletionScript ($0, cmd) {
- let script = fs.readFileSync(
+ self.generateCompletionScript = function ($0) {
+ var script = fs.readFileSync(
path.resolve(__dirname, '../completion.sh.hbs'),
'utf-8'
)
- const name = path.basename($0)
+ var name = path.basename($0)
// add ./to applications not yet installed as bin.
- if ($0.match(/\.js$/)) $0 = `./${$0}`
+ if ($0.match(/\.js$/)) $0 = './' + $0
script = script.replace(/{{app_name}}/g, name)
- script = script.replace(/{{completion_command}}/g, cmd)
return script.replace(/{{app_path}}/g, $0)
}
// register a function to perform your own custom
// completions., this function can be either
// synchrnous or asynchronous.
- let completionFunction = null
- self.registerFunction = (fn) => {
+ var completionFunction = null
+ self.registerFunction = function (fn) {
completionFunction = fn
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/levenshtein.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/levenshtein.js
index f32b0c2771..6ec216f59d 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/levenshtein.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/levenshtein.js
@@ -10,22 +10,22 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
// levenshtein distance algorithm, pulled from Andrei Mackenzie's MIT licensed.
// gist, which can be found here: https://gist.github.com/andrei-m/982927
-'use strict'
+
// Compute the edit distance between the two given strings
-module.exports = function levenshtein (a, b) {
+module.exports = function (a, b) {
if (a.length === 0) return b.length
if (b.length === 0) return a.length
- const matrix = []
+ var matrix = []
// increment along the first column of each row
- let i
+ var i
for (i = 0; i <= b.length; i++) {
matrix[i] = [i]
}
// increment each column in the first row
- let j
+ var j
for (j = 0; j <= a.length; j++) {
matrix[0][j] = j
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/obj-filter.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/obj-filter.js
index c344ac58ca..42cb9961ee 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/obj-filter.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/obj-filter.js
@@ -1,8 +1,7 @@
-'use strict'
-module.exports = function objFilter (original, filter) {
+module.exports = function (original, filter) {
const obj = {}
- filter = filter || ((k, v) => true)
- Object.keys(original || {}).forEach((key) => {
+ filter = filter || function (k, v) { return true }
+ Object.keys(original || {}).forEach(function (key) {
if (filter(key, original[key])) {
obj[key] = original[key]
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/usage.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/usage.js
index bd0906a89d..43f71225c3 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/usage.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/usage.js
@@ -1,25 +1,23 @@
-'use strict'
// this file handles outputting usage instructions,
// failures, etc. keeps logging in one place.
const stringWidth = require('string-width')
const objFilter = require('./obj-filter')
-const path = require('path')
const setBlocking = require('set-blocking')
const YError = require('./yerror')
-module.exports = function usage (yargs, y18n) {
+module.exports = function (yargs, y18n) {
const __ = y18n.__
const self = {}
// methods for ouputting/building failure message.
- const fails = []
- self.failFn = function failFn (f) {
+ var fails = []
+ self.failFn = function (f) {
fails.push(f)
}
- let failMessage = null
- let showHelpOnFail = true
- self.showHelpOnFail = function showHelpOnFailFn (enabled, message) {
+ var failMessage = null
+ var showHelpOnFail = true
+ self.showHelpOnFail = function (enabled, message) {
if (typeof enabled === 'string') {
message = enabled
enabled = true
@@ -31,12 +29,12 @@ module.exports = function usage (yargs, y18n) {
return self
}
- let failureOutput = false
- self.fail = function fail (msg, err) {
+ var failureOutput = false
+ self.fail = function (msg, err) {
const logger = yargs._getLoggerInstance()
if (fails.length) {
- for (let i = fails.length - 1; i >= 0; --i) {
+ for (var i = fails.length - 1; i >= 0; --i) {
fails[i](msg, err, self)
}
} else {
@@ -46,9 +44,9 @@ module.exports = function usage (yargs, y18n) {
if (!failureOutput) {
failureOutput = true
if (showHelpOnFail) yargs.showHelp('error')
- if (msg || err) logger.error(msg || err)
+ if (msg) logger.error(msg)
if (failMessage) {
- if (msg || err) logger.error('')
+ if (msg) logger.error('')
logger.error(failMessage)
}
}
@@ -65,67 +63,56 @@ module.exports = function usage (yargs, y18n) {
}
// methods for ouputting/building help (usage) message.
- let usages = []
- let usageDisabled = false
- self.usage = (msg, description) => {
- if (msg === null) {
- usageDisabled = true
- usages = []
- return
- }
- usageDisabled = false
- usages.push([msg, description || ''])
- return self
- }
- self.getUsage = () => {
- return usages
+ var usage
+ self.usage = function (msg) {
+ usage = msg
}
- self.getUsageDisabled = () => {
- return usageDisabled
- }
-
- self.getPositionalGroupName = () => {
- return __('Positionals:')
+ self.getUsage = function () {
+ return usage
}
- let examples = []
- self.example = (cmd, description) => {
+ var examples = []
+ self.example = function (cmd, description) {
examples.push([cmd, description || ''])
}
- let commands = []
- self.command = function command (cmd, description, isDefault, aliases) {
+ var commands = []
+ self.command = function (cmd, description, isDefault, aliases) {
// the last default wins, so cancel out any previously set default
if (isDefault) {
- commands = commands.map((cmdArray) => {
+ commands = commands.map(function (cmdArray) {
cmdArray[2] = false
return cmdArray
})
}
commands.push([cmd, description || '', isDefault, aliases])
}
- self.getCommands = () => commands
+ self.getCommands = function () {
+ return commands
+ }
- let descriptions = {}
- self.describe = function describe (key, desc) {
+ var descriptions = {}
+ self.describe = function (key, desc) {
if (typeof key === 'object') {
- Object.keys(key).forEach((k) => {
+ Object.keys(key).forEach(function (k) {
self.describe(k, key[k])
})
} else {
descriptions[key] = desc
}
}
- self.getDescriptions = () => descriptions
+ self.getDescriptions = function () {
+ return descriptions
+ }
- let epilog
- self.epilog = (msg) => {
+ var epilog
+ self.epilog = function (msg) {
epilog = msg
}
- let wrapSet = false
- let wrap
- self.wrap = (cols) => {
+ var wrapSet = false
+ var wrap
+ self.wrap = function (cols) {
wrapSet = true
wrap = cols
}
@@ -139,57 +126,41 @@ module.exports = function usage (yargs, y18n) {
return wrap
}
- const deferY18nLookupPrefix = '__yargsString__:'
- self.deferY18nLookup = str => deferY18nLookupPrefix + str
+ var deferY18nLookupPrefix = '__yargsString__:'
+ self.deferY18nLookup = function (str) {
+ return deferY18nLookupPrefix + str
+ }
- const defaultGroup = 'Options:'
- self.help = function help () {
+ var defaultGroup = 'Options:'
+ self.help = function () {
normalizeAliases()
// handle old demanded API
- const base$0 = path.basename(yargs.$0)
- const demandedOptions = yargs.getDemandedOptions()
- const demandedCommands = yargs.getDemandedCommands()
- const groups = yargs.getGroups()
- const options = yargs.getOptions()
- let keys = Object.keys(
+ var demandedOptions = yargs.getDemandedOptions()
+ var demandedCommands = yargs.getDemandedCommands()
+ var groups = yargs.getGroups()
+ var options = yargs.getOptions()
+ var keys = Object.keys(
Object.keys(descriptions)
.concat(Object.keys(demandedOptions))
.concat(Object.keys(demandedCommands))
.concat(Object.keys(options.default))
- .reduce((acc, key) => {
+ .reduce(function (acc, key) {
if (key !== '_') acc[key] = true
return acc
}, {})
)
- const theWrap = getWrap()
- const ui = require('cliui')({
+ var theWrap = getWrap()
+ var ui = require('cliui')({
width: theWrap,
wrap: !!theWrap
})
// the usage string.
- if (!usageDisabled) {
- if (usages.length) {
- // user-defined usage.
- usages.forEach((usage) => {
- ui.div(`${usage[0].replace(/\$0/g, base$0)}`)
- if (usage[1]) {
- ui.div({text: `${usage[1]}`, padding: [1, 0, 0, 0]})
- }
- })
- ui.div()
- } else if (commands.length) {
- let u = null
- // demonstrate how commands are used.
- if (demandedCommands._) {
- u = `${base$0} <${__('command')}>\n`
- } else {
- u = `${base$0} [${__('command')}]\n`
- }
- ui.div(`${u}`)
- }
+ if (usage) {
+ var u = usage.replace(/\$0/g, yargs.$0)
+ ui.div(u + '\n')
}
// your application's commands, i.e., non-option
@@ -197,23 +168,15 @@ module.exports = function usage (yargs, y18n) {
if (commands.length) {
ui.div(__('Commands:'))
- const context = yargs.getContext()
- const parentCommands = context.commands.length ? `${context.commands.join(' ')} ` : ''
-
- commands.forEach((command) => {
- const commandString = `${base$0} ${parentCommands}${command[0].replace(/^\$0 ?/, '')}` // drop $0 from default commands.
+ commands.forEach(function (command) {
ui.span(
- {
- text: commandString,
- padding: [0, 2, 0, 2],
- width: maxWidth(commands, theWrap, `${base$0}${parentCommands}`) + 4
- },
+ {text: command[0], padding: [0, 2, 0, 2], width: maxWidth(commands, theWrap) + 4},
{text: command[1]}
)
- const hints = []
- if (command[2]) hints.push(`[${__('default:').slice(0, -1)}]`) // TODO hacking around i18n here
+ var hints = []
+ if (command[2]) hints.push('[' + __('default:').slice(0, -1) + ']') // TODO hacking around i18n here
if (command[3] && command[3].length) {
- hints.push(`[${__('aliases:')} ${command[3].join(', ')}]`)
+ hints.push('[' + __('aliases:') + ' ' + command[3].join(', ') + ']')
}
if (hints.length) {
ui.div({text: hints.join(' '), padding: [0, 0, 0, 2], align: 'right'})
@@ -227,10 +190,14 @@ module.exports = function usage (yargs, y18n) {
// perform some cleanup on the keys array, making it
// only include top-level keys not their aliases.
- const aliasKeys = (Object.keys(options.alias) || [])
+ var aliasKeys = (Object.keys(options.alias) || [])
.concat(Object.keys(yargs.parsed.newAliases) || [])
- keys = keys.filter(key => !yargs.parsed.newAliases[key] && aliasKeys.every(alias => (options.alias[alias] || []).indexOf(key) === -1))
+ keys = keys.filter(function (key) {
+ return !yargs.parsed.newAliases[key] && aliasKeys.every(function (alias) {
+ return (options.alias[alias] || []).indexOf(key) === -1
+ })
+ })
// populate 'Options:' group with any keys that have not
// explicitly had a group set.
@@ -238,54 +205,51 @@ module.exports = function usage (yargs, y18n) {
addUngroupedKeys(keys, options.alias, groups)
// display 'Options:' table along with any custom tables:
- Object.keys(groups).forEach((groupName) => {
+ Object.keys(groups).forEach(function (groupName) {
if (!groups[groupName].length) return
ui.div(__(groupName))
// if we've grouped the key 'f', but 'f' aliases 'foobar',
// normalizedKeys should contain only 'foobar'.
- const normalizedKeys = groups[groupName].map((key) => {
+ var normalizedKeys = groups[groupName].map(function (key) {
if (~aliasKeys.indexOf(key)) return key
- for (let i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== undefined; i++) {
+ for (var i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== undefined; i++) {
if (~(options.alias[aliasKey] || []).indexOf(key)) return aliasKey
}
return key
})
// actually generate the switches string --foo, -f, --bar.
- const switches = normalizedKeys.reduce((acc, key) => {
+ var switches = normalizedKeys.reduce(function (acc, key) {
acc[key] = [ key ].concat(options.alias[key] || [])
- .map(sw => {
- // for the special positional group don't
- // add '--' or '-' prefix.
- if (groupName === self.getPositionalGroupName()) return sw
- else return (sw.length > 1 ? '--' : '-') + sw
+ .map(function (sw) {
+ return (sw.length > 1 ? '--' : '-') + sw
})
.join(', ')
return acc
}, {})
- normalizedKeys.forEach((key) => {
- const kswitch = switches[key]
- let desc = descriptions[key] || ''
- let type = null
+ normalizedKeys.forEach(function (key) {
+ var kswitch = switches[key]
+ var desc = descriptions[key] || ''
+ var type = null
if (~desc.lastIndexOf(deferY18nLookupPrefix)) desc = __(desc.substring(deferY18nLookupPrefix.length))
- if (~options.boolean.indexOf(key)) type = `[${__('boolean')}]`
- if (~options.count.indexOf(key)) type = `[${__('count')}]`
- if (~options.string.indexOf(key)) type = `[${__('string')}]`
- if (~options.normalize.indexOf(key)) type = `[${__('string')}]`
- if (~options.array.indexOf(key)) type = `[${__('array')}]`
- if (~options.number.indexOf(key)) type = `[${__('number')}]`
+ if (~options.boolean.indexOf(key)) type = '[' + __('boolean') + ']'
+ if (~options.count.indexOf(key)) type = '[' + __('count') + ']'
+ if (~options.string.indexOf(key)) type = '[' + __('string') + ']'
+ if (~options.normalize.indexOf(key)) type = '[' + __('string') + ']'
+ if (~options.array.indexOf(key)) type = '[' + __('array') + ']'
+ if (~options.number.indexOf(key)) type = '[' + __('number') + ']'
- const extra = [
+ var extra = [
type,
- (key in demandedOptions) ? `[${__('required')}]` : null,
- options.choices && options.choices[key] ? `[${__('choices:')} ${
- self.stringifiedValues(options.choices[key])}]` : null,
+ (key in demandedOptions) ? '[' + __('required') + ']' : null,
+ options.choices && options.choices[key] ? '[' + __('choices:') + ' ' +
+ self.stringifiedValues(options.choices[key]) + ']' : null,
defaultString(options.default[key], options.defaultDescription[key])
].filter(Boolean).join(' ')
@@ -305,11 +269,11 @@ module.exports = function usage (yargs, y18n) {
if (examples.length) {
ui.div(__('Examples:'))
- examples.forEach((example) => {
- example[0] = example[0].replace(/\$0/g, base$0)
+ examples.forEach(function (example) {
+ example[0] = example[0].replace(/\$0/g, yargs.$0)
})
- examples.forEach((example) => {
+ examples.forEach(function (example) {
if (example[1] === '') {
ui.div(
{
@@ -335,8 +299,8 @@ module.exports = function usage (yargs, y18n) {
// the usage string.
if (epilog) {
- const e = epilog.replace(/\$0/g, base$0)
- ui.div(`${e}\n`)
+ var e = epilog.replace(/\$0/g, yargs.$0)
+ ui.div(e + '\n')
}
return ui.toString()
@@ -344,20 +308,19 @@ module.exports = function usage (yargs, y18n) {
// return the maximum width of a string
// in the left-hand column of a table.
- function maxWidth (table, theWrap, modifier) {
- let width = 0
+ function maxWidth (table, theWrap) {
+ var width = 0
// table might be of the form [leftColumn],
// or {key: leftColumn}
if (!Array.isArray(table)) {
- table = Object.keys(table).map(key => [table[key]])
+ table = Object.keys(table).map(function (key) {
+ return [table[key]]
+ })
}
- table.forEach((v) => {
- width = Math.max(
- stringWidth(modifier ? `${modifier} ${v[0]}` : v[0]),
- width
- )
+ table.forEach(function (v) {
+ width = Math.max(stringWidth(v[0]), width)
})
// if we've enabled 'wrap' we should limit
@@ -371,11 +334,11 @@ module.exports = function usage (yargs, y18n) {
// are copied to the keys being aliased.
function normalizeAliases () {
// handle old demanded API
- const demandedOptions = yargs.getDemandedOptions()
- const options = yargs.getOptions()
+ var demandedOptions = yargs.getDemandedOptions()
+ var options = yargs.getOptions()
- ;(Object.keys(options.alias) || []).forEach((key) => {
- options.alias[key].forEach((alias) => {
+ ;(Object.keys(options.alias) || []).forEach(function (key) {
+ options.alias[key].forEach(function (alias) {
// copy descriptions.
if (descriptions[alias]) self.describe(key, descriptions[alias])
// copy demanded.
@@ -394,41 +357,43 @@ module.exports = function usage (yargs, y18n) {
// given a set of keys, place any keys that are
// ungrouped under the 'Options:' grouping.
function addUngroupedKeys (keys, aliases, groups) {
- let groupedKeys = []
- let toCheck = null
- Object.keys(groups).forEach((group) => {
+ var groupedKeys = []
+ var toCheck = null
+ Object.keys(groups).forEach(function (group) {
groupedKeys = groupedKeys.concat(groups[group])
})
- keys.forEach((key) => {
+ keys.forEach(function (key) {
toCheck = [key].concat(aliases[key])
- if (!toCheck.some(k => groupedKeys.indexOf(k) !== -1)) {
+ if (!toCheck.some(function (k) {
+ return groupedKeys.indexOf(k) !== -1
+ })) {
groups[defaultGroup].push(key)
}
})
return groupedKeys
}
- self.showHelp = (level) => {
+ self.showHelp = function (level) {
const logger = yargs._getLoggerInstance()
if (!level) level = 'error'
- const emit = typeof level === 'function' ? level : logger[level]
+ var emit = typeof level === 'function' ? level : logger[level]
emit(self.help())
}
- self.functionDescription = (fn) => {
- const description = fn.name ? require('decamelize')(fn.name, '-') : __('generated-value')
+ self.functionDescription = function (fn) {
+ var description = fn.name ? require('decamelize')(fn.name, '-') : __('generated-value')
return ['(', description, ')'].join('')
}
- self.stringifiedValues = function stringifiedValues (values, separator) {
- let string = ''
- const sep = separator || ', '
- const array = [].concat(values)
+ self.stringifiedValues = function (values, separator) {
+ var string = ''
+ var sep = separator || ', '
+ var array = [].concat(values)
if (!values || !array.length) return string
- array.forEach((value) => {
+ array.forEach(function (value) {
if (string.length) string += sep
string += JSON.stringify(value)
})
@@ -439,7 +404,7 @@ module.exports = function usage (yargs, y18n) {
// format the default-value-string displayed in
// the right-hand column.
function defaultString (value, defaultDescription) {
- let string = `[${__('default:')} `
+ var string = '[' + __('default:') + ' '
if (value === undefined && !defaultDescription) return null
@@ -448,7 +413,7 @@ module.exports = function usage (yargs, y18n) {
} else {
switch (typeof value) {
case 'string':
- string += `"${value}"`
+ string += JSON.stringify(value)
break
case 'object':
string += JSON.stringify(value)
@@ -458,12 +423,12 @@ module.exports = function usage (yargs, y18n) {
}
}
- return `${string}]`
+ return string + ']'
}
// guess the width of the console window, max-width 80.
function windowWidth () {
- const maxWidth = 80
+ var maxWidth = 80
if (typeof process === 'object' && process.stdout && process.stdout.columns) {
return Math.min(maxWidth, process.stdout.columns)
} else {
@@ -472,47 +437,47 @@ module.exports = function usage (yargs, y18n) {
}
// logic for displaying application version.
- let version = null
- self.version = (ver) => {
+ var version = null
+ self.version = function (ver) {
version = ver
}
- self.showVersion = () => {
+ self.showVersion = function () {
const logger = yargs._getLoggerInstance()
- logger.log(version)
+ if (typeof version === 'function') logger.log(version())
+ else logger.log(version)
}
- self.reset = function reset (localLookup) {
+ self.reset = function (localLookup) {
// do not reset wrap here
// do not reset fails here
failMessage = null
failureOutput = false
- usages = []
- usageDisabled = false
+ usage = undefined
epilog = undefined
examples = []
commands = []
- descriptions = objFilter(descriptions, (k, v) => !localLookup[k])
+ descriptions = objFilter(descriptions, function (k, v) {
+ return !localLookup[k]
+ })
return self
}
- let frozen
- self.freeze = function freeze () {
+ var frozen
+ self.freeze = function () {
frozen = {}
frozen.failMessage = failMessage
frozen.failureOutput = failureOutput
- frozen.usages = usages
- frozen.usageDisabled = usageDisabled
+ frozen.usage = usage
frozen.epilog = epilog
frozen.examples = examples
frozen.commands = commands
frozen.descriptions = descriptions
}
- self.unfreeze = function unfreeze () {
+ self.unfreeze = function () {
failMessage = frozen.failMessage
failureOutput = frozen.failureOutput
- usages = frozen.usages
- usageDisabled = frozen.usageDisabled
+ usage = frozen.usage
epilog = frozen.epilog
examples = frozen.examples
commands = frozen.commands
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/validation.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/validation.js
index f4655b4fdc..2f9ff8e6cf 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/validation.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/validation.js
@@ -1,18 +1,16 @@
-'use strict'
-const argsert = require('./argsert')
const objFilter = require('./obj-filter')
const specialKeys = ['$0', '--', '_']
// validation-type-stuff, missing params,
// bad implications, custom checks.
-module.exports = function validation (yargs, usage, y18n) {
+module.exports = function (yargs, usage, y18n) {
const __ = y18n.__
const __n = y18n.__n
const self = {}
// validate appropriate # of non-option
// arguments were provided, i.e., '_'.
- self.nonOptionCount = function nonOptionCount (argv) {
+ self.nonOptionCount = function (argv) {
const demandedCommands = yargs.getDemandedCommands()
// don't count currently executing commands
const _s = argv._.length - yargs.getContext().commands.length
@@ -46,7 +44,7 @@ module.exports = function validation (yargs, usage, y18n) {
// validate the appropriate # of <required>
// positional arguments were provided:
- self.positionalCount = function positionalCount (required, observed) {
+ self.positionalCount = function (required, observed) {
if (observed < required) {
usage.fail(
__('Not enough non-option arguments: got %s, need at least %s', observed, required)
@@ -54,12 +52,44 @@ module.exports = function validation (yargs, usage, y18n) {
}
}
+ // make sure that any args that require an
+ // value (--foo=bar), have a value.
+ self.missingArgumentValue = function (argv) {
+ const defaultValues = [true, false, '']
+ const options = yargs.getOptions()
+
+ if (options.requiresArg.length > 0) {
+ const missingRequiredArgs = []
+
+ options.requiresArg.forEach(function (key) {
+ const value = argv[key]
+
+ // if a value is explicitly requested,
+ // flag argument as missing if it does not
+ // look like foo=bar was entered.
+ if (~defaultValues.indexOf(value) ||
+ (Array.isArray(value) && !value.length)) {
+ missingRequiredArgs.push(key)
+ }
+ })
+
+ if (missingRequiredArgs.length > 0) {
+ usage.fail(__n(
+ 'Missing argument value: %s',
+ 'Missing argument values: %s',
+ missingRequiredArgs.length,
+ missingRequiredArgs.join(', ')
+ ))
+ }
+ }
+ }
+
// make sure all the required arguments are present.
- self.requiredArguments = function requiredArguments (argv) {
+ self.requiredArguments = function (argv) {
const demandedOptions = yargs.getDemandedOptions()
- let missing = null
+ var missing = null
- Object.keys(demandedOptions).forEach((key) => {
+ Object.keys(demandedOptions).forEach(function (key) {
if (!argv.hasOwnProperty(key) || typeof argv[key] === 'undefined') {
missing = missing || {}
missing[key] = demandedOptions[key]
@@ -68,14 +98,14 @@ module.exports = function validation (yargs, usage, y18n) {
if (missing) {
const customMsgs = []
- Object.keys(missing).forEach((key) => {
+ Object.keys(missing).forEach(function (key) {
const msg = missing[key]
if (msg && customMsgs.indexOf(msg) < 0) {
customMsgs.push(msg)
}
})
- const customMsg = customMsgs.length ? `\n${customMsgs.join('\n')}` : ''
+ const customMsg = customMsgs.length ? '\n' + customMsgs.join('\n') : ''
usage.fail(__n(
'Missing required argument: %s',
@@ -87,23 +117,33 @@ module.exports = function validation (yargs, usage, y18n) {
}
// check for unknown arguments (strict-mode).
- self.unknownArguments = function unknownArguments (argv, aliases, positionalMap) {
+ self.unknownArguments = function (argv, aliases, positionalMap) {
+ const aliasLookup = {}
+ const descriptions = usage.getDescriptions()
+ const demandedOptions = yargs.getDemandedOptions()
const commandKeys = yargs.getCommandInstance().getCommands()
const unknown = []
const currentContext = yargs.getContext()
- Object.keys(argv).forEach((key) => {
+ Object.keys(aliases).forEach(function (key) {
+ aliases[key].forEach(function (alias) {
+ aliasLookup[alias] = key
+ })
+ })
+
+ Object.keys(argv).forEach(function (key) {
if (specialKeys.indexOf(key) === -1 &&
+ !descriptions.hasOwnProperty(key) &&
+ !demandedOptions.hasOwnProperty(key) &&
!positionalMap.hasOwnProperty(key) &&
!yargs._getParseContext().hasOwnProperty(key) &&
- !aliases.hasOwnProperty(key)
- ) {
+ !aliasLookup.hasOwnProperty(key)) {
unknown.push(key)
}
})
if (commandKeys.length > 0) {
- argv._.slice(currentContext.commands.length).forEach((key) => {
+ argv._.slice(currentContext.commands.length).forEach(function (key) {
if (commandKeys.indexOf(key) === -1) {
unknown.push(key)
}
@@ -121,19 +161,18 @@ module.exports = function validation (yargs, usage, y18n) {
}
// validate arguments limited to enumerated choices
- self.limitedChoices = function limitedChoices (argv) {
+ self.limitedChoices = function (argv) {
const options = yargs.getOptions()
const invalid = {}
if (!Object.keys(options.choices).length) return
- Object.keys(argv).forEach((key) => {
+ Object.keys(argv).forEach(function (key) {
if (specialKeys.indexOf(key) === -1 &&
options.choices.hasOwnProperty(key)) {
- [].concat(argv[key]).forEach((value) => {
+ [].concat(argv[key]).forEach(function (value) {
// TODO case-insensitive configurability
- if (options.choices[key].indexOf(value) === -1 &&
- value !== undefined) {
+ if (options.choices[key].indexOf(value) === -1) {
invalid[key] = (invalid[key] || []).concat(value)
}
})
@@ -144,31 +183,31 @@ module.exports = function validation (yargs, usage, y18n) {
if (!invalidKeys.length) return
- let msg = __('Invalid values:')
- invalidKeys.forEach((key) => {
- msg += `\n ${__(
+ var msg = __('Invalid values:')
+ invalidKeys.forEach(function (key) {
+ msg += '\n ' + __(
'Argument: %s, Given: %s, Choices: %s',
key,
usage.stringifiedValues(invalid[key]),
usage.stringifiedValues(options.choices[key])
- )}`
+ )
})
usage.fail(msg)
}
// custom checks, added using the `check` option on yargs.
- let checks = []
- self.check = function check (f, global) {
+ var checks = []
+ self.check = function (f, global) {
checks.push({
func: f,
- global
+ global: global
})
}
- self.customChecks = function customChecks (argv, aliases) {
- for (let i = 0, f; (f = checks[i]) !== undefined; i++) {
- const func = f.func
- let result = null
+ self.customChecks = function (argv, aliases) {
+ for (var i = 0, f; (f = checks[i]) !== undefined; i++) {
+ var func = f.func
+ var result = null
try {
result = func(argv, aliases)
} catch (err) {
@@ -185,129 +224,107 @@ module.exports = function validation (yargs, usage, y18n) {
}
// check implications, argument foo implies => argument bar.
- let implied = {}
- self.implies = function implies (key, value) {
- argsert('<string|object> [array|number|string]', [key, value], arguments.length)
-
+ var implied = {}
+ self.implies = function (key, value) {
if (typeof key === 'object') {
- Object.keys(key).forEach((k) => {
+ Object.keys(key).forEach(function (k) {
self.implies(k, key[k])
})
} else {
yargs.global(key)
- if (!implied[key]) {
- implied[key] = []
- }
- if (Array.isArray(value)) {
- value.forEach((i) => self.implies(key, i))
- } else {
- implied[key].push(value)
- }
+ implied[key] = value
}
}
- self.getImplied = function getImplied () {
+ self.getImplied = function () {
return implied
}
- self.implications = function implications (argv) {
+ self.implications = function (argv) {
const implyFail = []
- Object.keys(implied).forEach((key) => {
+ Object.keys(implied).forEach(function (key) {
+ var num
const origKey = key
- ;(implied[key] || []).forEach((value) => {
- let num
- let key = origKey
- const origValue = value
-
- // convert string '1' to number 1
- num = Number(key)
- key = isNaN(num) ? key : num
-
- if (typeof key === 'number') {
- // check length of argv._
- key = argv._.length >= key
- } else if (key.match(/^--no-.+/)) {
- // check if key doesn't exist
- key = key.match(/^--no-(.+)/)[1]
- key = !argv[key]
- } else {
- // check if key exists
- key = argv[key]
- }
+ var value = implied[key]
+
+ // convert string '1' to number 1
+ num = Number(key)
+ key = isNaN(num) ? key : num
+
+ if (typeof key === 'number') {
+ // check length of argv._
+ key = argv._.length >= key
+ } else if (key.match(/^--no-.+/)) {
+ // check if key doesn't exist
+ key = key.match(/^--no-(.+)/)[1]
+ key = !argv[key]
+ } else {
+ // check if key exists
+ key = argv[key]
+ }
- num = Number(value)
- value = isNaN(num) ? value : num
+ num = Number(value)
+ value = isNaN(num) ? value : num
- if (typeof value === 'number') {
- value = argv._.length >= value
- } else if (value.match(/^--no-.+/)) {
- value = value.match(/^--no-(.+)/)[1]
- value = !argv[value]
- } else {
- value = argv[value]
- }
- if (key && !value) {
- implyFail.push(` ${origKey} -> ${origValue}`)
- }
- })
+ if (typeof value === 'number') {
+ value = argv._.length >= value
+ } else if (value.match(/^--no-.+/)) {
+ value = value.match(/^--no-(.+)/)[1]
+ value = !argv[value]
+ } else {
+ value = argv[value]
+ }
+
+ if (key && !value) {
+ implyFail.push(origKey)
+ }
})
if (implyFail.length) {
- let msg = `${__('Implications failed:')}\n`
+ var msg = __('Implications failed:') + '\n'
- implyFail.forEach((value) => {
- msg += (value)
+ implyFail.forEach(function (key) {
+ msg += (' ' + key + ' -> ' + implied[key])
})
usage.fail(msg)
}
}
- let conflicting = {}
- self.conflicts = function conflicts (key, value) {
- argsert('<string|object> [array|string]', [key, value], arguments.length)
-
+ var conflicting = {}
+ self.conflicts = function (key, value) {
if (typeof key === 'object') {
- Object.keys(key).forEach((k) => {
+ Object.keys(key).forEach(function (k) {
self.conflicts(k, key[k])
})
} else {
yargs.global(key)
- if (!conflicting[key]) {
- conflicting[key] = []
- }
- if (Array.isArray(value)) {
- value.forEach((i) => self.conflicts(key, i))
- } else {
- conflicting[key].push(value)
- }
+ conflicting[key] = value
}
}
- self.getConflicting = () => conflicting
-
- self.conflicting = function conflictingFn (argv) {
- Object.keys(argv).forEach((key) => {
- if (conflicting[key]) {
- conflicting[key].forEach((value) => {
- // we default keys to 'undefined' that have been configured, we should not
- // apply conflicting check unless they are a value other than 'undefined'.
- if (value && argv[key] !== undefined && argv[value] !== undefined) {
- usage.fail(__(`Arguments ${key} and ${value} are mutually exclusive`))
- }
- })
+ self.getConflicting = function () {
+ return conflicting
+ }
+
+ self.conflicting = function (argv) {
+ var args = Object.getOwnPropertyNames(argv)
+
+ args.forEach(function (arg) {
+ if (conflicting[arg] && args.indexOf(conflicting[arg]) !== -1) {
+ usage.fail(__('Arguments %s and %s are mutually exclusive', arg, conflicting[arg]))
}
})
}
- self.recommendCommands = function recommendCommands (cmd, potentialCommands) {
+ self.recommendCommands = function (cmd, potentialCommands) {
const distance = require('./levenshtein')
const threshold = 3 // if it takes more than three edits, let's move on.
- potentialCommands = potentialCommands.sort((a, b) => b.length - a.length)
+ potentialCommands = potentialCommands.sort(function (a, b) { return b.length - a.length })
- let recommended = null
- let bestDistance = Infinity
- for (let i = 0, candidate; (candidate = potentialCommands[i]) !== undefined; i++) {
- const d = distance(cmd, candidate)
+ var recommended = null
+ var bestDistance = Infinity
+ for (var i = 0, candidate; (candidate = potentialCommands[i]) !== undefined; i++) {
+ var d = distance(cmd, candidate)
if (d <= threshold && d < bestDistance) {
bestDistance = d
recommended = candidate
@@ -316,21 +333,27 @@ module.exports = function validation (yargs, usage, y18n) {
if (recommended) usage.fail(__('Did you mean %s?', recommended))
}
- self.reset = function reset (localLookup) {
- implied = objFilter(implied, (k, v) => !localLookup[k])
- conflicting = objFilter(conflicting, (k, v) => !localLookup[k])
- checks = checks.filter(c => c.global)
+ self.reset = function (localLookup) {
+ implied = objFilter(implied, function (k, v) {
+ return !localLookup[k]
+ })
+ conflicting = objFilter(conflicting, function (k, v) {
+ return !localLookup[k]
+ })
+ checks = checks.filter(function (c) {
+ return c.global
+ })
return self
}
- let frozen
- self.freeze = function freeze () {
+ var frozen
+ self.freeze = function () {
frozen = {}
frozen.implied = implied
frozen.checks = checks
frozen.conflicting = conflicting
}
- self.unfreeze = function unfreeze () {
+ self.unfreeze = function () {
implied = frozen.implied
checks = frozen.checks
conflicting = frozen.conflicting
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/yerror.js b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/yerror.js
index 53375a0f75..ad96a8776e 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/yerror.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/lib/yerror.js
@@ -1,4 +1,3 @@
-'use strict'
function YError (msg) {
this.name = 'YError'
this.message = msg || 'yargs error'
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/en.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/en.json
index fc65c2a0d8..4a618e7054 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/en.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/en.json
@@ -36,7 +36,5 @@
"Show help": "Show help",
"Show version number": "Show version number",
"Did you mean %s?": "Did you mean %s?",
- "Arguments %s and %s are mutually exclusive" : "Arguments %s and %s are mutually exclusive",
- "Positionals:": "Positionals:",
- "command": "command"
+ "Arguments %s and %s are mutually exclusive" : "Arguments %s and %s are mutually exclusive"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/hi.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/hi.json
index 2cd677acb4..2a9826d96f 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/hi.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/hi.json
@@ -35,8 +35,5 @@
"Path to JSON config file": "JSON config फाइल का पथ",
"Show help": "सहायता दिखाएँ",
"Show version number": "Version संख्या दिखाएँ",
- "Did you mean %s?": "क्या आपका मतलब है %s?",
- "Arguments %s and %s are mutually exclusive" : "तर्क %s और %s परस्पर अनन्य हैं",
- "Positionals:": "स्थानीय:",
- "command": "आदेश"
+ "Did you mean %s?": "क्या आपका मतलब है %s?"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/id.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/id.json
index 87e441cd80..a06e8608d0 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/id.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/id.json
@@ -36,8 +36,5 @@
"Path to JSON config file": "Alamat berkas konfigurasi JSON",
"Show help": "Lihat bantuan",
"Show version number": "Lihat nomor versi",
- "Did you mean %s?": "Maksud Anda: %s?",
- "Arguments %s and %s are mutually exclusive" : "Argumen %s dan %s saling eksklusif",
- "Positionals:": "Posisional-posisional:",
- "command": "perintah"
+ "Did you mean %s?": "Maksud Anda: %s?"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/ja.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/ja.json
index 64ee6d3fb9..45a64a8123 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/ja.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/ja.json
@@ -35,8 +35,5 @@
"Path to JSON config file": "JSONの設定ファイルまでのpath",
"Show help": "ヘルプを表示",
"Show version number": "バージョンを表示",
- "Did you mean %s?": "もしかして %s?",
- "Arguments %s and %s are mutually exclusive" : "引数 %s と %s は同時に指定できません",
- "Positionals:": "位置:",
- "command": "コマンド"
+ "Did you mean %s?": "もしかして %s?"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/ko.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/ko.json
index 0eaeab2f81..e714984798 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/ko.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/ko.json
@@ -35,8 +35,5 @@
"Path to JSON config file": "JSON 설정파일 경로",
"Show help": "도움말을 보여줍니다",
"Show version number": "버전 넘버를 보여줍니다",
- "Did you mean %s?": "찾고계신게 %s입니까?",
- "Arguments %s and %s are mutually exclusive" : "%s와 %s 인자는 같이 사용될 수 없습니다",
- "Positionals:": "위치:",
- "command": "명령"
+ "Did you mean %s?": "찾고계신게 %s입니까?"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/nl.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/nl.json
index 1d144724ec..fc029dbebd 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/nl.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/nl.json
@@ -35,8 +35,5 @@
"Path to JSON config file": "Pad naar JSON configuratiebestand",
"Show help": "Toon help",
"Show version number": "Toon versie nummer",
- "Did you mean %s?": "Bedoelde u misschien %s?",
- "Arguments %s and %s are mutually exclusive": "Argumenten %s en %s zijn onderling uitsluitend",
- "Positionals:": "Positie-afhankelijke argumenten",
- "command": "commando"
+ "Did you mean %s?": "Bedoelde u misschien %s?"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/nn.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/nn.json
deleted file mode 100644
index 5e03c505ab..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/nn.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "Commands:": "Kommandoar:",
- "Options:": "Alternativ:",
- "Examples:": "Døme:",
- "boolean": "boolsk",
- "count": "mengd",
- "string": "streng",
- "number": "nummer",
- "array": "matrise",
- "required": "obligatorisk",
- "default:": "standard:",
- "choices:": "val:",
- "generated-value": "generert-verdi",
- "Not enough non-option arguments: got %s, need at least %s":
- "Ikkje nok ikkje-alternativ argument: fekk %s, treng minst %s",
- "Too many non-option arguments: got %s, maximum of %s":
- "For mange ikkje-alternativ argument: fekk %s, maksimum %s",
- "Missing argument value: %s": {
- "one": "Manglar argumentverdi: %s",
- "other": "Manglar argumentverdiar: %s"
- },
- "Missing required argument: %s": {
- "one": "Manglar obligatorisk argument: %s",
- "other": "Manglar obligatoriske argument: %s"
- },
- "Unknown argument: %s": {
- "one": "Ukjent argument: %s",
- "other": "Ukjende argument: %s"
- },
- "Invalid values:": "Ugyldige verdiar:",
- "Argument: %s, Given: %s, Choices: %s": "Argument: %s, Gjeve: %s, Val: %s",
- "Argument check failed: %s": "Argument sjekk mislukkast: %s",
- "Implications failed:": "Konsekvensane mislukkast:",
- "Not enough arguments following: %s": "Ikkje nok fylgande argument: %s",
- "Invalid JSON config file: %s": "Ugyldig JSON konfigurasjonsfil: %s",
- "Path to JSON config file": "Bane til JSON konfigurasjonsfil",
- "Show help": "Vis hjelp",
- "Show version number": "Vis versjonsnummer"
-}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/pl.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/pl.json
index 6926a45480..1c834f693b 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/pl.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/pl.json
@@ -35,8 +35,5 @@
"Path to JSON config file": "Ścieżka do pliku konfiguracyjnego JSON",
"Show help": "Pokaż pomoc",
"Show version number": "Pokaż numer wersji",
- "Did you mean %s?": "Czy chodziło Ci o %s?",
- "Arguments %s and %s are mutually exclusive": "Argumenty %s i %s wzajemnie się wykluczają",
- "Positionals:": "Pozycyjne:",
- "command": "polecenie"
+ "Did you mean %s?": "Czy chodziło Ci o %s?"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/pt_BR.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/pt_BR.json
index 904cb66eb4..60e5ffa24d 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/pt_BR.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/pt_BR.json
@@ -2,7 +2,7 @@
"Commands:": "Comandos:",
"Options:": "Opções:",
"Examples:": "Exemplos:",
- "boolean": "booleano",
+ "boolean": "boolean",
"count": "contagem",
"string": "string",
"number": "número",
@@ -36,7 +36,5 @@
"Show help": "Exibe ajuda",
"Show version number": "Exibe a versão",
"Did you mean %s?": "Você quis dizer %s?",
- "Arguments %s and %s are mutually exclusive" : "Argumentos %s e %s são mutualmente exclusivos",
- "Positionals:": "Posicionais:",
- "command": "comando"
+ "Arguments %s and %s are mutually exclusive" : "Argumentos %s e %s são mutualmente exclusivos"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/tr.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/tr.json
index 9b06c52a8d..000060b91a 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/tr.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/tr.json
@@ -35,7 +35,5 @@
"Path to JSON config file": "JSON yapılandırma dosya konumu",
"Show help": "Yardım detaylarını göster",
"Show version number": "Versiyon detaylarını göster",
- "Did you mean %s?": "Bunu mu demek istediniz: %s?",
- "Positionals:": "Sıralılar:",
- "command": "komut"
+ "Did you mean %s?": "Bunu mu demek istediniz: %s?"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/zh_CN.json b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/zh_CN.json
index 03a3d94f0c..b25c7b9d20 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/locales/zh_CN.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/zh_CN.json
@@ -33,9 +33,5 @@
"Invalid JSON config file: %s": "无效的 JSON 配置文件:%s",
"Path to JSON config file": "JSON 配置文件的路径",
"Show help": "显示帮助信息",
- "Show version number": "显示版本号",
- "Did you mean %s?": "是指 %s?",
- "Arguments %s and %s are mutually exclusive" : "选项 %s 和 %s 是互斥的",
- "Positionals:": "位置:",
- "command": "命令"
+ "Show version number": "显示版本号"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/index.js
index c8492a2286..c8492a2286 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/package.json
index 8b020b8dbc..a174878a6f 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/package.json
@@ -3,7 +3,7 @@
"_id": "camelcase@4.1.0",
"_inBundle": false,
"_integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "_location": "/libnpx/yargs/yargs-parser/camelcase",
+ "_location": "/libnpx/yargs/camelcase",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,14 @@
"fetchSpec": "^4.1.0"
},
"_requiredBy": [
+ "/libnpx/yargs",
"/libnpx/yargs/yargs-parser"
],
"_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
"_shasum": "d545635be1e33c542649c69173e5de6acfae34dd",
"_shrinkwrap": null,
"_spec": "camelcase@^4.1.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs",
"bin": null,
"bundleDependencies": false,
"dependencies": {},
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/readme.md
index 0610dc627d..0610dc627d 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/CHANGELOG.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/CHANGELOG.md
index 69c08f4874..ef6a35ef41 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/CHANGELOG.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/CHANGELOG.md
@@ -2,32 +2,6 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-<a name="4.0.0"></a>
-# [4.0.0](https://github.com/yargs/cliui/compare/v3.2.0...v4.0.0) (2017-12-18)
-
-
-### Bug Fixes
-
-* downgrades strip-ansi to version 3.0.1 ([#54](https://github.com/yargs/cliui/issues/54)) ([5764c46](https://github.com/yargs/cliui/commit/5764c46))
-* set env variable FORCE_COLOR. ([#56](https://github.com/yargs/cliui/issues/56)) ([7350e36](https://github.com/yargs/cliui/commit/7350e36))
-
-
-### Chores
-
-* drop support for node < 4 ([#53](https://github.com/yargs/cliui/issues/53)) ([b105376](https://github.com/yargs/cliui/commit/b105376))
-
-
-### Features
-
-* add fallback for window width ([#45](https://github.com/yargs/cliui/issues/45)) ([d064922](https://github.com/yargs/cliui/commit/d064922))
-
-
-### BREAKING CHANGES
-
-* officially drop support for Node < 4
-
-
-
<a name="3.2.0"></a>
# [3.2.0](https://github.com/yargs/cliui/compare/v3.1.2...v3.2.0) (2016-04-11)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/README.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/README.md
index 3ad21198c5..028392c263 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/README.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/README.md
@@ -10,7 +10,9 @@ easily create complex multi-column command-line-interfaces.
## Example
```js
-var ui = require('cliui')()
+var ui = require('cliui')({
+ width: 80
+})
ui.div('Usage: $0 [command] [options]')
@@ -86,7 +88,6 @@ cliui = require('cliui')
### cliui({width: integer})
Specify the maximum width of the UI being generated.
-If no width is provided, cliui will try to get the current window's width and use it, and if that doesn't work, width will be set to `80`.
### cliui({wrap: boolean})
@@ -98,7 +99,6 @@ Create a row with any number of columns, a column
can either be a string, or an object with the following
options:
-* **text:** some text to place in the column.
* **width:** the width of a column.
* **align:** alignment, `right` or `center`.
* **padding:** `[top, right, bottom, left]`.
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/index.js
index 55abdee9f3..e501e78fd7 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/index.js
@@ -282,10 +282,6 @@ function _minWidth (col) {
return minWidth
}
-function getWindowWidth () {
- if (typeof process === 'object' && process.stdout && process.stdout.columns) return process.stdout.columns
-}
-
function alignRight (str, width) {
str = str.trim()
var padding = ''
@@ -314,7 +310,7 @@ module.exports = function (opts) {
opts = opts || {}
return new UI({
- width: (opts || {}).width || getWindowWidth() || 80,
+ width: (opts || {}).width || 80,
wrap: typeof opts.wrap === 'boolean' ? opts.wrap : true
})
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/index.js
index b9bec62440..b9bec62440 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/index.js
index 0432fe6a30..0432fe6a30 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/package.json
index d70c2e5d40..75b7ae6b15 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/package.json
@@ -3,7 +3,7 @@
"_id": "code-point-at@1.1.0",
"_inBundle": false,
"_integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "_location": "/libnpx/yargs/cliui/wrap-ansi/string-width/code-point-at",
+ "_location": "/libnpx/yargs/cliui/string-width/code-point-at",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^1.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/cliui/wrap-ansi/string-width"
+ "/libnpx/yargs/cliui/string-width"
],
"_resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"_shasum": "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77",
"_shrinkwrap": null,
"_spec": "code-point-at@^1.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width",
"bin": null,
"bundleDependencies": false,
"dependencies": {},
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/readme.md
index 4c97730e69..4c97730e69 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/code-point-at/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js
index a7d3e3855f..a7d3e3855f 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js
index 79be4b9cb8..79be4b9cb8 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json
index 9544dd9c60..9f82a47ba7 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json
@@ -3,7 +3,7 @@
"_id": "number-is-nan@1.0.1",
"_inBundle": false,
"_integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "_location": "/libnpx/yargs/cliui/wrap-ansi/string-width/is-fullwidth-code-point/number-is-nan",
+ "_location": "/libnpx/yargs/cliui/string-width/is-fullwidth-code-point/number-is-nan",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^1.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/cliui/wrap-ansi/string-width/is-fullwidth-code-point"
+ "/libnpx/yargs/cliui/string-width/is-fullwidth-code-point"
],
"_resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"_shasum": "097b602b53422a522c1afb8790318336941a011d",
"_shrinkwrap": null,
"_spec": "number-is-nan@^1.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point",
"bin": null,
"bundleDependencies": false,
"dependencies": {},
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md
index 2463508712..2463508712 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json
index 2ff2d7cd65..32957f6932 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json
@@ -3,7 +3,7 @@
"_id": "is-fullwidth-code-point@1.0.0",
"_inBundle": false,
"_integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "_location": "/libnpx/yargs/cliui/wrap-ansi/string-width/is-fullwidth-code-point",
+ "_location": "/libnpx/yargs/cliui/string-width/is-fullwidth-code-point",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^1.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/cliui/wrap-ansi/string-width"
+ "/libnpx/yargs/cliui/string-width"
],
"_resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"_shasum": "ef9e31386f031a7f0d643af82fde50c457ef00cb",
"_shrinkwrap": null,
"_spec": "is-fullwidth-code-point@^1.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width",
"bin": null,
"bundleDependencies": false,
"dependencies": {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md
index 4936464b1b..4936464b1b 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/package.json
index 82a2f4129a..277962789d 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/package.json
@@ -3,7 +3,7 @@
"_id": "string-width@1.0.2",
"_inBundle": false,
"_integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "_location": "/libnpx/yargs/cliui/wrap-ansi/string-width",
+ "_location": "/libnpx/yargs/cliui/string-width",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,14 @@
"fetchSpec": "^1.0.1"
},
"_requiredBy": [
+ "/libnpx/yargs/cliui",
"/libnpx/yargs/cliui/wrap-ansi"
],
"_resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"_shasum": "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3",
"_shrinkwrap": null,
"_spec": "string-width@^1.0.1",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui",
"bin": null,
"bundleDependencies": false,
"dependencies": {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/readme.md
index 1ab42c9358..1ab42c9358 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/index.js
index 099480fbfc..099480fbfc 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/index.js
index b9574ed7e8..b9574ed7e8 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/package.json
index d593e439c8..6e890f17e8 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/package.json
@@ -3,7 +3,7 @@
"_id": "ansi-regex@2.1.1",
"_inBundle": false,
"_integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "_location": "/libnpx/yargs/cliui/wrap-ansi/strip-ansi/ansi-regex",
+ "_location": "/libnpx/yargs/cliui/strip-ansi/ansi-regex",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^2.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/cliui/wrap-ansi/strip-ansi"
+ "/libnpx/yargs/cliui/strip-ansi"
],
"_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
"_shrinkwrap": null,
"_spec": "ansi-regex@^2.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi",
"bin": null,
"bundleDependencies": false,
"dependencies": {},
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
index 6a928edf0f..6a928edf0f 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/package.json
index b6ef35987d..5e00cb0e20 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/package.json
@@ -3,7 +3,7 @@
"_id": "strip-ansi@3.0.1",
"_inBundle": false,
"_integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "_location": "/libnpx/yargs/cliui/wrap-ansi/strip-ansi",
+ "_location": "/libnpx/yargs/cliui/strip-ansi",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,14 +16,15 @@
"fetchSpec": "^3.0.1"
},
"_requiredBy": [
- "/libnpx/yargs/cliui/wrap-ansi",
- "/libnpx/yargs/cliui/wrap-ansi/string-width"
+ "/libnpx/yargs/cliui",
+ "/libnpx/yargs/cliui/string-width",
+ "/libnpx/yargs/cliui/wrap-ansi"
],
"_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"_shasum": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf",
"_shrinkwrap": null,
"_spec": "strip-ansi@^3.0.1",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui",
"bin": null,
"bundleDependencies": false,
"dependencies": {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/readme.md
index cb7d9ff7ee..cb7d9ff7ee 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/package.json
index ecd8d86e45..05ae56ab79 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/package.json
@@ -1,99 +1,49 @@
{
- "_from": "cliui@^4.0.0",
- "_id": "cliui@4.0.0",
+ "_from": "cliui@^3.2.0",
+ "_id": "cliui@3.2.0",
"_inBundle": false,
- "_integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==",
+ "_integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
"_location": "/libnpx/yargs/cliui",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "cliui@^4.0.0",
+ "raw": "cliui@^3.2.0",
"name": "cliui",
"escapedName": "cliui",
- "rawSpec": "^4.0.0",
+ "rawSpec": "^3.2.0",
"saveSpec": null,
- "fetchSpec": "^4.0.0"
+ "fetchSpec": "^3.2.0"
},
"_requiredBy": [
"/libnpx/yargs"
],
- "_resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz",
- "_shasum": "743d4650e05f36d1ed2575b59638d87322bfbbcc",
- "_spec": "cliui@^4.0.0",
+ "_resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "_shasum": "120601537a916d29940f934da3b48d585a39213d",
+ "_shrinkwrap": null,
+ "_spec": "cliui@^3.2.0",
"_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs",
- "author": {
- "name": "Ben Coe",
- "email": "ben@npmjs.com"
- },
- "bugs": {
- "url": "https://github.com/yargs/cliui/issues"
- },
+ "bin": null,
"bundleDependencies": false,
- "config": {
- "blanket": {
- "pattern": [
- "index.js"
- ],
- "data-cover-never": [
- "node_modules",
- "test"
- ],
- "output-reporter": "spec"
- }
- },
"dependencies": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
"wrap-ansi": "^2.0.0"
},
"deprecated": false,
- "description": "easily create complex multi-column command-line-interfaces",
+ "description": "[![Build Status](https://travis-ci.org/yargs/cliui.svg)](https://travis-ci.org/yargs/cliui) [![Coverage Status](https://coveralls.io/repos/yargs/cliui/badge.svg?branch=)](https://coveralls.io/r/yargs/cliui?branch=) [![NPM version](https://img.shields.io/npm/v/cliui.svg)](https://www.npmjs.com/package/cliui) [![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)",
"devDependencies": {
"chai": "^3.5.0",
"chalk": "^1.1.2",
"coveralls": "^2.11.8",
- "mocha": "^3.0.0",
- "nyc": "^10.0.0",
- "standard": "^8.0.0",
- "standard-version": "^3.0.0"
+ "mocha": "^2.4.5",
+ "nyc": "^6.4.0",
+ "standard": "^6.0.8",
+ "standard-version": "^2.1.2"
},
- "engine": {
- "node": ">=4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/yargs/cliui#readme",
- "keywords": [
- "cli",
- "command-line",
- "layout",
- "design",
- "console",
- "wrap",
- "table"
- ],
- "license": "ISC",
- "main": "index.js",
"name": "cliui",
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com/yargs/cliui.git"
- },
- "scripts": {
- "coverage": "nyc --reporter=text-lcov mocha | coveralls",
- "pretest": "standard",
- "release": "standard-version",
- "test": "nyc mocha"
- },
- "standard": {
- "ignore": [
- "**/example/**"
- ],
- "globals": [
- "it"
- ]
- },
- "version": "4.0.0"
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "3.2.0"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/license
deleted file mode 100644
index e7af2f7710..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-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/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/index.js
deleted file mode 100644
index efa2f74338..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-module.exports = cb => new Promise(resolve => {
- resolve(cb());
-});
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/package.json
deleted file mode 100644
index 61bfc00b1e..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/package.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "_from": "p-try@^1.0.0",
- "_id": "p-try@1.0.0",
- "_inBundle": false,
- "_integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "_location": "/libnpx/yargs/find-up/locate-path/p-locate/p-limit/p-try",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "p-try@^1.0.0",
- "name": "p-try",
- "escapedName": "p-try",
- "rawSpec": "^1.0.0",
- "saveSpec": null,
- "fetchSpec": "^1.0.0"
- },
- "_requiredBy": [
- "/libnpx/yargs/find-up/locate-path/p-locate/p-limit"
- ],
- "_resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "_shasum": "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3",
- "_spec": "p-try@^1.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/p-try/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "`Promise#try()` ponyfill - Starts a promise chain",
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- },
- "engines": {
- "node": ">=4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/p-try#readme",
- "keywords": [
- "promise",
- "try",
- "resolve",
- "function",
- "catch",
- "async",
- "await",
- "promises",
- "settled",
- "ponyfill",
- "polyfill",
- "shim",
- "bluebird"
- ],
- "license": "MIT",
- "name": "p-try",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/p-try.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "1.0.0",
- "xo": {
- "esnext": true
- }
-}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/readme.md
deleted file mode 100644
index 8e5fdddbe1..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/readme.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# p-try [![Build Status](https://travis-ci.org/sindresorhus/p-try.svg?branch=master)](https://travis-ci.org/sindresorhus/p-try)
-
-> [`Promise#try()`](https://github.com/ljharb/proposal-promise-try) [ponyfill](https://ponyfill.com) - Starts a promise chain
-
-[How is it useful?](http://cryto.net/~joepie91/blog/2016/05/11/what-is-promise-try-and-why-does-it-matter/)
-
-
-## Install
-
-```
-$ npm install --save p-try
-```
-
-
-## Usage
-
-```js
-const pTry = require('p-try');
-
-pTry(() => {
- return synchronousFunctionThatMightThrow();
-}).then(value => {
- console.log(value);
-}).catch(error => {
- console.error(error);
-});
-```
-
-
-## Related
-
-- [p-finally](https://github.com/sindresorhus/p-finally) - `Promise#finally()` ponyfill - Invoked when the promise is settled regardless of outcome
-- [More…](https://github.com/sindresorhus/promise-fun)
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/package.json
deleted file mode 100644
index 556cb595ae..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/package.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "_from": "p-limit@^1.1.0",
- "_id": "p-limit@1.2.0",
- "_inBundle": false,
- "_integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
- "_location": "/libnpx/yargs/find-up/locate-path/p-locate/p-limit",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "p-limit@^1.1.0",
- "name": "p-limit",
- "escapedName": "p-limit",
- "rawSpec": "^1.1.0",
- "saveSpec": null,
- "fetchSpec": "^1.1.0"
- },
- "_requiredBy": [
- "/libnpx/yargs/find-up/locate-path/p-locate"
- ],
- "_resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
- "_shasum": "0e92b6bedcb59f022c13d0f1949dc82d15909f1c",
- "_spec": "p-limit@^1.1.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/p-limit/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "p-try": "^1.0.0"
- },
- "deprecated": false,
- "description": "Run multiple promise-returning & async functions with limited concurrency",
- "devDependencies": {
- "ava": "*",
- "delay": "^2.0.0",
- "in-range": "^1.0.0",
- "random-int": "^1.0.0",
- "time-span": "^2.0.0",
- "xo": "*"
- },
- "engines": {
- "node": ">=4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/p-limit#readme",
- "keywords": [
- "promise",
- "limit",
- "limited",
- "concurrency",
- "throttle",
- "throat",
- "rate",
- "batch",
- "ratelimit",
- "task",
- "queue",
- "async",
- "await",
- "promises",
- "bluebird"
- ],
- "license": "MIT",
- "name": "p-limit",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/p-limit.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "1.2.0"
-}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/index.js
index 08e69d3d88..9bf1763673 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/index.js
@@ -4,6 +4,4 @@ module.exports = (to, from) => {
for (const prop of Object.getOwnPropertyNames(from).concat(Object.getOwnPropertySymbols(from))) {
Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop));
}
-
- return to;
};
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/license
index e7af2f7710..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/license
@@ -1,9 +1,21 @@
-MIT License
+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:
+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 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.
+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/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/package.json
index 1009f6fb1c..f3099fa5f1 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/package.json
@@ -1,8 +1,8 @@
{
"_from": "mimic-fn@^1.0.0",
- "_id": "mimic-fn@1.2.0",
+ "_id": "mimic-fn@1.1.0",
"_inBundle": false,
- "_integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "_integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
"_location": "/libnpx/yargs/os-locale/mem/mimic-fn",
"_phantomChildren": {},
"_requested": {
@@ -18,21 +18,16 @@
"_requiredBy": [
"/libnpx/yargs/os-locale/mem"
],
- "_resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "_shasum": "820c86a39334640e99516928bd03fca88057d022",
+ "_resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
+ "_shasum": "e667783d92e89dbd342818b5230b9d62a672ad18",
+ "_shrinkwrap": null,
"_spec": "mimic-fn@^1.0.0",
"_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/mimic-fn/issues"
- },
+ "bin": null,
"bundleDependencies": false,
+ "dependencies": {},
"deprecated": false,
- "description": "Make a function mimic another one",
+ "description": "> Make a function mimic another one",
"devDependencies": {
"ava": "*",
"xo": "*"
@@ -40,33 +35,9 @@
"engines": {
"node": ">=4"
},
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/mimic-fn#readme",
- "keywords": [
- "function",
- "mimic",
- "imitate",
- "rename",
- "copy",
- "inherit",
- "properties",
- "name",
- "func",
- "fn",
- "set",
- "infer",
- "change"
- ],
- "license": "MIT",
"name": "mimic-fn",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/mimic-fn.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "1.2.0"
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "1.1.0"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/readme.md
index e575734389..672c79eb3a 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/os-locale/node_modules/mem/node_modules/mimic-fn/readme.md
@@ -8,7 +8,7 @@ Useful when you wrap a function in another function and like to preserve the ori
## Install
```
-$ npm install mimic-fn
+$ npm install --save mimic-fn
```
@@ -43,8 +43,6 @@ It will copy over the properties `name`, `length`, `displayName`, and any custom
### mimicFn(to, from)
-It will modify `to` and return it.
-
#### to
Type: `Function`
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/index.js
new file mode 100644
index 0000000000..26079760f3
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/index.js
@@ -0,0 +1,26 @@
+'use strict';
+const findUp = require('find-up');
+const readPkg = require('read-pkg');
+
+module.exports = opts => {
+ return findUp('package.json', opts).then(fp => {
+ if (!fp) {
+ return {};
+ }
+
+ return readPkg(fp, opts).then(pkg => ({pkg, path: fp}));
+ });
+};
+
+module.exports.sync = opts => {
+ const fp = findUp.sync('package.json', opts);
+
+ if (!fp) {
+ return {};
+ }
+
+ return {
+ pkg: readPkg.sync(fp, opts),
+ path: fp
+ };
+};
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/index.js
index 939c9553dc..939c9553dc 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/index.js
index 32b108d19b..32b108d19b 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/node_modules/p-try/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/index.js
index 7461d665b5..7461d665b5 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/index.js
index 8767db1ca7..bfafd2688a 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/index.js
@@ -1,6 +1,4 @@
'use strict';
-const pTry = require('p-try');
-
module.exports = concurrency => {
if (concurrency < 1) {
throw new TypeError('Expected `concurrency` to be a number from 1 and up');
@@ -21,7 +19,7 @@ module.exports = concurrency => {
const run = () => {
activeCount++;
- pTry(() => fn()).then(
+ fn().then(
val => {
resolve(val);
next();
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/package.json
new file mode 100644
index 0000000000..afb27e6ab9
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/package.json
@@ -0,0 +1,47 @@
+{
+ "_from": "p-limit@^1.1.0",
+ "_id": "p-limit@1.1.0",
+ "_inBundle": false,
+ "_integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=",
+ "_location": "/libnpx/yargs/read-pkg-up/find-up/locate-path/p-locate/p-limit",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "p-limit@^1.1.0",
+ "name": "p-limit",
+ "escapedName": "p-limit",
+ "rawSpec": "^1.1.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.1.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up/find-up/locate-path/p-locate"
+ ],
+ "_resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz",
+ "_shasum": "b07ff2d9a5d88bec806035895a2bab66a27988bc",
+ "_shrinkwrap": null,
+ "_spec": "p-limit@^1.1.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "> Run multiple promise-returning & async functions with limited concurrency",
+ "devDependencies": {
+ "ava": "*",
+ "delay": "^1.3.1",
+ "in-range": "^1.0.0",
+ "random-int": "^1.0.0",
+ "time-span": "^1.0.0",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "name": "p-limit",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "1.1.0"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/readme.md
index 90129925c1..c7a10deb68 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/readme.md
@@ -6,7 +6,7 @@
## Install
```
-$ npm install p-limit
+$ npm install --save p-limit
```
@@ -23,11 +23,10 @@ const input = [
limit(() => doSomething())
];
-(async () => {
- // Only one promise is run at once
- const result = await Promise.all(input);
+// only one promise is run at once
+Promise.all(input).then(result => {
console.log(result);
-})();
+});
```
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/package.json
index 15d59d4d3d..bf1139823b 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/package.json
@@ -3,7 +3,7 @@
"_id": "p-locate@2.0.0",
"_inBundle": false,
"_integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "_location": "/libnpx/yargs/find-up/locate-path/p-locate",
+ "_location": "/libnpx/yargs/read-pkg-up/find-up/locate-path/p-locate",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^2.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/find-up/locate-path"
+ "/libnpx/yargs/read-pkg-up/find-up/locate-path"
],
"_resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"_shasum": "20a0103b222a70c8fd39cc2e580680f3dde5ec43",
"_shrinkwrap": null,
"_spec": "p-locate@^2.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path",
"bin": null,
"bundleDependencies": false,
"dependencies": {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/readme.md
index 68b96a47ef..68b96a47ef 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/index.js
index 16ae60acb1..16ae60acb1 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/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/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/package.json
index b14eb2ca0b..a7e85b7ff0 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/package.json
@@ -3,7 +3,7 @@
"_id": "path-exists@3.0.0",
"_inBundle": false,
"_integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "_location": "/libnpx/yargs/find-up/locate-path/path-exists",
+ "_location": "/libnpx/yargs/read-pkg-up/find-up/locate-path/path-exists",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^3.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/find-up/locate-path"
+ "/libnpx/yargs/read-pkg-up/find-up/locate-path"
],
"_resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"_shasum": "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515",
"_shrinkwrap": null,
"_spec": "path-exists@^3.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path",
"bin": null,
"bundleDependencies": false,
"dependencies": {},
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/readme.md
index 1b65fa705d..1b65fa705d 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/package.json
index 02f922120c..a9531e7a63 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/package.json
@@ -3,7 +3,7 @@
"_id": "locate-path@2.0.0",
"_inBundle": false,
"_integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "_location": "/libnpx/yargs/find-up/locate-path",
+ "_location": "/libnpx/yargs/read-pkg-up/find-up/locate-path",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^2.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/find-up"
+ "/libnpx/yargs/read-pkg-up/find-up"
],
"_resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"_shasum": "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e",
"_shrinkwrap": null,
"_spec": "locate-path@^2.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up",
"bin": null,
"bundleDependencies": false,
"dependencies": {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/readme.md
index f7b337bb2c..f7b337bb2c 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/package.json
index 56ebb1cb86..8cd3948e88 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/package.json
@@ -1,28 +1,28 @@
{
- "_from": "find-up@^2.1.0",
+ "_from": "find-up@^2.0.0",
"_id": "find-up@2.1.0",
"_inBundle": false,
"_integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "_location": "/libnpx/yargs/find-up",
+ "_location": "/libnpx/yargs/read-pkg-up/find-up",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "find-up@^2.1.0",
+ "raw": "find-up@^2.0.0",
"name": "find-up",
"escapedName": "find-up",
- "rawSpec": "^2.1.0",
+ "rawSpec": "^2.0.0",
"saveSpec": null,
- "fetchSpec": "^2.1.0"
+ "fetchSpec": "^2.0.0"
},
"_requiredBy": [
- "/libnpx/yargs"
+ "/libnpx/yargs/read-pkg-up"
],
"_resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"_shasum": "45d1b7e506c717ddd482775a2b77920a3c0c57a7",
"_shrinkwrap": null,
- "_spec": "find-up@^2.1.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs",
+ "_spec": "find-up@^2.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up",
"bin": null,
"bundleDependencies": false,
"dependencies": {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/readme.md
index b5ad694552..b5ad694552 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/index.js
new file mode 100644
index 0000000000..dff948b691
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/index.js
@@ -0,0 +1,47 @@
+'use strict';
+const path = require('path');
+const loadJsonFile = require('load-json-file');
+const pathType = require('path-type');
+
+module.exports = (fp, opts) => {
+ if (typeof fp !== 'string') {
+ opts = fp;
+ fp = '.';
+ }
+
+ opts = opts || {};
+
+ return pathType.dir(fp)
+ .then(isDir => {
+ if (isDir) {
+ fp = path.join(fp, 'package.json');
+ }
+
+ return loadJsonFile(fp);
+ })
+ .then(x => {
+ if (opts.normalize !== false) {
+ require('normalize-package-data')(x);
+ }
+
+ return x;
+ });
+};
+
+module.exports.sync = (fp, opts) => {
+ if (typeof fp !== 'string') {
+ opts = fp;
+ fp = '.';
+ }
+
+ opts = opts || {};
+ fp = pathType.dirSync(fp) ? path.join(fp, 'package.json') : fp;
+
+ const x = loadJsonFile.sync(fp);
+
+ if (opts.normalize !== false) {
+ require('normalize-package-data')(x);
+ }
+
+ return x;
+};
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/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/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/index.js
new file mode 100644
index 0000000000..b2767e3023
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/index.js
@@ -0,0 +1,11 @@
+'use strict';
+const path = require('path');
+const fs = require('graceful-fs');
+const stripBom = require('strip-bom');
+const parseJson = require('parse-json');
+const pify = require('pify');
+
+const parse = (data, fp) => parseJson(stripBom(data), path.relative('.', fp));
+
+module.exports = fp => pify(fs.readFile)(fp, 'utf8').then(data => parse(data, fp));
+module.exports.sync = fp => parse(fs.readFileSync(fp, 'utf8'), fp);
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/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/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/index.js
new file mode 100644
index 0000000000..04add8ae27
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/index.js
@@ -0,0 +1,35 @@
+'use strict';
+var errorEx = require('error-ex');
+var fallback = require('./vendor/parse');
+
+var JSONError = errorEx('JSONError', {
+ fileName: errorEx.append('in %s')
+});
+
+module.exports = function (x, reviver, filename) {
+ if (typeof reviver === 'string') {
+ filename = reviver;
+ reviver = null;
+ }
+
+ try {
+ try {
+ return JSON.parse(x, reviver);
+ } catch (err) {
+ fallback.parse(x, {
+ mode: 'json',
+ reviver: reviver
+ });
+
+ throw err;
+ }
+ } catch (err) {
+ var jsonErr = new JSONError(err);
+
+ if (filename) {
+ jsonErr.fileName = filename;
+ }
+
+ throw jsonErr;
+ }
+};
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/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/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/LICENSE b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/LICENSE
new file mode 100644
index 0000000000..0a5f461a69
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 JD Ballard
+
+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/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/README.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/README.md
new file mode 100644
index 0000000000..97f744af89
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/README.md
@@ -0,0 +1,144 @@
+# node-error-ex [![Travis-CI.org Build Status](https://img.shields.io/travis/Qix-/node-error-ex.svg?style=flat-square)](https://travis-ci.org/Qix-/node-error-ex) [![Coveralls.io Coverage Rating](https://img.shields.io/coveralls/Qix-/node-error-ex.svg?style=flat-square)](https://coveralls.io/r/Qix-/node-error-ex)
+> Easily subclass and customize new Error types
+
+## Examples
+To include in your project:
+```javascript
+var errorEx = require('error-ex');
+```
+
+To create an error message type with a specific name (note, that `ErrorFn.name`
+will not reflect this):
+```javascript
+var JSONError = errorEx('JSONError');
+
+var err = new JSONError('error');
+err.name; //-> JSONError
+throw err; //-> JSONError: error
+```
+
+To add a stack line:
+```javascript
+var JSONError = errorEx('JSONError', {fileName: errorEx.line('in %s')});
+
+var err = new JSONError('error')
+err.fileName = '/a/b/c/foo.json';
+throw err; //-> (line 2)-> in /a/b/c/foo.json
+```
+
+To append to the error message:
+```javascript
+var JSONError = errorEx('JSONError', {fileName: errorEx.append('in %s')});
+
+var err = new JSONError('error');
+err.fileName = '/a/b/c/foo.json';
+throw err; //-> JSONError: error in /a/b/c/foo.json
+```
+
+## API
+
+#### `errorEx([name], [properties])`
+Creates a new ErrorEx error type
+
+- `name`: the name of the new type (appears in the error message upon throw;
+ defaults to `Error.name`)
+- `properties`: if supplied, used as a key/value dictionary of properties to
+ use when building up the stack message. Keys are property names that are
+ looked up on the error message, and then passed to function values.
+ - `line`: if specified and is a function, return value is added as a stack
+ entry (error-ex will indent for you). Passed the property value given
+ the key.
+ - `stack`: if specified and is a function, passed the value of the property
+ using the key, and the raw stack lines as a second argument. Takes no
+ return value (but the stack can be modified directly).
+ - `message`: if specified and is a function, return value is used as new
+ `.message` value upon get. Passed the property value of the property named
+ by key, and the existing message is passed as the second argument as an
+ array of lines (suitable for multi-line messages).
+
+Returns a constructor (Function) that can be used just like the regular Error
+constructor.
+
+```javascript
+var errorEx = require('error-ex');
+
+var BasicError = errorEx();
+
+var NamedError = errorEx('NamedError');
+
+// --
+
+var AdvancedError = errorEx('AdvancedError', {
+ foo: {
+ line: function (value, stack) {
+ if (value) {
+ return 'bar ' + value;
+ }
+ return null;
+ }
+ }
+}
+
+var err = new AdvancedError('hello, world');
+err.foo = 'baz';
+throw err;
+
+/*
+ AdvancedError: hello, world
+ bar baz
+ at tryReadme() (readme.js:20:1)
+*/
+```
+
+#### `errorEx.line(str)`
+Creates a stack line using a delimiter
+
+> This is a helper function. It is to be used in lieu of writing a value object
+> for `properties` values.
+
+- `str`: The string to create
+ - Use the delimiter `%s` to specify where in the string the value should go
+
+```javascript
+var errorEx = require('error-ex');
+
+var FileError = errorEx('FileError', {fileName: errorEx.line('in %s')});
+
+var err = new FileError('problem reading file');
+err.fileName = '/a/b/c/d/foo.js';
+throw err;
+
+/*
+ FileError: problem reading file
+ in /a/b/c/d/foo.js
+ at tryReadme() (readme.js:7:1)
+*/
+```
+
+#### `errorEx.append(str)`
+Appends to the `error.message` string
+
+> This is a helper function. It is to be used in lieu of writing a value object
+> for `properties` values.
+
+- `str`: The string to append
+ - Use the delimiter `%s` to specify where in the string the value should go
+
+```javascript
+var errorEx = require('error-ex');
+
+var SyntaxError = errorEx('SyntaxError', {fileName: errorEx.append('in %s')});
+
+var err = new SyntaxError('improper indentation');
+err.fileName = '/a/b/c/d/foo.js';
+throw err;
+
+/*
+ SyntaxError: improper indentation in /a/b/c/d/foo.js
+ at tryReadme() (readme.js:7:1)
+*/
+```
+
+## License
+Licensed under the [MIT License](http://opensource.org/licenses/MIT).
+You can find a copy of it in [LICENSE](LICENSE).
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/index.js
new file mode 100644
index 0000000000..43641b08ff
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/index.js
@@ -0,0 +1,133 @@
+'use strict';
+
+var util = require('util');
+var isArrayish = require('is-arrayish');
+
+var errorEx = function errorEx(name, properties) {
+ if (!name || name.constructor !== String) {
+ properties = name || {};
+ name = Error.name;
+ }
+
+ var errorExError = function ErrorEXError(message) {
+ if (!this) {
+ return new ErrorEXError(message);
+ }
+
+ message = message instanceof Error
+ ? message.message
+ : (message || this.message);
+
+ Error.call(this, message);
+ Error.captureStackTrace(this, errorExError);
+
+ this.name = name;
+
+ Object.defineProperty(this, 'message', {
+ configurable: true,
+ enumerable: false,
+ get: function () {
+ var newMessage = message.split(/\r?\n/g);
+
+ for (var key in properties) {
+ if (!properties.hasOwnProperty(key)) {
+ continue;
+ }
+
+ var modifier = properties[key];
+
+ if ('message' in modifier) {
+ newMessage = modifier.message(this[key], newMessage) || newMessage;
+ if (!isArrayish(newMessage)) {
+ newMessage = [newMessage];
+ }
+ }
+ }
+
+ return newMessage.join('\n');
+ },
+ set: function (v) {
+ message = v;
+ }
+ });
+
+ var stackDescriptor = Object.getOwnPropertyDescriptor(this, 'stack');
+ var stackGetter = stackDescriptor.get;
+ var stackValue = stackDescriptor.value;
+ delete stackDescriptor.value;
+ delete stackDescriptor.writable;
+
+ stackDescriptor.get = function () {
+ var stack = (stackGetter)
+ ? stackGetter.call(this).split(/\r?\n+/g)
+ : stackValue.split(/\r?\n+/g);
+
+ // starting in Node 7, the stack builder caches the message.
+ // just replace it.
+ stack[0] = this.name + ': ' + this.message;
+
+ var lineCount = 1;
+ for (var key in properties) {
+ if (!properties.hasOwnProperty(key)) {
+ continue;
+ }
+
+ var modifier = properties[key];
+
+ if ('line' in modifier) {
+ var line = modifier.line(this[key]);
+ if (line) {
+ stack.splice(lineCount++, 0, ' ' + line);
+ }
+ }
+
+ if ('stack' in modifier) {
+ modifier.stack(this[key], stack);
+ }
+ }
+
+ return stack.join('\n');
+ };
+
+ Object.defineProperty(this, 'stack', stackDescriptor);
+ };
+
+ if (Object.setPrototypeOf) {
+ Object.setPrototypeOf(errorExError.prototype, Error.prototype);
+ Object.setPrototypeOf(errorExError, Error);
+ } else {
+ util.inherits(errorExError, Error);
+ }
+
+ return errorExError;
+};
+
+errorEx.append = function (str, def) {
+ return {
+ message: function (v, message) {
+ v = v || def;
+
+ if (v) {
+ message[0] += ' ' + str.replace('%s', v.toString());
+ }
+
+ return message;
+ }
+ };
+};
+
+errorEx.line = function (str, def) {
+ return {
+ line: function (v) {
+ v = v || def;
+
+ if (v) {
+ return str.replace('%s', v.toString());
+ }
+
+ return null;
+ }
+ };
+};
+
+module.exports = errorEx;
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.editorconfig b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.editorconfig
new file mode 100644
index 0000000000..4c017f8ad2
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.editorconfig
@@ -0,0 +1,18 @@
+root = true
+
+[*]
+indent_style = tab
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.coffee]
+indent_style = space
+
+[{package.json,*.yml}]
+indent_style = space
+indent_size = 2
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.istanbul.yml b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.istanbul.yml
new file mode 100644
index 0000000000..19fbec32b8
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.istanbul.yml
@@ -0,0 +1,4 @@
+instrumentation:
+ excludes:
+ - test.js
+ - test/**/*
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.npmignore b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.npmignore
new file mode 100644
index 0000000000..8d5eacb3ef
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.npmignore
@@ -0,0 +1,5 @@
+/coverage/
+/test.js
+/test/
+*.sw[a-p]
+/node_modules/
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.travis.yml b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.travis.yml
new file mode 100644
index 0000000000..5a0424350e
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/.travis.yml
@@ -0,0 +1,17 @@
+language: node_js
+
+script:
+ - node_modules/.bin/istanbul cover node_modules/.bin/_mocha -- --compilers coffee:coffee-script/register
+ - cat coverage/lcov.info | node_modules/.bin/coveralls
+node_js:
+ - "0.10"
+ - "0.11"
+ - "0.12"
+ - "iojs"
+os:
+ - linux
+ - osx
+
+notifications:
+ slack:
+ secure: oOt8QGzdrPDsTMcyahtIq5Q+0U1iwfgJgFCxBLsomQ0bpIMn+y5m4viJydA2UinHPGc944HS3LMZS9iKQyv+DjTgbhUyNXqeVjtxCwRe37f5rKQlXVvdfmjHk2kln4H8DcK3r5Qd/+2hd9BeMsp2GImTrkRSud1CZQlhhe5IgZOboSoWpGVMMy1iazWT06tAtiB2LRVhmsdUaFZDWAhGZ+UAvCPf+mnBOAylIj+U0GDrofhfTi25RK0gddG2f/p2M1HCu49O6wECGWkt2hVei233DkNJyLLLJVcvmhf+aXkV5TjMyaoxh/HdcV4DrA7KvYuWmWWKsINa9hlwAsdd/FYmJ6PjRkKWas2JoQ1C+qOzDxyQvn3CaUZFKD99pdsq0rBBZujqXQKZZ/hWb/CE74BI6fKmqQkiEPaD/7uADj04FEg6HVBZaMCyauOaK5b3VC97twbALZ1qVxYV6mU+zSEvnUbpnjjvRO0fSl9ZHA+rzkW73kX3GmHY0wAozEZbSy7QLuZlQ2QtHmBLr+APaGMdL1sFF9qFfzqKy0WDbSE0WS6hpAEJpTsjYmeBrnI8UmK3m++iEgyQPvZoH9LhUT+ek7XIfHZMe04BmC6wuO24/RfpmR6bQK9VMarFCYlBiWxg/z30vkP0KTpUi3o/cqFm7/Noxc0i2LVqM3E0Sy4=
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/LICENSE b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/LICENSE
new file mode 100644
index 0000000000..0a5f461a69
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 JD Ballard
+
+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/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/README.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/README.md
new file mode 100644
index 0000000000..7d360724c0
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/README.md
@@ -0,0 +1,16 @@
+# node-is-arrayish [![Travis-CI.org Build Status](https://img.shields.io/travis/Qix-/node-is-arrayish.svg?style=flat-square)](https://travis-ci.org/Qix-/node-is-arrayish) [![Coveralls.io Coverage Rating](https://img.shields.io/coveralls/Qix-/node-is-arrayish.svg?style=flat-square)](https://coveralls.io/r/Qix-/node-is-arrayish)
+> Determines if an object can be used like an Array
+
+## Example
+```javascript
+var isArrayish = require('is-arrayish');
+
+isArrayish([]); // true
+isArrayish({__proto__: []}); // true
+isArrayish({}); // false
+isArrayish({length:10}); // false
+```
+
+## License
+Licensed under the [MIT License](http://opensource.org/licenses/MIT).
+You can find a copy of it in [LICENSE](LICENSE).
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/index.js
new file mode 100644
index 0000000000..5b971868b6
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/index.js
@@ -0,0 +1,10 @@
+'use strict';
+
+module.exports = function isArrayish(obj) {
+ if (!obj) {
+ return false;
+ }
+
+ return obj instanceof Array || Array.isArray(obj) ||
+ (obj.length >= 0 && obj.splice instanceof Function);
+};
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/package.json
new file mode 100644
index 0000000000..f191d1f3fa
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/node_modules/is-arrayish/package.json
@@ -0,0 +1,44 @@
+{
+ "_from": "is-arrayish@^0.2.1",
+ "_id": "is-arrayish@0.2.1",
+ "_inBundle": false,
+ "_integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "_location": "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file/parse-json/error-ex/is-arrayish",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "is-arrayish@^0.2.1",
+ "name": "is-arrayish",
+ "escapedName": "is-arrayish",
+ "rawSpec": "^0.2.1",
+ "saveSpec": null,
+ "fetchSpec": "^0.2.1"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file/parse-json/error-ex"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "_shasum": "77c99840527aa8ecb1a8ba697b80645a7a926a9d",
+ "_shrinkwrap": null,
+ "_spec": "is-arrayish@^0.2.1",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "> Determines if an object can be used like an Array",
+ "devDependencies": {
+ "coffee-script": "^1.9.3",
+ "coveralls": "^2.11.2",
+ "istanbul": "^0.3.17",
+ "mocha": "^2.2.5",
+ "should": "^7.0.1",
+ "xo": "^0.6.1"
+ },
+ "name": "is-arrayish",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "0.2.1"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/package.json
new file mode 100644
index 0000000000..12985c9fee
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/node_modules/error-ex/package.json
@@ -0,0 +1,46 @@
+{
+ "_from": "error-ex@^1.2.0",
+ "_id": "error-ex@1.3.1",
+ "_inBundle": false,
+ "_integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "_location": "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file/parse-json/error-ex",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "error-ex@^1.2.0",
+ "name": "error-ex",
+ "escapedName": "error-ex",
+ "rawSpec": "^1.2.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.2.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file/parse-json"
+ ],
+ "_resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "_shasum": "f855a86ce61adc4e8621c3cda21e7a7612c3a8dc",
+ "_shrinkwrap": null,
+ "_spec": "error-ex@^1.2.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ },
+ "deprecated": false,
+ "description": "> Easily subclass and customize new Error types",
+ "devDependencies": {
+ "coffee-script": "^1.9.3",
+ "coveralls": "^2.11.2",
+ "istanbul": "^0.3.17",
+ "mocha": "^2.2.5",
+ "should": "^7.0.1",
+ "xo": "^0.7.1"
+ },
+ "name": "error-ex",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "1.3.1"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/package.json
new file mode 100644
index 0000000000..a5ce0ea9db
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/package.json
@@ -0,0 +1,45 @@
+{
+ "_from": "parse-json@^2.2.0",
+ "_id": "parse-json@2.2.0",
+ "_inBundle": false,
+ "_integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "_location": "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file/parse-json",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "parse-json@^2.2.0",
+ "name": "parse-json",
+ "escapedName": "parse-json",
+ "rawSpec": "^2.2.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.2.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file"
+ ],
+ "_resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "_shasum": "f480f40434ef80741f8469099f8dea18f55a4dc9",
+ "_shrinkwrap": null,
+ "_spec": "parse-json@^2.2.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {
+ "error-ex": "^1.2.0"
+ },
+ "deprecated": false,
+ "description": "> Parse JSON with more helpful errors",
+ "devDependencies": {
+ "ava": "0.0.4",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "name": "parse-json",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "2.2.0"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/readme.md
new file mode 100644
index 0000000000..ca96e60a69
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/readme.md
@@ -0,0 +1,83 @@
+# parse-json [![Build Status](https://travis-ci.org/sindresorhus/parse-json.svg?branch=master)](https://travis-ci.org/sindresorhus/parse-json)
+
+> Parse JSON with more helpful errors
+
+
+## Install
+
+```
+$ npm install --save parse-json
+```
+
+
+## Usage
+
+```js
+var parseJson = require('parse-json');
+var json = '{\n\t"foo": true,\n}';
+
+
+JSON.parse(json);
+/*
+undefined:3
+}
+^
+SyntaxError: Unexpected token }
+*/
+
+
+parseJson(json);
+/*
+JSONError: Trailing comma in object at 3:1
+}
+^
+*/
+
+
+parseJson(json, 'foo.json');
+/*
+JSONError: Trailing comma in object at 3:1 in foo.json
+}
+^
+*/
+
+
+// you can also add the filename at a later point
+try {
+ parseJson(json);
+} catch (err) {
+ err.fileName = 'foo.json';
+ throw err;
+}
+/*
+JSONError: Trailing comma in object at 3:1 in foo.json
+}
+^
+*/
+```
+
+## API
+
+### parseJson(input, [reviver], [filename])
+
+#### input
+
+Type: `string`
+
+#### reviver
+
+Type: `function`
+
+Prescribes how the value originally produced by parsing is transformed, before being returned. See [`JSON.parse` docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Using_the_reviver_parameter
+) for more.
+
+#### filename
+
+Type: `string`
+
+Filename displayed in the error message.
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/parse.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/parse.js
new file mode 100644
index 0000000000..2b78949378
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/parse.js
@@ -0,0 +1,751 @@
+/*
+ * Author: Alex Kocharin <alex@kocharin.ru>
+ * GIT: https://github.com/rlidwka/jju
+ * License: WTFPL, grab your copy here: http://www.wtfpl.net/txt/copying/
+ */
+
+// RTFM: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
+
+var Uni = require('./unicode')
+
+function isHexDigit(x) {
+ return (x >= '0' && x <= '9')
+ || (x >= 'A' && x <= 'F')
+ || (x >= 'a' && x <= 'f')
+}
+
+function isOctDigit(x) {
+ return x >= '0' && x <= '7'
+}
+
+function isDecDigit(x) {
+ return x >= '0' && x <= '9'
+}
+
+var unescapeMap = {
+ '\'': '\'',
+ '"' : '"',
+ '\\': '\\',
+ 'b' : '\b',
+ 'f' : '\f',
+ 'n' : '\n',
+ 'r' : '\r',
+ 't' : '\t',
+ 'v' : '\v',
+ '/' : '/',
+}
+
+function formatError(input, msg, position, lineno, column, json5) {
+ var result = msg + ' at ' + (lineno + 1) + ':' + (column + 1)
+ , tmppos = position - column - 1
+ , srcline = ''
+ , underline = ''
+
+ var isLineTerminator = json5 ? Uni.isLineTerminator : Uni.isLineTerminatorJSON
+
+ // output no more than 70 characters before the wrong ones
+ if (tmppos < position - 70) {
+ tmppos = position - 70
+ }
+
+ while (1) {
+ var chr = input[++tmppos]
+
+ if (isLineTerminator(chr) || tmppos === input.length) {
+ if (position >= tmppos) {
+ // ending line error, so show it after the last char
+ underline += '^'
+ }
+ break
+ }
+ srcline += chr
+
+ if (position === tmppos) {
+ underline += '^'
+ } else if (position > tmppos) {
+ underline += input[tmppos] === '\t' ? '\t' : ' '
+ }
+
+ // output no more than 78 characters on the string
+ if (srcline.length > 78) break
+ }
+
+ return result + '\n' + srcline + '\n' + underline
+}
+
+function parse(input, options) {
+ // parse as a standard JSON mode
+ var json5 = !(options.mode === 'json' || options.legacy)
+ var isLineTerminator = json5 ? Uni.isLineTerminator : Uni.isLineTerminatorJSON
+ var isWhiteSpace = json5 ? Uni.isWhiteSpace : Uni.isWhiteSpaceJSON
+
+ var length = input.length
+ , lineno = 0
+ , linestart = 0
+ , position = 0
+ , stack = []
+
+ var tokenStart = function() {}
+ var tokenEnd = function(v) {return v}
+
+ /* tokenize({
+ raw: '...',
+ type: 'whitespace'|'comment'|'key'|'literal'|'separator'|'newline',
+ value: 'number'|'string'|'whatever',
+ path: [...],
+ })
+ */
+ if (options._tokenize) {
+ ;(function() {
+ var start = null
+ tokenStart = function() {
+ if (start !== null) throw Error('internal error, token overlap')
+ start = position
+ }
+
+ tokenEnd = function(v, type) {
+ if (start != position) {
+ var hash = {
+ raw: input.substr(start, position-start),
+ type: type,
+ stack: stack.slice(0),
+ }
+ if (v !== undefined) hash.value = v
+ options._tokenize.call(null, hash)
+ }
+ start = null
+ return v
+ }
+ })()
+ }
+
+ function fail(msg) {
+ var column = position - linestart
+
+ if (!msg) {
+ if (position < length) {
+ var token = '\'' +
+ JSON
+ .stringify(input[position])
+ .replace(/^"|"$/g, '')
+ .replace(/'/g, "\\'")
+ .replace(/\\"/g, '"')
+ + '\''
+
+ if (!msg) msg = 'Unexpected token ' + token
+ } else {
+ if (!msg) msg = 'Unexpected end of input'
+ }
+ }
+
+ var error = SyntaxError(formatError(input, msg, position, lineno, column, json5))
+ error.row = lineno + 1
+ error.column = column + 1
+ throw error
+ }
+
+ function newline(chr) {
+ // account for <cr><lf>
+ if (chr === '\r' && input[position] === '\n') position++
+ linestart = position
+ lineno++
+ }
+
+ function parseGeneric() {
+ var result
+
+ while (position < length) {
+ tokenStart()
+ var chr = input[position++]
+
+ if (chr === '"' || (chr === '\'' && json5)) {
+ return tokenEnd(parseString(chr), 'literal')
+
+ } else if (chr === '{') {
+ tokenEnd(undefined, 'separator')
+ return parseObject()
+
+ } else if (chr === '[') {
+ tokenEnd(undefined, 'separator')
+ return parseArray()
+
+ } else if (chr === '-'
+ || chr === '.'
+ || isDecDigit(chr)
+ // + number Infinity NaN
+ || (json5 && (chr === '+' || chr === 'I' || chr === 'N'))
+ ) {
+ return tokenEnd(parseNumber(), 'literal')
+
+ } else if (chr === 'n') {
+ parseKeyword('null')
+ return tokenEnd(null, 'literal')
+
+ } else if (chr === 't') {
+ parseKeyword('true')
+ return tokenEnd(true, 'literal')
+
+ } else if (chr === 'f') {
+ parseKeyword('false')
+ return tokenEnd(false, 'literal')
+
+ } else {
+ position--
+ return tokenEnd(undefined)
+ }
+ }
+ }
+
+ function parseKey() {
+ var result
+
+ while (position < length) {
+ tokenStart()
+ var chr = input[position++]
+
+ if (chr === '"' || (chr === '\'' && json5)) {
+ return tokenEnd(parseString(chr), 'key')
+
+ } else if (chr === '{') {
+ tokenEnd(undefined, 'separator')
+ return parseObject()
+
+ } else if (chr === '[') {
+ tokenEnd(undefined, 'separator')
+ return parseArray()
+
+ } else if (chr === '.'
+ || isDecDigit(chr)
+ ) {
+ return tokenEnd(parseNumber(true), 'key')
+
+ } else if (json5
+ && Uni.isIdentifierStart(chr) || (chr === '\\' && input[position] === 'u')) {
+ // unicode char or a unicode sequence
+ var rollback = position - 1
+ var result = parseIdentifier()
+
+ if (result === undefined) {
+ position = rollback
+ return tokenEnd(undefined)
+ } else {
+ return tokenEnd(result, 'key')
+ }
+
+ } else {
+ position--
+ return tokenEnd(undefined)
+ }
+ }
+ }
+
+ function skipWhiteSpace() {
+ tokenStart()
+ while (position < length) {
+ var chr = input[position++]
+
+ if (isLineTerminator(chr)) {
+ position--
+ tokenEnd(undefined, 'whitespace')
+ tokenStart()
+ position++
+ newline(chr)
+ tokenEnd(undefined, 'newline')
+ tokenStart()
+
+ } else if (isWhiteSpace(chr)) {
+ // nothing
+
+ } else if (chr === '/'
+ && json5
+ && (input[position] === '/' || input[position] === '*')
+ ) {
+ position--
+ tokenEnd(undefined, 'whitespace')
+ tokenStart()
+ position++
+ skipComment(input[position++] === '*')
+ tokenEnd(undefined, 'comment')
+ tokenStart()
+
+ } else {
+ position--
+ break
+ }
+ }
+ return tokenEnd(undefined, 'whitespace')
+ }
+
+ function skipComment(multi) {
+ while (position < length) {
+ var chr = input[position++]
+
+ if (isLineTerminator(chr)) {
+ // LineTerminator is an end of singleline comment
+ if (!multi) {
+ // let parent function deal with newline
+ position--
+ return
+ }
+
+ newline(chr)
+
+ } else if (chr === '*' && multi) {
+ // end of multiline comment
+ if (input[position] === '/') {
+ position++
+ return
+ }
+
+ } else {
+ // nothing
+ }
+ }
+
+ if (multi) {
+ fail('Unclosed multiline comment')
+ }
+ }
+
+ function parseKeyword(keyword) {
+ // keyword[0] is not checked because it should've checked earlier
+ var _pos = position
+ var len = keyword.length
+ for (var i=1; i<len; i++) {
+ if (position >= length || keyword[i] != input[position]) {
+ position = _pos-1
+ fail()
+ }
+ position++
+ }
+ }
+
+ function parseObject() {
+ var result = options.null_prototype ? Object.create(null) : {}
+ , empty_object = {}
+ , is_non_empty = false
+
+ while (position < length) {
+ skipWhiteSpace()
+ var item1 = parseKey()
+ skipWhiteSpace()
+ tokenStart()
+ var chr = input[position++]
+ tokenEnd(undefined, 'separator')
+
+ if (chr === '}' && item1 === undefined) {
+ if (!json5 && is_non_empty) {
+ position--
+ fail('Trailing comma in object')
+ }
+ return result
+
+ } else if (chr === ':' && item1 !== undefined) {
+ skipWhiteSpace()
+ stack.push(item1)
+ var item2 = parseGeneric()
+ stack.pop()
+
+ if (item2 === undefined) fail('No value found for key ' + item1)
+ if (typeof(item1) !== 'string') {
+ if (!json5 || typeof(item1) !== 'number') {
+ fail('Wrong key type: ' + item1)
+ }
+ }
+
+ if ((item1 in empty_object || empty_object[item1] != null) && options.reserved_keys !== 'replace') {
+ if (options.reserved_keys === 'throw') {
+ fail('Reserved key: ' + item1)
+ } else {
+ // silently ignore it
+ }
+ } else {
+ if (typeof(options.reviver) === 'function') {
+ item2 = options.reviver.call(null, item1, item2)
+ }
+
+ if (item2 !== undefined) {
+ is_non_empty = true
+ Object.defineProperty(result, item1, {
+ value: item2,
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ })
+ }
+ }
+
+ skipWhiteSpace()
+
+ tokenStart()
+ var chr = input[position++]
+ tokenEnd(undefined, 'separator')
+
+ if (chr === ',') {
+ continue
+
+ } else if (chr === '}') {
+ return result
+
+ } else {
+ fail()
+ }
+
+ } else {
+ position--
+ fail()
+ }
+ }
+
+ fail()
+ }
+
+ function parseArray() {
+ var result = []
+
+ while (position < length) {
+ skipWhiteSpace()
+ stack.push(result.length)
+ var item = parseGeneric()
+ stack.pop()
+ skipWhiteSpace()
+ tokenStart()
+ var chr = input[position++]
+ tokenEnd(undefined, 'separator')
+
+ if (item !== undefined) {
+ if (typeof(options.reviver) === 'function') {
+ item = options.reviver.call(null, String(result.length), item)
+ }
+ if (item === undefined) {
+ result.length++
+ item = true // hack for check below, not included into result
+ } else {
+ result.push(item)
+ }
+ }
+
+ if (chr === ',') {
+ if (item === undefined) {
+ fail('Elisions are not supported')
+ }
+
+ } else if (chr === ']') {
+ if (!json5 && item === undefined && result.length) {
+ position--
+ fail('Trailing comma in array')
+ }
+ return result
+
+ } else {
+ position--
+ fail()
+ }
+ }
+ }
+
+ function parseNumber() {
+ // rewind because we don't know first char
+ position--
+
+ var start = position
+ , chr = input[position++]
+ , t
+
+ var to_num = function(is_octal) {
+ var str = input.substr(start, position - start)
+
+ if (is_octal) {
+ var result = parseInt(str.replace(/^0o?/, ''), 8)
+ } else {
+ var result = Number(str)
+ }
+
+ if (Number.isNaN(result)) {
+ position--
+ fail('Bad numeric literal - "' + input.substr(start, position - start + 1) + '"')
+ } else if (!json5 && !str.match(/^-?(0|[1-9][0-9]*)(\.[0-9]+)?(e[+-]?[0-9]+)?$/i)) {
+ // additional restrictions imposed by json
+ position--
+ fail('Non-json numeric literal - "' + input.substr(start, position - start + 1) + '"')
+ } else {
+ return result
+ }
+ }
+
+ // ex: -5982475.249875e+29384
+ // ^ skipping this
+ if (chr === '-' || (chr === '+' && json5)) chr = input[position++]
+
+ if (chr === 'N' && json5) {
+ parseKeyword('NaN')
+ return NaN
+ }
+
+ if (chr === 'I' && json5) {
+ parseKeyword('Infinity')
+
+ // returning +inf or -inf
+ return to_num()
+ }
+
+ if (chr >= '1' && chr <= '9') {
+ // ex: -5982475.249875e+29384
+ // ^^^ skipping these
+ while (position < length && isDecDigit(input[position])) position++
+ chr = input[position++]
+ }
+
+ // special case for leading zero: 0.123456
+ if (chr === '0') {
+ chr = input[position++]
+
+ // new syntax, "0o777" old syntax, "0777"
+ var is_octal = chr === 'o' || chr === 'O' || isOctDigit(chr)
+ var is_hex = chr === 'x' || chr === 'X'
+
+ if (json5 && (is_octal || is_hex)) {
+ while (position < length
+ && (is_hex ? isHexDigit : isOctDigit)( input[position] )
+ ) position++
+
+ var sign = 1
+ if (input[start] === '-') {
+ sign = -1
+ start++
+ } else if (input[start] === '+') {
+ start++
+ }
+
+ return sign * to_num(is_octal)
+ }
+ }
+
+ if (chr === '.') {
+ // ex: -5982475.249875e+29384
+ // ^^^ skipping these
+ while (position < length && isDecDigit(input[position])) position++
+ chr = input[position++]
+ }
+
+ if (chr === 'e' || chr === 'E') {
+ chr = input[position++]
+ if (chr === '-' || chr === '+') position++
+ // ex: -5982475.249875e+29384
+ // ^^^ skipping these
+ while (position < length && isDecDigit(input[position])) position++
+ chr = input[position++]
+ }
+
+ // we have char in the buffer, so count for it
+ position--
+ return to_num()
+ }
+
+ function parseIdentifier() {
+ // rewind because we don't know first char
+ position--
+
+ var result = ''
+
+ while (position < length) {
+ var chr = input[position++]
+
+ if (chr === '\\'
+ && input[position] === 'u'
+ && isHexDigit(input[position+1])
+ && isHexDigit(input[position+2])
+ && isHexDigit(input[position+3])
+ && isHexDigit(input[position+4])
+ ) {
+ // UnicodeEscapeSequence
+ chr = String.fromCharCode(parseInt(input.substr(position+1, 4), 16))
+ position += 5
+ }
+
+ if (result.length) {
+ // identifier started
+ if (Uni.isIdentifierPart(chr)) {
+ result += chr
+ } else {
+ position--
+ return result
+ }
+
+ } else {
+ if (Uni.isIdentifierStart(chr)) {
+ result += chr
+ } else {
+ return undefined
+ }
+ }
+ }
+
+ fail()
+ }
+
+ function parseString(endChar) {
+ // 7.8.4 of ES262 spec
+ var result = ''
+
+ while (position < length) {
+ var chr = input[position++]
+
+ if (chr === endChar) {
+ return result
+
+ } else if (chr === '\\') {
+ if (position >= length) fail()
+ chr = input[position++]
+
+ if (unescapeMap[chr] && (json5 || (chr != 'v' && chr != "'"))) {
+ result += unescapeMap[chr]
+
+ } else if (json5 && isLineTerminator(chr)) {
+ // line continuation
+ newline(chr)
+
+ } else if (chr === 'u' || (chr === 'x' && json5)) {
+ // unicode/character escape sequence
+ var off = chr === 'u' ? 4 : 2
+
+ // validation for \uXXXX
+ for (var i=0; i<off; i++) {
+ if (position >= length) fail()
+ if (!isHexDigit(input[position])) fail('Bad escape sequence')
+ position++
+ }
+
+ result += String.fromCharCode(parseInt(input.substr(position-off, off), 16))
+ } else if (json5 && isOctDigit(chr)) {
+ if (chr < '4' && isOctDigit(input[position]) && isOctDigit(input[position+1])) {
+ // three-digit octal
+ var digits = 3
+ } else if (isOctDigit(input[position])) {
+ // two-digit octal
+ var digits = 2
+ } else {
+ var digits = 1
+ }
+ position += digits - 1
+ result += String.fromCharCode(parseInt(input.substr(position-digits, digits), 8))
+ /*if (!isOctDigit(input[position])) {
+ // \0 is allowed still
+ result += '\0'
+ } else {
+ fail('Octal literals are not supported')
+ }*/
+
+ } else if (json5) {
+ // \X -> x
+ result += chr
+
+ } else {
+ position--
+ fail()
+ }
+
+ } else if (isLineTerminator(chr)) {
+ fail()
+
+ } else {
+ if (!json5 && chr.charCodeAt(0) < 32) {
+ position--
+ fail('Unexpected control character')
+ }
+
+ // SourceCharacter but not one of " or \ or LineTerminator
+ result += chr
+ }
+ }
+
+ fail()
+ }
+
+ skipWhiteSpace()
+ var return_value = parseGeneric()
+ if (return_value !== undefined || position < length) {
+ skipWhiteSpace()
+
+ if (position >= length) {
+ if (typeof(options.reviver) === 'function') {
+ return_value = options.reviver.call(null, '', return_value)
+ }
+ return return_value
+ } else {
+ fail()
+ }
+
+ } else {
+ if (position) {
+ fail('No data, only a whitespace')
+ } else {
+ fail('No data, empty input')
+ }
+ }
+}
+
+/*
+ * parse(text, options)
+ * or
+ * parse(text, reviver)
+ *
+ * where:
+ * text - string
+ * options - object
+ * reviver - function
+ */
+module.exports.parse = function parseJSON(input, options) {
+ // support legacy functions
+ if (typeof(options) === 'function') {
+ options = {
+ reviver: options
+ }
+ }
+
+ if (input === undefined) {
+ // parse(stringify(x)) should be equal x
+ // with JSON functions it is not 'cause of undefined
+ // so we're fixing it
+ return undefined
+ }
+
+ // JSON.parse compat
+ if (typeof(input) !== 'string') input = String(input)
+ if (options == null) options = {}
+ if (options.reserved_keys == null) options.reserved_keys = 'ignore'
+
+ if (options.reserved_keys === 'throw' || options.reserved_keys === 'ignore') {
+ if (options.null_prototype == null) {
+ options.null_prototype = true
+ }
+ }
+
+ try {
+ return parse(input, options)
+ } catch(err) {
+ // jju is a recursive parser, so JSON.parse("{{{{{{{") could blow up the stack
+ //
+ // this catch is used to skip all those internal calls
+ if (err instanceof SyntaxError && err.row != null && err.column != null) {
+ var old_err = err
+ err = SyntaxError(old_err.message)
+ err.column = old_err.column
+ err.row = old_err.row
+ }
+ throw err
+ }
+}
+
+module.exports.tokenize = function tokenizeJSON(input, options) {
+ if (options == null) options = {}
+
+ options._tokenize = function(smth) {
+ if (options._addstack) smth.stack.unshift.apply(smth.stack, options._addstack)
+ tokens.push(smth)
+ }
+
+ var tokens = []
+ tokens.data = module.exports.parse(input, options)
+ return tokens
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/unicode.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/unicode.js
new file mode 100644
index 0000000000..1a29143c2d
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/parse-json/vendor/unicode.js
@@ -0,0 +1,71 @@
+
+// This is autogenerated with esprima tools, see:
+// https://github.com/ariya/esprima/blob/master/esprima.js
+//
+// PS: oh God, I hate Unicode
+
+// ECMAScript 5.1/Unicode v6.3.0 NonAsciiIdentifierStart:
+
+var Uni = module.exports
+
+module.exports.isWhiteSpace = function isWhiteSpace(x) {
+ // section 7.2, table 2
+ return x === '\u0020'
+ || x === '\u00A0'
+ || x === '\uFEFF' // <-- this is not a Unicode WS, only a JS one
+ || (x >= '\u0009' && x <= '\u000D') // 9 A B C D
+
+ // + whitespace characters from unicode, category Zs
+ || x === '\u1680'
+ || x === '\u180E'
+ || (x >= '\u2000' && x <= '\u200A') // 0 1 2 3 4 5 6 7 8 9 A
+ || x === '\u2028'
+ || x === '\u2029'
+ || x === '\u202F'
+ || x === '\u205F'
+ || x === '\u3000'
+}
+
+module.exports.isWhiteSpaceJSON = function isWhiteSpaceJSON(x) {
+ return x === '\u0020'
+ || x === '\u0009'
+ || x === '\u000A'
+ || x === '\u000D'
+}
+
+module.exports.isLineTerminator = function isLineTerminator(x) {
+ // ok, here is the part when JSON is wrong
+ // section 7.3, table 3
+ return x === '\u000A'
+ || x === '\u000D'
+ || x === '\u2028'
+ || x === '\u2029'
+}
+
+module.exports.isLineTerminatorJSON = function isLineTerminatorJSON(x) {
+ return x === '\u000A'
+ || x === '\u000D'
+}
+
+module.exports.isIdentifierStart = function isIdentifierStart(x) {
+ return x === '$'
+ || x === '_'
+ || (x >= 'A' && x <= 'Z')
+ || (x >= 'a' && x <= 'z')
+ || (x >= '\u0080' && Uni.NonAsciiIdentifierStart.test(x))
+}
+
+module.exports.isIdentifierPart = function isIdentifierPart(x) {
+ return x === '$'
+ || x === '_'
+ || (x >= 'A' && x <= 'Z')
+ || (x >= 'a' && x <= 'z')
+ || (x >= '0' && x <= '9') // <-- addition to Start
+ || (x >= '\u0080' && Uni.NonAsciiIdentifierPart.test(x))
+}
+
+module.exports.NonAsciiIdentifierStart = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F0\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/
+
+// ECMAScript 5.1/Unicode v6.3.0 NonAsciiIdentifierPart:
+
+module.exports.NonAsciiIdentifierPart = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0\u08A2-\u08AC\u08E4-\u08FE\u0900-\u0963\u0966-\u096F\u0971-\u0977\u0979-\u097F\u0981-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C82\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D02\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F0\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191C\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1D00-\u1DE6\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA697\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7B\uAA80-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE26\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/index.js
new file mode 100644
index 0000000000..7c720ebee8
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/index.js
@@ -0,0 +1,68 @@
+'use strict';
+
+var processFn = function (fn, P, opts) {
+ return function () {
+ var that = this;
+ var args = new Array(arguments.length);
+
+ for (var i = 0; i < arguments.length; i++) {
+ args[i] = arguments[i];
+ }
+
+ return new P(function (resolve, reject) {
+ args.push(function (err, result) {
+ if (err) {
+ reject(err);
+ } else if (opts.multiArgs) {
+ var results = new Array(arguments.length - 1);
+
+ for (var i = 1; i < arguments.length; i++) {
+ results[i - 1] = arguments[i];
+ }
+
+ resolve(results);
+ } else {
+ resolve(result);
+ }
+ });
+
+ fn.apply(that, args);
+ });
+ };
+};
+
+var pify = module.exports = function (obj, P, opts) {
+ if (typeof P !== 'function') {
+ opts = P;
+ P = Promise;
+ }
+
+ opts = opts || {};
+ opts.exclude = opts.exclude || [/.+Sync$/];
+
+ var filter = function (key) {
+ var match = function (pattern) {
+ return typeof pattern === 'string' ? key === pattern : pattern.test(key);
+ };
+
+ return opts.include ? opts.include.some(match) : !opts.exclude.some(match);
+ };
+
+ var ret = typeof obj === 'function' ? function () {
+ if (opts.excludeMain) {
+ return obj.apply(this, arguments);
+ }
+
+ return processFn(obj, P, opts).apply(this, arguments);
+ } : {};
+
+ return Object.keys(obj).reduce(function (ret, key) {
+ var x = obj[key];
+
+ ret[key] = typeof x === 'function' && filter(key) ? processFn(x, P, opts) : x;
+
+ return ret;
+ }, ret);
+};
+
+pify.all = pify;
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/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/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/package.json
new file mode 100644
index 0000000000..70d5b2ff2f
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/package.json
@@ -0,0 +1,45 @@
+{
+ "_from": "pify@^2.0.0",
+ "_id": "pify@2.3.0",
+ "_inBundle": false,
+ "_integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "_location": "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file/pify",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "pify@^2.0.0",
+ "name": "pify",
+ "escapedName": "pify",
+ "rawSpec": "^2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file"
+ ],
+ "_resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "_shasum": "ed141a6ac043a849ea588498e7dca8b15330e90c",
+ "_shrinkwrap": null,
+ "_spec": "pify@^2.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "> Promisify a callback-style function",
+ "devDependencies": {
+ "ava": "*",
+ "pinkie-promise": "^1.0.0",
+ "v8-natives": "0.0.2",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "name": "pify",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "2.3.0"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/readme.md
new file mode 100644
index 0000000000..97aeeb628b
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/pify/readme.md
@@ -0,0 +1,119 @@
+# pify [![Build Status](https://travis-ci.org/sindresorhus/pify.svg?branch=master)](https://travis-ci.org/sindresorhus/pify)
+
+> Promisify a callback-style function
+
+
+## Install
+
+```
+$ npm install --save pify
+```
+
+
+## Usage
+
+```js
+const fs = require('fs');
+const pify = require('pify');
+
+// promisify a single function
+
+pify(fs.readFile)('package.json', 'utf8').then(data => {
+ console.log(JSON.parse(data).name);
+ //=> 'pify'
+});
+
+// or promisify all methods in a module
+
+pify(fs).readFile('package.json', 'utf8').then(data => {
+ console.log(JSON.parse(data).name);
+ //=> 'pify'
+});
+```
+
+
+## API
+
+### pify(input, [promiseModule], [options])
+
+Returns a promise wrapped version of the supplied function or module.
+
+#### input
+
+Type: `function`, `object`
+
+Callback-style function or module whose methods you want to promisify.
+
+#### promiseModule
+
+Type: `function`
+
+Custom promise module to use instead of the native one.
+
+Check out [`pinkie-promise`](https://github.com/floatdrop/pinkie-promise) if you need a tiny promise polyfill.
+
+#### options
+
+##### multiArgs
+
+Type: `boolean`
+Default: `false`
+
+By default, the promisified function will only return the second argument from the callback, which works fine for most APIs. This option can be useful for modules like `request` that return multiple arguments. Turning this on will make it return an array of all arguments from the callback, excluding the error argument, instead of just the second argument.
+
+```js
+const request = require('request');
+const pify = require('pify');
+
+pify(request, {multiArgs: true})('https://sindresorhus.com').then(result => {
+ const [httpResponse, body] = result;
+});
+```
+
+##### include
+
+Type: `array` of (`string`|`regex`)
+
+Methods in a module to promisify. Remaining methods will be left untouched.
+
+##### exclude
+
+Type: `array` of (`string`|`regex`)
+Default: `[/.+Sync$/]`
+
+Methods in a module **not** to promisify. Methods with names ending with `'Sync'` are excluded by default.
+
+##### excludeMain
+
+Type: `boolean`
+Default: `false`
+
+By default, if given module is a function itself, this function will be promisified. Turn this option on if you want to promisify only methods of the module.
+
+```js
+const pify = require('pify');
+
+function fn() {
+ return true;
+}
+
+fn.method = (data, callback) => {
+ setImmediate(() => {
+ callback(data, null);
+ });
+};
+
+// promisify methods but not fn()
+const promiseFn = pify(fn, {excludeMain: true});
+
+if (promiseFn()) {
+ promiseFn.method('hi').then(data => {
+ console.log(data);
+ });
+}
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/index.js
new file mode 100644
index 0000000000..b00feb9a44
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/index.js
@@ -0,0 +1,14 @@
+'use strict';
+module.exports = x => {
+ if (typeof x !== 'string') {
+ throw new TypeError('Expected a string, got ' + typeof x);
+ }
+
+ // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string
+ // conversion translates it to FEFF (UTF-16 BOM)
+ if (x.charCodeAt(0) === 0xFEFF) {
+ return x.slice(1);
+ }
+
+ return x;
+};
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/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/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/package.json
new file mode 100644
index 0000000000..408a730a02
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/package.json
@@ -0,0 +1,43 @@
+{
+ "_from": "strip-bom@^3.0.0",
+ "_id": "strip-bom@3.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "_location": "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file/strip-bom",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "strip-bom@^3.0.0",
+ "name": "strip-bom",
+ "escapedName": "strip-bom",
+ "rawSpec": "^3.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^3.0.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file"
+ ],
+ "_resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "_shasum": "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3",
+ "_shrinkwrap": null,
+ "_spec": "strip-bom@^3.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "> Strip UTF-8 [byte order mark](http://en.wikipedia.org/wiki/Byte_order_mark#UTF-8) (BOM) from a string",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "name": "strip-bom",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "3.0.0"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/readme.md
new file mode 100644
index 0000000000..812a98071f
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/strip-bom/readme.md
@@ -0,0 +1,36 @@
+# strip-bom [![Build Status](https://travis-ci.org/sindresorhus/strip-bom.svg?branch=master)](https://travis-ci.org/sindresorhus/strip-bom)
+
+> Strip UTF-8 [byte order mark](http://en.wikipedia.org/wiki/Byte_order_mark#UTF-8) (BOM) from a string
+
+From Wikipedia:
+
+> The Unicode Standard permits the BOM in UTF-8, but does not require nor recommend its use. Byte order has no meaning in UTF-8.
+
+
+## Install
+
+```
+$ npm install --save strip-bom
+```
+
+
+## Usage
+
+```js
+const stripBom = require('strip-bom');
+
+stripBom('\uFEFFunicorn');
+//=> 'unicorn'
+```
+
+
+## Related
+
+- [strip-bom-cli](https://github.com/sindresorhus/strip-bom-cli) - CLI for this module
+- [strip-bom-buf](https://github.com/sindresorhus/strip-bom-buf) - Buffer version of this module
+- [strip-bom-stream](https://github.com/sindresorhus/strip-bom-stream) - Stream version of this module
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/package.json
new file mode 100644
index 0000000000..c09c606cec
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/package.json
@@ -0,0 +1,48 @@
+{
+ "_from": "load-json-file@^2.0.0",
+ "_id": "load-json-file@2.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "_location": "/libnpx/yargs/read-pkg-up/read-pkg/load-json-file",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "load-json-file@^2.0.0",
+ "name": "load-json-file",
+ "escapedName": "load-json-file",
+ "rawSpec": "^2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up/read-pkg"
+ ],
+ "_resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "_shasum": "7947e42149af80d696cbf797bcaabcfe1fe29ca8",
+ "_shrinkwrap": null,
+ "_spec": "load-json-file@^2.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "deprecated": false,
+ "description": "> Read and parse a JSON file",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "name": "load-json-file",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "2.0.0"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/readme.md
new file mode 100644
index 0000000000..3319c266c6
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/readme.md
@@ -0,0 +1,45 @@
+# load-json-file [![Build Status](https://travis-ci.org/sindresorhus/load-json-file.svg?branch=master)](https://travis-ci.org/sindresorhus/load-json-file)
+
+> Read and parse a JSON file
+
+[Strips UTF-8 BOM](https://github.com/sindresorhus/strip-bom), uses [`graceful-fs`](https://github.com/isaacs/node-graceful-fs), and throws more [helpful JSON errors](https://github.com/sindresorhus/parse-json).
+
+
+## Install
+
+```
+$ npm install --save load-json-file
+```
+
+
+## Usage
+
+```js
+const loadJsonFile = require('load-json-file');
+
+loadJsonFile('foo.json').then(json => {
+ console.log(json);
+ //=> {foo: true}
+});
+```
+
+
+## API
+
+### loadJsonFile(filepath)
+
+Returns a promise for the parsed JSON.
+
+### loadJsonFile.sync(filepath)
+
+Returns the parsed JSON.
+
+
+## Related
+
+- [write-json-file](https://github.com/sindresorhus/write-json-file) - Stringify and write JSON to a file atomically
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/index.js
new file mode 100644
index 0000000000..4ac9dd9679
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/index.js
@@ -0,0 +1,26 @@
+'use strict';
+const fs = require('fs');
+const pify = require('pify');
+
+function type(fn, fn2, fp) {
+ if (typeof fp !== 'string') {
+ return Promise.reject(new TypeError(`Expected a string, got ${typeof fp}`));
+ }
+
+ return pify(fs[fn])(fp).then(stats => stats[fn2]());
+}
+
+function typeSync(fn, fn2, fp) {
+ if (typeof fp !== 'string') {
+ throw new TypeError(`Expected a string, got ${typeof fp}`);
+ }
+
+ return fs[fn](fp)[fn2]();
+}
+
+exports.file = type.bind(null, 'stat', 'isFile');
+exports.dir = type.bind(null, 'stat', 'isDirectory');
+exports.symlink = type.bind(null, 'lstat', 'isSymbolicLink');
+exports.fileSync = typeSync.bind(null, 'statSync', 'isFile');
+exports.dirSync = typeSync.bind(null, 'statSync', 'isDirectory');
+exports.symlinkSync = typeSync.bind(null, 'lstatSync', 'isSymbolicLink');
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/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/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/index.js
new file mode 100644
index 0000000000..7c720ebee8
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/index.js
@@ -0,0 +1,68 @@
+'use strict';
+
+var processFn = function (fn, P, opts) {
+ return function () {
+ var that = this;
+ var args = new Array(arguments.length);
+
+ for (var i = 0; i < arguments.length; i++) {
+ args[i] = arguments[i];
+ }
+
+ return new P(function (resolve, reject) {
+ args.push(function (err, result) {
+ if (err) {
+ reject(err);
+ } else if (opts.multiArgs) {
+ var results = new Array(arguments.length - 1);
+
+ for (var i = 1; i < arguments.length; i++) {
+ results[i - 1] = arguments[i];
+ }
+
+ resolve(results);
+ } else {
+ resolve(result);
+ }
+ });
+
+ fn.apply(that, args);
+ });
+ };
+};
+
+var pify = module.exports = function (obj, P, opts) {
+ if (typeof P !== 'function') {
+ opts = P;
+ P = Promise;
+ }
+
+ opts = opts || {};
+ opts.exclude = opts.exclude || [/.+Sync$/];
+
+ var filter = function (key) {
+ var match = function (pattern) {
+ return typeof pattern === 'string' ? key === pattern : pattern.test(key);
+ };
+
+ return opts.include ? opts.include.some(match) : !opts.exclude.some(match);
+ };
+
+ var ret = typeof obj === 'function' ? function () {
+ if (opts.excludeMain) {
+ return obj.apply(this, arguments);
+ }
+
+ return processFn(obj, P, opts).apply(this, arguments);
+ } : {};
+
+ return Object.keys(obj).reduce(function (ret, key) {
+ var x = obj[key];
+
+ ret[key] = typeof x === 'function' && filter(key) ? processFn(x, P, opts) : x;
+
+ return ret;
+ }, ret);
+};
+
+pify.all = pify;
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/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/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/package.json
new file mode 100644
index 0000000000..3c234828b3
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/package.json
@@ -0,0 +1,80 @@
+{
+ "_from": "pify@^2.0.0",
+ "_id": "pify@2.3.0",
+ "_inBundle": false,
+ "_integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "_location": "/libnpx/yargs/read-pkg-up/read-pkg/path-type/pify",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "pify@^2.0.0",
+ "name": "pify",
+ "escapedName": "pify",
+ "rawSpec": "^2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up/read-pkg/path-type"
+ ],
+ "_resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "_shasum": "ed141a6ac043a849ea588498e7dca8b15330e90c",
+ "_spec": "pify@^2.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/pify/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Promisify a callback-style function",
+ "devDependencies": {
+ "ava": "*",
+ "pinkie-promise": "^1.0.0",
+ "v8-natives": "0.0.2",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/sindresorhus/pify#readme",
+ "keywords": [
+ "promise",
+ "promises",
+ "promisify",
+ "denodify",
+ "denodeify",
+ "callback",
+ "cb",
+ "node",
+ "then",
+ "thenify",
+ "convert",
+ "transform",
+ "wrap",
+ "wrapper",
+ "bind",
+ "to",
+ "async",
+ "es2015"
+ ],
+ "license": "MIT",
+ "name": "pify",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/pify.git"
+ },
+ "scripts": {
+ "optimization-test": "node --allow-natives-syntax optimization-test.js",
+ "test": "xo && ava && npm run optimization-test"
+ },
+ "version": "2.3.0"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/readme.md
new file mode 100644
index 0000000000..97aeeb628b
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/node_modules/pify/readme.md
@@ -0,0 +1,119 @@
+# pify [![Build Status](https://travis-ci.org/sindresorhus/pify.svg?branch=master)](https://travis-ci.org/sindresorhus/pify)
+
+> Promisify a callback-style function
+
+
+## Install
+
+```
+$ npm install --save pify
+```
+
+
+## Usage
+
+```js
+const fs = require('fs');
+const pify = require('pify');
+
+// promisify a single function
+
+pify(fs.readFile)('package.json', 'utf8').then(data => {
+ console.log(JSON.parse(data).name);
+ //=> 'pify'
+});
+
+// or promisify all methods in a module
+
+pify(fs).readFile('package.json', 'utf8').then(data => {
+ console.log(JSON.parse(data).name);
+ //=> 'pify'
+});
+```
+
+
+## API
+
+### pify(input, [promiseModule], [options])
+
+Returns a promise wrapped version of the supplied function or module.
+
+#### input
+
+Type: `function`, `object`
+
+Callback-style function or module whose methods you want to promisify.
+
+#### promiseModule
+
+Type: `function`
+
+Custom promise module to use instead of the native one.
+
+Check out [`pinkie-promise`](https://github.com/floatdrop/pinkie-promise) if you need a tiny promise polyfill.
+
+#### options
+
+##### multiArgs
+
+Type: `boolean`
+Default: `false`
+
+By default, the promisified function will only return the second argument from the callback, which works fine for most APIs. This option can be useful for modules like `request` that return multiple arguments. Turning this on will make it return an array of all arguments from the callback, excluding the error argument, instead of just the second argument.
+
+```js
+const request = require('request');
+const pify = require('pify');
+
+pify(request, {multiArgs: true})('https://sindresorhus.com').then(result => {
+ const [httpResponse, body] = result;
+});
+```
+
+##### include
+
+Type: `array` of (`string`|`regex`)
+
+Methods in a module to promisify. Remaining methods will be left untouched.
+
+##### exclude
+
+Type: `array` of (`string`|`regex`)
+Default: `[/.+Sync$/]`
+
+Methods in a module **not** to promisify. Methods with names ending with `'Sync'` are excluded by default.
+
+##### excludeMain
+
+Type: `boolean`
+Default: `false`
+
+By default, if given module is a function itself, this function will be promisified. Turn this option on if you want to promisify only methods of the module.
+
+```js
+const pify = require('pify');
+
+function fn() {
+ return true;
+}
+
+fn.method = (data, callback) => {
+ setImmediate(() => {
+ callback(data, null);
+ });
+};
+
+// promisify methods but not fn()
+const promiseFn = pify(fn, {excludeMain: true});
+
+if (promiseFn()) {
+ promiseFn.method('hi').then(data => {
+ console.log(data);
+ });
+}
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/package.json
new file mode 100644
index 0000000000..4aa3ee1c79
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/package.json
@@ -0,0 +1,45 @@
+{
+ "_from": "path-type@^2.0.0",
+ "_id": "path-type@2.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "_location": "/libnpx/yargs/read-pkg-up/read-pkg/path-type",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "path-type@^2.0.0",
+ "name": "path-type",
+ "escapedName": "path-type",
+ "rawSpec": "^2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up/read-pkg"
+ ],
+ "_resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "_shasum": "f012ccb8415b7096fc2daa1054c3d72389594c73",
+ "_shrinkwrap": null,
+ "_spec": "path-type@^2.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {
+ "pify": "^2.0.0"
+ },
+ "deprecated": false,
+ "description": "> Check if a path is a file, directory, or symlink",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "name": "path-type",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "2.0.0"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/readme.md
new file mode 100644
index 0000000000..b1ea61fe92
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/readme.md
@@ -0,0 +1,42 @@
+# path-type [![Build Status](https://travis-ci.org/sindresorhus/path-type.svg?branch=master)](https://travis-ci.org/sindresorhus/path-type)
+
+> Check if a path is a file, directory, or symlink
+
+
+## Install
+
+```
+$ npm install --save path-type
+```
+
+
+## Usage
+
+```js
+const pathType = require('path-type');
+
+pathType.file('package.json').then(isFile => {
+ console.log(isFile);
+ //=> true
+})
+```
+
+
+## API
+
+### .file(path)
+### .dir(path)
+### .symlink(path)
+
+Returns a `Promise` for a `boolean` of whether the path is the checked type.
+
+### .fileSync(path)
+### .dirSync(path)
+### .symlinkSync(path)
+
+Returns a `boolean` of whether the path is the checked type.
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/package.json
new file mode 100644
index 0000000000..994de8c34a
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/package.json
@@ -0,0 +1,49 @@
+{
+ "_from": "read-pkg@^2.0.0",
+ "_id": "read-pkg@2.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "_location": "/libnpx/yargs/read-pkg-up/read-pkg",
+ "_phantomChildren": {
+ "graceful-fs": "4.1.11"
+ },
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "read-pkg@^2.0.0",
+ "name": "read-pkg",
+ "escapedName": "read-pkg",
+ "rawSpec": "^2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs/read-pkg-up"
+ ],
+ "_resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "_shasum": "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8",
+ "_shrinkwrap": null,
+ "_spec": "read-pkg@^2.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ },
+ "deprecated": false,
+ "description": "> Read a package.json file",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "name": "read-pkg",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "2.0.0"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/readme.md
new file mode 100644
index 0000000000..5796008b8e
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/readme.md
@@ -0,0 +1,79 @@
+# read-pkg [![Build Status](https://travis-ci.org/sindresorhus/read-pkg.svg?branch=master)](https://travis-ci.org/sindresorhus/read-pkg)
+
+> Read a package.json file
+
+
+## Why
+
+- [Gracefully handles filesystem issues](https://github.com/isaacs/node-graceful-fs)
+- [Strips UTF-8 BOM](https://github.com/sindresorhus/strip-bom)
+- [Throws more helpful JSON errors](https://github.com/sindresorhus/parse-json)
+- [Normalizes the data](https://github.com/npm/normalize-package-data#what-normalization-currently-entails)
+
+
+## Install
+
+```
+$ npm install --save read-pkg
+```
+
+
+## Usage
+
+```js
+const readPkg = require('read-pkg');
+
+readPkg().then(pkg => {
+ console.log(pkg);
+ //=> {name: 'read-pkg', ...}
+});
+
+readPkg(__dirname).then(pkg => {
+ console.log(pkg);
+ //=> {name: 'read-pkg', ...}
+});
+
+readPkg(path.join('unicorn', 'package.json')).then(pkg => {
+ console.log(pkg);
+ //=> {name: 'read-pkg', ...}
+});
+```
+
+
+## API
+
+### readPkg([path], [options])
+
+Returns a `Promise` for the parsed JSON.
+
+### readPkg.sync([path], [options])
+
+Returns the parsed JSON.
+
+#### path
+
+Type: `string`<br>
+Default: `.`
+
+Path to a `package.json` file or its directory.
+
+#### options
+
+##### normalize
+
+Type: `boolean`<br>
+Default: `true`
+
+[Normalize](https://github.com/npm/normalize-package-data#what-normalization-currently-entails) the package data.
+
+
+## Related
+
+- [read-pkg-up](https://github.com/sindresorhus/read-pkg-up) - Read the closest package.json file
+- [write-pkg](https://github.com/sindresorhus/write-pkg) - Write a `package.json` file
+- [load-json-file](https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/package.json
new file mode 100644
index 0000000000..1958e74e2e
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/package.json
@@ -0,0 +1,49 @@
+{
+ "_from": "read-pkg-up@^2.0.0",
+ "_id": "read-pkg-up@2.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "_location": "/libnpx/yargs/read-pkg-up",
+ "_phantomChildren": {
+ "graceful-fs": "4.1.11",
+ "normalize-package-data": "2.4.0"
+ },
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "read-pkg-up@^2.0.0",
+ "name": "read-pkg-up",
+ "escapedName": "read-pkg-up",
+ "rawSpec": "^2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.0"
+ },
+ "_requiredBy": [
+ "/libnpx/yargs"
+ ],
+ "_resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "_shasum": "6b72a8048984e0c41e79510fd5e9fa99b3b549be",
+ "_shrinkwrap": null,
+ "_spec": "read-pkg-up@^2.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs",
+ "bin": null,
+ "bundleDependencies": false,
+ "dependencies": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ },
+ "deprecated": false,
+ "description": "> Read the closest package.json file",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "name": "read-pkg-up",
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "2.0.0"
+}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/readme.md
new file mode 100644
index 0000000000..ba18780f90
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/readme.md
@@ -0,0 +1,80 @@
+# read-pkg-up [![Build Status](https://travis-ci.org/sindresorhus/read-pkg-up.svg?branch=master)](https://travis-ci.org/sindresorhus/read-pkg-up)
+
+> Read the closest package.json file
+
+
+## Why
+
+- [Finds the closest package.json](https://github.com/sindresorhus/find-up)
+- [Gracefully handles filesystem issues](https://github.com/isaacs/node-graceful-fs)
+- [Strips UTF-8 BOM](https://github.com/sindresorhus/strip-bom)
+- [Throws more helpful JSON errors](https://github.com/sindresorhus/parse-json)
+- [Normalizes the data](https://github.com/npm/normalize-package-data#what-normalization-currently-entails)
+
+
+## Install
+
+```
+$ npm install --save read-pkg-up
+```
+
+
+## Usage
+
+```js
+const readPkgUp = require('read-pkg-up');
+
+readPkgUp().then(result => {
+ console.log(result);
+ /*
+ {
+ pkg: {
+ name: 'awesome-package',
+ version: '1.0.0',
+ ...
+ },
+ path: '/Users/sindresorhus/dev/awesome-package/package.json'
+ }
+ */
+});
+```
+
+
+## API
+
+### readPkgUp([options])
+
+Returns a `Promise` for the result object.
+
+### readPkgUp.sync([options])
+
+Returns the result object.
+
+#### options
+
+##### cwd
+
+Type: `string`<br>
+Default: `.`
+
+Directory to start looking for a package.json file.
+
+##### normalize
+
+Type: `boolean`<br>
+Default: `true`
+
+[Normalize](https://github.com/npm/normalize-package-data#what-normalization-currently-entails) the package data.
+
+
+## Related
+
+- [read-pkg](https://github.com/sindresorhus/read-pkg) - Read a package.json file
+- [pkg-up](https://github.com/sindresorhus/pkg-up) - Find the closest package.json file
+- [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories
+- [pkg-conf](https://github.com/sindresorhus/pkg-conf) - Get namespaced config from the closest package.json
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/LICENSE b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/LICENSE
deleted file mode 100644
index 3c157f0b9d..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/LICENSE
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (c) 2015, 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/libnpx/node_modules/yargs/node_modules/y18n/README.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/README.md
deleted file mode 100644
index 9859458f20..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/README.md
+++ /dev/null
@@ -1,91 +0,0 @@
-# y18n
-
-[![Build Status][travis-image]][travis-url]
-[![Coverage Status][coveralls-image]][coveralls-url]
-[![NPM version][npm-image]][npm-url]
-[![js-standard-style][standard-image]][standard-url]
-
-The bare-bones internationalization library used by yargs.
-
-Inspired by [i18n](https://www.npmjs.com/package/i18n).
-
-## Examples
-
-_simple string translation:_
-
-```js
-var __ = require('y18n').__
-
-console.log(__('my awesome string %s', 'foo'))
-```
-
-output:
-
-`my awesome string foo`
-
-_pluralization support:_
-
-```js
-var __n = require('y18n').__n
-
-console.log(__n('one fish %s', '%d fishes %s', 2, 'foo'))
-```
-
-output:
-
-`2 fishes foo`
-
-## JSON Language Files
-
-The JSON language files should be stored in a `./locales` folder.
-File names correspond to locales, e.g., `en.json`, `pirate.json`.
-
-When strings are observed for the first time they will be
-added to the JSON file corresponding to the current locale.
-
-## Methods
-
-### require('y18n')(config)
-
-Create an instance of y18n with the config provided, options include:
-
-* `directory`: the locale directory, default `./locales`.
-* `updateFiles`: should newly observed strings be updated in file, default `true`.
-* `locale`: what locale should be used.
-* `fallbackToLanguage`: should fallback to a language-only file (e.g. `en.json`)
- be allowed if a file matching the locale does not exist (e.g. `en_US.json`),
- default `true`.
-
-### y18n.\_\_(str, arg, arg, arg)
-
-Print a localized string, `%s` will be replaced with `arg`s.
-
-### y18n.\_\_n(singularString, pluralString, count, arg, arg, arg)
-
-Print a localized string with appropriate pluralization. If `%d` is provided
-in the string, the `count` will replace this placeholder.
-
-### y18n.setLocale(str)
-
-Set the current locale being used.
-
-### y18n.getLocale()
-
-What locale is currently being used?
-
-### y18n.updateLocale(obj)
-
-Update the current locale with the key value pairs in `obj`.
-
-## License
-
-ISC
-
-[travis-url]: https://travis-ci.org/yargs/y18n
-[travis-image]: https://img.shields.io/travis/yargs/y18n.svg
-[coveralls-url]: https://coveralls.io/github/yargs/y18n
-[coveralls-image]: https://img.shields.io/coveralls/yargs/y18n.svg
-[npm-url]: https://npmjs.org/package/y18n
-[npm-image]: https://img.shields.io/npm/v/y18n.svg
-[standard-image]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg
-[standard-url]: https://github.com/feross/standard
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/index.js
deleted file mode 100644
index 91b159e342..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/index.js
+++ /dev/null
@@ -1,172 +0,0 @@
-var fs = require('fs')
-var path = require('path')
-var util = require('util')
-
-function Y18N (opts) {
- // configurable options.
- opts = opts || {}
- this.directory = opts.directory || './locales'
- this.updateFiles = typeof opts.updateFiles === 'boolean' ? opts.updateFiles : true
- this.locale = opts.locale || 'en'
- this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true
-
- // internal stuff.
- this.cache = {}
- this.writeQueue = []
-}
-
-Y18N.prototype.__ = function () {
- var args = Array.prototype.slice.call(arguments)
- var str = args.shift()
- var cb = function () {} // start with noop.
-
- if (typeof args[args.length - 1] === 'function') cb = args.pop()
- cb = cb || function () {} // noop.
-
- if (!this.cache[this.locale]) this._readLocaleFile()
-
- // we've observed a new string, update the language file.
- if (!this.cache[this.locale][str] && this.updateFiles) {
- this.cache[this.locale][str] = str
-
- // include the current directory and locale,
- // since these values could change before the
- // write is performed.
- this._enqueueWrite([this.directory, this.locale, cb])
- } else {
- cb()
- }
-
- return util.format.apply(util, [this.cache[this.locale][str] || str].concat(args))
-}
-
-Y18N.prototype._enqueueWrite = function (work) {
- this.writeQueue.push(work)
- if (this.writeQueue.length === 1) this._processWriteQueue()
-}
-
-Y18N.prototype._processWriteQueue = function () {
- var _this = this
- var work = this.writeQueue[0]
-
- // destructure the enqueued work.
- var directory = work[0]
- var locale = work[1]
- var cb = work[2]
-
- var languageFile = this._resolveLocaleFile(directory, locale)
- var serializedLocale = JSON.stringify(this.cache[locale], null, 2)
-
- fs.writeFile(languageFile, serializedLocale, 'utf-8', function (err) {
- _this.writeQueue.shift()
- if (_this.writeQueue.length > 0) _this._processWriteQueue()
- cb(err)
- })
-}
-
-Y18N.prototype._readLocaleFile = function () {
- var localeLookup = {}
- var languageFile = this._resolveLocaleFile(this.directory, this.locale)
-
- try {
- localeLookup = JSON.parse(fs.readFileSync(languageFile, 'utf-8'))
- } catch (err) {
- if (err instanceof SyntaxError) {
- err.message = 'syntax error in ' + languageFile
- }
-
- if (err.code === 'ENOENT') localeLookup = {}
- else throw err
- }
-
- this.cache[this.locale] = localeLookup
-}
-
-Y18N.prototype._resolveLocaleFile = function (directory, locale) {
- var file = path.resolve(directory, './', locale + '.json')
- if (this.fallbackToLanguage && !this._fileExistsSync(file) && ~locale.lastIndexOf('_')) {
- // attempt fallback to language only
- var languageFile = path.resolve(directory, './', locale.split('_')[0] + '.json')
- if (this._fileExistsSync(languageFile)) file = languageFile
- }
- return file
-}
-
-// this only exists because fs.existsSync() "will be deprecated"
-// see https://nodejs.org/api/fs.html#fs_fs_existssync_path
-Y18N.prototype._fileExistsSync = function (file) {
- try {
- return fs.statSync(file).isFile()
- } catch (err) {
- return false
- }
-}
-
-Y18N.prototype.__n = function () {
- var args = Array.prototype.slice.call(arguments)
- var singular = args.shift()
- var plural = args.shift()
- var quantity = args.shift()
-
- var cb = function () {} // start with noop.
- if (typeof args[args.length - 1] === 'function') cb = args.pop()
-
- if (!this.cache[this.locale]) this._readLocaleFile()
-
- var str = quantity === 1 ? singular : plural
- if (this.cache[this.locale][singular]) {
- str = this.cache[this.locale][singular][quantity === 1 ? 'one' : 'other']
- }
-
- // we've observed a new string, update the language file.
- if (!this.cache[this.locale][singular] && this.updateFiles) {
- this.cache[this.locale][singular] = {
- one: singular,
- other: plural
- }
-
- // include the current directory and locale,
- // since these values could change before the
- // write is performed.
- this._enqueueWrite([this.directory, this.locale, cb])
- } else {
- cb()
- }
-
- // if a %d placeholder is provided, add quantity
- // to the arguments expanded by util.format.
- var values = [str]
- if (~str.indexOf('%d')) values.push(quantity)
-
- return util.format.apply(util, values.concat(args))
-}
-
-Y18N.prototype.setLocale = function (locale) {
- this.locale = locale
-}
-
-Y18N.prototype.getLocale = function () {
- return this.locale
-}
-
-Y18N.prototype.updateLocale = function (obj) {
- if (!this.cache[this.locale]) this._readLocaleFile()
-
- for (var key in obj) {
- this.cache[this.locale][key] = obj[key]
- }
-}
-
-module.exports = function (opts) {
- var y18n = new Y18N(opts)
-
- // bind all functions to y18n, so that
- // they can be used in isolation.
- for (var key in y18n) {
- if (typeof y18n[key] === 'function') {
- y18n[key] = y18n[key].bind(y18n)
- }
- }
-
- return y18n
-}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/package.json
deleted file mode 100644
index 1a098fb5ed..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/package.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "_from": "y18n@^3.2.1",
- "_id": "y18n@3.2.1",
- "_inBundle": false,
- "_integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "_location": "/libnpx/yargs/y18n",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "y18n@^3.2.1",
- "name": "y18n",
- "escapedName": "y18n",
- "rawSpec": "^3.2.1",
- "saveSpec": null,
- "fetchSpec": "^3.2.1"
- },
- "_requiredBy": [
- "/libnpx/yargs"
- ],
- "_resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "_shasum": "6d15fba884c08679c0d77e88e7759e811e07fa41",
- "_spec": "y18n@^3.2.1",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs",
- "author": {
- "name": "Ben Coe",
- "email": "ben@npmjs.com"
- },
- "bugs": {
- "url": "https://github.com/yargs/y18n/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "the bare-bones internationalization library used by yargs",
- "devDependencies": {
- "chai": "^3.4.1",
- "coveralls": "^2.11.6",
- "mocha": "^2.3.4",
- "nyc": "^6.1.1",
- "rimraf": "^2.5.0",
- "standard": "^5.4.1"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/yargs/y18n",
- "keywords": [
- "i18n",
- "internationalization",
- "yargs"
- ],
- "license": "ISC",
- "main": "index.js",
- "name": "y18n",
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com/yargs/y18n.git"
- },
- "scripts": {
- "coverage": "nyc report --reporter=text-lcov | coveralls",
- "pretest": "standard",
- "test": "nyc mocha"
- },
- "version": "3.2.1"
-}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/CHANGELOG.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/CHANGELOG.md
index f75cfa0ec3..3ad3df821e 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/CHANGELOG.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/CHANGELOG.md
@@ -2,83 +2,6 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-<a name="9.0.2"></a>
-## [9.0.2](https://github.com/yargs/yargs-parser/compare/v9.0.1...v9.0.2) (2018-01-20)
-
-
-### Bug Fixes
-
-* nargs was still aggressively consuming too many arguments ([9b28aad](https://github.com/yargs/yargs-parser/commit/9b28aad))
-
-
-
-<a name="9.0.1"></a>
-## [9.0.1](https://github.com/yargs/yargs-parser/compare/v9.0.0...v9.0.1) (2018-01-20)
-
-
-### Bug Fixes
-
-* nargs was consuming too many arguments ([4fef206](https://github.com/yargs/yargs-parser/commit/4fef206))
-
-
-
-<a name="9.0.0"></a>
-# [9.0.0](https://github.com/yargs/yargs-parser/compare/v8.1.0...v9.0.0) (2018-01-20)
-
-
-### Features
-
-* narg arguments no longer consume flag arguments ([#114](https://github.com/yargs/yargs-parser/issues/114)) ([60bb9b3](https://github.com/yargs/yargs-parser/commit/60bb9b3))
-
-
-### BREAKING CHANGES
-
-* arguments of form --foo, -abc, will no longer be consumed by nargs
-
-
-
-<a name="8.1.0"></a>
-# [8.1.0](https://github.com/yargs/yargs-parser/compare/v8.0.0...v8.1.0) (2017-12-20)
-
-
-### Bug Fixes
-
-* allow null config values ([#108](https://github.com/yargs/yargs-parser/issues/108)) ([d8b14f9](https://github.com/yargs/yargs-parser/commit/d8b14f9))
-* ensure consistent parsing of dot-notation arguments ([#102](https://github.com/yargs/yargs-parser/issues/102)) ([c9bd79c](https://github.com/yargs/yargs-parser/commit/c9bd79c))
-* implement [@antoniom](https://github.com/antoniom)'s fix for camel-case expansion ([3087e1d](https://github.com/yargs/yargs-parser/commit/3087e1d))
-* only run coercion functions once, despite aliases. ([#76](https://github.com/yargs/yargs-parser/issues/76)) ([#103](https://github.com/yargs/yargs-parser/issues/103)) ([507aaef](https://github.com/yargs/yargs-parser/commit/507aaef))
-* scientific notation circumvented bounds check ([#110](https://github.com/yargs/yargs-parser/issues/110)) ([3571f57](https://github.com/yargs/yargs-parser/commit/3571f57))
-* tokenizer should ignore spaces at the beginning of the argString ([#106](https://github.com/yargs/yargs-parser/issues/106)) ([f34ead9](https://github.com/yargs/yargs-parser/commit/f34ead9))
-
-
-### Features
-
-* make combining arrays a configurable option ([#111](https://github.com/yargs/yargs-parser/issues/111)) ([c8bf536](https://github.com/yargs/yargs-parser/commit/c8bf536))
-* merge array from arguments with array from config ([#83](https://github.com/yargs/yargs-parser/issues/83)) ([806ddd6](https://github.com/yargs/yargs-parser/commit/806ddd6))
-
-
-
-<a name="8.0.0"></a>
-# [8.0.0](https://github.com/yargs/yargs-parser/compare/v7.0.0...v8.0.0) (2017-10-05)
-
-
-### Bug Fixes
-
-* Ignore multiple spaces between arguments. ([#100](https://github.com/yargs/yargs-parser/issues/100)) ([d137227](https://github.com/yargs/yargs-parser/commit/d137227))
-
-
-### Features
-
-* allow configuration of prefix for boolean negation ([#94](https://github.com/yargs/yargs-parser/issues/94)) ([00bde7d](https://github.com/yargs/yargs-parser/commit/00bde7d))
-* reworking how numbers are parsed ([#104](https://github.com/yargs/yargs-parser/issues/104)) ([fba00eb](https://github.com/yargs/yargs-parser/commit/fba00eb))
-
-
-### BREAKING CHANGES
-
-* strings that fail `Number.isSafeInteger()` are no longer coerced into numbers.
-
-
-
<a name="7.0.0"></a>
# [7.0.0](https://github.com/yargs/yargs-parser/compare/v6.0.1...v7.0.0) (2017-05-02)
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/README.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/README.md
index 6d6d0d4c9c..d1817fccc4 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/README.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/README.md
@@ -212,14 +212,6 @@ node example.js --no-foo
{ _: [], "no-foo": true }
```
-### combine arrays
-
-* default: `false`
-* key: `combine-arrays`
-
-Should arrays be combined when provided by both command line arguments and
-a configuration file.
-
### duplicate arguments array
* default: `true`
@@ -258,25 +250,6 @@ node example.js -x 1 2 -x 3 4
{ _: [], x: [[1, 2], [3, 4]] }
```
-### negation prefix
-
-* default: `no-`
-* key: `negation-prefix`
-
-The prefix to use for negated boolean variables.
-
-```sh
-node example.js --no-foo
-{ _: [], foo: false }
-```
-
-_if set to `quux`:_
-
-```sh
-node example.js --quuxfoo
-{ _: [], foo: false }
-```
-
### populate --
* default: `false`.
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/index.js
index d39414b737..73154066f7 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/index.js
@@ -16,11 +16,9 @@ function parse (args, opts) {
'dot-notation': true,
'parse-numbers': true,
'boolean-negation': true,
- 'negation-prefix': 'no-',
'duplicate-arguments-array': true,
'flatten-duplicate-arrays': true,
- 'populate--': false,
- 'combine-arrays': false
+ 'populate--': false
}, opts.configuration)
var defaults = opts.default || {}
var configObjects = opts.configObjects || []
@@ -47,7 +45,6 @@ function parse (args, opts) {
coercions: {}
}
var negative = /^-[0-9]+(\.[0-9]+)?/
- var negatedBoolean = new RegExp('^--' + configuration['negation-prefix'] + '(.+)')
;[].concat(opts.array).filter(Boolean).forEach(function (key) {
flags.arrays[key] = true
@@ -144,8 +141,8 @@ function parse (args, opts) {
} else {
setArg(m[1], m[2])
}
- } else if (arg.match(negatedBoolean) && configuration['boolean-negation']) {
- key = arg.match(negatedBoolean)[1]
+ } else if (arg.match(/^--no-.+/) && configuration['boolean-negation']) {
+ key = arg.match(/^--no-(.+)/)[1]
setArg(key, false)
// -- seperated by space.
@@ -271,7 +268,9 @@ function parse (args, opts) {
}
}
} else {
- argv._.push(maybeCoerceNumber('_', arg))
+ argv._.push(
+ flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)
+ )
}
}
@@ -302,25 +301,15 @@ function parse (args, opts) {
// how many arguments should we consume, based
// on the nargs option?
function eatNargs (i, key, args) {
- var ii
- const toEat = checkAllAliases(key, flags.nargs)
-
- // nargs will not consume flag arguments, e.g., -abc, --foo,
- // and terminates when one is observed.
- var available = 0
- for (ii = i + 1; ii < args.length; ii++) {
- if (!args[ii].match(/^-[^0-9]/)) available++
- else break
- }
+ var toEat = checkAllAliases(key, flags.nargs)
- if (available < toEat) error = Error(__('Not enough arguments following: %s', key))
+ if (args.length - (i + 1) < toEat) error = Error(__('Not enough arguments following: %s', key))
- const consumed = Math.min(available, toEat)
- for (ii = i + 1; ii < (consumed + i + 1); ii++) {
+ for (var ii = i + 1; ii < (toEat + i + 1); ii++) {
setArg(key, args[ii])
}
- return (i + consumed)
+ return (i + toEat)
}
// if an option is an array, eat all non-hyphenated arguments
@@ -357,8 +346,10 @@ function parse (args, opts) {
function setArg (key, val) {
unsetDefaulted(key)
- if (/-/.test(key) && configuration['camel-case-expansion']) {
- addNewAlias(key, camelCase(key))
+ if (/-/.test(key) && !(flags.aliases[key] && flags.aliases[key].length) && configuration['camel-case-expansion']) {
+ var c = camelCase(key)
+ flags.aliases[key] = [c]
+ newAliases[c] = true
}
var value = processValue(key, val)
@@ -403,23 +394,17 @@ function parse (args, opts) {
}
}
- function addNewAlias (key, alias) {
- if (!(flags.aliases[key] && flags.aliases[key].length)) {
- flags.aliases[key] = [alias]
- newAliases[alias] = true
- }
- if (!(flags.aliases[alias] && flags.aliases[alias].length)) {
- addNewAlias(alias, key)
- }
- }
-
function processValue (key, val) {
// handle parsing boolean arguments --foo=true --bar false.
if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) {
if (typeof val === 'string') val = val === 'true'
}
- var value = maybeCoerceNumber(key, val)
+ var value = val
+ if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.coercions)) {
+ if (isNumber(val)) value = Number(val)
+ if (!isUndefined(val) && !isNumber(val) && checkAllAliases(key, flags.numbers)) value = NaN
+ }
// increment a count given as arg (either no value or value parsed as boolean)
if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === 'boolean')) {
@@ -434,16 +419,6 @@ function parse (args, opts) {
return value
}
- function maybeCoerceNumber (key, value) {
- if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.coercions)) {
- const shouldCoerceNumber = isNumber(value) && configuration['parse-numbers'] && (
- Number.isSafeInteger(Math.floor(value))
- )
- if (shouldCoerceNumber || (!isUndefined(value) && checkAllAliases(key, flags.numbers))) value = Number(value)
- }
- return value
- }
-
// set args from config.json file, this should be
// applied last so that defaults can be applied.
function setConfig (argv) {
@@ -492,13 +467,13 @@ function parse (args, opts) {
// if the value is an inner object and we have dot-notation
// enabled, treat inner objects in config the same as
// heavily nested dot notations (foo.bar.apple).
- if (typeof value === 'object' && value !== null && !Array.isArray(value) && configuration['dot-notation']) {
+ if (typeof value === 'object' && !Array.isArray(value) && configuration['dot-notation']) {
// if the value is an object but not an array, check nested object
setConfigObject(value, fullKey)
} else {
// setting arguments via CLI takes precedence over
// values within the config file.
- if (!hasKey(argv, fullKey.split('.')) || (flags.defaulted[fullKey]) || (flags.arrays[fullKey] && configuration['combine-arrays'])) {
+ if (!hasKey(argv, fullKey.split('.')) || (flags.defaulted[fullKey])) {
setArg(fullKey, value)
}
}
@@ -536,19 +511,13 @@ function parse (args, opts) {
function applyCoercions (argv) {
var coerce
- var applied = {}
Object.keys(argv).forEach(function (key) {
- if (!applied.hasOwnProperty(key)) { // If we haven't already coerced this option via one of its aliases
- coerce = checkAllAliases(key, flags.coercions)
- if (typeof coerce === 'function') {
- try {
- var value = coerce(argv[key])
- ;([].concat(flags.aliases[key] || [], key)).forEach(ali => {
- applied[ali] = argv[ali] = value
- })
- } catch (err) {
- error = err
- }
+ coerce = checkAllAliases(key, flags.coercions)
+ if (typeof coerce === 'function') {
+ try {
+ argv[key] = coerce(argv[key])
+ } catch (err) {
+ error = err
}
}
})
@@ -587,24 +556,9 @@ function parse (args, opts) {
if (!configuration['dot-notation']) keys = [keys.join('.')]
- keys.slice(0, -1).forEach(function (key, index) {
- if (typeof o === 'object' && o[key] === undefined) {
- o[key] = {}
- }
-
- if (typeof o[key] !== 'object' || Array.isArray(o[key])) {
- // ensure that o[key] is an array, and that the last item is an empty object.
- if (Array.isArray(o[key])) {
- o[key].push({})
- } else {
- o[key] = [o[key], {}]
- }
-
- // we want to update the empty object at the end of the o[key] array, so set o to that object
- o = o[key][o[key].length - 1]
- } else {
- o = o[key]
- }
+ keys.slice(0, -1).forEach(function (key) {
+ if (o[key] === undefined) o[key] = {}
+ o = o[key]
})
var key = keys[keys.length - 1]
@@ -646,10 +600,8 @@ function parse (args, opts) {
flags.aliases[key].concat(key).forEach(function (x) {
if (/-/.test(x) && configuration['camel-case-expansion']) {
var c = camelCase(x)
- if (c !== key && flags.aliases[key].indexOf(c) === -1) {
- flags.aliases[key].push(c)
- newAliases[c] = true
- }
+ flags.aliases[key].push(c)
+ newAliases[c] = true
}
})
flags.aliases[key].forEach(function (x) {
@@ -710,6 +662,7 @@ function parse (args, opts) {
}
function isNumber (x) {
+ if (!configuration['parse-numbers']) return false
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/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/lib/tokenize-arg-string.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/lib/tokenize-arg-string.js
index 6c8d23ef21..23d39e1feb 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/lib/tokenize-arg-string.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/lib/tokenize-arg-string.js
@@ -2,23 +2,17 @@
module.exports = function (argString) {
if (Array.isArray(argString)) return argString
- argString = argString.trim()
-
var i = 0
- var prevC = null
var c = null
var opening = null
var args = []
for (var ii = 0; ii < argString.length; ii++) {
- prevC = c
c = argString.charAt(ii)
// split on spaces unless we're in quotes.
if (c === ' ' && !opening) {
- if (!(prevC === ' ')) {
- i++
- }
+ i++
continue
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/package.json
index 3434b662a2..e0e0851602 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/package.json
@@ -1,75 +1,46 @@
{
- "_from": "yargs-parser@^9.0.2",
- "_id": "yargs-parser@9.0.2",
+ "_from": "yargs-parser@^7.0.0",
+ "_id": "yargs-parser@7.0.0",
"_inBundle": false,
- "_integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
+ "_integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
"_location": "/libnpx/yargs/yargs-parser",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "yargs-parser@^9.0.2",
+ "raw": "yargs-parser@^7.0.0",
"name": "yargs-parser",
"escapedName": "yargs-parser",
- "rawSpec": "^9.0.2",
+ "rawSpec": "^7.0.0",
"saveSpec": null,
- "fetchSpec": "^9.0.2"
+ "fetchSpec": "^7.0.0"
},
"_requiredBy": [
"/libnpx/yargs"
],
- "_resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
- "_shasum": "9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077",
- "_spec": "yargs-parser@^9.0.2",
+ "_resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "_shasum": "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9",
+ "_shrinkwrap": null,
+ "_spec": "yargs-parser@^7.0.0",
"_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs",
- "author": {
- "name": "Ben Coe",
- "email": "ben@npmjs.com"
- },
- "bugs": {
- "url": "https://github.com/yargs/yargs-parser/issues"
- },
+ "bin": null,
"bundleDependencies": false,
"dependencies": {
"camelcase": "^4.1.0"
},
"deprecated": false,
- "description": "the mighty option parser used by yargs",
+ "description": "[![Build Status](https://travis-ci.org/yargs/yargs-parser.png)](https://travis-ci.org/yargs/yargs-parser) [![Coverage Status](https://coveralls.io/repos/yargs/yargs-parser/badge.svg?branch=)](https://coveralls.io/r/yargs/yargs-parser?branch=master) [![NPM version](https://img.shields.io/npm/v/yargs-parser.svg)](https://www.npmjs.com/package/yargs-parser) [![Windows Tests](https://img.shields.io/appveyor/ci/bcoe/yargs-parser/master.svg?label=Windows%20Tests)](https://ci.appveyor.com/project/bcoe/yargs-parser) [![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)",
"devDependencies": {
"chai": "^3.5.0",
"coveralls": "^2.11.12",
"mocha": "^3.0.1",
- "nyc": "^11.4.1",
+ "nyc": "^10.0.0",
"standard": "^10.0.2",
- "standard-version": "^4.3.0"
+ "standard-version": "^4.0.0"
},
- "files": [
- "lib",
- "index.js"
- ],
- "homepage": "https://github.com/yargs/yargs-parser#readme",
- "keywords": [
- "argument",
- "parser",
- "yargs",
- "command",
- "cli",
- "parsing",
- "option",
- "args",
- "argument"
- ],
- "license": "ISC",
- "main": "index.js",
"name": "yargs-parser",
- "repository": {
- "url": "git+ssh://git@github.com/yargs/yargs-parser.git"
- },
- "scripts": {
- "coverage": "nyc report --reporter=text-lcov | coveralls",
- "posttest": "standard",
- "release": "standard-version",
- "test": "nyc mocha test/*.js"
- },
- "version": "9.0.2"
+ "optionalDependencies": {},
+ "peerDependencies": {},
+ "scripts": {},
+ "version": "7.0.0"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/package.json
index be5b47f015..9ae1b0f1ad 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/package.json
@@ -1,53 +1,53 @@
{
- "_from": "yargs@^11.0.0",
- "_id": "yargs@11.0.0",
- "_inBundle": false,
- "_integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
+ "_args": [
+ [
+ "yargs@8.0.2",
+ "/Users/zkat/Documents/code/npx"
+ ]
+ ],
+ "_from": "yargs@8.0.2",
+ "_id": "yargs@8.0.2",
+ "_inBundle": true,
+ "_integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
"_location": "/libnpx/yargs",
- "_phantomChildren": {
- "lru-cache": "4.1.1",
- "strip-ansi": "4.0.0",
- "which": "1.3.0"
- },
+ "_phantomChildren": {},
"_requested": {
- "type": "range",
+ "type": "version",
"registry": true,
- "raw": "yargs@^11.0.0",
+ "raw": "yargs@8.0.2",
"name": "yargs",
"escapedName": "yargs",
- "rawSpec": "^11.0.0",
+ "rawSpec": "8.0.2",
"saveSpec": null,
- "fetchSpec": "^11.0.0"
+ "fetchSpec": "8.0.2"
},
"_requiredBy": [
"/libnpx"
],
- "_resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
- "_shasum": "c052931006c5eee74610e5fc0354bedfd08a201b",
- "_spec": "yargs@^11.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx",
+ "_resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
+ "_spec": "8.0.2",
+ "_where": "/Users/zkat/Documents/code/npx",
"bugs": {
"url": "https://github.com/yargs/yargs/issues"
},
- "bundleDependencies": false,
"dependencies": {
- "cliui": "^4.0.0",
+ "camelcase": "^4.1.0",
+ "cliui": "^3.2.0",
"decamelize": "^1.1.1",
- "find-up": "^2.1.0",
"get-caller-file": "^1.0.1",
"os-locale": "^2.0.0",
+ "read-pkg-up": "^2.0.0",
"require-directory": "^2.1.1",
"require-main-filename": "^1.0.1",
"set-blocking": "^2.0.0",
"string-width": "^2.0.0",
"which-module": "^2.0.0",
"y18n": "^3.2.1",
- "yargs-parser": "^9.0.2"
+ "yargs-parser": "^7.0.0"
},
- "deprecated": false,
"description": "yargs the modern, pirate-themed, successor to optimist.",
"devDependencies": {
- "chai": "^4.1.2",
+ "chai": "^3.4.1",
"chalk": "^1.1.3",
"coveralls": "^2.11.11",
"cpr": "^2.0.0",
@@ -55,7 +55,7 @@
"es6-promise": "^4.0.2",
"hashish": "0.0.4",
"mocha": "^3.0.1",
- "nyc": "^11.2.1",
+ "nyc": "^10.3.0",
"rimraf": "^2.5.0",
"standard": "^8.6.0",
"standard-version": "^4.2.0",
@@ -63,7 +63,7 @@
"yargs-test-extends": "^1.0.1"
},
"engine": {
- "node": ">=4"
+ "node": ">=0.10"
},
"files": [
"index.js",
@@ -92,7 +92,7 @@
},
"scripts": {
"coverage": "nyc report --reporter=text-lcov | coveralls",
- "posttest": "standard",
+ "pretest": "standard",
"release": "standard-version",
"test": "nyc --cache mocha --require ./test/before.js --timeout=8000 --check-leaks"
},
@@ -101,5 +101,5 @@
"**/example/**"
]
},
- "version": "11.0.0"
+ "version": "8.0.2"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/yargs.js b/deps/npm/node_modules/libnpx/node_modules/yargs/yargs.js
index 9b50b8bfeb..078bf8f149 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/yargs.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/yargs.js
@@ -1,6 +1,5 @@
-'use strict'
const argsert = require('./lib/argsert')
-const fs = require('fs')
+const assign = require('./lib/assign')
const Command = require('./lib/command')
const Completion = require('./lib/completion')
const Parser = require('yargs-parser')
@@ -13,18 +12,18 @@ const setBlocking = require('set-blocking')
const applyExtends = require('./lib/apply-extends')
const YError = require('./lib/yerror')
-exports = module.exports = Yargs
+var exports = module.exports = Yargs
function Yargs (processArgs, cwd, parentRequire) {
processArgs = processArgs || [] // handle calling yargs().
const self = {}
- let command = null
- let completion = null
- let groups = {}
- let output = ''
- let preservedGroups = {}
- let usage = null
- let validation = null
+ var command = null
+ var completion = null
+ var groups = {}
+ var output = ''
+ var preservedGroups = {}
+ var usage = null
+ var validation = null
const y18n = Y18n({
directory: path.resolve(__dirname, './locales'),
@@ -35,54 +34,58 @@ function Yargs (processArgs, cwd, parentRequire) {
self.$0 = process.argv
.slice(0, 2)
- .map((x, i) => {
+ .map(function (x, i) {
// ignore the node bin, specify this in your
// bin file with #!/usr/bin/env node
if (i === 0 && /\b(node|iojs)(\.exe)?$/.test(x)) return
- const b = rebase(cwd, x)
+ var b = rebase(cwd, x)
return x.match(/^(\/|([a-zA-Z]:)?\\)/) && b.length < x.length ? b : x
})
.join(' ').trim()
if (process.env._ !== undefined && process.argv[1] === process.env._) {
self.$0 = process.env._.replace(
- `${path.dirname(process.execPath)}/`, ''
+ path.dirname(process.execPath) + '/', ''
)
}
// use context object to keep track of resets, subcommand execution, etc
// submodules should modify and check the state of context as necessary
- const context = { resets: -1, commands: [], fullCommands: [], files: [] }
- self.getContext = () => context
+ const context = { resets: -1, commands: [], files: [] }
+ self.getContext = function () {
+ return context
+ }
// puts yargs back into an initial state. any keys
// that have been set to "global" will not be reset
// by this action.
- let options
- self.resetOptions = self.reset = function resetOptions (aliases) {
+ var options
+ self.resetOptions = self.reset = function (aliases) {
context.resets++
aliases = aliases || {}
options = options || {}
// put yargs back into an initial state, this
// logic is used to build a nested command
// hierarchy.
- const tmpOptions = {}
+ var tmpOptions = {}
tmpOptions.local = options.local ? options.local : []
tmpOptions.configObjects = options.configObjects ? options.configObjects : []
// if a key has been explicitly set as local,
// we should reset it before passing options to command.
- const localLookup = {}
- tmpOptions.local.forEach((l) => {
+ var localLookup = {}
+ tmpOptions.local.forEach(function (l) {
localLookup[l] = true
- ;(aliases[l] || []).forEach((a) => {
+ ;(aliases[l] || []).forEach(function (a) {
localLookup[a] = true
})
})
// preserve all groups not set to local.
- preservedGroups = Object.keys(groups).reduce((acc, groupName) => {
- const keys = groups[groupName].filter(key => !(key in localLookup))
+ preservedGroups = Object.keys(groups).reduce(function (acc, groupName) {
+ var keys = groups[groupName].filter(function (key) {
+ return !(key in localLookup)
+ })
if (keys.length > 0) {
acc[groupName] = keys
}
@@ -91,22 +94,26 @@ function Yargs (processArgs, cwd, parentRequire) {
// groups can now be reset
groups = {}
- const arrayOptions = [
- 'array', 'boolean', 'string', 'skipValidation',
+ var arrayOptions = [
+ 'array', 'boolean', 'string', 'requiresArg', 'skipValidation',
'count', 'normalize', 'number'
]
- const objectOptions = [
+ var objectOptions = [
'narg', 'key', 'alias', 'default', 'defaultDescription',
'config', 'choices', 'demandedOptions', 'demandedCommands', 'coerce'
]
- arrayOptions.forEach((k) => {
- tmpOptions[k] = (options[k] || []).filter(k => !localLookup[k])
+ arrayOptions.forEach(function (k) {
+ tmpOptions[k] = (options[k] || []).filter(function (k) {
+ return !localLookup[k]
+ })
})
- objectOptions.forEach((k) => {
- tmpOptions[k] = objFilter(options[k], (k, v) => !localLookup[k])
+ objectOptions.forEach(function (k) {
+ tmpOptions[k] = objFilter(options[k], function (k, v) {
+ return !localLookup[k]
+ })
})
tmpOptions.envPrefix = options.envPrefix
@@ -130,7 +137,7 @@ function Yargs (processArgs, cwd, parentRequire) {
self.resetOptions()
// temporary hack: allow "freezing" of reset-able state for parse(msg, cb)
- let frozen
+ var frozen
function freeze () {
frozen = {}
frozen.options = options
@@ -204,7 +211,7 @@ function Yargs (processArgs, cwd, parentRequire) {
self.requiresArg = function (keys) {
argsert('<array|string>', [keys], arguments.length)
- populateParserHintObject(self.nargs, false, 'narg', keys, 1)
+ populateParserHintArray('requiresArg', keys)
return self
}
@@ -216,7 +223,7 @@ function Yargs (processArgs, cwd, parentRequire) {
function populateParserHintArray (type, keys, value) {
keys = [].concat(keys)
- keys.forEach((key) => {
+ keys.forEach(function (key) {
options[type].push(key)
})
}
@@ -273,14 +280,14 @@ function Yargs (processArgs, cwd, parentRequire) {
function populateParserHintObject (builder, isArray, type, key, value) {
if (Array.isArray(key)) {
// an array of keys with one value ['x', 'y', 'z'], function parse () {}
- const temp = {}
- key.forEach((k) => {
+ var temp = {}
+ key.forEach(function (k) {
temp[k] = value
})
builder(temp)
} else if (typeof key === 'object') {
// an object of key value pairs: {'x': parse () {}, 'y': parse() {}}
- Object.keys(key).forEach((k) => {
+ Object.keys(key).forEach(function (k) {
builder(k, key[k])
})
} else {
@@ -293,22 +300,7 @@ function Yargs (processArgs, cwd, parentRequire) {
}
}
- function deleteFromParserHintObject (optionKey) {
- // delete from all parsing hints:
- // boolean, array, key, alias, etc.
- Object.keys(options).forEach((hintKey) => {
- const hint = options[hintKey]
- if (Array.isArray(hint)) {
- if (~hint.indexOf(optionKey)) hint.splice(hint.indexOf(optionKey), 1)
- } else if (typeof hint === 'object') {
- delete hint[optionKey]
- }
- })
- // now delete the description from usage.js.
- delete usage.getDescriptions()[optionKey]
- }
-
- self.config = function config (key, msg, parseFn) {
+ self.config = function (key, msg, parseFn) {
argsert('[object|string] [string|function] [function]', [key, msg, parseFn], arguments.length)
// allow a config object to be provided directly.
if (typeof key === 'object') {
@@ -325,7 +317,7 @@ function Yargs (processArgs, cwd, parentRequire) {
key = key || 'config'
self.describe(key, msg || usage.deferY18nLookup('Path to JSON config file'))
- ;(Array.isArray(key) ? key : [key]).forEach((k) => {
+ ;(Array.isArray(key) ? key : [key]).forEach(function (k) {
options.config[k] = parseFn || true
})
@@ -338,9 +330,9 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- self.command = function (cmd, description, builder, handler, middlewares) {
- argsert('<string|array|object> [string|boolean] [function|object] [function] [array]', [cmd, description, builder, handler, middlewares], arguments.length)
- command.addHandler(cmd, description, builder, handler, middlewares)
+ self.command = function (cmd, description, builder, handler) {
+ argsert('<string|array|object> [string|boolean] [function|object] [function]', [cmd, description, builder, handler], arguments.length)
+ command.addHandler(cmd, description, builder, handler)
return self
}
@@ -353,12 +345,12 @@ function Yargs (processArgs, cwd, parentRequire) {
// TODO: deprecate self.demand in favor of
// .demandCommand() .demandOption().
- self.demand = self.required = self.require = function demand (keys, max, msg) {
+ self.demand = self.required = self.require = function (keys, max, msg) {
// you can optionally provide a 'max' key,
// which will raise an exception if too many '_'
// options are provided.
if (Array.isArray(max)) {
- max.forEach((key) => {
+ max.forEach(function (key) {
self.demandOption(key, msg)
})
max = Infinity
@@ -370,7 +362,7 @@ function Yargs (processArgs, cwd, parentRequire) {
if (typeof keys === 'number') {
self.demandCommand(keys, max, msg, msg)
} else if (Array.isArray(keys)) {
- keys.forEach((key) => {
+ keys.forEach(function (key) {
self.demandOption(key, msg)
})
} else {
@@ -384,8 +376,8 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- self.demandCommand = function demandCommand (min, max, minMsg, maxMsg) {
- argsert('[number] [number|string] [string|null|undefined] [string|null|undefined]', [min, max, minMsg, maxMsg], arguments.length)
+ self.demandCommand = function (min, max, minMsg, maxMsg) {
+ argsert('[number] [number|string] [string|null] [string|null]', [min, max, minMsg, maxMsg], arguments.length)
if (typeof min === 'undefined') min = 1
@@ -397,52 +389,50 @@ function Yargs (processArgs, cwd, parentRequire) {
self.global('_', false)
options.demandedCommands._ = {
- min,
- max,
- minMsg,
- maxMsg
+ min: min,
+ max: max,
+ minMsg: minMsg,
+ maxMsg: maxMsg
}
return self
}
- self.getDemandedOptions = () => {
+ self.getDemandedOptions = function () {
argsert([], 0)
return options.demandedOptions
}
- self.getDemandedCommands = () => {
+ self.getDemandedCommands = function () {
argsert([], 0)
return options.demandedCommands
}
self.implies = function (key, value) {
- argsert('<string|object> [number|string|array]', [key, value], arguments.length)
+ argsert('<string|object> [string]', [key, value], arguments.length)
validation.implies(key, value)
return self
}
self.conflicts = function (key1, key2) {
- argsert('<string|object> [string|array]', [key1, key2], arguments.length)
+ argsert('<string|object> [string]', [key1, key2], arguments.length)
validation.conflicts(key1, key2)
return self
}
- self.usage = function (msg, description, builder, handler) {
- argsert('<string|null|undefined> [string|boolean] [function|object] [function]', [msg, description, builder, handler], arguments.length)
+ self.usage = function (msg, opts) {
+ argsert('<string|null|object> [object]', [msg, opts], arguments.length)
- if (description !== undefined) {
- // .usage() can be used as an alias for defining
- // a default command.
- if ((msg || '').match(/^\$0( |$)/)) {
- return self.command(msg, description, builder, handler)
- } else {
- throw new YError('.usage() description must start with $0 if being used as alias for .command()')
- }
- } else {
- usage.usage(msg)
- return self
+ if (!opts && typeof msg === 'object') {
+ opts = msg
+ msg = null
}
+
+ usage.usage(msg)
+
+ if (opts) self.options(opts)
+
+ return self
}
self.epilogue = self.epilog = function (msg) {
@@ -463,26 +453,28 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- self.global = function global (globals, global) {
+ self.global = function (globals, global) {
argsert('<string|array> [boolean]', [globals, global], arguments.length)
globals = [].concat(globals)
if (global !== false) {
- options.local = options.local.filter(l => globals.indexOf(l) === -1)
+ options.local = options.local.filter(function (l) {
+ return globals.indexOf(l) === -1
+ })
} else {
- globals.forEach((g) => {
+ globals.forEach(function (g) {
if (options.local.indexOf(g) === -1) options.local.push(g)
})
}
return self
}
- self.pkgConf = function pkgConf (key, path) {
+ self.pkgConf = function (key, path) {
argsert('<string> [string]', [key, path], arguments.length)
- let conf = null
+ var conf = null
// prefer cwd to require-main-filename in this method
// since we're looking for e.g. "nyc" config in nyc consumer
// rather than "yargs" config in nyc (where nyc is the main filename)
- const obj = pkgUp(path || cwd)
+ var obj = pkgUp(path || cwd)
// If an object exists in the key, add it to options.configObjects
if (obj[key] && typeof obj[key] === 'object') {
@@ -493,30 +485,28 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- const pkgs = {}
+ var pkgs = {}
function pkgUp (path) {
- const npath = path || '*'
+ var npath = path || '*'
if (pkgs[npath]) return pkgs[npath]
- const findUp = require('find-up')
+ const readPkgUp = require('read-pkg-up')
- let obj = {}
+ var obj = {}
try {
- const pkgJsonPath = findUp.sync('package.json', {
- cwd: path || require('path').dirname(require('require-main-filename')(parentRequire || require)),
+ obj = readPkgUp.sync({
+ cwd: path || require('require-main-filename')(parentRequire || require),
normalize: false
})
- obj = JSON.parse(fs.readFileSync(pkgJsonPath))
} catch (noop) {}
- pkgs[npath] = obj || {}
+ pkgs[npath] = obj.pkg || {}
return pkgs[npath]
}
- let parseFn = null
- let parseContext = null
- self.parse = function parse (args, shortCircuit, _parseFn) {
- argsert('[string|array] [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length)
- if (typeof args === 'undefined') args = processArgs
+ var parseFn = null
+ var parseContext = null
+ self.parse = function (args, shortCircuit, _parseFn) {
+ argsert('<string|array> [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length)
// a context object can optionally be provided, this allows
// additional information to be passed to a command handler.
@@ -539,21 +529,25 @@ function Yargs (processArgs, cwd, parentRequire) {
freeze()
if (parseFn) exitProcess = false
- const parsed = self._parseArgs(args, shortCircuit)
+ var parsed = self._parseArgs(args, shortCircuit)
if (parseFn) parseFn(exitError, parsed, output)
unfreeze()
return parsed
}
- self._getParseContext = () => parseContext || {}
+ self._getParseContext = function () {
+ return parseContext || {}
+ }
- self._hasParseCallback = () => !!parseFn
+ self._hasParseCallback = function () {
+ return !!parseFn
+ }
- self.option = self.options = function option (key, opt) {
+ self.option = self.options = function (key, opt) {
argsert('<string|object> [object]', [key, opt], arguments.length)
if (typeof key === 'object') {
- Object.keys(key).forEach((k) => {
+ Object.keys(key).forEach(function (k) {
self.options(k, key[k])
})
} else {
@@ -565,7 +559,7 @@ function Yargs (processArgs, cwd, parentRequire) {
if (opt.alias) self.alias(key, opt.alias)
- const demand = opt.demand || opt.required || opt.require
+ var demand = opt.demand || opt.required || opt.require
// deprecated, use 'demandOption' instead
if (demand) {
@@ -576,6 +570,10 @@ function Yargs (processArgs, cwd, parentRequire) {
self.demandOption(key, typeof opt.demandOption === 'string' ? opt.demandOption : undefined)
}
+ if ('config' in opt) {
+ self.config(key, opt.configParser)
+ }
+
if ('conflicts' in opt) {
self.conflicts(key, opt.conflicts)
}
@@ -592,11 +590,7 @@ function Yargs (processArgs, cwd, parentRequire) {
self.nargs(key, opt.nargs)
}
- if (opt.config) {
- self.config(key, opt.configParser)
- }
-
- if (opt.normalize) {
+ if ('normalize' in opt) {
self.normalize(key)
}
@@ -648,8 +642,8 @@ function Yargs (processArgs, cwd, parentRequire) {
self.skipValidation(key)
}
- const desc = opt.describe || opt.description || opt.desc
- if (!opt.hidden) {
+ var desc = opt.describe || opt.description || opt.desc
+ if (desc) {
self.describe(key, desc)
}
@@ -660,62 +654,29 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- self.getOptions = () => options
-
- self.positional = function (key, opts) {
- argsert('<string> <object>', [key, opts], arguments.length)
- if (context.resets === 0) {
- throw new YError(".positional() can only be called in a command's builder function")
- }
-
- // .positional() only supports a subset of the configuration
- // options availble to .option().
- const supportedOpts = ['default', 'implies', 'normalize',
- 'choices', 'conflicts', 'coerce', 'type', 'describe',
- 'desc', 'description', 'alias']
- opts = objFilter(opts, (k, v) => {
- let accept = supportedOpts.indexOf(k) !== -1
- // type can be one of string|number|boolean.
- if (k === 'type' && ['string', 'number', 'boolean'].indexOf(v) === -1) accept = false
- return accept
- })
-
- // copy over any settings that can be inferred from the command string.
- const fullCommand = context.fullCommands[context.fullCommands.length - 1]
- const parseOptions = fullCommand ? command.cmdToParseOptions(fullCommand) : {
- array: [],
- alias: {},
- default: {},
- demand: {}
- }
- Object.keys(parseOptions).forEach((pk) => {
- if (Array.isArray(parseOptions[pk])) {
- if (parseOptions[pk].indexOf(key) !== -1) opts[pk] = true
- } else {
- if (parseOptions[pk][key] && !(pk in opts)) opts[pk] = parseOptions[pk][key]
- }
- })
- self.group(key, usage.getPositionalGroupName())
- return self.option(key, opts)
+ self.getOptions = function () {
+ return options
}
- self.group = function group (opts, groupName) {
+ self.group = function (opts, groupName) {
argsert('<string|array> <string>', [opts, groupName], arguments.length)
- const existing = preservedGroups[groupName] || groups[groupName]
+ var existing = preservedGroups[groupName] || groups[groupName]
if (preservedGroups[groupName]) {
// we now only need to track this group name in groups.
delete preservedGroups[groupName]
}
- const seen = {}
- groups[groupName] = (existing || []).concat(opts).filter((key) => {
+ var seen = {}
+ groups[groupName] = (existing || []).concat(opts).filter(function (key) {
if (seen[key]) return false
return (seen[key] = true)
})
return self
}
- // combine explicit and preserved groups. explicit groups should be first
- self.getGroups = () => Object.assign({}, groups, preservedGroups)
+ self.getGroups = function () {
+ // combine explicit and preserved groups. explicit groups should be first
+ return assign(groups, preservedGroups)
+ }
// as long as options.envPrefix is not undefined,
// parser will apply env vars matching prefix to argv
@@ -727,58 +688,43 @@ function Yargs (processArgs, cwd, parentRequire) {
}
self.wrap = function (cols) {
- argsert('<number|null|undefined>', [cols], arguments.length)
+ argsert('<number|null>', [cols], arguments.length)
usage.wrap(cols)
return self
}
- let strict = false
+ var strict = false
self.strict = function (enabled) {
argsert('[boolean]', [enabled], arguments.length)
strict = enabled !== false
return self
}
- self.getStrict = () => strict
+ self.getStrict = function () {
+ return strict
+ }
self.showHelp = function (level) {
argsert('[string|function]', [level], arguments.length)
if (!self.parsed) self._parseArgs(processArgs) // run parser, if it has not already been executed.
- if (command.hasDefaultCommand()) {
- context.resets++ // override the restriction on top-level positoinals.
- command.runDefaultBuilderOn(self, true)
- }
usage.showHelp(level)
return self
}
- let versionOpt = null
- self.version = function version (opt, msg, ver) {
- const defaultVersionOpt = 'version'
- argsert('[boolean|string] [string] [string]', [opt, msg, ver], arguments.length)
-
- // nuke the key previously configured
- // to return version #.
- if (versionOpt) {
- deleteFromParserHintObject(versionOpt)
- usage.version(undefined)
- versionOpt = null
- }
-
+ var versionOpt = null
+ self.version = function (opt, msg, ver) {
+ argsert('[string|function] [string|function] [string]', [opt, msg, ver], arguments.length)
if (arguments.length === 0) {
ver = guessVersion()
- opt = defaultVersionOpt
+ opt = 'version'
} else if (arguments.length === 1) {
- if (opt === false) { // disable default 'version' key.
- return self
- }
ver = opt
- opt = defaultVersionOpt
+ opt = 'version'
} else if (arguments.length === 2) {
ver = msg
msg = null
}
- versionOpt = typeof opt === 'string' ? opt : defaultVersionOpt
+ versionOpt = opt
msg = msg || usage.deferY18nLookup('Show version number')
usage.version(ver || undefined)
@@ -788,35 +734,44 @@ function Yargs (processArgs, cwd, parentRequire) {
}
function guessVersion () {
- const obj = pkgUp()
+ var obj = pkgUp()
return obj.version || 'unknown'
}
- let helpOpt = null
- self.addHelpOpt = self.help = function addHelpOpt (opt, msg) {
- const defaultHelpOpt = 'help'
- argsert('[string|boolean] [string]', [opt, msg], arguments.length)
-
- // nuke the key previously configured
- // to return help.
- if (helpOpt) {
- deleteFromParserHintObject(helpOpt)
- helpOpt = null
- }
+ var helpOpt = null
+ var useHelpOptAsCommand = false // a call to .help() will enable this
+ self.addHelpOpt = self.help = function (opt, msg, addImplicitCmd) {
+ argsert('[string|boolean] [string|boolean] [boolean]', [opt, msg, addImplicitCmd], arguments.length)
- if (arguments.length === 1) {
- if (opt === false) return self
+ // argument shuffle
+ if (arguments.length === 0) {
+ useHelpOptAsCommand = true
+ } else if (arguments.length === 1) {
+ if (typeof opt === 'boolean') {
+ useHelpOptAsCommand = opt
+ opt = null
+ } else {
+ useHelpOptAsCommand = true
+ }
+ } else if (arguments.length === 2) {
+ if (typeof msg === 'boolean') {
+ useHelpOptAsCommand = msg
+ msg = null
+ } else {
+ useHelpOptAsCommand = true
+ }
+ } else {
+ useHelpOptAsCommand = Boolean(addImplicitCmd)
}
-
// use arguments, fallback to defaults for opt and msg
- helpOpt = typeof opt === 'string' ? opt : defaultHelpOpt
+ helpOpt = opt || 'help'
self.boolean(helpOpt)
self.describe(helpOpt, msg || usage.deferY18nLookup('Show help'))
return self
}
- self.showHelpOnFail = function showHelpOnFail (enabled, message) {
+ self.showHelpOnFail = function (enabled, message) {
argsert('[boolean|string] [string]', [enabled, message], arguments.length)
usage.showHelpOnFail(enabled, message)
return self
@@ -831,7 +786,9 @@ function Yargs (processArgs, cwd, parentRequire) {
exitProcess = enabled
return self
}
- self.getExitProcess = () => exitProcess
+ self.getExitProcess = function () {
+ return exitProcess
+ }
var completionCommand = null
self.completion = function (cmd, desc, fn) {
@@ -861,7 +818,7 @@ function Yargs (processArgs, cwd, parentRequire) {
self.showCompletionScript = function ($0) {
argsert('[string]', [$0], arguments.length)
$0 = $0 || self.$0
- _logger.log(completion.generateCompletionScript($0, completionCommand))
+ _logger.log(completion.generateCompletionScript($0))
return self
}
@@ -888,19 +845,21 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- let detectLocale = true
+ var detectLocale = true
self.detectLocale = function (detect) {
argsert('<boolean>', [detect], arguments.length)
detectLocale = detect
return self
}
- self.getDetectLocale = () => detectLocale
+ self.getDetectLocale = function () {
+ return detectLocale
+ }
var hasOutput = false
var exitError = null
// maybe exit, always capture
// context about why we wanted to exit.
- self.exit = (code, err) => {
+ self.exit = function (code, err) {
hasOutput = true
exitError = err
if (exitProcess) process.exit(code)
@@ -908,67 +867,78 @@ function Yargs (processArgs, cwd, parentRequire) {
// we use a custom logger that buffers output,
// so that we can print to non-CLIs, e.g., chat-bots.
- const _logger = {
- log () {
+ var _logger = {
+ log: function () {
const args = []
- for (let i = 0; i < arguments.length; i++) args.push(arguments[i])
+ for (var i = 0; i < arguments.length; i++) args.push(arguments[i])
if (!self._hasParseCallback()) console.log.apply(console, args)
hasOutput = true
if (output.length) output += '\n'
output += args.join(' ')
},
- error () {
+ error: function () {
const args = []
- for (let i = 0; i < arguments.length; i++) args.push(arguments[i])
+ for (var i = 0; i < arguments.length; i++) args.push(arguments[i])
if (!self._hasParseCallback()) console.error.apply(console, args)
hasOutput = true
if (output.length) output += '\n'
output += args.join(' ')
}
}
- self._getLoggerInstance = () => _logger
+ self._getLoggerInstance = function () {
+ return _logger
+ }
// has yargs output an error our help
// message in the current execution context.
- self._hasOutput = () => hasOutput
+ self._hasOutput = function () {
+ return hasOutput
+ }
- self._setHasOutput = () => {
+ self._setHasOutput = function () {
hasOutput = true
}
- let recommendCommands
+ var recommendCommands
self.recommendCommands = function (recommend) {
argsert('[boolean]', [recommend], arguments.length)
recommendCommands = typeof recommend === 'boolean' ? recommend : true
return self
}
- self.getUsageInstance = () => usage
+ self.getUsageInstance = function () {
+ return usage
+ }
- self.getValidationInstance = () => validation
+ self.getValidationInstance = function () {
+ return validation
+ }
- self.getCommandInstance = () => command
+ self.getCommandInstance = function () {
+ return command
+ }
- self.terminalWidth = () => {
+ self.terminalWidth = function () {
argsert([], 0)
return typeof process.stdout.columns !== 'undefined' ? process.stdout.columns : null
}
Object.defineProperty(self, 'argv', {
- get: () => self._parseArgs(processArgs),
+ get: function () {
+ return self._parseArgs(processArgs)
+ },
enumerable: true
})
- self._parseArgs = function parseArgs (args, shortCircuit, _skipValidation, commandIndex) {
- let skipValidation = !!_skipValidation
+ self._parseArgs = function (args, shortCircuit, _skipValidation, commandIndex) {
+ var skipValidation = !!_skipValidation
args = args || processArgs
options.__ = y18n.__
options.configuration = pkgUp()['yargs'] || {}
-
const parsed = Parser.detailed(args, options)
- let argv = parsed.argv
- if (parseContext) argv = Object.assign({}, argv, parseContext)
- const aliases = parsed.aliases
+ var argv = parsed.argv
+ if (parseContext) argv = assign(argv, parseContext)
+ var aliases = parsed.aliases
argv.$0 = self.$0
self.parsed = parsed
@@ -983,28 +953,34 @@ function Yargs (processArgs, cwd, parentRequire) {
return argv
}
- // if there's a handler associated with a
- // command defer processing to it.
- if (helpOpt) {
- // consider any multi-char helpOpt alias as a valid help command
- // unless all helpOpt aliases are single-char
- // note that parsed.aliases is a normalized bidirectional map :)
- const helpCmds = [helpOpt]
- .concat(aliases[helpOpt] || [])
- .filter(k => k.length > 1)
- // check if help should trigger and strip it from _.
- if (~helpCmds.indexOf(argv._[argv._.length - 1])) {
- argv._.pop()
- argv[helpOpt] = true
+ if (argv._.length) {
+ // check for helpOpt in argv._ before running commands
+ // assumes helpOpt must be valid if useHelpOptAsCommand is true
+ if (useHelpOptAsCommand) {
+ // consider any multi-char helpOpt alias as a valid help command
+ // unless all helpOpt aliases are single-char
+ // note that parsed.aliases is a normalized bidirectional map :)
+ var helpCmds = [helpOpt].concat(aliases[helpOpt] || [])
+ var multiCharHelpCmds = helpCmds.filter(function (k) {
+ return k.length > 1
+ })
+ if (multiCharHelpCmds.length) helpCmds = multiCharHelpCmds
+ // look for and strip any helpCmds from argv._
+ argv._ = argv._.filter(function (cmd) {
+ if (~helpCmds.indexOf(cmd)) {
+ argv[helpOpt] = true
+ return false
+ }
+ return true
+ })
}
- }
- const handlerKeys = command.getCommands()
- const skipDefaultCommand = argv[helpOpt] && (handlerKeys.length > 1 || handlerKeys[0] !== '$0')
- if (argv._.length) {
+ // if there's a handler associated with a
+ // command defer processing to it.
+ var handlerKeys = command.getCommands()
if (handlerKeys.length) {
- let firstUnknownCommand
- for (let i = (commandIndex || 0), cmd; argv._[i] !== undefined; i++) {
+ var firstUnknownCommand
+ for (var i = (commandIndex || 0), cmd; argv._[i] !== undefined; i++) {
cmd = String(argv._[i])
if (~handlerKeys.indexOf(cmd) && cmd !== completionCommand) {
setPlaceholderKeys(argv)
@@ -1019,7 +995,7 @@ function Yargs (processArgs, cwd, parentRequire) {
}
// run the default command, if defined
- if (command.hasDefaultCommand() && !skipDefaultCommand) {
+ if (command.hasDefaultCommand() && !argv[helpOpt]) {
setPlaceholderKeys(argv)
return command.runCommand(null, self, parsed)
}
@@ -1037,7 +1013,7 @@ function Yargs (processArgs, cwd, parentRequire) {
self.showCompletionScript()
self.exit(0)
}
- } else if (command.hasDefaultCommand() && !skipDefaultCommand) {
+ } else if (command.hasDefaultCommand() && !argv[helpOpt]) {
setPlaceholderKeys(argv)
return command.runCommand(null, self, parsed)
}
@@ -1049,9 +1025,9 @@ function Yargs (processArgs, cwd, parentRequire) {
// we allow for asynchronous completions,
// e.g., loading in a list of commands from an API.
- const completionArgs = args.slice(args.indexOf(`--${completion.completionKey}`) + 1)
- completion.getCompletion(completionArgs, (completions) => {
- ;(completions || []).forEach((completion) => {
+ var completionArgs = args.slice(args.indexOf('--' + completion.completionKey) + 1)
+ completion.getCompletion(completionArgs, function (completions) {
+ ;(completions || []).forEach(function (completion) {
_logger.log(completion)
})
@@ -1063,7 +1039,7 @@ function Yargs (processArgs, cwd, parentRequire) {
// Handle 'help' and 'version' options
// if we haven't already output help!
if (!hasOutput) {
- Object.keys(argv).forEach((key) => {
+ Object.keys(argv).forEach(function (key) {
if (key === helpOpt && argv[key]) {
if (exitProcess) setBlocking(true)
@@ -1082,7 +1058,9 @@ function Yargs (processArgs, cwd, parentRequire) {
// Check if any of the options to skip validation were provided
if (!skipValidation && options.skipValidation.length > 0) {
- skipValidation = Object.keys(argv).some(key => options.skipValidation.indexOf(key) >= 0 && argv[key] === true)
+ skipValidation = Object.keys(argv).some(function (key) {
+ return options.skipValidation.indexOf(key) >= 0 && argv[key] === true
+ })
}
// If the help or version options where used and exitProcess is false,
@@ -1104,9 +1082,10 @@ function Yargs (processArgs, cwd, parentRequire) {
return setPlaceholderKeys(argv)
}
- self._runValidation = function runValidation (argv, aliases, positionalMap, parseErrors) {
+ self._runValidation = function (argv, aliases, positionalMap, parseErrors) {
if (parseErrors) throw new YError(parseErrors.message)
validation.nonOptionCount(argv)
+ validation.missingArgumentValue(argv)
validation.requiredArguments(argv)
if (strict) validation.unknownArguments(argv, aliases, positionalMap)
validation.customChecks(argv, aliases)
@@ -1128,7 +1107,7 @@ function Yargs (processArgs, cwd, parentRequire) {
}
function setPlaceholderKeys (argv) {
- Object.keys(options.key).forEach((key) => {
+ Object.keys(options.key).forEach(function (key) {
// don't set placeholder keys for dot
// notation options 'foo.bar'.
if (~key.indexOf('.')) return
@@ -1137,11 +1116,6 @@ function Yargs (processArgs, cwd, parentRequire) {
return argv
}
- // an app should almost always have --version and --help,
- // if you *really* want to disable this use .help(false)/.version(false).
- self.help()
- self.version()
-
return self
}