UNPKG

@storybook/core

Version:

Storybook framework-agnostic API

1,476 lines (1,462 loc) • 862 kB
import ESM_COMPAT_Module from "node:module"; import { fileURLToPath as ESM_COMPAT_fileURLToPath } from 'node:url'; import { dirname as ESM_COMPAT_dirname } from 'node:path'; const __filename = ESM_COMPAT_fileURLToPath(import.meta.url); const __dirname = ESM_COMPAT_dirname(__filename); const require = ESM_COMPAT_Module.createRequire(import.meta.url); var lQ = Object.create; var Wt = Object.defineProperty; var uQ = Object.getOwnPropertyDescriptor; var fQ = Object.getOwnPropertyNames; var wQ = Object.getPrototypeOf, dQ = Object.prototype.hasOwnProperty; var g = (r, A) => Wt(r, "name", { value: A, configurable: !0 }), G = /* @__PURE__ */ ((r) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(r, { get: (A, e) => (typeof require < "u" ? require : A)[e] }) : r)(function(r) { if (typeof require < "u") return require.apply(this, arguments); throw Error('Dynamic require of "' + r + '" is not supported'); }); var mn = (r, A) => () => (r && (A = r(r = 0)), A); var j = (r, A) => () => (A || r((A = { exports: {} }).exports, A), A.exports), yn = (r, A) => { for (var e in A) Wt(r, e, { get: A[e], enumerable: !0 }); }, Dn = (r, A, e, t) => { if (A && typeof A == "object" || typeof A == "function") for (let i of fQ(A)) !dQ.call(r, i) && i !== e && Wt(r, i, { get: () => A[i], enumerable: !(t = uQ(A, i)) || t.enumerable }); return r; }; var CA = (r, A, e) => (e = r != null ? lQ(wQ(r)) : {}, Dn( // 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 ? Wt(e, "default", { value: r, enumerable: !0 }) : e, r )), Ie = (r) => Dn(Wt({}, "__esModule", { value: !0 }), r); // ../node_modules/ts-dedent/dist/index.js var jA = j((Xt) => { "use strict"; Object.defineProperty(Xt, "__esModule", { value: !0 }); Xt.dedent = void 0; function Sn(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(Sn, "dedent"); Xt.dedent = Sn; Xt.default = Sn; }); // ../node_modules/balanced-match/index.js var Yn = j((mS, Ln) => { "use strict"; Ln.exports = Rn; function Rn(r, A, e) { r instanceof RegExp && (r = Mn(r, e)), A instanceof RegExp && (A = Mn(A, e)); var t = bn(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(Rn, "balanced"); function Mn(r, A) { var e = A.match(r); return e ? e[0] : null; } g(Mn, "maybeMatch"); Rn.range = bn; function bn(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(bn, "range"); }); // ../node_modules/brace-expansion/index.js var _n = j((DS, On) => { var Un = Yn(); On.exports = SQ; var Gn = "\0SLASH" + Math.random() + "\0", Jn = "\0OPEN" + Math.random() + "\0", Lo = "\0CLOSE" + Math.random() + "\0", vn = "\0COMMA" + Math. random() + "\0", xn = "\0PERIOD" + Math.random() + "\0"; function bo(r) { return parseInt(r, 10) == r ? parseInt(r, 10) : r.charCodeAt(0); } g(bo, "numeric"); function yQ(r) { return r.split("\\\\").join(Gn).split("\\{").join(Jn).split("\\}").join(Lo).split("\\,").join(vn).split("\\.").join(xn); } g(yQ, "escapeBraces"); function DQ(r) { return r.split(Gn).join("\\").split(Jn).join("{").split(Lo).join("}").split(vn).join(",").split(xn).join("."); } g(DQ, "unescapeBraces"); function Pn(r) { if (!r) return [""]; var A = [], e = Un("{", "}", 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 = Pn(o); return o.length && (s[s.length - 1] += I.shift(), s.push.apply(s, I)), A.push.apply(A, s), A; } g(Pn, "parseCommaParts"); function SQ(r) { return r ? (r.substr(0, 2) === "{}" && (r = "\\{\\}" + r.substr(2)), $t(yQ(r), !0).map(DQ)) : []; } g(SQ, "expandTop"); function KQ(r) { return "{" + r + "}"; } g(KQ, "embrace"); function FQ(r) { return /^-?0\d/.test(r); } g(FQ, "isPadded"); function NQ(r, A) { return r <= A; } g(NQ, "lte"); function kQ(r, A) { return r >= A; } g(kQ, "gte"); function $t(r, A) { var e = [], t = Un("{", "}", r); if (!t) return [r]; var i = t.pre, o = t.post.length ? $t(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 + Lo + t.post, $t(r)) : [r]; var f; if (h) f = t.body.split(/\.\./); else if (f = Pn(t.body), f.length === 1 && (f = $t(f[0], !1).map(KQ), f.length === 1)) return o.map(function(lA) { return t.pre + f[0] + lA; }); var p; if (h) { var m = bo(f[0]), D = bo(f[1]), U = Math.max(f[0].length, f[1].length), R = f.length == 3 ? Math.abs(bo(f[2])) : 1, T = NQ, M = D < m; M && (R *= -1, T = kQ); var x = f.some(FQ); 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, $t(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($t, "expand"); }); // ../node_modules/resolve-from/index.js var eg = j((IF, Ag) => { "use strict"; var MC = G("path"), RC = G("module"), $h = G("fs"), bC = /* @__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 = $h.realpathSync(r); } catch (o) { if (o.code === "ENOENT") r = MC.resolve(r); else { if (e) return; throw o; } } let t = MC.join(r, "noop.js"), i = /* @__PURE__ */ g(() => RC._resolveFilename(A, { id: t, filename: t, paths: RC._nodeModulePaths(r) }), "resolveFileName"); if (e) try { return i(); } catch { return; } return i(); }, "resolveFrom"); Ag.exports = (r, A) => bC(r, A); Ag.exports.silent = (r, A) => bC(r, A, !0); }); // ../node_modules/common-path-prefix/index.js var WC = j((YF, zC) => { "use strict"; var { sep: ll } = G("path"), ul = /* @__PURE__ */ g((r) => { for (let A of r) { let e = /(\/|\\)/.exec(A); if (e !== null) return e[0]; } return ll; }, "determineSeparator"); zC.exports = /* @__PURE__ */ g(function(A, e = ul(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 dI = j((lg) => { var wI = "app-root-dir", st; lg.get = function() { var r = global[wI]; if (r) return r; if (st === void 0) { var A = G("fs"), e = G("path"), t = e.sep + "node_modules" + e.sep, i = process.cwd(), o = i.indexOf(t); o !== -1 ? st = i.substring(0, o) : A.existsSync(e.join(i, "package.json")) ? st = i : (o = __dirname.indexOf(t), o === -1 ? st = e.normalize( e.join(__dirname, "..")) : st = __dirname.substring(0, o)); } return st; }; lg.set = function(r) { global[wI] = st = r; }; }); // ../node_modules/dotenv/package.json var pI = j((nk, ou) => { ou.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 SI = j((Ck, be) => { var ug = G("fs"), fg = G("path"), gu = G("os"), su = G("crypto"), nu = pI(), wg = nu.version, Cu = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg; function Iu(r) { let A = {}, e = r.toString(); e = e.replace(/\r\n?/mg, ` `); let t; for (; (t = Cu.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(Iu, "parse"); function au(r) { let A = DI(r), e = mA.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 = yI(r).split(","), i = t.length, o; for (let s = 0; s < i; s++) try { let I = t[s].trim(), E = Bu(e, I); o = mA.decrypt(E.ciphertext, E.key); break; } catch (I) { if (s + 1 >= i) throw I; } return mA.parse(o); } g(au, "_parseVault"); function Eu(r) { console.log(`[dotenv@${wg}][INFO] ${r}`); } g(Eu, "_log"); function cu(r) { console.log(`[dotenv@${wg}][WARN] ${r}`); } g(cu, "_warn"); function ui(r) { console.log(`[dotenv@${wg}][DEBUG] ${r}`); } g(ui, "_debug"); function yI(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(yI, "_dotenvKey"); function Bu(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(Bu, "_instructions"); function DI(r) { let A = null; if (r && r.path && r.path.length > 0) if (Array.isArray(r.path)) for (let e of r.path) ug.existsSync(e) && (A = e.endsWith(".vault") ? e : `${e}.vault`); else A = r.path.endsWith(".vault") ? r.path : `${r.path}.vault`; else A = fg.resolve(process.cwd(), ".env.vault"); return ug.existsSync(A) ? A : null; } g(DI, "_vaultPath"); function mI(r) { return r[0] === "~" ? fg.join(gu.homedir(), r.slice(1)) : r; } g(mI, "_resolveHome"); function Qu(r) { Eu("Loading env from encrypted .env.vault"); let A = mA._parseVault(r), e = process.env; return r && r.processEnv != null && (e = r.processEnv), mA.populate(e, A, r), { parsed: A }; } g(Qu, "_configVault"); function hu(r) { let A = fg.resolve(process.cwd(), ".env"), e = "utf8", t = !!(r && r.debug); r && r.encoding ? e = r.encoding : t && ui("No encoding is specified. UTF-8 is used by default"); let i = [A]; if (r && r.path) if (!Array.isArray(r.path)) i = [mI(r.path)]; else { i = []; for (let E of r.path) i.push(mI(E)); } let o, s = {}; for (let E of i) try { let B = mA.parse(ug.readFileSync(E, { encoding: e })); mA.populate(s, B, r); } catch (B) { t && ui(`Failed to load ${E} ${B.message}`), o = B; } let I = process.env; return r && r.processEnv != null && (I = r.processEnv), mA.populate(I, s, r), o ? { parsed: s, error: o } : { parsed: s }; } g(hu, "configDotenv"); function lu(r) { if (yI(r).length === 0) return mA.configDotenv(r); let A = DI(r); return A ? mA._configVault(r) : (cu(`You set DOTENV_KEY but you are missing a .env.vault file at ${A}. Did you forget to build it?`), mA. configDotenv(r)); } g(lu, "config"); function uu(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 = su.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(uu, "decrypt"); function fu(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 && ui(i === !0 ? `"${o}" is already defined and WAS overwri\ tten` : `"${o}" is already defined and was NOT overwritten`)) : r[o] = A[o]; } g(fu, "populate"); var mA = { configDotenv: hu, _configVault: Qu, _parseVault: au, config: lu, decrypt: uu, parse: Iu, populate: fu }; be.exports.configDotenv = mA.configDotenv; be.exports._configVault = mA._configVault; be.exports._parseVault = mA._parseVault; be.exports.config = mA.config; be.exports.decrypt = mA.decrypt; be.exports.parse = mA.parse; be.exports.populate = mA.populate; be.exports = mA; }); // ../node_modules/lazy-universal-dotenv/node_modules/dotenv-expand/lib/main.js var NI = j((ak, FI) => { "use strict"; function wu(r, A) { let e = Array.from(r.matchAll(A)); return e.length > 0 ? e.slice(-1)[0].index : -1; } g(wu, "_searchLast"); function KI(r, A, e) { let t = wu(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 KI( r.replace( I, A[E] || B || e.parsed[E] || "" ), A, e ); } return r; } g(KI, "_interpolate"); function du(r) { return r.replace(/\\\$/g, "$"); } g(du, "_resolveEscapeSequences"); function pu(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] = du( KI(t, A, r) ); } for (let e in r.parsed) A[e] = r.parsed[e]; return r; } g(pu, "expand"); FI.exports.expand = pu; }); // ../node_modules/picomatch/lib/constants.js var dr = j((wM, WI) => { "use strict"; var vu = G("path"), Ke = "\\\\/", HI = `[^${Ke}]`, Le = "\\.", xu = "\\+", Pu = "\\?", wi = "\\/", Ou = "(?=.)", jI = "[^/]", dg = `(?:${wi}\ |$)`, qI = `(?:^|${wi})`, pg = `${Le}{1,2}${dg}`, _u = `(?!${Le})`, Tu = `(?!${qI}${pg})`, Hu = `(?!${Le}{0,1}${dg})`, ju = `(?!${pg})`, qu = `\ [^.${wi}]`, zu = `${jI}*?`, zI = { DOT_LITERAL: Le, PLUS_LITERAL: xu, QMARK_LITERAL: Pu, SLASH_LITERAL: wi, ONE_CHAR: Ou, QMARK: jI, END_ANCHOR: dg, DOTS_SLASH: pg, NO_DOT: _u, NO_DOTS: Tu, NO_DOT_SLASH: Hu, NO_DOTS_SLASH: ju, QMARK_NO_DOT: qu, STAR: zu, START_ANCHOR: qI }, Wu = { ...zI, SLASH_LITERAL: `[${Ke}]`, QMARK: HI, STAR: `${HI}*?`, DOTS_SLASH: `${Le}{1,2}(?:[${Ke}]|$)`, NO_DOT: `(?!${Le})`, NO_DOTS: `(?!(?:^|[${Ke}])${Le}{1,2}(?:[${Ke}]|$))`, NO_DOT_SLASH: `(?!${Le}{0,1}(?:[${Ke}]|$))`, NO_DOTS_SLASH: `(?!${Le}{1,2}(?:[${Ke}]|$))`, QMARK_NO_DOT: `[^.${Ke}]`, START_ANCHOR: `(?:^|[${Ke}])`, END_ANCHOR: `(?:[${Ke}]|$)` }, Xu = { 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" }; WI.exports = { MAX_LENGTH: 1024 * 64, POSIX_REGEX_SOURCE: Xu, // 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: vu.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 ? Wu : zI; } }; }); // ../node_modules/picomatch/lib/utils.js var di = j((qA) => { "use strict"; var Vu = G("path"), Zu = process.platform === "win32", { REGEX_BACKSLASH: $u, REGEX_REMOVE_BACKSLASH: Af, REGEX_SPECIAL_CHARS: ef, REGEX_SPECIAL_CHARS_GLOBAL: tf } = dr(); qA.isObject = (r) => r !== null && typeof r == "object" && !Array.isArray(r); qA.hasRegexChars = (r) => ef.test(r); qA.isRegexChar = (r) => r.length === 1 && qA.hasRegexChars(r); qA.escapeRegex = (r) => r.replace(tf, "\\$1"); qA.toPosixSlashes = (r) => r.replace($u, "/"); qA.removeBackslashes = (r) => r.replace(Af, (A) => A === "\\" ? "" : A); qA.supportsLookbehinds = () => { let r = process.version.slice(1).split(".").map(Number); return r.length === 3 && r[0] >= 9 || r[0] === 8 && r[1] >= 10; }; qA.isWindows = (r) => r && typeof r.windows == "boolean" ? r.windows : Zu === !0 || Vu.sep === "\\"; qA.escapeLast = (r, A, e) => { let t = r.lastIndexOf(A, e); return t === -1 ? r : r[t - 1] === "\\" ? qA.escapeLast(r, A, t - 1) : `${r.slice(0, t)}\\${r.slice(t)}`; }; qA.removePrefix = (r, A = {}) => { let e = r; return e.startsWith("./") && (e = e.slice(2), A.prefix = "./"), e; }; qA.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 ra = j((pM, ta) => { "use strict"; var XI = di(), { CHAR_ASTERISK: mg, /* * */ CHAR_AT: rf, /* @ */ CHAR_BACKWARD_SLASH: pr, /* \ */ CHAR_COMMA: of, /* , */ CHAR_DOT: yg, /* . */ CHAR_EXCLAMATION_MARK: Dg, /* ! */ CHAR_FORWARD_SLASH: ea, /* / */ CHAR_LEFT_CURLY_BRACE: Sg, /* { */ CHAR_LEFT_PARENTHESES: Kg, /* ( */ CHAR_LEFT_SQUARE_BRACKET: gf, /* [ */ CHAR_PLUS: sf, /* + */ CHAR_QUESTION_MARK: VI, /* ? */ CHAR_RIGHT_CURLY_BRACE: nf, /* } */ CHAR_RIGHT_PARENTHESES: ZI, /* ) */ CHAR_RIGHT_SQUARE_BRACKET: Cf /* ] */ } = dr(), $I = /* @__PURE__ */ g((r) => r === ea || r === pr, "isPathSeparator"), Aa = /* @__PURE__ */ g((r) => { r.isPrefix !== !0 && (r.depth = r.isGlobstar ? 1 / 0 : 1); }, "depth"), If = /* @__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 }, lA = /* @__PURE__ */ g( () => B >= t, "eos"), F = /* @__PURE__ */ g(() => E.charCodeAt(B + 1), "peek"), BA = /* @__PURE__ */ g(() => (sA = P, E.charCodeAt(++B)), "advance"); for (; B < t; ) { P = BA(); let MA; if (P === pr) { T = Z.backslashes = !0, P = BA(), P === Sg && (R = !0); continue; } if (R === !0 || P === Sg) { for (gA++; lA() !== !0 && (P = BA()); ) { if (P === pr) { T = Z.backslashes = !0, BA(); continue; } if (P === Sg) { gA++; continue; } if (R !== !0 && P === yg && (P = BA()) === yg) { if (f = Z.isBrace = !0, m = Z.isGlob = !0, V = !0, i === !0) continue; break; } if (R !== !0 && P === of) { if (f = Z.isBrace = !0, m = Z.isGlob = !0, V = !0, i === !0) continue; break; } if (P === nf && (gA--, gA === 0)) { R = !1, f = Z.isBrace = !0, V = !0; break; } } if (i === !0) continue; break; } if (P === ea) { if (o.push(B), s.push(Z), Z = { value: "", depth: 0, isGlob: !1 }, V === !0) continue; if (sA === yg && B === h + 1) { h += 2; continue; } u = B + 1; continue; } if (e.noext !== !0 && (P === sf || P === rf || P === mg || P === VI || P === Dg) === !0 && F() === Kg) { if (m = Z.isGlob = !0, D = Z.isExtglob = !0, V = !0, P === Dg && B === h && (x = !0), i === !0) { for (; lA() !== !0 && (P = BA()); ) { if (P === pr) { T = Z.backslashes = !0, P = BA(); continue; } if (P === ZI) { m = Z.isGlob = !0, V = !0; break; } } continue; } break; } if (P === mg) { if (sA === mg && (U = Z.isGlobstar = !0), m = Z.isGlob = !0, V = !0, i === !0) continue; break; } if (P === VI) { if (m = Z.isGlob = !0, V = !0, i === !0) continue; break; } if (P === gf) { for (; lA() !== !0 && (MA = BA()); ) { if (MA === pr) { T = Z.backslashes = !0, BA(); continue; } if (MA === Cf) { p = Z.isBracket = !0, m = Z.isGlob = !0, V = !0; break; } } if (i === !0) continue; break; } if (e.nonegate !== !0 && P === Dg && B === h) { M = Z.negated = !0, h++; continue; } if (e.noparen !== !0 && P === Kg) { if (m = Z.isGlob = !0, i === !0) { for (; lA() !== !0 && (P = BA()); ) { if (P === Kg) { T = Z.backslashes = !0, P = BA(); continue; } if (P === ZI) { V = !0; break; } } continue; } break; } if (m === !0) { if (V = !0, i === !0) continue; break; } } e.noext === !0 && (D = !1, m = !1); let QA = E, ne = "", S = ""; h > 0 && (ne = E.slice(0, h), E = E.slice(h), u -= h), QA && m === !0 && u > 0 ? (QA = E.slice(0, u), S = E.slice(u)) : m === !0 ? (QA = "", S = E) : QA = E, QA && QA !== "" && QA !== "/" && QA !== E && $I(QA.charCodeAt(QA.length - 1)) && (QA = QA.slice(0, -1)), e.unescape === !0 && (S && (S = XI.removeBackslashes(S)), QA && T === !0 && (QA = XI.removeBackslashes(QA))); let K = { prefix: ne, input: r, start: h, base: QA, glob: S, isBrace: f, isBracket: p, isGlob: m, isExtglob: D, isGlobstar: U, negated: M, negatedExtglob: x }; if (e.tokens === !0 && (K.maxDepth = 0, $I(P) || s.push(Z), K.tokens = s), e.parts === !0 || e.tokens === !0) { let MA; for (let oA = 0; oA < o.length; oA++) { let RA = MA ? MA + 1 : h, XA = o[oA], DA = r.slice(RA, XA); e.tokens && (oA === 0 && h !== 0 ? (s[oA].isPrefix = !0, s[oA].value = ne) : s[oA].value = DA, Aa(s[oA]), K.maxDepth += s[oA].depth), (oA !== 0 || DA !== "") && I.push(DA), MA = XA; } if (MA && MA + 1 < r.length) { let oA = r.slice(MA + 1); I.push(oA), e.tokens && (s[s.length - 1].value = oA, Aa(s[s.length - 1]), K.maxDepth += s[s.length - 1].depth); } K.slashes = o, K.parts = I; } return K; }, "scan"); ta.exports = If; }); // ../node_modules/picomatch/lib/parse.js var ga = j((yM, oa) => { "use strict"; var pi = dr(), Ae = di(), { MAX_LENGTH: mi, POSIX_REGEX_SOURCE: af, REGEX_NON_SPECIAL_CHARS: Ef, REGEX_SPECIAL_CHARS_BACKREF: cf, REPLACEMENTS: ia } = pi, Bf = /* @__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"), bt = /* @__PURE__ */ g((r, A) => `Missing ${r}: "${A}" - use "\\\\${A}" to match literal characters`, "syntaxError"), Fg = /* @__PURE__ */ g( (r, A) => { if (typeof r != "string") throw new TypeError("Expected a string"); r = ia[r] || r; let e = { ...A }, t = typeof e.maxLength == "number" ? Math.min(mi, e.maxLength) : mi, 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 = pi.globChars(E), h = pi.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, lA = e. bash === !0 ? sA(e) : V; e.capture && (lA = `(${lA})`), 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 BA = [], QA = [], ne = [], S = o, K, MA = /* @__PURE__ */ g(() => F.index === i - 1, "eos"), oA = F.peek = (Y = 1) => r[F.index + Y], RA = F.advance = () => r[++F.index] || "", XA = /* @__PURE__ */ g(() => r.slice(F.index + 1), "remaining"), DA = /* @__PURE__ */ g((Y = "", aA = 0) => { F.consumed += Y, F.index += aA; }, "consume"), rt = /* @__PURE__ */ g((Y) => { F.output += Y.output != null ? Y.output : Y.value, DA(Y.value); }, "append"), Qt = /* @__PURE__ */ g(() => { let Y = 1; for (; oA() === "!" && (oA(2) !== "(" || oA(3) === "?"); ) RA(), F.start++, Y++; return Y % 2 === 0 ? !1 : (F.negated = !0, F.start++, !0); }, "negate"), xe = /* @__PURE__ */ g((Y) => { F[Y]++, ne.push(Y); }, "increment"), Fe = /* @__PURE__ */ g((Y) => { F[Y]--, ne.pop(); }, "decrement"), rA = /* @__PURE__ */ g((Y) => { if (S.type === "globstar") { let aA = F.braces > 0 && (Y.type === "comma" || Y.type === "brace"), b = Y.extglob === !0 || BA.length && (Y.type === "pipe" || Y.type === "paren"); Y.type !== "slash" && Y.type !== "paren" && !aA && !b && (F.output = F.output.slice(0, -S.output.length), S.type = "star", S.value = "*", S.output = lA, F.output += S.output); } if (BA.length && Y.type !== "paren" && (BA[BA.length - 1].inner += Y.value), (Y.value || Y.output) && rt(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"), Pe = /* @__PURE__ */ g((Y, aA) => { let b = { ...h[aA], conditions: 1, inner: "" }; b.prev = S, b.parens = F.parens, b.output = F.output; let N = (e.capture ? "(" : "") + b.open; xe("parens"), rA({ type: Y, value: aA, output: F.output ? "" : m }), rA({ type: "paren", extglob: !0, value: RA(), output: N }), BA.push( b); }, "extglobOpen"), bA = /* @__PURE__ */ g((Y) => { let aA = Y.close + (e.capture ? ")" : ""), b; if (Y.type === "negate") { let N = lA; if (Y.inner && Y.inner.length > 1 && Y.inner.includes("/") && (N = sA(e)), (N !== lA || MA() || /^\)+$/.test(XA())) && (aA = Y.close = `)$))${N}`), Y.inner.includes("*") && (b = XA()) && /^\.[^\\/.]+$/.test(b)) { let hA = Fg(b, { ...A, fastpaths: !1 }).output; aA = Y.close = `)${hA})${N})`; } Y.prev.type === "bos" && (F.negatedExtglob = !0); } rA({ type: "paren", extglob: !0, value: K, output: aA }), Fe("parens"); }, "extglobClose"); if (e.fastpaths !== !1 && !/(^[*!]|[/()[\]{}"])/.test(r)) { let Y = !1, aA = r.replace(cf, (b, N, hA, SA, uA, ht) => SA === "\\" ? (Y = !0, b) : SA === "?" ? N ? N + SA + (uA ? M.repeat(uA.length) : "") : ht === 0 ? Z + (uA ? M.repeat(uA.length) : "") : M.repeat(hA.length) : SA === "." ? u.repeat(hA.length) : SA === "*" ? N ? N + SA + (uA ? lA : "") : lA : N ? b : `\\${b}`); return Y === !0 && (e.unescape === !0 ? aA = aA.replace(/\\/g, "") : aA = aA.replace(/\\+/g, (b) => b.length % 2 === 0 ? "\\\\" : b ? "\ \\" : "")), aA === r && e.contains === !0 ? (F.output = r, F) : (F.output = Ae.wrapOutput(aA, F, A), F); } for (; !MA(); ) { if (K = RA(), 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(XA()), hA = 0; if (N && N[0].length > 2 && (hA = N[0].length, F.index += hA, hA % 2 !== 0 && (K += "\\")), e.unescape === !0 ? K = RA() : K += RA(), 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("["), hA = S.value.slice(0, N), SA = S.value.slice(N + 2), uA = af[SA]; if (uA) { S.value = hA + uA, F.backtrack = !0, RA(), !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, rt({ value: K }); continue; } if (F.quotes === 1 && K !== '"') { K = Ae.escapeRegex(K), S.value += K, rt({ value: K }); continue; } if (K === '"') { F.quotes = F.quotes === 1 ? 0 : 1, e.keepQuotes === !0 && rA({ type: "text", value: K }); continue; } if (K === "(") { xe("parens"), rA({ type: "paren", value: K }); continue; } if (K === ")") { if (F.parens === 0 && e.strictBrackets === !0) throw new SyntaxError(bt("opening", "(")); let b = BA[BA.length - 1]; if (b && F.parens === b.parens + 1) { bA(BA.pop()); continue; } rA({ type: "paren", value: K, output: F.parens ? ")" : "\\)" }), Fe("parens"); continue; } if (K === "[") { if (e.nobracket === !0 || !XA().includes("]")) { if (e.nobracket !== !0 && e.strictBrackets === !0) throw new SyntaxError(bt("closing", "]")); K = `\\${K}`; } else xe("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(bt("opening", "[")); rA({ type: "text", value: K, output: `\\${K}` }); continue; } Fe("brackets"); let b = S.value.slice(1); if (S.posix !== !0 && b[0] === "^" && !b.includes("/") && (K = `/${K}`), S.value += K, rt({ 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) { xe("braces"); let b = { type: "brace", value: K, output: "(", outputIndex: F.output.length, tokensIndex: F.tokens.length }; QA.push(b), rA(b); continue; } if (K === "}") { let b = QA[QA.length - 1]; if (e.nobrace === !0 || !b) { rA({ type: "text", value: K, output: K }); continue; } let N = ")"; if (b.dots === !0) { let hA = s.slice(), SA = []; for (let uA = hA.length - 1; uA >= 0 && (s.pop(), hA[uA].type !== "brace"); uA--) hA[uA].type !== "dots" && SA.unshift(hA[uA].value); N = Bf(SA, e), F.backtrack = !0; } if (b.comma !== !0 && b.dots !== !0) { let hA = F.output.slice(0, b.outputIndex), SA = F.tokens.slice(b.tokensIndex); b.value = b.output = "\\{", K = N = "\\}", F.output = hA; for (let uA of SA) F.output += uA.output || uA.value; } rA({ type: "brace", value: K, output: N }), Fe("braces"), QA.pop(); continue; } if (K === "|") { BA.length > 0 && BA[BA.length - 1].conditions++, rA({ type: "text", value: K }); continue; } if (K === ",") { let b = K, N = QA[QA.length - 1]; N && ne[ne.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 = QA[QA.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) !== "?") { Pe("qmark", K); continue; } if (S && S.type === "paren") { let N = oA(), hA = 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(XA())) && (hA = `\\${K}`), rA({ type: "text", value: K, output: hA }); 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)))) { Pe("negate", K); continue; } if (e.nonegate !== !0 && F.index === 0) { Qt(); continue; } } if (K === "+") { if (e.noextglob !== !0 && oA() === "(" && oA(2) !== "?") { Pe("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 = Ef.exec(XA()); 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 = lA, F.backtrack = !0, F.globstar = !0, DA(K); continue; } let Y = XA(); if (e.noextglob !== !0 && /^\([^?]/.test(Y)) { Pe("star", K); continue; } if (S.type === "star") { if (e.noglobstar === !0) { DA(K); continue; } let b = S.prev, N = b.prev, hA = b.type === "slash" || b.type === "bos", SA = N && (N.type === "star" || N.type === "globstar"); if (e.bash === !0 && (!hA || Y[0] && Y[0] !== "/")) { rA({ type: "star", value: K, output: "" }); continue; } let uA = F.braces > 0 && (b.type === "comma" || b.type === "brace"), ht = BA.length && (b.type === "pipe" || b.type === "paren"); if (!hA && b.type !== "paren" && !uA && !ht) { rA({ type: "star", value: K, output: "" }); continue; } for (; Y.slice(0, 3) === "/**"; ) { let Ht = r[F.index + 4]; if (Ht && Ht !== "/") break; Y = Y.slice(3), DA("/**", 3); } if (b.type === "bos" && MA()) { S.type = "globstar", S.value += K, S.output = sA(e), F.output = S.output, F.globstar = !0, DA(K); continue; } if (b.type === "slash" && b.prev.type !== "bos" && !SA && MA()) { 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, DA(K); continue; } if (b.type === "slash" && b.prev.type !== "bos" && Y[0] === "/") { let Ht = 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}${Ht})`, S.value += K, F.output += b.output + S.output, F.globstar = !0, DA(K + RA()), 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, DA(K + RA()), 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, DA(K); continue; } let aA = { type: "star", value: K, output: lA }; if (e.bash === !0) { aA.output = ".*?", (S.type === "bos" || S.type === "slash") && (aA.output = P + aA.output), rA(aA); continue; } if (S && (S.type === "bracket" || S.type === "paren") && e.regex === !0) { aA.output = K, rA(aA); 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(aA); } for (; F.brackets > 0; ) { if (e.strictBrackets === !0) throw new SyntaxError(bt("closing", "]")); F.output = Ae.escapeLast(F.output, "["), Fe("brackets"); } for (; F.parens > 0; ) { if (e.strictBrackets === !0) throw new SyntaxError(bt("closing", ")")); F.output = Ae.escapeLast(F.output, "("), Fe("parens"); } for (; F.braces > 0; ) { if (e.strictBrackets === !0) throw new SyntaxError(bt("closing", "}")); F.output = Ae.escapeLast(F.output, "{"), Fe("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"); Fg.fastpaths = (r, A) => { let e = { ...A }, t = typeof e.maxLength == "number" ? Math.min(mi, e.maxLength) : mi, i = r.length; if (i > t) throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${t}`); r = ia[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 } = pi.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 lA = V(Z[1]); return lA ? lA + s + Z[2] : void 0; } } }, "create"), gA = Ae.removePrefix(r, T), sA = V(gA); return sA && e.strictSlashes !== !0 && (sA += `${I}?`), sA; }; oa.exports = Fg; }); // ../node_modules/picomatch/lib/picomatch.js var na = j((SM, sa) => { "use strict"; var Qf = G("path"), hf = ra(), Ng = ga(), kg = di(), lf = dr(), uf = /* @__PURE__ */ g((r) => r && typeof r == "object" && !Array.isArray( r), "isObject"), dA = /* @__PURE__ */ g((r, A, e = !1) => { if (Array.isArray(r)) { let