summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/libnpx
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/libnpx')
-rw-r--r--deps/npm/node_modules/libnpx/CHANGELOG.md31
-rw-r--r--deps/npm/node_modules/libnpx/LICENSE.md17
-rw-r--r--deps/npm/node_modules/libnpx/README.md6
-rw-r--r--deps/npm/node_modules/libnpx/child.js18
-rw-r--r--deps/npm/node_modules/libnpx/get-prefix.js32
-rw-r--r--deps/npm/node_modules/libnpx/index.js19
-rw-r--r--deps/npm/node_modules/libnpx/libnpx.19
-rw-r--r--deps/npm/node_modules/libnpx/locales/ar.json29
-rw-r--r--deps/npm/node_modules/libnpx/locales/fr.json28
-rw-r--r--deps/npm/node_modules/libnpx/locales/ko.json8
-rw-r--r--deps/npm/node_modules/libnpx/locales/pt_BR.json38
-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/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/wrap-ansi/node_modules/string-width/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/license)0
-rw-r--r--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 (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/string-width/license)0
-rw-r--r--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 (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/node_modules/string-width/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/package.json)5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/license (renamed from 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)0
-rw-r--r--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 (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/license)0
-rw-r--r--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 (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/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/wrap-ansi/node_modules/strip-ansi/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/package.json)9
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/license)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/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/find-up/node_modules/locate-path/node_modules/p-locate/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/license)0
-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/index.js (renamed from 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)4
-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/license (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/license)0
-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/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/read-pkg-up/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/find-up/node_modules/locate-path/node_modules/p-locate/package.json (renamed from 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)6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/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/find-up/node_modules/locate-path/node_modules/path-exists/index.js (renamed from 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)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/license (renamed from 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)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/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/find-up/node_modules/locate-path/node_modules/path-exists/readme.md (renamed from 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)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/package.json)6
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/readme.md)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/package.json)16
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/readme.md)0
-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/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/path-exists/license21
-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/node_modules/camelcase/index.js (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/index.js)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/license (renamed from 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)0
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/package.json (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/package.json)5
-rw-r--r--deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/readme.md (renamed from deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/readme.md)0
-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
-rw-r--r--deps/npm/node_modules/libnpx/package.json58
-rw-r--r--deps/npm/node_modules/libnpx/parse-args.js134
169 files changed, 2533 insertions, 4435 deletions
diff --git a/deps/npm/node_modules/libnpx/CHANGELOG.md b/deps/npm/node_modules/libnpx/CHANGELOG.md
index 802f840689..baa5d37a47 100644
--- a/deps/npm/node_modules/libnpx/CHANGELOG.md
+++ b/deps/npm/node_modules/libnpx/CHANGELOG.md
@@ -2,6 +2,37 @@
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="10.0.1"></a>
+## [10.0.1](https://github.com/zkat/npx/compare/v10.0.0...v10.0.1) (2018-03-08)
+
+
+### Bug Fixes
+
+* **i18n:** Improve French localization ([#158](https://github.com/zkat/npx/issues/158)) ([c88823e](https://github.com/zkat/npx/commit/c88823e))
+* **windows:** on Windows, throw useful error when package contains no binaries([#142](https://github.com/zkat/npx/issues/142)) ([a69276e](https://github.com/zkat/npx/commit/a69276e)), closes [#137](https://github.com/zkat/npx/issues/137)
+
+
+
+<a name="10.0.0"></a>
+# [10.0.0](https://github.com/zkat/npx/compare/v9.7.1...v10.0.0) (2018-03-08)
+
+
+### Bug Fixes
+
+* **i18n:** Fix Korean locale ([#130](https://github.com/zkat/npx/issues/130)) ([752db48](https://github.com/zkat/npx/commit/752db48))
+* **index:** remove extraneous logging on Windows ([#136](https://github.com/zkat/npx/issues/136)) ([357e6ab](https://github.com/zkat/npx/commit/357e6ab)), closes [#131](https://github.com/zkat/npx/issues/131)
+* **license:** change npx license to ISC ([a617d7b](https://github.com/zkat/npx/commit/a617d7b))
+* **parse-args:** fix version thing for yargs ([30677ed](https://github.com/zkat/npx/commit/30677ed))
+* **prefix:** Handle node_modules without package.json ([#128](https://github.com/zkat/npx/issues/128)) ([f64ae43](https://github.com/zkat/npx/commit/f64ae43)), closes [/github.com/babel/babel/issues/4066#issuecomment-336705199](https://github.com//github.com/babel/babel/issues/4066/issues/issuecomment-336705199)
+* **standard:** get things in line with standard 11 ([6cf8e88](https://github.com/zkat/npx/commit/6cf8e88))
+
+
+### BREAKING CHANGES
+
+* **license:** This moves the code over from CC0-1.0 to the ISC license.
+
+
+
<a name="9.7.1"></a>
## [9.7.1](https://github.com/zkat/npx/compare/v9.7.0...v9.7.1) (2017-10-19)
diff --git a/deps/npm/node_modules/libnpx/LICENSE.md b/deps/npm/node_modules/libnpx/LICENSE.md
index c05cb09586..8d28acf866 100644
--- a/deps/npm/node_modules/libnpx/LICENSE.md
+++ b/deps/npm/node_modules/libnpx/LICENSE.md
@@ -1,3 +1,16 @@
-To the extent possible under law, maintainers for this project have waived all copyright and related or neighboring rights to this project.
+ISC License
-For more information on this waiver, see: https://creativecommons.org/publicdomain/zero/1.0/
+Copyright (c) npm, Inc.
+
+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 COPYRIGHT HOLDER DISCLAIMS
+ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER 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/README.md b/deps/npm/node_modules/libnpx/README.md
index 436bdd0240..130f1bc3fd 100644
--- a/deps/npm/node_modules/libnpx/README.md
+++ b/deps/npm/node_modules/libnpx/README.md
@@ -98,6 +98,12 @@ $ npx --node-arg=--inspect cowsay
Debugger listening on ws://127.0.0.1:9229/....
```
+### Specify a node version to run npm scripts (or anything else!)
+
+```
+npx -p node@8 npm run build
+```
+
## SHELL AUTO FALLBACK
You can configure `npx` to run as your default fallback command when you type something in the command line with an `@` but the command is not found. This includes installing packages that were not found in the local prefix either.
diff --git a/deps/npm/node_modules/libnpx/child.js b/deps/npm/node_modules/libnpx/child.js
index 1b7c4c6215..cabc715d5b 100644
--- a/deps/npm/node_modules/libnpx/child.js
+++ b/deps/npm/node_modules/libnpx/child.js
@@ -74,13 +74,13 @@ function exec (cmd, args, opts) {
module.exports.escapeArg = escapeArg
function escapeArg (str, asPath) {
return process.platform === 'win32' && asPath
- ? path.normalize(str)
- .split(/\\/)
- .map(s => s.match(/\s+/) ? `"${s}"` : s)
- .join('\\')
- : process.platform === 'win32'
- ? `"${str}"`
- : str.match(/[^-_.~/\w]/)
- ? `'${str.replace(/'/g, "'\"'\"'")}'`
- : str
+ ? path.normalize(str)
+ .split(/\\/)
+ .map(s => s.match(/\s+/) ? `"${s}"` : s)
+ .join('\\')
+ : process.platform === 'win32'
+ ? `"${str}"`
+ : str.match(/[^-_.~/\w]/)
+ ? `'${str.replace(/'/g, "'\"'\"'")}'`
+ : str
}
diff --git a/deps/npm/node_modules/libnpx/get-prefix.js b/deps/npm/node_modules/libnpx/get-prefix.js
index 71bedffc58..3fef7f7eb9 100644
--- a/deps/npm/node_modules/libnpx/get-prefix.js
+++ b/deps/npm/node_modules/libnpx/get-prefix.js
@@ -6,21 +6,22 @@ const path = require('path')
const statAsync = promisify(require('fs').stat)
module.exports = getPrefix
-function getPrefix (current, root) {
- if (!root) {
- const original = root = path.resolve(current)
- while (path.basename(root) === 'node_modules') {
- root = path.dirname(root)
- }
- if (original !== root) {
- return Promise.resolve(root)
- } else {
- return getPrefix(root, root)
- }
+function getPrefix (root) {
+ const original = root = path.resolve(root)
+ while (path.basename(root) === 'node_modules') {
+ root = path.dirname(root)
}
- if (isRootPath(current, process.platform)) {
+ if (original !== root) {
return Promise.resolve(root)
} else {
+ return Promise.resolve(getPrefixFromTree(root))
+ }
+}
+
+function getPrefixFromTree (current) {
+ if (isRootPath(current, process.platform)) {
+ return false
+ } else {
return Promise.all([
fileExists(path.join(current, 'package.json')),
fileExists(path.join(current, 'node_modules'))
@@ -30,8 +31,7 @@ function getPrefix (current, root) {
if (hasPkg || hasModules) {
return current
} else {
- const parent = path.dirname(current)
- return getPrefix(parent, root)
+ return getPrefixFromTree(path.dirname(current))
}
})
}
@@ -49,6 +49,6 @@ function fileExists (f) {
module.exports._isRootPath = isRootPath
function isRootPath (p, platform) {
return platform === 'win32'
- ? p.match(/^[a-z]+:[/\\]?$/i)
- : p === '/'
+ ? p.match(/^[a-z]+:[/\\]?$/i)
+ : p === '/'
}
diff --git a/deps/npm/node_modules/libnpx/index.js b/deps/npm/node_modules/libnpx/index.js
index 3033e9cd06..e65cd7207b 100644
--- a/deps/npm/node_modules/libnpx/index.js
+++ b/deps/npm/node_modules/libnpx/index.js
@@ -86,6 +86,9 @@ function npx (argv) {
if (process.platform === 'win32') {
bins = bins.filter(b => b !== 'etc' && b !== 'node_modules')
}
+ if (bins.length < 1) {
+ throw new Error(Y()`command not found: ${argv.command}`)
+ }
const cmd = new RegExp(`^${argv.command}(?:\\.cmd)?$`, 'i')
const matching = bins.find(b => b.match(cmd))
return path.resolve(results.bin, bins[matching] || bins[0])
@@ -116,11 +119,7 @@ function npx (argv) {
module.exports._localBinPath = localBinPath
function localBinPath (cwd) {
return require('./get-prefix.js')(cwd).then(prefix => {
- const pkgjson = path.join(prefix, 'package.json')
- return promisify(fs.stat)(pkgjson).then(
- () => path.join(prefix, 'node_modules', '.bin'),
- err => { if (err.code !== 'ENOENT') throw err }
- )
+ return prefix && path.join(prefix, 'node_modules', '.bin')
})
}
@@ -146,8 +145,8 @@ function ensurePackages (specs, opts) {
).then(cache => {
const prefix = path.join(cache, '_npx', process.pid.toString())
const bins = process.platform === 'win32'
- ? prefix
- : path.join(prefix, 'bin')
+ ? prefix
+ : path.join(prefix, 'bin')
const rimraf = require('rimraf')
process.on('exit', () => rimraf.sync(prefix))
return promisify(rimraf)(bins).then(() => {
@@ -224,8 +223,8 @@ function installPackages (specs, prefix, opts) {
if (npmPath) {
args.unshift(
process.platform === 'win32'
- ? child.escapeArg(opts.npm)
- : opts.npm
+ ? child.escapeArg(opts.npm)
+ : opts.npm
)
return process.argv[0]
} else {
@@ -355,7 +354,7 @@ function findNodeScript (existing, opts) {
return str.match(cmd) || str.match(mingw)
}).then(match => {
return match && path.join(path.dirname(existing), match[1])
- }).then(x => console.log(x) || x)
+ })
}
})
}
diff --git a/deps/npm/node_modules/libnpx/libnpx.1 b/deps/npm/node_modules/libnpx/libnpx.1
index e8049194bc..755b9ee459 100644
--- a/deps/npm/node_modules/libnpx/libnpx.1
+++ b/deps/npm/node_modules/libnpx/libnpx.1
@@ -1,4 +1,4 @@
-.TH "NPX" "1" "October 2017" "libnpx@9.7.0" "User Commands"
+.TH "NPX" "1" "March 2018" "libnpx@10.0.0" "User Commands"
.SH "NAME"
\fBnpx\fR \- execute npm package binaries
.SH SYNOPSIS
@@ -101,6 +101,13 @@ $ npx \-\-node\-arg=\-\-inspect cowsay
Debugger listening on ws://127\.0\.0\.1:9229/\.\.\.\.
.fi
.RE
+.SS Specify a node version to run npm scripts (or anything else!)
+.P
+.RS 2
+.nf
+npx \-p node@8 npm run build
+.fi
+.RE
.SH SHELL AUTO FALLBACK
.P
You can configure \fBnpx\fP to run as your default fallback command when you type something in the command line with an \fB@\fP but the command is not found\. This includes installing packages that were not found in the local prefix either\.
diff --git a/deps/npm/node_modules/libnpx/locales/ar.json b/deps/npm/node_modules/libnpx/locales/ar.json
deleted file mode 100644
index 8ca0fcc66e..0000000000
--- a/deps/npm/node_modules/libnpx/locales/ar.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "Execute binaries from npm packages.\n%s": ".npm الثنائية من حزم node تنفيذ ملفات \n %s ",
- "Package to be installed.": ".الحزمة التي سيتم تثبيتها",
- "Location of the npm cache.": ".npm موقع الذاكرة المخبأة ل",
- "Skip installation if a package is missing.": "تخطي التثبيت في حال وجود حزمة مفقودة.",
- "Path to user npmrc.": "مسار المستخدم إلى npmrc.",
- "Execute string as if inside `npm run-script`.": ".`npm run-script` نص الامر التنفيذي كما في",
- "Shell to execute the command with, if any.": "واجهة تنفيذ الأوامر المرغوب استخدامها في حال وجودها.",
- "Generate shell code to use npx as the \"command not found\" fallback.": ".npx الامرالمتولد لاستدعاء كحل بديل في حالة \"لم يتم العثور على الامر\" من قبل ",
- "Ignores existing binaries in $PATH, or in the local project. This forces npx to do a temporary install and use the latest version.": " .npx سيتم قسرياً التثبيت بشكل مؤقت للاصدار الاحدث من قبل .$PATH تجاهل الملفات التنفيذية الثنائية الحالية في المسار ",
- "npm binary to use for internal operations.": ".التنفيذي الثنائي الذي سيتم استعماله للعمليات الداخلية npm ملف",
- "For the full documentation, see the manual page for npx(1).": ".npx(1) للوصول للمستندات المساعدة الكاملة, ابحث في صفحة الدليل عن",
- "Unable to guess a binary name from %s. Please use --package.": ". --package الرجاء استعمال .%s لم يتمكن تخمين اسم التطبيق الثنائي من ",
- "\nERROR: You must supply a command.\n": "\n.خطأ : يتوجب على المستخدم ادخال امر\n",
- "Command failed: %s %s": "%s %s :فشل الامر ",
- "Install for %s failed with code %s": "%s بالكود %s تم فشل تثبيت",
- "%s not found. Trying with npx...": "...npx سيتم اعادة المحاولة باستعمال .%s لم يتم العثور على",
- "command not found: %s": "%s :لم يتم العثور على الأمر",
- "options": "خيارات",
- "command": "أمر",
- "version": "الإصدار",
- "command-arg": "بارامتر الأمر",
- "command-string": "نص الأمر",
- "shell": "واجهة تنفيذ الأوامر",
- "package": "الحزمة",
- "npx: installed %s in %ss": "%ss في %s تم تثبيت ",
- "Suppress output from npx itself. Subcommands will not be affected.": "الاوامر الفرعية لن تتاثر بالتعديل.npx إخفاءالخرج من",
- "Extra node argument when calling a node binary.": ".node البارامتر الاضافي عند استدعاء"
-}
diff --git a/deps/npm/node_modules/libnpx/locales/fr.json b/deps/npm/node_modules/libnpx/locales/fr.json
index a6ddf60e6f..949ba9bb8e 100644
--- a/deps/npm/node_modules/libnpx/locales/fr.json
+++ b/deps/npm/node_modules/libnpx/locales/fr.json
@@ -1,28 +1,28 @@
{
- "Execute binaries from npm packages.\n%s": "Exécutez des binaires à partir de paquets de npm.\n%s",
+ "Execute binaries from npm packages.\n%s": "Exécutez des binaires à partir de paquets npm.\n%s",
"Package to be installed.": "Paquet à installer.",
- "Location of the npm cache.": "Endroit où est situé le cache de npm.",
- "Skip installation if a package is missing.": "Sauter l'installation si un paquet est manquant.",
- "Path to user npmrc.": "Chemin du npmrc de l'utilisateur(-trice).",
+ "Location of the npm cache.": "Chemin où est situé le cache de npm.",
+ "Skip installation if a package is missing.": "Passer l'installation si un paquet est manquant.",
+ "Path to user npmrc.": "Chemin du fichier npmrc de l'utilisateur(-trice).",
"Execute string as if inside `npm run-script`.": "Exécuter la chaine de caractère comme avec `npm run-script`.",
- "Shell to execute the command with, if any.": "Shell a utiliser pour exécuter la commande, s'il y en a un.",
- "Generate shell code to use npx as the \"command not found\" fallback.": "Générer le code du shell pour utiliser npx comme solution de rechange à \"command not found\"",
- "Ignores existing binaries in $PATH, or in the local project. This forces npx to do a temporary install and use the latest version.": "Ignorer les binaires dans le $PATH ou dans le projet local. Cela force npm à faire une installation temporaire et utiliser la dernière version.",
+ "Shell to execute the command with, if any.": "Shell à utiliser pour exécuter la commande, s'il y en a un.",
+ "Generate shell code to use npx as the \"command not found\" fallback.": "Générer le code du shell pour utiliser npx comme solution de rechange à \"command not found\".",
+ "Ignores existing binaries in $PATH, or in the local project. This forces npx to do a temporary install and use the latest version.": "Ignorer les binaires dans le $PATH ou dans le projet local. Cela force npm à réaliser une installation temporaire et à utiliser la dernière version.",
"npm binary to use for internal operations.": "Binaire de npm à utiliser pour les opérations internes.",
- "For the full documentation, see the manual page for npx(1).": "Pour la documentation complète, regarder la page du manuel pour npx(1).",
+ "For the full documentation, see the manual page for npx(1).": "Pour la documentation complète, consultez la page du manuel pour npx(1).",
"Unable to guess a binary name from %s. Please use --package.": "Impossible de deviner le nom du binaire de %s, utilisez --package s'il vous plaît.",
- "\nERROR: You must supply a command.\n": "\nERROR: Vous devez fournir une commande.\n",
- "Command failed: %s %s": "La commande a échoué: %s %s",
+ "\nERROR: You must supply a command.\n": "\nERREUR : Vous devez fournir une commande.\n",
+ "Command failed: %s %s": "La commande a échoué : %s %s",
"Install for %s failed with code %s": "L'installation de %s a échoué avec le code %s",
"%s not found. Trying with npx...": "%s n'a pas été trouvé. Essai avec npx...",
- "command not found: %s": "Commande non trouvée: %s",
+ "command not found: %s": "Commande non trouvée : %s",
"options": "options",
"command": "commande",
"version": "version",
"command-arg": "arguments-de-la-commande",
- "command-string": "chaine-de-caractères-de-la-commande",
+ "command-string": "chaîne-de-caractères-de-la-commande",
"shell": "shell",
"package": "paquet",
- "npx: installed %s in %ss": "npx: %s installé(s) en %ss",
- "Suppress output from npx itself. Subcommands will not be affected.": "Supprimer les sorties générées par npx. Les sous-commandes ne seront pas affectées."
+ "npx: installed %s in %ss": "npx : %s installé(s) en %ss",
+ "Suppress output from npx itself. Subcommands will not be affected.": "Supprimer la sortie générée par npx. Les sous-commandes ne seront pas affectées."
}
diff --git a/deps/npm/node_modules/libnpx/locales/ko.json b/deps/npm/node_modules/libnpx/locales/ko.json
index 790537a29a..bd8fe1420f 100644
--- a/deps/npm/node_modules/libnpx/locales/ko.json
+++ b/deps/npm/node_modules/libnpx/locales/ko.json
@@ -1,6 +1,6 @@
{
"Execute binaries from npm packages.\n%s": "npm 패키지에서 바이너리를 실행합니다.\n%s",
- "Package to be installed.": "패키지가 설치되었습니다.",
+ "Package to be installed.": "설치할 패키지.",
"Location of the npm cache.": "npm 캐시의 위치.",
"Skip installation if a package is missing.": "패키지가 없으면 설치를 건너뜁니다.",
"Path to user npmrc.": "사용자 npmrc의 경로.",
@@ -14,7 +14,7 @@
"\nERROR: You must supply a command.\n": "\nERROR: 명령을 제공해야 합니다.\n",
"Command failed: %s %s": "명령이 실패했습니다: %s %s",
"Install for %s failed with code %s": "%s 설치가 %s 코드로 실패했습니다",
- "%s not found. Trying with npx...": "%s 을 찾을 수 없습니다. npx로 시도해 보세요...",
+ "%s not found. Trying with npx...": "%s 을 찾을 수 없습니다. npx로 시도합니다...",
"command not found: %s": "명령을 찾을 수 없습니다: %s",
"options": "옵션",
"command": "명령",
@@ -23,7 +23,7 @@
"command-string": "명령-문자열",
"shell": "쉘",
"package": "패키지",
- "npx: installed %s in %ss": "%ss 에 %s 를 설치했습니다",
+ "npx: installed %s in %ss": "npx: %s개의 패키지를 %s초만에 설치했습니다.",
"Suppress output from npx itself. Subcommands will not be affected.": "npx의 출력을 감춥니다. 하위 명령은 영향을 받지 않습니다.",
- "Extra node argument when calling a node binary.": "node 바이너리를 호출할 때 사용하는 추가 node 인자"
+ "Extra node argument when calling a node binary.": "node 바이너리를 호출할 때 사용하는 추가 node 인자."
}
diff --git a/deps/npm/node_modules/libnpx/locales/pt_BR.json b/deps/npm/node_modules/libnpx/locales/pt_BR.json
index d61f8f58f8..b44f4e0260 100644
--- a/deps/npm/node_modules/libnpx/locales/pt_BR.json
+++ b/deps/npm/node_modules/libnpx/locales/pt_BR.json
@@ -1,28 +1,28 @@
{
- "Execute binaries from npm packages.\n%s": "Execute binários de pacotes npm.\n%s",
- "Package to be installed.": "Pacote a ser instalado.",
- "Location of the npm cache.": "Localização da cache do npm.",
- "Skip installation if a package is missing.": "Pule a instalação se estiver faltando um pacote.",
- "Path to user npmrc.": "Caminho para o npmrc do usuário.",
- "Execute string as if inside `npm run-script`.": "Execute a string como se estivesse dentro de `npm run-script`.",
- "Shell to execute the command with, if any.": "Terminal para executar o comando, se houver.",
- "Generate shell code to use npx as the \"command not found\" fallback.": "Gere código de terminal para usar o npx quando o comando não existir (\"command not found\").",
- "Ignores existing binaries in $PATH, or in the local project. This forces npx to do a temporary install and use the latest version.": "Ignora binários existentes no $PATH ou no projeto atual. Isso obriga o npx a fazer uma instalação temporária e usar a última versão.",
- "npm binary to use for internal operations.": "Binário npm usado para operações internas.",
- "For the full documentation, see the manual page for npx(1).": "Para a documentação completa, veja a página do manual do npx(1).",
- "Unable to guess a binary name from %s. Please use --package.": "Não foi possível encontrar um binário a partir de %s. Por favor, use --package.",
- "\nERROR: You must supply a command.\n": "\nERRO: Você deve fornecer um comando.\n",
- "Command failed: %s %s": "Comando falhou: %s %s",
+ "Execute binaries from npm packages.\n%s": "Executa comandos de módulos npm.\n%s",
+ "Package to be installed.": "Pacote para ser instalado.",
+ "Location of the npm cache.": "Localização da cache npm.",
+ "Skip installation if a package is missing.": "Pular instalação se um pacote está faltando.",
+ "Path to user npmrc.": "Localização do npmrc do usuário.",
+ "Execute string as if inside `npm run-script`.": "Executa string como se estivesse dentro de `npm run-script`.",
+ "Shell to execute the command with, if any.": "Terminal para executar o comando, se tiver.",
+ "Generate shell code to use npx as the \"command not found\" fallback.": "Gera código de terminal para usar npx no lugar quando comando não existir (\"command not found\").",
+ "Ignores existing binaries in $PATH, or in the local project. This forces npx to do a temporary install and use the latest version.": "Ignora comandos no $PATH ou no projeto atual. Isto obriga npx a fazer uma instalação temporária e usar a última versão.",
+ "npm binary to use for internal operations.": "Comando npm usado para operações internas.",
+ "For the full documentation, see the manual page for npx(1).": "Para documentação completa, veja a página do manual npx(1).",
+ "Unable to guess a binary name from %s. Please use --package.": "Não foi possível advinhar o nome do comando usando %s. Por favor, use --package.",
+ "\nERROR: You must supply a command.\n": "\nERRO: Você deve suprir um comando.\n",
+ "Command failed: %s %s": "Comando fracassou: %s %s",
"Install for %s failed with code %s": "Instalação de %s falhou com código %s",
- "%s not found. Trying with npx...": "%s não encontrado. Tentando com npx...",
- "command not found: %s": "comando não encontrado: %s",
+ "%s not found. Trying with npx...": "%s não existe. Tentando com npx...",
+ "command not found: %s": "comando não existe: %s",
"options": "opções",
"command": "comando",
"version": "versão",
- "command-arg": "argumento-do-comando",
+ "command-arg": "argumento-de-comando",
"command-string": "string-de-comando",
"shell": "terminal",
"package": "pacote",
- "npx: installed %s in %ss": "npx: %s instalado em %ss",
- "Suppress output from npx itself. Subcommands will not be affected.": "Suprimir resultados de npx. Sub-comandos não serão afetados."
+ "npx: installed %s in %ss": "npx: instalou %s em %ss",
+ "Suppress output from npx itself. Subcommands will not be affected.": "Omitir resultado de npx. Sub-comandos não serão afetados."
}
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 2fcf56b902..1cfa04fa4f 100644
--- a/deps/npm/node_modules/libnpx/node_modules/dotenv/CHANGELOG.md
+++ b/deps/npm/node_modules/libnpx/node_modules/dotenv/CHANGELOG.md
@@ -4,6 +4,25 @@ 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
@@ -67,7 +86,8 @@ 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/v4.0.0...HEAD
+[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
[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 90836a34b7..4665fd3962 100644
--- a/deps/npm/node_modules/libnpx/node_modules/dotenv/README.md
+++ b/deps/npm/node_modules/libnpx/node_modules/dotenv/README.md
@@ -5,6 +5,7 @@
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)
@@ -27,7 +28,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
@@ -38,7 +39,7 @@ That's it.
`process.env` now has the keys and values you defined in your `.env` file.
```javascript
-var db = require('db')
+const db = require('db')
db.connect({
host: process.env.DB_HOST,
username: process.env.DB_USER,
@@ -48,8 +49,7 @@ db.connect({
### Preload
-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.
-
+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`.
```bash
$ node -r dotenv/config your_script.js
@@ -67,20 +67,31 @@ _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.
+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)
+```
+
You can additionally, pass options to `config`.
### Options
#### Path
-Default: `.env`
+Default: `path.resolve(process.cwd(), '.env')`
You can specify a custom path if your file containing environment variables is
named or located differently.
```js
-require('dotenv').config({path: '/custom/path/to/your/env/vars'})
+require('dotenv').config({path: '/full/custom/path/to/your/env/vars'})
```
#### Encoding
@@ -101,9 +112,9 @@ variables is available to use. It accepts a String or Buffer and will return
an Object with the parsed keys and values.
```js
-var dotenv = require('dotenv')
-var buf = new Buffer('BASIC=basic')
-var config = dotenv.parse(buf) // will return an object
+const dotenv = require('dotenv')
+const buf = new Buffer('BASIC=basic')
+const config = dotenv.parse(buf) // will return an object
console.log(typeof config, config) // object { BASIC : 'basic' }
```
@@ -123,6 +134,7 @@ 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
@@ -175,6 +187,40 @@ 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)
@@ -206,3 +252,6 @@ 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
new file mode 100644
index 0000000000..f55b8a4b6e
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/dotenv/appveyor.yml
@@ -0,0 +1,13 @@
+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 eb96e7fd56..1f0df92719 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,28 +1,29 @@
'use strict'
-var fs = require('fs')
+const fs = require('fs')
+const path = require('path')
/*
* Parses a string or buffer into an object
- * @param {String|Buffer} src - source to be parsed
- * @returns {Object}
+ * @param {(string|Buffer)} src - source to be parsed
+ * @returns {Object} keys and values from src
*/
function parse (src) {
- var obj = {}
+ const obj = {}
// convert Buffers before splitting into lines and processing
src.toString().split('\n').forEach(function (line) {
// matching "KEY' and 'VAL' in 'KEY=VAL'
- var keyValueArr = line.match(/^\s*([\w\.\-]+)\s*=\s*(.*)?\s*$/)
+ const keyValueArr = line.match(/^\s*([\w\.\-]+)\s*=\s*(.*)?\s*$/)
// matched?
if (keyValueArr != null) {
- var key = keyValueArr[1]
+ const key = keyValueArr[1]
// default undefined or missing values to empty string
- var value = keyValueArr[2] ? keyValueArr[2] : ''
+ let value = keyValueArr[2] || ''
// expand newlines in quoted values
- var len = value ? value.length : 0
+ const len = value ? value.length : 0
if (len > 0 && value.charAt(0) === '"' && value.charAt(len - 1) === '"') {
value = value.replace(/\\n/gm, '\n')
}
@@ -39,16 +40,18 @@ function parse (src) {
/*
* Main entry point into dotenv. Allows configuration before loading .env
- * @param {Object} options - valid options: path ('.env'), encoding ('utf8')
- * @returns {Boolean}
+ * @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
*/
function config (options) {
- var path = '.env'
- var encoding = 'utf8'
+ let dotenvPath = path.resolve(process.cwd(), '.env')
+ let encoding = 'utf8'
if (options) {
if (options.path) {
- path = options.path
+ dotenvPath = options.path
}
if (options.encoding) {
encoding = options.encoding
@@ -57,13 +60,15 @@ function config (options) {
try {
// specifying an encoding returns a string instead of a buffer
- var parsedObj = parse(fs.readFileSync(path, { encoding: encoding }))
+ const parsed = parse(fs.readFileSync(dotenvPath, { encoding }))
- Object.keys(parsedObj).forEach(function (key) {
- process.env[key] = process.env[key] || parsedObj[key]
+ Object.keys(parsed).forEach(function (key) {
+ if (!process.env.hasOwnProperty(key)) {
+ process.env[key] = parsed[key]
+ }
})
- return { parsed: parsedObj }
+ return { parsed }
} 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 19c25a8886..f1d99fc5fc 100644
--- a/deps/npm/node_modules/libnpx/node_modules/dotenv/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/dotenv/package.json
@@ -1,45 +1,41 @@
{
- "_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=",
+ "_from": "dotenv@^5.0.1",
+ "_id": "dotenv@5.0.1",
+ "_inBundle": false,
+ "_integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==",
"_location": "/libnpx/dotenv",
"_phantomChildren": {},
"_requested": {
- "type": "version",
+ "type": "range",
"registry": true,
- "raw": "dotenv@4.0.0",
+ "raw": "dotenv@^5.0.1",
"name": "dotenv",
"escapedName": "dotenv",
- "rawSpec": "4.0.0",
+ "rawSpec": "^5.0.1",
"saveSpec": null,
- "fetchSpec": "4.0.0"
+ "fetchSpec": "^5.0.1"
},
"_requiredBy": [
"/libnpx"
],
- "_resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz",
- "_spec": "4.0.0",
- "_where": "/Users/zkat/Documents/code/npx",
+ "_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",
"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": "11.1.0",
- "semver": "5.3.0",
+ "lab": "^14.3.2",
"should": "11.1.1",
"sinon": "1.17.6",
"standard": "8.4.0",
@@ -66,11 +62,12 @@
"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/* -r lcov | coveralls"
+ "test": "lab"
},
- "version": "4.0.0"
+ "version": "5.0.1"
}
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
deleted file mode 100644
index 05eeeb88c2..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-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
deleted file mode 100644
index d45032dc74..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/README.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# 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
deleted file mode 100644
index a61c057429..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/npa.js
+++ /dev/null
@@ -1,270 +0,0 @@
-'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
deleted file mode 100644
index 550a575a9f..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/npm-package-arg/package.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "_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
new file mode 100644
index 0000000000..c259076ad6
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/y18n/CHANGELOG.md
@@ -0,0 +1,21 @@
+# 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 9859458f20..826474f209 100644
--- a/deps/npm/node_modules/libnpx/node_modules/y18n/README.md
+++ b/deps/npm/node_modules/libnpx/node_modules/y18n/README.md
@@ -4,6 +4,7 @@
[![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.
@@ -23,6 +24,19 @@ 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
@@ -60,6 +74,10 @@ 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 91b159e342..d720681628 100644
--- a/deps/npm/node_modules/libnpx/node_modules/y18n/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/y18n/index.js
@@ -16,6 +16,9 @@ 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.
@@ -40,6 +43,19 @@ 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 78945dc782..e60020d7f5 100644
--- a/deps/npm/node_modules/libnpx/node_modules/y18n/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/y18n/package.json
@@ -1,33 +1,27 @@
{
- "_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=",
+ "_from": "y18n@^4.0.0",
+ "_id": "y18n@4.0.0",
+ "_inBundle": false,
+ "_integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
"_location": "/libnpx/y18n",
"_phantomChildren": {},
"_requested": {
- "type": "version",
+ "type": "range",
"registry": true,
- "raw": "y18n@3.2.1",
+ "raw": "y18n@^4.0.0",
"name": "y18n",
"escapedName": "y18n",
- "rawSpec": "3.2.1",
+ "rawSpec": "^4.0.0",
"saveSpec": null,
- "fetchSpec": "3.2.1"
+ "fetchSpec": "^4.0.0"
},
"_requiredBy": [
- "/libnpx",
- "/libnpx/yargs"
+ "/libnpx"
],
- "_resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "_spec": "3.2.1",
- "_where": "/Users/zkat/Documents/code/npx",
+ "_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",
"author": {
"name": "Ben Coe",
"email": "ben@npmjs.com"
@@ -35,14 +29,17 @@
"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",
+ "chai": "^4.0.1",
+ "coveralls": "^3.0.0",
+ "mocha": "^4.0.1",
+ "nyc": "^11.0.1",
"rimraf": "^2.5.0",
- "standard": "^5.4.1"
+ "standard": "^10.0.0-beta.0",
+ "standard-version": "^4.2.0"
},
"files": [
"index.js"
@@ -63,7 +60,8 @@
"scripts": {
"coverage": "nyc report --reporter=text-lcov | coveralls",
"pretest": "standard",
+ "release": "standard-version",
"test": "nyc mocha"
},
- "version": "3.2.1"
+ "version": "4.0.0"
}
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 95f4141253..0eaf2f33ed 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/CHANGELOG.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/CHANGELOG.md
@@ -2,6 +2,176 @@
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 20a18da2ca..d16b82d177 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/README.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/README.md
@@ -6,7 +6,9 @@
[![Windows Tests][windows-image]][windows-url]
[![js-standard-style][standard-image]][standard-url]
[![Conventional Commits][conventional-commits-image]][conventional-commits-url]
-[![Gitter][gitter-image]][gitter-url]
+[![Slack][slack-image]][slack-url]
+
+_Having problems? want to contribute? join our [community slack](http://devtoolscommunity.herokuapp.com)_.
> Yargs be a node.js library fer hearties tryin' ter parse optstrings.
@@ -53,12 +55,13 @@ Retreat from the xupptumblers!
```js
#!/usr/bin/env node
-const yargs = require('yargs') // eslint-disable-line
- .command('serve', 'start the server', (yargs) => {
- yargs.option('port', {
- describe: 'port to bind on',
- default: 5000
- })
+require('yargs') // eslint-disable-line
+ .command('serve [port]', 'start the server', (yargs) => {
+ yargs
+ .positional('port', {
+ describe: 'port to bind on',
+ default: 5000
+ })
}, (argv) => {
if (argv.verbose) console.info(`start server on :${argv.port}`)
serve(argv.port)
@@ -67,10 +70,11 @@ const yargs = 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)
@@ -99,5 +103,5 @@ const yargs = require('yargs') // eslint-disable-line
[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/
-[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
+[slack-image]: http://devtoolscommunity.herokuapp.com/badge.svg
+[slack-url]: http://devtoolscommunity.herokuapp.com
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 14445b834e..819c8ae83a 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 >> ~/.bashrc
-# or {{app_path}} completion >> ~/.bash_profile on OSX.
+# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc
+# or {{app_path}} {{completion_command}} >> ~/.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 37450cf7a6..dfed54bc51 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/index.js
@@ -1,3 +1,4 @@
+'use strict'
// classic singleton yargs API, to use yargs
// without running as a singleton do:
// require('yargs/yargs')(process.argv.slice(2))
@@ -21,7 +22,7 @@ function Argv (processArgs, cwd) {
to get a parsed version of process.argv.
*/
function singletonify (inst) {
- Object.keys(inst).forEach(function (key) {
+ Object.keys(inst).forEach((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 5fc69fab16..3005848e3c 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,13 +1,14 @@
-var fs = require('fs')
-var path = require('path')
-var assign = require('./assign')
-var YError = require('./yerror')
-var previouslyVisitedConfigs = []
+'use strict'
+const fs = require('fs')
+const path = require('path')
+const YError = require('./yerror')
+
+let previouslyVisitedConfigs = []
function checkForCircularExtends (path) {
if (previouslyVisitedConfigs.indexOf(path) > -1) {
- throw new YError("Circular extended configurations: '" + path + "'.")
+ throw new YError(`Circular extended configurations: '${path}'.`)
}
}
@@ -16,12 +17,12 @@ function getPathToDefaultConfig (cwd, pathToExtend) {
}
function applyExtends (config, cwd) {
- var defaultConfig = {}
+ let defaultConfig = {}
if (config.hasOwnProperty('extends')) {
if (typeof config.extends !== 'string') return defaultConfig
- var isPath = /\.json$/.test(config.extends)
- var pathToDefault = null
+ const isPath = /\.json$/.test(config.extends)
+ let pathToDefault = null
if (!isPath) {
try {
pathToDefault = require.resolve(config.extends)
@@ -46,7 +47,7 @@ function applyExtends (config, cwd) {
previouslyVisitedConfigs = []
- return assign(defaultConfig, config)
+ return Object.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 d3e72fce57..ed1d598713 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,20 +1,21 @@
+'use strict'
const command = require('./command')()
const YError = require('./yerror')
const positionName = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth']
-module.exports = function (expected, callerArguments, length) {
+module.exports = function argsert (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.
- var position = 0
- var parsed = {demanded: [], optional: []}
+ let position = 0
+ let 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)
@@ -22,33 +23,27 @@ module.exports = function (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(function (demanded) {
+ parsed.demanded.forEach((demanded) => {
const arg = args.shift()
const observedType = guessType(arg)
- const matchingTypes = demanded.cmd.filter(function (type) {
- return type === observedType || type === '*'
- })
+ const matchingTypes = demanded.cmd.filter(type => type === observedType || type === '*')
if (matchingTypes.length === 0) argumentTypeError(observedType, demanded.cmd, position, false)
position += 1
})
- parsed.optional.forEach(function (optional) {
+ parsed.optional.forEach((optional) => {
if (args.length === 0) return
const arg = args.shift()
const observedType = guessType(arg)
- const matchingTypes = optional.cmd.filter(function (type) {
- return type === observedType || type === '*'
- })
+ const matchingTypes = optional.cmd.filter(type => type === observedType || type === '*')
if (matchingTypes.length === 0) argumentTypeError(observedType, optional.cmd, position, true)
position += 1
})
@@ -67,6 +62,5 @@ 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
deleted file mode 100644
index 7d5a3cef24..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/lib/assign.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// 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 3567cf9532..65322dbbdb 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,67 +1,57 @@
-const path = require('path')
+'use strict'
+
const inspect = require('util').inspect
-const camelCase = require('camelcase')
+const path = require('path')
+const Parser = require('yargs-parser')
-const DEFAULT_MARKER = '*'
+const DEFAULT_MARKER = /(^\*)|(^\$0)/
// handles parsing positional arguments,
// and populating argv with said positional
// arguments.
-module.exports = function (yargs, usage, validation) {
+module.exports = function command (yargs, usage, validation) {
const self = {}
-
- var handlers = {}
- var aliasMap = {}
- var defaultCommand
- self.addHandler = function (cmd, description, builder, handler) {
- var aliases = []
- handler = handler || function () {}
-
+ let handlers = {}
+ let aliasMap = {}
+ let defaultCommand
+ self.addHandler = function addHandler (cmd, description, builder, handler, middlewares) {
+ let aliases = []
+ handler = handler || (() => {})
+ middlewares = middlewares || []
if (Array.isArray(cmd)) {
aliases = cmd.slice(1)
cmd = cmd[0]
} else if (typeof cmd === 'object') {
- var command = (Array.isArray(cmd.command) || typeof cmd.command === 'string') ? cmd.command : moduleName(cmd)
+ let 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)
+ self.addHandler(command, extractDesc(cmd), cmd.builder, cmd.handler, cmd.middlewares)
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)
+ self.addHandler([cmd].concat(aliases), description, builder.builder, builder.handler, builder.middlewares)
return
}
// parse positionals out of cmd string
- var parsedCommand = self.parseCommand(cmd)
+ const parsedCommand = self.parseCommand(cmd)
// remove positional args from aliases only
- aliases = aliases.map(function (alias) {
- return self.parseCommand(alias).cmd
- })
+ aliases = aliases.map(alias => self.parseCommand(alias).cmd)
// check for default and filter out '*''
- var isDefault = false
- var parsedAliases = [parsedCommand.cmd].concat(aliases).filter(function (c) {
- if (c === DEFAULT_MARKER) {
+ let isDefault = false
+ const parsedAliases = [parsedCommand.cmd].concat(aliases).filter((c) => {
+ if (DEFAULT_MARKER.test(c)) {
isDefault = true
return false
}
return true
})
- // 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
- }
+ // standardize on $0 for default command.
+ if (parsedAliases.length === 0 && isDefault) parsedAliases.push('$0')
// shift cmd and aliases after filtering out '*'
if (isDefault) {
@@ -71,7 +61,7 @@ module.exports = function (yargs, usage, validation) {
}
// populate aliasMap
- aliases.forEach(function (alias) {
+ aliases.forEach((alias) => {
aliasMap[alias] = parsedCommand.cmd
})
@@ -81,8 +71,10 @@ module.exports = function (yargs, usage, validation) {
handlers[parsedCommand.cmd] = {
original: cmd,
- handler: handler,
+ description: description,
+ handler,
builder: builder || {},
+ middlewares: middlewares || [],
demanded: parsedCommand.demanded,
optional: parsedCommand.optional
}
@@ -90,16 +82,16 @@ module.exports = function (yargs, usage, validation) {
if (isDefault) defaultCommand = handlers[parsedCommand.cmd]
}
- self.addDirectory = function (dir, context, req, callerFile, opts) {
+ self.addDirectory = function addDirectory (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 : function (o) { return o }
+ const parentVisit = typeof opts.visit === 'function' ? opts.visit : o => o
// call addHandler via visitor function
- opts.visit = function (obj, joined, filename) {
+ opts.visit = function visit (obj, joined, filename) {
const visited = parentVisit(obj, joined, filename)
// allow consumer to skip modules with their own visitor
if (visited) {
@@ -119,7 +111,7 @@ module.exports = function (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)
}
@@ -129,66 +121,62 @@ module.exports = function (yargs, usage, validation) {
}
function extractDesc (obj) {
- for (var keys = ['describe', 'description', 'desc'], i = 0, l = keys.length, test; i < l; i++) {
+ for (let 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 (cmd) {
- var extraSpacesStrippedCommand = cmd.replace(/\s{2,}/g, ' ')
- var splitCommand = extraSpacesStrippedCommand.split(/\s+(?![^[]*]|[^<]*>)/)
- var bregex = /\.*[\][<>]/g
- var parsedCommand = {
+ self.parseCommand = function parseCommand (cmd) {
+ const extraSpacesStrippedCommand = cmd.replace(/\s{2,}/g, ' ')
+ const splitCommand = extraSpacesStrippedCommand.split(/\s+(?![^[]*]|[^<]*>)/)
+ const bregex = /\.*[\][<>]/g
+ const parsedCommand = {
cmd: (splitCommand.shift()).replace(bregex, ''),
demanded: [],
optional: []
}
- splitCommand.forEach(function (cmd, i) {
- var variadic = false
+ splitCommand.forEach((cmd, i) => {
+ let 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 = function () {
- return Object.keys(handlers).concat(Object.keys(aliasMap))
- }
+ self.getCommands = () => Object.keys(handlers).concat(Object.keys(aliasMap))
- self.getCommandHandlers = function () {
- return handlers
- }
+ self.getCommandHandlers = () => handlers
- self.hasDefaultCommand = function () {
- return !!defaultCommand
- }
+ self.hasDefaultCommand = () => !!defaultCommand
- 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()
+ 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()
// what does yargs look like after the buidler is run?
- var innerArgv = parsed.argv
- var innerYargs = null
- var positionalMap = {}
-
- if (command) currentContext.commands.push(command)
+ let innerArgv = parsed.argv
+ let innerYargs = null
+ let positionalMap = {}
+ if (command) {
+ currentContext.commands.push(command)
+ currentContext.fullCommands.push(commandHandler.original)
+ }
if (typeof commandHandler.builder === 'function') {
// a function can be provided, which builds
// up a yargs chain and possibly returns it.
@@ -198,8 +186,11 @@ module.exports = function (yargs, usage, validation) {
// original command string as usage() for consistent behavior with
// options object below.
if (yargs.parsed === false) {
- if (typeof yargs.getUsageInstance().getUsage() === 'undefined') {
- yargs.usage('$0 ' + (parentCommands.length ? parentCommands.join(' ') + ' ' : '') + commandHandler.original)
+ if (shouldUpdateUsage(yargs)) {
+ yargs.getUsageInstance().usage(
+ usageFromParentCommandsCommandHandler(parentCommands, commandHandler),
+ commandHandler.description
+ )
}
innerArgv = innerYargs ? innerYargs._parseArgs(null, null, true, commandIndex) : yargs._parseArgs(null, null, true, commandIndex)
} else {
@@ -212,8 +203,13 @@ module.exports = function (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)
- innerYargs.usage('$0 ' + (parentCommands.length ? parentCommands.join(' ') + ' ' : '') + commandHandler.original)
- Object.keys(commandHandler.builder).forEach(function (key) {
+ if (shouldUpdateUsage(innerYargs)) {
+ innerYargs.getUsageInstance().usage(
+ usageFromParentCommandsCommandHandler(parentCommands, commandHandler),
+ commandHandler.description
+ )
+ }
+ Object.keys(commandHandler.builder).forEach((key) => {
innerYargs.option(key, commandHandler.builder[key])
})
innerArgv = innerYargs._parseArgs(null, null, true, commandIndex)
@@ -230,84 +226,178 @@ module.exports = function (yargs, usage, validation) {
if (commandHandler.handler && !yargs._hasOutput()) {
yargs._setHasOutput()
- commandHandler.handler(innerArgv)
+ 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)
+ )
+ }
}
- if (command) currentContext.commands.pop()
+ if (command) {
+ currentContext.commands.pop()
+ currentContext.fullCommands.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
- var demanded = commandHandler.demanded.slice(0)
- var optional = commandHandler.optional.slice(0)
- var positionalMap = {}
+ const demanded = commandHandler.demanded.slice(0)
+ const optional = commandHandler.optional.slice(0)
+ const positionalMap = {}
validation.positionalCount(demanded.length, argv._.length)
while (demanded.length) {
- var demand = demanded.shift()
- populatePositional(demand, argv, yargs, positionalMap)
+ const demand = demanded.shift()
+ populatePositional(demand, argv, positionalMap)
}
while (optional.length) {
- var maybe = optional.shift()
- populatePositional(maybe, argv, yargs, positionalMap)
+ const maybe = optional.shift()
+ populatePositional(maybe, argv, positionalMap)
}
argv._ = context.commands.concat(argv._)
+
+ postProcessPositionals(argv, positionalMap, self.cmdToParseOptions(commandHandler.original))
+
return positionalMap
}
- // 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)
+ 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())]
}
}
- // 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)
- }
+ // 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]
+ }
+ })
}
}
- 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]
+ self.cmdToParseOptions = function (cmdString) {
+ const parseOptions = {
+ array: [],
+ default: {},
+ alias: {},
+ demand: {}
}
+
+ 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 = function () {
+ self.reset = () => {
handlers = {}
aliasMap = {}
defaultCommand = undefined
@@ -318,14 +408,14 @@ module.exports = function (yargs, usage, validation) {
// the state of commands such that
// we can apply .parse() multiple times
// with the same yargs instance.
- var frozen
- self.freeze = function () {
+ let frozen
+ self.freeze = () => {
frozen = {}
frozen.handlers = handlers
frozen.aliasMap = aliasMap
frozen.defaultCommand = defaultCommand
}
- self.unfreeze = function () {
+ self.unfreeze = () => {
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 5cd9a18a03..ad6969a2d9 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,16 +1,17 @@
+'use strict'
const fs = require('fs')
const path = require('path')
// add bash completions to your
// yargs-powered applications.
-module.exports = function (yargs, usage, command) {
+module.exports = function completion (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 (args, done) {
+ self.getCompletion = function getCompletion (args, done) {
const completions = []
const current = args.length ? args[args.length - 1] : ''
const argv = yargs.parse(args, true)
@@ -20,14 +21,14 @@ module.exports = function (yargs, usage, command) {
// to completion().
if (completionFunction) {
if (completionFunction.length < 3) {
- var result = completionFunction(current, argv)
+ const result = completionFunction(current, argv)
// promise based completion function.
if (typeof result.then === 'function') {
- return result.then(function (list) {
- process.nextTick(function () { done(list) })
- }).catch(function (err) {
- process.nextTick(function () { throw err })
+ return result.then((list) => {
+ process.nextTick(() => { done(list) })
+ }).catch((err) => {
+ process.nextTick(() => { throw err })
})
}
@@ -35,14 +36,14 @@ module.exports = function (yargs, usage, command) {
return done(result)
} else {
// asynchronous completion function
- return completionFunction(current, argv, function (completions) {
+ return completionFunction(current, argv, (completions) => {
done(completions)
})
}
}
- var handlers = command.getCommandHandlers()
- for (var i = 0, ii = args.length; i < ii; ++i) {
+ const handlers = command.getCommandHandlers()
+ for (let 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') {
@@ -54,22 +55,21 @@ module.exports = function (yargs, usage, command) {
}
if (!current.match(/^-/)) {
- usage.getCommands().forEach(function (command) {
- if (args.indexOf(command[0]) === -1) {
- completions.push(command[0])
+ usage.getCommands().forEach((usageCommand) => {
+ const commandName = command.parseCommand(usageCommand[0]).cmd
+ if (args.indexOf(commandName) === -1) {
+ completions.push(commandName)
}
})
}
if (current.match(/^-/)) {
- Object.keys(yargs.getOptions().key).forEach(function (key) {
+ Object.keys(yargs.getOptions().key).forEach((key) => {
// If the key and its aliases aren't in 'args', add the key to 'completions'
- var keyAndAliases = [key].concat(aliases[key] || [])
- var notInArgs = keyAndAliases.every(function (val) {
- return args.indexOf('--' + val) === -1
- })
+ const keyAndAliases = [key].concat(aliases[key] || [])
+ const notInArgs = keyAndAliases.every(val => args.indexOf(`--${val}`) === -1)
if (notInArgs) {
- completions.push('--' + key)
+ completions.push(`--${key}`)
}
})
}
@@ -78,25 +78,26 @@ module.exports = function (yargs, usage, command) {
}
// generate the completion script to add to your .bashrc.
- self.generateCompletionScript = function ($0) {
- var script = fs.readFileSync(
+ self.generateCompletionScript = function generateCompletionScript ($0, cmd) {
+ let script = fs.readFileSync(
path.resolve(__dirname, '../completion.sh.hbs'),
'utf-8'
)
- var name = path.basename($0)
+ const 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.
- var completionFunction = null
- self.registerFunction = function (fn) {
+ let completionFunction = null
+ self.registerFunction = (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 6ec216f59d..f32b0c2771 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 (a, b) {
+module.exports = function levenshtein (a, b) {
if (a.length === 0) return b.length
if (b.length === 0) return a.length
- var matrix = []
+ const matrix = []
// increment along the first column of each row
- var i
+ let i
for (i = 0; i <= b.length; i++) {
matrix[i] = [i]
}
// increment each column in the first row
- var j
+ let 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 42cb9961ee..c344ac58ca 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,7 +1,8 @@
-module.exports = function (original, filter) {
+'use strict'
+module.exports = function objFilter (original, filter) {
const obj = {}
- filter = filter || function (k, v) { return true }
- Object.keys(original || {}).forEach(function (key) {
+ filter = filter || ((k, v) => true)
+ Object.keys(original || {}).forEach((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 43f71225c3..bd0906a89d 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,23 +1,25 @@
+'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 (yargs, y18n) {
+module.exports = function usage (yargs, y18n) {
const __ = y18n.__
const self = {}
// methods for ouputting/building failure message.
- var fails = []
- self.failFn = function (f) {
+ const fails = []
+ self.failFn = function failFn (f) {
fails.push(f)
}
- var failMessage = null
- var showHelpOnFail = true
- self.showHelpOnFail = function (enabled, message) {
+ let failMessage = null
+ let showHelpOnFail = true
+ self.showHelpOnFail = function showHelpOnFailFn (enabled, message) {
if (typeof enabled === 'string') {
message = enabled
enabled = true
@@ -29,12 +31,12 @@ module.exports = function (yargs, y18n) {
return self
}
- var failureOutput = false
- self.fail = function (msg, err) {
+ let failureOutput = false
+ self.fail = function fail (msg, err) {
const logger = yargs._getLoggerInstance()
if (fails.length) {
- for (var i = fails.length - 1; i >= 0; --i) {
+ for (let i = fails.length - 1; i >= 0; --i) {
fails[i](msg, err, self)
}
} else {
@@ -44,9 +46,9 @@ module.exports = function (yargs, y18n) {
if (!failureOutput) {
failureOutput = true
if (showHelpOnFail) yargs.showHelp('error')
- if (msg) logger.error(msg)
+ if (msg || err) logger.error(msg || err)
if (failMessage) {
- if (msg) logger.error('')
+ if (msg || err) logger.error('')
logger.error(failMessage)
}
}
@@ -63,56 +65,67 @@ module.exports = function (yargs, y18n) {
}
// methods for ouputting/building help (usage) message.
- var usage
- self.usage = function (msg) {
- usage = msg
+ 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
}
- self.getUsage = function () {
- return usage
+ self.getUsageDisabled = () => {
+ return usageDisabled
+ }
+
+ self.getPositionalGroupName = () => {
+ return __('Positionals:')
}
- var examples = []
- self.example = function (cmd, description) {
+ let examples = []
+ self.example = (cmd, description) => {
examples.push([cmd, description || ''])
}
- var commands = []
- self.command = function (cmd, description, isDefault, aliases) {
+ let commands = []
+ self.command = function command (cmd, description, isDefault, aliases) {
// the last default wins, so cancel out any previously set default
if (isDefault) {
- commands = commands.map(function (cmdArray) {
+ commands = commands.map((cmdArray) => {
cmdArray[2] = false
return cmdArray
})
}
commands.push([cmd, description || '', isDefault, aliases])
}
- self.getCommands = function () {
- return commands
- }
+ self.getCommands = () => commands
- var descriptions = {}
- self.describe = function (key, desc) {
+ let descriptions = {}
+ self.describe = function describe (key, desc) {
if (typeof key === 'object') {
- Object.keys(key).forEach(function (k) {
+ Object.keys(key).forEach((k) => {
self.describe(k, key[k])
})
} else {
descriptions[key] = desc
}
}
- self.getDescriptions = function () {
- return descriptions
- }
+ self.getDescriptions = () => descriptions
- var epilog
- self.epilog = function (msg) {
+ let epilog
+ self.epilog = (msg) => {
epilog = msg
}
- var wrapSet = false
- var wrap
- self.wrap = function (cols) {
+ let wrapSet = false
+ let wrap
+ self.wrap = (cols) => {
wrapSet = true
wrap = cols
}
@@ -126,41 +139,57 @@ module.exports = function (yargs, y18n) {
return wrap
}
- var deferY18nLookupPrefix = '__yargsString__:'
- self.deferY18nLookup = function (str) {
- return deferY18nLookupPrefix + str
- }
+ const deferY18nLookupPrefix = '__yargsString__:'
+ self.deferY18nLookup = str => deferY18nLookupPrefix + str
- var defaultGroup = 'Options:'
- self.help = function () {
+ const defaultGroup = 'Options:'
+ self.help = function help () {
normalizeAliases()
// handle old demanded API
- var demandedOptions = yargs.getDemandedOptions()
- var demandedCommands = yargs.getDemandedCommands()
- var groups = yargs.getGroups()
- var options = yargs.getOptions()
- var keys = Object.keys(
+ 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(
Object.keys(descriptions)
.concat(Object.keys(demandedOptions))
.concat(Object.keys(demandedCommands))
.concat(Object.keys(options.default))
- .reduce(function (acc, key) {
+ .reduce((acc, key) => {
if (key !== '_') acc[key] = true
return acc
}, {})
)
- var theWrap = getWrap()
- var ui = require('cliui')({
+ const theWrap = getWrap()
+ const ui = require('cliui')({
width: theWrap,
wrap: !!theWrap
})
// the usage string.
- if (usage) {
- var u = usage.replace(/\$0/g, yargs.$0)
- ui.div(u + '\n')
+ 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}`)
+ }
}
// your application's commands, i.e., non-option
@@ -168,15 +197,23 @@ module.exports = function (yargs, y18n) {
if (commands.length) {
ui.div(__('Commands:'))
- commands.forEach(function (command) {
+ 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.
ui.span(
- {text: command[0], padding: [0, 2, 0, 2], width: maxWidth(commands, theWrap) + 4},
+ {
+ text: commandString,
+ padding: [0, 2, 0, 2],
+ width: maxWidth(commands, theWrap, `${base$0}${parentCommands}`) + 4
+ },
{text: command[1]}
)
- var hints = []
- if (command[2]) hints.push('[' + __('default:').slice(0, -1) + ']') // TODO hacking around i18n here
+ const 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'})
@@ -190,14 +227,10 @@ module.exports = function (yargs, y18n) {
// perform some cleanup on the keys array, making it
// only include top-level keys not their aliases.
- var aliasKeys = (Object.keys(options.alias) || [])
+ const aliasKeys = (Object.keys(options.alias) || [])
.concat(Object.keys(yargs.parsed.newAliases) || [])
- keys = keys.filter(function (key) {
- return !yargs.parsed.newAliases[key] && aliasKeys.every(function (alias) {
- return (options.alias[alias] || []).indexOf(key) === -1
- })
- })
+ keys = keys.filter(key => !yargs.parsed.newAliases[key] && aliasKeys.every(alias => (options.alias[alias] || []).indexOf(key) === -1))
// populate 'Options:' group with any keys that have not
// explicitly had a group set.
@@ -205,51 +238,54 @@ module.exports = function (yargs, y18n) {
addUngroupedKeys(keys, options.alias, groups)
// display 'Options:' table along with any custom tables:
- Object.keys(groups).forEach(function (groupName) {
+ Object.keys(groups).forEach((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'.
- var normalizedKeys = groups[groupName].map(function (key) {
+ const normalizedKeys = groups[groupName].map((key) => {
if (~aliasKeys.indexOf(key)) return key
- for (var i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== undefined; i++) {
+ for (let 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.
- var switches = normalizedKeys.reduce(function (acc, key) {
+ const switches = normalizedKeys.reduce((acc, key) => {
acc[key] = [ key ].concat(options.alias[key] || [])
- .map(function (sw) {
- return (sw.length > 1 ? '--' : '-') + sw
+ .map(sw => {
+ // for the special positional group don't
+ // add '--' or '-' prefix.
+ if (groupName === self.getPositionalGroupName()) return sw
+ else return (sw.length > 1 ? '--' : '-') + sw
})
.join(', ')
return acc
}, {})
- normalizedKeys.forEach(function (key) {
- var kswitch = switches[key]
- var desc = descriptions[key] || ''
- var type = null
+ normalizedKeys.forEach((key) => {
+ const kswitch = switches[key]
+ let desc = descriptions[key] || ''
+ let 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')}]`
- var extra = [
+ const 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(' ')
@@ -269,11 +305,11 @@ module.exports = function (yargs, y18n) {
if (examples.length) {
ui.div(__('Examples:'))
- examples.forEach(function (example) {
- example[0] = example[0].replace(/\$0/g, yargs.$0)
+ examples.forEach((example) => {
+ example[0] = example[0].replace(/\$0/g, base$0)
})
- examples.forEach(function (example) {
+ examples.forEach((example) => {
if (example[1] === '') {
ui.div(
{
@@ -299,8 +335,8 @@ module.exports = function (yargs, y18n) {
// the usage string.
if (epilog) {
- var e = epilog.replace(/\$0/g, yargs.$0)
- ui.div(e + '\n')
+ const e = epilog.replace(/\$0/g, base$0)
+ ui.div(`${e}\n`)
}
return ui.toString()
@@ -308,19 +344,20 @@ module.exports = function (yargs, y18n) {
// return the maximum width of a string
// in the left-hand column of a table.
- function maxWidth (table, theWrap) {
- var width = 0
+ function maxWidth (table, theWrap, modifier) {
+ let width = 0
// table might be of the form [leftColumn],
// or {key: leftColumn}
if (!Array.isArray(table)) {
- table = Object.keys(table).map(function (key) {
- return [table[key]]
- })
+ table = Object.keys(table).map(key => [table[key]])
}
- table.forEach(function (v) {
- width = Math.max(stringWidth(v[0]), width)
+ table.forEach((v) => {
+ width = Math.max(
+ stringWidth(modifier ? `${modifier} ${v[0]}` : v[0]),
+ width
+ )
})
// if we've enabled 'wrap' we should limit
@@ -334,11 +371,11 @@ module.exports = function (yargs, y18n) {
// are copied to the keys being aliased.
function normalizeAliases () {
// handle old demanded API
- var demandedOptions = yargs.getDemandedOptions()
- var options = yargs.getOptions()
+ const demandedOptions = yargs.getDemandedOptions()
+ const options = yargs.getOptions()
- ;(Object.keys(options.alias) || []).forEach(function (key) {
- options.alias[key].forEach(function (alias) {
+ ;(Object.keys(options.alias) || []).forEach((key) => {
+ options.alias[key].forEach((alias) => {
// copy descriptions.
if (descriptions[alias]) self.describe(key, descriptions[alias])
// copy demanded.
@@ -357,43 +394,41 @@ module.exports = function (yargs, y18n) {
// given a set of keys, place any keys that are
// ungrouped under the 'Options:' grouping.
function addUngroupedKeys (keys, aliases, groups) {
- var groupedKeys = []
- var toCheck = null
- Object.keys(groups).forEach(function (group) {
+ let groupedKeys = []
+ let toCheck = null
+ Object.keys(groups).forEach((group) => {
groupedKeys = groupedKeys.concat(groups[group])
})
- keys.forEach(function (key) {
+ keys.forEach((key) => {
toCheck = [key].concat(aliases[key])
- if (!toCheck.some(function (k) {
- return groupedKeys.indexOf(k) !== -1
- })) {
+ if (!toCheck.some(k => groupedKeys.indexOf(k) !== -1)) {
groups[defaultGroup].push(key)
}
})
return groupedKeys
}
- self.showHelp = function (level) {
+ self.showHelp = (level) => {
const logger = yargs._getLoggerInstance()
if (!level) level = 'error'
- var emit = typeof level === 'function' ? level : logger[level]
+ const emit = typeof level === 'function' ? level : logger[level]
emit(self.help())
}
- self.functionDescription = function (fn) {
- var description = fn.name ? require('decamelize')(fn.name, '-') : __('generated-value')
+ self.functionDescription = (fn) => {
+ const description = fn.name ? require('decamelize')(fn.name, '-') : __('generated-value')
return ['(', description, ')'].join('')
}
- self.stringifiedValues = function (values, separator) {
- var string = ''
- var sep = separator || ', '
- var array = [].concat(values)
+ self.stringifiedValues = function stringifiedValues (values, separator) {
+ let string = ''
+ const sep = separator || ', '
+ const array = [].concat(values)
if (!values || !array.length) return string
- array.forEach(function (value) {
+ array.forEach((value) => {
if (string.length) string += sep
string += JSON.stringify(value)
})
@@ -404,7 +439,7 @@ module.exports = function (yargs, y18n) {
// format the default-value-string displayed in
// the right-hand column.
function defaultString (value, defaultDescription) {
- var string = '[' + __('default:') + ' '
+ let string = `[${__('default:')} `
if (value === undefined && !defaultDescription) return null
@@ -413,7 +448,7 @@ module.exports = function (yargs, y18n) {
} else {
switch (typeof value) {
case 'string':
- string += JSON.stringify(value)
+ string += `"${value}"`
break
case 'object':
string += JSON.stringify(value)
@@ -423,12 +458,12 @@ module.exports = function (yargs, y18n) {
}
}
- return string + ']'
+ return `${string}]`
}
// guess the width of the console window, max-width 80.
function windowWidth () {
- var maxWidth = 80
+ const maxWidth = 80
if (typeof process === 'object' && process.stdout && process.stdout.columns) {
return Math.min(maxWidth, process.stdout.columns)
} else {
@@ -437,47 +472,47 @@ module.exports = function (yargs, y18n) {
}
// logic for displaying application version.
- var version = null
- self.version = function (ver) {
+ let version = null
+ self.version = (ver) => {
version = ver
}
- self.showVersion = function () {
+ self.showVersion = () => {
const logger = yargs._getLoggerInstance()
- if (typeof version === 'function') logger.log(version())
- else logger.log(version)
+ logger.log(version)
}
- self.reset = function (localLookup) {
+ self.reset = function reset (localLookup) {
// do not reset wrap here
// do not reset fails here
failMessage = null
failureOutput = false
- usage = undefined
+ usages = []
+ usageDisabled = false
epilog = undefined
examples = []
commands = []
- descriptions = objFilter(descriptions, function (k, v) {
- return !localLookup[k]
- })
+ descriptions = objFilter(descriptions, (k, v) => !localLookup[k])
return self
}
- var frozen
- self.freeze = function () {
+ let frozen
+ self.freeze = function freeze () {
frozen = {}
frozen.failMessage = failMessage
frozen.failureOutput = failureOutput
- frozen.usage = usage
+ frozen.usages = usages
+ frozen.usageDisabled = usageDisabled
frozen.epilog = epilog
frozen.examples = examples
frozen.commands = commands
frozen.descriptions = descriptions
}
- self.unfreeze = function () {
+ self.unfreeze = function unfreeze () {
failMessage = frozen.failMessage
failureOutput = frozen.failureOutput
- usage = frozen.usage
+ usages = frozen.usages
+ usageDisabled = frozen.usageDisabled
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 2f9ff8e6cf..f4655b4fdc 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,16 +1,18 @@
+'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 (yargs, usage, y18n) {
+module.exports = function validation (yargs, usage, y18n) {
const __ = y18n.__
const __n = y18n.__n
const self = {}
// validate appropriate # of non-option
// arguments were provided, i.e., '_'.
- self.nonOptionCount = function (argv) {
+ self.nonOptionCount = function nonOptionCount (argv) {
const demandedCommands = yargs.getDemandedCommands()
// don't count currently executing commands
const _s = argv._.length - yargs.getContext().commands.length
@@ -44,7 +46,7 @@ module.exports = function (yargs, usage, y18n) {
// validate the appropriate # of <required>
// positional arguments were provided:
- self.positionalCount = function (required, observed) {
+ self.positionalCount = function positionalCount (required, observed) {
if (observed < required) {
usage.fail(
__('Not enough non-option arguments: got %s, need at least %s', observed, required)
@@ -52,44 +54,12 @@ module.exports = function (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 (argv) {
+ self.requiredArguments = function requiredArguments (argv) {
const demandedOptions = yargs.getDemandedOptions()
- var missing = null
+ let missing = null
- Object.keys(demandedOptions).forEach(function (key) {
+ Object.keys(demandedOptions).forEach((key) => {
if (!argv.hasOwnProperty(key) || typeof argv[key] === 'undefined') {
missing = missing || {}
missing[key] = demandedOptions[key]
@@ -98,14 +68,14 @@ module.exports = function (yargs, usage, y18n) {
if (missing) {
const customMsgs = []
- Object.keys(missing).forEach(function (key) {
+ Object.keys(missing).forEach((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',
@@ -117,33 +87,23 @@ module.exports = function (yargs, usage, y18n) {
}
// check for unknown arguments (strict-mode).
- self.unknownArguments = function (argv, aliases, positionalMap) {
- const aliasLookup = {}
- const descriptions = usage.getDescriptions()
- const demandedOptions = yargs.getDemandedOptions()
+ self.unknownArguments = function unknownArguments (argv, aliases, positionalMap) {
const commandKeys = yargs.getCommandInstance().getCommands()
const unknown = []
const currentContext = yargs.getContext()
- Object.keys(aliases).forEach(function (key) {
- aliases[key].forEach(function (alias) {
- aliasLookup[alias] = key
- })
- })
-
- Object.keys(argv).forEach(function (key) {
+ Object.keys(argv).forEach((key) => {
if (specialKeys.indexOf(key) === -1 &&
- !descriptions.hasOwnProperty(key) &&
- !demandedOptions.hasOwnProperty(key) &&
!positionalMap.hasOwnProperty(key) &&
!yargs._getParseContext().hasOwnProperty(key) &&
- !aliasLookup.hasOwnProperty(key)) {
+ !aliases.hasOwnProperty(key)
+ ) {
unknown.push(key)
}
})
if (commandKeys.length > 0) {
- argv._.slice(currentContext.commands.length).forEach(function (key) {
+ argv._.slice(currentContext.commands.length).forEach((key) => {
if (commandKeys.indexOf(key) === -1) {
unknown.push(key)
}
@@ -161,18 +121,19 @@ module.exports = function (yargs, usage, y18n) {
}
// validate arguments limited to enumerated choices
- self.limitedChoices = function (argv) {
+ self.limitedChoices = function limitedChoices (argv) {
const options = yargs.getOptions()
const invalid = {}
if (!Object.keys(options.choices).length) return
- Object.keys(argv).forEach(function (key) {
+ Object.keys(argv).forEach((key) => {
if (specialKeys.indexOf(key) === -1 &&
options.choices.hasOwnProperty(key)) {
- [].concat(argv[key]).forEach(function (value) {
+ [].concat(argv[key]).forEach((value) => {
// TODO case-insensitive configurability
- if (options.choices[key].indexOf(value) === -1) {
+ if (options.choices[key].indexOf(value) === -1 &&
+ value !== undefined) {
invalid[key] = (invalid[key] || []).concat(value)
}
})
@@ -183,31 +144,31 @@ module.exports = function (yargs, usage, y18n) {
if (!invalidKeys.length) return
- var msg = __('Invalid values:')
- invalidKeys.forEach(function (key) {
- msg += '\n ' + __(
+ let msg = __('Invalid values:')
+ invalidKeys.forEach((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.
- var checks = []
- self.check = function (f, global) {
+ let checks = []
+ self.check = function check (f, global) {
checks.push({
func: f,
- global: global
+ global
})
}
- self.customChecks = function (argv, aliases) {
- for (var i = 0, f; (f = checks[i]) !== undefined; i++) {
- var func = f.func
- var result = null
+ self.customChecks = function customChecks (argv, aliases) {
+ for (let i = 0, f; (f = checks[i]) !== undefined; i++) {
+ const func = f.func
+ let result = null
try {
result = func(argv, aliases)
} catch (err) {
@@ -224,107 +185,129 @@ module.exports = function (yargs, usage, y18n) {
}
// check implications, argument foo implies => argument bar.
- var implied = {}
- self.implies = function (key, value) {
+ let implied = {}
+ self.implies = function implies (key, value) {
+ argsert('<string|object> [array|number|string]', [key, value], arguments.length)
+
if (typeof key === 'object') {
- Object.keys(key).forEach(function (k) {
+ Object.keys(key).forEach((k) => {
self.implies(k, key[k])
})
} else {
yargs.global(key)
- implied[key] = value
+ if (!implied[key]) {
+ implied[key] = []
+ }
+ if (Array.isArray(value)) {
+ value.forEach((i) => self.implies(key, i))
+ } else {
+ implied[key].push(value)
+ }
}
}
- self.getImplied = function () {
+ self.getImplied = function getImplied () {
return implied
}
- self.implications = function (argv) {
+ self.implications = function implications (argv) {
const implyFail = []
- Object.keys(implied).forEach(function (key) {
- var num
+ Object.keys(implied).forEach((key) => {
const origKey = 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
+ ;(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]
+ }
- 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]
- }
+ num = Number(value)
+ value = isNaN(num) ? value : num
- if (key && !value) {
- implyFail.push(origKey)
- }
+ 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 (implyFail.length) {
- var msg = __('Implications failed:') + '\n'
+ let msg = `${__('Implications failed:')}\n`
- implyFail.forEach(function (key) {
- msg += (' ' + key + ' -> ' + implied[key])
+ implyFail.forEach((value) => {
+ msg += (value)
})
usage.fail(msg)
}
}
- var conflicting = {}
- self.conflicts = function (key, value) {
+ let conflicting = {}
+ self.conflicts = function conflicts (key, value) {
+ argsert('<string|object> [array|string]', [key, value], arguments.length)
+
if (typeof key === 'object') {
- Object.keys(key).forEach(function (k) {
+ Object.keys(key).forEach((k) => {
self.conflicts(k, key[k])
})
} else {
yargs.global(key)
- conflicting[key] = value
+ if (!conflicting[key]) {
+ conflicting[key] = []
+ }
+ if (Array.isArray(value)) {
+ value.forEach((i) => self.conflicts(key, i))
+ } else {
+ conflicting[key].push(value)
+ }
}
}
- 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.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.recommendCommands = function (cmd, potentialCommands) {
+ self.recommendCommands = function recommendCommands (cmd, potentialCommands) {
const distance = require('./levenshtein')
const threshold = 3 // if it takes more than three edits, let's move on.
- potentialCommands = potentialCommands.sort(function (a, b) { return b.length - a.length })
+ potentialCommands = potentialCommands.sort((a, b) => b.length - a.length)
- var recommended = null
- var bestDistance = Infinity
- for (var i = 0, candidate; (candidate = potentialCommands[i]) !== undefined; i++) {
- var d = distance(cmd, candidate)
+ let recommended = null
+ let bestDistance = Infinity
+ for (let i = 0, candidate; (candidate = potentialCommands[i]) !== undefined; i++) {
+ const d = distance(cmd, candidate)
if (d <= threshold && d < bestDistance) {
bestDistance = d
recommended = candidate
@@ -333,27 +316,21 @@ module.exports = function (yargs, usage, y18n) {
if (recommended) usage.fail(__('Did you mean %s?', recommended))
}
- 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
- })
+ 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)
return self
}
- var frozen
- self.freeze = function () {
+ let frozen
+ self.freeze = function freeze () {
frozen = {}
frozen.implied = implied
frozen.checks = checks
frozen.conflicting = conflicting
}
- self.unfreeze = function () {
+ self.unfreeze = function unfreeze () {
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 ad96a8776e..53375a0f75 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,3 +1,4 @@
+'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 4a618e7054..fc65c2a0d8 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,5 +36,7 @@
"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"
+ "Arguments %s and %s are mutually exclusive" : "Arguments %s and %s are mutually exclusive",
+ "Positionals:": "Positionals:",
+ "command": "command"
}
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 2a9826d96f..2cd677acb4 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,5 +35,8 @@
"Path to JSON config file": "JSON config फाइल का पथ",
"Show help": "सहायता दिखाएँ",
"Show version number": "Version संख्या दिखाएँ",
- "Did you mean %s?": "क्या आपका मतलब है %s?"
+ "Did you mean %s?": "क्या आपका मतलब है %s?",
+ "Arguments %s and %s are mutually exclusive" : "तर्क %s और %s परस्पर अनन्य हैं",
+ "Positionals:": "स्थानीय:",
+ "command": "आदेश"
}
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 a06e8608d0..87e441cd80 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,5 +36,8 @@
"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?"
+ "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"
}
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 45a64a8123..64ee6d3fb9 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,5 +35,8 @@
"Path to JSON config file": "JSONの設定ファイルまでのpath",
"Show help": "ヘルプを表示",
"Show version number": "バージョンを表示",
- "Did you mean %s?": "もしかして %s?"
+ "Did you mean %s?": "もしかして %s?",
+ "Arguments %s and %s are mutually exclusive" : "引数 %s と %s は同時に指定できません",
+ "Positionals:": "位置:",
+ "command": "コマンド"
}
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 e714984798..0eaeab2f81 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,5 +35,8 @@
"Path to JSON config file": "JSON 설정파일 경로",
"Show help": "도움말을 보여줍니다",
"Show version number": "버전 넘버를 보여줍니다",
- "Did you mean %s?": "찾고계신게 %s입니까?"
+ "Did you mean %s?": "찾고계신게 %s입니까?",
+ "Arguments %s and %s are mutually exclusive" : "%s와 %s 인자는 같이 사용될 수 없습니다",
+ "Positionals:": "위치:",
+ "command": "명령"
}
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 fc029dbebd..1d144724ec 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,5 +35,8 @@
"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?"
+ "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"
}
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
new file mode 100644
index 0000000000..5e03c505ab
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/locales/nn.json
@@ -0,0 +1,39 @@
+{
+ "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 1c834f693b..6926a45480 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,5 +35,8 @@
"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?"
+ "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"
}
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 60e5ffa24d..904cb66eb4 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": "boolean",
+ "boolean": "booleano",
"count": "contagem",
"string": "string",
"number": "número",
@@ -36,5 +36,7 @@
"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"
+ "Arguments %s and %s are mutually exclusive" : "Argumentos %s e %s são mutualmente exclusivos",
+ "Positionals:": "Posicionais:",
+ "command": "comando"
}
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 000060b91a..9b06c52a8d 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,5 +35,7 @@
"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?"
+ "Did you mean %s?": "Bunu mu demek istediniz: %s?",
+ "Positionals:": "Sıralılar:",
+ "command": "komut"
}
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 b25c7b9d20..03a3d94f0c 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,5 +33,9 @@
"Invalid JSON config file: %s": "无效的 JSON 配置文件:%s",
"Path to JSON config file": "JSON 配置文件的路径",
"Show help": "显示帮助信息",
- "Show version number": "显示版本号"
+ "Show version number": "显示版本号",
+ "Did you mean %s?": "是指 %s?",
+ "Arguments %s and %s are mutually exclusive" : "选项 %s 和 %s 是互斥的",
+ "Positionals:": "位置:",
+ "command": "命令"
}
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 ef6a35ef41..69c08f4874 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,6 +2,32 @@
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 028392c263..3ad21198c5 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,9 +10,7 @@ easily create complex multi-column command-line-interfaces.
## Example
```js
-var ui = require('cliui')({
- width: 80
-})
+var ui = require('cliui')()
ui.div('Usage: $0 [command] [options]')
@@ -88,6 +86,7 @@ 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})
@@ -99,6 +98,7 @@ 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 e501e78fd7..55abdee9f3 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,6 +282,10 @@ 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 = ''
@@ -310,7 +314,7 @@ module.exports = function (opts) {
opts = opts || {}
return new UI({
- width: (opts || {}).width || 80,
+ width: (opts || {}).width || getWindowWidth() || 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/string-width/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/index.js
index b9bec62440..b9bec62440 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/string-width/node_modules/code-point-at/index.js
+++ b/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
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/license b/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
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/license
+++ b/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
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/node_modules/string-width/node_modules/code-point-at/package.json
index 75b7ae6b15..d70c2e5d40 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/string-width/code-point-at",
+ "_location": "/libnpx/yargs/cliui/wrap-ansi/string-width/code-point-at",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^1.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/cliui/string-width"
+ "/libnpx/yargs/cliui/wrap-ansi/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/string-width",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/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/string-width/node_modules/code-point-at/readme.md b/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
index 4c97730e69..4c97730e69 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/string-width/node_modules/is-fullwidth-code-point/index.js b/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
index a7d3e3855f..a7d3e3855f 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/string-width/node_modules/code-point-at/license b/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
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/node_modules/code-point-at/license
+++ b/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
diff --git a/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 b/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
index 79be4b9cb8..79be4b9cb8 100644
--- a/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
+++ b/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
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/string-width/node_modules/is-fullwidth-code-point/license
+++ b/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
diff --git a/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 b/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
index 9f82a47ba7..9544dd9c60 100644
--- a/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
+++ b/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
@@ -3,7 +3,7 @@
"_id": "number-is-nan@1.0.1",
"_inBundle": false,
"_integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "_location": "/libnpx/yargs/cliui/string-width/is-fullwidth-code-point/number-is-nan",
+ "_location": "/libnpx/yargs/cliui/wrap-ansi/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/string-width/is-fullwidth-code-point"
+ "/libnpx/yargs/cliui/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/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/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/wrap-ansi/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/string-width/node_modules/is-fullwidth-code-point/package.json b/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
index 32957f6932..2ff2d7cd65 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/string-width/is-fullwidth-code-point",
+ "_location": "/libnpx/yargs/cliui/wrap-ansi/string-width/is-fullwidth-code-point",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^1.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/cliui/string-width"
+ "/libnpx/yargs/cliui/wrap-ansi/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/string-width",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/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/string-width/node_modules/is-fullwidth-code-point/readme.md b/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
index 4936464b1b..4936464b1b 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/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/wrap-ansi/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/string-width/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/package.json
index 277962789d..82a2f4129a 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/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/string-width",
+ "_location": "/libnpx/yargs/cliui/wrap-ansi/string-width",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,14 +16,13 @@
"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",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi",
"bin": null,
"bundleDependencies": false,
"dependencies": {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/readme.md
index 1ab42c9358..1ab42c9358 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/string-width/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/string-width/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/index.js
index 099480fbfc..099480fbfc 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/index.js
diff --git a/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 b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/license
index 654d0bfe94..654d0bfe94 100644
--- a/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
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/index.js b/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
index b9574ed7e8..b9574ed7e8 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/index.js
+++ b/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
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/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/strip-ansi/node_modules/ansi-regex/package.json b/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
index 6e890f17e8..d593e439c8 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/package.json
+++ b/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
@@ -3,7 +3,7 @@
"_id": "ansi-regex@2.1.1",
"_inBundle": false,
"_integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "_location": "/libnpx/yargs/cliui/strip-ansi/ansi-regex",
+ "_location": "/libnpx/yargs/cliui/wrap-ansi/strip-ansi/ansi-regex",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^2.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/cliui/strip-ansi"
+ "/libnpx/yargs/cliui/wrap-ansi/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/strip-ansi",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/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/strip-ansi/node_modules/ansi-regex/readme.md b/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
index 6a928edf0f..6a928edf0f 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
+++ b/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
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/package.json
index 5e00cb0e20..b6ef35987d 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/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/strip-ansi",
+ "_location": "/libnpx/yargs/cliui/wrap-ansi/strip-ansi",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,15 +16,14 @@
"fetchSpec": "^3.0.1"
},
"_requiredBy": [
- "/libnpx/yargs/cliui",
- "/libnpx/yargs/cliui/string-width",
- "/libnpx/yargs/cliui/wrap-ansi"
+ "/libnpx/yargs/cliui/wrap-ansi",
+ "/libnpx/yargs/cliui/wrap-ansi/string-width"
],
"_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",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi",
"bin": null,
"bundleDependencies": false,
"dependencies": {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md
index cb7d9ff7ee..cb7d9ff7ee 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/wrap-ansi/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 05ae56ab79..ecd8d86e45 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,49 +1,99 @@
{
- "_from": "cliui@^3.2.0",
- "_id": "cliui@3.2.0",
+ "_from": "cliui@^4.0.0",
+ "_id": "cliui@4.0.0",
"_inBundle": false,
- "_integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "_integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==",
"_location": "/libnpx/yargs/cliui",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "cliui@^3.2.0",
+ "raw": "cliui@^4.0.0",
"name": "cliui",
"escapedName": "cliui",
- "rawSpec": "^3.2.0",
+ "rawSpec": "^4.0.0",
"saveSpec": null,
- "fetchSpec": "^3.2.0"
+ "fetchSpec": "^4.0.0"
},
"_requiredBy": [
"/libnpx/yargs"
],
- "_resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "_shasum": "120601537a916d29940f934da3b48d585a39213d",
- "_shrinkwrap": null,
- "_spec": "cliui@^3.2.0",
+ "_resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz",
+ "_shasum": "743d4650e05f36d1ed2575b59638d87322bfbbcc",
+ "_spec": "cliui@^4.0.0",
"_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs",
- "bin": null,
+ "author": {
+ "name": "Ben Coe",
+ "email": "ben@npmjs.com"
+ },
+ "bugs": {
+ "url": "https://github.com/yargs/cliui/issues"
+ },
"bundleDependencies": false,
+ "config": {
+ "blanket": {
+ "pattern": [
+ "index.js"
+ ],
+ "data-cover-never": [
+ "node_modules",
+ "test"
+ ],
+ "output-reporter": "spec"
+ }
+ },
"dependencies": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0",
"wrap-ansi": "^2.0.0"
},
"deprecated": false,
- "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)",
+ "description": "easily create complex multi-column command-line-interfaces",
"devDependencies": {
"chai": "^3.5.0",
"chalk": "^1.1.2",
"coveralls": "^2.11.8",
- "mocha": "^2.4.5",
- "nyc": "^6.4.0",
- "standard": "^6.0.8",
- "standard-version": "^2.1.2"
+ "mocha": "^3.0.0",
+ "nyc": "^10.0.0",
+ "standard": "^8.0.0",
+ "standard-version": "^3.0.0"
},
+ "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",
- "optionalDependencies": {},
- "peerDependencies": {},
- "scripts": {},
- "version": "3.2.0"
+ "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"
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/index.js
index 939c9553dc..939c9553dc 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/cliui/node_modules/strip-ansi/node_modules/ansi-regex/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/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/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/node_modules/find-up/node_modules/locate-path/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/index.js
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/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/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/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/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/read-pkg-up/node_modules/find-up/license b/deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/node_modules/find-up/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/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/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/index.js
index bfafd2688a..8767db1ca7 100644
--- 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/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/index.js
@@ -1,4 +1,6 @@
'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');
@@ -19,7 +21,7 @@ module.exports = concurrency => {
const run = () => {
activeCount++;
- fn().then(
+ pTry(() => fn()).then(
val => {
resolve(val);
next();
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
new file mode 100644
index 0000000000..e7af2f7710
--- /dev/null
+++ 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
@@ -0,0 +1,9 @@
+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
new file mode 100644
index 0000000000..efa2f74338
--- /dev/null
+++ 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
@@ -0,0 +1,4 @@
+'use strict';
+module.exports = cb => new Promise(resolve => {
+ resolve(cb());
+});
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/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/node_modules/p-try/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/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/node_modules/p-try/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/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
new file mode 100644
index 0000000000..61bfc00b1e
--- /dev/null
+++ 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
@@ -0,0 +1,75 @@
+{
+ "_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
new file mode 100644
index 0000000000..8e5fdddbe1
--- /dev/null
+++ 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
@@ -0,0 +1,38 @@
+# 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
new file mode 100644
index 0000000000..556cb595ae
--- /dev/null
+++ 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
@@ -0,0 +1,81 @@
+{
+ "_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/read-pkg-up/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/find-up/node_modules/locate-path/node_modules/p-locate/node_modules/p-limit/readme.md
index c7a10deb68..90129925c1 100644
--- 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/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/readme.md
@@ -6,7 +6,7 @@
## Install
```
-$ npm install --save p-limit
+$ npm install p-limit
```
@@ -23,10 +23,11 @@ const input = [
limit(() => doSomething())
];
-// only one promise is run at once
-Promise.all(input).then(result => {
+(async () => {
+ // Only one promise is run at once
+ const result = await Promise.all(input);
console.log(result);
-});
+})();
```
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/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/p-locate/package.json
index bf1139823b..15d59d4d3d 100644
--- 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/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/find-up/locate-path/p-locate",
+ "_location": "/libnpx/yargs/find-up/locate-path/p-locate",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^2.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/read-pkg-up/find-up/locate-path"
+ "/libnpx/yargs/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/read-pkg-up/node_modules/find-up/node_modules/locate-path",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/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/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/read-pkg-up/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/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/read-pkg-up/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/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/read-pkg-up/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/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/p-locate/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/license
index 654d0bfe94..654d0bfe94 100644
--- 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/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/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/path-exists/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/node_modules/path-exists/package.json
index a7e85b7ff0..b14eb2ca0b 100644
--- 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/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/find-up/locate-path/path-exists",
+ "_location": "/libnpx/yargs/find-up/locate-path/path-exists",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^3.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/read-pkg-up/find-up/locate-path"
+ "/libnpx/yargs/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/read-pkg-up/node_modules/find-up/node_modules/locate-path",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/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/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/read-pkg-up/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/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/read-pkg-up/node_modules/find-up/node_modules/locate-path/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/package.json
index a9531e7a63..02f922120c 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/find-up/locate-path",
+ "_location": "/libnpx/yargs/find-up/locate-path",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,13 +16,13 @@
"fetchSpec": "^2.0.0"
},
"_requiredBy": [
- "/libnpx/yargs/read-pkg-up/find-up"
+ "/libnpx/yargs/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/read-pkg-up/node_modules/find-up",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up",
"bin": null,
"bundleDependencies": false,
"dependencies": {
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/node_modules/locate-path/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/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/read-pkg-up/node_modules/find-up/node_modules/locate-path/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/node_modules/locate-path/readme.md
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/package.json
index 8cd3948e88..56ebb1cb86 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/package.json
@@ -1,28 +1,28 @@
{
- "_from": "find-up@^2.0.0",
+ "_from": "find-up@^2.1.0",
"_id": "find-up@2.1.0",
"_inBundle": false,
"_integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "_location": "/libnpx/yargs/read-pkg-up/find-up",
+ "_location": "/libnpx/yargs/find-up",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "find-up@^2.0.0",
+ "raw": "find-up@^2.1.0",
"name": "find-up",
"escapedName": "find-up",
- "rawSpec": "^2.0.0",
+ "rawSpec": "^2.1.0",
"saveSpec": null,
- "fetchSpec": "^2.0.0"
+ "fetchSpec": "^2.1.0"
},
"_requiredBy": [
- "/libnpx/yargs/read-pkg-up"
+ "/libnpx/yargs"
],
"_resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"_shasum": "45d1b7e506c717ddd482775a2b77920a3c0c57a7",
"_shrinkwrap": null,
- "_spec": "find-up@^2.0.0",
- "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up",
+ "_spec": "find-up@^2.1.0",
+ "_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/read-pkg-up/node_modules/find-up/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/readme.md
index b5ad694552..b5ad694552 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/find-up/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/find-up/readme.md
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 9bf1763673..08e69d3d88 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,4 +4,6 @@ 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 654d0bfe94..e7af2f7710 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,21 +1,9 @@
-The MIT License (MIT)
+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:
+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 f3099fa5f1..1009f6fb1c 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.1.0",
+ "_id": "mimic-fn@1.2.0",
"_inBundle": false,
- "_integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
+ "_integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"_location": "/libnpx/yargs/os-locale/mem/mimic-fn",
"_phantomChildren": {},
"_requested": {
@@ -18,16 +18,21 @@
"_requiredBy": [
"/libnpx/yargs/os-locale/mem"
],
- "_resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
- "_shasum": "e667783d92e89dbd342818b5230b9d62a672ad18",
- "_shrinkwrap": null,
+ "_resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "_shasum": "820c86a39334640e99516928bd03fca88057d022",
"_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",
- "bin": null,
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/mimic-fn/issues"
+ },
"bundleDependencies": false,
- "dependencies": {},
"deprecated": false,
- "description": "> Make a function mimic another one",
+ "description": "Make a function mimic another one",
"devDependencies": {
"ava": "*",
"xo": "*"
@@ -35,9 +40,33 @@
"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",
- "optionalDependencies": {},
- "peerDependencies": {},
- "scripts": {},
- "version": "1.1.0"
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/mimic-fn.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/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 672c79eb3a..e575734389 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 --save mimic-fn
+$ npm install mimic-fn
```
@@ -43,6 +43,8 @@ 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
deleted file mode 100644
index 26079760f3..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/index.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'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/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
deleted file mode 100644
index afb27e6ab9..0000000000
--- 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
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "_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/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
deleted file mode 100644
index 654d0bfe94..0000000000
--- 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
+++ /dev/null
@@ -1,21 +0,0 @@
-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/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/index.js
deleted file mode 100644
index dff948b691..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-'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
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/license
+++ /dev/null
@@ -1,21 +0,0 @@
-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
deleted file mode 100644
index b2767e3023..0000000000
--- 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
+++ /dev/null
@@ -1,11 +0,0 @@
-'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
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/license
+++ /dev/null
@@ -1,21 +0,0 @@
-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
deleted file mode 100644
index 04add8ae27..0000000000
--- 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
+++ /dev/null
@@ -1,35 +0,0 @@
-'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
deleted file mode 100644
index 654d0bfe94..0000000000
--- 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
+++ /dev/null
@@ -1,21 +0,0 @@
-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
deleted file mode 100644
index 0a5f461a69..0000000000
--- 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
+++ /dev/null
@@ -1,21 +0,0 @@
-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
deleted file mode 100644
index 97f744af89..0000000000
--- 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
+++ /dev/null
@@ -1,144 +0,0 @@
-# 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
deleted file mode 100644
index 43641b08ff..0000000000
--- 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
+++ /dev/null
@@ -1,133 +0,0 @@
-'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
deleted file mode 100644
index 4c017f8ad2..0000000000
--- 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
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index 19fbec32b8..0000000000
--- 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
+++ /dev/null
@@ -1,4 +0,0 @@
-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
deleted file mode 100644
index 8d5eacb3ef..0000000000
--- 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
+++ /dev/null
@@ -1,5 +0,0 @@
-/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
deleted file mode 100644
index 5a0424350e..0000000000
--- 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
+++ /dev/null
@@ -1,17 +0,0 @@
-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
deleted file mode 100644
index 0a5f461a69..0000000000
--- 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
+++ /dev/null
@@ -1,21 +0,0 @@
-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
deleted file mode 100644
index 7d360724c0..0000000000
--- 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
+++ /dev/null
@@ -1,16 +0,0 @@
-# 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
deleted file mode 100644
index 5b971868b6..0000000000
--- 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
+++ /dev/null
@@ -1,10 +0,0 @@
-'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
deleted file mode 100644
index f191d1f3fa..0000000000
--- 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
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "_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
deleted file mode 100644
index 12985c9fee..0000000000
--- 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
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "_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
deleted file mode 100644
index a5ce0ea9db..0000000000
--- 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
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "_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
deleted file mode 100644
index ca96e60a69..0000000000
--- 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
+++ /dev/null
@@ -1,83 +0,0 @@
-# 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
deleted file mode 100644
index 2b78949378..0000000000
--- 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
+++ /dev/null
@@ -1,751 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 1a29143c2d..0000000000
--- 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
+++ /dev/null
@@ -1,71 +0,0 @@
-
-// 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
deleted file mode 100644
index 7c720ebee8..0000000000
--- 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
+++ /dev/null
@@ -1,68 +0,0 @@
-'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
deleted file mode 100644
index 654d0bfe94..0000000000
--- 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
+++ /dev/null
@@ -1,21 +0,0 @@
-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
deleted file mode 100644
index 70d5b2ff2f..0000000000
--- 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
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "_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
deleted file mode 100644
index 97aeeb628b..0000000000
--- 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
+++ /dev/null
@@ -1,119 +0,0 @@
-# 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
deleted file mode 100644
index b00feb9a44..0000000000
--- 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
+++ /dev/null
@@ -1,14 +0,0 @@
-'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
deleted file mode 100644
index 654d0bfe94..0000000000
--- 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
+++ /dev/null
@@ -1,21 +0,0 @@
-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
deleted file mode 100644
index 408a730a02..0000000000
--- 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
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "_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
deleted file mode 100644
index 812a98071f..0000000000
--- 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
+++ /dev/null
@@ -1,36 +0,0 @@
-# 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
deleted file mode 100644
index c09c606cec..0000000000
--- 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
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "_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
deleted file mode 100644
index 3319c266c6..0000000000
--- 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
+++ /dev/null
@@ -1,45 +0,0 @@
-# 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
deleted file mode 100644
index 4ac9dd9679..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/index.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'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
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/license
+++ /dev/null
@@ -1,21 +0,0 @@
-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
deleted file mode 100644
index 7c720ebee8..0000000000
--- 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
+++ /dev/null
@@ -1,68 +0,0 @@
-'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
deleted file mode 100644
index 654d0bfe94..0000000000
--- 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
+++ /dev/null
@@ -1,21 +0,0 @@
-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
deleted file mode 100644
index 3c234828b3..0000000000
--- 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
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "_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
deleted file mode 100644
index 97aeeb628b..0000000000
--- 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
+++ /dev/null
@@ -1,119 +0,0 @@
-# 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
deleted file mode 100644
index 4aa3ee1c79..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "_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
deleted file mode 100644
index b1ea61fe92..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/path-type/readme.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# 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
deleted file mode 100644
index 994de8c34a..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/package.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "_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
deleted file mode 100644
index 5796008b8e..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/node_modules/read-pkg/readme.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# 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
deleted file mode 100644
index 1958e74e2e..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/package.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "_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
deleted file mode 100644
index ba18780f90..0000000000
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/read-pkg-up/readme.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# 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
new file mode 100644
index 0000000000..3c157f0b9d
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/LICENSE
@@ -0,0 +1,13 @@
+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
new file mode 100644
index 0000000000..9859458f20
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/README.md
@@ -0,0 +1,91 @@
+# 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
new file mode 100644
index 0000000000..91b159e342
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/index.js
@@ -0,0 +1,172 @@
+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
new file mode 100644
index 0000000000..1a098fb5ed
--- /dev/null
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/y18n/package.json
@@ -0,0 +1,65 @@
+{
+ "_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 3ad3df821e..f75cfa0ec3 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,6 +2,83 @@
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 d1817fccc4..6d6d0d4c9c 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,6 +212,14 @@ 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`
@@ -250,6 +258,25 @@ 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 73154066f7..d39414b737 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,9 +16,11 @@ 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
+ 'populate--': false,
+ 'combine-arrays': false
}, opts.configuration)
var defaults = opts.default || {}
var configObjects = opts.configObjects || []
@@ -45,6 +47,7 @@ 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
@@ -141,8 +144,8 @@ function parse (args, opts) {
} else {
setArg(m[1], m[2])
}
- } else if (arg.match(/^--no-.+/) && configuration['boolean-negation']) {
- key = arg.match(/^--no-(.+)/)[1]
+ } else if (arg.match(negatedBoolean) && configuration['boolean-negation']) {
+ key = arg.match(negatedBoolean)[1]
setArg(key, false)
// -- seperated by space.
@@ -268,9 +271,7 @@ function parse (args, opts) {
}
}
} else {
- argv._.push(
- flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)
- )
+ argv._.push(maybeCoerceNumber('_', arg))
}
}
@@ -301,15 +302,25 @@ function parse (args, opts) {
// how many arguments should we consume, based
// on the nargs option?
function eatNargs (i, key, args) {
- var toEat = checkAllAliases(key, flags.nargs)
+ 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
+ }
- if (args.length - (i + 1) < toEat) error = Error(__('Not enough arguments following: %s', key))
+ if (available < toEat) error = Error(__('Not enough arguments following: %s', key))
- for (var ii = i + 1; ii < (toEat + i + 1); ii++) {
+ const consumed = Math.min(available, toEat)
+ for (ii = i + 1; ii < (consumed + i + 1); ii++) {
setArg(key, args[ii])
}
- return (i + toEat)
+ return (i + consumed)
}
// if an option is an array, eat all non-hyphenated arguments
@@ -346,10 +357,8 @@ function parse (args, opts) {
function setArg (key, val) {
unsetDefaulted(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
+ if (/-/.test(key) && configuration['camel-case-expansion']) {
+ addNewAlias(key, camelCase(key))
}
var value = processValue(key, val)
@@ -394,17 +403,23 @@ 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 = 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
- }
+ var value = maybeCoerceNumber(key, val)
// increment a count given as arg (either no value or value parsed as boolean)
if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === 'boolean')) {
@@ -419,6 +434,16 @@ 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) {
@@ -467,13 +492,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' && !Array.isArray(value) && configuration['dot-notation']) {
+ if (typeof value === 'object' && value !== null && !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])) {
+ if (!hasKey(argv, fullKey.split('.')) || (flags.defaulted[fullKey]) || (flags.arrays[fullKey] && configuration['combine-arrays'])) {
setArg(fullKey, value)
}
}
@@ -511,13 +536,19 @@ function parse (args, opts) {
function applyCoercions (argv) {
var coerce
+ var applied = {}
Object.keys(argv).forEach(function (key) {
- coerce = checkAllAliases(key, flags.coercions)
- if (typeof coerce === 'function') {
- try {
- argv[key] = coerce(argv[key])
- } catch (err) {
- error = err
+ 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
+ }
}
}
})
@@ -556,9 +587,24 @@ function parse (args, opts) {
if (!configuration['dot-notation']) keys = [keys.join('.')]
- keys.slice(0, -1).forEach(function (key) {
- if (o[key] === undefined) o[key] = {}
- o = o[key]
+ 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]
+ }
})
var key = keys[keys.length - 1]
@@ -600,8 +646,10 @@ function parse (args, opts) {
flags.aliases[key].concat(key).forEach(function (x) {
if (/-/.test(x) && configuration['camel-case-expansion']) {
var c = camelCase(x)
- flags.aliases[key].push(c)
- newAliases[c] = true
+ if (c !== key && flags.aliases[key].indexOf(c) === -1) {
+ flags.aliases[key].push(c)
+ newAliases[c] = true
+ }
}
})
flags.aliases[key].forEach(function (x) {
@@ -662,7 +710,6 @@ 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 23d39e1feb..6c8d23ef21 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,17 +2,23 @@
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) {
- i++
+ if (!(prevC === ' ')) {
+ i++
+ }
continue
}
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/index.js b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/index.js
index c8492a2286..c8492a2286 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/index.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/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/p-locate/node_modules/p-limit/license b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/license
index 654d0bfe94..654d0bfe94 100644
--- 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/license
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/license
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/package.json b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/package.json
index a174878a6f..8b020b8dbc 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/package.json
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/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/camelcase",
+ "_location": "/libnpx/yargs/yargs-parser/camelcase",
"_phantomChildren": {},
"_requested": {
"type": "range",
@@ -16,14 +16,13 @@
"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",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser",
"bin": null,
"bundleDependencies": false,
"dependencies": {},
diff --git a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/readme.md b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/readme.md
index 0610dc627d..0610dc627d 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/camelcase/readme.md
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/node_modules/yargs-parser/node_modules/camelcase/readme.md
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 e0e0851602..3434b662a2 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,46 +1,75 @@
{
- "_from": "yargs-parser@^7.0.0",
- "_id": "yargs-parser@7.0.0",
+ "_from": "yargs-parser@^9.0.2",
+ "_id": "yargs-parser@9.0.2",
"_inBundle": false,
- "_integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "_integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
"_location": "/libnpx/yargs/yargs-parser",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "yargs-parser@^7.0.0",
+ "raw": "yargs-parser@^9.0.2",
"name": "yargs-parser",
"escapedName": "yargs-parser",
- "rawSpec": "^7.0.0",
+ "rawSpec": "^9.0.2",
"saveSpec": null,
- "fetchSpec": "^7.0.0"
+ "fetchSpec": "^9.0.2"
},
"_requiredBy": [
"/libnpx/yargs"
],
- "_resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
- "_shasum": "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9",
- "_shrinkwrap": null,
- "_spec": "yargs-parser@^7.0.0",
+ "_resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
+ "_shasum": "9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077",
+ "_spec": "yargs-parser@^9.0.2",
"_where": "/Users/zkat/Documents/code/npm/node_modules/libnpx/node_modules/yargs",
- "bin": null,
+ "author": {
+ "name": "Ben Coe",
+ "email": "ben@npmjs.com"
+ },
+ "bugs": {
+ "url": "https://github.com/yargs/yargs-parser/issues"
+ },
"bundleDependencies": false,
"dependencies": {
"camelcase": "^4.1.0"
},
"deprecated": false,
- "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)",
+ "description": "the mighty option parser used by yargs",
"devDependencies": {
"chai": "^3.5.0",
"coveralls": "^2.11.12",
"mocha": "^3.0.1",
- "nyc": "^10.0.0",
+ "nyc": "^11.4.1",
"standard": "^10.0.2",
- "standard-version": "^4.0.0"
+ "standard-version": "^4.3.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",
- "optionalDependencies": {},
- "peerDependencies": {},
- "scripts": {},
- "version": "7.0.0"
+ "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"
}
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 9ae1b0f1ad..be5b47f015 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 @@
{
- "_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=",
+ "_from": "yargs@^11.0.0",
+ "_id": "yargs@11.0.0",
+ "_inBundle": false,
+ "_integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
"_location": "/libnpx/yargs",
- "_phantomChildren": {},
+ "_phantomChildren": {
+ "lru-cache": "4.1.1",
+ "strip-ansi": "4.0.0",
+ "which": "1.3.0"
+ },
"_requested": {
- "type": "version",
+ "type": "range",
"registry": true,
- "raw": "yargs@8.0.2",
+ "raw": "yargs@^11.0.0",
"name": "yargs",
"escapedName": "yargs",
- "rawSpec": "8.0.2",
+ "rawSpec": "^11.0.0",
"saveSpec": null,
- "fetchSpec": "8.0.2"
+ "fetchSpec": "^11.0.0"
},
"_requiredBy": [
"/libnpx"
],
- "_resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
- "_spec": "8.0.2",
- "_where": "/Users/zkat/Documents/code/npx",
+ "_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",
"bugs": {
"url": "https://github.com/yargs/yargs/issues"
},
+ "bundleDependencies": false,
"dependencies": {
- "camelcase": "^4.1.0",
- "cliui": "^3.2.0",
+ "cliui": "^4.0.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": "^7.0.0"
+ "yargs-parser": "^9.0.2"
},
+ "deprecated": false,
"description": "yargs the modern, pirate-themed, successor to optimist.",
"devDependencies": {
- "chai": "^3.4.1",
+ "chai": "^4.1.2",
"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": "^10.3.0",
+ "nyc": "^11.2.1",
"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": ">=0.10"
+ "node": ">=4"
},
"files": [
"index.js",
@@ -92,7 +92,7 @@
},
"scripts": {
"coverage": "nyc report --reporter=text-lcov | coveralls",
- "pretest": "standard",
+ "posttest": "standard",
"release": "standard-version",
"test": "nyc --cache mocha --require ./test/before.js --timeout=8000 --check-leaks"
},
@@ -101,5 +101,5 @@
"**/example/**"
]
},
- "version": "8.0.2"
+ "version": "11.0.0"
}
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 078bf8f149..9b50b8bfeb 100644
--- a/deps/npm/node_modules/libnpx/node_modules/yargs/yargs.js
+++ b/deps/npm/node_modules/libnpx/node_modules/yargs/yargs.js
@@ -1,5 +1,6 @@
+'use strict'
const argsert = require('./lib/argsert')
-const assign = require('./lib/assign')
+const fs = require('fs')
const Command = require('./lib/command')
const Completion = require('./lib/completion')
const Parser = require('yargs-parser')
@@ -12,18 +13,18 @@ const setBlocking = require('set-blocking')
const applyExtends = require('./lib/apply-extends')
const YError = require('./lib/yerror')
-var exports = module.exports = Yargs
+exports = module.exports = Yargs
function Yargs (processArgs, cwd, parentRequire) {
processArgs = processArgs || [] // handle calling yargs().
const self = {}
- var command = null
- var completion = null
- var groups = {}
- var output = ''
- var preservedGroups = {}
- var usage = null
- var validation = null
+ let command = null
+ let completion = null
+ let groups = {}
+ let output = ''
+ let preservedGroups = {}
+ let usage = null
+ let validation = null
const y18n = Y18n({
directory: path.resolve(__dirname, './locales'),
@@ -34,58 +35,54 @@ function Yargs (processArgs, cwd, parentRequire) {
self.$0 = process.argv
.slice(0, 2)
- .map(function (x, i) {
+ .map((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
- var b = rebase(cwd, x)
+ const 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: [], files: [] }
- self.getContext = function () {
- return context
- }
+ const context = { resets: -1, commands: [], fullCommands: [], files: [] }
+ self.getContext = () => context
// puts yargs back into an initial state. any keys
// that have been set to "global" will not be reset
// by this action.
- var options
- self.resetOptions = self.reset = function (aliases) {
+ let options
+ self.resetOptions = self.reset = function resetOptions (aliases) {
context.resets++
aliases = aliases || {}
options = options || {}
// put yargs back into an initial state, this
// logic is used to build a nested command
// hierarchy.
- var tmpOptions = {}
+ const 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.
- var localLookup = {}
- tmpOptions.local.forEach(function (l) {
+ const localLookup = {}
+ tmpOptions.local.forEach((l) => {
localLookup[l] = true
- ;(aliases[l] || []).forEach(function (a) {
+ ;(aliases[l] || []).forEach((a) => {
localLookup[a] = true
})
})
// preserve all groups not set to local.
- preservedGroups = Object.keys(groups).reduce(function (acc, groupName) {
- var keys = groups[groupName].filter(function (key) {
- return !(key in localLookup)
- })
+ preservedGroups = Object.keys(groups).reduce((acc, groupName) => {
+ const keys = groups[groupName].filter(key => !(key in localLookup))
if (keys.length > 0) {
acc[groupName] = keys
}
@@ -94,26 +91,22 @@ function Yargs (processArgs, cwd, parentRequire) {
// groups can now be reset
groups = {}
- var arrayOptions = [
- 'array', 'boolean', 'string', 'requiresArg', 'skipValidation',
+ const arrayOptions = [
+ 'array', 'boolean', 'string', 'skipValidation',
'count', 'normalize', 'number'
]
- var objectOptions = [
+ const objectOptions = [
'narg', 'key', 'alias', 'default', 'defaultDescription',
'config', 'choices', 'demandedOptions', 'demandedCommands', 'coerce'
]
- arrayOptions.forEach(function (k) {
- tmpOptions[k] = (options[k] || []).filter(function (k) {
- return !localLookup[k]
- })
+ arrayOptions.forEach((k) => {
+ tmpOptions[k] = (options[k] || []).filter(k => !localLookup[k])
})
- objectOptions.forEach(function (k) {
- tmpOptions[k] = objFilter(options[k], function (k, v) {
- return !localLookup[k]
- })
+ objectOptions.forEach((k) => {
+ tmpOptions[k] = objFilter(options[k], (k, v) => !localLookup[k])
})
tmpOptions.envPrefix = options.envPrefix
@@ -137,7 +130,7 @@ function Yargs (processArgs, cwd, parentRequire) {
self.resetOptions()
// temporary hack: allow "freezing" of reset-able state for parse(msg, cb)
- var frozen
+ let frozen
function freeze () {
frozen = {}
frozen.options = options
@@ -211,7 +204,7 @@ function Yargs (processArgs, cwd, parentRequire) {
self.requiresArg = function (keys) {
argsert('<array|string>', [keys], arguments.length)
- populateParserHintArray('requiresArg', keys)
+ populateParserHintObject(self.nargs, false, 'narg', keys, 1)
return self
}
@@ -223,7 +216,7 @@ function Yargs (processArgs, cwd, parentRequire) {
function populateParserHintArray (type, keys, value) {
keys = [].concat(keys)
- keys.forEach(function (key) {
+ keys.forEach((key) => {
options[type].push(key)
})
}
@@ -280,14 +273,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 () {}
- var temp = {}
- key.forEach(function (k) {
+ const temp = {}
+ key.forEach((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(function (k) {
+ Object.keys(key).forEach((k) => {
builder(k, key[k])
})
} else {
@@ -300,7 +293,22 @@ function Yargs (processArgs, cwd, parentRequire) {
}
}
- self.config = function (key, msg, parseFn) {
+ 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) {
argsert('[object|string] [string|function] [function]', [key, msg, parseFn], arguments.length)
// allow a config object to be provided directly.
if (typeof key === 'object') {
@@ -317,7 +325,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(function (k) {
+ ;(Array.isArray(key) ? key : [key]).forEach((k) => {
options.config[k] = parseFn || true
})
@@ -330,9 +338,9 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- 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)
+ 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)
return self
}
@@ -345,12 +353,12 @@ function Yargs (processArgs, cwd, parentRequire) {
// TODO: deprecate self.demand in favor of
// .demandCommand() .demandOption().
- self.demand = self.required = self.require = function (keys, max, msg) {
+ self.demand = self.required = self.require = function demand (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(function (key) {
+ max.forEach((key) => {
self.demandOption(key, msg)
})
max = Infinity
@@ -362,7 +370,7 @@ function Yargs (processArgs, cwd, parentRequire) {
if (typeof keys === 'number') {
self.demandCommand(keys, max, msg, msg)
} else if (Array.isArray(keys)) {
- keys.forEach(function (key) {
+ keys.forEach((key) => {
self.demandOption(key, msg)
})
} else {
@@ -376,8 +384,8 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- self.demandCommand = function (min, max, minMsg, maxMsg) {
- argsert('[number] [number|string] [string|null] [string|null]', [min, max, minMsg, maxMsg], arguments.length)
+ self.demandCommand = function demandCommand (min, max, minMsg, maxMsg) {
+ argsert('[number] [number|string] [string|null|undefined] [string|null|undefined]', [min, max, minMsg, maxMsg], arguments.length)
if (typeof min === 'undefined') min = 1
@@ -389,50 +397,52 @@ function Yargs (processArgs, cwd, parentRequire) {
self.global('_', false)
options.demandedCommands._ = {
- min: min,
- max: max,
- minMsg: minMsg,
- maxMsg: maxMsg
+ min,
+ max,
+ minMsg,
+ maxMsg
}
return self
}
- self.getDemandedOptions = function () {
+ self.getDemandedOptions = () => {
argsert([], 0)
return options.demandedOptions
}
- self.getDemandedCommands = function () {
+ self.getDemandedCommands = () => {
argsert([], 0)
return options.demandedCommands
}
self.implies = function (key, value) {
- argsert('<string|object> [string]', [key, value], arguments.length)
+ argsert('<string|object> [number|string|array]', [key, value], arguments.length)
validation.implies(key, value)
return self
}
self.conflicts = function (key1, key2) {
- argsert('<string|object> [string]', [key1, key2], arguments.length)
+ argsert('<string|object> [string|array]', [key1, key2], arguments.length)
validation.conflicts(key1, key2)
return self
}
- self.usage = function (msg, opts) {
- argsert('<string|null|object> [object]', [msg, opts], arguments.length)
+ self.usage = function (msg, description, builder, handler) {
+ argsert('<string|null|undefined> [string|boolean] [function|object] [function]', [msg, description, builder, handler], arguments.length)
- if (!opts && typeof msg === 'object') {
- opts = msg
- msg = null
+ 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
}
-
- usage.usage(msg)
-
- if (opts) self.options(opts)
-
- return self
}
self.epilogue = self.epilog = function (msg) {
@@ -453,28 +463,26 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- self.global = function (globals, global) {
+ self.global = function global (globals, global) {
argsert('<string|array> [boolean]', [globals, global], arguments.length)
globals = [].concat(globals)
if (global !== false) {
- options.local = options.local.filter(function (l) {
- return globals.indexOf(l) === -1
- })
+ options.local = options.local.filter(l => globals.indexOf(l) === -1)
} else {
- globals.forEach(function (g) {
+ globals.forEach((g) => {
if (options.local.indexOf(g) === -1) options.local.push(g)
})
}
return self
}
- self.pkgConf = function (key, path) {
+ self.pkgConf = function pkgConf (key, path) {
argsert('<string> [string]', [key, path], arguments.length)
- var conf = null
+ let 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)
- var obj = pkgUp(path || cwd)
+ const obj = pkgUp(path || cwd)
// If an object exists in the key, add it to options.configObjects
if (obj[key] && typeof obj[key] === 'object') {
@@ -485,28 +493,30 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- var pkgs = {}
+ const pkgs = {}
function pkgUp (path) {
- var npath = path || '*'
+ const npath = path || '*'
if (pkgs[npath]) return pkgs[npath]
- const readPkgUp = require('read-pkg-up')
+ const findUp = require('find-up')
- var obj = {}
+ let obj = {}
try {
- obj = readPkgUp.sync({
- cwd: path || require('require-main-filename')(parentRequire || require),
+ const pkgJsonPath = findUp.sync('package.json', {
+ cwd: path || require('path').dirname(require('require-main-filename')(parentRequire || require)),
normalize: false
})
+ obj = JSON.parse(fs.readFileSync(pkgJsonPath))
} catch (noop) {}
- pkgs[npath] = obj.pkg || {}
+ pkgs[npath] = obj || {}
return pkgs[npath]
}
- var parseFn = null
- var parseContext = null
- self.parse = function (args, shortCircuit, _parseFn) {
- argsert('<string|array> [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length)
+ 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
// a context object can optionally be provided, this allows
// additional information to be passed to a command handler.
@@ -529,25 +539,21 @@ function Yargs (processArgs, cwd, parentRequire) {
freeze()
if (parseFn) exitProcess = false
- var parsed = self._parseArgs(args, shortCircuit)
+ const parsed = self._parseArgs(args, shortCircuit)
if (parseFn) parseFn(exitError, parsed, output)
unfreeze()
return parsed
}
- self._getParseContext = function () {
- return parseContext || {}
- }
+ self._getParseContext = () => parseContext || {}
- self._hasParseCallback = function () {
- return !!parseFn
- }
+ self._hasParseCallback = () => !!parseFn
- self.option = self.options = function (key, opt) {
+ self.option = self.options = function option (key, opt) {
argsert('<string|object> [object]', [key, opt], arguments.length)
if (typeof key === 'object') {
- Object.keys(key).forEach(function (k) {
+ Object.keys(key).forEach((k) => {
self.options(k, key[k])
})
} else {
@@ -559,7 +565,7 @@ function Yargs (processArgs, cwd, parentRequire) {
if (opt.alias) self.alias(key, opt.alias)
- var demand = opt.demand || opt.required || opt.require
+ const demand = opt.demand || opt.required || opt.require
// deprecated, use 'demandOption' instead
if (demand) {
@@ -570,10 +576,6 @@ 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)
}
@@ -590,7 +592,11 @@ function Yargs (processArgs, cwd, parentRequire) {
self.nargs(key, opt.nargs)
}
- if ('normalize' in opt) {
+ if (opt.config) {
+ self.config(key, opt.configParser)
+ }
+
+ if (opt.normalize) {
self.normalize(key)
}
@@ -642,8 +648,8 @@ function Yargs (processArgs, cwd, parentRequire) {
self.skipValidation(key)
}
- var desc = opt.describe || opt.description || opt.desc
- if (desc) {
+ const desc = opt.describe || opt.description || opt.desc
+ if (!opt.hidden) {
self.describe(key, desc)
}
@@ -654,29 +660,62 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- self.getOptions = function () {
- return options
+ 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.group = function (opts, groupName) {
+ self.group = function group (opts, groupName) {
argsert('<string|array> <string>', [opts, groupName], arguments.length)
- var existing = preservedGroups[groupName] || groups[groupName]
+ const existing = preservedGroups[groupName] || groups[groupName]
if (preservedGroups[groupName]) {
// we now only need to track this group name in groups.
delete preservedGroups[groupName]
}
- var seen = {}
- groups[groupName] = (existing || []).concat(opts).filter(function (key) {
+ const seen = {}
+ groups[groupName] = (existing || []).concat(opts).filter((key) => {
if (seen[key]) return false
return (seen[key] = true)
})
return self
}
- self.getGroups = function () {
- // combine explicit and preserved groups. explicit groups should be first
- return assign(groups, preservedGroups)
- }
+ // combine explicit and preserved groups. explicit groups should be first
+ self.getGroups = () => Object.assign({}, groups, preservedGroups)
// as long as options.envPrefix is not undefined,
// parser will apply env vars matching prefix to argv
@@ -688,43 +727,58 @@ function Yargs (processArgs, cwd, parentRequire) {
}
self.wrap = function (cols) {
- argsert('<number|null>', [cols], arguments.length)
+ argsert('<number|null|undefined>', [cols], arguments.length)
usage.wrap(cols)
return self
}
- var strict = false
+ let strict = false
self.strict = function (enabled) {
argsert('[boolean]', [enabled], arguments.length)
strict = enabled !== false
return self
}
- self.getStrict = function () {
- return strict
- }
+ self.getStrict = () => 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
}
- var versionOpt = null
- self.version = function (opt, msg, ver) {
- argsert('[string|function] [string|function] [string]', [opt, msg, ver], arguments.length)
+ 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
+ }
+
if (arguments.length === 0) {
ver = guessVersion()
- opt = 'version'
+ opt = defaultVersionOpt
} else if (arguments.length === 1) {
+ if (opt === false) { // disable default 'version' key.
+ return self
+ }
ver = opt
- opt = 'version'
+ opt = defaultVersionOpt
} else if (arguments.length === 2) {
ver = msg
msg = null
}
- versionOpt = opt
+ versionOpt = typeof opt === 'string' ? opt : defaultVersionOpt
msg = msg || usage.deferY18nLookup('Show version number')
usage.version(ver || undefined)
@@ -734,44 +788,35 @@ function Yargs (processArgs, cwd, parentRequire) {
}
function guessVersion () {
- var obj = pkgUp()
+ const obj = pkgUp()
return obj.version || 'unknown'
}
- 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)
+ let helpOpt = null
+ self.addHelpOpt = self.help = function addHelpOpt (opt, msg) {
+ const defaultHelpOpt = 'help'
+ argsert('[string|boolean] [string]', [opt, msg], arguments.length)
- // 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)
+ // nuke the key previously configured
+ // to return help.
+ if (helpOpt) {
+ deleteFromParserHintObject(helpOpt)
+ helpOpt = null
+ }
+
+ if (arguments.length === 1) {
+ if (opt === false) return self
}
+
// use arguments, fallback to defaults for opt and msg
- helpOpt = opt || 'help'
+ helpOpt = typeof opt === 'string' ? opt : defaultHelpOpt
self.boolean(helpOpt)
self.describe(helpOpt, msg || usage.deferY18nLookup('Show help'))
return self
}
- self.showHelpOnFail = function (enabled, message) {
+ self.showHelpOnFail = function showHelpOnFail (enabled, message) {
argsert('[boolean|string] [string]', [enabled, message], arguments.length)
usage.showHelpOnFail(enabled, message)
return self
@@ -786,9 +831,7 @@ function Yargs (processArgs, cwd, parentRequire) {
exitProcess = enabled
return self
}
- self.getExitProcess = function () {
- return exitProcess
- }
+ self.getExitProcess = () => exitProcess
var completionCommand = null
self.completion = function (cmd, desc, fn) {
@@ -818,7 +861,7 @@ function Yargs (processArgs, cwd, parentRequire) {
self.showCompletionScript = function ($0) {
argsert('[string]', [$0], arguments.length)
$0 = $0 || self.$0
- _logger.log(completion.generateCompletionScript($0))
+ _logger.log(completion.generateCompletionScript($0, completionCommand))
return self
}
@@ -845,21 +888,19 @@ function Yargs (processArgs, cwd, parentRequire) {
return self
}
- var detectLocale = true
+ let detectLocale = true
self.detectLocale = function (detect) {
argsert('<boolean>', [detect], arguments.length)
detectLocale = detect
return self
}
- self.getDetectLocale = function () {
- return detectLocale
- }
+ self.getDetectLocale = () => detectLocale
var hasOutput = false
var exitError = null
// maybe exit, always capture
// context about why we wanted to exit.
- self.exit = function (code, err) {
+ self.exit = (code, err) => {
hasOutput = true
exitError = err
if (exitProcess) process.exit(code)
@@ -867,78 +908,67 @@ 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.
- var _logger = {
- log: function () {
+ const _logger = {
+ log () {
const args = []
- for (var i = 0; i < arguments.length; i++) args.push(arguments[i])
+ for (let 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: function () {
+ error () {
const args = []
- for (var i = 0; i < arguments.length; i++) args.push(arguments[i])
+ for (let 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 = function () {
- return _logger
- }
+ self._getLoggerInstance = () => _logger
// has yargs output an error our help
// message in the current execution context.
- self._hasOutput = function () {
- return hasOutput
- }
+ self._hasOutput = () => hasOutput
- self._setHasOutput = function () {
+ self._setHasOutput = () => {
hasOutput = true
}
- var recommendCommands
+ let recommendCommands
self.recommendCommands = function (recommend) {
argsert('[boolean]', [recommend], arguments.length)
recommendCommands = typeof recommend === 'boolean' ? recommend : true
return self
}
- self.getUsageInstance = function () {
- return usage
- }
+ self.getUsageInstance = () => usage
- self.getValidationInstance = function () {
- return validation
- }
+ self.getValidationInstance = () => validation
- self.getCommandInstance = function () {
- return command
- }
+ self.getCommandInstance = () => command
- self.terminalWidth = function () {
+ self.terminalWidth = () => {
argsert([], 0)
return typeof process.stdout.columns !== 'undefined' ? process.stdout.columns : null
}
Object.defineProperty(self, 'argv', {
- get: function () {
- return self._parseArgs(processArgs)
- },
+ get: () => self._parseArgs(processArgs),
enumerable: true
})
- self._parseArgs = function (args, shortCircuit, _skipValidation, commandIndex) {
- var skipValidation = !!_skipValidation
+ self._parseArgs = function parseArgs (args, shortCircuit, _skipValidation, commandIndex) {
+ let skipValidation = !!_skipValidation
args = args || processArgs
options.__ = y18n.__
options.configuration = pkgUp()['yargs'] || {}
+
const parsed = Parser.detailed(args, options)
- var argv = parsed.argv
- if (parseContext) argv = assign(argv, parseContext)
- var aliases = parsed.aliases
+ let argv = parsed.argv
+ if (parseContext) argv = Object.assign({}, argv, parseContext)
+ const aliases = parsed.aliases
argv.$0 = self.$0
self.parsed = parsed
@@ -953,34 +983,28 @@ function Yargs (processArgs, cwd, parentRequire) {
return argv
}
- 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
- })
+ // 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
}
+ }
+ const handlerKeys = command.getCommands()
+ const skipDefaultCommand = argv[helpOpt] && (handlerKeys.length > 1 || handlerKeys[0] !== '$0')
- // if there's a handler associated with a
- // command defer processing to it.
- var handlerKeys = command.getCommands()
+ if (argv._.length) {
if (handlerKeys.length) {
- var firstUnknownCommand
- for (var i = (commandIndex || 0), cmd; argv._[i] !== undefined; i++) {
+ let firstUnknownCommand
+ for (let i = (commandIndex || 0), cmd; argv._[i] !== undefined; i++) {
cmd = String(argv._[i])
if (~handlerKeys.indexOf(cmd) && cmd !== completionCommand) {
setPlaceholderKeys(argv)
@@ -995,7 +1019,7 @@ function Yargs (processArgs, cwd, parentRequire) {
}
// run the default command, if defined
- if (command.hasDefaultCommand() && !argv[helpOpt]) {
+ if (command.hasDefaultCommand() && !skipDefaultCommand) {
setPlaceholderKeys(argv)
return command.runCommand(null, self, parsed)
}
@@ -1013,7 +1037,7 @@ function Yargs (processArgs, cwd, parentRequire) {
self.showCompletionScript()
self.exit(0)
}
- } else if (command.hasDefaultCommand() && !argv[helpOpt]) {
+ } else if (command.hasDefaultCommand() && !skipDefaultCommand) {
setPlaceholderKeys(argv)
return command.runCommand(null, self, parsed)
}
@@ -1025,9 +1049,9 @@ function Yargs (processArgs, cwd, parentRequire) {
// we allow for asynchronous completions,
// e.g., loading in a list of commands from an API.
- var completionArgs = args.slice(args.indexOf('--' + completion.completionKey) + 1)
- completion.getCompletion(completionArgs, function (completions) {
- ;(completions || []).forEach(function (completion) {
+ const completionArgs = args.slice(args.indexOf(`--${completion.completionKey}`) + 1)
+ completion.getCompletion(completionArgs, (completions) => {
+ ;(completions || []).forEach((completion) => {
_logger.log(completion)
})
@@ -1039,7 +1063,7 @@ function Yargs (processArgs, cwd, parentRequire) {
// Handle 'help' and 'version' options
// if we haven't already output help!
if (!hasOutput) {
- Object.keys(argv).forEach(function (key) {
+ Object.keys(argv).forEach((key) => {
if (key === helpOpt && argv[key]) {
if (exitProcess) setBlocking(true)
@@ -1058,9 +1082,7 @@ 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(function (key) {
- return options.skipValidation.indexOf(key) >= 0 && argv[key] === true
- })
+ skipValidation = Object.keys(argv).some(key => options.skipValidation.indexOf(key) >= 0 && argv[key] === true)
}
// If the help or version options where used and exitProcess is false,
@@ -1082,10 +1104,9 @@ function Yargs (processArgs, cwd, parentRequire) {
return setPlaceholderKeys(argv)
}
- self._runValidation = function (argv, aliases, positionalMap, parseErrors) {
+ self._runValidation = function runValidation (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)
@@ -1107,7 +1128,7 @@ function Yargs (processArgs, cwd, parentRequire) {
}
function setPlaceholderKeys (argv) {
- Object.keys(options.key).forEach(function (key) {
+ Object.keys(options.key).forEach((key) => {
// don't set placeholder keys for dot
// notation options 'foo.bar'.
if (~key.indexOf('.')) return
@@ -1116,6 +1137,11 @@ 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
}
diff --git a/deps/npm/node_modules/libnpx/package.json b/deps/npm/node_modules/libnpx/package.json
index 243543fd55..29feb48f73 100644
--- a/deps/npm/node_modules/libnpx/package.json
+++ b/deps/npm/node_modules/libnpx/package.json
@@ -1,37 +1,31 @@
{
- "_from": "libnpx@latest",
- "_id": "libnpx@9.7.1",
+ "_from": "libnpx@10.0.1",
+ "_id": "libnpx@10.0.1",
"_inBundle": false,
- "_integrity": "sha512-OktT775uhfL93SoUfERj4ilM3D7c0hyUyALX9oJ2D/yO4Msm5hbkOKHcrOVHXRcEX9ytstviYQAEygFIiDj2bQ==",
+ "_integrity": "sha512-87491jxL9jeP2rDF4px3JNHTKCsHFTRAuRkGZ9/b0vb/312mxFCAsuNcGvbw0BTED0iGf+IeNDgBGy9lcy3pTQ==",
"_location": "/libnpx",
"_phantomChildren": {
- "graceful-fs": "4.1.11",
- "hosted-git-info": "2.5.0",
"lru-cache": "4.1.1",
- "normalize-package-data": "2.4.0",
- "osenv": "0.1.4",
- "semver": "5.4.1",
"strip-ansi": "4.0.0",
- "validate-npm-package-name": "3.0.0",
"which": "1.3.0"
},
"_requested": {
- "type": "tag",
+ "type": "version",
"registry": true,
- "raw": "libnpx@latest",
+ "raw": "libnpx@10.0.1",
"name": "libnpx",
"escapedName": "libnpx",
- "rawSpec": "latest",
+ "rawSpec": "10.0.1",
"saveSpec": null,
- "fetchSpec": "latest"
+ "fetchSpec": "10.0.1"
},
"_requiredBy": [
"#USER",
"/"
],
- "_resolved": "https://registry.npmjs.org/libnpx/-/libnpx-9.7.1.tgz",
- "_shasum": "55300b5e119bd47b714be9704ca0696ffb18b025",
- "_spec": "libnpx@latest",
+ "_resolved": "https://registry.npmjs.org/libnpx/-/libnpx-10.0.1.tgz",
+ "_shasum": "a0104a1336e7621e52172d7970dc1b97fa17ae89",
+ "_spec": "libnpx@10.0.1",
"_where": "/Users/zkat/Documents/code/npm",
"author": {
"name": "Kat Marchán",
@@ -50,29 +44,29 @@
}
},
"dependencies": {
- "dotenv": "^4.0.0",
- "npm-package-arg": "^5.1.2",
- "rimraf": "^2.6.1",
+ "dotenv": "^5.0.1",
+ "npm-package-arg": "^6.0.0",
+ "rimraf": "^2.6.2",
"safe-buffer": "^5.1.0",
- "update-notifier": "^2.2.0",
- "which": "^1.2.14",
- "y18n": "^3.2.1",
- "yargs": "^8.0.2"
+ "update-notifier": "^2.3.0",
+ "which": "^1.3.0",
+ "y18n": "^4.0.0",
+ "yargs": "^11.0.0"
},
"deprecated": false,
"description": "support library for npx -- an tool for executing npm-based packages.",
"devDependencies": {
- "cross-env": "^5.0.1",
+ "cross-env": "^5.1.3",
"json": "^9.0.6",
"marked-man": "^0.2.1",
"mkdirp": "^0.5.1",
- "npm": "^5.3.0",
- "nyc": "^11.0.2",
+ "npm": "^5.7.1",
+ "nyc": "^11.4.1",
"require-inject": "^1.4.0",
- "standard": "^10.0.2",
- "standard-version": "^4.2.0",
+ "standard": "^11.0.0",
+ "standard-version": "^4.3.0",
"tacks": "^1.2.6",
- "tap": "^10.5.1",
+ "tap": "^11.1.2",
"weallbehave": "^1.2.0",
"weallcontribute": "^1.0.8"
},
@@ -90,7 +84,7 @@
"npm bin",
"cli"
],
- "license": "CC0-1.0",
+ "license": "ISC",
"main": "index.js",
"man": [
"./libnpx.1"
@@ -106,12 +100,12 @@
"docs": "tail -n +2 README.md | marked-man --manual 'User Commands' --version \"$npm_package_name@$npm_package_version\" > $npm_package_name.1",
"postrelease": "npm publish && git push --follow-tags",
"prerelease": "npm t && npm run docs",
- "pretest": "standard ./*.js test bin/*.js locales",
+ "pretest": "standard *.js test bin/*.js locales",
"publish-bin": "npm run bin && cd bin && npm publish",
"release": "standard-version -s",
"test": "cross-env NPX_UPDATE_LOCALE_FILES=true LC_ALL=en nyc --all -- tap -J test/*.js",
"update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'",
"update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"
},
- "version": "9.7.1"
+ "version": "10.0.1"
}
diff --git a/deps/npm/node_modules/libnpx/parse-args.js b/deps/npm/node_modules/libnpx/parse-args.js
index 240fdd463f..3f50660550 100644
--- a/deps/npm/node_modules/libnpx/parse-args.js
+++ b/deps/npm/node_modules/libnpx/parse-args.js
@@ -47,8 +47,8 @@ function parseArgs (argv, defaultNpm) {
const parsed = parser.parse(argv.slice(0, cmdIndex))
const parsedCmd = npa(argv[cmdIndex])
parsed.command = parsed.package && parsedCmd.type !== 'directory'
- ? argv[cmdIndex]
- : guessCmdName(parsedCmd)
+ ? argv[cmdIndex]
+ : guessCmdName(parsedCmd)
parsed.isLocal = parsedCmd.type === 'directory'
parsed.cmdOpts = argv.slice(cmdIndex + 1)
if (typeof parsed.package === 'string') {
@@ -56,8 +56,8 @@ function parseArgs (argv, defaultNpm) {
}
parsed.packageRequested = !!parsed.package
parsed.cmdHadVersion = parsed.package || parsedCmd.type === 'directory'
- ? false
- : parsedCmd.name !== parsedCmd.raw
+ ? false
+ : parsedCmd.name !== parsedCmd.raw
const pkg = parsed.package || [argv[cmdIndex]]
parsed.p = parsed.package = pkg.map(p => npa(p).toString())
return parsed
@@ -80,13 +80,13 @@ function parseArgs (argv, defaultNpm) {
const splitCmd = parsed._.slice(2)
const parsedCmd = npa(splitCmd[0])
parsed.command = parsed.package
- ? splitCmd[0]
- : guessCmdName(parsedCmd)
+ ? splitCmd[0]
+ : guessCmdName(parsedCmd)
parsed.cmdOpts = splitCmd.slice(1)
parsed.packageRequested = !!parsed.package
parsed.cmdHadVersion = parsed.package
- ? false
- : parsedCmd.name !== parsedCmd.raw
+ ? false
+ : parsedCmd.name !== parsedCmd.raw
const pkg = parsed.package || [splitCmd[0]]
parsed.p = parsed.package = pkg.map(p => npa(p).toString())
}
@@ -169,65 +169,65 @@ function yargsParser (argv, defaultNpm) {
`
return require('yargs')
- .usage(Y()`Execute binaries from npm packages.\n${usage}`)
- .option('package', {
- alias: 'p',
- type: 'string',
- describe: Y()`Package to be installed.`
- })
- .option('cache', {
- type: 'string',
- describe: Y()`Location of the npm cache.`
- })
- .option('no-install', {
- type: 'boolean',
- describe: Y()`Skip installation if a package is missing.`
- })
- .option('userconfig', {
- type: 'string',
- describe: Y()`Path to user npmrc.`
- })
- .option('call', {
- alias: 'c',
- type: 'string',
- describe: Y()`Execute string as if inside \`npm run-script\`.`
- })
- .option('shell', {
- alias: 's',
- type: 'string',
- describe: Y()`Shell to execute the command with, if any.`,
- default: false
- })
- .option('shell-auto-fallback', {
- choices: ['', 'bash', 'fish', 'zsh'],
- describe: Y()`Generate shell code to use npx as the "command not found" fallback.`,
- requireArg: false,
- type: 'string'
- })
- .option('ignore-existing', {
- describe: Y()`Ignores existing binaries in $PATH, or in the local project. This forces npx to do a temporary install and use the latest version.`,
- type: 'boolean'
- })
- .option('quiet', {
- alias: 'q',
- describe: Y()`Suppress output from npx itself. Subcommands will not be affected.`,
- type: 'boolean'
- })
- .option('npm', {
- describe: Y()`npm binary to use for internal operations.`,
- type: 'string',
- default: defaultNpm || 'npm'
- })
- .option('node-arg', {
- alias: 'n',
- type: 'string',
- describe: Y()`Extra node argument when calling a node binary.`
- })
- .version(() => require('./package.json').version)
- .alias('version', 'v')
- .help()
- .alias('help', 'h')
- .epilogue(Y()`For the full documentation, see the manual page for npx(1).`)
+ .usage(Y()`Execute binaries from npm packages.\n${usage}`)
+ .option('package', {
+ alias: 'p',
+ type: 'string',
+ describe: Y()`Package to be installed.`
+ })
+ .option('cache', {
+ type: 'string',
+ describe: Y()`Location of the npm cache.`
+ })
+ .option('no-install', {
+ type: 'boolean',
+ describe: Y()`Skip installation if a package is missing.`
+ })
+ .option('userconfig', {
+ type: 'string',
+ describe: Y()`Path to user npmrc.`
+ })
+ .option('call', {
+ alias: 'c',
+ type: 'string',
+ describe: Y()`Execute string as if inside \`npm run-script\`.`
+ })
+ .option('shell', {
+ alias: 's',
+ type: 'string',
+ describe: Y()`Shell to execute the command with, if any.`,
+ default: false
+ })
+ .option('shell-auto-fallback', {
+ choices: ['', 'bash', 'fish', 'zsh'],
+ describe: Y()`Generate shell code to use npx as the "command not found" fallback.`,
+ requireArg: false,
+ type: 'string'
+ })
+ .option('ignore-existing', {
+ describe: Y()`Ignores existing binaries in $PATH, or in the local project. This forces npx to do a temporary install and use the latest version.`,
+ type: 'boolean'
+ })
+ .option('quiet', {
+ alias: 'q',
+ describe: Y()`Suppress output from npx itself. Subcommands will not be affected.`,
+ type: 'boolean'
+ })
+ .option('npm', {
+ describe: Y()`npm binary to use for internal operations.`,
+ type: 'string',
+ default: defaultNpm || 'npm'
+ })
+ .option('node-arg', {
+ alias: 'n',
+ type: 'string',
+ describe: Y()`Extra node argument when calling a node binary.`
+ })
+ .version()
+ .alias('version', 'v')
+ .help()
+ .alias('help', 'h')
+ .epilogue(Y()`For the full documentation, see the manual page for npx(1).`)
}
var _y