@storybook/core
Version:
Storybook framework-agnostic API
1,480 lines (1,466 loc) • 863 kB
JavaScript
"use strict";
var Hh = Object.create;
var ur = Object.defineProperty;
var jh = Object.getOwnPropertyDescriptor;
var qh = Object.getOwnPropertyNames;
var zh = Object.getPrototypeOf, Wh = Object.prototype.hasOwnProperty;
var g = (r, A) => ur(r, "name", { value: A, configurable: !0 });
var DC = (r, A) => () => (r && (A = r(r = 0)), A);
var j = (r, A) => () => (A || r((A = { exports: {} }).exports, A), A.exports), pg = (r, A) => {
for (var e in A)
ur(r, e, { get: A[e], enumerable: !0 });
}, SC = (r, A, e, t) => {
if (A && typeof A == "object" || typeof A == "function")
for (let i of qh(A))
!Wh.call(r, i) && i !== e && ur(r, i, { get: () => A[i], enumerable: !(t = jh(A, i)) || t.enumerable });
return r;
};
var J = (r, A, e) => (e = r != null ? Hh(zh(r)) : {}, SC(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
A || !r || !r.__esModule ? ur(e, "default", { value: r, enumerable: !0 }) : e,
r
)), te = (r) => SC(ur({}, "__esModule", { value: !0 }), r);
// ../node_modules/ts-dedent/dist/index.js
var HA = j((fr) => {
"use strict";
Object.defineProperty(fr, "__esModule", { value: !0 });
fr.dedent = void 0;
function KC(r) {
for (var A = [], e = 1; e < arguments.length; e++)
A[e - 1] = arguments[e];
var t = Array.from(typeof r == "string" ? [r] : r);
t[t.length - 1] = t[t.length - 1].replace(/\r?\n([\t ]*)$/, "");
var i = t.reduce(function(I, E) {
var B = E.match(/\n([\t ]+|(?!\s).)/g);
return B ? I.concat(B.map(function(h) {
var u, f;
return (f = (u = h.match(/[\t ]/g)) === null || u === void 0 ? void 0 : u.length) !== null && f !== void 0 ? f : 0;
})) : I;
}, []);
if (i.length) {
var o = new RegExp(`
[ ]{` + Math.min.apply(Math, i) + "}", "g");
t = t.map(function(I) {
return I.replace(o, `
`);
});
}
t[0] = t[0].replace(/^\r?\n/, "");
var s = t[0];
return A.forEach(function(I, E) {
var B = s.match(/(?:^|\n)( *)$/), h = B ? B[1] : "", u = I;
typeof I == "string" && I.includes(`
`) && (u = String(I).split(`
`).map(function(f, p) {
return p === 0 ? f : "" + h + f;
}).join(`
`)), s += u + t[E + 1];
}), s;
}
g(KC, "dedent");
fr.dedent = KC;
fr.default = KC;
});
// ../node_modules/balanced-match/index.js
var LC = j((iS, bC) => {
"use strict";
bC.exports = MC;
function MC(r, A, e) {
r instanceof RegExp && (r = kC(r, e)), A instanceof RegExp && (A = kC(A, e));
var t = RC(r, A, e);
return t && {
start: t[0],
end: t[1],
pre: e.slice(0, t[0]),
body: e.slice(t[0] + r.length, t[1]),
post: e.slice(t[1] + A.length)
};
}
g(MC, "balanced");
function kC(r, A) {
var e = A.match(r);
return e ? e[0] : null;
}
g(kC, "maybeMatch");
MC.range = RC;
function RC(r, A, e) {
var t, i, o, s, I, E = e.indexOf(r), B = e.indexOf(A, E + 1), h = E;
if (E >= 0 && B > 0) {
if (r === A)
return [E, B];
for (t = [], o = e.length; h >= 0 && !I; )
h == E ? (t.push(h), E = e.indexOf(r, h + 1)) : t.length == 1 ? I = [t.pop(), B] : (i = t.pop(), i < o && (o = i, s = B), B = e.indexOf(
A, h + 1)), h = E < B && E >= 0 ? E : B;
t.length && (I = [o, s]);
}
return I;
}
g(RC, "range");
});
// ../node_modules/brace-expansion/index.js
var OC = j((gS, PC) => {
var YC = LC();
PC.exports = Al;
var UC = "\0SLASH" + Math.random() + "\0", GC = "\0OPEN" + Math.random() + "\0", Sg = "\0CLOSE" + Math.random() + "\0", JC = "\0COMMA" + Math.
random() + "\0", vC = "\0PERIOD" + Math.random() + "\0";
function Dg(r) {
return parseInt(r, 10) == r ? parseInt(r, 10) : r.charCodeAt(0);
}
g(Dg, "numeric");
function Zh(r) {
return r.split("\\\\").join(UC).split("\\{").join(GC).split("\\}").join(Sg).split("\\,").join(JC).split("\\.").join(vC);
}
g(Zh, "escapeBraces");
function $h(r) {
return r.split(UC).join("\\").split(GC).join("{").split(Sg).join("}").split(JC).join(",").split(vC).join(".");
}
g($h, "unescapeBraces");
function xC(r) {
if (!r)
return [""];
var A = [], e = YC("{", "}", r);
if (!e)
return r.split(",");
var t = e.pre, i = e.body, o = e.post, s = t.split(",");
s[s.length - 1] += "{" + i + "}";
var I = xC(o);
return o.length && (s[s.length - 1] += I.shift(), s.push.apply(s, I)), A.push.apply(A, s), A;
}
g(xC, "parseCommaParts");
function Al(r) {
return r ? (r.substr(0, 2) === "{}" && (r = "\\{\\}" + r.substr(2)), wr(Zh(r), !0).map($h)) : [];
}
g(Al, "expandTop");
function el(r) {
return "{" + r + "}";
}
g(el, "embrace");
function tl(r) {
return /^-?0\d/.test(r);
}
g(tl, "isPadded");
function rl(r, A) {
return r <= A;
}
g(rl, "lte");
function il(r, A) {
return r >= A;
}
g(il, "gte");
function wr(r, A) {
var e = [], t = YC("{", "}", r);
if (!t) return [r];
var i = t.pre, o = t.post.length ? wr(t.post, !1) : [""];
if (/\$$/.test(t.pre))
for (var s = 0; s < o.length; s++) {
var I = i + "{" + t.body + "}" + o[s];
e.push(I);
}
else {
var E = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(t.body), B = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(t.body), h = E || B, u = t.body.
indexOf(",") >= 0;
if (!h && !u)
return t.post.match(/,.*\}/) ? (r = t.pre + "{" + t.body + Sg + t.post, wr(r)) : [r];
var f;
if (h)
f = t.body.split(/\.\./);
else if (f = xC(t.body), f.length === 1 && (f = wr(f[0], !1).map(el), f.length === 1))
return o.map(function(hA) {
return t.pre + f[0] + hA;
});
var p;
if (h) {
var m = Dg(f[0]), D = Dg(f[1]), U = Math.max(f[0].length, f[1].length), R = f.length == 3 ? Math.abs(Dg(f[2])) : 1, T = rl, M = D < m;
M && (R *= -1, T = il);
var x = f.some(tl);
p = [];
for (var V = m; T(V, D); V += R) {
var gA;
if (B)
gA = String.fromCharCode(V), gA === "\\" && (gA = "");
else if (gA = String(V), x) {
var sA = U - gA.length;
if (sA > 0) {
var P = new Array(sA + 1).join("0");
V < 0 ? gA = "-" + P + gA.slice(1) : gA = P + gA;
}
}
p.push(gA);
}
} else {
p = [];
for (var Z = 0; Z < f.length; Z++)
p.push.apply(p, wr(f[Z], !1));
}
for (var Z = 0; Z < p.length; Z++)
for (var s = 0; s < o.length; s++) {
var I = i + p[Z] + o[s];
(!A || h || I) && e.push(I);
}
}
return e;
}
g(wr, "expand");
});
// ../node_modules/resolve-from/index.js
var qg = j((bK, jg) => {
"use strict";
var RI = require("path"), bI = require("module"), Eu = require("fs"), LI = /* @__PURE__ */ g((r, A, e) => {
if (typeof r != "string")
throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof r}\``);
if (typeof A != "string")
throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof A}\``);
try {
r = Eu.realpathSync(r);
} catch (o) {
if (o.code === "ENOENT")
r = RI.resolve(r);
else {
if (e)
return;
throw o;
}
}
let t = RI.join(r, "noop.js"), i = /* @__PURE__ */ g(() => bI._resolveFilename(A, {
id: t,
filename: t,
paths: bI._nodeModulePaths(r)
}), "resolveFileName");
if (e)
try {
return i();
} catch {
return;
}
return i();
}, "resolveFrom");
jg.exports = (r, A) => LI(r, A);
jg.exports.silent = (r, A) => LI(r, A, !0);
});
// ../node_modules/common-path-prefix/index.js
var zI = j((zK, qI) => {
"use strict";
var { sep: uu } = require("path"), fu = /* @__PURE__ */ g((r) => {
for (let A of r) {
let e = /(\/|\\)/.exec(A);
if (e !== null) return e[0];
}
return uu;
}, "determineSeparator");
qI.exports = /* @__PURE__ */ g(function(A, e = fu(A)) {
let [t = "", ...i] = A;
if (t === "" || i.length === 0) return "";
let o = t.split(e), s = o.length;
for (let E of i) {
let B = E.split(e);
for (let h = 0; h < s; h++)
B[h] !== o[h] && (s = h);
if (s === 0) return "";
}
let I = o.slice(0, s).join(e);
return I.endsWith(e) ? I : I + e;
}, "commonPathPrefix");
});
// ../node_modules/app-root-dir/lib/index.js
var ma = j((Is) => {
var pa = "app-root-dir", lt;
Is.get = function() {
var r = global[pa];
if (r)
return r;
if (lt === void 0) {
var A = require("fs"), e = require("path"), t = e.sep + "node_modules" + e.sep, i = process.cwd(), o = i.indexOf(t);
o !== -1 ? lt = i.substring(0, o) : A.existsSync(e.join(i, "package.json")) ? lt = i : (o = __dirname.indexOf(t), o === -1 ? lt = e.normalize(
e.join(__dirname, "..")) : lt = __dirname.substring(0, o));
}
return lt;
};
Is.set = function(r) {
global[pa] = lt = r;
};
});
// ../node_modules/dotenv/package.json
var ya = j((jF, zu) => {
zu.exports = {
name: "dotenv",
version: "16.4.7",
description: "Loads environment variables from .env file",
main: "lib/main.js",
types: "lib/main.d.ts",
exports: {
".": {
types: "./lib/main.d.ts",
require: "./lib/main.js",
default: "./lib/main.js"
},
"./config": "./config.js",
"./config.js": "./config.js",
"./lib/env-options": "./lib/env-options.js",
"./lib/env-options.js": "./lib/env-options.js",
"./lib/cli-options": "./lib/cli-options.js",
"./lib/cli-options.js": "./lib/cli-options.js",
"./package.json": "./package.json"
},
scripts: {
"dts-check": "tsc --project tests/types/tsconfig.json",
lint: "standard",
pretest: "npm run lint && npm run dts-check",
test: "tap run --allow-empty-coverage --disable-coverage --timeout=60000",
"test:coverage": "tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",
prerelease: "npm test",
release: "standard-version"
},
repository: {
type: "git",
url: "git://github.com/motdotla/dotenv.git"
},
funding: "https://dotenvx.com",
keywords: [
"dotenv",
"env",
".env",
"environment",
"variables",
"config",
"settings"
],
readmeFilename: "README.md",
license: "BSD-2-Clause",
devDependencies: {
"@types/node": "^18.11.3",
decache: "^4.6.2",
sinon: "^14.0.1",
standard: "^17.0.0",
"standard-version": "^9.5.0",
tap: "^19.2.0",
typescript: "^4.8.4"
},
engines: {
node: ">=12"
},
browser: {
fs: !1
}
};
});
// ../node_modules/dotenv/lib/main.js
var Fa = j((qF, Ge) => {
var as = require("fs"), Es = require("path"), Wu = require("os"), Xu = require("crypto"), Vu = ya(), cs = Vu.version, Zu = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
function $u(r) {
let A = {}, e = r.toString();
e = e.replace(/\r\n?/mg, `
`);
let t;
for (; (t = Zu.exec(e)) != null; ) {
let i = t[1], o = t[2] || "";
o = o.trim();
let s = o[0];
o = o.replace(/^(['"`])([\s\S]*)\1$/mg, "$2"), s === '"' && (o = o.replace(/\\n/g, `
`), o = o.replace(/\\r/g, "\r")), A[i] = o;
}
return A;
}
g($u, "parse");
function Af(r) {
let A = Ka(r), e = pA.configDotenv({ path: A });
if (!e.parsed) {
let s = new Error(`MISSING_DATA: Cannot parse ${A} for an unknown reason`);
throw s.code = "MISSING_DATA", s;
}
let t = Sa(r).split(","), i = t.length, o;
for (let s = 0; s < i; s++)
try {
let I = t[s].trim(), E = rf(e, I);
o = pA.decrypt(E.ciphertext, E.key);
break;
} catch (I) {
if (s + 1 >= i)
throw I;
}
return pA.parse(o);
}
g(Af, "_parseVault");
function ef(r) {
console.log(`[dotenv@${cs}][INFO] ${r}`);
}
g(ef, "_log");
function tf(r) {
console.log(`[dotenv@${cs}][WARN] ${r}`);
}
g(tf, "_warn");
function $i(r) {
console.log(`[dotenv@${cs}][DEBUG] ${r}`);
}
g($i, "_debug");
function Sa(r) {
return r && r.DOTENV_KEY && r.DOTENV_KEY.length > 0 ? r.DOTENV_KEY : process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0 ? process.
env.DOTENV_KEY : "";
}
g(Sa, "_dotenvKey");
function rf(r, A) {
let e;
try {
e = new URL(A);
} catch (I) {
if (I.code === "ERR_INVALID_URL") {
let E = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vaul\
t?environment=development");
throw E.code = "INVALID_DOTENV_KEY", E;
}
throw I;
}
let t = e.password;
if (!t) {
let I = new Error("INVALID_DOTENV_KEY: Missing key part");
throw I.code = "INVALID_DOTENV_KEY", I;
}
let i = e.searchParams.get("environment");
if (!i) {
let I = new Error("INVALID_DOTENV_KEY: Missing environment part");
throw I.code = "INVALID_DOTENV_KEY", I;
}
let o = `DOTENV_VAULT_${i.toUpperCase()}`, s = r.parsed[o];
if (!s) {
let I = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${o} in your .env.vault file.`);
throw I.code = "NOT_FOUND_DOTENV_ENVIRONMENT", I;
}
return { ciphertext: s, key: t };
}
g(rf, "_instructions");
function Ka(r) {
let A = null;
if (r && r.path && r.path.length > 0)
if (Array.isArray(r.path))
for (let e of r.path)
as.existsSync(e) && (A = e.endsWith(".vault") ? e : `${e}.vault`);
else
A = r.path.endsWith(".vault") ? r.path : `${r.path}.vault`;
else
A = Es.resolve(process.cwd(), ".env.vault");
return as.existsSync(A) ? A : null;
}
g(Ka, "_vaultPath");
function Da(r) {
return r[0] === "~" ? Es.join(Wu.homedir(), r.slice(1)) : r;
}
g(Da, "_resolveHome");
function of(r) {
ef("Loading env from encrypted .env.vault");
let A = pA._parseVault(r), e = process.env;
return r && r.processEnv != null && (e = r.processEnv), pA.populate(e, A, r), { parsed: A };
}
g(of, "_configVault");
function gf(r) {
let A = Es.resolve(process.cwd(), ".env"), e = "utf8", t = !!(r && r.debug);
r && r.encoding ? e = r.encoding : t && $i("No encoding is specified. UTF-8 is used by default");
let i = [A];
if (r && r.path)
if (!Array.isArray(r.path))
i = [Da(r.path)];
else {
i = [];
for (let E of r.path)
i.push(Da(E));
}
let o, s = {};
for (let E of i)
try {
let B = pA.parse(as.readFileSync(E, { encoding: e }));
pA.populate(s, B, r);
} catch (B) {
t && $i(`Failed to load ${E} ${B.message}`), o = B;
}
let I = process.env;
return r && r.processEnv != null && (I = r.processEnv), pA.populate(I, s, r), o ? { parsed: s, error: o } : { parsed: s };
}
g(gf, "configDotenv");
function sf(r) {
if (Sa(r).length === 0)
return pA.configDotenv(r);
let A = Ka(r);
return A ? pA._configVault(r) : (tf(`You set DOTENV_KEY but you are missing a .env.vault file at ${A}. Did you forget to build it?`), pA.
configDotenv(r));
}
g(sf, "config");
function nf(r, A) {
let e = Buffer.from(A.slice(-64), "hex"), t = Buffer.from(r, "base64"), i = t.subarray(0, 12), o = t.subarray(-16);
t = t.subarray(12, -16);
try {
let s = Xu.createDecipheriv("aes-256-gcm", e, i);
return s.setAuthTag(o), `${s.update(t)}${s.final()}`;
} catch (s) {
let I = s instanceof RangeError, E = s.message === "Invalid key length", B = s.message === "Unsupported state or unable to authenticat\
e data";
if (I || E) {
let h = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");
throw h.code = "INVALID_DOTENV_KEY", h;
} else if (B) {
let h = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");
throw h.code = "DECRYPTION_FAILED", h;
} else
throw s;
}
}
g(nf, "decrypt");
function Cf(r, A, e = {}) {
let t = !!(e && e.debug), i = !!(e && e.override);
if (typeof A != "object") {
let o = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");
throw o.code = "OBJECT_REQUIRED", o;
}
for (let o of Object.keys(A))
Object.prototype.hasOwnProperty.call(r, o) ? (i === !0 && (r[o] = A[o]), t && $i(i === !0 ? `"${o}" is already defined and WAS overwri\
tten` : `"${o}" is already defined and was NOT overwritten`)) : r[o] = A[o];
}
g(Cf, "populate");
var pA = {
configDotenv: gf,
_configVault: of,
_parseVault: Af,
config: sf,
decrypt: nf,
parse: $u,
populate: Cf
};
Ge.exports.configDotenv = pA.configDotenv;
Ge.exports._configVault = pA._configVault;
Ge.exports._parseVault = pA._parseVault;
Ge.exports.config = pA.config;
Ge.exports.decrypt = pA.decrypt;
Ge.exports.parse = pA.parse;
Ge.exports.populate = pA.populate;
Ge.exports = pA;
});
// ../node_modules/lazy-universal-dotenv/node_modules/dotenv-expand/lib/main.js
var Ma = j((WF, ka) => {
"use strict";
function If(r, A) {
let e = Array.from(r.matchAll(A));
return e.length > 0 ? e.slice(-1)[0].index : -1;
}
g(If, "_searchLast");
function Na(r, A, e) {
let t = If(r, /(?!(?<=\\))\$/g);
if (t === -1) return r;
let i = r.slice(t), o = /((?!(?<=\\))\${?([\w]+)(?::-([^}\\]*))?}?)/, s = i.match(o);
if (s != null) {
let [, I, E, B] = s;
return Na(
r.replace(
I,
A[E] || B || e.parsed[E] || ""
),
A,
e
);
}
return r;
}
g(Na, "_interpolate");
function af(r) {
return r.replace(/\\\$/g, "$");
}
g(af, "_resolveEscapeSequences");
function Ef(r) {
let A = r.ignoreProcessEnv ? {} : process.env;
for (let e in r.parsed) {
let t = Object.prototype.hasOwnProperty.call(A, e) ? A[e] : r.parsed[e];
r.parsed[e] = af(
Na(t, A, r)
);
}
for (let e in r.parsed)
A[e] = r.parsed[e];
return r;
}
g(Ef, "expand");
ka.exports.expand = Ef;
});
// ../node_modules/picomatch/lib/constants.js
var _r = j((GN, Za) => {
"use strict";
var Ff = require("path"), ke = "\\\\/", za = `[^${ke}]`, ve = "\\.", Nf = "\\+", kf = "\\?", eo = "\\/", Mf = "(?=.)", Wa = "[^/]", ws = `\
(?:${eo}|$)`, Xa = `(?:^|${eo})`, ds = `${ve}{1,2}${ws}`, Rf = `(?!${ve})`, bf = `(?!${Xa}${ds})`, Lf = `(?!${ve}{0,1}${ws})`, Yf = `(?!${ds}\
)`, Uf = `[^.${eo}]`, Gf = `${Wa}*?`, Va = {
DOT_LITERAL: ve,
PLUS_LITERAL: Nf,
QMARK_LITERAL: kf,
SLASH_LITERAL: eo,
ONE_CHAR: Mf,
QMARK: Wa,
END_ANCHOR: ws,
DOTS_SLASH: ds,
NO_DOT: Rf,
NO_DOTS: bf,
NO_DOT_SLASH: Lf,
NO_DOTS_SLASH: Yf,
QMARK_NO_DOT: Uf,
STAR: Gf,
START_ANCHOR: Xa
}, Jf = {
...Va,
SLASH_LITERAL: `[${ke}]`,
QMARK: za,
STAR: `${za}*?`,
DOTS_SLASH: `${ve}{1,2}(?:[${ke}]|$)`,
NO_DOT: `(?!${ve})`,
NO_DOTS: `(?!(?:^|[${ke}])${ve}{1,2}(?:[${ke}]|$))`,
NO_DOT_SLASH: `(?!${ve}{0,1}(?:[${ke}]|$))`,
NO_DOTS_SLASH: `(?!${ve}{1,2}(?:[${ke}]|$))`,
QMARK_NO_DOT: `[^.${ke}]`,
START_ANCHOR: `(?:^|[${ke}])`,
END_ANCHOR: `(?:[${ke}]|$)`
}, vf = {
alnum: "a-zA-Z0-9",
alpha: "a-zA-Z",
ascii: "\\x00-\\x7F",
blank: " \\t",
cntrl: "\\x00-\\x1F\\x7F",
digit: "0-9",
graph: "\\x21-\\x7E",
lower: "a-z",
print: "\\x20-\\x7E ",
punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
space: " \\t\\r\\n\\v\\f",
upper: "A-Z",
word: "A-Za-z0-9_",
xdigit: "A-Fa-f0-9"
};
Za.exports = {
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE: vf,
// regular expressions
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
// Replace globs with equivalent patterns to reduce parsing time.
REPLACEMENTS: {
"***": "*",
"**/**": "**",
"**/**/**": "**"
},
// Digits
CHAR_0: 48,
/* 0 */
CHAR_9: 57,
/* 9 */
// Alphabet chars.
CHAR_UPPERCASE_A: 65,
/* A */
CHAR_LOWERCASE_A: 97,
/* a */
CHAR_UPPERCASE_Z: 90,
/* Z */
CHAR_LOWERCASE_Z: 122,
/* z */
CHAR_LEFT_PARENTHESES: 40,
/* ( */
CHAR_RIGHT_PARENTHESES: 41,
/* ) */
CHAR_ASTERISK: 42,
/* * */
// Non-alphabetic chars.
CHAR_AMPERSAND: 38,
/* & */
CHAR_AT: 64,
/* @ */
CHAR_BACKWARD_SLASH: 92,
/* \ */
CHAR_CARRIAGE_RETURN: 13,
/* \r */
CHAR_CIRCUMFLEX_ACCENT: 94,
/* ^ */
CHAR_COLON: 58,
/* : */
CHAR_COMMA: 44,
/* , */
CHAR_DOT: 46,
/* . */
CHAR_DOUBLE_QUOTE: 34,
/* " */
CHAR_EQUAL: 61,
/* = */
CHAR_EXCLAMATION_MARK: 33,
/* ! */
CHAR_FORM_FEED: 12,
/* \f */
CHAR_FORWARD_SLASH: 47,
/* / */
CHAR_GRAVE_ACCENT: 96,
/* ` */
CHAR_HASH: 35,
/* # */
CHAR_HYPHEN_MINUS: 45,
/* - */
CHAR_LEFT_ANGLE_BRACKET: 60,
/* < */
CHAR_LEFT_CURLY_BRACE: 123,
/* { */
CHAR_LEFT_SQUARE_BRACKET: 91,
/* [ */
CHAR_LINE_FEED: 10,
/* \n */
CHAR_NO_BREAK_SPACE: 160,
/* \u00A0 */
CHAR_PERCENT: 37,
/* % */
CHAR_PLUS: 43,
/* + */
CHAR_QUESTION_MARK: 63,
/* ? */
CHAR_RIGHT_ANGLE_BRACKET: 62,
/* > */
CHAR_RIGHT_CURLY_BRACE: 125,
/* } */
CHAR_RIGHT_SQUARE_BRACKET: 93,
/* ] */
CHAR_SEMICOLON: 59,
/* ; */
CHAR_SINGLE_QUOTE: 39,
/* ' */
CHAR_SPACE: 32,
/* */
CHAR_TAB: 9,
/* \t */
CHAR_UNDERSCORE: 95,
/* _ */
CHAR_VERTICAL_LINE: 124,
/* | */
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
/* \uFEFF */
SEP: Ff.sep,
/**
* Create EXTGLOB_CHARS
*/
extglobChars(r) {
return {
"!": { type: "negate", open: "(?:(?!(?:", close: `))${r.STAR})` },
"?": { type: "qmark", open: "(?:", close: ")?" },
"+": { type: "plus", open: "(?:", close: ")+" },
"*": { type: "star", open: "(?:", close: ")*" },
"@": { type: "at", open: "(?:", close: ")" }
};
},
/**
* Create GLOB_CHARS
*/
globChars(r) {
return r === !0 ? Jf : Va;
}
};
});
// ../node_modules/picomatch/lib/utils.js
var to = j((jA) => {
"use strict";
var xf = require("path"), Pf = process.platform === "win32", {
REGEX_BACKSLASH: Of,
REGEX_REMOVE_BACKSLASH: _f,
REGEX_SPECIAL_CHARS: Tf,
REGEX_SPECIAL_CHARS_GLOBAL: Hf
} = _r();
jA.isObject = (r) => r !== null && typeof r == "object" && !Array.isArray(r);
jA.hasRegexChars = (r) => Tf.test(r);
jA.isRegexChar = (r) => r.length === 1 && jA.hasRegexChars(r);
jA.escapeRegex = (r) => r.replace(Hf, "\\$1");
jA.toPosixSlashes = (r) => r.replace(Of, "/");
jA.removeBackslashes = (r) => r.replace(_f, (A) => A === "\\" ? "" : A);
jA.supportsLookbehinds = () => {
let r = process.version.slice(1).split(".").map(Number);
return r.length === 3 && r[0] >= 9 || r[0] === 8 && r[1] >= 10;
};
jA.isWindows = (r) => r && typeof r.windows == "boolean" ? r.windows : Pf === !0 || xf.sep === "\\";
jA.escapeLast = (r, A, e) => {
let t = r.lastIndexOf(A, e);
return t === -1 ? r : r[t - 1] === "\\" ? jA.escapeLast(r, A, t - 1) : `${r.slice(0, t)}\\${r.slice(t)}`;
};
jA.removePrefix = (r, A = {}) => {
let e = r;
return e.startsWith("./") && (e = e.slice(2), A.prefix = "./"), e;
};
jA.wrapOutput = (r, A = {}, e = {}) => {
let t = e.contains ? "" : "^", i = e.contains ? "" : "$", o = `${t}(?:${r})${i}`;
return A.negated === !0 && (o = `(?:^(?!${o}).*$)`), o;
};
});
// ../node_modules/picomatch/lib/scan.js
var gE = j((vN, oE) => {
"use strict";
var $a = to(), {
CHAR_ASTERISK: ps,
/* * */
CHAR_AT: jf,
/* @ */
CHAR_BACKWARD_SLASH: Tr,
/* \ */
CHAR_COMMA: qf,
/* , */
CHAR_DOT: ms,
/* . */
CHAR_EXCLAMATION_MARK: ys,
/* ! */
CHAR_FORWARD_SLASH: iE,
/* / */
CHAR_LEFT_CURLY_BRACE: Ds,
/* { */
CHAR_LEFT_PARENTHESES: Ss,
/* ( */
CHAR_LEFT_SQUARE_BRACKET: zf,
/* [ */
CHAR_PLUS: Wf,
/* + */
CHAR_QUESTION_MARK: AE,
/* ? */
CHAR_RIGHT_CURLY_BRACE: Xf,
/* } */
CHAR_RIGHT_PARENTHESES: eE,
/* ) */
CHAR_RIGHT_SQUARE_BRACKET: Vf
/* ] */
} = _r(), tE = /* @__PURE__ */ g((r) => r === iE || r === Tr, "isPathSeparator"), rE = /* @__PURE__ */ g((r) => {
r.isPrefix !== !0 && (r.depth = r.isGlobstar ? 1 / 0 : 1);
}, "depth"), Zf = /* @__PURE__ */ g((r, A) => {
let e = A || {}, t = r.length - 1, i = e.parts === !0 || e.scanToEnd === !0, o = [], s = [], I = [], E = r, B = -1, h = 0, u = 0, f = !1,
p = !1, m = !1, D = !1, U = !1, R = !1, T = !1, M = !1, x = !1, V = !1, gA = 0, sA, P, Z = { value: "", depth: 0, isGlob: !1 }, hA = /* @__PURE__ */ g(
() => B >= t, "eos"), F = /* @__PURE__ */ g(() => E.charCodeAt(B + 1), "peek"), cA = /* @__PURE__ */ g(() => (sA = P, E.charCodeAt(++B)),
"advance");
for (; B < t; ) {
P = cA();
let kA;
if (P === Tr) {
T = Z.backslashes = !0, P = cA(), P === Ds && (R = !0);
continue;
}
if (R === !0 || P === Ds) {
for (gA++; hA() !== !0 && (P = cA()); ) {
if (P === Tr) {
T = Z.backslashes = !0, cA();
continue;
}
if (P === Ds) {
gA++;
continue;
}
if (R !== !0 && P === ms && (P = cA()) === ms) {
if (f = Z.isBrace = !0, m = Z.isGlob = !0, V = !0, i === !0)
continue;
break;
}
if (R !== !0 && P === qf) {
if (f = Z.isBrace = !0, m = Z.isGlob = !0, V = !0, i === !0)
continue;
break;
}
if (P === Xf && (gA--, gA === 0)) {
R = !1, f = Z.isBrace = !0, V = !0;
break;
}
}
if (i === !0)
continue;
break;
}
if (P === iE) {
if (o.push(B), s.push(Z), Z = { value: "", depth: 0, isGlob: !1 }, V === !0) continue;
if (sA === ms && B === h + 1) {
h += 2;
continue;
}
u = B + 1;
continue;
}
if (e.noext !== !0 && (P === Wf || P === jf || P === ps || P === AE || P === ys) === !0 && F() === Ss) {
if (m = Z.isGlob = !0, D = Z.isExtglob = !0, V = !0, P === ys && B === h && (x = !0), i === !0) {
for (; hA() !== !0 && (P = cA()); ) {
if (P === Tr) {
T = Z.backslashes = !0, P = cA();
continue;
}
if (P === eE) {
m = Z.isGlob = !0, V = !0;
break;
}
}
continue;
}
break;
}
if (P === ps) {
if (sA === ps && (U = Z.isGlobstar = !0), m = Z.isGlob = !0, V = !0, i === !0)
continue;
break;
}
if (P === AE) {
if (m = Z.isGlob = !0, V = !0, i === !0)
continue;
break;
}
if (P === zf) {
for (; hA() !== !0 && (kA = cA()); ) {
if (kA === Tr) {
T = Z.backslashes = !0, cA();
continue;
}
if (kA === Vf) {
p = Z.isBracket = !0, m = Z.isGlob = !0, V = !0;
break;
}
}
if (i === !0)
continue;
break;
}
if (e.nonegate !== !0 && P === ys && B === h) {
M = Z.negated = !0, h++;
continue;
}
if (e.noparen !== !0 && P === Ss) {
if (m = Z.isGlob = !0, i === !0) {
for (; hA() !== !0 && (P = cA()); ) {
if (P === Ss) {
T = Z.backslashes = !0, P = cA();
continue;
}
if (P === eE) {
V = !0;
break;
}
}
continue;
}
break;
}
if (m === !0) {
if (V = !0, i === !0)
continue;
break;
}
}
e.noext === !0 && (D = !1, m = !1);
let BA = E, Ce = "", S = "";
h > 0 && (Ce = E.slice(0, h), E = E.slice(h), u -= h), BA && m === !0 && u > 0 ? (BA = E.slice(0, u), S = E.slice(u)) : m === !0 ? (BA =
"", S = E) : BA = E, BA && BA !== "" && BA !== "/" && BA !== E && tE(BA.charCodeAt(BA.length - 1)) && (BA = BA.slice(0, -1)), e.unescape ===
!0 && (S && (S = $a.removeBackslashes(S)), BA && T === !0 && (BA = $a.removeBackslashes(BA)));
let K = {
prefix: Ce,
input: r,
start: h,
base: BA,
glob: S,
isBrace: f,
isBracket: p,
isGlob: m,
isExtglob: D,
isGlobstar: U,
negated: M,
negatedExtglob: x
};
if (e.tokens === !0 && (K.maxDepth = 0, tE(P) || s.push(Z), K.tokens = s), e.parts === !0 || e.tokens === !0) {
let kA;
for (let oA = 0; oA < o.length; oA++) {
let MA = kA ? kA + 1 : h, WA = o[oA], yA = r.slice(MA, WA);
e.tokens && (oA === 0 && h !== 0 ? (s[oA].isPrefix = !0, s[oA].value = Ce) : s[oA].value = yA, rE(s[oA]), K.maxDepth += s[oA].depth),
(oA !== 0 || yA !== "") && I.push(yA), kA = WA;
}
if (kA && kA + 1 < r.length) {
let oA = r.slice(kA + 1);
I.push(oA), e.tokens && (s[s.length - 1].value = oA, rE(s[s.length - 1]), K.maxDepth += s[s.length - 1].depth);
}
K.slashes = o, K.parts = I;
}
return K;
}, "scan");
oE.exports = Zf;
});
// ../node_modules/picomatch/lib/parse.js
var CE = j((PN, nE) => {
"use strict";
var ro = _r(), Ae = to(), {
MAX_LENGTH: io,
POSIX_REGEX_SOURCE: $f,
REGEX_NON_SPECIAL_CHARS: Aw,
REGEX_SPECIAL_CHARS_BACKREF: ew,
REPLACEMENTS: sE
} = ro, tw = /* @__PURE__ */ g((r, A) => {
if (typeof A.expandRange == "function")
return A.expandRange(...r, A);
r.sort();
let e = `[${r.join("-")}]`;
try {
new RegExp(e);
} catch {
return r.map((i) => Ae.escapeRegex(i)).join("..");
}
return e;
}, "expandRange"), Xt = /* @__PURE__ */ g((r, A) => `Missing ${r}: "${A}" - use "\\\\${A}" to match literal characters`, "syntaxError"), Ks = /* @__PURE__ */ g(
(r, A) => {
if (typeof r != "string")
throw new TypeError("Expected a string");
r = sE[r] || r;
let e = { ...A }, t = typeof e.maxLength == "number" ? Math.min(io, e.maxLength) : io, i = r.length;
if (i > t)
throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${t}`);
let o = { type: "bos", value: "", output: e.prepend || "" }, s = [o], I = e.capture ? "" : "?:", E = Ae.isWindows(A), B = ro.globChars(E),
h = ro.extglobChars(B), {
DOT_LITERAL: u,
PLUS_LITERAL: f,
SLASH_LITERAL: p,
ONE_CHAR: m,
DOTS_SLASH: D,
NO_DOT: U,
NO_DOT_SLASH: R,
NO_DOTS_SLASH: T,
QMARK: M,
QMARK_NO_DOT: x,
STAR: V,
START_ANCHOR: gA
} = B, sA = /* @__PURE__ */ g((Y) => `(${I}(?:(?!${gA}${Y.dot ? D : u}).)*?)`, "globstar"), P = e.dot ? "" : U, Z = e.dot ? M : x, hA = e.
bash === !0 ? sA(e) : V;
e.capture && (hA = `(${hA})`), typeof e.noext == "boolean" && (e.noextglob = e.noext);
let F = {
input: r,
index: -1,
start: 0,
dot: e.dot === !0,
consumed: "",
output: "",
prefix: "",
backtrack: !1,
negated: !1,
brackets: 0,
braces: 0,
parens: 0,
quotes: 0,
globstar: !1,
tokens: s
};
r = Ae.removePrefix(r, F), i = r.length;
let cA = [], BA = [], Ce = [], S = o, K, kA = /* @__PURE__ */ g(() => F.index === i - 1, "eos"), oA = F.peek = (Y = 1) => r[F.index + Y],
MA = F.advance = () => r[++F.index] || "", WA = /* @__PURE__ */ g(() => r.slice(F.index + 1), "remaining"), yA = /* @__PURE__ */ g((Y = "", IA = 0) => {
F.consumed += Y, F.index += IA;
}, "consume"), at = /* @__PURE__ */ g((Y) => {
F.output += Y.output != null ? Y.output : Y.value, yA(Y.value);
}, "append"), St = /* @__PURE__ */ g(() => {
let Y = 1;
for (; oA() === "!" && (oA(2) !== "(" || oA(3) === "?"); )
MA(), F.start++, Y++;
return Y % 2 === 0 ? !1 : (F.negated = !0, F.start++, !0);
}, "negate"), je = /* @__PURE__ */ g((Y) => {
F[Y]++, Ce.push(Y);
}, "increment"), Me = /* @__PURE__ */ g((Y) => {
F[Y]--, Ce.pop();
}, "decrement"), rA = /* @__PURE__ */ g((Y) => {
if (S.type === "globstar") {
let IA = F.braces > 0 && (Y.type === "comma" || Y.type === "brace"), b = Y.extglob === !0 || cA.length && (Y.type === "pipe" || Y.type ===
"paren");
Y.type !== "slash" && Y.type !== "paren" && !IA && !b && (F.output = F.output.slice(0, -S.output.length), S.type = "star", S.value =
"*", S.output = hA, F.output += S.output);
}
if (cA.length && Y.type !== "paren" && (cA[cA.length - 1].inner += Y.value), (Y.value || Y.output) && at(Y), S && S.type === "text" &&
Y.type === "text") {
S.value += Y.value, S.output = (S.output || "") + Y.value;
return;
}
Y.prev = S, s.push(Y), S = Y;
}, "push"), qe = /* @__PURE__ */ g((Y, IA) => {
let b = { ...h[IA], conditions: 1, inner: "" };
b.prev = S, b.parens = F.parens, b.output = F.output;
let N = (e.capture ? "(" : "") + b.open;
je("parens"), rA({ type: Y, value: IA, output: F.output ? "" : m }), rA({ type: "paren", extglob: !0, value: MA(), output: N }), cA.push(
b);
}, "extglobOpen"), RA = /* @__PURE__ */ g((Y) => {
let IA = Y.close + (e.capture ? ")" : ""), b;
if (Y.type === "negate") {
let N = hA;
if (Y.inner && Y.inner.length > 1 && Y.inner.includes("/") && (N = sA(e)), (N !== hA || kA() || /^\)+$/.test(WA())) && (IA = Y.close =
`)$))${N}`), Y.inner.includes("*") && (b = WA()) && /^\.[^\\/.]+$/.test(b)) {
let QA = Ks(b, { ...A, fastpaths: !1 }).output;
IA = Y.close = `)${QA})${N})`;
}
Y.prev.type === "bos" && (F.negatedExtglob = !0);
}
rA({ type: "paren", extglob: !0, value: K, output: IA }), Me("parens");
}, "extglobClose");
if (e.fastpaths !== !1 && !/(^[*!]|[/()[\]{}"])/.test(r)) {
let Y = !1, IA = r.replace(ew, (b, N, QA, DA, lA, Kt) => DA === "\\" ? (Y = !0, b) : DA === "?" ? N ? N + DA + (lA ? M.repeat(lA.length) :
"") : Kt === 0 ? Z + (lA ? M.repeat(lA.length) : "") : M.repeat(QA.length) : DA === "." ? u.repeat(QA.length) : DA === "*" ? N ? N + DA +
(lA ? hA : "") : hA : N ? b : `\\${b}`);
return Y === !0 && (e.unescape === !0 ? IA = IA.replace(/\\/g, "") : IA = IA.replace(/\\+/g, (b) => b.length % 2 === 0 ? "\\\\" : b ? "\
\\" : "")), IA === r && e.contains === !0 ? (F.output = r, F) : (F.output = Ae.wrapOutput(IA, F, A), F);
}
for (; !kA(); ) {
if (K = MA(), K === "\0")
continue;
if (K === "\\") {
let b = oA();
if (b === "/" && e.bash !== !0 || b === "." || b === ";")
continue;
if (!b) {
K += "\\", rA({ type: "text", value: K });
continue;
}
let N = /^\\+/.exec(WA()), QA = 0;
if (N && N[0].length > 2 && (QA = N[0].length, F.index += QA, QA % 2 !== 0 && (K += "\\")), e.unescape === !0 ? K = MA() : K += MA(),
F.brackets === 0) {
rA({ type: "text", value: K });
continue;
}
}
if (F.brackets > 0 && (K !== "]" || S.value === "[" || S.value === "[^")) {
if (e.posix !== !1 && K === ":") {
let b = S.value.slice(1);
if (b.includes("[") && (S.posix = !0, b.includes(":"))) {
let N = S.value.lastIndexOf("["), QA = S.value.slice(0, N), DA = S.value.slice(N + 2), lA = $f[DA];
if (lA) {
S.value = QA + lA, F.backtrack = !0, MA(), !o.output && s.indexOf(S) === 1 && (o.output = m);
continue;
}
}
}
(K === "[" && oA() !== ":" || K === "-" && oA() === "]") && (K = `\\${K}`), K === "]" && (S.value === "[" || S.value === "[^") && (K =
`\\${K}`), e.posix === !0 && K === "!" && S.value === "[" && (K = "^"), S.value += K, at({ value: K });
continue;
}
if (F.quotes === 1 && K !== '"') {
K = Ae.escapeRegex(K), S.value += K, at({ value: K });
continue;
}
if (K === '"') {
F.quotes = F.quotes === 1 ? 0 : 1, e.keepQuotes === !0 && rA({ type: "text", value: K });
continue;
}
if (K === "(") {
je("parens"), rA({ type: "paren", value: K });
continue;
}
if (K === ")") {
if (F.parens === 0 && e.strictBrackets === !0)
throw new SyntaxError(Xt("opening", "("));
let b = cA[cA.length - 1];
if (b && F.parens === b.parens + 1) {
RA(cA.pop());
continue;
}
rA({ type: "paren", value: K, output: F.parens ? ")" : "\\)" }), Me("parens");
continue;
}
if (K === "[") {
if (e.nobracket === !0 || !WA().includes("]")) {
if (e.nobracket !== !0 && e.strictBrackets === !0)
throw new SyntaxError(Xt("closing", "]"));
K = `\\${K}`;
} else
je("brackets");
rA({ type: "bracket", value: K });
continue;
}
if (K === "]") {
if (e.nobracket === !0 || S && S.type === "bracket" && S.value.length === 1) {
rA({ type: "text", value: K, output: `\\${K}` });
continue;
}
if (F.brackets === 0) {
if (e.strictBrackets === !0)
throw new SyntaxError(Xt("opening", "["));
rA({ type: "text", value: K, output: `\\${K}` });
continue;
}
Me("brackets");
let b = S.value.slice(1);
if (S.posix !== !0 && b[0] === "^" && !b.includes("/") && (K = `/${K}`), S.value += K, at({ value: K }), e.literalBrackets === !1 ||
Ae.hasRegexChars(b))
continue;
let N = Ae.escapeRegex(S.value);
if (F.output = F.output.slice(0, -S.value.length), e.literalBrackets === !0) {
F.output += N, S.value = N;
continue;
}
S.value = `(${I}${N}|${S.value})`, F.output += S.value;
continue;
}
if (K === "{" && e.nobrace !== !0) {
je("braces");
let b = {
type: "brace",
value: K,
output: "(",
outputIndex: F.output.length,
tokensIndex: F.tokens.length
};
BA.push(b), rA(b);
continue;
}
if (K === "}") {
let b = BA[BA.length - 1];
if (e.nobrace === !0 || !b) {
rA({ type: "text", value: K, output: K });
continue;
}
let N = ")";
if (b.dots === !0) {
let QA = s.slice(), DA = [];
for (let lA = QA.length - 1; lA >= 0 && (s.pop(), QA[lA].type !== "brace"); lA--)
QA[lA].type !== "dots" && DA.unshift(QA[lA].value);
N = tw(DA, e), F.backtrack = !0;
}
if (b.comma !== !0 && b.dots !== !0) {
let QA = F.output.slice(0, b.outputIndex), DA = F.tokens.slice(b.tokensIndex);
b.value = b.output = "\\{", K = N = "\\}", F.output = QA;
for (let lA of DA)
F.output += lA.output || lA.value;
}
rA({ type: "brace", value: K, output: N }), Me("braces"), BA.pop();
continue;
}
if (K === "|") {
cA.length > 0 && cA[cA.length - 1].conditions++, rA({ type: "text", value: K });
continue;
}
if (K === ",") {
let b = K, N = BA[BA.length - 1];
N && Ce[Ce.length - 1] === "braces" && (N.comma = !0, b = "|"), rA({ type: "comma", value: K, output: b });
continue;
}
if (K === "/") {
if (S.type === "dot" && F.index === F.start + 1) {
F.start = F.index + 1, F.consumed = "", F.output = "", s.pop(), S = o;
continue;
}
rA({ type: "slash", value: K, output: p });
continue;
}
if (K === ".") {
if (F.braces > 0 && S.type === "dot") {
S.value === "." && (S.output = u);
let b = BA[BA.length - 1];
S.type = "dots", S.output += K, S.value += K, b.dots = !0;
continue;
}
if (F.braces + F.parens === 0 && S.type !== "bos" && S.type !== "slash") {
rA({ type: "text", value: K, output: u });
continue;
}
rA({ type: "dot", value: K, output: u });
continue;
}
if (K === "?") {
if (!(S && S.value === "(") && e.noextglob !== !0 && oA() === "(" && oA(2) !== "?") {
qe("qmark", K);
continue;
}
if (S && S.type === "paren") {
let N = oA(), QA = K;
if (N === "<" && !Ae.supportsLookbehinds())
throw new Error("Node.js v10 or higher is required for regex lookbehinds");
(S.value === "(" && !/[!=<:]/.test(N) || N === "<" && !/<([!=]|\w+>)/.test(WA())) && (QA = `\\${K}`), rA({ type: "text", value: K,
output: QA });
continue;
}
if (e.dot !== !0 && (S.type === "slash" || S.type === "bos")) {
rA({ type: "qmark", value: K, output: x });
continue;
}
rA({ type: "qmark", value: K, output: M });
continue;
}
if (K === "!") {
if (e.noextglob !== !0 && oA() === "(" && (oA(2) !== "?" || !/[!=<:]/.test(oA(3)))) {
qe("negate", K);
continue;
}
if (e.nonegate !== !0 && F.index === 0) {
St();
continue;
}
}
if (K === "+") {
if (e.noextglob !== !0 && oA() === "(" && oA(2) !== "?") {
qe("plus", K);
continue;
}
if (S && S.value === "(" || e.regex === !1) {
rA({ type: "plus", value: K, output: f });
continue;
}
if (S && (S.type === "bracket" || S.type === "paren" || S.type === "brace") || F.parens > 0) {
rA({ type: "plus", value: K });
continue;
}
rA({ type: "plus", value: f });
continue;
}
if (K === "@") {
if (e.noextglob !== !0 && oA() === "(" && oA(2) !== "?") {
rA({ type: "at", extglob: !0, value: K, output: "" });
continue;
}
rA({ type: "text", value: K });
continue;
}
if (K !== "*") {
(K === "$" || K === "^") && (K = `\\${K}`);
let b = Aw.exec(WA());
b && (K += b[0], F.index += b[0].length), rA({ type: "text", value: K });
continue;
}
if (S && (S.type === "globstar" || S.star === !0)) {
S.type = "star", S.star = !0, S.value += K, S.output = hA, F.backtrack = !0, F.globstar = !0, yA(K);
continue;
}
let Y = WA();
if (e.noextglob !== !0 && /^\([^?]/.test(Y)) {
qe("star", K);
continue;
}
if (S.type === "star") {
if (e.noglobstar === !0) {
yA(K);
continue;
}
let b = S.prev, N = b.prev, QA = b.type === "slash" || b.type === "bos", DA = N && (N.type === "star" || N.type === "globstar");
if (e.bash === !0 && (!QA || Y[0] && Y[0] !== "/")) {
rA({ type: "star", value: K, output: "" });
continue;
}
let lA = F.braces > 0 && (b.type === "comma" || b.type === "brace"), Kt = cA.length && (b.type === "pipe" || b.type === "paren");
if (!QA && b.type !== "paren" && !lA && !Kt) {
rA({ type: "star", value: K, output: "" });
continue;
}
for (; Y.slice(0, 3) === "/**"; ) {
let Br = r[F.index + 4];
if (Br && Br !== "/")
break;
Y = Y.slice(3), yA("/**", 3);
}
if (b.type === "bos" && kA()) {
S.type = "globstar", S.value += K, S.output = sA(e), F.output = S.output, F.globstar = !0, yA(K);
continue;
}
if (b.type === "slash" && b.prev.type !== "bos" && !DA && kA()) {
F.output = F.output.slice(0, -(b.output + S.output).length), b.output = `(?:${b.output}`, S.type = "globstar", S.output = sA(e) + (e.
strictSlashes ? ")" : "|$)"), S.value += K, F.globstar = !0, F.output += b.output + S.output, yA(K);
continue;
}
if (b.type === "slash" && b.prev.type !== "bos" && Y[0] === "/") {
let Br = Y[1] !== void 0 ? "|$" : "";
F.output = F.output.slice(0, -(b.output + S.output).length), b.output = `(?:${b.output}`, S.type = "globstar", S.output = `${sA(e)}${p}\
|${p}${Br})`, S.value += K, F.output += b.output + S.output, F.globstar = !0, yA(K + MA()), rA({ type: "slash", value: "/", output: "" });
continue;
}
if (b.type === "bos" && Y[0] === "/") {
S.type = "globstar", S.value += K, S.output = `(?:^|${p}|${sA(e)}${p})`, F.output = S.output, F.globstar = !0, yA(K + MA()), rA({ type: "\
slash", value: "/", output: "" });
continue;
}
F.output = F.output.slice(0, -S.output.length), S.type = "globstar", S.output = sA(e), S.value += K, F.output += S.output, F.globstar =
!0, yA(K);
continue;
}
let IA = { type: "star", value: K, output: hA };
if (e.bash === !0) {
IA.output = ".*?", (S.type === "bos" || S.type === "slash") && (IA.output = P + IA.output), rA(IA);
continue;
}
if (S && (S.type === "bracket" || S.type === "paren") && e.regex === !0) {
IA.output = K, rA(IA);
continue;
}
(F.index === F.start || S.type === "slash" || S.type === "dot") && (S.type === "dot" ? (F.output += R, S.output += R) : e.dot === !0 ?
(F.output += T, S.output += T) : (F.output += P, S.output += P), oA() !== "*" && (F.output += m, S.output += m)), rA(IA);
}
for (; F.brackets > 0; ) {
if (e.strictBrackets === !0) throw new SyntaxError(Xt("closing", "]"));
F.output = Ae.escapeLast(F.output, "["), Me("brackets");
}
for (; F.parens > 0; ) {
if (e.strictBrackets === !0) throw new SyntaxError(Xt("closing", ")"));
F.output = Ae.escapeLast(F.output, "("), Me("parens");
}
for (; F.braces > 0; ) {
if (e.strictBrackets === !0) throw new SyntaxError(Xt("closing", "}"));
F.output = Ae.escapeLast(F.output, "{"), Me("braces");
}
if (e.strictSlashes !== !0 && (S.type === "star" || S.type === "bracket") && rA({ type: "maybe_slash", value: "", output: `${p}?` }), F.
backtrack === !0) {
F.output = "";
for (let Y of F.tokens)
F.output += Y.output != null ? Y.output : Y.value, Y.suffix && (F.output += Y.suffix);
}
return F;
}, "parse");
Ks.fastpaths = (r, A) => {
let e = { ...A }, t = typeof e.maxLength == "number" ? Math.min(io, e.maxLength) : io, i = r.length;
if (i > t)
throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${t}`);
r = sE[r] || r;
let o = Ae.isWindows(A), {
DOT_LITERAL: s,
SLASH_LITERAL: I,
ONE_CHAR: E,
DOTS_SLASH: B,
NO_DOT: h,
NO_DOTS: u,
NO_DOTS_SLASH: f,
STAR: p,
START_ANCHOR: m
} = ro.globChars(o), D = e.dot ? u : h, U = e.dot ? f : h, R = e.capture ? "" : "?:", T = { negated: !1, prefix: "" }, M = e.bash === !0 ?
".*?" : p;
e.capture && (M = `(${M})`);
let x = /* @__PURE__ */ g((P) => P.noglobstar === !0 ? M : `(${R}(?:(?!${m}${P.dot ? B : s}).)*?)`, "globstar"), V = /* @__PURE__ */ g((P) => {
switch (P) {
case "*":
return `${D}${E}${M}`;
case ".*":
return `${s}${E}${M}`;
case "*.*":
return `${D}${M}${s}${E}${M}`;
case "*/*":
return `${D}${M}${I}${E}${U}${M}`;
case "**":
return D + x(e);
case "**/*":
return `(?:${D}${x(e)}${I})?${U}${E}${M}`;
case "**/*.*":
return `(?:${D}${x(e)}${I})?${U}${M}${s}${E}${M}`;
case "**/.*":
return `(?:${D}${x(e)}${I})?${s}${E}${M}`;
default: {
let Z = /^(.*?)\.(\w+)$/.exec(P);
if (!Z) return;
let hA = V(Z[1]);
return hA ? hA + s + Z[2] : void 0;
}
}
}, "create"), gA = Ae.removePrefix(r, T), sA = V(gA);
return sA && e.strictSlashes !== !0 && (sA += `${I}?`), sA;
};
nE.exports = Ks;
});
// ../node_modules/picomatch/lib/picomatch.js
var aE = j((_N, IE) => {
"use strict";
var rw = require("path"), iw = gE(), Fs = CE(), Ns = to(), ow = _r(), gw = /* @__PURE__ */ g((r) => r && typeof r == "object" && !Array.isArray(
r), "isObject"), wA = /* @__PURE__ */ g((r, A, e = !1) => {
if (Array.isArray(r)) {
let h = r.map((f) => wA(f, A, e));
return /* @__PURE__ */ g((f) => {
for (let p of h) {
let m = p(f);
if (m) return m;
}
return !1;
}, "arrayMatcher");
}
let t = gw(r) && r.tokens && r.input;
if (r === "" || typeof r != "string" && !t)
throw new TypeError("Expected pattern to be a non-empty string");
let i = A || {}, o = Ns.isWindows(A), s = t ? wA.compileRe(r, A) : wA.makeRe(r, A, !1, !0), I = s.state;
delete s.state;
let E = /* @__PURE__ */ g(() => !1, "isIgnored");
if (i.ignore)