Compare commits
1 Commits
main
...
dependabot
| Author | SHA1 | Date |
|---|---|---|
|
|
7770caac38 |
|
|
@ -20,8 +20,7 @@
|
||||||
"me-dutour-mathieu.vscode-github-actions",
|
"me-dutour-mathieu.vscode-github-actions",
|
||||||
"redhat.vscode-yaml",
|
"redhat.vscode-yaml",
|
||||||
"rvest.vs-code-prettier-eslint",
|
"rvest.vs-code-prettier-eslint",
|
||||||
"yzhang.markdown-all-in-one",
|
"yzhang.markdown-all-in-one"
|
||||||
"eamodio.gitlens"
|
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
|
@ -38,6 +37,6 @@
|
||||||
},
|
},
|
||||||
"features": {
|
"features": {
|
||||||
"ghcr.io/devcontainers/features/github-cli:1": {},
|
"ghcr.io/devcontainers/features/github-cli:1": {},
|
||||||
"ghcr.io/devcontainers-community/npm-features/prettier:1": {}
|
"ghcr.io/devcontainers-contrib/features/prettier:1": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3,20 +3,20 @@ updates:
|
||||||
- package-ecosystem: github-actions
|
- package-ecosystem: github-actions
|
||||||
directory: /
|
directory: /
|
||||||
commit-message:
|
commit-message:
|
||||||
prefix: "chore: "
|
prefix: "[Chore] "
|
||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
|
|
||||||
- package-ecosystem: npm
|
- package-ecosystem: npm
|
||||||
directory: /
|
directory: /
|
||||||
commit-message:
|
commit-message:
|
||||||
prefix: "chore: "
|
prefix: "[Chore] "
|
||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
|
|
||||||
- package-ecosystem: devcontainers
|
- package-ecosystem: devcontainers
|
||||||
directory: /
|
directory: /
|
||||||
commit-message:
|
commit-message:
|
||||||
prefix: "chore: "
|
prefix: "[Chore] "
|
||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
|
|
|
||||||
|
|
@ -3320,6 +3320,286 @@ function copyFile(srcFile, destFile, force) {
|
||||||
}
|
}
|
||||||
//# sourceMappingURL=io.js.map
|
//# sourceMappingURL=io.js.map
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 9380:
|
||||||
|
/***/ ((module) => {
|
||||||
|
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
module.exports = balanced;
|
||||||
|
function balanced(a, b, str) {
|
||||||
|
if (a instanceof RegExp) a = maybeMatch(a, str);
|
||||||
|
if (b instanceof RegExp) b = maybeMatch(b, str);
|
||||||
|
|
||||||
|
var r = range(a, b, str);
|
||||||
|
|
||||||
|
return r && {
|
||||||
|
start: r[0],
|
||||||
|
end: r[1],
|
||||||
|
pre: str.slice(0, r[0]),
|
||||||
|
body: str.slice(r[0] + a.length, r[1]),
|
||||||
|
post: str.slice(r[1] + b.length)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function maybeMatch(reg, str) {
|
||||||
|
var m = str.match(reg);
|
||||||
|
return m ? m[0] : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
balanced.range = range;
|
||||||
|
function range(a, b, str) {
|
||||||
|
var begs, beg, left, right, result;
|
||||||
|
var ai = str.indexOf(a);
|
||||||
|
var bi = str.indexOf(b, ai + 1);
|
||||||
|
var i = ai;
|
||||||
|
|
||||||
|
if (ai >= 0 && bi > 0) {
|
||||||
|
if(a===b) {
|
||||||
|
return [ai, bi];
|
||||||
|
}
|
||||||
|
begs = [];
|
||||||
|
left = str.length;
|
||||||
|
|
||||||
|
while (i >= 0 && !result) {
|
||||||
|
if (i == ai) {
|
||||||
|
begs.push(i);
|
||||||
|
ai = str.indexOf(a, i + 1);
|
||||||
|
} else if (begs.length == 1) {
|
||||||
|
result = [ begs.pop(), bi ];
|
||||||
|
} else {
|
||||||
|
beg = begs.pop();
|
||||||
|
if (beg < left) {
|
||||||
|
left = beg;
|
||||||
|
right = bi;
|
||||||
|
}
|
||||||
|
|
||||||
|
bi = str.indexOf(b, i + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
i = ai < bi && ai >= 0 ? ai : bi;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (begs.length) {
|
||||||
|
result = [ left, right ];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 4691:
|
||||||
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||||
|
|
||||||
|
var balanced = __nccwpck_require__(9380);
|
||||||
|
|
||||||
|
module.exports = expandTop;
|
||||||
|
|
||||||
|
var escSlash = '\0SLASH'+Math.random()+'\0';
|
||||||
|
var escOpen = '\0OPEN'+Math.random()+'\0';
|
||||||
|
var escClose = '\0CLOSE'+Math.random()+'\0';
|
||||||
|
var escComma = '\0COMMA'+Math.random()+'\0';
|
||||||
|
var escPeriod = '\0PERIOD'+Math.random()+'\0';
|
||||||
|
|
||||||
|
function numeric(str) {
|
||||||
|
return parseInt(str, 10) == str
|
||||||
|
? parseInt(str, 10)
|
||||||
|
: str.charCodeAt(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
function escapeBraces(str) {
|
||||||
|
return str.split('\\\\').join(escSlash)
|
||||||
|
.split('\\{').join(escOpen)
|
||||||
|
.split('\\}').join(escClose)
|
||||||
|
.split('\\,').join(escComma)
|
||||||
|
.split('\\.').join(escPeriod);
|
||||||
|
}
|
||||||
|
|
||||||
|
function unescapeBraces(str) {
|
||||||
|
return str.split(escSlash).join('\\')
|
||||||
|
.split(escOpen).join('{')
|
||||||
|
.split(escClose).join('}')
|
||||||
|
.split(escComma).join(',')
|
||||||
|
.split(escPeriod).join('.');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Basically just str.split(","), but handling cases
|
||||||
|
// where we have nested braced sections, which should be
|
||||||
|
// treated as individual members, like {a,{b,c},d}
|
||||||
|
function parseCommaParts(str) {
|
||||||
|
if (!str)
|
||||||
|
return [''];
|
||||||
|
|
||||||
|
var parts = [];
|
||||||
|
var m = balanced('{', '}', str);
|
||||||
|
|
||||||
|
if (!m)
|
||||||
|
return str.split(',');
|
||||||
|
|
||||||
|
var pre = m.pre;
|
||||||
|
var body = m.body;
|
||||||
|
var post = m.post;
|
||||||
|
var p = pre.split(',');
|
||||||
|
|
||||||
|
p[p.length-1] += '{' + body + '}';
|
||||||
|
var postParts = parseCommaParts(post);
|
||||||
|
if (post.length) {
|
||||||
|
p[p.length-1] += postParts.shift();
|
||||||
|
p.push.apply(p, postParts);
|
||||||
|
}
|
||||||
|
|
||||||
|
parts.push.apply(parts, p);
|
||||||
|
|
||||||
|
return parts;
|
||||||
|
}
|
||||||
|
|
||||||
|
function expandTop(str) {
|
||||||
|
if (!str)
|
||||||
|
return [];
|
||||||
|
|
||||||
|
// I don't know why Bash 4.3 does this, but it does.
|
||||||
|
// Anything starting with {} will have the first two bytes preserved
|
||||||
|
// but *only* at the top level, so {},a}b will not expand to anything,
|
||||||
|
// but a{},b}c will be expanded to [a}c,abc].
|
||||||
|
// One could argue that this is a bug in Bash, but since the goal of
|
||||||
|
// this module is to match Bash's rules, we escape a leading {}
|
||||||
|
if (str.substr(0, 2) === '{}') {
|
||||||
|
str = '\\{\\}' + str.substr(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return expand(escapeBraces(str), true).map(unescapeBraces);
|
||||||
|
}
|
||||||
|
|
||||||
|
function embrace(str) {
|
||||||
|
return '{' + str + '}';
|
||||||
|
}
|
||||||
|
function isPadded(el) {
|
||||||
|
return /^-?0\d/.test(el);
|
||||||
|
}
|
||||||
|
|
||||||
|
function lte(i, y) {
|
||||||
|
return i <= y;
|
||||||
|
}
|
||||||
|
function gte(i, y) {
|
||||||
|
return i >= y;
|
||||||
|
}
|
||||||
|
|
||||||
|
function expand(str, isTop) {
|
||||||
|
var expansions = [];
|
||||||
|
|
||||||
|
var m = balanced('{', '}', str);
|
||||||
|
if (!m) return [str];
|
||||||
|
|
||||||
|
// no need to expand pre, since it is guaranteed to be free of brace-sets
|
||||||
|
var pre = m.pre;
|
||||||
|
var post = m.post.length
|
||||||
|
? expand(m.post, false)
|
||||||
|
: [''];
|
||||||
|
|
||||||
|
if (/\$$/.test(m.pre)) {
|
||||||
|
for (var k = 0; k < post.length; k++) {
|
||||||
|
var expansion = pre+ '{' + m.body + '}' + post[k];
|
||||||
|
expansions.push(expansion);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
|
||||||
|
var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
|
||||||
|
var isSequence = isNumericSequence || isAlphaSequence;
|
||||||
|
var isOptions = m.body.indexOf(',') >= 0;
|
||||||
|
if (!isSequence && !isOptions) {
|
||||||
|
// {a},b}
|
||||||
|
if (m.post.match(/,.*\}/)) {
|
||||||
|
str = m.pre + '{' + m.body + escClose + m.post;
|
||||||
|
return expand(str);
|
||||||
|
}
|
||||||
|
return [str];
|
||||||
|
}
|
||||||
|
|
||||||
|
var n;
|
||||||
|
if (isSequence) {
|
||||||
|
n = m.body.split(/\.\./);
|
||||||
|
} else {
|
||||||
|
n = parseCommaParts(m.body);
|
||||||
|
if (n.length === 1) {
|
||||||
|
// x{{a,b}}y ==> x{a}y x{b}y
|
||||||
|
n = expand(n[0], false).map(embrace);
|
||||||
|
if (n.length === 1) {
|
||||||
|
return post.map(function(p) {
|
||||||
|
return m.pre + n[0] + p;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// at this point, n is the parts, and we know it's not a comma set
|
||||||
|
// with a single entry.
|
||||||
|
var N;
|
||||||
|
|
||||||
|
if (isSequence) {
|
||||||
|
var x = numeric(n[0]);
|
||||||
|
var y = numeric(n[1]);
|
||||||
|
var width = Math.max(n[0].length, n[1].length)
|
||||||
|
var incr = n.length == 3
|
||||||
|
? Math.abs(numeric(n[2]))
|
||||||
|
: 1;
|
||||||
|
var test = lte;
|
||||||
|
var reverse = y < x;
|
||||||
|
if (reverse) {
|
||||||
|
incr *= -1;
|
||||||
|
test = gte;
|
||||||
|
}
|
||||||
|
var pad = n.some(isPadded);
|
||||||
|
|
||||||
|
N = [];
|
||||||
|
|
||||||
|
for (var i = x; test(i, y); i += incr) {
|
||||||
|
var c;
|
||||||
|
if (isAlphaSequence) {
|
||||||
|
c = String.fromCharCode(i);
|
||||||
|
if (c === '\\')
|
||||||
|
c = '';
|
||||||
|
} else {
|
||||||
|
c = String(i);
|
||||||
|
if (pad) {
|
||||||
|
var need = width - c.length;
|
||||||
|
if (need > 0) {
|
||||||
|
var z = new Array(need + 1).join('0');
|
||||||
|
if (i < 0)
|
||||||
|
c = '-' + z + c.slice(1);
|
||||||
|
else
|
||||||
|
c = z + c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
N.push(c);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
N = [];
|
||||||
|
|
||||||
|
for (var j = 0; j < n.length; j++) {
|
||||||
|
N.push.apply(N, expand(n[j], false));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var j = 0; j < N.length; j++) {
|
||||||
|
for (var k = 0; k < post.length; k++) {
|
||||||
|
var expansion = pre + N[j] + post[k];
|
||||||
|
if (!isTop || isSequence || expansion)
|
||||||
|
expansions.push(expansion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return expansions;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 770:
|
/***/ 770:
|
||||||
|
|
@ -8930,7 +9210,7 @@ module.exports = {
|
||||||
|
|
||||||
|
|
||||||
const { parseSetCookie } = __nccwpck_require__(8915)
|
const { parseSetCookie } = __nccwpck_require__(8915)
|
||||||
const { stringify } = __nccwpck_require__(3834)
|
const { stringify, getHeadersList } = __nccwpck_require__(3834)
|
||||||
const { webidl } = __nccwpck_require__(4222)
|
const { webidl } = __nccwpck_require__(4222)
|
||||||
const { Headers } = __nccwpck_require__(6349)
|
const { Headers } = __nccwpck_require__(6349)
|
||||||
|
|
||||||
|
|
@ -9006,13 +9286,14 @@ function getSetCookies (headers) {
|
||||||
|
|
||||||
webidl.brandCheck(headers, Headers, { strict: false })
|
webidl.brandCheck(headers, Headers, { strict: false })
|
||||||
|
|
||||||
const cookies = headers.getSetCookie()
|
const cookies = getHeadersList(headers).cookies
|
||||||
|
|
||||||
if (!cookies) {
|
if (!cookies) {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
|
||||||
return cookies.map((pair) => parseSetCookie(pair))
|
// In older versions of undici, cookies is a list of name:value.
|
||||||
|
return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -9440,15 +9721,14 @@ module.exports = {
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 3834:
|
/***/ 3834:
|
||||||
/***/ ((module) => {
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
|
||||||
/**
|
const assert = __nccwpck_require__(2613)
|
||||||
* @param {string} value
|
const { kHeadersList } = __nccwpck_require__(6443)
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
function isCTLExcludingHtab (value) {
|
function isCTLExcludingHtab (value) {
|
||||||
if (value.length === 0) {
|
if (value.length === 0) {
|
||||||
return false
|
return false
|
||||||
|
|
@ -9709,13 +9989,31 @@ function stringify (cookie) {
|
||||||
return out.join('; ')
|
return out.join('; ')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let kHeadersListNode
|
||||||
|
|
||||||
|
function getHeadersList (headers) {
|
||||||
|
if (headers[kHeadersList]) {
|
||||||
|
return headers[kHeadersList]
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!kHeadersListNode) {
|
||||||
|
kHeadersListNode = Object.getOwnPropertySymbols(headers).find(
|
||||||
|
(symbol) => symbol.description === 'headers list'
|
||||||
|
)
|
||||||
|
|
||||||
|
assert(kHeadersListNode, 'Headers cannot be parsed')
|
||||||
|
}
|
||||||
|
|
||||||
|
const headersList = headers[kHeadersListNode]
|
||||||
|
assert(headersList)
|
||||||
|
|
||||||
|
return headersList
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
isCTLExcludingHtab,
|
isCTLExcludingHtab,
|
||||||
validateCookieName,
|
stringify,
|
||||||
validateCookiePath,
|
getHeadersList
|
||||||
validateCookieValue,
|
|
||||||
toIMFDate,
|
|
||||||
stringify
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13719,7 +14017,6 @@ const {
|
||||||
isValidHeaderName,
|
isValidHeaderName,
|
||||||
isValidHeaderValue
|
isValidHeaderValue
|
||||||
} = __nccwpck_require__(5523)
|
} = __nccwpck_require__(5523)
|
||||||
const util = __nccwpck_require__(9023)
|
|
||||||
const { webidl } = __nccwpck_require__(4222)
|
const { webidl } = __nccwpck_require__(4222)
|
||||||
const assert = __nccwpck_require__(2613)
|
const assert = __nccwpck_require__(2613)
|
||||||
|
|
||||||
|
|
@ -14273,9 +14570,6 @@ Object.defineProperties(Headers.prototype, {
|
||||||
[Symbol.toStringTag]: {
|
[Symbol.toStringTag]: {
|
||||||
value: 'Headers',
|
value: 'Headers',
|
||||||
configurable: true
|
configurable: true
|
||||||
},
|
|
||||||
[util.inspect.custom]: {
|
|
||||||
enumerable: false
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -23452,20 +23746,6 @@ class Pool extends PoolBase {
|
||||||
? { ...options.interceptors }
|
? { ...options.interceptors }
|
||||||
: undefined
|
: undefined
|
||||||
this[kFactory] = factory
|
this[kFactory] = factory
|
||||||
|
|
||||||
this.on('connectionError', (origin, targets, error) => {
|
|
||||||
// If a connection error occurs, we remove the client from the pool,
|
|
||||||
// and emit a connectionError event. They will not be re-used.
|
|
||||||
// Fixes https://github.com/nodejs/undici/issues/3895
|
|
||||||
for (const target of targets) {
|
|
||||||
// Do not use kRemoveClient here, as it will close the client,
|
|
||||||
// but the client cannot be closed in this state.
|
|
||||||
const idx = this[kClients].indexOf(target)
|
|
||||||
if (idx !== -1) {
|
|
||||||
this[kClients].splice(idx, 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[kGetDispatcher] () {
|
[kGetDispatcher] () {
|
||||||
|
|
@ -27681,275 +27961,6 @@ function parseParams (str) {
|
||||||
module.exports = parseParams
|
module.exports = parseParams
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 516:
|
|
||||||
/***/ ((__unused_webpack_module, exports) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
||||||
exports.range = exports.balanced = void 0;
|
|
||||||
const balanced = (a, b, str) => {
|
|
||||||
const ma = a instanceof RegExp ? maybeMatch(a, str) : a;
|
|
||||||
const mb = b instanceof RegExp ? maybeMatch(b, str) : b;
|
|
||||||
const r = ma !== null && mb != null && (0, exports.range)(ma, mb, str);
|
|
||||||
return (r && {
|
|
||||||
start: r[0],
|
|
||||||
end: r[1],
|
|
||||||
pre: str.slice(0, r[0]),
|
|
||||||
body: str.slice(r[0] + ma.length, r[1]),
|
|
||||||
post: str.slice(r[1] + mb.length),
|
|
||||||
});
|
|
||||||
};
|
|
||||||
exports.balanced = balanced;
|
|
||||||
const maybeMatch = (reg, str) => {
|
|
||||||
const m = str.match(reg);
|
|
||||||
return m ? m[0] : null;
|
|
||||||
};
|
|
||||||
const range = (a, b, str) => {
|
|
||||||
let begs, beg, left, right = undefined, result;
|
|
||||||
let ai = str.indexOf(a);
|
|
||||||
let bi = str.indexOf(b, ai + 1);
|
|
||||||
let i = ai;
|
|
||||||
if (ai >= 0 && bi > 0) {
|
|
||||||
if (a === b) {
|
|
||||||
return [ai, bi];
|
|
||||||
}
|
|
||||||
begs = [];
|
|
||||||
left = str.length;
|
|
||||||
while (i >= 0 && !result) {
|
|
||||||
if (i === ai) {
|
|
||||||
begs.push(i);
|
|
||||||
ai = str.indexOf(a, i + 1);
|
|
||||||
}
|
|
||||||
else if (begs.length === 1) {
|
|
||||||
const r = begs.pop();
|
|
||||||
if (r !== undefined)
|
|
||||||
result = [r, bi];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
beg = begs.pop();
|
|
||||||
if (beg !== undefined && beg < left) {
|
|
||||||
left = beg;
|
|
||||||
right = bi;
|
|
||||||
}
|
|
||||||
bi = str.indexOf(b, i + 1);
|
|
||||||
}
|
|
||||||
i = ai < bi && ai >= 0 ? ai : bi;
|
|
||||||
}
|
|
||||||
if (begs.length && right !== undefined) {
|
|
||||||
result = [left, right];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
exports.range = range;
|
|
||||||
//# sourceMappingURL=index.js.map
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 1215:
|
|
||||||
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
||||||
exports.expand = expand;
|
|
||||||
const balanced_match_1 = __nccwpck_require__(516);
|
|
||||||
const escSlash = '\0SLASH' + Math.random() + '\0';
|
|
||||||
const escOpen = '\0OPEN' + Math.random() + '\0';
|
|
||||||
const escClose = '\0CLOSE' + Math.random() + '\0';
|
|
||||||
const escComma = '\0COMMA' + Math.random() + '\0';
|
|
||||||
const escPeriod = '\0PERIOD' + Math.random() + '\0';
|
|
||||||
const escSlashPattern = new RegExp(escSlash, 'g');
|
|
||||||
const escOpenPattern = new RegExp(escOpen, 'g');
|
|
||||||
const escClosePattern = new RegExp(escClose, 'g');
|
|
||||||
const escCommaPattern = new RegExp(escComma, 'g');
|
|
||||||
const escPeriodPattern = new RegExp(escPeriod, 'g');
|
|
||||||
const slashPattern = /\\\\/g;
|
|
||||||
const openPattern = /\\{/g;
|
|
||||||
const closePattern = /\\}/g;
|
|
||||||
const commaPattern = /\\,/g;
|
|
||||||
const periodPattern = /\\./g;
|
|
||||||
function numeric(str) {
|
|
||||||
return !isNaN(str) ? parseInt(str, 10) : str.charCodeAt(0);
|
|
||||||
}
|
|
||||||
function escapeBraces(str) {
|
|
||||||
return str
|
|
||||||
.replace(slashPattern, escSlash)
|
|
||||||
.replace(openPattern, escOpen)
|
|
||||||
.replace(closePattern, escClose)
|
|
||||||
.replace(commaPattern, escComma)
|
|
||||||
.replace(periodPattern, escPeriod);
|
|
||||||
}
|
|
||||||
function unescapeBraces(str) {
|
|
||||||
return str
|
|
||||||
.replace(escSlashPattern, '\\')
|
|
||||||
.replace(escOpenPattern, '{')
|
|
||||||
.replace(escClosePattern, '}')
|
|
||||||
.replace(escCommaPattern, ',')
|
|
||||||
.replace(escPeriodPattern, '.');
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Basically just str.split(","), but handling cases
|
|
||||||
* where we have nested braced sections, which should be
|
|
||||||
* treated as individual members, like {a,{b,c},d}
|
|
||||||
*/
|
|
||||||
function parseCommaParts(str) {
|
|
||||||
if (!str) {
|
|
||||||
return [''];
|
|
||||||
}
|
|
||||||
const parts = [];
|
|
||||||
const m = (0, balanced_match_1.balanced)('{', '}', str);
|
|
||||||
if (!m) {
|
|
||||||
return str.split(',');
|
|
||||||
}
|
|
||||||
const { pre, body, post } = m;
|
|
||||||
const p = pre.split(',');
|
|
||||||
p[p.length - 1] += '{' + body + '}';
|
|
||||||
const postParts = parseCommaParts(post);
|
|
||||||
if (post.length) {
|
|
||||||
;
|
|
||||||
p[p.length - 1] += postParts.shift();
|
|
||||||
p.push.apply(p, postParts);
|
|
||||||
}
|
|
||||||
parts.push.apply(parts, p);
|
|
||||||
return parts;
|
|
||||||
}
|
|
||||||
function expand(str) {
|
|
||||||
if (!str) {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
// I don't know why Bash 4.3 does this, but it does.
|
|
||||||
// Anything starting with {} will have the first two bytes preserved
|
|
||||||
// but *only* at the top level, so {},a}b will not expand to anything,
|
|
||||||
// but a{},b}c will be expanded to [a}c,abc].
|
|
||||||
// One could argue that this is a bug in Bash, but since the goal of
|
|
||||||
// this module is to match Bash's rules, we escape a leading {}
|
|
||||||
if (str.slice(0, 2) === '{}') {
|
|
||||||
str = '\\{\\}' + str.slice(2);
|
|
||||||
}
|
|
||||||
return expand_(escapeBraces(str), true).map(unescapeBraces);
|
|
||||||
}
|
|
||||||
function embrace(str) {
|
|
||||||
return '{' + str + '}';
|
|
||||||
}
|
|
||||||
function isPadded(el) {
|
|
||||||
return /^-?0\d/.test(el);
|
|
||||||
}
|
|
||||||
function lte(i, y) {
|
|
||||||
return i <= y;
|
|
||||||
}
|
|
||||||
function gte(i, y) {
|
|
||||||
return i >= y;
|
|
||||||
}
|
|
||||||
function expand_(str, isTop) {
|
|
||||||
/** @type {string[]} */
|
|
||||||
const expansions = [];
|
|
||||||
const m = (0, balanced_match_1.balanced)('{', '}', str);
|
|
||||||
if (!m)
|
|
||||||
return [str];
|
|
||||||
// no need to expand pre, since it is guaranteed to be free of brace-sets
|
|
||||||
const pre = m.pre;
|
|
||||||
const post = m.post.length ? expand_(m.post, false) : [''];
|
|
||||||
if (/\$$/.test(m.pre)) {
|
|
||||||
for (let k = 0; k < post.length; k++) {
|
|
||||||
const expansion = pre + '{' + m.body + '}' + post[k];
|
|
||||||
expansions.push(expansion);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
const isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
|
|
||||||
const isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
|
|
||||||
const isSequence = isNumericSequence || isAlphaSequence;
|
|
||||||
const isOptions = m.body.indexOf(',') >= 0;
|
|
||||||
if (!isSequence && !isOptions) {
|
|
||||||
// {a},b}
|
|
||||||
if (m.post.match(/,(?!,).*\}/)) {
|
|
||||||
str = m.pre + '{' + m.body + escClose + m.post;
|
|
||||||
return expand_(str);
|
|
||||||
}
|
|
||||||
return [str];
|
|
||||||
}
|
|
||||||
let n;
|
|
||||||
if (isSequence) {
|
|
||||||
n = m.body.split(/\.\./);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
n = parseCommaParts(m.body);
|
|
||||||
if (n.length === 1 && n[0] !== undefined) {
|
|
||||||
// x{{a,b}}y ==> x{a}y x{b}y
|
|
||||||
n = expand_(n[0], false).map(embrace);
|
|
||||||
//XXX is this necessary? Can't seem to hit it in tests.
|
|
||||||
/* c8 ignore start */
|
|
||||||
if (n.length === 1) {
|
|
||||||
return post.map(p => m.pre + n[0] + p);
|
|
||||||
}
|
|
||||||
/* c8 ignore stop */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// at this point, n is the parts, and we know it's not a comma set
|
|
||||||
// with a single entry.
|
|
||||||
let N;
|
|
||||||
if (isSequence && n[0] !== undefined && n[1] !== undefined) {
|
|
||||||
const x = numeric(n[0]);
|
|
||||||
const y = numeric(n[1]);
|
|
||||||
const width = Math.max(n[0].length, n[1].length);
|
|
||||||
let incr = n.length === 3 && n[2] !== undefined ? Math.abs(numeric(n[2])) : 1;
|
|
||||||
let test = lte;
|
|
||||||
const reverse = y < x;
|
|
||||||
if (reverse) {
|
|
||||||
incr *= -1;
|
|
||||||
test = gte;
|
|
||||||
}
|
|
||||||
const pad = n.some(isPadded);
|
|
||||||
N = [];
|
|
||||||
for (let i = x; test(i, y); i += incr) {
|
|
||||||
let c;
|
|
||||||
if (isAlphaSequence) {
|
|
||||||
c = String.fromCharCode(i);
|
|
||||||
if (c === '\\') {
|
|
||||||
c = '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
c = String(i);
|
|
||||||
if (pad) {
|
|
||||||
const need = width - c.length;
|
|
||||||
if (need > 0) {
|
|
||||||
const z = new Array(need + 1).join('0');
|
|
||||||
if (i < 0) {
|
|
||||||
c = '-' + z + c.slice(1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
c = z + c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
N.push(c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
N = [];
|
|
||||||
for (let j = 0; j < n.length; j++) {
|
|
||||||
N.push.apply(N, expand_(n[j], false));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (let j = 0; j < N.length; j++) {
|
|
||||||
for (let k = 0; k < post.length; k++) {
|
|
||||||
const expansion = pre + N[j] + post[k];
|
|
||||||
if (!isTop || isSequence || expansion) {
|
|
||||||
expansions.push(expansion);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return expansions;
|
|
||||||
}
|
|
||||||
//# sourceMappingURL=index.js.map
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 2981:
|
/***/ 2981:
|
||||||
|
|
@ -30178,13 +30189,16 @@ exports.escape = escape;
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 1409:
|
/***/ 1409:
|
||||||
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.unescape = exports.escape = exports.AST = exports.Minimatch = exports.match = exports.makeRe = exports.braceExpand = exports.defaults = exports.filter = exports.GLOBSTAR = exports.sep = exports.minimatch = void 0;
|
exports.unescape = exports.escape = exports.AST = exports.Minimatch = exports.match = exports.makeRe = exports.braceExpand = exports.defaults = exports.filter = exports.GLOBSTAR = exports.sep = exports.minimatch = void 0;
|
||||||
const brace_expansion_1 = __nccwpck_require__(1215);
|
const brace_expansion_1 = __importDefault(__nccwpck_require__(4691));
|
||||||
const assert_valid_pattern_js_1 = __nccwpck_require__(8895);
|
const assert_valid_pattern_js_1 = __nccwpck_require__(8895);
|
||||||
const ast_js_1 = __nccwpck_require__(3238);
|
const ast_js_1 = __nccwpck_require__(3238);
|
||||||
const escape_js_1 = __nccwpck_require__(6726);
|
const escape_js_1 = __nccwpck_require__(6726);
|
||||||
|
|
@ -30337,7 +30351,7 @@ const braceExpand = (pattern, options = {}) => {
|
||||||
// shortcut. no need to expand.
|
// shortcut. no need to expand.
|
||||||
return [pattern];
|
return [pattern];
|
||||||
}
|
}
|
||||||
return (0, brace_expansion_1.expand)(pattern);
|
return (0, brace_expansion_1.default)(pattern);
|
||||||
};
|
};
|
||||||
exports.braceExpand = braceExpand;
|
exports.braceExpand = braceExpand;
|
||||||
exports.minimatch.braceExpand = exports.braceExpand;
|
exports.minimatch.braceExpand = exports.braceExpand;
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -81,13 +81,11 @@ 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
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
IN THE SOFTWARE.
|
IN THE SOFTWARE.
|
||||||
|
|
||||||
@isaacs/balanced-match
|
balanced-match
|
||||||
MIT
|
MIT
|
||||||
(MIT)
|
(MIT)
|
||||||
|
|
||||||
Original code Copyright Julian Gruber <julian@juliangruber.com>
|
Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
|
||||||
|
|
||||||
Port to TypeScript Copyright Isaac Z. Schlueter <i@izs.me>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
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
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
|
@ -108,13 +106,11 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
@isaacs/brace-expansion
|
brace-expansion
|
||||||
MIT
|
MIT
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright Julian Gruber <julian@juliangruber.com>
|
Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
|
||||||
|
|
||||||
TypeScript port Copyright Isaac Z. Schlueter <i@izs.me>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
18
package.json
18
package.json
|
|
@ -25,24 +25,24 @@
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.11.1",
|
"@actions/core": "^1.11.1",
|
||||||
"glob": "^11.0.3"
|
"glob": "^11.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@stylistic/eslint-plugin": "^2.13.0",
|
"@stylistic/eslint-plugin": "^2.13.0",
|
||||||
"@types/jest": "^29.5.14",
|
"@types/jest": "^29.5.14",
|
||||||
"@types/lodash": "^4.17.20",
|
"@types/lodash": "^4.17.16",
|
||||||
"@types/node": "^24.2.0",
|
"@types/node": "^22.14.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.33.1",
|
"@typescript-eslint/eslint-plugin": "^8.29.1",
|
||||||
"@typescript-eslint/parser": "^8.38.0",
|
"@typescript-eslint/parser": "^8.30.1",
|
||||||
"@vercel/ncc": "^0.38.3",
|
"@vercel/ncc": "^0.38.3",
|
||||||
"eslint": "^8.57.1",
|
"eslint": "^8.57.1",
|
||||||
"eslint-plugin-github": "^5.1.8",
|
"eslint-plugin-github": "^6.0.0",
|
||||||
"eslint-plugin-jest": "^28.11.0",
|
"eslint-plugin-jest": "^28.11.0",
|
||||||
"eslint-plugin-prettier": "^5.5.3",
|
"eslint-plugin-prettier": "^5.2.6",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "^4.1.0",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"ts-jest": "^29.4.0",
|
"ts-jest": "^29.3.2",
|
||||||
"typescript": "^5.9.2"
|
"typescript": "^5.8.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue