[7.0] [npm] upgrade getopts (#34603) (#35109)

Backports the following commits to 7.0:
 - [npm] upgrade getopts  (#34603)
This commit is contained in:
Spencer 2019-04-15 15:45:17 -07:00 committed by GitHub
parent c45fbf3ca4
commit 96da7ad767
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 166 additions and 132 deletions

View file

@ -275,7 +275,7 @@
"@types/eslint": "^4.16.2",
"@types/execa": "^0.9.0",
"@types/fetch-mock": "7.2.1",
"@types/getopts": "^2.0.0",
"@types/getopts": "^2.0.1",
"@types/glob": "^5.0.35",
"@types/globby": "^8.0.0",
"@types/graphql": "^0.13.1",
@ -347,7 +347,7 @@
"faker": "1.1.0",
"fetch-mock": "7.3.0",
"geckodriver": "^1.16.0",
"getopts": "2.0.0",
"getopts": "^2.2.4",
"grunt": "1.0.1",
"grunt-cli": "^1.2.0",
"grunt-contrib-watch": "^1.1.0",

View file

@ -24,7 +24,7 @@
"@kbn/dev-utils": "1.0.0",
"@kbn/expect": "1.0.0",
"del": "^3.0.0",
"getopts": "^2.2.3",
"getopts": "^2.2.4",
"supports-color": "^6.1.0",
"typescript": "^3.0.3"
}

View file

@ -11,7 +11,7 @@
"dedent": "^0.7.0",
"del": "^3.0.0",
"execa": "^1.0.0",
"getopts": "^2.0.6",
"getopts": "^2.2.4",
"glob": "^7.1.2",
"mkdirp": "^0.5.1",
"node-fetch": "^2.0.0",

View file

@ -23,7 +23,7 @@
"@types/intl-relativeformat": "^2.1.0",
"@types/react-intl": "^2.3.15",
"del": "^3.0.0",
"getopts": "^2.2.3",
"getopts": "^2.2.4",
"supports-color": "^6.1.0",
"typescript": "^3.0.3"
},

View file

@ -25,7 +25,7 @@
"copy-webpack-plugin": "^4.6.0",
"css-loader": "1.0.0",
"del": "^3.0.0",
"getopts": "^2.2.3",
"getopts": "^2.2.4",
"pegjs": "0.9.0",
"sass-loader": "^7.1.0",
"style-loader": "0.23.1",

View file

@ -7,7 +7,7 @@
"chalk": "^2.4.1",
"dedent": "^0.7.0",
"execa": "^1.0.0",
"getopts": "^2.0.0",
"getopts": "^2.2.4",
"lodash.camelcase": "^4.3.0",
"lodash.kebabcase": "^4.1.1",
"lodash.snakecase": "^4.1.1",

View file

@ -2278,28 +2278,41 @@ if (true) {
/***/ }),
/* 15 */
/***/ (function(module, exports) {
/***/ (function(module, exports, __webpack_require__) {
const SHORTSPLIT = /$|[!-@\[-`{-~].*/g
const EMPTY = []
"use strict";
function array(any) {
return Array.isArray(any) ? any : [any]
const EMPTYARR = []
const SHORTSPLIT = /$|[!-@[-`{-~][\s\S]*/g
const isArray = Array.isArray
const parseValue = function(any) {
if (any === "") return ""
if (any === "false") return false
const maybe = Number(any)
return maybe * 0 === 0 ? maybe : any
}
function aliases(aliases) {
var out = {}
const parseAlias = function(aliases) {
let out = {},
key,
alias,
prev,
len,
any,
i,
k
for (var key in aliases) {
var alias = (out[key] = array(aliases[key]))
for (key in aliases) {
any = aliases[key]
alias = out[key] = isArray(any) ? any : [any]
for (var i = 0, len = alias.length; i < len; i++) {
var curr = (out[alias[i]] = [key])
for (i = 0, len = alias.length; i < len; i++) {
prev = out[alias[i]] = [key]
for (var j = 0; j < len; j++) {
if (i !== j) {
curr.push(alias[j])
}
for (k = 0; k < len; k++) {
if (i !== k) prev.push(alias[k])
}
}
}
@ -2307,22 +2320,25 @@ function aliases(aliases) {
return out
}
function booleans(aliases, booleans) {
var out = {}
const parseDefault = function(aliases, defaults) {
let out = {},
key,
alias,
value,
len,
i
if (booleans !== undefined) {
for (var i = 0, len = booleans.length; i < len; i++) {
var key = booleans[i]
var alias = aliases[key]
for (key in defaults) {
value = defaults[key]
alias = aliases[key]
out[key] = true
out[key] = value
if (alias === undefined) {
aliases[key] = EMPTY
} else {
for (var j = 0, end = alias.length; j < end; j++) {
out[alias[j]] = true
}
if (alias === undefined) {
aliases[key] = EMPTYARR
} else {
for (i = 0, len = alias.length; i < len; i++) {
out[alias[i]] = value
}
}
}
@ -2330,21 +2346,27 @@ function booleans(aliases, booleans) {
return out
}
function defaults(aliases, defaults) {
var out = {}
const parseOptions = function(aliases, options, value) {
let out = {},
key,
alias,
len,
end,
i,
k
for (var key in defaults) {
var value = defaults[key]
var alias = aliases[key]
if (options !== undefined) {
for (i = 0, len = options.length; i < len; i++) {
key = options[i]
alias = aliases[key]
if (out[key] === undefined) {
out[key] = value
if (alias === undefined) {
aliases[key] = EMPTY
aliases[key] = EMPTYARR
} else {
for (var i = 0, len = alias.length; i < len; i++) {
out[alias[i]] = value
for (k = 0, end = alias.length; k < end; k++) {
out[alias[k]] = value
}
}
}
@ -2353,96 +2375,118 @@ function defaults(aliases, defaults) {
return out
}
function set(out, key, value, aliases, unknown) {
var curr = out[key]
var alias = aliases[key]
var known = alias !== undefined
const write = function(out, key, value, aliases, unknown) {
let i,
prev,
alias = aliases[key],
len = alias === undefined ? -1 : alias.length
if (known || unknown === undefined || false !== unknown(key)) {
if (curr === undefined) {
if (len >= 0 || unknown === undefined || unknown(key)) {
prev = out[key]
if (prev === undefined) {
out[key] = value
} else {
if (Array.isArray(curr)) {
curr.push(value)
if (isArray(prev)) {
prev.push(value)
} else {
out[key] = [curr, value]
out[key] = [prev, value]
}
}
if (known) {
for (var i = 0, len = alias.length; i < len; ) {
out[alias[i++]] = out[key]
}
for (i = 0; i < len; i++) {
out[alias[i]] = out[key]
}
}
}
module.exports = function(argv, opts) {
var unknown = (opts = opts || {}).unknown
var alias = aliases(opts.alias)
var values = defaults(alias, opts.default)
var bools = booleans(alias, opts.boolean)
var out = { _: [] }
const getopts = function(argv, opts) {
let unknown = (opts = opts || {}).unknown,
aliases = parseAlias(opts.alias),
strings = parseOptions(aliases, opts.string, ""),
values = parseDefault(aliases, opts.default),
bools = parseOptions(aliases, opts.boolean, false),
stopEarly = opts.stopEarly,
_ = [],
out = { _ },
i = 0,
k = 0,
len = argv.length,
key,
arg,
end,
match,
value
for (var i = 0, j = 0, len = argv.length, _ = out._; i < len; i++) {
var arg = argv[i]
for (; i < len; i++) {
arg = argv[i]
if (arg === "--") {
while (++i < len) {
_.push(argv[i])
}
} else if (arg === "-" || arg[0] !== "-") {
_.push(arg)
} else {
if (arg[1] === "-") {
var end = arg.indexOf("=", 2)
if (0 <= end) {
set(out, arg.slice(2, end), arg.slice(end + 1), alias, unknown)
} else {
if ("n" === arg[2] && "o" === arg[3] && "-" === arg[4]) {
set(out, arg.slice(5), false, alias, unknown)
} else {
var key = arg.slice(2)
set(
out,
key,
len === (j = i + 1) ||
argv[j][0] === "-" ||
bools[key] !== undefined ||
argv[(i = j)],
alias,
unknown
)
}
}
if (arg[0] !== "-" || arg === "-") {
if (stopEarly) while (i < len) _.push(argv[i++])
else _.push(arg)
} else if (arg === "--") {
while (++i < len) _.push(argv[i])
} else if (arg[1] === "-") {
end = arg.indexOf("=", 2)
if (arg[2] === "n" && arg[3] === "o" && arg[4] === "-") {
key = arg.slice(5, end >= 0 ? end : undefined)
value = false
} else if (end >= 0) {
key = arg.slice(2, end)
value =
bools[key] !== undefined ||
(strings[key] === undefined
? parseValue(arg.slice(end + 1))
: arg.slice(end + 1))
} else {
SHORTSPLIT.lastIndex = 2
var match = SHORTSPLIT.exec(arg)
var end = match.index
var value =
match[0] ||
len === (j = i + 1) ||
argv[j][0] === "-" ||
bools[arg[end - 1]] !== undefined ||
argv[(i = j)]
key = arg.slice(2)
value =
bools[key] !== undefined ||
(len === i + 1 || argv[i + 1][0] === "-"
? strings[key] === undefined
? true
: ""
: strings[key] === undefined
? parseValue(argv[++i])
: argv[++i])
}
write(out, key, value, aliases, unknown)
} else {
SHORTSPLIT.lastIndex = 2
match = SHORTSPLIT.exec(arg)
end = match.index
value = match[0]
for (j = 1; j < end; ) {
set(out, arg[j], ++j !== end || value, alias, unknown)
}
for (k = 1; k < end; k++) {
write(
out,
(key = arg[k]),
k + 1 < end
? strings[key] === undefined ||
arg.substring(k + 1, (k = end)) + value
: value === ""
? len === i + 1 || argv[i + 1][0] === "-"
? strings[key] === undefined || ""
: bools[key] !== undefined ||
(strings[key] === undefined ? parseValue(argv[++i]) : argv[++i])
: bools[key] !== undefined ||
(strings[key] === undefined ? parseValue(value) : value),
aliases,
unknown
)
}
}
}
for (var key in values) {
if (out[key] === undefined) {
out[key] = values[key]
}
}
for (key in values) if (out[key] === undefined) out[key] = values[key]
for (key in bools) if (out[key] === undefined) out[key] = false
for (key in strings) if (out[key] === undefined) out[key] = ""
return out
}
module.exports = getopts
/***/ }),
/* 16 */

View file

@ -15,7 +15,7 @@
"@types/dedent": "^0.7.0",
"@types/del": "^3.0.0",
"@types/execa": "^0.9.0",
"@types/getopts": "^2.0.0",
"@types/getopts": "^2.0.1",
"@types/glob": "^5.0.35",
"@types/globby": "^6.1.0",
"@types/has-ansi": "^3.0.0",
@ -42,7 +42,7 @@
"dedent": "^0.7.0",
"del": "^3.0.0",
"execa": "^1.0.0",
"getopts": "^2.0.0",
"getopts": "^2.2.4",
"glob": "^7.1.2",
"globby": "^8.0.1",
"has-ansi": "^3.0.0",

View file

@ -18,7 +18,7 @@
"chalk": "^2.4.1",
"dedent": "^0.7.0",
"del": "^3.0.0",
"getopts": "^2.0.6",
"getopts": "^2.2.4",
"glob": "^7.1.2",
"rxjs": "^6.2.1",
"tar-fs": "^1.16.2",

View file

@ -1586,10 +1586,10 @@
dependencies:
"@types/node" "*"
"@types/getopts@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@types/getopts/-/getopts-2.0.0.tgz#8a603370cb367d3192bd8012ad39ab2320b5b476"
integrity sha512-/WJ73/6+Ffulo6LDm0P11Y0uGDaitJBJyVhXr4Eg+/Bqi0epRLOnGDNOgplhMBFy7NLBMlZ5UQcukSABqaV5Kg==
"@types/getopts@^2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@types/getopts/-/getopts-2.0.1.tgz#b7e5478fe7571838b45aff736a59ab69b8bcda18"
integrity sha512-JsQJHtzLYKunMz7acYOX6x5IJ/42CsjjHFfLCmis1Hn/qFoD/y0kJFUIAg8HoDigQpKUcWj55d8rxZQBnvz1Pw==
"@types/glob@*", "@types/glob@^5.0.35":
version "5.0.35"
@ -9937,20 +9937,10 @@ getobject@~0.1.0:
resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c"
integrity sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=
getopts@2.0.0, getopts@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.0.0.tgz#e9119f3e79d22d0685b77fbe78d5cd6e19ca1af0"
integrity sha512-mFGXdaF3lC1HVTQ/v9ndEnK14bdog30H1+743D5GZee8mUZTEMs04fXTvOnMwdpbSO9+/SCt5tMcgIj4qqP1ag==
getopts@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.0.6.tgz#4788d533a977527e79efd57b5e742ffa0dd33105"
integrity sha512-LauKhe3IAHTAlefQNg1I4rZRE6uPrCWwtVh/rMwHAvqY0PaEkRxOzhgyam0+ZBGdh0K6vybD81KeaS6v6H9+Ww==
getopts@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.3.tgz#11d229775e2ec2067ed8be6fcc39d9b4bf39cf7d"
integrity sha512-viEcb8TpgeG05+Nqo5EzZ8QR0hxdyrYDp6ZSTZqe2M/h53Bk036NmqG38Vhf5RGirC/Of9Xql+v66B2gp256SQ==
getopts@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.4.tgz#3137fe8a5fddf304904059a851bdc1c22f0f54fb"
integrity sha512-Rz7DGyomZjrenu9Jx4qmzdlvJgvrEFHXHvjK0FcZtcTC1U5FmES7OdZHUwMuSnEE6QvBvwse1JODKj7TgbSEjQ==
getos@^3.1.0:
version "3.1.0"