mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
Backports the following commits to 7.x: - [npm] upgrade getopts (#34603)
This commit is contained in:
parent
c1a11d0bb4
commit
0f342e3c3f
10 changed files with 166 additions and 132 deletions
|
@ -280,7 +280,7 @@
|
|||
"@types/eslint": "^4.16.6",
|
||||
"@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",
|
||||
|
@ -356,7 +356,7 @@
|
|||
"faker": "1.1.0",
|
||||
"fetch-mock": "7.3.0",
|
||||
"geckodriver": "^1.16.1",
|
||||
"getopts": "2.0.0",
|
||||
"getopts": "^2.2.4",
|
||||
"grunt": "1.0.3",
|
||||
"grunt-cli": "^1.2.0",
|
||||
"grunt-contrib-watch": "^1.1.0",
|
||||
|
|
|
@ -25,7 +25,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.3.3333"
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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.3.3333"
|
||||
},
|
||||
|
|
|
@ -26,7 +26,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",
|
||||
|
|
|
@ -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",
|
||||
|
|
252
packages/kbn-pm/dist/index.js
vendored
252
packages/kbn-pm/dist/index.js
vendored
|
@ -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 */
|
||||
|
|
|
@ -20,7 +20,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",
|
||||
|
@ -44,7 +44,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",
|
||||
|
|
|
@ -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",
|
||||
|
|
26
yarn.lock
26
yarn.lock
|
@ -2644,10 +2644,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"
|
||||
|
@ -11618,20 +11618,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"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue