PK
\\d+)m|\\${ANSI_ESCAPE_LINK}(?.*)${ANSI_ESCAPE_BELL})`).exec(pre.slice(index).join("")) || { groups: {} }; if (groups.code !== void 0) { const code2 = Number.parseFloat(groups.code); escapeCode = code2 === END_CODE ? void 0 : code2; } else if (groups.uri !== void 0) { escapeUrl = groups.uri.length === 0 ? void 0 : groups.uri; } } const code = ansiStyles.codes.get(Number(escapeCode)); if (pre[index + 1] === "\n") { if (escapeUrl) { returnValue += wrapAnsiHyperlink(""); } if (escapeCode && code) { returnValue += wrapAnsi(code); } } else if (character === "\n") { if (escapeCode && code) { returnValue += wrapAnsi(escapeCode); } if (escapeUrl) { returnValue += wrapAnsiHyperlink(escapeUrl); } } } return returnValue; }; module2.exports = (string, columns, options) => { return String(string).normalize().replace(/\r\n/g, "\n").split("\n").map((line) => exec(line, columns, options)).join("\n"); }; } }); // ../node_modules/.pnpm/@zkochan+boxen@5.1.2/node_modules/@zkochan/boxen/index.js var require_boxen = __commonJS({ "../node_modules/.pnpm/@zkochan+boxen@5.1.2/node_modules/@zkochan/boxen/index.js"(exports2, module2) { "use strict"; var stringWidth = require_string_width(); var chalk = require_source(); var widestLine = require_widest_line(); var cliBoxes = require_cli_boxes(); var camelCase = require_camelcase(); var ansiAlign = require_ansi_align(); var wrapAnsi = require_wrap_ansi(); var NL = "\n"; var PAD = " "; var terminalColumns = () => { const { env, stdout, stderr } = process; if (stdout && stdout.columns) { return stdout.columns; } if (stderr && stderr.columns) { return stderr.columns; } if (env.COLUMNS) { return Number.parseInt(env.COLUMNS, 10); } return 80; }; var getObject = (detail) => { return typeof detail === "number" ? { top: detail, right: detail * 3, bottom: detail, left: detail * 3 } : { top: 0, right: 0, bottom: 0, left: 0, ...detail }; }; var getBorderChars = (borderStyle) => { const sides = [ "topLeft", "topRight", "bottomRight", "bottomLeft", "vertical", "horizontal" ]; let chararacters; if (typeof borderStyle === "string") { chararacters = cliBoxes[borderStyle]; if (!chararacters) { throw new TypeError(`Invalid border style: ${borderStyle}`); } } else { for (const side of sides) { if (!borderStyle[side] || typeof borderStyle[side] !== "string") { throw new TypeError(`Invalid border style: ${side}`); } } chararacters = borderStyle; } return chararacters; }; var makeTitle = (text, horizontal, alignement) => { let title = ""; const textWidth = stringWidth(text); switch (alignement) { case "left": title = text + horizontal.slice(textWidth); break; case "right": title = horizontal.slice(textWidth) + text; break; default: horizontal = horizontal.slice(textWidth); if (horizontal.length % 2 === 1) { horizontal = horizontal.slice(Math.floor(horizontal.length / 2)); title = horizontal.slice(1) + text + horizontal; } else { horizontal = horizontal.slice(horizontal.length / 2); title = horizontal + text + horizontal; } break; } return title; }; var makeContentText = (text, padding, columns, align) => { text = ansiAlign(text, { align }); let lines = text.split(NL); const textWidth = widestLine(text); const max = columns - padding.left - padding.right; if (textWidth > max) { const newLines = []; for (const line of lines) { const createdLines = wrapAnsi(line, max, { hard: true }); const alignedLines = ansiAlign(createdLines, { align }); const alignedLinesArray = alignedLines.split("\n"); const longestLength = Math.max(...alignedLinesArray.map((s) => stringWidth(s))); for (const alignedLine of alignedLinesArray) { let paddedLine; switch (align) { case "center": paddedLine = PAD.repeat((max - longestLength) / 2) + alignedLine; break; case "right": paddedLine = PAD.repeat(max - longestLength) + alignedLine; break; default: paddedLine = alignedLine; break; } newLines.push(paddedLine); } } lines = newLines; } if (align === "center" && textWidth < max) { lines = lines.map((line) => PAD.repeat((max - textWidth) / 2) + line); } else if (align === "right" && textWidth < max) { lines = lines.map((line) => PAD.repeat(max - textWidth) + line); } const paddingLeft = PAD.repeat(padding.left); const paddingRight = PAD.repeat(padding.right); lines = lines.map((line) => paddingLeft + line + paddingRight); lines = lines.map((line) => { if (columns - stringWidth(line) > 0) { switch (align) { case "center": return line + PAD.repeat(columns - stringWidth(line)); case "right": return line + PAD.repeat(columns - stringWidth(line)); default: return line + PAD.repeat(columns - stringWidth(line)); } } return line; }); if (padding.top > 0) { lines = new Array(padding.top).fill(PAD.repeat(columns)).concat(lines); } if (padding.bottom > 0) { lines = lines.concat(new Array(padding.bottom).fill(PAD.repeat(columns))); } return lines.join(NL); }; var isHex = (color) => color.match(/^#(?:[0-f]{3}){1,2}$/i); var isColorValid = (color) => typeof color === "string" && (chalk[color] || isHex(color)); var getColorFn = (color) => isHex(color) ? chalk.hex(color) : chalk[color]; var getBGColorFn = (color) => isHex(color) ? chalk.bgHex(color) : chalk[camelCase(["bg", color])]; module2.exports = (text, options) => { options = { padding: 0, borderStyle: "single", dimBorder: false, textAlignment: "left", float: "left", titleAlignment: "left", ...options }; if (options.align) { options.textAlignment = options.align; } const BORDERS_WIDTH = 2; if (options.borderColor && !isColorValid(options.borderColor)) { throw new Error(`${options.borderColor} is not a valid borderColor`); } if (options.backgroundColor && !isColorValid(options.backgroundColor)) { throw new Error(`${options.backgroundColor} is not a valid backgroundColor`); } const chars = getBorderChars(options.borderStyle); const padding = getObject(options.padding); const margin = getObject(options.margin); const colorizeBorder = (border) => { const newBorder = options.borderColor ? getColorFn(options.borderColor)(border) : border; return options.dimBorder ? chalk.dim(newBorder) : newBorder; }; const colorizeContent = (content) => options.backgroundColor ? getBGColorFn(options.backgroundColor)(content) : content; const columns = terminalColumns(); let contentWidth = widestLine(wrapAnsi(text, columns - BORDERS_WIDTH, { hard: true, trim: false })) + padding.left + padding.right; let title = options.title && options.title.slice(0, columns - 4 - margin.left - margin.right); if (title) { title = ` ${title} `; if (stringWidth(title) > contentWidth) { contentWidth = stringWidth(title); } } if (margin.left && margin.right && contentWidth + BORDERS_WIDTH + margin.left + margin.right > columns) { const spaceForMargins = columns - contentWidth - BORDERS_WIDTH; const multiplier = spaceForMargins / (margin.left + margin.right); margin.left = Math.max(0, Math.floor(margin.left * multiplier)); margin.right = Math.max(0, Math.floor(margin.right * multiplier)); } contentWidth = Math.min(contentWidth, columns - BORDERS_WIDTH - margin.left - margin.right); text = makeContentText(text, padding, contentWidth, options.textAlignment); let marginLeft = PAD.repeat(margin.left); if (options.float === "center") { const marginWidth = Math.max((columns - contentWidth - BORDERS_WIDTH) / 2, 0); marginLeft = PAD.repeat(marginWidth); } else if (options.float === "right") { const marginWidth = Math.max(columns - contentWidth - margin.right - BORDERS_WIDTH, 0); marginLeft = PAD.repeat(marginWidth); } const horizontal = chars.horizontal.repeat(contentWidth); const top = colorizeBorder(NL.repeat(margin.top) + marginLeft + chars.topLeft + (title ? makeTitle(title, horizontal, options.titleAlignment) : horizontal) + chars.topRight); const bottom = colorizeBorder(marginLeft + chars.bottomLeft + horizontal + chars.bottomRight + NL.repeat(margin.bottom)); const side = colorizeBorder(chars.vertical); const lines = text.split(NL); const middle = lines.map((line) => { return marginLeft + side + colorizeContent(line) + side; }).join(NL); return top + NL + middle + NL + bottom; }; module2.exports._borderStyles = cliBoxes; } }); // ../cli/default-reporter/lib/reporterForClient/reportIgnoredBuilds.js var require_reportIgnoredBuilds = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportIgnoredBuilds.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportIgnoredBuilds = reportIgnoredBuilds; var util_lex_comparator_1 = require_dist4(); var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var boxen_1 = __importDefault2(require_boxen()); function reportIgnoredBuilds(log$, opts) { return log$.ignoredScripts.pipe((0, operators_1.map)((ignoredScripts) => { if (ignoredScripts.packageNames && ignoredScripts.packageNames.length > 0 && !opts.pnpmConfig?.strictDepBuilds) { const msg = (0, boxen_1.default)(`Ignored build scripts: ${Array.from(ignoredScripts.packageNames).sort(util_lex_comparator_1.lexCompare).join(", ")}. ${opts.approveBuildsInstructionText ?? `Run "pnpm approve-builds${opts.pnpmConfig?.cliOptions?.global ? " -g" : ""}" to pick which dependencies should be allowed to run scripts.`}`, { title: "Warning", padding: 1, margin: 0, borderStyle: "round", borderColor: "yellow" }); return Rx.of({ msg }); } return Rx.NEVER; })); } } }); // ../cli/default-reporter/lib/reporterForClient/reportInstallChecks.js var require_reportInstallChecks = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportInstallChecks.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportInstallChecks = reportInstallChecks; var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var formatWarn_js_1 = require_formatWarn(); var zooming_js_1 = require_zooming(); function reportInstallChecks(installCheck$, opts) { return installCheck$.pipe((0, operators_1.map)((log) => formatInstallCheck(opts.cwd, log)), (0, operators_1.filter)(Boolean), (0, operators_1.map)((msg) => Rx.of({ msg }))); } function formatInstallCheck(currentPrefix, logObj, opts) { const zoomOutCurrent = opts?.zoomOutCurrent ?? false; switch (logObj.code) { case "EBADPLATFORM": return (0, zooming_js_1.autozoom)(currentPrefix, logObj.prefix, (0, formatWarn_js_1.formatWarn)(`Unsupported system. Skipping dependency ${logObj.pkgId}`), { zoomOutCurrent }); case "ENOTSUP": return (0, zooming_js_1.autozoom)(currentPrefix, logObj.prefix, logObj.toString(), { zoomOutCurrent }); default: return void 0; } } } }); // ../cli/default-reporter/lib/reporterForClient/reportInstallingConfigDeps.js var require_reportInstallingConfigDeps = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportInstallingConfigDeps.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportInstallingConfigDeps = reportInstallingConfigDeps; var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); function reportInstallingConfigDeps(installingConfigDeps$) { return Rx.of(installingConfigDeps$.pipe((0, operators_1.map)((log) => { switch (log.status) { case "started": { return { msg: "Installing config dependencies..." }; } case "done": return { msg: `Installed config dependencies: ${log.deps.map(({ name, version: version2 }) => `${name}@${version2}`).join(", ")}` }; } }))); } } }); // ../node_modules/.pnpm/astral-regex@2.0.0/node_modules/astral-regex/index.js var require_astral_regex = __commonJS({ "../node_modules/.pnpm/astral-regex@2.0.0/node_modules/astral-regex/index.js"(exports2, module2) { "use strict"; var regex = "[\uD800-\uDBFF][\uDC00-\uDFFF]"; var astralRegex = (options) => options && options.exact ? new RegExp(`^${regex}$`) : new RegExp(regex, "g"); module2.exports = astralRegex; } }); // ../node_modules/.pnpm/slice-ansi@3.0.0/node_modules/slice-ansi/index.js var require_slice_ansi = __commonJS({ "../node_modules/.pnpm/slice-ansi@3.0.0/node_modules/slice-ansi/index.js"(exports2, module2) { "use strict"; var isFullwidthCodePoint = require_is_fullwidth_code_point(); var astralRegex = require_astral_regex(); var ansiStyles = require_ansi_styles(); var ESCAPES = [ "\x1B", "\x9B" ]; var wrapAnsi = (code) => `${ESCAPES[0]}[${code}m`; var checkAnsi = (ansiCodes, isEscapes, endAnsiCode) => { let output = []; ansiCodes = [...ansiCodes]; for (let ansiCode of ansiCodes) { const ansiCodeOrigin = ansiCode; if (ansiCode.match(";")) { ansiCode = ansiCode.split(";")[0][0] + "0"; } const item = ansiStyles.codes.get(parseInt(ansiCode, 10)); if (item) { const indexEscape = ansiCodes.indexOf(item.toString()); if (indexEscape >= 0) { ansiCodes.splice(indexEscape, 1); } else { output.push(wrapAnsi(isEscapes ? item : ansiCodeOrigin)); } } else if (isEscapes) { output.push(wrapAnsi(0)); break; } else { output.push(wrapAnsi(ansiCodeOrigin)); } } if (isEscapes) { output = output.filter((element, index) => output.indexOf(element) === index); if (endAnsiCode !== void 0) { const fistEscapeCode = wrapAnsi(ansiStyles.codes.get(parseInt(endAnsiCode, 10))); output = output.reduce((current, next) => next === fistEscapeCode ? [next, ...current] : [...current, next], []); } } return output.join(""); }; module2.exports = (string, begin, end) => { const characters = [...string.normalize()]; const ansiCodes = []; end = typeof end === "number" ? end : characters.length; let isInsideEscape = false; let ansiCode; let visible = 0; let output = ""; for (const [index, character] of characters.entries()) { let leftEscape = false; if (ESCAPES.includes(character)) { const code = /\d[^m]*/.exec(string.slice(index, index + 18)); ansiCode = code && code.length > 0 ? code[0] : void 0; if (visible < end) { isInsideEscape = true; if (ansiCode !== void 0) { ansiCodes.push(ansiCode); } } } else if (isInsideEscape && character === "m") { isInsideEscape = false; leftEscape = true; } if (!isInsideEscape && !leftEscape) { ++visible; } if (!astralRegex({ exact: true }).test(character) && isFullwidthCodePoint(character.codePointAt())) { ++visible; } if (visible > begin && visible <= end) { output += character; } else if (visible === begin && !isInsideEscape && ansiCode !== void 0) { output = checkAnsi(ansiCodes); } else if (visible >= end) { output += checkAnsi(ansiCodes, true, ansiCode); break; } } return output; }; } }); // ../node_modules/.pnpm/cli-truncate@2.1.0/node_modules/cli-truncate/index.js var require_cli_truncate = __commonJS({ "../node_modules/.pnpm/cli-truncate@2.1.0/node_modules/cli-truncate/index.js"(exports2, module2) { "use strict"; var sliceAnsi = require_slice_ansi(); var stringWidth = require_string_width(); function getIndexOfNearestSpace(string, index, shouldSearchRight) { if (string.charAt(index) === " ") { return index; } for (let i = 1; i <= 3; i++) { if (shouldSearchRight) { if (string.charAt(index + i) === " ") { return index + i; } } else if (string.charAt(index - i) === " ") { return index - i; } } return index; } module2.exports = (text, columns, options) => { options = { position: "end", preferTruncationOnSpace: false, ...options }; const { position, space, preferTruncationOnSpace } = options; let ellipsis = "\u2026"; let ellipsisWidth = 1; if (typeof text !== "string") { throw new TypeError(`Expected \`input\` to be a string, got ${typeof text}`); } if (typeof columns !== "number") { throw new TypeError(`Expected \`columns\` to be a number, got ${typeof columns}`); } if (columns < 1) { return ""; } if (columns === 1) { return ellipsis; } const length = stringWidth(text); if (length <= columns) { return text; } if (position === "start") { if (preferTruncationOnSpace) { const nearestSpace = getIndexOfNearestSpace(text, length - columns + 1, true); return ellipsis + sliceAnsi(text, nearestSpace, length).trim(); } if (space === true) { ellipsis += " "; ellipsisWidth = 2; } return ellipsis + sliceAnsi(text, length - columns + ellipsisWidth, length); } if (position === "middle") { if (space === true) { ellipsis = " " + ellipsis + " "; ellipsisWidth = 3; } const half = Math.floor(columns / 2); if (preferTruncationOnSpace) { const spaceNearFirstBreakPoint = getIndexOfNearestSpace(text, half); const spaceNearSecondBreakPoint = getIndexOfNearestSpace(text, length - (columns - half) + 1, true); return sliceAnsi(text, 0, spaceNearFirstBreakPoint) + ellipsis + sliceAnsi(text, spaceNearSecondBreakPoint, length).trim(); } return sliceAnsi(text, 0, half) + ellipsis + sliceAnsi(text, length - (columns - half) + ellipsisWidth, length); } if (position === "end") { if (preferTruncationOnSpace) { const nearestSpace = getIndexOfNearestSpace(text, columns - 1); return sliceAnsi(text, 0, nearestSpace) + ellipsis; } if (space === true) { ellipsis = " " + ellipsis; ellipsisWidth = 2; } return sliceAnsi(text, 0, columns - ellipsisWidth) + ellipsis; } throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${position}`); }; } }); // ../cli/default-reporter/lib/reporterForClient/reportLifecycleScripts.js var require_reportLifecycleScripts = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportLifecycleScripts.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportLifecycleScripts = reportLifecycleScripts; var cli_truncate_1 = __importDefault2(require_cli_truncate()); var path_1 = __importDefault2(require("path")); var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var chalk_1 = __importDefault2(require_source()); var pretty_ms_1 = __importDefault2(require_pretty_ms()); var constants_js_1 = require_constants(); var formatPrefix_js_1 = require_formatPrefix(); var outputConstants_js_1 = require_outputConstants(); var NODE_MODULES = `${path_1.default.sep}node_modules${path_1.default.sep}`; var TMP_DIR_IN_STORE = `tmp${path_1.default.sep}_tmp_`; var colorWheel = ["cyan", "magenta", "blue", "yellow", "green", "red"]; var NUM_COLORS = colorWheel.length; var currentColor = 0; function reportLifecycleScripts(log$, opts) { if (opts.appendOnly) { let lifecycle$ = log$.lifecycle; if (opts.aggregateOutput) { lifecycle$ = lifecycle$.pipe(aggregateOutput); } const streamLifecycleOutput2 = createStreamLifecycleOutput(opts.cwd, !!opts.hideLifecyclePrefix); return lifecycle$.pipe((0, operators_1.map)((log) => Rx.of({ msg: streamLifecycleOutput2(log) }))); } const lifecycleMessages = {}; const lifecycleStreamByDepPath = {}; const lifecyclePushStream = new Rx.Subject(); log$.lifecycle.forEach((log) => { const key = `${log.stage}:${log.depPath}`; lifecycleMessages[key] = lifecycleMessages[key] || { collapsed: log.wd.includes(NODE_MODULES) || log.wd.includes(TMP_DIR_IN_STORE), output: [], startTime: process.hrtime(), status: formatIndentedStatus(chalk_1.default.magentaBright("Running...")) }; const exit = typeof log["exitCode"] === "number"; let msg; if (lifecycleMessages[key].collapsed) { msg = renderCollapsedScriptOutput(log, lifecycleMessages[key], { cwd: opts.cwd, exit, maxWidth: opts.width }); } else { msg = renderScriptOutput(log, lifecycleMessages[key], { cwd: opts.cwd, exit, maxWidth: opts.width }); } if (exit) { delete lifecycleMessages[key]; } if (!lifecycleStreamByDepPath[key]) { lifecycleStreamByDepPath[key] = new Rx.Subject(); lifecyclePushStream.next(Rx.from(lifecycleStreamByDepPath[key])); } lifecycleStreamByDepPath[key].next({ msg }); if (exit) { lifecycleStreamByDepPath[key].complete(); } }); return Rx.from(lifecyclePushStream); } function toNano(time) { return (time[0] + time[1] / 1e9) * 1e3; } function renderCollapsedScriptOutput(log, messageCache, opts) { if (!messageCache.label) { messageCache.label = highlightLastFolder((0, formatPrefix_js_1.formatPrefixNoTrim)(opts.cwd, log.wd)); if (log.wd.includes(TMP_DIR_IN_STORE)) { messageCache.label += ` [${log.depPath}]`; } messageCache.label += `: Running ${log.stage} script`; } if (!opts.exit) { updateMessageCache(log, messageCache, opts); return `${messageCache.label}...`; } const time = (0, pretty_ms_1.default)(toNano(process.hrtime(messageCache.startTime))); if (log.exitCode === 0) { return `${messageCache.label}, done in ${time}`; } if (log.optional === true) { return `${messageCache.label}, failed in ${time} (skipped as optional)`; } return `${messageCache.label}, failed in ${time}${constants_js_1.EOL}${renderScriptOutput(log, messageCache, opts)}`; } function renderScriptOutput(log, messageCache, opts) { updateMessageCache(log, messageCache, opts); if (opts.exit && log["exitCode"] !== 0) { return [ messageCache.script, ...messageCache.output, messageCache.status ].join(constants_js_1.EOL); } if (messageCache.output.length > 10) { return [ messageCache.script, `[${messageCache.output.length - 10} lines collapsed]`, ...messageCache.output.slice(messageCache.output.length - 10), messageCache.status ].join(constants_js_1.EOL); } return [ messageCache.script, ...messageCache.output, messageCache.status ].join(constants_js_1.EOL); } function updateMessageCache(log, messageCache, opts) { if (log.script) { const prefix = `${(0, formatPrefix_js_1.formatPrefix)(opts.cwd, log.wd)} ${(0, outputConstants_js_1.hlValue)(log.stage)}`; const maxLineWidth = opts.maxWidth - prefix.length - 2 + ANSI_ESCAPES_LENGTH_OF_PREFIX; messageCache.script = `${prefix}$ ${cutLine(log.script, maxLineWidth)}`; } else if (opts.exit) { const time = (0, pretty_ms_1.default)(toNano(process.hrtime(messageCache.startTime))); if (log.exitCode === 0) { messageCache.status = formatIndentedStatus(chalk_1.default.magentaBright(`Done in ${time}`)); } else { messageCache.status = formatIndentedStatus(chalk_1.default.red(`Failed in ${time} at ${log.wd}`)); } } else { messageCache.output.push(formatIndentedOutput(opts.maxWidth, log)); } } function formatIndentedStatus(status) { return `${chalk_1.default.magentaBright("\u2514\u2500")} ${status}`; } function highlightLastFolder(p) { const lastSlash = p.lastIndexOf("/") + 1; return `${chalk_1.default.gray(p.slice(0, lastSlash))}${p.slice(lastSlash)}`; } var ANSI_ESCAPES_LENGTH_OF_PREFIX = (0, outputConstants_js_1.hlValue)(" ").length - 1; function createStreamLifecycleOutput(cwd, hideLifecyclePrefix) { currentColor = 0; const colorByPrefix = /* @__PURE__ */ new Map(); return streamLifecycleOutput.bind(null, colorByPrefix, cwd, hideLifecyclePrefix); } function streamLifecycleOutput(colorByPkg, cwd, hideLifecyclePrefix, logObj) { const prefix = formatLifecycleScriptPrefix(colorByPkg, cwd, logObj.wd, logObj.stage); if (typeof logObj.exitCode === "number") { if (logObj.exitCode === 0) { return `${prefix}: Done`; } else { return `${prefix}: Failed`; } } if (logObj["script"]) { return `${prefix}$ ${logObj["script"]}`; } const line = formatLine(Infinity, logObj); return hideLifecyclePrefix ? line : `${prefix}: ${line}`; } function formatIndentedOutput(maxWidth, logObj) { return `${chalk_1.default.magentaBright("\u2502")} ${formatLine(maxWidth - 2, logObj)}`; } function formatLifecycleScriptPrefix(colorByPkg, cwd, wd, stage) { if (!colorByPkg.has(wd)) { const colorName = colorWheel[currentColor % NUM_COLORS]; colorByPkg.set(wd, chalk_1.default[colorName]); currentColor += 1; } const color = colorByPkg.get(wd); return `${color((0, formatPrefix_js_1.formatPrefix)(cwd, wd))} ${(0, outputConstants_js_1.hlValue)(stage)}`; } function formatLine(maxWidth, logObj) { const line = cutLine(logObj.line, maxWidth); if (logObj.stdio === "stderr") { return chalk_1.default.gray(line); } return line; } function cutLine(line, maxLength) { if (!line) return ""; return (0, cli_truncate_1.default)(line, maxLength); } function aggregateOutput(source) { return source.pipe( // The '\0' is a null character which delimits these strings. This works since JS doesn't use // null-terminated strings. (0, operators_1.groupBy)((data) => `${data.depPath}\0${data.stage}`), (0, operators_1.mergeMap)((group) => { return group.pipe((0, operators_1.buffer)(group.pipe((0, operators_1.filter)((msg) => "exitCode" in msg)))); }), (0, operators_1.map)((ar) => Rx.from(ar)), (0, operators_1.mergeAll)() ); } } }); // ../node_modules/.pnpm/archy@1.0.0/node_modules/archy/index.js var require_archy = __commonJS({ "../node_modules/.pnpm/archy@1.0.0/node_modules/archy/index.js"(exports2, module2) { module2.exports = function archy(obj, prefix, opts) { if (prefix === void 0) prefix = ""; if (!opts) opts = {}; var chr = function(s) { var chars = { "\u2502": "|", "\u2514": "`", "\u251C": "+", "\u2500": "-", "\u252C": "-" }; return opts.unicode === false ? chars[s] : s; }; if (typeof obj === "string") obj = { label: obj }; var nodes = obj.nodes || []; var lines = (obj.label || "").split("\n"); var splitter = "\n" + prefix + (nodes.length ? chr("\u2502") : " ") + " "; return prefix + lines.join(splitter) + "\n" + nodes.map(function(node, ix) { var last = ix === nodes.length - 1; var more = node.nodes && node.nodes.length; var prefix_ = prefix + (last ? " " : chr("\u2502")) + " "; return prefix + (last ? chr("\u2514") : chr("\u251C")) + chr("\u2500") + (more ? chr("\u252C") : chr("\u2500")) + " " + archy(node, prefix_, opts).slice(prefix.length + 2); }).join(""); }; } }); // ../dedupe/issues-renderer/lib/index.js var require_lib24 = __commonJS({ "../dedupe/issues-renderer/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.renderDedupeCheckIssues = renderDedupeCheckIssues; var archy_1 = __importDefault2(require_archy()); var chalk_1 = __importDefault2(require_source()); function renderDedupeCheckIssues(dedupeCheckIssues) { const importersReport = report(dedupeCheckIssues.importerIssuesByImporterId); const packagesReport = report(dedupeCheckIssues.packageIssuesByDepPath); const lines = []; if (importersReport !== "") { lines.push(chalk_1.default.blueBright.underline("Importers")); lines.push(importersReport); lines.push(""); } if (packagesReport !== "") { lines.push(chalk_1.default.blueBright.underline("Packages")); lines.push(packagesReport); lines.push(""); } return lines.join("\n"); } function report(snapshotChanges) { return [ ...Object.entries(snapshotChanges.updated).map(([alias, updates]) => (0, archy_1.default)(toArchy(alias, updates))), ...snapshotChanges.added.map((id) => `${chalk_1.default.green("+")} ${id}`), ...snapshotChanges.removed.map((id) => `${chalk_1.default.red("-")} ${id}`) ].join("\n"); } function toArchy(name, issue) { return { label: name, nodes: Object.entries(issue).map(([alias, change]) => toArchyResolution(alias, change)) }; } function toArchyResolution(alias, change) { switch (change.type) { case "added": return { label: `${chalk_1.default.green("+")} ${alias} ${chalk_1.default.gray(change.next)}` }; case "removed": return { label: `${chalk_1.default.red("-")} ${alias} ${chalk_1.default.gray(change.prev)}` }; case "updated": return { label: `${alias} ${chalk_1.default.red(change.prev)} ${chalk_1.default.gray("\u2192")} ${chalk_1.default.green(change.next)}` }; } } } }); // ../node_modules/.pnpm/cli-columns@4.0.0/node_modules/cli-columns/index.js var require_cli_columns = __commonJS({ "../node_modules/.pnpm/cli-columns@4.0.0/node_modules/cli-columns/index.js"(exports2, module2) { "use strict"; var stringWidth = require_string_width(); var stripAnsi = require_strip_ansi(); var concat = Array.prototype.concat; var defaults = { character: " ", newline: "\n", padding: 2, sort: true, width: 0 }; function byPlainText(a, b) { const plainA = stripAnsi(a); const plainB = stripAnsi(b); if (plainA === plainB) { return 0; } if (plainA > plainB) { return 1; } return -1; } function makeArray() { return []; } function makeList(count) { return Array.apply(null, Array(count)); } function padCell(fullWidth, character, value) { const valueWidth = stringWidth(value); const filler = makeList(fullWidth - valueWidth + 1); return value + filler.join(character); } function toRows(rows, cell, i) { rows[i % rows.length].push(cell); return rows; } function toString(arr) { return arr.join(""); } function columns(values, options) { values = concat.apply([], values); options = Object.assign({}, defaults, options); let cells = values.filter(Boolean).map(String); if (options.sort !== false) { cells = cells.sort(byPlainText); } const termWidth = options.width || process.stdout.columns; const cellWidth = Math.max.apply(null, cells.map(stringWidth)) + options.padding; const columnCount = Math.floor(termWidth / cellWidth) || 1; const rowCount = Math.ceil(cells.length / columnCount) || 1; if (columnCount === 1) { return cells.join(options.newline); } return cells.map(padCell.bind(null, cellWidth, options.character)).reduce(toRows, makeList(rowCount).map(makeArray)).map(toString).join(options.newline); } module2.exports = columns; } }); // ../packages/render-peer-issues/lib/index.js var require_lib25 = __commonJS({ "../packages/render-peer-issues/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.renderPeerIssues = renderPeerIssues; var archy_1 = __importDefault2(require_archy()); var chalk_1 = __importDefault2(require_source()); var cli_columns_1 = __importDefault2(require_cli_columns()); function renderPeerIssues(peerDependencyIssuesByProjects, opts) { const projects = {}; for (const [projectId, { bad, missing, conflicts, intersections }] of Object.entries(peerDependencyIssuesByProjects)) { projects[projectId] = { dependencies: {}, peerIssues: [] }; for (const [peerName, issues] of Object.entries(missing)) { if (!conflicts.includes(peerName) && intersections[peerName] == null) { continue; } for (const issue of issues) { createTree(projects[projectId], issue.parents, `${chalk_1.default.red("\u2715 missing peer")} ${formatNameAndRange(peerName, issue.wantedRange)}`); } } for (const [peerName, issues] of Object.entries(bad)) { for (const issue of issues) { createTree(projects[projectId], issue.parents, formatUnmetPeerMessage({ peerName, ...issue })); } } } const cliColumnsOptions = { newline: "\n ", width: (opts?.width ?? process.stdout.columns) - 2 }; return Object.entries(projects).filter(([, project]) => Object.keys(project.dependencies).length > 0).sort(([projectKey1], [projectKey2]) => projectKey1.localeCompare(projectKey2)).map(([projectKey, project]) => { const summaries = []; const { conflicts, intersections } = peerDependencyIssuesByProjects[projectKey]; if (conflicts.length) { summaries.push(chalk_1.default.red(`\u2715 Conflicting peer dependencies: ${(0, cli_columns_1.default)(conflicts, cliColumnsOptions).trimEnd()}`)); } if (Object.keys(intersections).length) { summaries.push(`Peer dependencies that should be installed: ${(0, cli_columns_1.default)(Object.entries(intersections).map(([name, version2]) => formatNameAndRange(name, version2)), cliColumnsOptions)}`); } const title = chalk_1.default.reset(projectKey); const summariesConcatenated = summaries.join("\n"); return `${(0, archy_1.default)(toArchyData(title, project))}${summariesConcatenated}`.trimEnd(); }).join("\n\n"); } function formatUnmetPeerMessage({ foundVersion, peerName, wantedRange, resolvedFrom }) { const nameAndRange = formatNameAndRange(peerName, wantedRange); if (resolvedFrom && resolvedFrom.length > 0) { return `\u2715 unmet peer ${nameAndRange}: found ${foundVersion} in ${resolvedFrom[resolvedFrom.length - 1].name}`; } return `${chalk_1.default.yellowBright("\u2715 unmet peer")} ${nameAndRange}: found ${foundVersion}`; } function formatNameAndRange(name, range) { if (range.includes(" ") || range === "*") { return `${name}@"${range}"`; } return `${name}@${range}`; } function createTree(pkgNode, pkgs, issueText) { if (pkgs.length === 0) { pkgs = [{ name: "", version: "" }]; } const [pkg, ...rest] = pkgs; const label = `${pkg.name} ${chalk_1.default.grey(pkg.version)}`; if (!pkgNode.dependencies[label]) { pkgNode.dependencies[label] = { dependencies: {}, peerIssues: [] }; } if (rest.length === 0) { pkgNode.dependencies[label].peerIssues.push(issueText); return; } createTree(pkgNode.dependencies[label], rest, issueText); } function toArchyData(depName, pkgNode) { const result2 = { label: depName, nodes: [] }; for (const wantedPeer of pkgNode.peerIssues) { result2.nodes.push(wantedPeer); } for (const [depName2, node] of Object.entries(pkgNode.dependencies)) { result2.nodes.push(toArchyData(depName2, node)); } return result2; } } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_arrayFromIterator.js var require_arrayFromIterator = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_arrayFromIterator.js"(exports2, module2) { function _arrayFromIterator(iter) { var list = []; var next; while (!(next = iter.next()).done) { list.push(next.value); } return list; } module2.exports = _arrayFromIterator; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_includesWith.js var require_includesWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_includesWith.js"(exports2, module2) { function _includesWith(pred, x, list) { var idx = 0; var len = list.length; while (idx < len) { if (pred(x, list[idx])) { return true; } idx += 1; } return false; } module2.exports = _includesWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_functionName.js var require_functionName = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_functionName.js"(exports2, module2) { function _functionName(f) { var match = String(f).match(/^function (\w*)/); return match == null ? "" : match[1]; } module2.exports = _functionName; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_objectIs.js var require_objectIs = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_objectIs.js"(exports2, module2) { function _objectIs(a, b) { if (a === b) { return a !== 0 || 1 / a === 1 / b; } else { return a !== a && b !== b; } } module2.exports = typeof Object.is === "function" ? Object.is : _objectIs; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/type.js var require_type2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/type.js"(exports2, module2) { var _curry1 = require_curry1(); var type = /* @__PURE__ */ _curry1(function type2(val) { return val === null ? "Null" : val === void 0 ? "Undefined" : Object.prototype.toString.call(val).slice(8, -1); }); module2.exports = type; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_equals.js var require_equals = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_equals.js"(exports2, module2) { var _arrayFromIterator = require_arrayFromIterator(); var _includesWith = require_includesWith(); var _functionName = require_functionName(); var _has = require_has(); var _objectIs = require_objectIs(); var keys = require_keys(); var type = require_type2(); function _uniqContentEquals(aIterator, bIterator, stackA, stackB) { var a = _arrayFromIterator(aIterator); var b = _arrayFromIterator(bIterator); function eq(_a, _b) { return _equals(_a, _b, stackA.slice(), stackB.slice()); } return !_includesWith(function(b2, aItem) { return !_includesWith(eq, aItem, b2); }, b, a); } function _equals(a, b, stackA, stackB) { if (_objectIs(a, b)) { return true; } var typeA = type(a); if (typeA !== type(b)) { return false; } if (typeof a["fantasy-land/equals"] === "function" || typeof b["fantasy-land/equals"] === "function") { return typeof a["fantasy-land/equals"] === "function" && a["fantasy-land/equals"](b) && typeof b["fantasy-land/equals"] === "function" && b["fantasy-land/equals"](a); } if (typeof a.equals === "function" || typeof b.equals === "function") { return typeof a.equals === "function" && a.equals(b) && typeof b.equals === "function" && b.equals(a); } switch (typeA) { case "Arguments": case "Array": case "Object": if (typeof a.constructor === "function" && _functionName(a.constructor) === "Promise") { return a === b; } break; case "Boolean": case "Number": case "String": if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) { return false; } break; case "Date": if (!_objectIs(a.valueOf(), b.valueOf())) { return false; } break; case "Error": return a.name === b.name && a.message === b.message; case "RegExp": if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { return false; } break; } var idx = stackA.length - 1; while (idx >= 0) { if (stackA[idx] === a) { return stackB[idx] === b; } idx -= 1; } switch (typeA) { case "Map": if (a.size !== b.size) { return false; } return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); case "Set": if (a.size !== b.size) { return false; } return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); case "Arguments": case "Array": case "Object": case "Boolean": case "Number": case "String": case "Date": case "Error": case "RegExp": case "Int8Array": case "Uint8Array": case "Uint8ClampedArray": case "Int16Array": case "Uint16Array": case "Int32Array": case "Uint32Array": case "Float32Array": case "Float64Array": case "ArrayBuffer": break; default: return false; } var keysA = keys(a); if (keysA.length !== keys(b).length) { return false; } var extendedStackA = stackA.concat([a]); var extendedStackB = stackB.concat([b]); idx = keysA.length - 1; while (idx >= 0) { var key = keysA[idx]; if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) { return false; } idx -= 1; } return true; } module2.exports = _equals; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/equals.js var require_equals2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/equals.js"(exports2, module2) { var _curry2 = require_curry2(); var _equals = require_equals(); var equals = /* @__PURE__ */ _curry2(function equals2(a, b) { return _equals(a, b, [], []); }); module2.exports = equals; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64.js var require_base64 = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64.js"(exports2) { var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); exports2.encode = function(number) { if (0 <= number && number < intToCharMap.length) { return intToCharMap[number]; } throw new TypeError("Must be between 0 and 63: " + number); }; exports2.decode = function(charCode) { var bigA = 65; var bigZ = 90; var littleA = 97; var littleZ = 122; var zero = 48; var nine = 57; var plus = 43; var slash = 47; var littleOffset = 26; var numberOffset = 52; if (bigA <= charCode && charCode <= bigZ) { return charCode - bigA; } if (littleA <= charCode && charCode <= littleZ) { return charCode - littleA + littleOffset; } if (zero <= charCode && charCode <= nine) { return charCode - zero + numberOffset; } if (charCode == plus) { return 62; } if (charCode == slash) { return 63; } return -1; }; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64-vlq.js var require_base64_vlq = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64-vlq.js"(exports2) { var base64 = require_base64(); var VLQ_BASE_SHIFT = 5; var VLQ_BASE = 1 << VLQ_BASE_SHIFT; var VLQ_BASE_MASK = VLQ_BASE - 1; var VLQ_CONTINUATION_BIT = VLQ_BASE; function toVLQSigned(aValue) { return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; } function fromVLQSigned(aValue) { var isNegative = (aValue & 1) === 1; var shifted = aValue >> 1; return isNegative ? -shifted : shifted; } exports2.encode = function base64VLQ_encode(aValue) { var encoded = ""; var digit; var vlq = toVLQSigned(aValue); do { digit = vlq & VLQ_BASE_MASK; vlq >>>= VLQ_BASE_SHIFT; if (vlq > 0) { digit |= VLQ_CONTINUATION_BIT; } encoded += base64.encode(digit); } while (vlq > 0); return encoded; }; exports2.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { var strLen = aStr.length; var result2 = 0; var shift = 0; var continuation, digit; do { if (aIndex >= strLen) { throw new Error("Expected more digits in base 64 VLQ value."); } digit = base64.decode(aStr.charCodeAt(aIndex++)); if (digit === -1) { throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); } continuation = !!(digit & VLQ_CONTINUATION_BIT); digit &= VLQ_BASE_MASK; result2 = result2 + (digit << shift); shift += VLQ_BASE_SHIFT; } while (continuation); aOutParam.value = fromVLQSigned(result2); aOutParam.rest = aIndex; }; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/util.js var require_util4 = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/util.js"(exports2) { function getArg(aArgs, aName, aDefaultValue) { if (aName in aArgs) { return aArgs[aName]; } else if (arguments.length === 3) { return aDefaultValue; } else { throw new Error('"' + aName + '" is a required argument.'); } } exports2.getArg = getArg; var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; var dataUrlRegexp = /^data:.+\,.+$/; function urlParse(aUrl) { var match = aUrl.match(urlRegexp); if (!match) { return null; } return { scheme: match[1], auth: match[2], host: match[3], port: match[4], path: match[5] }; } exports2.urlParse = urlParse; function urlGenerate(aParsedUrl) { var url = ""; if (aParsedUrl.scheme) { url += aParsedUrl.scheme + ":"; } url += "//"; if (aParsedUrl.auth) { url += aParsedUrl.auth + "@"; } if (aParsedUrl.host) { url += aParsedUrl.host; } if (aParsedUrl.port) { url += ":" + aParsedUrl.port; } if (aParsedUrl.path) { url += aParsedUrl.path; } return url; } exports2.urlGenerate = urlGenerate; function normalize(aPath) { var path2 = aPath; var url = urlParse(aPath); if (url) { if (!url.path) { return aPath; } path2 = url.path; } var isAbsolute = exports2.isAbsolute(path2); var parts = path2.split(/\/+/); for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { part = parts[i]; if (part === ".") { parts.splice(i, 1); } else if (part === "..") { up++; } else if (up > 0) { if (part === "") { parts.splice(i + 1, up); up = 0; } else { parts.splice(i, 2); up--; } } } path2 = parts.join("/"); if (path2 === "") { path2 = isAbsolute ? "/" : "."; } if (url) { url.path = path2; return urlGenerate(url); } return path2; } exports2.normalize = normalize; function join(aRoot, aPath) { if (aRoot === "") { aRoot = "."; } if (aPath === "") { aPath = "."; } var aPathUrl = urlParse(aPath); var aRootUrl = urlParse(aRoot); if (aRootUrl) { aRoot = aRootUrl.path || "/"; } if (aPathUrl && !aPathUrl.scheme) { if (aRootUrl) { aPathUrl.scheme = aRootUrl.scheme; } return urlGenerate(aPathUrl); } if (aPathUrl || aPath.match(dataUrlRegexp)) { return aPath; } if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { aRootUrl.host = aPath; return urlGenerate(aRootUrl); } var joined = aPath.charAt(0) === "/" ? aPath : normalize(aRoot.replace(/\/+$/, "") + "/" + aPath); if (aRootUrl) { aRootUrl.path = joined; return urlGenerate(aRootUrl); } return joined; } exports2.join = join; exports2.isAbsolute = function(aPath) { return aPath.charAt(0) === "/" || urlRegexp.test(aPath); }; function relative(aRoot, aPath) { if (aRoot === "") { aRoot = "."; } aRoot = aRoot.replace(/\/$/, ""); var level = 0; while (aPath.indexOf(aRoot + "/") !== 0) { var index = aRoot.lastIndexOf("/"); if (index < 0) { return aPath; } aRoot = aRoot.slice(0, index); if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { return aPath; } ++level; } return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); } exports2.relative = relative; var supportsNullProto = (function() { var obj = /* @__PURE__ */ Object.create(null); return !("__proto__" in obj); })(); function identity(s) { return s; } function toSetString(aStr) { if (isProtoString(aStr)) { return "$" + aStr; } return aStr; } exports2.toSetString = supportsNullProto ? identity : toSetString; function fromSetString(aStr) { if (isProtoString(aStr)) { return aStr.slice(1); } return aStr; } exports2.fromSetString = supportsNullProto ? identity : fromSetString; function isProtoString(s) { if (!s) { return false; } var length = s.length; if (length < 9) { return false; } if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) { return false; } for (var i = length - 10; i >= 0; i--) { if (s.charCodeAt(i) !== 36) { return false; } } return true; } function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { var cmp = strcmp(mappingA.source, mappingB.source); if (cmp !== 0) { return cmp; } cmp = mappingA.originalLine - mappingB.originalLine; if (cmp !== 0) { return cmp; } cmp = mappingA.originalColumn - mappingB.originalColumn; if (cmp !== 0 || onlyCompareOriginal) { return cmp; } cmp = mappingA.generatedColumn - mappingB.generatedColumn; if (cmp !== 0) { return cmp; } cmp = mappingA.generatedLine - mappingB.generatedLine; if (cmp !== 0) { return cmp; } return strcmp(mappingA.name, mappingB.name); } exports2.compareByOriginalPositions = compareByOriginalPositions; function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { var cmp = mappingA.generatedLine - mappingB.generatedLine; if (cmp !== 0) { return cmp; } cmp = mappingA.generatedColumn - mappingB.generatedColumn; if (cmp !== 0 || onlyCompareGenerated) { return cmp; } cmp = strcmp(mappingA.source, mappingB.source); if (cmp !== 0) { return cmp; } cmp = mappingA.originalLine - mappingB.originalLine; if (cmp !== 0) { return cmp; } cmp = mappingA.originalColumn - mappingB.originalColumn; if (cmp !== 0) { return cmp; } return strcmp(mappingA.name, mappingB.name); } exports2.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; function strcmp(aStr1, aStr2) { if (aStr1 === aStr2) { return 0; } if (aStr1 === null) { return 1; } if (aStr2 === null) { return -1; } if (aStr1 > aStr2) { return 1; } return -1; } function compareByGeneratedPositionsInflated(mappingA, mappingB) { var cmp = mappingA.generatedLine - mappingB.generatedLine; if (cmp !== 0) { return cmp; } cmp = mappingA.generatedColumn - mappingB.generatedColumn; if (cmp !== 0) { return cmp; } cmp = strcmp(mappingA.source, mappingB.source); if (cmp !== 0) { return cmp; } cmp = mappingA.originalLine - mappingB.originalLine; if (cmp !== 0) { return cmp; } cmp = mappingA.originalColumn - mappingB.originalColumn; if (cmp !== 0) { return cmp; } return strcmp(mappingA.name, mappingB.name); } exports2.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; function parseSourceMapInput(str) { return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, "")); } exports2.parseSourceMapInput = parseSourceMapInput; function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { sourceURL = sourceURL || ""; if (sourceRoot) { if (sourceRoot[sourceRoot.length - 1] !== "/" && sourceURL[0] !== "/") { sourceRoot += "/"; } sourceURL = sourceRoot + sourceURL; } if (sourceMapURL) { var parsed = urlParse(sourceMapURL); if (!parsed) { throw new Error("sourceMapURL could not be parsed"); } if (parsed.path) { var index = parsed.path.lastIndexOf("/"); if (index >= 0) { parsed.path = parsed.path.substring(0, index + 1); } } sourceURL = join(urlGenerate(parsed), sourceURL); } return normalize(sourceURL); } exports2.computeSourceURL = computeSourceURL; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/array-set.js var require_array_set = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/array-set.js"(exports2) { var util = require_util4(); var has = Object.prototype.hasOwnProperty; var hasNativeMap = typeof Map !== "undefined"; function ArraySet() { this._array = []; this._set = hasNativeMap ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null); } ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { var set = new ArraySet(); for (var i = 0, len = aArray.length; i < len; i++) { set.add(aArray[i], aAllowDuplicates); } return set; }; ArraySet.prototype.size = function ArraySet_size() { return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; }; ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { var sStr = hasNativeMap ? aStr : util.toSetString(aStr); var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); var idx = this._array.length; if (!isDuplicate || aAllowDuplicates) { this._array.push(aStr); } if (!isDuplicate) { if (hasNativeMap) { this._set.set(aStr, idx); } else { this._set[sStr] = idx; } } }; ArraySet.prototype.has = function ArraySet_has(aStr) { if (hasNativeMap) { return this._set.has(aStr); } else { var sStr = util.toSetString(aStr); return has.call(this._set, sStr); } }; ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { if (hasNativeMap) { var idx = this._set.get(aStr); if (idx >= 0) { return idx; } } else { var sStr = util.toSetString(aStr); if (has.call(this._set, sStr)) { return this._set[sStr]; } } throw new Error('"' + aStr + '" is not in the set.'); }; ArraySet.prototype.at = function ArraySet_at(aIdx) { if (aIdx >= 0 && aIdx < this._array.length) { return this._array[aIdx]; } throw new Error("No element indexed by " + aIdx); }; ArraySet.prototype.toArray = function ArraySet_toArray() { return this._array.slice(); }; exports2.ArraySet = ArraySet; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/mapping-list.js var require_mapping_list = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/mapping-list.js"(exports2) { var util = require_util4(); function generatedPositionAfter(mappingA, mappingB) { var lineA = mappingA.generatedLine; var lineB = mappingB.generatedLine; var columnA = mappingA.generatedColumn; var columnB = mappingB.generatedColumn; return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; } function MappingList() { this._array = []; this._sorted = true; this._last = { generatedLine: -1, generatedColumn: 0 }; } MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) { this._array.forEach(aCallback, aThisArg); }; MappingList.prototype.add = function MappingList_add(aMapping) { if (generatedPositionAfter(this._last, aMapping)) { this._last = aMapping; this._array.push(aMapping); } else { this._sorted = false; this._array.push(aMapping); } }; MappingList.prototype.toArray = function MappingList_toArray() { if (!this._sorted) { this._array.sort(util.compareByGeneratedPositionsInflated); this._sorted = true; } return this._array; }; exports2.MappingList = MappingList; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-generator.js var require_source_map_generator = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-generator.js"(exports2) { var base64VLQ = require_base64_vlq(); var util = require_util4(); var ArraySet = require_array_set().ArraySet; var MappingList = require_mapping_list().MappingList; function SourceMapGenerator(aArgs) { if (!aArgs) { aArgs = {}; } this._file = util.getArg(aArgs, "file", null); this._sourceRoot = util.getArg(aArgs, "sourceRoot", null); this._skipValidation = util.getArg(aArgs, "skipValidation", false); this._sources = new ArraySet(); this._names = new ArraySet(); this._mappings = new MappingList(); this._sourcesContents = null; } SourceMapGenerator.prototype._version = 3; SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { var sourceRoot = aSourceMapConsumer.sourceRoot; var generator = new SourceMapGenerator({ file: aSourceMapConsumer.file, sourceRoot }); aSourceMapConsumer.eachMapping(function(mapping) { var newMapping = { generated: { line: mapping.generatedLine, column: mapping.generatedColumn } }; if (mapping.source != null) { newMapping.source = mapping.source; if (sourceRoot != null) { newMapping.source = util.relative(sourceRoot, newMapping.source); } newMapping.original = { line: mapping.originalLine, column: mapping.originalColumn }; if (mapping.name != null) { newMapping.name = mapping.name; } } generator.addMapping(newMapping); }); aSourceMapConsumer.sources.forEach(function(sourceFile) { var sourceRelative = sourceFile; if (sourceRoot !== null) { sourceRelative = util.relative(sourceRoot, sourceFile); } if (!generator._sources.has(sourceRelative)) { generator._sources.add(sourceRelative); } var content = aSourceMapConsumer.sourceContentFor(sourceFile); if (content != null) { generator.setSourceContent(sourceFile, content); } }); return generator; }; SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { var generated = util.getArg(aArgs, "generated"); var original = util.getArg(aArgs, "original", null); var source = util.getArg(aArgs, "source", null); var name = util.getArg(aArgs, "name", null); if (!this._skipValidation) { this._validateMapping(generated, original, source, name); } if (source != null) { source = String(source); if (!this._sources.has(source)) { this._sources.add(source); } } if (name != null) { name = String(name); if (!this._names.has(name)) { this._names.add(name); } } this._mappings.add({ generatedLine: generated.line, generatedColumn: generated.column, originalLine: original != null && original.line, originalColumn: original != null && original.column, source, name }); }; SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { var source = aSourceFile; if (this._sourceRoot != null) { source = util.relative(this._sourceRoot, source); } if (aSourceContent != null) { if (!this._sourcesContents) { this._sourcesContents = /* @__PURE__ */ Object.create(null); } this._sourcesContents[util.toSetString(source)] = aSourceContent; } else if (this._sourcesContents) { delete this._sourcesContents[util.toSetString(source)]; if (Object.keys(this._sourcesContents).length === 0) { this._sourcesContents = null; } } }; SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { var sourceFile = aSourceFile; if (aSourceFile == null) { if (aSourceMapConsumer.file == null) { throw new Error( `SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.` ); } sourceFile = aSourceMapConsumer.file; } var sourceRoot = this._sourceRoot; if (sourceRoot != null) { sourceFile = util.relative(sourceRoot, sourceFile); } var newSources = new ArraySet(); var newNames = new ArraySet(); this._mappings.unsortedForEach(function(mapping) { if (mapping.source === sourceFile && mapping.originalLine != null) { var original = aSourceMapConsumer.originalPositionFor({ line: mapping.originalLine, column: mapping.originalColumn }); if (original.source != null) { mapping.source = original.source; if (aSourceMapPath != null) { mapping.source = util.join(aSourceMapPath, mapping.source); } if (sourceRoot != null) { mapping.source = util.relative(sourceRoot, mapping.source); } mapping.originalLine = original.line; mapping.originalColumn = original.column; if (original.name != null) { mapping.name = original.name; } } } var source = mapping.source; if (source != null && !newSources.has(source)) { newSources.add(source); } var name = mapping.name; if (name != null && !newNames.has(name)) { newNames.add(name); } }, this); this._sources = newSources; this._names = newNames; aSourceMapConsumer.sources.forEach(function(sourceFile2) { var content = aSourceMapConsumer.sourceContentFor(sourceFile2); if (content != null) { if (aSourceMapPath != null) { sourceFile2 = util.join(aSourceMapPath, sourceFile2); } if (sourceRoot != null) { sourceFile2 = util.relative(sourceRoot, sourceFile2); } this.setSourceContent(sourceFile2, content); } }, this); }; SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { if (aOriginal && typeof aOriginal.line !== "number" && typeof aOriginal.column !== "number") { throw new Error( "original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values." ); } if (aGenerated && "line" in aGenerated && "column" in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { return; } else if (aGenerated && "line" in aGenerated && "column" in aGenerated && aOriginal && "line" in aOriginal && "column" in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { return; } else { throw new Error("Invalid mapping: " + JSON.stringify({ generated: aGenerated, source: aSource, original: aOriginal, name: aName })); } }; SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { var previousGeneratedColumn = 0; var previousGeneratedLine = 1; var previousOriginalColumn = 0; var previousOriginalLine = 0; var previousName = 0; var previousSource = 0; var result2 = ""; var next; var mapping; var nameIdx; var sourceIdx; var mappings = this._mappings.toArray(); for (var i = 0, len = mappings.length; i < len; i++) { mapping = mappings[i]; next = ""; if (mapping.generatedLine !== previousGeneratedLine) { previousGeneratedColumn = 0; while (mapping.generatedLine !== previousGeneratedLine) { next += ";"; previousGeneratedLine++; } } else { if (i > 0) { if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { continue; } next += ","; } } next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); previousGeneratedColumn = mapping.generatedColumn; if (mapping.source != null) { sourceIdx = this._sources.indexOf(mapping.source); next += base64VLQ.encode(sourceIdx - previousSource); previousSource = sourceIdx; next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); previousOriginalLine = mapping.originalLine - 1; next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); previousOriginalColumn = mapping.originalColumn; if (mapping.name != null) { nameIdx = this._names.indexOf(mapping.name); next += base64VLQ.encode(nameIdx - previousName); previousName = nameIdx; } } result2 += next; } return result2; }; SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { return aSources.map(function(source) { if (!this._sourcesContents) { return null; } if (aSourceRoot != null) { source = util.relative(aSourceRoot, source); } var key = util.toSetString(source); return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; }, this); }; SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() { var map = { version: this._version, sources: this._sources.toArray(), names: this._names.toArray(), mappings: this._serializeMappings() }; if (this._file != null) { map.file = this._file; } if (this._sourceRoot != null) { map.sourceRoot = this._sourceRoot; } if (this._sourcesContents) { map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); } return map; }; SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() { return JSON.stringify(this.toJSON()); }; exports2.SourceMapGenerator = SourceMapGenerator; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/binary-search.js var require_binary_search = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/binary-search.js"(exports2) { exports2.GREATEST_LOWER_BOUND = 1; exports2.LEAST_UPPER_BOUND = 2; function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { var mid = Math.floor((aHigh - aLow) / 2) + aLow; var cmp = aCompare(aNeedle, aHaystack[mid], true); if (cmp === 0) { return mid; } else if (cmp > 0) { if (aHigh - mid > 1) { return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); } if (aBias == exports2.LEAST_UPPER_BOUND) { return aHigh < aHaystack.length ? aHigh : -1; } else { return mid; } } else { if (mid - aLow > 1) { return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); } if (aBias == exports2.LEAST_UPPER_BOUND) { return mid; } else { return aLow < 0 ? -1 : aLow; } } } exports2.search = function search(aNeedle, aHaystack, aCompare, aBias) { if (aHaystack.length === 0) { return -1; } var index = recursiveSearch( -1, aHaystack.length, aNeedle, aHaystack, aCompare, aBias || exports2.GREATEST_LOWER_BOUND ); if (index < 0) { return -1; } while (index - 1 >= 0) { if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { break; } --index; } return index; }; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/quick-sort.js var require_quick_sort = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/quick-sort.js"(exports2) { function swap(ary, x, y) { var temp = ary[x]; ary[x] = ary[y]; ary[y] = temp; } function randomIntInRange(low, high) { return Math.round(low + Math.random() * (high - low)); } function doQuickSort(ary, comparator, p, r) { if (p < r) { var pivotIndex = randomIntInRange(p, r); var i = p - 1; swap(ary, pivotIndex, r); var pivot = ary[r]; for (var j = p; j < r; j++) { if (comparator(ary[j], pivot) <= 0) { i += 1; swap(ary, i, j); } } swap(ary, i + 1, j); var q = i + 1; doQuickSort(ary, comparator, p, q - 1); doQuickSort(ary, comparator, q + 1, r); } } exports2.quickSort = function(ary, comparator) { doQuickSort(ary, comparator, 0, ary.length - 1); }; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-consumer.js var require_source_map_consumer = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-consumer.js"(exports2) { var util = require_util4(); var binarySearch = require_binary_search(); var ArraySet = require_array_set().ArraySet; var base64VLQ = require_base64_vlq(); var quickSort = require_quick_sort().quickSort; function SourceMapConsumer(aSourceMap, aSourceMapURL) { var sourceMap = aSourceMap; if (typeof aSourceMap === "string") { sourceMap = util.parseSourceMapInput(aSourceMap); } return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); } SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); }; SourceMapConsumer.prototype._version = 3; SourceMapConsumer.prototype.__generatedMappings = null; Object.defineProperty(SourceMapConsumer.prototype, "_generatedMappings", { configurable: true, enumerable: true, get: function() { if (!this.__generatedMappings) { this._parseMappings(this._mappings, this.sourceRoot); } return this.__generatedMappings; } }); SourceMapConsumer.prototype.__originalMappings = null; Object.defineProperty(SourceMapConsumer.prototype, "_originalMappings", { configurable: true, enumerable: true, get: function() { if (!this.__originalMappings) { this._parseMappings(this._mappings, this.sourceRoot); } return this.__originalMappings; } }); SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) { var c = aStr.charAt(index); return c === ";" || c === ","; }; SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { throw new Error("Subclasses must implement _parseMappings"); }; SourceMapConsumer.GENERATED_ORDER = 1; SourceMapConsumer.ORIGINAL_ORDER = 2; SourceMapConsumer.GREATEST_LOWER_BOUND = 1; SourceMapConsumer.LEAST_UPPER_BOUND = 2; SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { var context = aContext || null; var order = aOrder || SourceMapConsumer.GENERATED_ORDER; var mappings; switch (order) { case SourceMapConsumer.GENERATED_ORDER: mappings = this._generatedMappings; break; case SourceMapConsumer.ORIGINAL_ORDER: mappings = this._originalMappings; break; default: throw new Error("Unknown order of iteration."); } var sourceRoot = this.sourceRoot; mappings.map(function(mapping) { var source = mapping.source === null ? null : this._sources.at(mapping.source); source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); return { source, generatedLine: mapping.generatedLine, generatedColumn: mapping.generatedColumn, originalLine: mapping.originalLine, originalColumn: mapping.originalColumn, name: mapping.name === null ? null : this._names.at(mapping.name) }; }, this).forEach(aCallback, context); }; SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { var line = util.getArg(aArgs, "line"); var needle = { source: util.getArg(aArgs, "source"), originalLine: line, originalColumn: util.getArg(aArgs, "column", 0) }; needle.source = this._findSourceIndex(needle.source); if (needle.source < 0) { return []; } var mappings = []; var index = this._findMapping( needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, binarySearch.LEAST_UPPER_BOUND ); if (index >= 0) { var mapping = this._originalMappings[index]; if (aArgs.column === void 0) { var originalLine = mapping.originalLine; while (mapping && mapping.originalLine === originalLine) { mappings.push({ line: util.getArg(mapping, "generatedLine", null), column: util.getArg(mapping, "generatedColumn", null), lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) }); mapping = this._originalMappings[++index]; } } else { var originalColumn = mapping.originalColumn; while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) { mappings.push({ line: util.getArg(mapping, "generatedLine", null), column: util.getArg(mapping, "generatedColumn", null), lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) }); mapping = this._originalMappings[++index]; } } } return mappings; }; exports2.SourceMapConsumer = SourceMapConsumer; function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { var sourceMap = aSourceMap; if (typeof aSourceMap === "string") { sourceMap = util.parseSourceMapInput(aSourceMap); } var version2 = util.getArg(sourceMap, "version"); var sources = util.getArg(sourceMap, "sources"); var names = util.getArg(sourceMap, "names", []); var sourceRoot = util.getArg(sourceMap, "sourceRoot", null); var sourcesContent = util.getArg(sourceMap, "sourcesContent", null); var mappings = util.getArg(sourceMap, "mappings"); var file = util.getArg(sourceMap, "file", null); if (version2 != this._version) { throw new Error("Unsupported version: " + version2); } if (sourceRoot) { sourceRoot = util.normalize(sourceRoot); } sources = sources.map(String).map(util.normalize).map(function(source) { return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source; }); this._names = ArraySet.fromArray(names.map(String), true); this._sources = ArraySet.fromArray(sources, true); this._absoluteSources = this._sources.toArray().map(function(s) { return util.computeSourceURL(sourceRoot, s, aSourceMapURL); }); this.sourceRoot = sourceRoot; this.sourcesContent = sourcesContent; this._mappings = mappings; this._sourceMapURL = aSourceMapURL; this.file = file; } BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { var relativeSource = aSource; if (this.sourceRoot != null) { relativeSource = util.relative(this.sourceRoot, relativeSource); } if (this._sources.has(relativeSource)) { return this._sources.indexOf(relativeSource); } var i; for (i = 0; i < this._absoluteSources.length; ++i) { if (this._absoluteSources[i] == aSource) { return i; } } return -1; }; BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { var smc = Object.create(BasicSourceMapConsumer.prototype); var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); smc.sourceRoot = aSourceMap._sourceRoot; smc.sourcesContent = aSourceMap._generateSourcesContent( smc._sources.toArray(), smc.sourceRoot ); smc.file = aSourceMap._file; smc._sourceMapURL = aSourceMapURL; smc._absoluteSources = smc._sources.toArray().map(function(s) { return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); }); var generatedMappings = aSourceMap._mappings.toArray().slice(); var destGeneratedMappings = smc.__generatedMappings = []; var destOriginalMappings = smc.__originalMappings = []; for (var i = 0, length = generatedMappings.length; i < length; i++) { var srcMapping = generatedMappings[i]; var destMapping = new Mapping(); destMapping.generatedLine = srcMapping.generatedLine; destMapping.generatedColumn = srcMapping.generatedColumn; if (srcMapping.source) { destMapping.source = sources.indexOf(srcMapping.source); destMapping.originalLine = srcMapping.originalLine; destMapping.originalColumn = srcMapping.originalColumn; if (srcMapping.name) { destMapping.name = names.indexOf(srcMapping.name); } destOriginalMappings.push(destMapping); } destGeneratedMappings.push(destMapping); } quickSort(smc.__originalMappings, util.compareByOriginalPositions); return smc; }; BasicSourceMapConsumer.prototype._version = 3; Object.defineProperty(BasicSourceMapConsumer.prototype, "sources", { get: function() { return this._absoluteSources.slice(); } }); function Mapping() { this.generatedLine = 0; this.generatedColumn = 0; this.source = null; this.originalLine = null; this.originalColumn = null; this.name = null; } BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { var generatedLine = 1; var previousGeneratedColumn = 0; var previousOriginalLine = 0; var previousOriginalColumn = 0; var previousSource = 0; var previousName = 0; var length = aStr.length; var index = 0; var cachedSegments = {}; var temp = {}; var originalMappings = []; var generatedMappings = []; var mapping, str, segment, end, value; while (index < length) { if (aStr.charAt(index) === ";") { generatedLine++; index++; previousGeneratedColumn = 0; } else if (aStr.charAt(index) === ",") { index++; } else { mapping = new Mapping(); mapping.generatedLine = generatedLine; for (end = index; end < length; end++) { if (this._charIsMappingSeparator(aStr, end)) { break; } } str = aStr.slice(index, end); segment = cachedSegments[str]; if (segment) { index += str.length; } else { segment = []; while (index < end) { base64VLQ.decode(aStr, index, temp); value = temp.value; index = temp.rest; segment.push(value); } if (segment.length === 2) { throw new Error("Found a source, but no line and column"); } if (segment.length === 3) { throw new Error("Found a source and line, but no column"); } cachedSegments[str] = segment; } mapping.generatedColumn = previousGeneratedColumn + segment[0]; previousGeneratedColumn = mapping.generatedColumn; if (segment.length > 1) { mapping.source = previousSource + segment[1]; previousSource += segment[1]; mapping.originalLine = previousOriginalLine + segment[2]; previousOriginalLine = mapping.originalLine; mapping.originalLine += 1; mapping.originalColumn = previousOriginalColumn + segment[3]; previousOriginalColumn = mapping.originalColumn; if (segment.length > 4) { mapping.name = previousName + segment[4]; previousName += segment[4]; } } generatedMappings.push(mapping); if (typeof mapping.originalLine === "number") { originalMappings.push(mapping); } } } quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); this.__generatedMappings = generatedMappings; quickSort(originalMappings, util.compareByOriginalPositions); this.__originalMappings = originalMappings; }; BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) { if (aNeedle[aLineName] <= 0) { throw new TypeError("Line must be greater than or equal to 1, got " + aNeedle[aLineName]); } if (aNeedle[aColumnName] < 0) { throw new TypeError("Column must be greater than or equal to 0, got " + aNeedle[aColumnName]); } return binarySearch.search(aNeedle, aMappings, aComparator, aBias); }; BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() { for (var index = 0; index < this._generatedMappings.length; ++index) { var mapping = this._generatedMappings[index]; if (index + 1 < this._generatedMappings.length) { var nextMapping = this._generatedMappings[index + 1]; if (mapping.generatedLine === nextMapping.generatedLine) { mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; continue; } } mapping.lastGeneratedColumn = Infinity; } }; BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) { var needle = { generatedLine: util.getArg(aArgs, "line"), generatedColumn: util.getArg(aArgs, "column") }; var index = this._findMapping( needle, this._generatedMappings, "generatedLine", "generatedColumn", util.compareByGeneratedPositionsDeflated, util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND) ); if (index >= 0) { var mapping = this._generatedMappings[index]; if (mapping.generatedLine === needle.generatedLine) { var source = util.getArg(mapping, "source", null); if (source !== null) { source = this._sources.at(source); source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); } var name = util.getArg(mapping, "name", null); if (name !== null) { name = this._names.at(name); } return { source, line: util.getArg(mapping, "originalLine", null), column: util.getArg(mapping, "originalColumn", null), name }; } } return { source: null, line: null, column: null, name: null }; }; BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() { if (!this.sourcesContent) { return false; } return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(sc) { return sc == null; }); }; BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { if (!this.sourcesContent) { return null; } var index = this._findSourceIndex(aSource); if (index >= 0) { return this.sourcesContent[index]; } var relativeSource = aSource; if (this.sourceRoot != null) { relativeSource = util.relative(this.sourceRoot, relativeSource); } var url; if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) { var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) { return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]; } if ((!url.path || url.path == "/") && this._sources.has("/" + relativeSource)) { return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; } } if (nullOnMissing) { return null; } else { throw new Error('"' + relativeSource + '" is not in the SourceMap.'); } }; BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) { var source = util.getArg(aArgs, "source"); source = this._findSourceIndex(source); if (source < 0) { return { line: null, column: null, lastColumn: null }; } var needle = { source, originalLine: util.getArg(aArgs, "line"), originalColumn: util.getArg(aArgs, "column") }; var index = this._findMapping( needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND) ); if (index >= 0) { var mapping = this._originalMappings[index]; if (mapping.source === needle.source) { return { line: util.getArg(mapping, "generatedLine", null), column: util.getArg(mapping, "generatedColumn", null), lastColumn: util.getArg(mapping, "lastGeneratedColumn", null) }; } } return { line: null, column: null, lastColumn: null }; }; exports2.BasicSourceMapConsumer = BasicSourceMapConsumer; function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { var sourceMap = aSourceMap; if (typeof aSourceMap === "string") { sourceMap = util.parseSourceMapInput(aSourceMap); } var version2 = util.getArg(sourceMap, "version"); var sections = util.getArg(sourceMap, "sections"); if (version2 != this._version) { throw new Error("Unsupported version: " + version2); } this._sources = new ArraySet(); this._names = new ArraySet(); var lastOffset = { line: -1, column: 0 }; this._sections = sections.map(function(s) { if (s.url) { throw new Error("Support for url field in sections not implemented."); } var offset = util.getArg(s, "offset"); var offsetLine = util.getArg(offset, "line"); var offsetColumn = util.getArg(offset, "column"); if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) { throw new Error("Section offsets must be ordered and non-overlapping."); } lastOffset = offset; return { generatedOffset: { // The offset fields are 0-based, but we use 1-based indices when // encoding/decoding from VLQ. generatedLine: offsetLine + 1, generatedColumn: offsetColumn + 1 }, consumer: new SourceMapConsumer(util.getArg(s, "map"), aSourceMapURL) }; }); } IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; IndexedSourceMapConsumer.prototype._version = 3; Object.defineProperty(IndexedSourceMapConsumer.prototype, "sources", { get: function() { var sources = []; for (var i = 0; i < this._sections.length; i++) { for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { sources.push(this._sections[i].consumer.sources[j]); } } return sources; } }); IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) { var needle = { generatedLine: util.getArg(aArgs, "line"), generatedColumn: util.getArg(aArgs, "column") }; var sectionIndex = binarySearch.search( needle, this._sections, function(needle2, section2) { var cmp = needle2.generatedLine - section2.generatedOffset.generatedLine; if (cmp) { return cmp; } return needle2.generatedColumn - section2.generatedOffset.generatedColumn; } ); var section = this._sections[sectionIndex]; if (!section) { return { source: null, line: null, column: null, name: null }; } return section.consumer.originalPositionFor({ line: needle.generatedLine - (section.generatedOffset.generatedLine - 1), column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), bias: aArgs.bias }); }; IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() { return this._sections.every(function(s) { return s.consumer.hasContentsOfAllSources(); }); }; IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { for (var i = 0; i < this._sections.length; i++) { var section = this._sections[i]; var content = section.consumer.sourceContentFor(aSource, true); if (content) { return content; } } if (nullOnMissing) { return null; } else { throw new Error('"' + aSource + '" is not in the SourceMap.'); } }; IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { for (var i = 0; i < this._sections.length; i++) { var section = this._sections[i]; if (section.consumer._findSourceIndex(util.getArg(aArgs, "source")) === -1) { continue; } var generatedPosition = section.consumer.generatedPositionFor(aArgs); if (generatedPosition) { var ret2 = { line: generatedPosition.line + (section.generatedOffset.generatedLine - 1), column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0) }; return ret2; } } return { line: null, column: null }; }; IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { this.__generatedMappings = []; this.__originalMappings = []; for (var i = 0; i < this._sections.length; i++) { var section = this._sections[i]; var sectionMappings = section.consumer._generatedMappings; for (var j = 0; j < sectionMappings.length; j++) { var mapping = sectionMappings[j]; var source = section.consumer._sources.at(mapping.source); source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); this._sources.add(source); source = this._sources.indexOf(source); var name = null; if (mapping.name) { name = section.consumer._names.at(mapping.name); this._names.add(name); name = this._names.indexOf(name); } var adjustedMapping = { source, generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1), generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), originalLine: mapping.originalLine, originalColumn: mapping.originalColumn, name }; this.__generatedMappings.push(adjustedMapping); if (typeof adjustedMapping.originalLine === "number") { this.__originalMappings.push(adjustedMapping); } } } quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); quickSort(this.__originalMappings, util.compareByOriginalPositions); }; exports2.IndexedSourceMapConsumer = IndexedSourceMapConsumer; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-node.js var require_source_node = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-node.js"(exports2) { var SourceMapGenerator = require_source_map_generator().SourceMapGenerator; var util = require_util4(); var REGEX_NEWLINE = /(\r?\n)/; var NEWLINE_CODE = 10; var isSourceNode = "$$$isSourceNode$$$"; function SourceNode(aLine, aColumn, aSource, aChunks, aName) { this.children = []; this.sourceContents = {}; this.line = aLine == null ? null : aLine; this.column = aColumn == null ? null : aColumn; this.source = aSource == null ? null : aSource; this.name = aName == null ? null : aName; this[isSourceNode] = true; if (aChunks != null) this.add(aChunks); } SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { var node = new SourceNode(); var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); var remainingLinesIndex = 0; var shiftNextLine = function() { var lineContents = getNextLine(); var newLine = getNextLine() || ""; return lineContents + newLine; function getNextLine() { return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : void 0; } }; var lastGeneratedLine = 1, lastGeneratedColumn = 0; var lastMapping = null; aSourceMapConsumer.eachMapping(function(mapping) { if (lastMapping !== null) { if (lastGeneratedLine < mapping.generatedLine) { addMappingWithCode(lastMapping, shiftNextLine()); lastGeneratedLine++; lastGeneratedColumn = 0; } else { var nextLine = remainingLines[remainingLinesIndex] || ""; var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn); remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn); lastGeneratedColumn = mapping.generatedColumn; addMappingWithCode(lastMapping, code); lastMapping = mapping; return; } } while (lastGeneratedLine < mapping.generatedLine) { node.add(shiftNextLine()); lastGeneratedLine++; } if (lastGeneratedColumn < mapping.generatedColumn) { var nextLine = remainingLines[remainingLinesIndex] || ""; node.add(nextLine.substr(0, mapping.generatedColumn)); remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); lastGeneratedColumn = mapping.generatedColumn; } lastMapping = mapping; }, this); if (remainingLinesIndex < remainingLines.length) { if (lastMapping) { addMappingWithCode(lastMapping, shiftNextLine()); } node.add(remainingLines.splice(remainingLinesIndex).join("")); } aSourceMapConsumer.sources.forEach(function(sourceFile) { var content = aSourceMapConsumer.sourceContentFor(sourceFile); if (content != null) { if (aRelativePath != null) { sourceFile = util.join(aRelativePath, sourceFile); } node.setSourceContent(sourceFile, content); } }); return node; function addMappingWithCode(mapping, code) { if (mapping === null || mapping.source === void 0) { node.add(code); } else { var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source; node.add(new SourceNode( mapping.originalLine, mapping.originalColumn, source, code, mapping.name )); } } }; SourceNode.prototype.add = function SourceNode_add(aChunk) { if (Array.isArray(aChunk)) { aChunk.forEach(function(chunk) { this.add(chunk); }, this); } else if (aChunk[isSourceNode] || typeof aChunk === "string") { if (aChunk) { this.children.push(aChunk); } } else { throw new TypeError( "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk ); } return this; }; SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { if (Array.isArray(aChunk)) { for (var i = aChunk.length - 1; i >= 0; i--) { this.prepend(aChunk[i]); } } else if (aChunk[isSourceNode] || typeof aChunk === "string") { this.children.unshift(aChunk); } else { throw new TypeError( "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk ); } return this; }; SourceNode.prototype.walk = function SourceNode_walk(aFn) { var chunk; for (var i = 0, len = this.children.length; i < len; i++) { chunk = this.children[i]; if (chunk[isSourceNode]) { chunk.walk(aFn); } else { if (chunk !== "") { aFn(chunk, { source: this.source, line: this.line, column: this.column, name: this.name }); } } } }; SourceNode.prototype.join = function SourceNode_join(aSep) { var newChildren; var i; var len = this.children.length; if (len > 0) { newChildren = []; for (i = 0; i < len - 1; i++) { newChildren.push(this.children[i]); newChildren.push(aSep); } newChildren.push(this.children[i]); this.children = newChildren; } return this; }; SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { var lastChild = this.children[this.children.length - 1]; if (lastChild[isSourceNode]) { lastChild.replaceRight(aPattern, aReplacement); } else if (typeof lastChild === "string") { this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); } else { this.children.push("".replace(aPattern, aReplacement)); } return this; }; SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) { this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; }; SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) { for (var i = 0, len = this.children.length; i < len; i++) { if (this.children[i][isSourceNode]) { this.children[i].walkSourceContents(aFn); } } var sources = Object.keys(this.sourceContents); for (var i = 0, len = sources.length; i < len; i++) { aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); } }; SourceNode.prototype.toString = function SourceNode_toString() { var str = ""; this.walk(function(chunk) { str += chunk; }); return str; }; SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { var generated = { code: "", line: 1, column: 0 }; var map = new SourceMapGenerator(aArgs); var sourceMappingActive = false; var lastOriginalSource = null; var lastOriginalLine = null; var lastOriginalColumn = null; var lastOriginalName = null; this.walk(function(chunk, original) { generated.code += chunk; if (original.source !== null && original.line !== null && original.column !== null) { if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) { map.addMapping({ source: original.source, original: { line: original.line, column: original.column }, generated: { line: generated.line, column: generated.column }, name: original.name }); } lastOriginalSource = original.source; lastOriginalLine = original.line; lastOriginalColumn = original.column; lastOriginalName = original.name; sourceMappingActive = true; } else if (sourceMappingActive) { map.addMapping({ generated: { line: generated.line, column: generated.column } }); lastOriginalSource = null; sourceMappingActive = false; } for (var idx = 0, length = chunk.length; idx < length; idx++) { if (chunk.charCodeAt(idx) === NEWLINE_CODE) { generated.line++; generated.column = 0; if (idx + 1 === length) { lastOriginalSource = null; sourceMappingActive = false; } else if (sourceMappingActive) { map.addMapping({ source: original.source, original: { line: original.line, column: original.column }, generated: { line: generated.line, column: generated.column }, name: original.name }); } } else { generated.column++; } } }); this.walkSourceContents(function(sourceFile, sourceContent) { map.setSourceContent(sourceFile, sourceContent); }); return { code: generated.code, map }; }; exports2.SourceNode = SourceNode; } }); // ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.js var require_source_map = __commonJS({ "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.js"(exports2) { exports2.SourceMapGenerator = require_source_map_generator().SourceMapGenerator; exports2.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer; exports2.SourceNode = require_source_node().SourceNode; } }); // ../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/impl/SyncPromise.js var require_SyncPromise = __commonJS({ "../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/impl/SyncPromise.js"(exports2, module2) { "use strict"; module2.exports = class SyncPromise { constructor(fn) { try { fn( (x) => { this.setValue(x, false); }, // resolve (x) => { this.setValue(x, true); } // reject ); } catch (e) { this.setValue(e, true); } } setValue(x, rejected) { this.val = x instanceof SyncPromise ? x.val : x; this.rejected = rejected || (x instanceof SyncPromise ? x.rejected : false); } static valueFrom(x) { if (x instanceof SyncPromise) { if (x.rejected) throw x.val; else return x.val; } else { return x; } } then(fn) { try { if (!this.rejected) return SyncPromise.resolve(fn(this.val)); } catch (e) { return SyncPromise.reject(e); } return this; } catch(fn) { try { if (this.rejected) return SyncPromise.resolve(fn(this.val)); } catch (e) { return SyncPromise.reject(e); } return this; } static resolve(x) { return new SyncPromise((resolve) => { resolve(x); }); } static reject(x) { return new SyncPromise((_, reject) => { reject(x); }); } }; } }); // ../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/impl/path.js var require_path = __commonJS({ "../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/impl/path.js"(exports2, module2) { "use strict"; var isBrowser = typeof window !== "undefined" && window.window === window && window.navigator; var cwd = isBrowser ? window.location.href : process.cwd(); var urlRegexp = new RegExp("^((https|http)://)?[a-z0-9A-Z]{3}.[a-z0-9A-Z][a-z0-9A-Z]{0,61}?[a-z0-9A-Z].com|net|cn|cc (:s[0-9]{1-4})?/$"); var path2 = module2.exports = { concat(a, b) { const a_endsWithSlash = a[a.length - 1] === "/", b_startsWithSlash = b[0] === "/"; return a + (a_endsWithSlash || b_startsWithSlash ? "" : "/") + (a_endsWithSlash && b_startsWithSlash ? b.substring(1) : b); }, resolve(x) { if (path2.isAbsolute(x)) { return path2.normalize(x); } return path2.normalize(path2.concat(cwd, x)); }, normalize(x) { let output = [], skip = 0; x.split("/").reverse().filter((x2) => x2 !== ".").forEach((x2) => { if (x2 === "..") { skip++; } else if (skip === 0) { output.push(x2); } else { skip--; } }); const result2 = output.reverse().join("/"); return (isBrowser && result2[0] === "/" ? result2[1] === "/" ? window.location.protocol : window.location.origin : "") + result2; }, isData: (x) => x.indexOf("data:") === 0, isURL: (x) => urlRegexp.test(x), isAbsolute: (x) => x[0] === "/" || /^[^\/]*:/.test(x), relativeToFile(a, b) { return path2.isData(a) || path2.isAbsolute(b) ? path2.normalize(b) : path2.normalize(path2.concat(a.split("/").slice(0, -1).join("/"), b)); } }; } }); // ../node_modules/.pnpm/data-uri-to-buffer@2.0.2/node_modules/data-uri-to-buffer/index.js var require_data_uri_to_buffer = __commonJS({ "../node_modules/.pnpm/data-uri-to-buffer@2.0.2/node_modules/data-uri-to-buffer/index.js"(exports2, module2) { "use strict"; module2.exports = dataUriToBuffer; function dataUriToBuffer(uri) { if (!/^data\:/i.test(uri)) { throw new TypeError( '`uri` does not appear to be a Data URI (must begin with "data:")' ); } uri = uri.replace(/\r?\n/g, ""); var firstComma = uri.indexOf(","); if (-1 === firstComma || firstComma <= 4) { throw new TypeError("malformed data: URI"); } var meta = uri.substring(5, firstComma).split(";"); var type = meta[0] || "text/plain"; var typeFull = type; var base64 = false; var charset = ""; for (var i = 1; i < meta.length; i++) { if ("base64" == meta[i]) { base64 = true; } else { typeFull += ";" + meta[i]; if (0 == meta[i].indexOf("charset=")) { charset = meta[i].substring(8); } } } if (!meta[0] && !charset.length) { typeFull += ";charset=US-ASCII"; charset = "US-ASCII"; } var data = unescape(uri.substring(firstComma + 1)); var encoding = base64 ? "base64" : "ascii"; var buffer = Buffer.from ? Buffer.from(data, encoding) : new Buffer(data, encoding); buffer.type = type; buffer.typeFull = typeFull; buffer.charset = charset; return buffer; } } }); // ../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/get-source.js var require_get_source = __commonJS({ "../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/get-source.js"(exports2, module2) { "use strict"; var { assign } = Object; var isBrowser = typeof window !== "undefined" && window.window === window && window.navigator; var SourceMapConsumer = require_source_map().SourceMapConsumer; var SyncPromise = require_SyncPromise(); var path2 = require_path(); var dataURIToBuffer = require_data_uri_to_buffer(); var nodeRequire = isBrowser ? null : module2.require; var memoize = (f) => { const m = (x) => x in m.cache ? m.cache[x] : m.cache[x] = f(x); m.forgetEverything = () => { m.cache = /* @__PURE__ */ Object.create(null); }; m.cache = /* @__PURE__ */ Object.create(null); return m; }; function impl(fetchFile, sync) { const PromiseImpl = sync ? SyncPromise : Promise; const SourceFileMemoized = memoize((path3) => SourceFile(path3, fetchFile(path3))); function SourceFile(srcPath, text) { if (text === void 0) return SourceFileMemoized(path2.resolve(srcPath)); return PromiseImpl.resolve(text).then((text2) => { let file; let lines; let resolver; let _resolve = (loc) => (resolver = resolver || SourceMapResolverFromFetchedFile(file))(loc); return file = { path: srcPath, text: text2, get lines() { return lines = lines || text2.split("\n"); }, resolve(loc) { const result2 = _resolve(loc); if (sync) { try { return SyncPromise.valueFrom(result2); } catch (e) { return assign({}, loc, { error: e }); } } else { return Promise.resolve(result2); } }, _resolve }; }); } function SourceMapResolverFromFetchedFile(file) { const re = /\u0023 sourceMappingURL=(.+)\n?/g; let lastMatch = void 0; while (true) { const match = re.exec(file.text); if (match) lastMatch = match; else break; } const url = lastMatch && lastMatch[1]; const defaultResolver = (loc) => assign({}, loc, { sourceFile: file, sourceLine: file.lines[loc.line - 1] || "" }); return url ? SourceMapResolver(file.path, url, defaultResolver) : defaultResolver; } function SourceMapResolver(originalFilePath, sourceMapPath, fallbackResolve) { const srcFile = sourceMapPath.startsWith("data:") ? SourceFile(originalFilePath, dataURIToBuffer(sourceMapPath).toString()) : SourceFile(path2.relativeToFile(originalFilePath, sourceMapPath)); const parsedMap = srcFile.then((f) => SourceMapConsumer(JSON.parse(f.text))); const sourceFor = memoize(function sourceFor2(filePath) { return srcFile.then((f) => { const fullPath = path2.relativeToFile(f.path, filePath); return parsedMap.then((x) => SourceFile( fullPath, x.sourceContentFor( filePath, true /* return null on missing */ ) || void 0 )); }); }); return (loc) => parsedMap.then((x) => { const originalLoc = x.originalPositionFor(loc); return originalLoc.source ? sourceFor(originalLoc.source).then( (x2) => x2._resolve(assign({}, loc, { line: originalLoc.line, column: originalLoc.column + 1, name: originalLoc.name })) ) : fallbackResolve(loc); }).catch((e) => assign(fallbackResolve(loc), { sourceMapError: e })); } return assign(function getSource(path3) { const file = SourceFile(path3); if (sync) { try { return SyncPromise.valueFrom(file); } catch (e) { const noFile = { path: path3, text: "", lines: [], error: e, resolve(loc) { return assign({}, loc, { error: e, sourceLine: "", sourceFile: noFile }); } }; return noFile; } } return file; }, { resetCache: () => SourceFileMemoized.forgetEverything(), getCache: () => SourceFileMemoized.cache }); } module2.exports = impl(function fetchFileSync(path3) { return new SyncPromise((resolve) => { if (isBrowser) { let xhr = new XMLHttpRequest(); xhr.open( "GET", path3, false /* SYNCHRONOUS XHR FTW :) */ ); xhr.send(null); resolve(xhr.responseText); } else { resolve(nodeRequire("fs").readFileSync(path3, { encoding: "utf8" })); } }); }, true); module2.exports.async = impl(function fetchFileAsync(path3) { return new Promise((resolve, reject) => { if (isBrowser) { let xhr = new XMLHttpRequest(); xhr.open("GET", path3); xhr.onreadystatechange = (event) => { if (xhr.readyState === 4) { if (xhr.status === 200) { resolve(xhr.responseText); } else { reject(new Error(xhr.statusText)); } } }; xhr.send(null); } else { nodeRequire("fs").readFile(path3, { encoding: "utf8" }, (e, x) => { e ? reject(e) : resolve(x); }); } }); }); } }); // ../node_modules/.pnpm/stacktracey@2.1.8/node_modules/stacktracey/impl/partition.js var require_partition3 = __commonJS({ "../node_modules/.pnpm/stacktracey@2.1.8/node_modules/stacktracey/impl/partition.js"(exports2, module2) { "use strict"; module2.exports = (arr_, pred) => { const arr = arr_ || [], spans = []; let span = { label: void 0, items: [arr.first] }; arr.forEach((x) => { const label = pred(x); if (span.label !== label && span.items.length) { spans.push(span = { label, items: [x] }); } else { span.items.push(x); } }); return spans; }; } }); // ../node_modules/.pnpm/printable-characters@1.0.42/node_modules/printable-characters/build/printable-characters.js var require_printable_characters = __commonJS({ "../node_modules/.pnpm/printable-characters@1.0.42/node_modules/printable-characters/build/printable-characters.js"(exports2, module2) { "use strict"; var _slicedToArray = /* @__PURE__ */ (function() { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = void 0; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function(arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; })(); var ansiEscapeCode = "[\x1B\x9B][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]"; var zeroWidthCharacterExceptNewline = "\0-\b\v-\x1B\x9B\xAD\u200B\u2028\u2029\uFEFF\uFE00-\uFE0F"; var zeroWidthCharacter = "\n" + zeroWidthCharacterExceptNewline; var zeroWidthCharactersExceptNewline = new RegExp("(?:" + ansiEscapeCode + ")|[" + zeroWidthCharacterExceptNewline + "]", "g"); var zeroWidthCharacters = new RegExp("(?:" + ansiEscapeCode + ")|[" + zeroWidthCharacter + "]", "g"); var partition = new RegExp("((?:" + ansiEscapeCode + ")|[ " + zeroWidthCharacter + "])?([^ " + zeroWidthCharacter + "]*)", "g"); module2.exports = { zeroWidthCharacters, ansiEscapeCodes: new RegExp(ansiEscapeCode, "g"), strlen: (s) => Array.from(s.replace(zeroWidthCharacters, "")).length, // Array.from solves the emoji problem as described here: http://blog.jonnew.com/posts/poo-dot-length-equals-two isBlank: (s) => s.replace(zeroWidthCharacters, "").replace(/\s/g, "").length === 0, blank: (s) => Array.from(s.replace(zeroWidthCharactersExceptNewline, "")).map((x) => x === " " || x === "\n" ? x : " ").join(""), partition(s) { for (var m, spans = []; partition.lastIndex !== s.length && (m = partition.exec(s)); ) { spans.push([m[1] || "", m[2]]); } partition.lastIndex = 0; return spans; }, first(s, n) { let result2 = "", length = 0; for (const _ref of module2.exports.partition(s)) { var _ref2 = _slicedToArray(_ref, 2); const nonPrintable = _ref2[0]; const printable = _ref2[1]; const text = Array.from(printable).slice(0, n - length); result2 += nonPrintable + text.join(""); length += text.length; } return result2; } }; } }); // ../node_modules/.pnpm/as-table@1.0.55/node_modules/as-table/build/as-table.js var require_as_table = __commonJS({ "../node_modules/.pnpm/as-table@1.0.55/node_modules/as-table/build/as-table.js"(exports2, module2) { "use strict"; function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } } var O = Object; var _require = require_printable_characters(); var first = _require.first; var strlen = _require.strlen; var limit = (s, n) => first(s, n - 1) + "\u2026"; var asColumns = (rows, cfg_) => { const zip = (arrs, f) => arrs.reduce((a, b) => b.map((b2, i) => [].concat(_toConsumableArray(a[i] || []), [b2])), []).map((args) => f.apply(void 0, _toConsumableArray(args))), cells = rows.map((r) => r.map((c) => c.replace(/\n/g, "\\n"))), cellWidths = cells.map((r) => r.map(strlen)), maxWidths = zip(cellWidths, Math.max), cfg = O.assign({ delimiter: " ", minColumnWidths: maxWidths.map((x) => 0), maxTotalWidth: 0 }, cfg_), delimiterLength = strlen(cfg.delimiter), totalWidth = maxWidths.reduce((a, b) => a + b, 0), relativeWidths = maxWidths.map((w) => w / totalWidth), maxTotalWidth = cfg.maxTotalWidth - delimiterLength * (maxWidths.length - 1), excessWidth = Math.max(0, totalWidth - maxTotalWidth), computedWidths = zip([cfg.minColumnWidths, maxWidths, relativeWidths], (min, max, relative) => Math.max(min, Math.floor(max - excessWidth * relative))), restCellWidths = cellWidths.map((widths) => zip([computedWidths, widths], (a, b) => a - b)); return zip([cells, restCellWidths], (a, b) => zip([a, b], (str, w) => w >= 0 ? cfg.right ? " ".repeat(w) + str : str + " ".repeat(w) : limit(str, strlen(str) + w)).join(cfg.delimiter)); }; var asTable = (cfg) => O.assign((arr) => { var _ref; if (arr[0] && Array.isArray(arr[0])) { return asColumns(arr.map((r) => r.map((c, i) => c === void 0 ? "" : cfg.print(c, i))), cfg).join("\n"); } const colNames = [].concat(_toConsumableArray(new Set((_ref = []).concat.apply(_ref, _toConsumableArray(arr.map(O.keys)))))), columns = [colNames.map(cfg.title)].concat(_toConsumableArray(arr.map((o) => colNames.map((key) => o[key] === void 0 ? "" : cfg.print(o[key], key))))), lines = asColumns(columns, cfg); return (cfg.dash ? [lines[0], cfg.dash.repeat(strlen(lines[0]))].concat(_toConsumableArray(lines.slice(1))) : lines).join("\n"); }, cfg, { configure: (newConfig) => asTable(O.assign({}, cfg, newConfig)) }); module2.exports = asTable({ maxTotalWidth: Number.MAX_SAFE_INTEGER, print: String, title: String, dash: "-", right: false }); } }); // ../node_modules/.pnpm/stacktracey@2.1.8/node_modules/stacktracey/stacktracey.js var require_stacktracey = __commonJS({ "../node_modules/.pnpm/stacktracey@2.1.8/node_modules/stacktracey/stacktracey.js"(exports2, module2) { "use strict"; var O = Object; var isBrowser = typeof window !== "undefined" && window.window === window && window.navigator; var nodeRequire = isBrowser ? null : module2.require; var lastOf = (x) => x[x.length - 1]; var getSource = require_get_source(); var partition = require_partition3(); var asTable = require_as_table(); var nixSlashes = (x) => x.replace(/\\/g, "/"); var pathRoot = isBrowser ? window.location.href : nixSlashes(process.cwd()) + "/"; var StackTracey = class _StackTracey { constructor(input, offset) { const originalInput = input, isParseableSyntaxError = input && (input instanceof SyntaxError && !isBrowser); if (!input) { input = new Error(); offset = offset === void 0 ? 1 : offset; } if (input instanceof Error) { input = input.stack || ""; } if (typeof input === "string") { input = this.rawParse(input).slice(offset).map((x) => this.extractEntryMetadata(x)); } if (Array.isArray(input)) { if (isParseableSyntaxError) { const rawLines = nodeRequire("util").inspect(originalInput).split("\n"), fileLine = rawLines[0].split(":"), line = fileLine.pop(), file = fileLine.join(":"); if (file) { input.unshift({ file: nixSlashes(file), line, column: (rawLines[2] || "").indexOf("^") + 1, sourceLine: rawLines[1], callee: "(syntax error)", syntaxError: true }); } } this.items = input; } else { this.items = []; } } extractEntryMetadata(e) { const decomposedPath = this.decomposePath(e.file || ""); const fileRelative = decomposedPath[0]; const externalDomain = decomposedPath[1]; return O.assign(e, { calleeShort: e.calleeShort || lastOf((e.callee || "").split(".")), fileRelative, fileShort: this.shortenPath(fileRelative), fileName: lastOf((e.file || "").split("/")), thirdParty: this.isThirdParty(fileRelative, externalDomain) && !e.index, externalDomain }); } shortenPath(relativePath) { return relativePath.replace(/^node_modules\//, "").replace(/^webpack\/bootstrap\//, "").replace(/^__parcel_source_root\//, ""); } decomposePath(fullPath) { let result2 = fullPath; if (isBrowser) result2 = result2.replace(pathRoot, ""); const externalDomainMatch = result2.match(/^(http|https)\:\/\/?([^\/]+)\/(.*)/); const externalDomain = externalDomainMatch ? externalDomainMatch[2] : void 0; result2 = externalDomainMatch ? externalDomainMatch[3] : result2; if (!isBrowser) result2 = nodeRequire("path").relative(pathRoot, result2); return [ nixSlashes(result2).replace(/^.*\:\/\/?\/?/, ""), // cut webpack:/// and webpack:/ things externalDomain ]; } isThirdParty(relativePath, externalDomain) { return externalDomain || relativePath[0] === "~" || // webpack-specific heuristic relativePath[0] === "/" || // external source relativePath.indexOf("node_modules") === 0 || relativePath.indexOf("webpack/bootstrap") === 0; } rawParse(str) { const lines = (str || "").split("\n"); const entries = lines.map((line) => { line = line.trim(); let callee, fileLineColumn = [], native, planA, planB; if ((planA = line.match(/at (.+) \(eval at .+ \((.+)\), .+\)/)) || // eval calls (planA = line.match(/at (.+) \((.+)\)/)) || line.slice(0, 3) !== "at " && (planA = line.match(/(.*)@(.*)/))) { callee = planA[1]; native = planA[2] === "native"; fileLineColumn = (planA[2].match(/(.*):(\d+):(\d+)/) || planA[2].match(/(.*):(\d+)/) || []).slice(1); } else if (planB = line.match(/^(at\s+)*(.+):(\d+):(\d+)/)) { fileLineColumn = planB.slice(2); } else { return void 0; } if (callee && !fileLineColumn[0]) { const type = callee.split(".")[0]; if (type === "Array") { native = true; } } return { beforeParse: line, callee: callee || "", index: isBrowser && fileLineColumn[0] === window.location.href, native: native || false, file: nixSlashes(fileLineColumn[0] || ""), line: parseInt(fileLineColumn[1] || "", 10) || void 0, column: parseInt(fileLineColumn[2] || "", 10) || void 0 }; }); return entries.filter((x) => x !== void 0); } withSourceAt(i) { return this.items[i] && this.withSource(this.items[i]); } withSourceAsyncAt(i) { return this.items[i] && this.withSourceAsync(this.items[i]); } withSource(loc) { if (this.shouldSkipResolving(loc)) { return loc; } else { let resolved = getSource(loc.file || "").resolve(loc); if (!resolved.sourceFile) { return loc; } return this.withSourceResolved(loc, resolved); } } withSourceAsync(loc) { if (this.shouldSkipResolving(loc)) { return Promise.resolve(loc); } else { return getSource.async(loc.file || "").then((x) => x.resolve(loc)).then((resolved) => this.withSourceResolved(loc, resolved)).catch((e) => this.withSourceResolved(loc, { error: e, sourceLine: "" })); } } shouldSkipResolving(loc) { return loc.sourceFile || loc.error || loc.file && loc.file.indexOf("<") >= 0; } withSourceResolved(loc, resolved) { if (resolved.sourceFile && !resolved.sourceFile.error) { resolved.file = nixSlashes(resolved.sourceFile.path); resolved = this.extractEntryMetadata(resolved); } if (resolved.sourceLine.includes("// @hide")) { resolved.sourceLine = resolved.sourceLine.replace("// @hide", ""); resolved.hide = true; } if (resolved.sourceLine.includes("__webpack_require__") || // webpack-specific heuristics resolved.sourceLine.includes("/******/ ({")) { resolved.thirdParty = true; } return O.assign({ sourceLine: "" }, loc, resolved); } withSources() { return this.map((x) => this.withSource(x)); } withSourcesAsync() { return Promise.all(this.items.map((x) => this.withSourceAsync(x))).then((items) => new _StackTracey(items)); } mergeRepeatedLines() { return new _StackTracey( partition(this.items, (e) => e.file + e.line).map( (group) => { return group.items.slice(1).reduce((memo, entry) => { memo.callee = (memo.callee || "") + " \u2192 " + (entry.callee || ""); memo.calleeShort = (memo.calleeShort || "") + " \u2192 " + (entry.calleeShort || ""); return memo; }, O.assign({}, group.items[0])); } ) ); } clean() { const s = this.withSources().mergeRepeatedLines(); return s.filter(s.isClean.bind(s)); } cleanAsync() { return this.withSourcesAsync().then((s) => { s = s.mergeRepeatedLines(); return s.filter(s.isClean.bind(s)); }); } isClean(entry, index) { return index === 0 || !(entry.thirdParty || entry.hide || entry.native); } at(i) { return O.assign({ beforeParse: "", callee: "??>", index: false, native: false, file: "??>", line: 0, column: 0 }, this.items[i]); } asTable(opts) { const maxColumnWidths = opts && opts.maxColumnWidths || this.maxColumnWidths(); const trimEnd = (s, n) => s && (s.length > n ? s.slice(0, n - 1) + "\u2026" : s); const trimStart = (s, n) => s && (s.length > n ? "\u2026" + s.slice(-(n - 1)) : s); const trimmed = this.map( (e) => [ "at " + trimEnd(e.calleeShort, maxColumnWidths.callee), trimStart(e.fileShort && e.fileShort + ":" + e.line || "", maxColumnWidths.file), trimEnd((e.sourceLine || "").trim() || "", maxColumnWidths.sourceLine) ] ); return asTable(trimmed.items); } maxColumnWidths() { return { callee: 30, file: 60, sourceLine: 80 }; } static resetCache() { getSource.resetCache(); getSource.async.resetCache(); } static locationsEqual(a, b) { return a.file === b.file && a.line === b.line && a.column === b.column; } }; ["map", "filter", "slice", "concat"].forEach((method) => { StackTracey.prototype[method] = function() { return new StackTracey(this.items[method].apply(this.items, arguments)); }; }); module2.exports = StackTracey; } }); // ../cli/default-reporter/lib/reportError.js var require_reportError = __commonJS({ "../cli/default-reporter/lib/reportError.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportError = reportError; var dedupe_issues_renderer_1 = require_lib24(); var render_peer_issues_1 = require_lib25(); var chalk_1 = __importDefault2(require_source()); var equals_1 = __importDefault2(require_equals2()); var stacktracey_1 = __importDefault2(require_stacktracey()); var constants_js_1 = require_constants(); stacktracey_1.default.maxColumnWidths = { callee: 25, file: 350, sourceLine: 25 }; var highlight = chalk_1.default.yellow; var colorPath = chalk_1.default.gray; function reportError(logObj, config) { const errorInfo = getErrorInfo(logObj, config); if (!errorInfo) return null; let output = formatErrorSummary(errorInfo.title, logObj.err?.code); if (logObj.pkgsStack != null) { if (logObj.pkgsStack.length > 0) { output += ` ${formatPkgsStack(logObj.pkgsStack)}`; } else if ("prefix" in logObj && logObj.prefix) { output += ` This error happened while installing a direct dependency of ${logObj.prefix}`; } } if (errorInfo.body) { output += ` ${errorInfo.body}`; } return output; } function getErrorInfo(logObj, config) { if ("err" in logObj && logObj.err) { const err = logObj.err; switch (err.code) { case "ERR_PNPM_UNEXPECTED_STORE": return reportUnexpectedStore(err, logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_UNEXPECTED_VIRTUAL_STORE": return reportUnexpectedVirtualStoreDir(err, logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_STORE_BREAKING_CHANGE": return reportStoreBreakingChange(logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_MODULES_BREAKING_CHANGE": return reportModulesBreakingChange(logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_MODIFIED_DEPENDENCY": return reportModifiedDependency(logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_LOCKFILE_BREAKING_CHANGE": return reportLockfileBreakingChange(err, logObj); case "ERR_PNPM_RECURSIVE_RUN_NO_SCRIPT": return { title: err.message }; case "ERR_PNPM_MISSING_TIME": return { title: err.message, body: 'If you cannot fix this registry issue, then set "resolution-mode" to "highest".' }; case "ERR_PNPM_NO_MATCHING_VERSION": case "ERR_PNPM_NO_MATURE_MATCHING_VERSION": return formatNoMatchingVersion(err, logObj); case "ERR_PNPM_RECURSIVE_FAIL": return formatRecursiveCommandSummary(logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_BAD_TARBALL_SIZE": return reportBadTarballSize(err, logObj); case "ELIFECYCLE": return reportLifecycleError(logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_UNSUPPORTED_ENGINE": return reportEngineError(logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_PEER_DEP_ISSUES": return reportPeerDependencyIssuesError(err, logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_DEDUPE_CHECK_ISSUES": return reportDedupeCheckIssuesError(err, logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER": return reportSpecNotSupportedByAnyResolverError(err, logObj); // eslint-disable-line @typescript-eslint/no-explicit-any case "ERR_PNPM_FETCH_401": case "ERR_PNPM_FETCH_403": return reportAuthError(err, logObj, config); // eslint-disable-line @typescript-eslint/no-explicit-any default: { if (!err.code?.startsWith?.("ERR_PNPM_")) { return formatGenericError(err.message ?? logObj.message, err.stack); } return { title: err.message ?? "", body: logObj.hint }; } } } return { title: logObj.message }; } function formatPkgNameVer({ name, version: version2 }) { return version2 == null ? name : `${name}@${version2}`; } function formatPkgsStack(pkgsStack) { return `This error happened while installing the dependencies of ${formatPkgNameVer(pkgsStack[0])}${pkgsStack.slice(1).map((pkgInfo) => `${constants_js_1.EOL} at ${formatPkgNameVer(pkgInfo)}`).join("")}`; } function formatNoMatchingVersion(err, msg) { const meta = msg.packageMeta; const latestVersion = meta["dist-tags"].latest; let output = `The latest release of ${meta.name} is "${latestVersion}".`; const latestTime = msg.packageMeta.time?.[latestVersion]; if (latestTime) { output += ` Published at ${stringifyDate(latestTime)}`; } output += constants_js_1.EOL; if (!(0, equals_1.default)(Object.keys(meta["dist-tags"]), ["latest"])) { output += constants_js_1.EOL + "Other releases are:" + constants_js_1.EOL; for (const tag in meta["dist-tags"]) { if (tag !== "latest") { const version2 = meta["dist-tags"][tag]; output += ` * ${tag}: ${version2}`; const time = msg.packageMeta.time?.[version2]; if (time) { output += ` published at ${stringifyDate(time)}`; } output += constants_js_1.EOL; } } } output += `${constants_js_1.EOL}If you need the full list of all ${Object.keys(meta.versions).length} published versions run "$ pnpm view ${meta.name} versions".`; if (msg.immatureVersion) { output += `${constants_js_1.EOL}${constants_js_1.EOL}If you want to install the matched version ignoring the time it was published, you can add the package name to the minimumReleaseAgeExclude setting. Read more about it: https://pnpm.io/settings#minimumreleaseageexclude`; } return { title: err.message, body: output }; } function stringifyDate(dateStr) { const now = Date.now(); const oneDayAgo = now - 24 * 60 * 60 * 1e3; const date = new Date(dateStr); if (date.getTime() < oneDayAgo) { return date.toLocaleDateString(); } return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`; } function reportUnexpectedStore(err, msg) { return { title: err.message, body: `The dependencies at "${msg.modulesDir}" are currently linked from the store at "${msg.expectedStorePath}". pnpm now wants to use the store at "${msg.actualStorePath}" to link dependencies. If you want to use the new store location, reinstall your dependencies with "pnpm install". You may change the global store location by running "pnpm config set store-dir --global". (This error may happen if the node_modules was installed with a different major version of pnpm)` }; } function reportUnexpectedVirtualStoreDir(err, msg) { return { title: err.message, body: `The dependencies at "${msg.modulesDir}" are currently symlinked from the virtual store directory at "${msg.expected}". pnpm now wants to use the virtual store at "${msg.actual}" to link dependencies from the store. If you want to use the new virtual store location, reinstall your dependencies with "pnpm install". You may change the virtual store location by changing the value of the virtual-store-dir config.` }; } function reportStoreBreakingChange(msg) { let output = `Store path: ${colorPath(msg.storePath)} Run "pnpm install" to recreate node_modules.`; if (msg.additionalInformation) { output = `${output}${constants_js_1.EOL}${constants_js_1.EOL}${msg.additionalInformation}`; } output += formatRelatedSources(msg); return { title: "The store used for the current node_modules is incompatible with the current version of pnpm", body: output }; } function reportModulesBreakingChange(msg) { let output = `node_modules path: ${colorPath(msg.modulesPath)} Run ${highlight("pnpm install")} to recreate node_modules.`; if (msg.additionalInformation) { output = `${output}${constants_js_1.EOL}${constants_js_1.EOL}${msg.additionalInformation}`; } output += formatRelatedSources(msg); return { title: "The current version of pnpm is not compatible with the available node_modules structure", body: output }; } function formatRelatedSources(msg) { let output = ""; if (!msg.relatedIssue && !msg.relatedPR) return output; output += constants_js_1.EOL; if (msg.relatedIssue) { output += constants_js_1.EOL + `Related issue: ${colorPath(`https://github.com/pnpm/pnpm/issues/${msg.relatedIssue}`)}`; } if (msg.relatedPR) { output += constants_js_1.EOL + `Related PR: ${colorPath(`https://github.com/pnpm/pnpm/pull/${msg.relatedPR}`)}`; } return output; } function formatGenericError(errorMessage, stack) { if (stack) { let prettyStack; try { prettyStack = new stacktracey_1.default(stack).asTable(); } catch { prettyStack = stack.toString(); } if (prettyStack) { return { title: errorMessage, body: prettyStack }; } } return { title: errorMessage }; } function formatErrorSummary(message, code) { return `${chalk_1.default.bgRed.black(`\u2009${code ?? "ERROR"}\u2009`)} ${chalk_1.default.red(message)}`; } function reportModifiedDependency(msg) { return { title: "Packages in the store have been mutated", body: `These packages are modified: ${msg.modified.map((pkgPath) => colorPath(pkgPath)).join(constants_js_1.EOL)} You can run ${highlight("pnpm install --force")} to refetch the modified packages` }; } function reportLockfileBreakingChange(err, msg) { return { title: err.message, body: `Run with the ${highlight("--force")} parameter to recreate the lockfile.` }; } function formatRecursiveCommandSummary(msg) { const output = constants_js_1.EOL + `Summary: ${chalk_1.default.red(`${msg.failures.length} fails`)}, ${msg.passes} passes` + constants_js_1.EOL + constants_js_1.EOL + msg.failures.map(({ message, prefix }) => { return prefix + ":" + constants_js_1.EOL + formatErrorSummary(message); }).join(constants_js_1.EOL + constants_js_1.EOL); return { title: "", body: output }; } function reportBadTarballSize(err, msg) { return { title: err.message, body: `Seems like you have internet connection issues. Try running the same command again. If that doesn't help, try one of the following: - Set a bigger value for the \`fetch-retries\` config. To check the current value of \`fetch-retries\`, run \`pnpm get fetch-retries\`. To set a new value, run \`pnpm set fetch-retries \`. - Set \`network-concurrency\` to 1. This change will slow down installation times, so it is recommended to delete the config once the internet connection is good again: \`pnpm config delete network-concurrency\` NOTE: You may also override configs via flags. For instance, \`pnpm install --fetch-retries 5 --network-concurrency 1\`` }; } function reportLifecycleError(msg) { if (msg.stage === "test") { return { title: "Test failed. See above for more details." }; } if (typeof msg.errno === "number") { return { title: `Command failed with exit code ${msg.errno}.` }; } return { title: "Command failed." }; } function reportEngineError(msg) { let output = ""; if (msg.wanted.pnpm) { output += `Your pnpm version is incompatible with "${msg.packageId}". Expected version: ${msg.wanted.pnpm} Got: ${msg.current.pnpm} This is happening because the package's manifest has an engines.pnpm field specified. To fix this issue, install the required pnpm version globally. To install the latest version of pnpm, run "pnpm i -g pnpm". To check your pnpm version, run "pnpm -v".`; } if (msg.wanted.node) { if (output) output += constants_js_1.EOL + constants_js_1.EOL; output += `Your Node version is incompatible with "${msg.packageId}". Expected version: ${msg.wanted.node} Got: ${msg.current.node} This is happening because the package's manifest has an engines.node field specified. To fix this issue, install the required Node version.`; } return { title: "Unsupported environment (bad pnpm and/or Node.js version)", body: output }; } function reportAuthError(err, msg, config) { const foundSettings = []; for (const [key, value] of Object.entries(config?.rawConfig ?? {})) { if (key[0] === "@") { foundSettings.push(`${key}=${String(value)}`); continue; } if (key.endsWith("_auth") || key.endsWith("_authToken") || key.endsWith("username") || key.endsWith("_password")) { foundSettings.push(`${key}=${hideSecureInfo(key, value)}`); } } let output = msg.hint ? `${msg.hint}${constants_js_1.EOL}${constants_js_1.EOL}` : ""; if (foundSettings.length === 0) { output += `No authorization settings were found in the configs. Try to log in to the registry by running "pnpm login" or add the auth tokens manually to the ~/.npmrc file.`; } else { output += `These authorization settings were found: ${foundSettings.join("\n")}`; } return { title: err.message, body: output }; } function hideSecureInfo(key, value) { if (key.endsWith("_password")) return "[hidden]"; if (key.endsWith("_auth") || key.endsWith("_authToken")) return `${value.substring(0, 4)}[hidden]`; return value; } function reportPeerDependencyIssuesError(err, msg) { const hasMissingPeers = getHasMissingPeers(msg.issuesByProjects); const hints = []; if (hasMissingPeers) { hints.push(`To auto-install peer dependencies, add the following to "pnpm-workspace.yaml" in your project root: autoInstallPeers: true`); } hints.push(`To disable failing on peer dependency issues, add the following to pnpm-workspace.yaml in your project root: strictPeerDependencies: false `); const rendered = (0, render_peer_issues_1.renderPeerIssues)(msg.issuesByProjects); if (!rendered) { return { title: err.message }; } return { title: err.message, body: `${rendered} ${hints.map((hint) => `hint: ${hint}`).join("\n")} ` }; } function getHasMissingPeers(issuesByProjects) { return Object.values(issuesByProjects).some((issues) => Object.values(issues.missing).flat().some(({ optional }) => !optional)); } function reportDedupeCheckIssuesError(err, msg) { return { title: err.message, body: `${(0, dedupe_issues_renderer_1.renderDedupeCheckIssues)(msg.dedupeCheckIssues)} Run ${chalk_1.default.yellow("pnpm dedupe")} to apply the changes above. ` }; } function reportSpecNotSupportedByAnyResolverError(err, logObj) { if (logObj.package?.bareSpecifier?.startsWith("catalog:")) { return reportExternalCatalogProtocolError(err, logObj); } return { title: err.message ?? "", body: logObj.hint }; } function reportExternalCatalogProtocolError(err, logObj) { const { pkgsStack } = logObj; const problemDep = pkgsStack?.[0]; let body = `An external package outside of the pnpm workspace declared a dependency using the catalog protocol. This is likely a bug in that external package. Only packages within the pnpm workspace may use catalogs. Usages of the catalog protocol are replaced with real specifiers on 'pnpm publish'. `; if (problemDep != null) { body += ` This is likely a bug in the publishing automation of this package. Consider filing a bug with the authors of: ${highlight(formatPkgNameVer(problemDep))} `; } return { title: err.message, body }; } } }); // ../cli/default-reporter/lib/reporterForClient/reportMisc.js var require_reportMisc = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportMisc.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LOG_LEVEL_NUMBER = void 0; exports2.reportMisc = reportMisc; var os_1 = __importDefault2(require("os")); var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var reportError_js_1 = require_reportError(); var formatWarn_js_1 = require_formatWarn(); var zooming_js_1 = require_zooming(); exports2.LOG_LEVEL_NUMBER = { error: 0, warn: 1, info: 2, debug: 3 }; var MAX_SHOWN_WARNINGS = 5; function reportMisc(log$, opts) { const maxLogLevel = exports2.LOG_LEVEL_NUMBER[opts.logLevel ?? "info"] ?? exports2.LOG_LEVEL_NUMBER["info"]; const reportWarning = makeWarningReporter(opts); return Rx.merge(log$.registry, log$.other).pipe((0, operators_1.filter)((obj) => exports2.LOG_LEVEL_NUMBER[obj.level] <= maxLogLevel && (obj.level !== "info" || !obj["prefix"] || obj["prefix"] === opts.cwd)), (0, operators_1.map)((obj) => { switch (obj.level) { case "warn": { return reportWarning(obj); } case "error": { const errorOutput = (0, reportError_js_1.reportError)(obj, opts.config); if (!errorOutput) return Rx.NEVER; if (obj["prefix"] && obj["prefix"] !== opts.cwd) { return Rx.of({ msg: `${obj["prefix"]}:` + os_1.default.EOL + errorOutput }); } return Rx.of({ msg: errorOutput }); } default: return Rx.of({ msg: obj.message }); } })); } function makeWarningReporter(opts) { let warningsCounter = 0; let collapsedWarnings; return (obj) => { warningsCounter++; if (opts.appendOnly || warningsCounter <= MAX_SHOWN_WARNINGS) { return Rx.of({ msg: (0, zooming_js_1.autozoom)(opts.cwd, obj.prefix, (0, formatWarn_js_1.formatWarn)(obj.message), opts) }); } const warningMsg = (0, formatWarn_js_1.formatWarn)(`${warningsCounter - MAX_SHOWN_WARNINGS} other warnings`); if (!collapsedWarnings) { collapsedWarnings = new Rx.Subject(); setTimeout(() => { collapsedWarnings.next({ msg: warningMsg }); }, 0); return Rx.from(collapsedWarnings); } setTimeout(() => { collapsedWarnings.next({ msg: warningMsg }); }, 0); return Rx.NEVER; }; } } }); // ../cli/default-reporter/lib/reporterForClient/reportPeerDependencyIssues.js var require_reportPeerDependencyIssues = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportPeerDependencyIssues.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportPeerDependencyIssues = reportPeerDependencyIssues; var render_peer_issues_1 = require_lib25(); var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var formatWarn_js_1 = require_formatWarn(); function reportPeerDependencyIssues(log$) { return log$.peerDependencyIssues.pipe((0, operators_1.take)(1), (0, operators_1.map)((log) => { const renderedPeerIssues = (0, render_peer_issues_1.renderPeerIssues)(log.issuesByProjects); if (!renderedPeerIssues) { return Rx.NEVER; } return Rx.of({ msg: `${(0, formatWarn_js_1.formatWarn)("Issues with peer dependencies found")} ${renderedPeerIssues}` }); })); } } }); // ../cli/default-reporter/lib/reporterForClient/reportProgress.js var require_reportProgress = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportProgress.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportProgress = reportProgress; var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var outputConstants_js_1 = require_outputConstants(); var zooming_js_1 = require_zooming(); function reportProgress(log$, opts) { const progressOutput = throttledProgressOutput.bind(null, opts); return getModulesInstallProgress$(log$.stage, log$.progress).pipe((0, operators_1.map)(opts.hideProgressPrefix ? ({ importingDone$, progress$ }) => progressOutput(importingDone$, progress$) : ({ importingDone$, progress$, requirer }) => { const output$ = progressOutput(importingDone$, progress$); if (requirer === opts.cwd) { return output$; } return output$.pipe((0, operators_1.map)((msg) => { msg["msg"] = (0, zooming_js_1.zoomOut)(opts.cwd, requirer, msg["msg"]); return msg; })); })); } function throttledProgressOutput(opts, importingDone$, progress$) { if (opts.throttle != null) { progress$ = progress$.pipe(opts.throttle); } const combinedProgress = Rx.combineLatest(progress$, importingDone$).pipe((0, operators_1.takeWhile)(([, importingDone]) => !importingDone, true)); return combinedProgress.pipe((0, operators_1.map)(opts.hideAddedPkgsProgress ? createStatusMessageWithoutAdded : createStatusMessage)); } function getModulesInstallProgress$(stage$, progress$) { const modulesInstallProgressPushStream = new Rx.Subject(); const progressStatsPushStreamByRequirer = getProgressStatsPushStreamByRequirer(progress$); const stagePushStreamByRequirer = {}; stage$.forEach((log) => { if (!stagePushStreamByRequirer[log.prefix]) { stagePushStreamByRequirer[log.prefix] = new Rx.Subject(); if (!progressStatsPushStreamByRequirer[log.prefix]) { progressStatsPushStreamByRequirer[log.prefix] = new Rx.Subject(); } modulesInstallProgressPushStream.next({ importingDone$: stage$ToImportingDone$(Rx.from(stagePushStreamByRequirer[log.prefix])), progress$: Rx.from(progressStatsPushStreamByRequirer[log.prefix]), requirer: log.prefix }); } stagePushStreamByRequirer[log.prefix].next(log); if (log.stage === "importing_done") { progressStatsPushStreamByRequirer[log.prefix].complete(); stagePushStreamByRequirer[log.prefix].complete(); } }).catch(() => { }); return Rx.from(modulesInstallProgressPushStream); } function stage$ToImportingDone$(stage$) { return stage$.pipe((0, operators_1.filter)((log) => log.stage === "importing_done"), (0, operators_1.mapTo)(true), (0, operators_1.take)(1), (0, operators_1.startWith)(false)); } function getProgressStatsPushStreamByRequirer(progress$) { const progressStatsPushStreamByRequirer = {}; const previousProgressStatsByRequirer = {}; progress$.forEach((log) => { if (!previousProgressStatsByRequirer[log.requester]) { previousProgressStatsByRequirer[log.requester] = { fetched: 0, imported: 0, resolved: 0, reused: 0 }; } switch (log.status) { case "resolved": previousProgressStatsByRequirer[log.requester].resolved++; break; case "fetched": previousProgressStatsByRequirer[log.requester].fetched++; break; case "found_in_store": previousProgressStatsByRequirer[log.requester].reused++; break; case "imported": previousProgressStatsByRequirer[log.requester].imported++; break; } if (!progressStatsPushStreamByRequirer[log.requester]) { progressStatsPushStreamByRequirer[log.requester] = new Rx.Subject(); } progressStatsPushStreamByRequirer[log.requester].next(previousProgressStatsByRequirer[log.requester]); }).catch(() => { }); return progressStatsPushStreamByRequirer; } function createStatusMessage([progress, importingDone]) { const msg = `Progress: resolved ${(0, outputConstants_js_1.hlValue)(progress.resolved.toString())}, reused ${(0, outputConstants_js_1.hlValue)(progress.reused.toString())}, downloaded ${(0, outputConstants_js_1.hlValue)(progress.fetched.toString())}, added ${(0, outputConstants_js_1.hlValue)(progress.imported.toString())}`; if (importingDone) { return { done: true, fixed: false, msg: `${msg}, done` }; } return { fixed: true, msg }; } function createStatusMessageWithoutAdded([progress, importingDone]) { const msg = `Progress: resolved ${(0, outputConstants_js_1.hlValue)(progress.resolved.toString())}, reused ${(0, outputConstants_js_1.hlValue)(progress.reused.toString())}, downloaded ${(0, outputConstants_js_1.hlValue)(progress.fetched.toString())}`; if (importingDone) { return { done: true, fixed: false, msg: `${msg}, done` }; } return { fixed: true, msg }; } } }); // ../cli/default-reporter/lib/reporterForClient/reportRequestRetry.js var require_reportRequestRetry = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportRequestRetry.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportRequestRetry = reportRequestRetry; var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var pretty_ms_1 = __importDefault2(require_pretty_ms()); var formatWarn_js_1 = require_formatWarn(); function reportRequestRetry(requestRetry$) { return requestRetry$.pipe((0, operators_1.map)((log) => { const retriesLeft = log.maxRetries - log.attempt + 1; const errorCode = log.error.httpStatusCode ?? log.error.status ?? log.error.errno ?? log.error.code; const msg = `${log.method} ${log.url} error (${errorCode}). Will retry in ${(0, pretty_ms_1.default)(log.timeout, { verbose: true })}. ${retriesLeft} retries left.`; return Rx.of({ msg: (0, formatWarn_js_1.formatWarn)(msg) }); })); } } }); // ../cli/default-reporter/lib/reporterForClient/reportScope.js var require_reportScope = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportScope.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportScope = reportScope; var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var COMMANDS_THAT_REPORT_SCOPE = /* @__PURE__ */ new Set([ "install", "link", "prune", "rebuild", "remove", "unlink", "update", "run", "test" ]); function reportScope(scope$, opts) { if (!COMMANDS_THAT_REPORT_SCOPE.has(opts.cmd)) { return Rx.NEVER; } return scope$.pipe((0, operators_1.take)(1), (0, operators_1.map)((log) => { if (log.selected === 1) { return Rx.NEVER; } let msg = "Scope: "; if (log.selected === log.total) { msg += `all ${log.total}`; } else { msg += `${log.selected}`; if (log.total) { msg += ` of ${log.total}`; } } if (log.workspacePrefix) { msg += " workspace projects"; } else { msg += " projects"; } return Rx.of({ msg }); })); } } }); // ../cli/default-reporter/lib/reporterForClient/reportSkippedOptionalDependencies.js var require_reportSkippedOptionalDependencies = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportSkippedOptionalDependencies.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportSkippedOptionalDependencies = reportSkippedOptionalDependencies; var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); function reportSkippedOptionalDependencies(skippedOptionalDependency$, opts) { return skippedOptionalDependency$.pipe((0, operators_1.filter)((log) => Boolean(log["prefix"] === opts.cwd && log.parents && log.parents.length === 0)), (0, operators_1.map)((log) => Rx.of({ msg: `info: ${// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing log.package.id || log.package.name && `${log.package.name}@${log.package.version}` || log.package.bareSpecifier} is an optional dependency and failed compatibility check. Excluding it from installation.` }))); } } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/always.js var require_always = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/always.js"(exports2, module2) { var _curry1 = require_curry1(); var always = /* @__PURE__ */ _curry1(function always2(val) { return function() { return val; }; }); module2.exports = always; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/times.js var require_times = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/times.js"(exports2, module2) { var _curry2 = require_curry2(); var times = /* @__PURE__ */ _curry2(function times2(fn, n) { var len = Number(n); var idx = 0; var list; if (len < 0 || isNaN(len)) { throw new RangeError("n must be a non-negative number"); } list = new Array(len); while (idx < len) { list[idx] = fn(idx); idx += 1; } return list; }); module2.exports = times; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/repeat.js var require_repeat2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/repeat.js"(exports2, module2) { var _curry2 = require_curry2(); var always = require_always(); var times = require_times(); var repeat = /* @__PURE__ */ _curry2(function repeat2(value, n) { return times(always(value), n); }); module2.exports = repeat; } }); // ../node_modules/.pnpm/char-regex@1.0.2/node_modules/char-regex/index.js var require_char_regex = __commonJS({ "../node_modules/.pnpm/char-regex@1.0.2/node_modules/char-regex/index.js"(exports2, module2) { "use strict"; module2.exports = () => { const astralRange = "\\ud800-\\udfff"; const comboMarksRange = "\\u0300-\\u036f"; const comboHalfMarksRange = "\\ufe20-\\ufe2f"; const comboSymbolsRange = "\\u20d0-\\u20ff"; const comboMarksExtendedRange = "\\u1ab0-\\u1aff"; const comboMarksSupplementRange = "\\u1dc0-\\u1dff"; const comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange; const varRange = "\\ufe0e\\ufe0f"; const familyRange = "\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDF93"; const astral = `[${astralRange}]`; const combo = `[${comboRange}]`; const fitz = "\\ud83c[\\udffb-\\udfff]"; const modifier = `(?:${combo}|${fitz})`; const nonAstral = `[^${astralRange}]`; const regional = "(?:\\uD83C[\\uDDE6-\\uDDFF]){2}"; const surrogatePair = "[\\ud800-\\udbff][\\udc00-\\udfff]"; const zwj = "\\u200d"; const blackFlag = "(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40(?:\\udc65|\\udc73|\\udc77)\\udb40(?:\\udc6e|\\udc63|\\udc6c)\\udb40(?:\\udc67|\\udc74|\\udc73)\\udb40\\udc7f)"; const family = `[${familyRange}]`; const optModifier = `${modifier}?`; const optVar = `[${varRange}]?`; const optJoin = `(?:${zwj}(?:${[nonAstral, regional, surrogatePair].join("|")})${optVar + optModifier})*`; const seq = optVar + optModifier + optJoin; const nonAstralCombo = `${nonAstral}${combo}?`; const symbol = `(?:${[nonAstralCombo, combo, regional, surrogatePair, astral, family].join("|")})`; return new RegExp(`${blackFlag}|${fitz}(?=${fitz})|${symbol + seq}`, "g"); }; } }); // ../node_modules/.pnpm/string-length@4.0.2/node_modules/string-length/index.js var require_string_length = __commonJS({ "../node_modules/.pnpm/string-length@4.0.2/node_modules/string-length/index.js"(exports2, module2) { "use strict"; var stripAnsi = require_strip_ansi(); var charRegex = require_char_regex(); var stringLength = (string) => { if (string === "") { return 0; } const strippedString = stripAnsi(string); if (strippedString === "") { return 0; } return strippedString.match(charRegex()).length; }; module2.exports = stringLength; } }); // ../cli/default-reporter/lib/reporterForClient/reportStats.js var require_reportStats = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportStats.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportStats = reportStats; var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var chalk_1 = __importDefault2(require_source()); var repeat_1 = __importDefault2(require_repeat2()); var string_length_1 = __importDefault2(require_string_length()); var constants_js_1 = require_constants(); var outputConstants_js_1 = require_outputConstants(); var zooming_js_1 = require_zooming(); function reportStats(log$, opts) { if (opts.hideProgressPrefix) { return [statsForCurrentPackage(log$.stats, { cmd: opts.cmd, width: opts.width })]; } const stats$ = opts.isRecursive ? log$.stats : log$.stats.pipe((0, operators_1.filter)((log) => log.prefix !== opts.cwd)); const outputs = [ statsForNotCurrentPackage(stats$, { cmd: opts.cmd, currentPrefix: opts.cwd, width: opts.width }) ]; if (!opts.isRecursive) { outputs.push(statsForCurrentPackage(log$.stats.pipe((0, operators_1.filter)((log) => log.prefix === opts.cwd)), { cmd: opts.cmd, width: opts.width })); } return outputs; } function statsForCurrentPackage(stats$, opts) { return stats$.pipe((0, operators_1.take)(opts.cmd === "install" || opts.cmd === "install-test" || opts.cmd === "add" || opts.cmd === "update" || opts.cmd === "dlx" ? 2 : 1), (0, operators_1.reduce)((acc, log) => { if (typeof log["added"] === "number") { acc["added"] = log["added"]; } else if (typeof log["removed"] === "number") { acc["removed"] = log["removed"]; } return acc; }, {}), (0, operators_1.map)((stats) => { if (!stats["removed"] && !stats["added"]) { if (opts.cmd === "link") { return Rx.NEVER; } return Rx.of({ msg: "Already up to date" }); } let msg = "Packages:"; if (stats["added"]) { msg += " " + chalk_1.default.green(`+${stats["added"].toString()}`); } if (stats["removed"]) { msg += " " + chalk_1.default.red(`-${stats["removed"].toString()}`); } msg += constants_js_1.EOL + printPlusesAndMinuses(opts.width, stats["added"] ?? 0, stats["removed"] ?? 0); return Rx.of({ msg }); })); } function statsForNotCurrentPackage(stats$, opts) { const stats = {}; const cookedStats$ = opts.cmd !== "remove" ? stats$.pipe((0, operators_1.map)((log) => { const { prefix } = log; if (!stats[prefix]) { stats[prefix] = log; return { seed: stats, value: null }; } else if (typeof stats[prefix].added === "number" && typeof log["added"] === "number") { stats[prefix].added += log["added"]; return { seed: stats, value: null }; } else if (typeof stats[prefix].removed === "number" && typeof log["removed"] === "number") { stats[prefix].removed += log["removed"]; return { seed: stats, value: null }; } else { const value = { ...stats[prefix], ...log }; delete stats[prefix]; return value; } }, {})) : stats$; return cookedStats$.pipe( (0, operators_1.filter)((stats2) => stats2 !== null && Boolean(stats2["removed"] || stats2["added"])), // eslint-disable-line @typescript-eslint/prefer-nullish-coalescing (0, operators_1.map)((stats2) => { const parts = []; if (stats2["added"]) { parts.push(padStep(chalk_1.default.green(`+${stats2["added"].toString()}`), 4)); } if (stats2["removed"]) { parts.push(padStep(chalk_1.default.red(`-${stats2["removed"].toString()}`), 4)); } let msg = (0, zooming_js_1.zoomOut)(opts.currentPrefix, stats2.prefix, parts.join(" ")); const rest = Math.max(0, opts.width - 1 - (0, string_length_1.default)(msg)); msg += " " + printPlusesAndMinuses(rest, roundStats(stats2["added"] || 0), roundStats(stats2["removed"] || 0)); return Rx.of({ msg }); }) ); } function padStep(s, step) { const sLength = (0, string_length_1.default)(s); const placeholderLength = Math.ceil(sLength / step) * step; if (sLength < placeholderLength) { return (0, repeat_1.default)(" ", placeholderLength - sLength).join("") + s; } return s; } function roundStats(stat) { if (stat === 0) return 0; return Math.max(1, Math.round(stat / 10)); } function printPlusesAndMinuses(maxWidth, added, removed) { if (maxWidth === 0) return ""; const changes = added + removed; let addedChars; let removedChars; if (changes > maxWidth) { if (!added) { addedChars = 0; removedChars = maxWidth; } else if (!removed) { addedChars = maxWidth; removedChars = 0; } else { const p = maxWidth / changes; addedChars = Math.min(Math.max(Math.floor(added * p), 1), maxWidth - 1); removedChars = maxWidth - addedChars; } } else { addedChars = added; removedChars = removed; } return `${(0, repeat_1.default)(outputConstants_js_1.ADDED_CHAR, addedChars).join("")}${(0, repeat_1.default)(outputConstants_js_1.REMOVED_CHAR, removedChars).join("")}`; } } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/constants.js var require_constants2 = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/constants.js"(exports2, module2) { "use strict"; var SEMVER_SPEC_VERSION = "2.0.0"; var MAX_LENGTH = 256; var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ 9007199254740991; var MAX_SAFE_COMPONENT_LENGTH = 16; var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6; var RELEASE_TYPES = [ "major", "premajor", "minor", "preminor", "patch", "prepatch", "prerelease" ]; module2.exports = { MAX_LENGTH, MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_SAFE_INTEGER, RELEASE_TYPES, SEMVER_SPEC_VERSION, FLAG_INCLUDE_PRERELEASE: 1, FLAG_LOOSE: 2 }; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/debug.js var require_debug = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/debug.js"(exports2, module2) { "use strict"; var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { }; module2.exports = debug; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/re.js var require_re = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/re.js"(exports2, module2) { "use strict"; var { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_LENGTH } = require_constants2(); var debug = require_debug(); exports2 = module2.exports = {}; var re = exports2.re = []; var safeRe = exports2.safeRe = []; var src = exports2.src = []; var safeSrc = exports2.safeSrc = []; var t = exports2.t = {}; var R = 0; var LETTERDASHNUMBER = "[a-zA-Z0-9-]"; var safeRegexReplacements = [ ["\\s", 1], ["\\d", MAX_LENGTH], [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH] ]; var makeSafeRegex = (value) => { for (const [token, max] of safeRegexReplacements) { value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`); } return value; }; var createToken = (name, value, isGlobal) => { const safe = makeSafeRegex(value); const index = R++; debug(name, index, value); t[name] = index; src[index] = value; safeSrc[index] = safe; re[index] = new RegExp(value, isGlobal ? "g" : void 0); safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0); }; createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); createToken("NUMERICIDENTIFIERLOOSE", "\\d+"); createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`); createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`); createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`); createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`); createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`); createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`); createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); createToken("FULL", `^${src[t.FULLPLAIN]}$`); createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`); createToken("GTLT", "((?:<|>)?=?)"); createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`); createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`); createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`); createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`); createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`); createToken("COERCERTL", src[t.COERCE], true); createToken("COERCERTLFULL", src[t.COERCEFULL], true); createToken("LONETILDE", "(?:~>?)"); createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true); exports2.tildeTrimReplace = "$1~"; createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); createToken("LONECARET", "(?:\\^)"); createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true); exports2.caretTrimReplace = "$1^"; createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); exports2.comparatorTrimReplace = "$1$2$3"; createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`); createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`); createToken("STAR", "(<|>)?=?\\s*\\*"); createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"); createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$"); } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/parse-options.js var require_parse_options = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/parse-options.js"(exports2, module2) { "use strict"; var looseOption = Object.freeze({ loose: true }); var emptyOpts = Object.freeze({}); var parseOptions = (options) => { if (!options) { return emptyOpts; } if (typeof options !== "object") { return looseOption; } return options; }; module2.exports = parseOptions; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/identifiers.js var require_identifiers = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/identifiers.js"(exports2, module2) { "use strict"; var numeric = /^[0-9]+$/; var compareIdentifiers = (a, b) => { const anum = numeric.test(a); const bnum = numeric.test(b); if (anum && bnum) { a = +a; b = +b; } return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; }; var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a); module2.exports = { compareIdentifiers, rcompareIdentifiers }; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/semver.js var require_semver = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/semver.js"(exports2, module2) { "use strict"; var debug = require_debug(); var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants2(); var { safeRe: re, t } = require_re(); var parseOptions = require_parse_options(); var { compareIdentifiers } = require_identifiers(); var SemVer = class _SemVer { constructor(version2, options) { options = parseOptions(options); if (version2 instanceof _SemVer) { if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) { return version2; } else { version2 = version2.version; } } else if (typeof version2 !== "string") { throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`); } if (version2.length > MAX_LENGTH) { throw new TypeError( `version is longer than ${MAX_LENGTH} characters` ); } debug("SemVer", version2, options); this.options = options; this.loose = !!options.loose; this.includePrerelease = !!options.includePrerelease; const m = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); if (!m) { throw new TypeError(`Invalid Version: ${version2}`); } this.raw = version2; this.major = +m[1]; this.minor = +m[2]; this.patch = +m[3]; if (this.major > MAX_SAFE_INTEGER || this.major < 0) { throw new TypeError("Invalid major version"); } if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { throw new TypeError("Invalid minor version"); } if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { throw new TypeError("Invalid patch version"); } if (!m[4]) { this.prerelease = []; } else { this.prerelease = m[4].split(".").map((id) => { if (/^[0-9]+$/.test(id)) { const num = +id; if (num >= 0 && num < MAX_SAFE_INTEGER) { return num; } } return id; }); } this.build = m[5] ? m[5].split(".") : []; this.format(); } format() { this.version = `${this.major}.${this.minor}.${this.patch}`; if (this.prerelease.length) { this.version += `-${this.prerelease.join(".")}`; } return this.version; } toString() { return this.version; } compare(other) { debug("SemVer.compare", this.version, this.options, other); if (!(other instanceof _SemVer)) { if (typeof other === "string" && other === this.version) { return 0; } other = new _SemVer(other, this.options); } if (other.version === this.version) { return 0; } return this.compareMain(other) || this.comparePre(other); } compareMain(other) { if (!(other instanceof _SemVer)) { other = new _SemVer(other, this.options); } return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); } comparePre(other) { if (!(other instanceof _SemVer)) { other = new _SemVer(other, this.options); } if (this.prerelease.length && !other.prerelease.length) { return -1; } else if (!this.prerelease.length && other.prerelease.length) { return 1; } else if (!this.prerelease.length && !other.prerelease.length) { return 0; } let i = 0; do { const a = this.prerelease[i]; const b = other.prerelease[i]; debug("prerelease compare", i, a, b); if (a === void 0 && b === void 0) { return 0; } else if (b === void 0) { return 1; } else if (a === void 0) { return -1; } else if (a === b) { continue; } else { return compareIdentifiers(a, b); } } while (++i); } compareBuild(other) { if (!(other instanceof _SemVer)) { other = new _SemVer(other, this.options); } let i = 0; do { const a = this.build[i]; const b = other.build[i]; debug("build compare", i, a, b); if (a === void 0 && b === void 0) { return 0; } else if (b === void 0) { return 1; } else if (a === void 0) { return -1; } else if (a === b) { continue; } else { return compareIdentifiers(a, b); } } while (++i); } // preminor will bump the version up to the next minor release, and immediately // down to pre-release. premajor and prepatch work the same way. inc(release, identifier, identifierBase) { if (release.startsWith("pre")) { if (!identifier && identifierBase === false) { throw new Error("invalid increment argument: identifier is empty"); } if (identifier) { const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]); if (!match || match[1] !== identifier) { throw new Error(`invalid identifier: ${identifier}`); } } } switch (release) { case "premajor": this.prerelease.length = 0; this.patch = 0; this.minor = 0; this.major++; this.inc("pre", identifier, identifierBase); break; case "preminor": this.prerelease.length = 0; this.patch = 0; this.minor++; this.inc("pre", identifier, identifierBase); break; case "prepatch": this.prerelease.length = 0; this.inc("patch", identifier, identifierBase); this.inc("pre", identifier, identifierBase); break; // If the input is a non-prerelease version, this acts the same as // prepatch. case "prerelease": if (this.prerelease.length === 0) { this.inc("patch", identifier, identifierBase); } this.inc("pre", identifier, identifierBase); break; case "release": if (this.prerelease.length === 0) { throw new Error(`version ${this.raw} is not a prerelease`); } this.prerelease.length = 0; break; case "major": if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { this.major++; } this.minor = 0; this.patch = 0; this.prerelease = []; break; case "minor": if (this.patch !== 0 || this.prerelease.length === 0) { this.minor++; } this.patch = 0; this.prerelease = []; break; case "patch": if (this.prerelease.length === 0) { this.patch++; } this.prerelease = []; break; // This probably shouldn't be used publicly. // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. case "pre": { const base = Number(identifierBase) ? 1 : 0; if (this.prerelease.length === 0) { this.prerelease = [base]; } else { let i = this.prerelease.length; while (--i >= 0) { if (typeof this.prerelease[i] === "number") { this.prerelease[i]++; i = -2; } } if (i === -1) { if (identifier === this.prerelease.join(".") && identifierBase === false) { throw new Error("invalid increment argument: identifier already exists"); } this.prerelease.push(base); } } if (identifier) { let prerelease = [identifier, base]; if (identifierBase === false) { prerelease = [identifier]; } if (compareIdentifiers(this.prerelease[0], identifier) === 0) { if (isNaN(this.prerelease[1])) { this.prerelease = prerelease; } } else { this.prerelease = prerelease; } } break; } default: throw new Error(`invalid increment argument: ${release}`); } this.raw = this.format(); if (this.build.length) { this.raw += `+${this.build.join(".")}`; } return this; } }; module2.exports = SemVer; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/parse.js var require_parse3 = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/parse.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var parse2 = (version2, options, throwErrors = false) => { if (version2 instanceof SemVer) { return version2; } try { return new SemVer(version2, options); } catch (er) { if (!throwErrors) { return null; } throw er; } }; module2.exports = parse2; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/valid.js var require_valid = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/valid.js"(exports2, module2) { "use strict"; var parse2 = require_parse3(); var valid = (version2, options) => { const v = parse2(version2, options); return v ? v.version : null; }; module2.exports = valid; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/clean.js var require_clean = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/clean.js"(exports2, module2) { "use strict"; var parse2 = require_parse3(); var clean = (version2, options) => { const s = parse2(version2.trim().replace(/^[=v]+/, ""), options); return s ? s.version : null; }; module2.exports = clean; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/inc.js var require_inc = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/inc.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var inc = (version2, release, options, identifier, identifierBase) => { if (typeof options === "string") { identifierBase = identifier; identifier = options; options = void 0; } try { return new SemVer( version2 instanceof SemVer ? version2.version : version2, options ).inc(release, identifier, identifierBase).version; } catch (er) { return null; } }; module2.exports = inc; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/diff.js var require_diff = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/diff.js"(exports2, module2) { "use strict"; var parse2 = require_parse3(); var diff = (version1, version2) => { const v12 = parse2(version1, null, true); const v2 = parse2(version2, null, true); const comparison = v12.compare(v2); if (comparison === 0) { return null; } const v1Higher = comparison > 0; const highVersion = v1Higher ? v12 : v2; const lowVersion = v1Higher ? v2 : v12; const highHasPre = !!highVersion.prerelease.length; const lowHasPre = !!lowVersion.prerelease.length; if (lowHasPre && !highHasPre) { if (!lowVersion.patch && !lowVersion.minor) { return "major"; } if (lowVersion.compareMain(highVersion) === 0) { if (lowVersion.minor && !lowVersion.patch) { return "minor"; } return "patch"; } } const prefix = highHasPre ? "pre" : ""; if (v12.major !== v2.major) { return prefix + "major"; } if (v12.minor !== v2.minor) { return prefix + "minor"; } if (v12.patch !== v2.patch) { return prefix + "patch"; } return "prerelease"; }; module2.exports = diff; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/major.js var require_major = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/major.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var major = (a, loose) => new SemVer(a, loose).major; module2.exports = major; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/minor.js var require_minor = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/minor.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var minor = (a, loose) => new SemVer(a, loose).minor; module2.exports = minor; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/patch.js var require_patch = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/patch.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var patch = (a, loose) => new SemVer(a, loose).patch; module2.exports = patch; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/prerelease.js var require_prerelease = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/prerelease.js"(exports2, module2) { "use strict"; var parse2 = require_parse3(); var prerelease = (version2, options) => { const parsed = parse2(version2, options); return parsed && parsed.prerelease.length ? parsed.prerelease : null; }; module2.exports = prerelease; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare.js var require_compare = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); module2.exports = compare; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rcompare.js var require_rcompare = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rcompare.js"(exports2, module2) { "use strict"; var compare = require_compare(); var rcompare = (a, b, loose) => compare(b, a, loose); module2.exports = rcompare; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-loose.js var require_compare_loose = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-loose.js"(exports2, module2) { "use strict"; var compare = require_compare(); var compareLoose = (a, b) => compare(a, b, true); module2.exports = compareLoose; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-build.js var require_compare_build = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/compare-build.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var compareBuild = (a, b, loose) => { const versionA = new SemVer(a, loose); const versionB = new SemVer(b, loose); return versionA.compare(versionB) || versionA.compareBuild(versionB); }; module2.exports = compareBuild; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/sort.js var require_sort = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/sort.js"(exports2, module2) { "use strict"; var compareBuild = require_compare_build(); var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)); module2.exports = sort; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rsort.js var require_rsort = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/rsort.js"(exports2, module2) { "use strict"; var compareBuild = require_compare_build(); var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)); module2.exports = rsort; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gt.js var require_gt = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gt.js"(exports2, module2) { "use strict"; var compare = require_compare(); var gt = (a, b, loose) => compare(a, b, loose) > 0; module2.exports = gt; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lt.js var require_lt = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lt.js"(exports2, module2) { "use strict"; var compare = require_compare(); var lt = (a, b, loose) => compare(a, b, loose) < 0; module2.exports = lt; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/eq.js var require_eq = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/eq.js"(exports2, module2) { "use strict"; var compare = require_compare(); var eq = (a, b, loose) => compare(a, b, loose) === 0; module2.exports = eq; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/neq.js var require_neq = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/neq.js"(exports2, module2) { "use strict"; var compare = require_compare(); var neq = (a, b, loose) => compare(a, b, loose) !== 0; module2.exports = neq; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gte.js var require_gte = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/gte.js"(exports2, module2) { "use strict"; var compare = require_compare(); var gte = (a, b, loose) => compare(a, b, loose) >= 0; module2.exports = gte; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lte.js var require_lte = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/lte.js"(exports2, module2) { "use strict"; var compare = require_compare(); var lte = (a, b, loose) => compare(a, b, loose) <= 0; module2.exports = lte; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/cmp.js var require_cmp = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/cmp.js"(exports2, module2) { "use strict"; var eq = require_eq(); var neq = require_neq(); var gt = require_gt(); var gte = require_gte(); var lt = require_lt(); var lte = require_lte(); var cmp = (a, op, b, loose) => { switch (op) { case "===": if (typeof a === "object") { a = a.version; } if (typeof b === "object") { b = b.version; } return a === b; case "!==": if (typeof a === "object") { a = a.version; } if (typeof b === "object") { b = b.version; } return a !== b; case "": case "=": case "==": return eq(a, b, loose); case "!=": return neq(a, b, loose); case ">": return gt(a, b, loose); case ">=": return gte(a, b, loose); case "<": return lt(a, b, loose); case "<=": return lte(a, b, loose); default: throw new TypeError(`Invalid operator: ${op}`); } }; module2.exports = cmp; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/coerce.js var require_coerce = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/coerce.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var parse2 = require_parse3(); var { safeRe: re, t } = require_re(); var coerce = (version2, options) => { if (version2 instanceof SemVer) { return version2; } if (typeof version2 === "number") { version2 = String(version2); } if (typeof version2 !== "string") { return null; } options = options || {}; let match = null; if (!options.rtl) { match = version2.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]); } else { const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]; let next; while ((next = coerceRtlRegex.exec(version2)) && (!match || match.index + match[0].length !== version2.length)) { if (!match || next.index + next[0].length !== match.index + match[0].length) { match = next; } coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length; } coerceRtlRegex.lastIndex = -1; } if (match === null) { return null; } const major = match[2]; const minor = match[3] || "0"; const patch = match[4] || "0"; const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ""; const build = options.includePrerelease && match[6] ? `+${match[6]}` : ""; return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options); }; module2.exports = coerce; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/lrucache.js var require_lrucache = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/lrucache.js"(exports2, module2) { "use strict"; var LRUCache = class { constructor() { this.max = 1e3; this.map = /* @__PURE__ */ new Map(); } get(key) { const value = this.map.get(key); if (value === void 0) { return void 0; } else { this.map.delete(key); this.map.set(key, value); return value; } } delete(key) { return this.map.delete(key); } set(key, value) { const deleted = this.delete(key); if (!deleted && value !== void 0) { if (this.map.size >= this.max) { const firstKey = this.map.keys().next().value; this.delete(firstKey); } this.map.set(key, value); } return this; } }; module2.exports = LRUCache; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/range.js var require_range2 = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/range.js"(exports2, module2) { "use strict"; var SPACE_CHARACTERS = /\s+/g; var Range = class _Range { constructor(range, options) { options = parseOptions(options); if (range instanceof _Range) { if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { return range; } else { return new _Range(range.raw, options); } } if (range instanceof Comparator) { this.raw = range.value; this.set = [[range]]; this.formatted = void 0; return this; } this.options = options; this.loose = !!options.loose; this.includePrerelease = !!options.includePrerelease; this.raw = range.trim().replace(SPACE_CHARACTERS, " "); this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length); if (!this.set.length) { throw new TypeError(`Invalid SemVer Range: ${this.raw}`); } if (this.set.length > 1) { const first = this.set[0]; this.set = this.set.filter((c) => !isNullSet(c[0])); if (this.set.length === 0) { this.set = [first]; } else if (this.set.length > 1) { for (const c of this.set) { if (c.length === 1 && isAny(c[0])) { this.set = [c]; break; } } } } this.formatted = void 0; } get range() { if (this.formatted === void 0) { this.formatted = ""; for (let i = 0; i < this.set.length; i++) { if (i > 0) { this.formatted += "||"; } const comps = this.set[i]; for (let k = 0; k < comps.length; k++) { if (k > 0) { this.formatted += " "; } this.formatted += comps[k].toString().trim(); } } } return this.formatted; } format() { return this.range; } toString() { return this.range; } parseRange(range) { const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE); const memoKey = memoOpts + ":" + range; const cached = cache.get(memoKey); if (cached) { return cached; } const loose = this.options.loose; const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); debug("hyphen replace", range); range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); debug("comparator trim", range); range = range.replace(re[t.TILDETRIM], tildeTrimReplace); debug("tilde trim", range); range = range.replace(re[t.CARETTRIM], caretTrimReplace); debug("caret trim", range); let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); if (loose) { rangeList = rangeList.filter((comp) => { debug("loose invalid filter", comp, this.options); return !!comp.match(re[t.COMPARATORLOOSE]); }); } debug("range list", rangeList); const rangeMap = /* @__PURE__ */ new Map(); const comparators = rangeList.map((comp) => new Comparator(comp, this.options)); for (const comp of comparators) { if (isNullSet(comp)) { return [comp]; } rangeMap.set(comp.value, comp); } if (rangeMap.size > 1 && rangeMap.has("")) { rangeMap.delete(""); } const result2 = [...rangeMap.values()]; cache.set(memoKey, result2); return result2; } intersects(range, options) { if (!(range instanceof _Range)) { throw new TypeError("a Range is required"); } return this.set.some((thisComparators) => { return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => { return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => { return rangeComparators.every((rangeComparator) => { return thisComparator.intersects(rangeComparator, options); }); }); }); }); } // if ANY of the sets match ALL of its comparators, then pass test(version2) { if (!version2) { return false; } if (typeof version2 === "string") { try { version2 = new SemVer(version2, this.options); } catch (er) { return false; } } for (let i = 0; i < this.set.length; i++) { if (testSet(this.set[i], version2, this.options)) { return true; } } return false; } }; module2.exports = Range; var LRU = require_lrucache(); var cache = new LRU(); var parseOptions = require_parse_options(); var Comparator = require_comparator(); var debug = require_debug(); var SemVer = require_semver(); var { safeRe: re, t, comparatorTrimReplace, tildeTrimReplace, caretTrimReplace } = require_re(); var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants2(); var isNullSet = (c) => c.value === "<0.0.0-0"; var isAny = (c) => c.value === ""; var isSatisfiable = (comparators, options) => { let result2 = true; const remainingComparators = comparators.slice(); let testComparator = remainingComparators.pop(); while (result2 && remainingComparators.length) { result2 = remainingComparators.every((otherComparator) => { return testComparator.intersects(otherComparator, options); }); testComparator = remainingComparators.pop(); } return result2; }; var parseComparator = (comp, options) => { debug("comp", comp, options); comp = replaceCarets(comp, options); debug("caret", comp); comp = replaceTildes(comp, options); debug("tildes", comp); comp = replaceXRanges(comp, options); debug("xrange", comp); comp = replaceStars(comp, options); debug("stars", comp); return comp; }; var isX = (id) => !id || id.toLowerCase() === "x" || id === "*"; var replaceTildes = (comp, options) => { return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" "); }; var replaceTilde = (comp, options) => { const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; return comp.replace(r, (_, M, m, p, pr) => { debug("tilde", comp, _, M, m, p, pr); let ret2; if (isX(M)) { ret2 = ""; } else if (isX(m)) { ret2 = `>=${M}.0.0 <${+M + 1}.0.0-0`; } else if (isX(p)) { ret2 = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`; } else if (pr) { debug("replaceTilde pr", pr); ret2 = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; } else { ret2 = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`; } debug("tilde return", ret2); return ret2; }); }; var replaceCarets = (comp, options) => { return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" "); }; var replaceCaret = (comp, options) => { debug("caret", comp, options); const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; const z = options.includePrerelease ? "-0" : ""; return comp.replace(r, (_, M, m, p, pr) => { debug("caret", comp, _, M, m, p, pr); let ret2; if (isX(M)) { ret2 = ""; } else if (isX(m)) { ret2 = `>=${M}.0.0${z} <${+M + 1}.0.0-0`; } else if (isX(p)) { if (M === "0") { ret2 = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`; } else { ret2 = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`; } } else if (pr) { debug("replaceCaret pr", pr); if (M === "0") { if (m === "0") { ret2 = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`; } else { ret2 = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`; } } else { ret2 = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`; } } else { debug("no pr"); if (M === "0") { if (m === "0") { ret2 = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`; } else { ret2 = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`; } } else { ret2 = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`; } } debug("caret return", ret2); return ret2; }); }; var replaceXRanges = (comp, options) => { debug("replaceXRanges", comp, options); return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" "); }; var replaceXRange = (comp, options) => { comp = comp.trim(); const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; return comp.replace(r, (ret2, gtlt, M, m, p, pr) => { debug("xRange", comp, ret2, gtlt, M, m, p, pr); const xM = isX(M); const xm = xM || isX(m); const xp = xm || isX(p); const anyX = xp; if (gtlt === "=" && anyX) { gtlt = ""; } pr = options.includePrerelease ? "-0" : ""; if (xM) { if (gtlt === ">" || gtlt === "<") { ret2 = "<0.0.0-0"; } else { ret2 = "*"; } } else if (gtlt && anyX) { if (xm) { m = 0; } p = 0; if (gtlt === ">") { gtlt = ">="; if (xm) { M = +M + 1; m = 0; p = 0; } else { m = +m + 1; p = 0; } } else if (gtlt === "<=") { gtlt = "<"; if (xm) { M = +M + 1; } else { m = +m + 1; } } if (gtlt === "<") { pr = "-0"; } ret2 = `${gtlt + M}.${m}.${p}${pr}`; } else if (xm) { ret2 = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; } else if (xp) { ret2 = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`; } debug("xRange return", ret2); return ret2; }); }; var replaceStars = (comp, options) => { debug("replaceStars", comp, options); return comp.trim().replace(re[t.STAR], ""); }; var replaceGTE0 = (comp, options) => { debug("replaceGTE0", comp, options); return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ""); }; var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => { if (isX(fM)) { from = ""; } else if (isX(fm)) { from = `>=${fM}.0.0${incPr ? "-0" : ""}`; } else if (isX(fp)) { from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`; } else if (fpr) { from = `>=${from}`; } else { from = `>=${from}${incPr ? "-0" : ""}`; } if (isX(tM)) { to = ""; } else if (isX(tm)) { to = `<${+tM + 1}.0.0-0`; } else if (isX(tp)) { to = `<${tM}.${+tm + 1}.0-0`; } else if (tpr) { to = `<=${tM}.${tm}.${tp}-${tpr}`; } else if (incPr) { to = `<${tM}.${tm}.${+tp + 1}-0`; } else { to = `<=${to}`; } return `${from} ${to}`.trim(); }; var testSet = (set, version2, options) => { for (let i = 0; i < set.length; i++) { if (!set[i].test(version2)) { return false; } } if (version2.prerelease.length && !options.includePrerelease) { for (let i = 0; i < set.length; i++) { debug(set[i].semver); if (set[i].semver === Comparator.ANY) { continue; } if (set[i].semver.prerelease.length > 0) { const allowed = set[i].semver; if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) { return true; } } } return false; } return true; }; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/comparator.js var require_comparator = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/comparator.js"(exports2, module2) { "use strict"; var ANY = Symbol("SemVer ANY"); var Comparator = class _Comparator { static get ANY() { return ANY; } constructor(comp, options) { options = parseOptions(options); if (comp instanceof _Comparator) { if (comp.loose === !!options.loose) { return comp; } else { comp = comp.value; } } comp = comp.trim().split(/\s+/).join(" "); debug("comparator", comp, options); this.options = options; this.loose = !!options.loose; this.parse(comp); if (this.semver === ANY) { this.value = ""; } else { this.value = this.operator + this.semver.version; } debug("comp", this); } parse(comp) { const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; const m = comp.match(r); if (!m) { throw new TypeError(`Invalid comparator: ${comp}`); } this.operator = m[1] !== void 0 ? m[1] : ""; if (this.operator === "=") { this.operator = ""; } if (!m[2]) { this.semver = ANY; } else { this.semver = new SemVer(m[2], this.options.loose); } } toString() { return this.value; } test(version2) { debug("Comparator.test", version2, this.options.loose); if (this.semver === ANY || version2 === ANY) { return true; } if (typeof version2 === "string") { try { version2 = new SemVer(version2, this.options); } catch (er) { return false; } } return cmp(version2, this.operator, this.semver, this.options); } intersects(comp, options) { if (!(comp instanceof _Comparator)) { throw new TypeError("a Comparator is required"); } if (this.operator === "") { if (this.value === "") { return true; } return new Range(comp.value, options).test(this.value); } else if (comp.operator === "") { if (comp.value === "") { return true; } return new Range(this.value, options).test(comp.semver); } options = parseOptions(options); if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) { return false; } if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) { return false; } if (this.operator.startsWith(">") && comp.operator.startsWith(">")) { return true; } if (this.operator.startsWith("<") && comp.operator.startsWith("<")) { return true; } if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) { return true; } if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) { return true; } if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) { return true; } return false; } }; module2.exports = Comparator; var parseOptions = require_parse_options(); var { safeRe: re, t } = require_re(); var cmp = require_cmp(); var debug = require_debug(); var SemVer = require_semver(); var Range = require_range2(); } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/satisfies.js var require_satisfies = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/satisfies.js"(exports2, module2) { "use strict"; var Range = require_range2(); var satisfies = (version2, range, options) => { try { range = new Range(range, options); } catch (er) { return false; } return range.test(version2); }; module2.exports = satisfies; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/to-comparators.js var require_to_comparators = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/to-comparators.js"(exports2, module2) { "use strict"; var Range = require_range2(); var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")); module2.exports = toComparators; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/max-satisfying.js var require_max_satisfying = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/max-satisfying.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var Range = require_range2(); var maxSatisfying = (versions, range, options) => { let max = null; let maxSV = null; let rangeObj = null; try { rangeObj = new Range(range, options); } catch (er) { return null; } versions.forEach((v) => { if (rangeObj.test(v)) { if (!max || maxSV.compare(v) === -1) { max = v; maxSV = new SemVer(max, options); } } }); return max; }; module2.exports = maxSatisfying; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-satisfying.js var require_min_satisfying = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-satisfying.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var Range = require_range2(); var minSatisfying = (versions, range, options) => { let min = null; let minSV = null; let rangeObj = null; try { rangeObj = new Range(range, options); } catch (er) { return null; } versions.forEach((v) => { if (rangeObj.test(v)) { if (!min || minSV.compare(v) === 1) { min = v; minSV = new SemVer(min, options); } } }); return min; }; module2.exports = minSatisfying; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-version.js var require_min_version = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-version.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var Range = require_range2(); var gt = require_gt(); var minVersion = (range, loose) => { range = new Range(range, loose); let minver = new SemVer("0.0.0"); if (range.test(minver)) { return minver; } minver = new SemVer("0.0.0-0"); if (range.test(minver)) { return minver; } minver = null; for (let i = 0; i < range.set.length; ++i) { const comparators = range.set[i]; let setMin = null; comparators.forEach((comparator) => { const compver = new SemVer(comparator.semver.version); switch (comparator.operator) { case ">": if (compver.prerelease.length === 0) { compver.patch++; } else { compver.prerelease.push(0); } compver.raw = compver.format(); /* fallthrough */ case "": case ">=": if (!setMin || gt(compver, setMin)) { setMin = compver; } break; case "<": case "<=": break; /* istanbul ignore next */ default: throw new Error(`Unexpected operation: ${comparator.operator}`); } }); if (setMin && (!minver || gt(minver, setMin))) { minver = setMin; } } if (minver && range.test(minver)) { return minver; } return null; }; module2.exports = minVersion; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/valid.js var require_valid2 = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/valid.js"(exports2, module2) { "use strict"; var Range = require_range2(); var validRange = (range, options) => { try { return new Range(range, options).range || "*"; } catch (er) { return null; } }; module2.exports = validRange; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/outside.js var require_outside = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/outside.js"(exports2, module2) { "use strict"; var SemVer = require_semver(); var Comparator = require_comparator(); var { ANY } = Comparator; var Range = require_range2(); var satisfies = require_satisfies(); var gt = require_gt(); var lt = require_lt(); var lte = require_lte(); var gte = require_gte(); var outside = (version2, range, hilo, options) => { version2 = new SemVer(version2, options); range = new Range(range, options); let gtfn, ltefn, ltfn, comp, ecomp; switch (hilo) { case ">": gtfn = gt; ltefn = lte; ltfn = lt; comp = ">"; ecomp = ">="; break; case "<": gtfn = lt; ltefn = gte; ltfn = gt; comp = "<"; ecomp = "<="; break; default: throw new TypeError('Must provide a hilo val of "<" or ">"'); } if (satisfies(version2, range, options)) { return false; } for (let i = 0; i < range.set.length; ++i) { const comparators = range.set[i]; let high = null; let low = null; comparators.forEach((comparator) => { if (comparator.semver === ANY) { comparator = new Comparator(">=0.0.0"); } high = high || comparator; low = low || comparator; if (gtfn(comparator.semver, high.semver, options)) { high = comparator; } else if (ltfn(comparator.semver, low.semver, options)) { low = comparator; } }); if (high.operator === comp || high.operator === ecomp) { return false; } if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) { return false; } else if (low.operator === ecomp && ltfn(version2, low.semver)) { return false; } } return true; }; module2.exports = outside; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/gtr.js var require_gtr = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/gtr.js"(exports2, module2) { "use strict"; var outside = require_outside(); var gtr = (version2, range, options) => outside(version2, range, ">", options); module2.exports = gtr; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/ltr.js var require_ltr = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/ltr.js"(exports2, module2) { "use strict"; var outside = require_outside(); var ltr = (version2, range, options) => outside(version2, range, "<", options); module2.exports = ltr; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/intersects.js var require_intersects = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/intersects.js"(exports2, module2) { "use strict"; var Range = require_range2(); var intersects = (r1, r2, options) => { r1 = new Range(r1, options); r2 = new Range(r2, options); return r1.intersects(r2, options); }; module2.exports = intersects; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/simplify.js var require_simplify = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/simplify.js"(exports2, module2) { "use strict"; var satisfies = require_satisfies(); var compare = require_compare(); module2.exports = (versions, range, options) => { const set = []; let first = null; let prev = null; const v = versions.sort((a, b) => compare(a, b, options)); for (const version2 of v) { const included = satisfies(version2, range, options); if (included) { prev = version2; if (!first) { first = version2; } } else { if (prev) { set.push([first, prev]); } prev = null; first = null; } } if (first) { set.push([first, null]); } const ranges = []; for (const [min, max] of set) { if (min === max) { ranges.push(min); } else if (!max && min === v[0]) { ranges.push("*"); } else if (!max) { ranges.push(`>=${min}`); } else if (min === v[0]) { ranges.push(`<=${max}`); } else { ranges.push(`${min} - ${max}`); } } const simplified = ranges.join(" || "); const original = typeof range.raw === "string" ? range.raw : String(range); return simplified.length < original.length ? simplified : range; }; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/subset.js var require_subset = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/subset.js"(exports2, module2) { "use strict"; var Range = require_range2(); var Comparator = require_comparator(); var { ANY } = Comparator; var satisfies = require_satisfies(); var compare = require_compare(); var subset = (sub, dom, options = {}) => { if (sub === dom) { return true; } sub = new Range(sub, options); dom = new Range(dom, options); let sawNonNull = false; OUTER: for (const simpleSub of sub.set) { for (const simpleDom of dom.set) { const isSub = simpleSubset(simpleSub, simpleDom, options); sawNonNull = sawNonNull || isSub !== null; if (isSub) { continue OUTER; } } if (sawNonNull) { return false; } } return true; }; var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")]; var minimumVersion = [new Comparator(">=0.0.0")]; var simpleSubset = (sub, dom, options) => { if (sub === dom) { return true; } if (sub.length === 1 && sub[0].semver === ANY) { if (dom.length === 1 && dom[0].semver === ANY) { return true; } else if (options.includePrerelease) { sub = minimumVersionWithPreRelease; } else { sub = minimumVersion; } } if (dom.length === 1 && dom[0].semver === ANY) { if (options.includePrerelease) { return true; } else { dom = minimumVersion; } } const eqSet = /* @__PURE__ */ new Set(); let gt, lt; for (const c of sub) { if (c.operator === ">" || c.operator === ">=") { gt = higherGT(gt, c, options); } else if (c.operator === "<" || c.operator === "<=") { lt = lowerLT(lt, c, options); } else { eqSet.add(c.semver); } } if (eqSet.size > 1) { return null; } let gtltComp; if (gt && lt) { gtltComp = compare(gt.semver, lt.semver, options); if (gtltComp > 0) { return null; } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) { return null; } } for (const eq of eqSet) { if (gt && !satisfies(eq, String(gt), options)) { return null; } if (lt && !satisfies(eq, String(lt), options)) { return null; } for (const c of dom) { if (!satisfies(eq, String(c), options)) { return false; } } return true; } let higher, lower; let hasDomLT, hasDomGT; let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false; let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false; if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) { needDomLTPre = false; } for (const c of dom) { hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">="; hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<="; if (gt) { if (needDomGTPre) { if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) { needDomGTPre = false; } } if (c.operator === ">" || c.operator === ">=") { higher = higherGT(gt, c, options); if (higher === c && higher !== gt) { return false; } } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) { return false; } } if (lt) { if (needDomLTPre) { if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) { needDomLTPre = false; } } if (c.operator === "<" || c.operator === "<=") { lower = lowerLT(lt, c, options); if (lower === c && lower !== lt) { return false; } } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) { return false; } } if (!c.operator && (lt || gt) && gtltComp !== 0) { return false; } } if (gt && hasDomLT && !lt && gtltComp !== 0) { return false; } if (lt && hasDomGT && !gt && gtltComp !== 0) { return false; } if (needDomGTPre || needDomLTPre) { return false; } return true; }; var higherGT = (a, b, options) => { if (!a) { return b; } const comp = compare(a.semver, b.semver, options); return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a; }; var lowerLT = (a, b, options) => { if (!a) { return b; } const comp = compare(a.semver, b.semver, options); return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a; }; module2.exports = subset; } }); // ../node_modules/.pnpm/semver@7.7.2/node_modules/semver/index.js var require_semver2 = __commonJS({ "../node_modules/.pnpm/semver@7.7.2/node_modules/semver/index.js"(exports2, module2) { "use strict"; var internalRe = require_re(); var constants = require_constants2(); var SemVer = require_semver(); var identifiers = require_identifiers(); var parse2 = require_parse3(); var valid = require_valid(); var clean = require_clean(); var inc = require_inc(); var diff = require_diff(); var major = require_major(); var minor = require_minor(); var patch = require_patch(); var prerelease = require_prerelease(); var compare = require_compare(); var rcompare = require_rcompare(); var compareLoose = require_compare_loose(); var compareBuild = require_compare_build(); var sort = require_sort(); var rsort = require_rsort(); var gt = require_gt(); var lt = require_lt(); var eq = require_eq(); var neq = require_neq(); var gte = require_gte(); var lte = require_lte(); var cmp = require_cmp(); var coerce = require_coerce(); var Comparator = require_comparator(); var Range = require_range2(); var satisfies = require_satisfies(); var toComparators = require_to_comparators(); var maxSatisfying = require_max_satisfying(); var minSatisfying = require_min_satisfying(); var minVersion = require_min_version(); var validRange = require_valid2(); var outside = require_outside(); var gtr = require_gtr(); var ltr = require_ltr(); var intersects = require_intersects(); var simplifyRange = require_simplify(); var subset = require_subset(); module2.exports = { parse: parse2, valid, clean, inc, diff, major, minor, patch, prerelease, compare, rcompare, compareLoose, compareBuild, sort, rsort, gt, lt, eq, neq, gte, lte, cmp, coerce, Comparator, Range, satisfies, toComparators, maxSatisfying, minSatisfying, minVersion, validRange, outside, gtr, ltr, intersects, simplifyRange, subset, SemVer, re: internalRe.re, src: internalRe.src, tokens: internalRe.t, SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, RELEASE_TYPES: constants.RELEASE_TYPES, compareIdentifiers: identifiers.compareIdentifiers, rcompareIdentifiers: identifiers.rcompareIdentifiers }; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_objectAssign.js var require_objectAssign = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_objectAssign.js"(exports2, module2) { var _has = require_has(); function _objectAssign(target) { if (target == null) { throw new TypeError("Cannot convert undefined or null to object"); } var output = Object(target); var idx = 1; var length = arguments.length; while (idx < length) { var source = arguments[idx]; if (source != null) { for (var nextKey in source) { if (_has(nextKey, source)) { output[nextKey] = source[nextKey]; } } } idx += 1; } return output; } module2.exports = typeof Object.assign === "function" ? Object.assign : _objectAssign; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeRight.js var require_mergeRight = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeRight.js"(exports2, module2) { var _objectAssign = require_objectAssign(); var _curry2 = require_curry2(); var mergeRight = /* @__PURE__ */ _curry2(function mergeRight2(l, r) { return _objectAssign({}, l, r); }); module2.exports = mergeRight; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_indexOf.js var require_indexOf = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_indexOf.js"(exports2, module2) { var equals = require_equals2(); function _indexOf(list, a, idx) { var inf, item; if (typeof list.indexOf === "function") { switch (typeof a) { case "number": if (a === 0) { inf = 1 / a; while (idx < list.length) { item = list[idx]; if (item === 0 && 1 / item === inf) { return idx; } idx += 1; } return -1; } else if (a !== a) { while (idx < list.length) { item = list[idx]; if (typeof item === "number" && item !== item) { return idx; } idx += 1; } return -1; } return list.indexOf(a, idx); // all these types can utilise Set case "string": case "boolean": case "function": case "undefined": return list.indexOf(a, idx); case "object": if (a === null) { return list.indexOf(a, idx); } } } while (idx < list.length) { if (equals(list[idx], a)) { return idx; } idx += 1; } return -1; } module2.exports = _indexOf; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_includes.js var require_includes = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_includes.js"(exports2, module2) { var _indexOf = require_indexOf(); function _includes(a, list) { return _indexOf(list, a, 0) >= 0; } module2.exports = _includes; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_Set.js var require_Set = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_Set.js"(exports2, module2) { var _includes = require_includes(); var _Set = /* @__PURE__ */ (function() { function _Set2() { this._nativeSet = typeof Set === "function" ? /* @__PURE__ */ new Set() : null; this._items = {}; } _Set2.prototype.add = function(item) { return !hasOrAdd(item, true, this); }; _Set2.prototype.has = function(item) { return hasOrAdd(item, false, this); }; return _Set2; })(); function hasOrAdd(item, shouldAdd, set) { var type = typeof item; var prevSize, newSize; switch (type) { case "string": case "number": if (item === 0 && 1 / item === -Infinity) { if (set._items["-0"]) { return true; } else { if (shouldAdd) { set._items["-0"] = true; } return false; } } if (set._nativeSet !== null) { if (shouldAdd) { prevSize = set._nativeSet.size; set._nativeSet.add(item); newSize = set._nativeSet.size; return newSize === prevSize; } else { return set._nativeSet.has(item); } } else { if (!(type in set._items)) { if (shouldAdd) { set._items[type] = {}; set._items[type][item] = true; } return false; } else if (item in set._items[type]) { return true; } else { if (shouldAdd) { set._items[type][item] = true; } return false; } } case "boolean": if (type in set._items) { var bIdx = item ? 1 : 0; if (set._items[type][bIdx]) { return true; } else { if (shouldAdd) { set._items[type][bIdx] = true; } return false; } } else { if (shouldAdd) { set._items[type] = item ? [false, true] : [true, false]; } return false; } case "function": if (set._nativeSet !== null) { if (shouldAdd) { prevSize = set._nativeSet.size; set._nativeSet.add(item); newSize = set._nativeSet.size; return newSize === prevSize; } else { return set._nativeSet.has(item); } } else { if (!(type in set._items)) { if (shouldAdd) { set._items[type] = [item]; } return false; } if (!_includes(item, set._items[type])) { if (shouldAdd) { set._items[type].push(item); } return false; } return true; } case "undefined": if (set._items[type]) { return true; } else { if (shouldAdd) { set._items[type] = true; } return false; } case "object": if (item === null) { if (!set._items["null"]) { if (shouldAdd) { set._items["null"] = true; } return false; } return true; } /* falls through */ default: type = Object.prototype.toString.call(item); if (!(type in set._items)) { if (shouldAdd) { set._items[type] = [item]; } return false; } if (!_includes(item, set._items[type])) { if (shouldAdd) { set._items[type].push(item); } return false; } return true; } } module2.exports = _Set; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/difference.js var require_difference = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/difference.js"(exports2, module2) { var _curry2 = require_curry2(); var _Set = require_Set(); var difference = /* @__PURE__ */ _curry2(function difference2(first, second) { var out = []; var idx = 0; var firstLen = first.length; var secondLen = second.length; var toFilterOut = new _Set(); for (var i = 0; i < secondLen; i += 1) { toFilterOut.add(second[i]); } while (idx < firstLen) { if (toFilterOut.add(first[idx])) { out[out.length] = first[idx]; } idx += 1; } return out; }); module2.exports = difference; } }); // ../cli/default-reporter/lib/reporterForClient/pkgsDiff.js var require_pkgsDiff = __commonJS({ "../cli/default-reporter/lib/reporterForClient/pkgsDiff.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.propertyByDependencyType = void 0; exports2.getPkgsDiff = getPkgsDiff; var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var mergeRight_1 = __importDefault2(require_mergeRight()); var difference_1 = __importDefault2(require_difference()); exports2.propertyByDependencyType = { dev: "devDependencies", nodeModulesOnly: "node_modules", optional: "optionalDependencies", peer: "peerDependencies", prod: "dependencies" }; function getPkgsDiff(log$, opts) { const deprecationSet$ = log$.deprecation.pipe((0, operators_1.filter)((log) => log.prefix === opts.prefix), (0, operators_1.scan)((acc, log) => { acc.add(log.pkgId); return acc; }, /* @__PURE__ */ new Set()), (0, operators_1.startWith)(/* @__PURE__ */ new Set())); const filterPrefix = (0, operators_1.filter)((log) => log.prefix === opts.prefix); const pkgsDiff$ = Rx.combineLatest(log$.root.pipe(filterPrefix), deprecationSet$).pipe((0, operators_1.scan)((pkgsDiff, args) => { const rootLog = args[0]; const deprecationSet = args[1]; let action; let log; if ("added" in rootLog) { action = "+"; log = rootLog["added"]; } else if ("removed" in rootLog) { action = "-"; log = rootLog["removed"]; } else { return pkgsDiff; } const depType = log.dependencyType || "nodeModulesOnly"; const oppositeKey = `${action === "-" ? "+" : "-"}${log.name}`; const previous = pkgsDiff[depType][oppositeKey]; if (previous && previous.version === log.version) { delete pkgsDiff[depType][oppositeKey]; return pkgsDiff; } pkgsDiff[depType][`${action}${log.name}`] = { added: action === "+", deprecated: deprecationSet.has(log.id), from: log.linkedFrom, latest: log.latest, name: log.name, realName: log.realName, version: log.version ?? log.id }; return pkgsDiff; }, { dev: {}, nodeModulesOnly: {}, optional: {}, peer: {}, prod: {} }), (0, operators_1.startWith)({ dev: {}, nodeModulesOnly: {}, optional: {}, peer: {}, prod: {} })); const packageManifest$ = Rx.merge(log$.packageManifest.pipe(filterPrefix), log$.summary.pipe(filterPrefix, (0, operators_1.mapTo)({}))).pipe( (0, operators_1.take)(2), (0, operators_1.reduce)(mergeRight_1.default, {}) // eslint-disable-line @typescript-eslint/no-explicit-any ); return Rx.combineLatest(pkgsDiff$, packageManifest$).pipe((0, operators_1.map)(([pkgsDiff, packageManifests]) => { if (packageManifests["initial"] == null || packageManifests["updated"] == null) return pkgsDiff; const initialPackageManifest = removeOptionalFromProdDeps(packageManifests["initial"]); const updatedPackageManifest = removeOptionalFromProdDeps(packageManifests["updated"]); for (const depType of ["peer", "prod", "optional", "dev"]) { const prop = exports2.propertyByDependencyType[depType]; const initialDeps = Object.keys(initialPackageManifest[prop] ?? {}); const updatedDeps = Object.keys(updatedPackageManifest[prop] ?? {}); const removedDeps = (0, difference_1.default)(initialDeps, updatedDeps); for (const removedDep of removedDeps) { if (!pkgsDiff[depType][`-${removedDep}`]) { pkgsDiff[depType][`-${removedDep}`] = { added: false, name: removedDep, version: initialPackageManifest[prop]?.[removedDep] }; } } const addedDeps = (0, difference_1.default)(updatedDeps, initialDeps); for (const addedDep of addedDeps) { if (!pkgsDiff[depType][`+${addedDep}`]) { pkgsDiff[depType][`+${addedDep}`] = { added: true, name: addedDep, version: updatedPackageManifest[prop]?.[addedDep] }; } } } return pkgsDiff; })); } function removeOptionalFromProdDeps(pkg) { if (pkg.dependencies == null || pkg.optionalDependencies == null) return pkg; for (const depName of Object.keys(pkg.dependencies)) { if (pkg.optionalDependencies[depName]) { delete pkg.dependencies[depName]; } } return pkg; } } }); // ../cli/default-reporter/lib/reporterForClient/reportSummary.js var require_reportSummary = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportSummary.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportSummary = reportSummary; var path_1 = __importDefault2(require("path")); var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var chalk_1 = __importDefault2(require_source()); var semver_12 = __importDefault2(require_semver2()); var constants_js_1 = require_constants(); var pkgsDiff_js_1 = require_pkgsDiff(); var outputConstants_js_1 = require_outputConstants(); var CONFIG_BY_DEP_TYPE = { prod: "production", dev: "dev", optional: "optional" }; function reportSummary(log$, opts) { const pkgsDiff$ = (0, pkgsDiff_js_1.getPkgsDiff)(log$, { prefix: opts.cwd }); const summaryLog$ = log$.summary.pipe((0, operators_1.take)(1)); const _printDiffs = printDiffs.bind(null, { cmd: opts.cmd, prefix: opts.cwd, pnpmConfig: opts.pnpmConfig }); return Rx.combineLatest(pkgsDiff$, summaryLog$).pipe((0, operators_1.take)(1), (0, operators_1.map)(([pkgsDiff]) => { let msg = ""; for (const depType of ["prod", "optional", "peer", "dev", "nodeModulesOnly"]) { let diffs = Object.values(pkgsDiff[depType]); if (opts.filterPkgsDiff) { diffs = diffs.filter((pkgDiff) => opts.filterPkgsDiff(pkgDiff)); } if (diffs.length > 0) { msg += constants_js_1.EOL; if (opts.pnpmConfig?.global) { msg += chalk_1.default.cyanBright(`${opts.cwd}:`); } else { msg += chalk_1.default.cyanBright(`${pkgsDiff_js_1.propertyByDependencyType[depType]}:`); } msg += constants_js_1.EOL; msg += _printDiffs(diffs, depType); msg += constants_js_1.EOL; } else if (CONFIG_BY_DEP_TYPE[depType] && opts.pnpmConfig?.[CONFIG_BY_DEP_TYPE[depType]] === false) { msg += constants_js_1.EOL; msg += `${chalk_1.default.cyanBright(`${pkgsDiff_js_1.propertyByDependencyType[depType]}:`)} skipped`; msg += constants_js_1.EOL; } } return Rx.of({ msg }); })); } function printDiffs(opts, pkgsDiff, depType) { pkgsDiff.sort((a, b) => a.name.localeCompare(b.name) * 10 + (Number(!b.added) - Number(!a.added))); const msg = pkgsDiff.map((pkg) => { let result2 = pkg.added ? outputConstants_js_1.ADDED_CHAR : outputConstants_js_1.REMOVED_CHAR; if (!pkg.realName || pkg.name === pkg.realName) { result2 += ` ${pkg.name}`; } else { result2 += ` ${pkg.name} <- ${pkg.realName}`; } if (pkg.version) { result2 += ` ${chalk_1.default.grey(pkg.version)}`; if (pkg.latest && semver_12.default.lt(pkg.version, pkg.latest)) { result2 += ` ${chalk_1.default.grey(`(${pkg.latest} is available)`)}`; } } if (pkg.deprecated) { result2 += ` ${chalk_1.default.red("deprecated")}`; } if (pkg.from) { result2 += ` ${chalk_1.default.grey(`<- ${pkg.from && path_1.default.relative(opts.prefix, pkg.from) || "???"}`)}`; } if (pkg.added && depType === "dev" && opts.pnpmConfig?.saveDev === false && opts.cmd === "add") { result2 += `${chalk_1.default.yellow(" already in devDependencies, was not moved to dependencies.")}`; } return result2; }).join(constants_js_1.EOL); return msg; } } }); // ../cli/default-reporter/lib/reporterForClient/reportUpdateCheck.js var require_reportUpdateCheck = __commonJS({ "../cli/default-reporter/lib/reporterForClient/reportUpdateCheck.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportUpdateCheck = reportUpdateCheck; var cli_meta_1 = require_lib4(); var boxen_1 = __importDefault2(require_boxen()); var chalk_1 = __importDefault2(require_source()); var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var semver_12 = __importDefault2(require_semver2()); function reportUpdateCheck(log$, opts) { return log$.pipe((0, operators_1.take)(1), (0, operators_1.filter)((log) => semver_12.default.gt(log.latestVersion, log.currentVersion)), (0, operators_1.map)((log) => { const updateMessage = renderUpdateMessage({ currentPkgIsExecutable: (0, cli_meta_1.detectIfCurrentPkgIsExecutable)(opts.process), latestVersion: log.latestVersion, env: opts.env }); return Rx.of({ msg: (0, boxen_1.default)(`Update available! ${chalk_1.default.red(log.currentVersion)} \u2192 ${chalk_1.default.green(log.latestVersion)}. ${chalk_1.default.magenta("Changelog:")} https://pnpm.io/v/${log.latestVersion} ${updateMessage}`, { padding: 1, margin: 1, align: "center", borderColor: "yellow", borderStyle: "round" }) }); })); } function renderUpdateMessage(opts) { const updateCommand = renderUpdateCommand(opts); return `To update, run: ${chalk_1.default.magenta(updateCommand)}`; } function renderUpdateCommand(opts) { if ((0, cli_meta_1.isExecutedByCorepack)(opts.env)) { return `corepack use pnpm@${opts.latestVersion}`; } if (opts.env.PNPM_HOME) { return "pnpm self-update"; } const pkgName = opts.currentPkgIsExecutable ? "@pnpm/exe" : "pnpm"; return `pnpm add -g ${pkgName}`; } } }); // ../cli/default-reporter/lib/reporterForClient/index.js var require_reporterForClient = __commonJS({ "../cli/default-reporter/lib/reporterForClient/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reporterForClient = reporterForClient; var operators_1 = require_operators(); var reportBigTarballsProgress_js_1 = require_reportBigTarballsProgress(); var reportContext_js_1 = require_reportContext(); var reportExecutionTime_js_1 = require_reportExecutionTime(); var reportDeprecations_js_1 = require_reportDeprecations(); var reportHooks_js_1 = require_reportHooks(); var reportIgnoredBuilds_js_1 = require_reportIgnoredBuilds(); var reportInstallChecks_js_1 = require_reportInstallChecks(); var reportInstallingConfigDeps_js_1 = require_reportInstallingConfigDeps(); var reportLifecycleScripts_js_1 = require_reportLifecycleScripts(); var reportMisc_js_1 = require_reportMisc(); var reportPeerDependencyIssues_js_1 = require_reportPeerDependencyIssues(); var reportProgress_js_1 = require_reportProgress(); var reportRequestRetry_js_1 = require_reportRequestRetry(); var reportScope_js_1 = require_reportScope(); var reportSkippedOptionalDependencies_js_1 = require_reportSkippedOptionalDependencies(); var reportStats_js_1 = require_reportStats(); var reportSummary_js_1 = require_reportSummary(); var reportUpdateCheck_js_1 = require_reportUpdateCheck(); var PRINT_EXECUTION_TIME_IN_COMMANDS = { install: true, update: true, add: true, remove: true }; function reporterForClient(log$, opts) { const width = opts.width ?? process.stdout.columns ?? 80; const cwd = opts.pnpmConfig?.dir ?? process.cwd(); const throttle = typeof opts.throttleProgress === "number" && opts.throttleProgress > 0 ? (0, operators_1.throttleTime)(opts.throttleProgress, void 0, { leading: true, trailing: true }) : void 0; const outputs = [ (0, reportMisc_js_1.reportMisc)(log$, { appendOnly: opts.appendOnly === true, config: opts.config, cwd, logLevel: opts.logLevel, zoomOutCurrent: opts.isRecursive }) ]; const logLevelNumber = reportMisc_js_1.LOG_LEVEL_NUMBER[opts.logLevel ?? "info"] ?? reportMisc_js_1.LOG_LEVEL_NUMBER["info"]; const showInfo = logLevelNumber >= reportMisc_js_1.LOG_LEVEL_NUMBER.info; if (logLevelNumber >= reportMisc_js_1.LOG_LEVEL_NUMBER.warn) { outputs.push((0, reportPeerDependencyIssues_js_1.reportPeerDependencyIssues)(log$), (0, reportDeprecations_js_1.reportDeprecations)({ deprecation: log$.deprecation, stage: log$.stage }, { cwd, isRecursive: opts.isRecursive }), (0, reportRequestRetry_js_1.reportRequestRetry)(log$.requestRetry)); } if (showInfo) { if (opts.cmd in PRINT_EXECUTION_TIME_IN_COMMANDS) { outputs.push((0, reportExecutionTime_js_1.reportExecutionTime)(log$.executionTime)); } if (opts.cmd !== "dlx") { outputs.push((0, reportContext_js_1.reportContext)(log$, { cwd })); } outputs.push((0, reportLifecycleScripts_js_1.reportLifecycleScripts)(log$, { appendOnly: (opts.appendOnly === true || opts.streamLifecycleOutput) && !opts.hideLifecycleOutput, aggregateOutput: opts.aggregateOutput, hideLifecyclePrefix: opts.hideLifecyclePrefix, cwd, width }), (0, reportInstallChecks_js_1.reportInstallChecks)(log$.installCheck, { cwd }), (0, reportInstallingConfigDeps_js_1.reportInstallingConfigDeps)(log$.installingConfigDeps), (0, reportScope_js_1.reportScope)(log$.scope, { isRecursive: opts.isRecursive, cmd: opts.cmd }), (0, reportSkippedOptionalDependencies_js_1.reportSkippedOptionalDependencies)(log$.skippedOptionalDependency, { cwd }), (0, reportHooks_js_1.reportHooks)(log$.hook, { cwd, isRecursive: opts.isRecursive }), (0, reportUpdateCheck_js_1.reportUpdateCheck)(log$.updateCheck, opts), (0, reportProgress_js_1.reportProgress)(log$, { cwd, throttle, hideAddedPkgsProgress: opts.hideAddedPkgsProgress, hideProgressPrefix: opts.hideProgressPrefix }), ...(0, reportStats_js_1.reportStats)(log$, { cmd: opts.cmd, cwd, isRecursive: opts.isRecursive, width, hideProgressPrefix: opts.hideProgressPrefix })); if (!opts.appendOnly) { outputs.push((0, reportBigTarballsProgress_js_1.reportBigTarballProgress)(log$)); } if (!opts.isRecursive) { outputs.push((0, reportSummary_js_1.reportSummary)(log$, { cmd: opts.cmd, cwd, env: opts.env, filterPkgsDiff: opts.filterPkgsDiff, pnpmConfig: opts.pnpmConfig })); } outputs.push((0, reportIgnoredBuilds_js_1.reportIgnoredBuilds)(log$, { pnpmConfig: opts.pnpmConfig, approveBuildsInstructionText: opts.approveBuildsInstructionText })); } return outputs; } } }); // ../cli/default-reporter/lib/reporterForServer.js var require_reporterForServer = __commonJS({ "../cli/default-reporter/lib/reporterForServer.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reporterForServer = reporterForServer; var chalk_1 = __importDefault2(require_source()); var reportError_js_1 = require_reportError(); function reporterForServer(log$, config) { return log$.subscribe({ complete: () => void 0, error: () => void 0, next(log) { if (log.name === "pnpm:fetching-progress") { console.log(`${chalk_1.default.cyan(`fetching_${log.status}`)} ${log.packageId}`); return; } switch (log.level) { case "warn": console.log(formatWarn(log["message"])); return; case "error": console.log((0, reportError_js_1.reportError)(log, config)); return; case "debug": return; default: console.log(log["message"]); } } }); } function formatWarn(message) { return `${chalk_1.default.bgYellow.black("\u2009WARN\u2009")} ${message}`; } } }); // ../cli/default-reporter/lib/index.js var require_lib26 = __commonJS({ "../cli/default-reporter/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.formatWarn = void 0; exports2.initDefaultReporter = initDefaultReporter; exports2.toOutput$ = toOutput$; var Rx = __importStar3(require_cjs2()); var operators_1 = require_operators(); var ansi_diff_1 = __importDefault2(require_ansi_diff()); var constants_js_1 = require_constants(); var mergeOutputs_js_1 = require_mergeOutputs(); var index_js_1 = require_reporterForClient(); var formatWarn_js_1 = require_formatWarn(); Object.defineProperty(exports2, "formatWarn", { enumerable: true, get: function() { return formatWarn_js_1.formatWarn; } }); var reporterForServer_js_1 = require_reporterForServer(); function initDefaultReporter(opts) { if (opts.context.argv[0] === "server") { const log$ = Rx.fromEvent(opts.streamParser, "data"); const subscription2 = (0, reporterForServer_js_1.reporterForServer)(log$, opts.context.config); return () => { subscription2.unsubscribe(); }; } const proc = opts.context.process ?? process; const outputMaxWidth = opts.reportingOptions?.outputMaxWidth ?? (proc.stdout.columns && proc.stdout.columns - 2) ?? 80; const output$ = toOutput$({ ...opts, reportingOptions: { ...opts.reportingOptions, outputMaxWidth } }); if (opts.reportingOptions?.appendOnly) { const writeNext = opts.useStderr ? console.error.bind(console) : console.log.bind(console); const subscription2 = output$.subscribe({ complete() { }, // eslint-disable-line:no-empty error: (err) => { console.error(err.message); }, next: writeNext }); return () => { subscription2.unsubscribe(); }; } const diff = (0, ansi_diff_1.default)({ height: proc.stdout.rows, outputMaxWidth }); const subscription = output$.subscribe({ complete() { }, // eslint-disable-line:no-empty error: (err) => { logUpdate(err.message); }, next: logUpdate }); const write = opts.useStderr ? proc.stderr.write.bind(proc.stderr) : proc.stdout.write.bind(proc.stdout); function logUpdate(view) { if (!view.endsWith(constants_js_1.EOL)) view += constants_js_1.EOL; write(diff.update(view)); } return () => { subscription.unsubscribe(); }; } function toOutput$(opts) { opts = opts || {}; const contextPushStream = new Rx.Subject(); const fetchingProgressPushStream = new Rx.Subject(); const executionTimePushStream = new Rx.Subject(); const progressPushStream = new Rx.Subject(); const stagePushStream = new Rx.Subject(); const deprecationPushStream = new Rx.Subject(); const summaryPushStream = new Rx.Subject(); const lifecyclePushStream = new Rx.Subject(); const statsPushStream = new Rx.Subject(); const packageImportMethodPushStream = new Rx.Subject(); const installCheckPushStream = new Rx.Subject(); const installingConfigDepsStream = new Rx.Subject(); const ignoredScriptsPushStream = new Rx.Subject(); const registryPushStream = new Rx.Subject(); const rootPushStream = new Rx.Subject(); const packageManifestPushStream = new Rx.Subject(); const peerDependencyIssuesPushStream = new Rx.Subject(); const linkPushStream = new Rx.Subject(); const otherPushStream = new Rx.Subject(); const hookPushStream = new Rx.Subject(); const skippedOptionalDependencyPushStream = new Rx.Subject(); const scopePushStream = new Rx.Subject(); const requestRetryPushStream = new Rx.Subject(); const updateCheckPushStream = new Rx.Subject(); setTimeout(() => { opts.streamParser.on("data", (log) => { switch (log.name) { case "pnpm:context": contextPushStream.next(log); break; case "pnpm:execution-time": executionTimePushStream.next(log); break; case "pnpm:fetching-progress": fetchingProgressPushStream.next(log); break; case "pnpm:progress": progressPushStream.next(log); break; case "pnpm:stage": stagePushStream.next(log); break; case "pnpm:deprecation": deprecationPushStream.next(log); break; case "pnpm:summary": summaryPushStream.next(log); break; case "pnpm:lifecycle": lifecyclePushStream.next(log); break; case "pnpm:stats": statsPushStream.next(log); break; case "pnpm:package-import-method": packageImportMethodPushStream.next(log); break; case "pnpm:peer-dependency-issues": peerDependencyIssuesPushStream.next(log); break; case "pnpm:install-check": installCheckPushStream.next(log); break; case "pnpm:installing-config-deps": installingConfigDepsStream.next(log); break; case "pnpm:ignored-scripts": ignoredScriptsPushStream.next(log); break; case "pnpm:registry": registryPushStream.next(log); break; case "pnpm:root": rootPushStream.next(log); break; case "pnpm:package-manifest": packageManifestPushStream.next(log); break; case "pnpm:link": linkPushStream.next(log); break; case "pnpm:hook": hookPushStream.next(log); break; case "pnpm:skipped-optional-dependency": skippedOptionalDependencyPushStream.next(log); break; case "pnpm:scope": scopePushStream.next(log); break; case "pnpm:request-retry": requestRetryPushStream.next(log); break; case "pnpm:update-check": updateCheckPushStream.next(log); break; case "pnpm": // eslint-disable-line case "pnpm:global": // eslint-disable-line case "pnpm:store": // eslint-disable-line case "pnpm:lockfile": otherPushStream.next(log); break; } }); }, 0); let other = Rx.from(otherPushStream); if (opts.context.config?.hooks?.filterLog != null) { const filterLogs = opts.context.config.hooks.filterLog; const filterFn = filterLogs.length === 1 ? filterLogs[0] : (log) => filterLogs.every((filterLog) => filterLog(log)); other = other.pipe((0, operators_1.filter)(filterFn)); } const log$ = { context: Rx.from(contextPushStream), deprecation: Rx.from(deprecationPushStream), fetchingProgress: Rx.from(fetchingProgressPushStream), executionTime: Rx.from(executionTimePushStream), hook: Rx.from(hookPushStream), installCheck: Rx.from(installCheckPushStream), installingConfigDeps: Rx.from(installingConfigDepsStream), ignoredScripts: Rx.from(ignoredScriptsPushStream), lifecycle: Rx.from(lifecyclePushStream), link: Rx.from(linkPushStream), other, packageImportMethod: Rx.from(packageImportMethodPushStream), packageManifest: Rx.from(packageManifestPushStream), peerDependencyIssues: Rx.from(peerDependencyIssuesPushStream), progress: Rx.from(progressPushStream), registry: Rx.from(registryPushStream), requestRetry: Rx.from(requestRetryPushStream), root: Rx.from(rootPushStream), scope: Rx.from(scopePushStream), skippedOptionalDependency: Rx.from(skippedOptionalDependencyPushStream), stage: Rx.from(stagePushStream), stats: Rx.from(statsPushStream), summary: Rx.from(summaryPushStream), updateCheck: Rx.from(updateCheckPushStream) }; const cmd = opts.context.argv[0]; const outputs = (0, index_js_1.reporterForClient)(log$, { appendOnly: opts.reportingOptions?.appendOnly, cmd, config: opts.context.config, env: opts.context.env ?? process.env, filterPkgsDiff: opts.filterPkgsDiff, process: opts.context.process ?? process, isRecursive: opts.context.config?.["recursive"] === true, logLevel: opts.reportingOptions?.logLevel, pnpmConfig: opts.context.config, streamLifecycleOutput: opts.reportingOptions?.streamLifecycleOutput, aggregateOutput: opts.reportingOptions?.aggregateOutput, throttleProgress: opts.reportingOptions?.throttleProgress, width: opts.reportingOptions?.outputMaxWidth, hideAddedPkgsProgress: opts.reportingOptions?.hideAddedPkgsProgress, hideProgressPrefix: opts.reportingOptions?.hideProgressPrefix ?? cmd === "dlx", hideLifecycleOutput: opts.reportingOptions?.hideLifecycleOutput, hideLifecyclePrefix: opts.reportingOptions?.hideLifecyclePrefix, approveBuildsInstructionText: opts.reportingOptions?.approveBuildsInstructionText }); if (opts.reportingOptions?.appendOnly) { return Rx.merge(...outputs).pipe((0, operators_1.map)((log) => log.pipe((0, operators_1.map)((msg) => msg.msg))), (0, operators_1.mergeAll)()); } return (0, mergeOutputs_js_1.mergeOutputs)(outputs); } } }); // ../node_modules/.pnpm/@zkochan+retry@0.2.0/node_modules/@zkochan/retry/lib/retry_operation.js var require_retry_operation = __commonJS({ "../node_modules/.pnpm/@zkochan+retry@0.2.0/node_modules/@zkochan/retry/lib/retry_operation.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var RetryOperation = class { constructor(timeouts, options) { var _a; this._originalTimeouts = [...timeouts]; this._timeouts = timeouts; this._maxRetryTime = (_a = options === null || options === void 0 ? void 0 : options.maxRetryTime) !== null && _a !== void 0 ? _a : Infinity; this._fn = null; this._errors = []; this._attempts = 1; this._operationStart = null; this._timer = null; } reset() { this._attempts = 1; this._timeouts = this._originalTimeouts; } stop() { if (this._timer) { clearTimeout(this._timer); } this._timeouts = []; } retry(err) { if (!err) { return false; } var currentTime = (/* @__PURE__ */ new Date()).getTime(); if (err && currentTime - this._operationStart >= this._maxRetryTime) { this._errors.unshift(new Error("RetryOperation timeout occurred")); return false; } this._errors.push(err); var timeout = this._timeouts.shift(); if (timeout === void 0) { return false; } this._timer = setTimeout(() => this._fn(++this._attempts), timeout); return timeout; } attempt(fn) { this._fn = fn; this._operationStart = (/* @__PURE__ */ new Date()).getTime(); this._fn(this._attempts); } errors() { return this._errors; } attempts() { return this._attempts; } mainError() { if (this._errors.length === 0) { return null; } var counts = {}; var mainError = null; var mainErrorCount = 0; for (var i = 0; i < this._errors.length; i++) { var error = this._errors[i]; var message = error.message; var count = (counts[message] || 0) + 1; counts[message] = count; if (count >= mainErrorCount) { mainError = error; mainErrorCount = count; } } return mainError; } }; exports2.default = RetryOperation; } }); // ../node_modules/.pnpm/@zkochan+retry@0.2.0/node_modules/@zkochan/retry/lib/retry.js var require_retry2 = __commonJS({ "../node_modules/.pnpm/@zkochan+retry@0.2.0/node_modules/@zkochan/retry/lib/retry.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createTimeout = exports2.createTimeouts = exports2.operation = void 0; var retry_operation_1 = require_retry_operation(); function operation(options) { var timeouts = createTimeouts(options); return new retry_operation_1.default(timeouts, { maxRetryTime: options && options.maxRetryTime }); } exports2.operation = operation; function createTimeouts(options) { var opts = { retries: 10, factor: 2, minTimeout: 1 * 1e3, maxTimeout: Infinity, randomize: false, ...options }; if (opts.minTimeout > opts.maxTimeout) { throw new Error("minTimeout is greater than maxTimeout"); } var timeouts = []; for (var i = 0; i < opts.retries; i++) { timeouts.push(createTimeout(i, opts)); } timeouts.sort(function(a, b) { return a - b; }); return timeouts; } exports2.createTimeouts = createTimeouts; function createTimeout(attempt, opts) { var random = opts.randomize ? Math.random() + 1 : 1; var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt)); timeout = Math.min(timeout, opts.maxTimeout); return timeout; } exports2.createTimeout = createTimeout; } }); // ../node_modules/.pnpm/data-uri-to-buffer@3.0.1/node_modules/data-uri-to-buffer/dist/src/index.js var require_src = __commonJS({ "../node_modules/.pnpm/data-uri-to-buffer@3.0.1/node_modules/data-uri-to-buffer/dist/src/index.js"(exports2, module2) { "use strict"; function dataUriToBuffer(uri) { if (!/^data:/i.test(uri)) { throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")'); } uri = uri.replace(/\r?\n/g, ""); const firstComma = uri.indexOf(","); if (firstComma === -1 || firstComma <= 4) { throw new TypeError("malformed data: URI"); } const meta = uri.substring(5, firstComma).split(";"); let charset = ""; let base64 = false; const type = meta[0] || "text/plain"; let typeFull = type; for (let i = 1; i < meta.length; i++) { if (meta[i] === "base64") { base64 = true; } else { typeFull += `;${meta[i]}`; if (meta[i].indexOf("charset=") === 0) { charset = meta[i].substring(8); } } } if (!meta[0] && !charset.length) { typeFull += ";charset=US-ASCII"; charset = "US-ASCII"; } const encoding = base64 ? "base64" : "ascii"; const data = unescape(uri.substring(firstComma + 1)); const buffer = Buffer.from(data, encoding); buffer.type = type; buffer.typeFull = typeFull; buffer.charset = charset; return buffer; } module2.exports = dataUriToBuffer; } }); // ../node_modules/.pnpm/fetch-blob@2.1.2/node_modules/fetch-blob/index.js var require_fetch_blob = __commonJS({ "../node_modules/.pnpm/fetch-blob@2.1.2/node_modules/fetch-blob/index.js"(exports2, module2) { var { Readable } = require("stream"); var wm = /* @__PURE__ */ new WeakMap(); async function* read(parts) { for (const part of parts) { if ("stream" in part) { yield* part.stream(); } else { yield part; } } } var Blob = class _Blob { /** * The Blob() constructor returns a new Blob object. The content * of the blob consists of the concatenation of the values given * in the parameter array. * * @param {(ArrayBufferLike | ArrayBufferView | Blob | Buffer | string)[]} blobParts * @param {{ type?: string }} [options] */ constructor(blobParts = [], options = {}) { let size = 0; const parts = blobParts.map((element) => { let buffer; if (element instanceof Buffer) { buffer = element; } else if (ArrayBuffer.isView(element)) { buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); } else if (element instanceof ArrayBuffer) { buffer = Buffer.from(element); } else if (element instanceof _Blob) { buffer = element; } else { buffer = Buffer.from(typeof element === "string" ? element : String(element)); } size += buffer.length || buffer.size || 0; return buffer; }); const type = options.type === void 0 ? "" : String(options.type).toLowerCase(); wm.set(this, { type: /[^\u0020-\u007E]/.test(type) ? "" : type, size, parts }); } /** * The Blob interface's size property returns the * size of the Blob in bytes. */ get size() { return wm.get(this).size; } /** * The type property of a Blob object returns the MIME type of the file. */ get type() { return wm.get(this).type; } /** * The text() method in the Blob interface returns a Promise * that resolves with a string containing the contents of * the blob, interpreted as UTF-8. * * @return {Promise} */ async text() { return Buffer.from(await this.arrayBuffer()).toString(); } /** * The arrayBuffer() method in the Blob interface returns a * Promise that resolves with the contents of the blob as * binary data contained in an ArrayBuffer. * * @return {Promise} */ async arrayBuffer() { const data = new Uint8Array(this.size); let offset = 0; for await (const chunk of this.stream()) { data.set(chunk, offset); offset += chunk.length; } return data.buffer; } /** * The Blob interface's stream() method is difference from native * and uses node streams instead of whatwg streams. * * @returns {Readable} Node readable stream */ stream() { return Readable.from(read(wm.get(this).parts)); } /** * The Blob interface's slice() method creates and returns a * new Blob object which contains data from a subset of the * blob on which it's called. * * @param {number} [start] * @param {number} [end] * @param {string} [type] */ slice(start = 0, end = this.size, type = "") { const { size } = this; let relativeStart = start < 0 ? Math.max(size + start, 0) : Math.min(start, size); let relativeEnd = end < 0 ? Math.max(size + end, 0) : Math.min(end, size); const span = Math.max(relativeEnd - relativeStart, 0); const parts = wm.get(this).parts.values(); const blobParts = []; let added = 0; for (const part of parts) { const size2 = ArrayBuffer.isView(part) ? part.byteLength : part.size; if (relativeStart && size2 <= relativeStart) { relativeStart -= size2; relativeEnd -= size2; } else { const chunk = part.slice(relativeStart, Math.min(size2, relativeEnd)); blobParts.push(chunk); added += ArrayBuffer.isView(chunk) ? chunk.byteLength : chunk.size; relativeStart = 0; if (added >= span) { break; } } } const blob = new _Blob([], { type: String(type).toLowerCase() }); Object.assign(wm.get(blob), { size: span, parts: blobParts }); return blob; } get [Symbol.toStringTag]() { return "Blob"; } static [Symbol.hasInstance](object) { return object && typeof object === "object" && typeof object.stream === "function" && object.stream.length === 0 && typeof object.constructor === "function" && /^(Blob|File)$/.test(object[Symbol.toStringTag]); } }; Object.defineProperties(Blob.prototype, { size: { enumerable: true }, type: { enumerable: true }, slice: { enumerable: true } }); module2.exports = Blob; } }); // ../node_modules/.pnpm/@pnpm+node-fetch@1.0.0/node_modules/@pnpm/node-fetch/dist/index.cjs var require_dist5 = __commonJS({ "../node_modules/.pnpm/@pnpm+node-fetch@1.0.0/node_modules/@pnpm/node-fetch/dist/index.cjs"(exports2, module2) { "use strict"; exports2 = module2.exports = fetch; var http = require("http"); var https = require("https"); var zlib = require("zlib"); var Stream = require("stream"); var dataUriToBuffer = require_src(); var util = require("util"); var Blob = require_fetch_blob(); var crypto5 = require("crypto"); var url = require("url"); var FetchBaseError = class extends Error { constructor(message, type) { super(message); Error.captureStackTrace(this, this.constructor); this.type = type; } get name() { return this.constructor.name; } get [Symbol.toStringTag]() { return this.constructor.name; } }; var FetchError = class extends FetchBaseError { /** * @param {string} message - Error message for human * @param {string} [type] - Error type for machine * @param {SystemError} [systemError] - For Node.js system error */ constructor(message, type, systemError) { super(message, type); if (systemError) { this.code = this.errno = systemError.code; this.erroredSysCall = systemError.syscall; } } }; var NAME = Symbol.toStringTag; var isURLSearchParameters = (object) => { return typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && typeof object.sort === "function" && object[NAME] === "URLSearchParams"; }; var isBlob = (object) => { return typeof object === "object" && typeof object.arrayBuffer === "function" && typeof object.type === "string" && typeof object.stream === "function" && typeof object.constructor === "function" && /^(Blob|File)$/.test(object[NAME]); }; function isFormData(object) { return typeof object === "object" && typeof object.append === "function" && typeof object.set === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.delete === "function" && typeof object.keys === "function" && typeof object.values === "function" && typeof object.entries === "function" && typeof object.constructor === "function" && object[NAME] === "FormData"; } var isAbortSignal = (object) => { return typeof object === "object" && object[NAME] === "AbortSignal"; }; var carriage = "\r\n"; var dashes = "-".repeat(2); var carriageLength = Buffer.byteLength(carriage); var getFooter = (boundary) => `${dashes}${boundary}${dashes}${carriage.repeat(2)}`; function getHeader(boundary, name, field) { let header = ""; header += `${dashes}${boundary}${carriage}`; header += `Content-Disposition: form-data; name="${name}"`; if (isBlob(field)) { header += `; filename="${field.name}"${carriage}`; header += `Content-Type: ${field.type || "application/octet-stream"}`; } return `${header}${carriage.repeat(2)}`; } var getBoundary = () => crypto5.randomBytes(8).toString("hex"); async function* formDataIterator(form, boundary) { for (const [name, value] of form) { yield getHeader(boundary, name, value); if (isBlob(value)) { yield* value.stream(); } else { yield value; } yield carriage; } yield getFooter(boundary); } function getFormDataLength(form, boundary) { let length = 0; for (const [name, value] of form) { length += Buffer.byteLength(getHeader(boundary, name, value)); if (isBlob(value)) { length += value.size; } else { length += Buffer.byteLength(String(value)); } length += carriageLength; } length += Buffer.byteLength(getFooter(boundary)); return length; } var INTERNALS$2 = Symbol("Body internals"); var Body = class { constructor(body, { size = 0 } = {}) { let boundary = null; if (body === null) { body = null; } else if (isURLSearchParameters(body)) { body = Buffer.from(body.toString()); } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (util.types.isAnyArrayBuffer(body)) { body = Buffer.from(body); } else if (ArrayBuffer.isView(body)) { body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); } else if (body instanceof Stream) ; else if (isFormData(body)) { boundary = `NodeFetchFormDataBoundary${getBoundary()}`; body = Stream.Readable.from(formDataIterator(body, boundary)); } else { body = Buffer.from(String(body)); } this[INTERNALS$2] = { body, boundary, disturbed: false, error: null }; this.size = size; if (body instanceof Stream) { body.on("error", (err) => { const error = err instanceof FetchBaseError ? err : new FetchError(`Invalid response body while trying to fetch ${this.url}: ${err.message}`, "system", err); this[INTERNALS$2].error = error; }); } } get body() { return this[INTERNALS$2].body; } get bodyUsed() { return this[INTERNALS$2].disturbed; } /** * Decode response as ArrayBuffer * * @return Promise */ async arrayBuffer() { const { buffer, byteOffset, byteLength } = await consumeBody(this); return buffer.slice(byteOffset, byteOffset + byteLength); } /** * Return raw response as Blob * * @return Promise */ async blob() { const ct = this.headers && this.headers.get("content-type") || this[INTERNALS$2].body && this[INTERNALS$2].body.type || ""; const buf = await this.buffer(); return new Blob([buf], { type: ct }); } /** * Decode response as json * * @return Promise */ async json() { const buffer = await consumeBody(this); return JSON.parse(buffer.toString()); } /** * Decode response as text * * @return Promise */ async text() { const buffer = await consumeBody(this); return buffer.toString(); } /** * Decode response as buffer (non-spec api) * * @return Promise */ buffer() { return consumeBody(this); } }; Object.defineProperties(Body.prototype, { body: { enumerable: true }, bodyUsed: { enumerable: true }, arrayBuffer: { enumerable: true }, blob: { enumerable: true }, json: { enumerable: true }, text: { enumerable: true } }); async function consumeBody(data) { if (data[INTERNALS$2].disturbed) { throw new TypeError(`body used already for: ${data.url}`); } data[INTERNALS$2].disturbed = true; if (data[INTERNALS$2].error) { throw data[INTERNALS$2].error; } let { body } = data; if (body === null) { return Buffer.alloc(0); } if (isBlob(body)) { body = body.stream(); } if (Buffer.isBuffer(body)) { return body; } if (!(body instanceof Stream)) { return Buffer.alloc(0); } const accum = []; let accumBytes = 0; try { for await (const chunk of body) { if (data.size > 0 && accumBytes + chunk.length > data.size) { const err = new FetchError(`content size at ${data.url} over limit: ${data.size}`, "max-size"); body.destroy(err); throw err; } accumBytes += chunk.length; accum.push(chunk); } } catch (error) { if (error instanceof FetchBaseError) { throw error; } else { throw new FetchError(`Invalid response body while trying to fetch ${data.url}: ${error.message}`, "system", error); } } if (body.readableEnded === true || body._readableState.ended === true) { try { if (accum.every((c) => typeof c === "string")) { return Buffer.from(accum.join("")); } return Buffer.concat(accum, accumBytes); } catch (error) { throw new FetchError(`Could not create Buffer from response body for ${data.url}: ${error.message}`, "system", error); } } else { throw new FetchError(`Premature close of server response while trying to fetch ${data.url}`); } } var clone = (instance, highWaterMark) => { let p1; let p2; let { body } = instance; if (instance.bodyUsed) { throw new Error("cannot clone body after it is used"); } if (body instanceof Stream && typeof body.getBoundary !== "function") { p1 = new Stream.PassThrough({ highWaterMark }); p2 = new Stream.PassThrough({ highWaterMark }); body.pipe(p1); body.pipe(p2); instance[INTERNALS$2].body = p1; body = p2; } return body; }; var extractContentType = (body, request) => { if (body === null) { return null; } if (typeof body === "string") { return "text/plain;charset=UTF-8"; } if (isURLSearchParameters(body)) { return "application/x-www-form-urlencoded;charset=UTF-8"; } if (isBlob(body)) { return body.type || null; } if (Buffer.isBuffer(body) || util.types.isAnyArrayBuffer(body) || ArrayBuffer.isView(body)) { return null; } if (body && typeof body.getBoundary === "function") { return `multipart/form-data;boundary=${body.getBoundary()}`; } if (isFormData(body)) { return `multipart/form-data; boundary=${request[INTERNALS$2].boundary}`; } if (body instanceof Stream) { return null; } return "text/plain;charset=UTF-8"; }; var getTotalBytes = (request) => { const { body } = request; if (body === null) { return 0; } if (isBlob(body)) { return body.size; } if (Buffer.isBuffer(body)) { return body.length; } if (body && typeof body.getLengthSync === "function") { return body.hasKnownLength && body.hasKnownLength() ? body.getLengthSync() : null; } if (isFormData(body)) { return getFormDataLength(request[INTERNALS$2].boundary); } return null; }; var writeToStream = (dest, { body }) => { if (body === null) { dest.end(); } else if (isBlob(body)) { body.stream().pipe(dest); } else if (Buffer.isBuffer(body)) { dest.write(body); dest.end(); } else { body.pipe(dest); } }; var validateHeaderName = typeof http.validateHeaderName === "function" ? http.validateHeaderName : (name) => { if (!/^[\^`\-\w!#$%&'*+.|~]+$/.test(name)) { const err = new TypeError(`Header name must be a valid HTTP token [${name}]`); Object.defineProperty(err, "code", { value: "ERR_INVALID_HTTP_TOKEN" }); throw err; } }; var validateHeaderValue = typeof http.validateHeaderValue === "function" ? http.validateHeaderValue : (name, value) => { if (/[^\t\u0020-\u007E\u0080-\u00FF]/.test(value)) { const err = new TypeError(`Invalid character in header content ["${name}"]`); Object.defineProperty(err, "code", { value: "ERR_INVALID_CHAR" }); throw err; } }; var Headers = class _Headers extends URLSearchParams { /** * Headers class * * @constructor * @param {HeadersInit} [init] - Response headers */ constructor(init) { let result2 = []; if (init instanceof _Headers) { const raw = init.raw(); for (const [name, values] of Object.entries(raw)) { result2.push(...values.map((value) => [name, value])); } } else if (init == null) ; else if (typeof init === "object" && !util.types.isBoxedPrimitive(init)) { const method = init[Symbol.iterator]; if (method == null) { result2.push(...Object.entries(init)); } else { if (typeof method !== "function") { throw new TypeError("Header pairs must be iterable"); } result2 = [...init].map((pair) => { if (typeof pair !== "object" || util.types.isBoxedPrimitive(pair)) { throw new TypeError("Each header pair must be an iterable object"); } return [...pair]; }).map((pair) => { if (pair.length !== 2) { throw new TypeError("Each header pair must be a name/value tuple"); } return [...pair]; }); } } else { throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence> or record)"); } result2 = result2.length > 0 ? result2.map(([name, value]) => { validateHeaderName(name); validateHeaderValue(name, String(value)); return [String(name).toLowerCase(), String(value)]; }) : void 0; super(result2); return new Proxy(this, { get(target, p, receiver) { switch (p) { case "append": case "set": return (name, value) => { validateHeaderName(name); validateHeaderValue(name, String(value)); return URLSearchParams.prototype[p].call( target, String(name).toLowerCase(), String(value) ); }; case "delete": case "has": case "getAll": return (name) => { validateHeaderName(name); return URLSearchParams.prototype[p].call( target, String(name).toLowerCase() ); }; case "keys": return () => { target.sort(); return new Set(URLSearchParams.prototype.keys.call(target)).keys(); }; default: return Reflect.get(target, p, receiver); } } /* c8 ignore next */ }); } get [Symbol.toStringTag]() { return this.constructor.name; } toString() { return Object.prototype.toString.call(this); } get(name) { const values = this.getAll(name); if (values.length === 0) { return null; } let value = values.join(", "); if (/^content-encoding$/i.test(name)) { value = value.toLowerCase(); } return value; } forEach(callback) { for (const name of this.keys()) { callback(this.get(name), name); } } *values() { for (const name of this.keys()) { yield this.get(name); } } /** * @type {() => IterableIterator<[string, string]>} */ *entries() { for (const name of this.keys()) { yield [name, this.get(name)]; } } [Symbol.iterator]() { return this.entries(); } /** * Node-fetch non-spec method * returning all headers and their values as array * @returns {Record} */ raw() { return [...this.keys()].reduce((result2, key) => { result2[key] = this.getAll(key); return result2; }, {}); } /** * For better console.log(headers) and also to convert Headers into Node.js Request compatible format */ [Symbol.for("nodejs.util.inspect.custom")]() { return [...this.keys()].reduce((result2, key) => { const values = this.getAll(key); if (key === "host") { result2[key] = values[0]; } else { result2[key] = values.length > 1 ? values : values[0]; } return result2; }, {}); } }; Object.defineProperties( Headers.prototype, ["get", "entries", "forEach", "values"].reduce((result2, property) => { result2[property] = { enumerable: true }; return result2; }, {}) ); function fromRawHeaders(headers = []) { return new Headers( headers.reduce((result2, value, index, array) => { if (index % 2 === 0) { result2.push(array.slice(index, index + 2)); } return result2; }, []).filter(([name, value]) => { try { validateHeaderName(name); validateHeaderValue(name, String(value)); return true; } catch { return false; } }) ); } var redirectStatus = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]); var isRedirect = (code) => { return redirectStatus.has(code); }; var INTERNALS$1 = Symbol("Response internals"); var Response = class _Response extends Body { constructor(body = null, options = {}) { super(body, options); const status = options.status || 200; const headers = new Headers(options.headers); if (body !== null && !headers.has("Content-Type")) { const contentType = extractContentType(body); if (contentType) { headers.append("Content-Type", contentType); } } this[INTERNALS$1] = { url: options.url, status, statusText: options.statusText || "", headers, counter: options.counter, highWaterMark: options.highWaterMark }; } get url() { return this[INTERNALS$1].url || ""; } get status() { return this[INTERNALS$1].status; } /** * Convenience property representing if the request ended normally */ get ok() { return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; } get redirected() { return this[INTERNALS$1].counter > 0; } get statusText() { return this[INTERNALS$1].statusText; } get headers() { return this[INTERNALS$1].headers; } get highWaterMark() { return this[INTERNALS$1].highWaterMark; } /** * Clone this response * * @return Response */ clone() { return new _Response(clone(this, this.highWaterMark), { url: this.url, status: this.status, statusText: this.statusText, headers: this.headers, ok: this.ok, redirected: this.redirected, size: this.size }); } /** * @param {string} url The URL that the new response is to originate from. * @param {number} status An optional status code for the response (e.g., 302.) * @returns {Response} A Response object. */ static redirect(url2, status = 302) { if (!isRedirect(status)) { throw new RangeError('Failed to execute "redirect" on "response": Invalid status code'); } return new _Response(null, { headers: { location: new URL(url2).toString() }, status }); } get [Symbol.toStringTag]() { return "Response"; } }; Object.defineProperties(Response.prototype, { url: { enumerable: true }, status: { enumerable: true }, ok: { enumerable: true }, redirected: { enumerable: true }, statusText: { enumerable: true }, headers: { enumerable: true }, clone: { enumerable: true } }); var getSearch = (parsedURL) => { if (parsedURL.search) { return parsedURL.search; } const lastOffset = parsedURL.href.length - 1; const hash = parsedURL.hash || (parsedURL.href[lastOffset] === "#" ? "#" : ""); return parsedURL.href[lastOffset - hash.length] === "?" ? "?" : ""; }; var INTERNALS = Symbol("Request internals"); var isRequest = (object) => { return typeof object === "object" && typeof object[INTERNALS] === "object"; }; var Request = class _Request extends Body { constructor(input, init = {}) { let parsedURL; if (isRequest(input)) { parsedURL = new URL(input.url); } else { parsedURL = new URL(input); input = {}; } let method = init.method || input.method || "GET"; method = method.toUpperCase(); if ((init.body != null || isRequest(input)) && input.body !== null && (method === "GET" || method === "HEAD")) { throw new TypeError("Request with GET/HEAD method cannot have body"); } const inputBody = init.body ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; super(inputBody, { size: init.size || input.size || 0 }); const headers = new Headers(init.headers || input.headers || {}); if (inputBody !== null && !headers.has("Content-Type")) { const contentType = extractContentType(inputBody, this); if (contentType) { headers.append("Content-Type", contentType); } } let signal = isRequest(input) ? input.signal : null; if ("signal" in init) { signal = init.signal; } if (signal !== null && !isAbortSignal(signal)) { throw new TypeError("Expected signal to be an instanceof AbortSignal"); } this[INTERNALS] = { method, redirect: init.redirect || input.redirect || "follow", headers, parsedURL, signal }; this.follow = init.follow === void 0 ? input.follow === void 0 ? 20 : input.follow : init.follow; this.compress = init.compress === void 0 ? input.compress === void 0 ? true : input.compress : init.compress; this.counter = init.counter || input.counter || 0; this.agent = init.agent || input.agent; this.highWaterMark = init.highWaterMark || input.highWaterMark || 16384; this.insecureHTTPParser = init.insecureHTTPParser || input.insecureHTTPParser || false; } get method() { return this[INTERNALS].method; } get url() { return url.format(this[INTERNALS].parsedURL); } get headers() { return this[INTERNALS].headers; } get redirect() { return this[INTERNALS].redirect; } get signal() { return this[INTERNALS].signal; } /** * Clone this request * * @return Request */ clone() { return new _Request(this); } get [Symbol.toStringTag]() { return "Request"; } }; Object.defineProperties(Request.prototype, { method: { enumerable: true }, url: { enumerable: true }, headers: { enumerable: true }, redirect: { enumerable: true }, clone: { enumerable: true }, signal: { enumerable: true } }); var getNodeRequestOptions = (request) => { const { parsedURL } = request[INTERNALS]; const headers = new Headers(request[INTERNALS].headers); if (!headers.has("Accept")) { headers.set("Accept", "*/*"); } let contentLengthValue = null; if (request.body === null && /^(post|put)$/i.test(request.method)) { contentLengthValue = "0"; } if (request.body !== null) { const totalBytes = getTotalBytes(request); if (typeof totalBytes === "number" && !Number.isNaN(totalBytes)) { contentLengthValue = String(totalBytes); } } if (contentLengthValue) { headers.set("Content-Length", contentLengthValue); } if (!headers.has("User-Agent")) { headers.set("User-Agent", "node-fetch"); } if (request.compress && !headers.has("Accept-Encoding")) { headers.set("Accept-Encoding", "gzip,deflate,br"); } let { agent } = request; if (typeof agent === "function") { agent = agent(parsedURL); } if (!headers.has("Connection") && !agent) { headers.set("Connection", "close"); } const search = getSearch(parsedURL); const requestOptions = { path: parsedURL.pathname + search, pathname: parsedURL.pathname, hostname: parsedURL.hostname, protocol: parsedURL.protocol, port: parsedURL.port, hash: parsedURL.hash, search: parsedURL.search, query: parsedURL.query, href: parsedURL.href, method: request.method, headers: headers[Symbol.for("nodejs.util.inspect.custom")](), insecureHTTPParser: request.insecureHTTPParser, agent }; return requestOptions; }; var AbortError = class extends FetchBaseError { constructor(message, type = "aborted") { super(message, type); } }; var supportedSchemas = /* @__PURE__ */ new Set(["data:", "http:", "https:"]); async function fetch(url2, options_) { return new Promise((resolve, reject) => { const request = new Request(url2, options_); const options = getNodeRequestOptions(request); if (!supportedSchemas.has(options.protocol)) { throw new TypeError(`node-fetch cannot load ${url2}. URL scheme "${options.protocol.replace(/:$/, "")}" is not supported.`); } if (options.protocol === "data:") { const data = dataUriToBuffer(request.url); const response2 = new Response(data, { headers: { "Content-Type": data.typeFull } }); resolve(response2); return; } const send = (options.protocol === "https:" ? https : http).request; const { signal } = request; let response = null; const abort = () => { const error = new AbortError("The operation was aborted."); reject(error); if (request.body && request.body instanceof Stream.Readable) { request.body.destroy(error); } if (!response || !response.body) { return; } response.body.emit("error", error); }; if (signal && signal.aborted) { abort(); return; } const abortAndFinalize = () => { abort(); finalize(); }; const request_ = send(options); if (signal) { signal.addEventListener("abort", abortAndFinalize); } const finalize = () => { request_.abort(); if (signal) { signal.removeEventListener("abort", abortAndFinalize); } }; request_.on("error", (err) => { reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, "system", err)); finalize(); }); request_.on("response", (response_) => { request_.setTimeout(0); const headers = fromRawHeaders(response_.rawHeaders); if (isRedirect(response_.statusCode)) { const location = headers.get("Location"); const locationURL = location === null ? null : new URL(location, request.url); switch (request.redirect) { case "error": reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, "no-redirect")); finalize(); return; case "manual": if (locationURL !== null) { try { headers.set("Location", locationURL); } catch (error) { reject(error); } } break; case "follow": { if (locationURL === null) { break; } if (request.counter >= request.follow) { reject(new FetchError(`maximum redirect reached at: ${request.url}`, "max-redirect")); finalize(); return; } const requestOptions = { headers: new Headers(request.headers), follow: request.follow, counter: request.counter + 1, agent: request.agent, compress: request.compress, method: request.method, body: request.body, signal: request.signal, size: request.size }; if (response_.statusCode !== 303 && request.body && options_.body instanceof Stream.Readable) { reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect")); finalize(); return; } if (response_.statusCode === 303 || (response_.statusCode === 301 || response_.statusCode === 302) && request.method === "POST") { requestOptions.method = "GET"; requestOptions.body = void 0; requestOptions.headers.delete("content-length"); } resolve(fetch(new Request(locationURL, requestOptions))); finalize(); return; } } } response_.once("end", () => { if (signal) { signal.removeEventListener("abort", abortAndFinalize); } }); let body = Stream.pipeline(response_, new Stream.PassThrough(), (error) => { reject(error); }); if (process.version < "v12.10") { response_.on("aborted", abortAndFinalize); } const responseOptions = { url: request.url, status: response_.statusCode, statusText: response_.statusMessage, headers, size: request.size, counter: request.counter, highWaterMark: request.highWaterMark }; const codings = headers.get("Content-Encoding"); if (!request.compress || request.method === "HEAD" || codings === null || response_.statusCode === 204 || response_.statusCode === 304) { response = new Response(body, responseOptions); resolve(response); return; } const zlibOptions = { flush: zlib.Z_SYNC_FLUSH, finishFlush: zlib.Z_SYNC_FLUSH }; if (codings === "gzip" || codings === "x-gzip") { body = Stream.pipeline(body, zlib.createGunzip(zlibOptions), (error) => { reject(error); }); response = new Response(body, responseOptions); resolve(response); return; } if (codings === "deflate" || codings === "x-deflate") { const raw = Stream.pipeline(response_, new Stream.PassThrough(), (error) => { reject(error); }); raw.once("data", (chunk) => { if ((chunk[0] & 15) === 8) { body = Stream.pipeline(body, zlib.createInflate(), (error) => { reject(error); }); } else { body = Stream.pipeline(body, zlib.createInflateRaw(), (error) => { reject(error); }); } response = new Response(body, responseOptions); resolve(response); }); return; } if (codings === "br") { body = Stream.pipeline(body, zlib.createBrotliDecompress(), (error) => { reject(error); }); response = new Response(body, responseOptions); resolve(response); return; } response = new Response(body, responseOptions); resolve(response); }); writeToStream(request_, request); }); } exports2.AbortError = AbortError; exports2.FetchError = FetchError; exports2.Headers = Headers; exports2.Request = Request; exports2.Response = Response; exports2["default"] = fetch; exports2.isRedirect = isRedirect; } }); // ../network/fetch/lib/fetch.js var require_fetch = __commonJS({ "../network/fetch/lib/fetch.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ResponseError = exports2.Response = exports2.isRedirect = void 0; exports2.fetch = fetch; var assert_1 = __importDefault2(require("assert")); var util_1 = __importDefault2(require("util")); var core_loggers_1 = require_lib8(); var retry_1 = require_retry2(); var node_fetch_1 = __importStar3(require_dist5()); Object.defineProperty(exports2, "Response", { enumerable: true, get: function() { return node_fetch_1.Response; } }); var node_fetch_2 = require_dist5(); Object.defineProperty(exports2, "isRedirect", { enumerable: true, get: function() { return node_fetch_2.isRedirect; } }); var NO_RETRY_ERROR_CODES = /* @__PURE__ */ new Set([ "SELF_SIGNED_CERT_IN_CHAIN", "ERR_OSSL_PEM_NO_START_LINE" ]); async function fetch(url, opts = {}) { const retryOpts = opts.retry ?? {}; const maxRetries = retryOpts.retries ?? 2; const op = (0, retry_1.operation)({ factor: retryOpts.factor ?? 10, maxTimeout: retryOpts.maxTimeout ?? 6e4, minTimeout: retryOpts.minTimeout ?? 1e4, randomize: false, retries: maxRetries }); try { return await new Promise((resolve, reject) => { op.attempt(async (attempt) => { try { const res = await (0, node_fetch_1.default)(url, opts); if (res.status >= 500 && res.status < 600 || [408, 409, 420, 429].includes(res.status)) { throw new ResponseError(res); } else { resolve(res); } } catch (error) { (0, assert_1.default)(util_1.default.types.isNativeError(error)); if ("code" in error && typeof error.code === "string" && NO_RETRY_ERROR_CODES.has(error.code)) { throw error; } const timeout = op.retry(error); if (timeout === false) { reject(op.mainError()); return; } core_loggers_1.requestRetryLogger.debug({ attempt, error, maxRetries, method: opts.method ?? "GET", timeout, url: url.toString() }); } }); }); } catch (err) { if (err instanceof ResponseError) { return err.res; } throw err; } } var ResponseError = class _ResponseError extends Error { res; code; status; statusCode; url; constructor(res) { super(res.statusText); if (Error.captureStackTrace) { Error.captureStackTrace(this, _ResponseError); } this.name = this.constructor.name; this.res = res; this.code = this.status = this.statusCode = res.status; this.url = res.url; } }; exports2.ResponseError = ResponseError; } }); // ../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js var require_ms = __commonJS({ "../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports2, module2) { var s = 1e3; var m = s * 60; var h = m * 60; var d = h * 24; var w = d * 7; var y = d * 365.25; module2.exports = function(val, options) { options = options || {}; var type = typeof val; if (type === "string" && val.length > 0) { return parse2(val); } else if (type === "number" && isFinite(val)) { return options.long ? fmtLong(val) : fmtShort(val); } throw new Error( "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) ); }; function parse2(str) { str = String(str); if (str.length > 100) { return; } var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( str ); if (!match) { return; } var n = parseFloat(match[1]); var type = (match[2] || "ms").toLowerCase(); switch (type) { case "years": case "year": case "yrs": case "yr": case "y": return n * y; case "weeks": case "week": case "w": return n * w; case "days": case "day": case "d": return n * d; case "hours": case "hour": case "hrs": case "hr": case "h": return n * h; case "minutes": case "minute": case "mins": case "min": case "m": return n * m; case "seconds": case "second": case "secs": case "sec": case "s": return n * s; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": return n; default: return void 0; } } function fmtShort(ms) { var msAbs = Math.abs(ms); if (msAbs >= d) { return Math.round(ms / d) + "d"; } if (msAbs >= h) { return Math.round(ms / h) + "h"; } if (msAbs >= m) { return Math.round(ms / m) + "m"; } if (msAbs >= s) { return Math.round(ms / s) + "s"; } return ms + "ms"; } function fmtLong(ms) { var msAbs = Math.abs(ms); if (msAbs >= d) { return plural2(ms, msAbs, d, "day"); } if (msAbs >= h) { return plural2(ms, msAbs, h, "hour"); } if (msAbs >= m) { return plural2(ms, msAbs, m, "minute"); } if (msAbs >= s) { return plural2(ms, msAbs, s, "second"); } return ms + " ms"; } function plural2(ms, msAbs, n, name) { var isPlural = msAbs >= n * 1.5; return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); } } }); // ../node_modules/.pnpm/humanize-ms@1.2.1/node_modules/humanize-ms/index.js var require_humanize_ms = __commonJS({ "../node_modules/.pnpm/humanize-ms@1.2.1/node_modules/humanize-ms/index.js"(exports2, module2) { "use strict"; var util = require("util"); var ms = require_ms(); module2.exports = function(t) { if (typeof t === "number") return t; var r = ms(t); if (r === void 0) { var err = new Error(util.format("humanize-ms(%j) result undefined", t)); console.warn(err.stack); } return r; }; } }); // ../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/constants.js var require_constants3 = __commonJS({ "../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/constants.js"(exports2, module2) { "use strict"; module2.exports = { // agent CURRENT_ID: Symbol("agentkeepalive#currentId"), CREATE_ID: Symbol("agentkeepalive#createId"), INIT_SOCKET: Symbol("agentkeepalive#initSocket"), CREATE_HTTPS_CONNECTION: Symbol("agentkeepalive#createHttpsConnection"), // socket SOCKET_CREATED_TIME: Symbol("agentkeepalive#socketCreatedTime"), SOCKET_NAME: Symbol("agentkeepalive#socketName"), SOCKET_REQUEST_COUNT: Symbol("agentkeepalive#socketRequestCount"), SOCKET_REQUEST_FINISHED_COUNT: Symbol("agentkeepalive#socketRequestFinishedCount") }; } }); // ../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/agent.js var require_agent = __commonJS({ "../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/agent.js"(exports2, module2) { "use strict"; var OriginalAgent = require("http").Agent; var ms = require_humanize_ms(); var debug = require("util").debuglog("agentkeepalive"); var { INIT_SOCKET, CURRENT_ID, CREATE_ID, SOCKET_CREATED_TIME, SOCKET_NAME, SOCKET_REQUEST_COUNT, SOCKET_REQUEST_FINISHED_COUNT } = require_constants3(); var defaultTimeoutListenerCount = 1; var majorVersion = parseInt(process.version.split(".", 1)[0].substring(1)); if (majorVersion >= 11 && majorVersion <= 12) { defaultTimeoutListenerCount = 2; } else if (majorVersion >= 13) { defaultTimeoutListenerCount = 3; } function deprecate(message) { console.log("[agentkeepalive:deprecated] %s", message); } var Agent = class extends OriginalAgent { constructor(options) { options = options || {}; options.keepAlive = options.keepAlive !== false; if (options.freeSocketTimeout === void 0) { options.freeSocketTimeout = 4e3; } if (options.keepAliveTimeout) { deprecate("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); options.freeSocketTimeout = options.keepAliveTimeout; delete options.keepAliveTimeout; } if (options.freeSocketKeepAliveTimeout) { deprecate("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"); options.freeSocketTimeout = options.freeSocketKeepAliveTimeout; delete options.freeSocketKeepAliveTimeout; } if (options.timeout === void 0) { options.timeout = Math.max(options.freeSocketTimeout * 2, 8e3); } options.timeout = ms(options.timeout); options.freeSocketTimeout = ms(options.freeSocketTimeout); options.socketActiveTTL = options.socketActiveTTL ? ms(options.socketActiveTTL) : 0; super(options); this[CURRENT_ID] = 0; this.createSocketCount = 0; this.createSocketCountLastCheck = 0; this.createSocketErrorCount = 0; this.createSocketErrorCountLastCheck = 0; this.closeSocketCount = 0; this.closeSocketCountLastCheck = 0; this.errorSocketCount = 0; this.errorSocketCountLastCheck = 0; this.requestCount = 0; this.requestCountLastCheck = 0; this.timeoutSocketCount = 0; this.timeoutSocketCountLastCheck = 0; this.on("free", (socket) => { const timeout = this.calcSocketTimeout(socket); if (timeout > 0 && socket.timeout !== timeout) { socket.setTimeout(timeout); } }); } get freeSocketKeepAliveTimeout() { deprecate("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead"); return this.options.freeSocketTimeout; } get timeout() { deprecate("agent.timeout is deprecated, please use agent.options.timeout instead"); return this.options.timeout; } get socketActiveTTL() { deprecate("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead"); return this.options.socketActiveTTL; } calcSocketTimeout(socket) { let freeSocketTimeout = this.options.freeSocketTimeout; const socketActiveTTL = this.options.socketActiveTTL; if (socketActiveTTL) { const aliveTime = Date.now() - socket[SOCKET_CREATED_TIME]; const diff = socketActiveTTL - aliveTime; if (diff <= 0) { return diff; } if (freeSocketTimeout && diff < freeSocketTimeout) { freeSocketTimeout = diff; } } if (freeSocketTimeout) { const customFreeSocketTimeout = socket.freeSocketTimeout || socket.freeSocketKeepAliveTimeout; return customFreeSocketTimeout || freeSocketTimeout; } } keepSocketAlive(socket) { const result2 = super.keepSocketAlive(socket); if (!result2) return result2; const customTimeout = this.calcSocketTimeout(socket); if (typeof customTimeout === "undefined") { return true; } if (customTimeout <= 0) { debug( "%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s", socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], customTimeout ); return false; } if (socket.timeout !== customTimeout) { socket.setTimeout(customTimeout); } return true; } // only call on addRequest reuseSocket(...args) { super.reuseSocket(...args); const socket = args[0]; const req = args[1]; req.reusedSocket = true; const agentTimeout = this.options.timeout; if (getSocketTimeout(socket) !== agentTimeout) { socket.setTimeout(agentTimeout); debug("%s reset timeout to %sms", socket[SOCKET_NAME], agentTimeout); } socket[SOCKET_REQUEST_COUNT]++; debug( "%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms", socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], getSocketTimeout(socket) ); } [CREATE_ID]() { const id = this[CURRENT_ID]++; if (this[CURRENT_ID] === Number.MAX_SAFE_INTEGER) this[CURRENT_ID] = 0; return id; } [INIT_SOCKET](socket, options) { if (options.timeout) { const timeout = getSocketTimeout(socket); if (!timeout) { socket.setTimeout(options.timeout); } } if (this.options.keepAlive) { socket.setNoDelay(true); } this.createSocketCount++; if (this.options.socketActiveTTL) { socket[SOCKET_CREATED_TIME] = Date.now(); } socket[SOCKET_NAME] = `sock[${this[CREATE_ID]()}#${options._agentKey}]`.split("-----BEGIN", 1)[0]; socket[SOCKET_REQUEST_COUNT] = 1; socket[SOCKET_REQUEST_FINISHED_COUNT] = 0; installListeners(this, socket, options); } createConnection(options, oncreate) { let called = false; const onNewCreate = (err, socket) => { if (called) return; called = true; if (err) { this.createSocketErrorCount++; return oncreate(err); } this[INIT_SOCKET](socket, options); oncreate(err, socket); }; const newSocket = super.createConnection(options, onNewCreate); if (newSocket) onNewCreate(null, newSocket); return newSocket; } get statusChanged() { const changed = this.createSocketCount !== this.createSocketCountLastCheck || this.createSocketErrorCount !== this.createSocketErrorCountLastCheck || this.closeSocketCount !== this.closeSocketCountLastCheck || this.errorSocketCount !== this.errorSocketCountLastCheck || this.timeoutSocketCount !== this.timeoutSocketCountLastCheck || this.requestCount !== this.requestCountLastCheck; if (changed) { this.createSocketCountLastCheck = this.createSocketCount; this.createSocketErrorCountLastCheck = this.createSocketErrorCount; this.closeSocketCountLastCheck = this.closeSocketCount; this.errorSocketCountLastCheck = this.errorSocketCount; this.timeoutSocketCountLastCheck = this.timeoutSocketCount; this.requestCountLastCheck = this.requestCount; } return changed; } getCurrentStatus() { return { createSocketCount: this.createSocketCount, createSocketErrorCount: this.createSocketErrorCount, closeSocketCount: this.closeSocketCount, errorSocketCount: this.errorSocketCount, timeoutSocketCount: this.timeoutSocketCount, requestCount: this.requestCount, freeSockets: inspect(this.freeSockets), sockets: inspect(this.sockets), requests: inspect(this.requests) }; } }; function getSocketTimeout(socket) { return socket.timeout || socket._idleTimeout; } function installListeners(agent, socket, options) { debug("%s create, timeout %sms", socket[SOCKET_NAME], getSocketTimeout(socket)); function onFree() { if (!socket._httpMessage && socket[SOCKET_REQUEST_COUNT] === 1) return; socket[SOCKET_REQUEST_FINISHED_COUNT]++; agent.requestCount++; debug( "%s(requests: %s, finished: %s) free", socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT] ); const name = agent.getName(options); if (socket.writable && agent.requests[name] && agent.requests[name].length) { socket[SOCKET_REQUEST_COUNT]++; debug( "%s(requests: %s, finished: %s) will be reuse on agent free event", socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT] ); } } socket.on("free", onFree); function onClose(isError) { debug( "%s(requests: %s, finished: %s) close, isError: %s", socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], isError ); agent.closeSocketCount++; } socket.on("close", onClose); function onTimeout() { const listenerCount = socket.listeners("timeout").length; const timeout = getSocketTimeout(socket); const req = socket._httpMessage; const reqTimeoutListenerCount = req && req.listeners("timeout").length || 0; debug( "%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s", socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], timeout, listenerCount, defaultTimeoutListenerCount, !!req, reqTimeoutListenerCount ); if (debug.enabled) { debug("timeout listeners: %s", socket.listeners("timeout").map((f) => f.name).join(", ")); } agent.timeoutSocketCount++; const name = agent.getName(options); if (agent.freeSockets[name] && agent.freeSockets[name].indexOf(socket) !== -1) { socket.destroy(); agent.removeSocket(socket, options); debug("%s is free, destroy quietly", socket[SOCKET_NAME]); } else { if (reqTimeoutListenerCount === 0) { const error = new Error("Socket timeout"); error.code = "ERR_SOCKET_TIMEOUT"; error.timeout = timeout; socket.destroy(error); agent.removeSocket(socket, options); debug("%s destroy with timeout error", socket[SOCKET_NAME]); } } } socket.on("timeout", onTimeout); function onError(err) { const listenerCount = socket.listeners("error").length; debug( "%s(requests: %s, finished: %s) error: %s, listenerCount: %s", socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], err, listenerCount ); agent.errorSocketCount++; if (listenerCount === 1) { debug("%s emit uncaught error event", socket[SOCKET_NAME]); socket.removeListener("error", onError); socket.emit("error", err); } } socket.on("error", onError); function onRemove() { debug( "%s(requests: %s, finished: %s) agentRemove", socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT] ); socket.removeListener("close", onClose); socket.removeListener("error", onError); socket.removeListener("free", onFree); socket.removeListener("timeout", onTimeout); socket.removeListener("agentRemove", onRemove); } socket.on("agentRemove", onRemove); } module2.exports = Agent; function inspect(obj) { const res = {}; for (const key in obj) { res[key] = obj[key].length; } return res; } } }); // ../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/https_agent.js var require_https_agent = __commonJS({ "../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/https_agent.js"(exports2, module2) { "use strict"; var OriginalHttpsAgent = require("https").Agent; var HttpAgent = require_agent(); var { INIT_SOCKET, CREATE_HTTPS_CONNECTION } = require_constants3(); var HttpsAgent = class extends HttpAgent { constructor(options) { super(options); this.defaultPort = 443; this.protocol = "https:"; this.maxCachedSessions = this.options.maxCachedSessions; if (this.maxCachedSessions === void 0) { this.maxCachedSessions = 100; } this._sessionCache = { map: {}, list: [] }; } createConnection(options, oncreate) { const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate); this[INIT_SOCKET](socket, options); return socket; } }; HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection; [ "getName", "_getSession", "_cacheSession", // https://github.com/nodejs/node/pull/4982 "_evictSession" ].forEach(function(method) { if (typeof OriginalHttpsAgent.prototype[method] === "function") { HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method]; } }); module2.exports = HttpsAgent; } }); // ../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/index.js var require_agentkeepalive = __commonJS({ "../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/index.js"(exports2, module2) { "use strict"; var HttpAgent = require_agent(); module2.exports = HttpAgent; module2.exports.HttpAgent = HttpAgent; module2.exports.HttpsAgent = require_https_agent(); module2.exports.constants = require_constants3(); } }); // ../node_modules/.pnpm/lru-cache@7.18.3/node_modules/lru-cache/index.js var require_lru_cache = __commonJS({ "../node_modules/.pnpm/lru-cache@7.18.3/node_modules/lru-cache/index.js"(exports2, module2) { var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date; var hasAbortController = typeof AbortController === "function"; var AC = hasAbortController ? AbortController : class AbortController { constructor() { this.signal = new AS(); } abort(reason = new Error("This operation was aborted")) { this.signal.reason = this.signal.reason || reason; this.signal.aborted = true; this.signal.dispatchEvent({ type: "abort", target: this.signal }); } }; var hasAbortSignal = typeof AbortSignal === "function"; var hasACAbortSignal = typeof AC.AbortSignal === "function"; var AS = hasAbortSignal ? AbortSignal : hasACAbortSignal ? AC.AbortController : class AbortSignal { constructor() { this.reason = void 0; this.aborted = false; this._listeners = []; } dispatchEvent(e) { if (e.type === "abort") { this.aborted = true; this.onabort(e); this._listeners.forEach((f) => f(e), this); } } onabort() { } addEventListener(ev, fn) { if (ev === "abort") { this._listeners.push(fn); } } removeEventListener(ev, fn) { if (ev === "abort") { this._listeners = this._listeners.filter((f) => f !== fn); } } }; var warned = /* @__PURE__ */ new Set(); var deprecatedOption = (opt, instead) => { const code = `LRU_CACHE_OPTION_${opt}`; if (shouldWarn(code)) { warn(code, `${opt} option`, `options.${instead}`, LRUCache); } }; var deprecatedMethod = (method, instead) => { const code = `LRU_CACHE_METHOD_${method}`; if (shouldWarn(code)) { const { prototype } = LRUCache; const { get } = Object.getOwnPropertyDescriptor(prototype, method); warn(code, `${method} method`, `cache.${instead}()`, get); } }; var deprecatedProperty = (field, instead) => { const code = `LRU_CACHE_PROPERTY_${field}`; if (shouldWarn(code)) { const { prototype } = LRUCache; const { get } = Object.getOwnPropertyDescriptor(prototype, field); warn(code, `${field} property`, `cache.${instead}`, get); } }; var emitWarning = (...a) => { typeof process === "object" && process && typeof process.emitWarning === "function" ? process.emitWarning(...a) : console.error(...a); }; var shouldWarn = (code) => !warned.has(code); var warn = (code, what, instead, fn) => { warned.add(code); const msg = `The ${what} is deprecated. Please use ${instead} instead.`; emitWarning(msg, "DeprecationWarning", code, fn); }; var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n); var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null; var ZeroArray = class extends Array { constructor(size) { super(size); this.fill(0); } }; var Stack = class { constructor(max) { if (max === 0) { return []; } const UintArray = getUintArray(max); this.heap = new UintArray(max); this.length = 0; } push(n) { this.heap[this.length++] = n; } pop() { return this.heap[--this.length]; } }; var LRUCache = class _LRUCache { constructor(options = {}) { const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, fetchContext, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options; const { length, maxAge, stale } = options instanceof _LRUCache ? {} : options; if (max !== 0 && !isPosInt(max)) { throw new TypeError("max option must be a nonnegative integer"); } const UintArray = max ? getUintArray(max) : Array; if (!UintArray) { throw new Error("invalid max value: " + max); } this.max = max; this.maxSize = maxSize; this.maxEntrySize = maxEntrySize || this.maxSize; this.sizeCalculation = sizeCalculation || length; if (this.sizeCalculation) { if (!this.maxSize && !this.maxEntrySize) { throw new TypeError( "cannot set sizeCalculation without setting maxSize or maxEntrySize" ); } if (typeof this.sizeCalculation !== "function") { throw new TypeError("sizeCalculation set to non-function"); } } this.fetchMethod = fetchMethod || null; if (this.fetchMethod && typeof this.fetchMethod !== "function") { throw new TypeError( "fetchMethod must be a function if specified" ); } this.fetchContext = fetchContext; if (!this.fetchMethod && fetchContext !== void 0) { throw new TypeError( "cannot set fetchContext without fetchMethod" ); } this.keyMap = /* @__PURE__ */ new Map(); this.keyList = new Array(max).fill(null); this.valList = new Array(max).fill(null); this.next = new UintArray(max); this.prev = new UintArray(max); this.head = 0; this.tail = 0; this.free = new Stack(max); this.initialFill = 1; this.size = 0; if (typeof dispose === "function") { this.dispose = dispose; } if (typeof disposeAfter === "function") { this.disposeAfter = disposeAfter; this.disposed = []; } else { this.disposeAfter = null; this.disposed = null; } this.noDisposeOnSet = !!noDisposeOnSet; this.noUpdateTTL = !!noUpdateTTL; this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection; this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection; this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort; this.ignoreFetchAbort = !!ignoreFetchAbort; if (this.maxEntrySize !== 0) { if (this.maxSize !== 0) { if (!isPosInt(this.maxSize)) { throw new TypeError( "maxSize must be a positive integer if specified" ); } } if (!isPosInt(this.maxEntrySize)) { throw new TypeError( "maxEntrySize must be a positive integer if specified" ); } this.initializeSizeTracking(); } this.allowStale = !!allowStale || !!stale; this.noDeleteOnStaleGet = !!noDeleteOnStaleGet; this.updateAgeOnGet = !!updateAgeOnGet; this.updateAgeOnHas = !!updateAgeOnHas; this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1; this.ttlAutopurge = !!ttlAutopurge; this.ttl = ttl || maxAge || 0; if (this.ttl) { if (!isPosInt(this.ttl)) { throw new TypeError( "ttl must be a positive integer if specified" ); } this.initializeTTLTracking(); } if (this.max === 0 && this.ttl === 0 && this.maxSize === 0) { throw new TypeError( "At least one of max, maxSize, or ttl is required" ); } if (!this.ttlAutopurge && !this.max && !this.maxSize) { const code = "LRU_CACHE_UNBOUNDED"; if (shouldWarn(code)) { warned.add(code); const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption."; emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache); } } if (stale) { deprecatedOption("stale", "allowStale"); } if (maxAge) { deprecatedOption("maxAge", "ttl"); } if (length) { deprecatedOption("length", "sizeCalculation"); } } getRemainingTTL(key) { return this.has(key, { updateAgeOnHas: false }) ? Infinity : 0; } initializeTTLTracking() { this.ttls = new ZeroArray(this.max); this.starts = new ZeroArray(this.max); this.setItemTTL = (index, ttl, start = perf.now()) => { this.starts[index] = ttl !== 0 ? start : 0; this.ttls[index] = ttl; if (ttl !== 0 && this.ttlAutopurge) { const t = setTimeout(() => { if (this.isStale(index)) { this.delete(this.keyList[index]); } }, ttl + 1); if (t.unref) { t.unref(); } } }; this.updateItemAge = (index) => { this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0; }; this.statusTTL = (status, index) => { if (status) { status.ttl = this.ttls[index]; status.start = this.starts[index]; status.now = cachedNow || getNow(); status.remainingTTL = status.now + status.ttl - status.start; } }; let cachedNow = 0; const getNow = () => { const n = perf.now(); if (this.ttlResolution > 0) { cachedNow = n; const t = setTimeout( () => cachedNow = 0, this.ttlResolution ); if (t.unref) { t.unref(); } } return n; }; this.getRemainingTTL = (key) => { const index = this.keyMap.get(key); if (index === void 0) { return 0; } return this.ttls[index] === 0 || this.starts[index] === 0 ? Infinity : this.starts[index] + this.ttls[index] - (cachedNow || getNow()); }; this.isStale = (index) => { return this.ttls[index] !== 0 && this.starts[index] !== 0 && (cachedNow || getNow()) - this.starts[index] > this.ttls[index]; }; } updateItemAge(_index) { } statusTTL(_status, _index) { } setItemTTL(_index, _ttl, _start) { } isStale(_index) { return false; } initializeSizeTracking() { this.calculatedSize = 0; this.sizes = new ZeroArray(this.max); this.removeItemSize = (index) => { this.calculatedSize -= this.sizes[index]; this.sizes[index] = 0; }; this.requireSize = (k, v, size, sizeCalculation) => { if (this.isBackgroundFetch(v)) { return 0; } if (!isPosInt(size)) { if (sizeCalculation) { if (typeof sizeCalculation !== "function") { throw new TypeError("sizeCalculation must be a function"); } size = sizeCalculation(v, k); if (!isPosInt(size)) { throw new TypeError( "sizeCalculation return invalid (expect positive integer)" ); } } else { throw new TypeError( "invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set." ); } } return size; }; this.addItemSize = (index, size, status) => { this.sizes[index] = size; if (this.maxSize) { const maxSize = this.maxSize - this.sizes[index]; while (this.calculatedSize > maxSize) { this.evict(true); } } this.calculatedSize += this.sizes[index]; if (status) { status.entrySize = size; status.totalCalculatedSize = this.calculatedSize; } }; } removeItemSize(_index) { } addItemSize(_index, _size) { } requireSize(_k, _v, size, sizeCalculation) { if (size || sizeCalculation) { throw new TypeError( "cannot set size without setting maxSize or maxEntrySize on cache" ); } } *indexes({ allowStale = this.allowStale } = {}) { if (this.size) { for (let i = this.tail; true; ) { if (!this.isValidIndex(i)) { break; } if (allowStale || !this.isStale(i)) { yield i; } if (i === this.head) { break; } else { i = this.prev[i]; } } } } *rindexes({ allowStale = this.allowStale } = {}) { if (this.size) { for (let i = this.head; true; ) { if (!this.isValidIndex(i)) { break; } if (allowStale || !this.isStale(i)) { yield i; } if (i === this.tail) { break; } else { i = this.next[i]; } } } } isValidIndex(index) { return index !== void 0 && this.keyMap.get(this.keyList[index]) === index; } *entries() { for (const i of this.indexes()) { if (this.valList[i] !== void 0 && this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { yield [this.keyList[i], this.valList[i]]; } } } *rentries() { for (const i of this.rindexes()) { if (this.valList[i] !== void 0 && this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { yield [this.keyList[i], this.valList[i]]; } } } *keys() { for (const i of this.indexes()) { if (this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { yield this.keyList[i]; } } } *rkeys() { for (const i of this.rindexes()) { if (this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { yield this.keyList[i]; } } } *values() { for (const i of this.indexes()) { if (this.valList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { yield this.valList[i]; } } } *rvalues() { for (const i of this.rindexes()) { if (this.valList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) { yield this.valList[i]; } } } [Symbol.iterator]() { return this.entries(); } find(fn, getOptions) { for (const i of this.indexes()) { const v = this.valList[i]; const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; if (value === void 0) continue; if (fn(value, this.keyList[i], this)) { return this.get(this.keyList[i], getOptions); } } } forEach(fn, thisp = this) { for (const i of this.indexes()) { const v = this.valList[i]; const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; if (value === void 0) continue; fn.call(thisp, value, this.keyList[i], this); } } rforEach(fn, thisp = this) { for (const i of this.rindexes()) { const v = this.valList[i]; const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; if (value === void 0) continue; fn.call(thisp, value, this.keyList[i], this); } } get prune() { deprecatedMethod("prune", "purgeStale"); return this.purgeStale; } purgeStale() { let deleted = false; for (const i of this.rindexes({ allowStale: true })) { if (this.isStale(i)) { this.delete(this.keyList[i]); deleted = true; } } return deleted; } dump() { const arr = []; for (const i of this.indexes({ allowStale: true })) { const key = this.keyList[i]; const v = this.valList[i]; const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; if (value === void 0) continue; const entry = { value }; if (this.ttls) { entry.ttl = this.ttls[i]; const age = perf.now() - this.starts[i]; entry.start = Math.floor(Date.now() - age); } if (this.sizes) { entry.size = this.sizes[i]; } arr.unshift([key, entry]); } return arr; } load(arr) { this.clear(); for (const [key, entry] of arr) { if (entry.start) { const age = Date.now() - entry.start; entry.start = perf.now() - age; } this.set(key, entry.value, entry); } } dispose(_v, _k, _reason) { } set(k, v, { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, status } = {}) { size = this.requireSize(k, v, size, sizeCalculation); if (this.maxEntrySize && size > this.maxEntrySize) { if (status) { status.set = "miss"; status.maxEntrySizeExceeded = true; } this.delete(k); return this; } let index = this.size === 0 ? void 0 : this.keyMap.get(k); if (index === void 0) { index = this.newIndex(); this.keyList[index] = k; this.valList[index] = v; this.keyMap.set(k, index); this.next[this.tail] = index; this.prev[index] = this.tail; this.tail = index; this.size++; this.addItemSize(index, size, status); if (status) { status.set = "add"; } noUpdateTTL = false; } else { this.moveToTail(index); const oldVal = this.valList[index]; if (v !== oldVal) { if (this.isBackgroundFetch(oldVal)) { oldVal.__abortController.abort(new Error("replaced")); } else { if (!noDisposeOnSet) { this.dispose(oldVal, k, "set"); if (this.disposeAfter) { this.disposed.push([oldVal, k, "set"]); } } } this.removeItemSize(index); this.valList[index] = v; this.addItemSize(index, size, status); if (status) { status.set = "replace"; const oldValue = oldVal && this.isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal; if (oldValue !== void 0) status.oldValue = oldValue; } } else if (status) { status.set = "update"; } } if (ttl !== 0 && this.ttl === 0 && !this.ttls) { this.initializeTTLTracking(); } if (!noUpdateTTL) { this.setItemTTL(index, ttl, start); } this.statusTTL(status, index); if (this.disposeAfter) { while (this.disposed.length) { this.disposeAfter(...this.disposed.shift()); } } return this; } newIndex() { if (this.size === 0) { return this.tail; } if (this.size === this.max && this.max !== 0) { return this.evict(false); } if (this.free.length !== 0) { return this.free.pop(); } return this.initialFill++; } pop() { if (this.size) { const val = this.valList[this.head]; this.evict(true); return val; } } evict(free) { const head = this.head; const k = this.keyList[head]; const v = this.valList[head]; if (this.isBackgroundFetch(v)) { v.__abortController.abort(new Error("evicted")); } else { this.dispose(v, k, "evict"); if (this.disposeAfter) { this.disposed.push([v, k, "evict"]); } } this.removeItemSize(head); if (free) { this.keyList[head] = null; this.valList[head] = null; this.free.push(head); } this.head = this.next[head]; this.keyMap.delete(k); this.size--; return head; } has(k, { updateAgeOnHas = this.updateAgeOnHas, status } = {}) { const index = this.keyMap.get(k); if (index !== void 0) { if (!this.isStale(index)) { if (updateAgeOnHas) { this.updateItemAge(index); } if (status) status.has = "hit"; this.statusTTL(status, index); return true; } else if (status) { status.has = "stale"; this.statusTTL(status, index); } } else if (status) { status.has = "miss"; } return false; } // like get(), but without any LRU updating or TTL expiration peek(k, { allowStale = this.allowStale } = {}) { const index = this.keyMap.get(k); if (index !== void 0 && (allowStale || !this.isStale(index))) { const v = this.valList[index]; return this.isBackgroundFetch(v) ? v.__staleWhileFetching : v; } } backgroundFetch(k, index, options, context) { const v = index === void 0 ? void 0 : this.valList[index]; if (this.isBackgroundFetch(v)) { return v; } const ac = new AC(); if (options.signal) { options.signal.addEventListener( "abort", () => ac.abort(options.signal.reason) ); } const fetchOpts = { signal: ac.signal, options, context }; const cb = (v2, updateCache = false) => { const { aborted } = ac.signal; const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0; if (options.status) { if (aborted && !updateCache) { options.status.fetchAborted = true; options.status.fetchError = ac.signal.reason; if (ignoreAbort) options.status.fetchAbortIgnored = true; } else { options.status.fetchResolved = true; } } if (aborted && !ignoreAbort && !updateCache) { return fetchFail(ac.signal.reason); } if (this.valList[index] === p) { if (v2 === void 0) { if (p.__staleWhileFetching) { this.valList[index] = p.__staleWhileFetching; } else { this.delete(k); } } else { if (options.status) options.status.fetchUpdated = true; this.set(k, v2, fetchOpts.options); } } return v2; }; const eb = (er) => { if (options.status) { options.status.fetchRejected = true; options.status.fetchError = er; } return fetchFail(er); }; const fetchFail = (er) => { const { aborted } = ac.signal; const allowStaleAborted = aborted && options.allowStaleOnFetchAbort; const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection; const noDelete = allowStale || options.noDeleteOnFetchRejection; if (this.valList[index] === p) { const del = !noDelete || p.__staleWhileFetching === void 0; if (del) { this.delete(k); } else if (!allowStaleAborted) { this.valList[index] = p.__staleWhileFetching; } } if (allowStale) { if (options.status && p.__staleWhileFetching !== void 0) { options.status.returnedStale = true; } return p.__staleWhileFetching; } else if (p.__returned === p) { throw er; } }; const pcall = (res, rej) => { this.fetchMethod(k, v, fetchOpts).then((v2) => res(v2), rej); ac.signal.addEventListener("abort", () => { if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) { res(); if (options.allowStaleOnFetchAbort) { res = (v2) => cb(v2, true); } } }); }; if (options.status) options.status.fetchDispatched = true; const p = new Promise(pcall).then(cb, eb); p.__abortController = ac; p.__staleWhileFetching = v; p.__returned = null; if (index === void 0) { this.set(k, p, { ...fetchOpts.options, status: void 0 }); index = this.keyMap.get(k); } else { this.valList[index] = p; } return p; } isBackgroundFetch(p) { return p && typeof p === "object" && typeof p.then === "function" && Object.prototype.hasOwnProperty.call( p, "__staleWhileFetching" ) && Object.prototype.hasOwnProperty.call(p, "__returned") && (p.__returned === p || p.__returned === null); } // this takes the union of get() and set() opts, because it does both async fetch(k, { // get options allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, // set options ttl = this.ttl, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, // fetch exclusive options noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, ignoreFetchAbort = this.ignoreFetchAbort, allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, fetchContext = this.fetchContext, forceRefresh = false, status, signal } = {}) { if (!this.fetchMethod) { if (status) status.fetch = "get"; return this.get(k, { allowStale, updateAgeOnGet, noDeleteOnStaleGet, status }); } const options = { allowStale, updateAgeOnGet, noDeleteOnStaleGet, ttl, noDisposeOnSet, size, sizeCalculation, noUpdateTTL, noDeleteOnFetchRejection, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, status, signal }; let index = this.keyMap.get(k); if (index === void 0) { if (status) status.fetch = "miss"; const p = this.backgroundFetch(k, index, options, fetchContext); return p.__returned = p; } else { const v = this.valList[index]; if (this.isBackgroundFetch(v)) { const stale = allowStale && v.__staleWhileFetching !== void 0; if (status) { status.fetch = "inflight"; if (stale) status.returnedStale = true; } return stale ? v.__staleWhileFetching : v.__returned = v; } const isStale = this.isStale(index); if (!forceRefresh && !isStale) { if (status) status.fetch = "hit"; this.moveToTail(index); if (updateAgeOnGet) { this.updateItemAge(index); } this.statusTTL(status, index); return v; } const p = this.backgroundFetch(k, index, options, fetchContext); const hasStale = p.__staleWhileFetching !== void 0; const staleVal = hasStale && allowStale; if (status) { status.fetch = hasStale && isStale ? "stale" : "refresh"; if (staleVal && isStale) status.returnedStale = true; } return staleVal ? p.__staleWhileFetching : p.__returned = p; } } get(k, { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = {}) { const index = this.keyMap.get(k); if (index !== void 0) { const value = this.valList[index]; const fetching = this.isBackgroundFetch(value); this.statusTTL(status, index); if (this.isStale(index)) { if (status) status.get = "stale"; if (!fetching) { if (!noDeleteOnStaleGet) { this.delete(k); } if (status) status.returnedStale = allowStale; return allowStale ? value : void 0; } else { if (status) { status.returnedStale = allowStale && value.__staleWhileFetching !== void 0; } return allowStale ? value.__staleWhileFetching : void 0; } } else { if (status) status.get = "hit"; if (fetching) { return value.__staleWhileFetching; } this.moveToTail(index); if (updateAgeOnGet) { this.updateItemAge(index); } return value; } } else if (status) { status.get = "miss"; } } connect(p, n) { this.prev[n] = p; this.next[p] = n; } moveToTail(index) { if (index !== this.tail) { if (index === this.head) { this.head = this.next[index]; } else { this.connect(this.prev[index], this.next[index]); } this.connect(this.tail, index); this.tail = index; } } get del() { deprecatedMethod("del", "delete"); return this.delete; } delete(k) { let deleted = false; if (this.size !== 0) { const index = this.keyMap.get(k); if (index !== void 0) { deleted = true; if (this.size === 1) { this.clear(); } else { this.removeItemSize(index); const v = this.valList[index]; if (this.isBackgroundFetch(v)) { v.__abortController.abort(new Error("deleted")); } else { this.dispose(v, k, "delete"); if (this.disposeAfter) { this.disposed.push([v, k, "delete"]); } } this.keyMap.delete(k); this.keyList[index] = null; this.valList[index] = null; if (index === this.tail) { this.tail = this.prev[index]; } else if (index === this.head) { this.head = this.next[index]; } else { this.next[this.prev[index]] = this.next[index]; this.prev[this.next[index]] = this.prev[index]; } this.size--; this.free.push(index); } } } if (this.disposed) { while (this.disposed.length) { this.disposeAfter(...this.disposed.shift()); } } return deleted; } clear() { for (const index of this.rindexes({ allowStale: true })) { const v = this.valList[index]; if (this.isBackgroundFetch(v)) { v.__abortController.abort(new Error("deleted")); } else { const k = this.keyList[index]; this.dispose(v, k, "delete"); if (this.disposeAfter) { this.disposed.push([v, k, "delete"]); } } } this.keyMap.clear(); this.valList.fill(null); this.keyList.fill(null); if (this.ttls) { this.ttls.fill(0); this.starts.fill(0); } if (this.sizes) { this.sizes.fill(0); } this.head = 0; this.tail = 0; this.initialFill = 1; this.free.length = 0; this.calculatedSize = 0; this.size = 0; if (this.disposed) { while (this.disposed.length) { this.disposeAfter(...this.disposed.shift()); } } } get reset() { deprecatedMethod("reset", "clear"); return this.clear; } get length() { deprecatedProperty("length", "size"); return this.size; } static get AbortController() { return AC; } static get AbortSignal() { return AS; } }; module2.exports = LRUCache; } }); // ../node_modules/.pnpm/@pnpm+constants@1001.3.1/node_modules/@pnpm/constants/lib/index.js var require_lib27 = __commonJS({ "../node_modules/.pnpm/@pnpm+constants@1001.3.1/node_modules/@pnpm/constants/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.USEFUL_NON_ROOT_PNPM_FIELDS = exports2.FULL_FILTERED_META_DIR = exports2.FULL_META_DIR = exports2.ABBREVIATED_META_DIR = exports2.WORKSPACE_MANIFEST_FILENAME = exports2.STORE_VERSION = exports2.LAYOUT_VERSION = exports2.ENGINE_NAME = exports2.MANIFEST_BASE_NAMES = exports2.LOCKFILE_VERSION = exports2.LOCKFILE_MAJOR_VERSION = exports2.WANTED_LOCKFILE = void 0; exports2.getNodeBinLocationForCurrentOS = getNodeBinLocationForCurrentOS; exports2.getDenoBinLocationForCurrentOS = getDenoBinLocationForCurrentOS; exports2.getBunBinLocationForCurrentOS = getBunBinLocationForCurrentOS; exports2.WANTED_LOCKFILE = "pnpm-lock.yaml"; exports2.LOCKFILE_MAJOR_VERSION = "9"; exports2.LOCKFILE_VERSION = `${exports2.LOCKFILE_MAJOR_VERSION}.0`; exports2.MANIFEST_BASE_NAMES = ["package.json", "package.json5", "package.yaml"]; exports2.ENGINE_NAME = `${process.platform};${process.arch};node${process.version.split(".")[0].substring(1)}`; exports2.LAYOUT_VERSION = 5; exports2.STORE_VERSION = "v10"; exports2.WORKSPACE_MANIFEST_FILENAME = "pnpm-workspace.yaml"; exports2.ABBREVIATED_META_DIR = "metadata-v1.3"; exports2.FULL_META_DIR = "metadata-full-v1.3"; exports2.FULL_FILTERED_META_DIR = "metadata-ff-v1.3"; exports2.USEFUL_NON_ROOT_PNPM_FIELDS = ["executionEnv"]; function getNodeBinLocationForCurrentOS(platform = process.platform) { return platform === "win32" ? "node.exe" : "bin/node"; } function getDenoBinLocationForCurrentOS(platform = process.platform) { return platform === "win32" ? "deno.exe" : "deno"; } function getBunBinLocationForCurrentOS(platform = process.platform) { return platform === "win32" ? "bun.exe" : "bun"; } } }); // ../node_modules/.pnpm/@pnpm+error@1000.0.5/node_modules/@pnpm/error/lib/index.js var require_lib28 = __commonJS({ "../node_modules/.pnpm/@pnpm+error@1000.0.5/node_modules/@pnpm/error/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LockfileMissingDependencyError = exports2.FetchError = exports2.PnpmError = void 0; var constants_1 = require_lib27(); var PnpmError = class extends Error { code; hint; attempts; prefix; pkgsStack; constructor(code, message, opts) { super(message); this.code = code.startsWith("ERR_PNPM_") ? code : `ERR_PNPM_${code}`; this.hint = opts?.hint; this.attempts = opts?.attempts; } }; exports2.PnpmError = PnpmError; var FetchError = class extends PnpmError { response; request; constructor(request, response, hint) { const _request = { url: request.url }; if (request.authHeaderValue) { _request.authHeaderValue = hideAuthInformation(request.authHeaderValue); } const message = `GET ${request.url}: ${response.statusText} - ${response.status}`; if (response.status === 401 || response.status === 403 || response.status === 404) { hint = hint ? `${hint} ` : ""; if (_request.authHeaderValue) { hint += `An authorization header was used: ${_request.authHeaderValue}`; } else { hint += "No authorization header was set for the request."; } } super(`FETCH_${response.status}`, message, { hint }); this.request = _request; this.response = response; } }; exports2.FetchError = FetchError; function hideAuthInformation(authHeaderValue) { const [authType, token] = authHeaderValue.split(" "); if (token == null) return "[hidden]"; if (token.length < 20) { return `${authType} [hidden]`; } return `${authType} ${token.substring(0, 4)}[hidden]`; } var LockfileMissingDependencyError = class extends PnpmError { constructor(depPath) { const message = `Broken lockfile: no entry for '${depPath}' in ${constants_1.WANTED_LOCKFILE}`; super("LOCKFILE_MISSING_DEPENDENCY", message, { hint: "This issue is probably caused by a badly resolved merge conflict.\nTo fix the lockfile, run 'pnpm install --no-frozen-lockfile'." }); } }; exports2.LockfileMissingDependencyError = LockfileMissingDependencyError; } }); // ../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/common.js var require_common2 = __commonJS({ "../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/common.js"(exports2, module2) { function setup(env) { createDebug.debug = createDebug; createDebug.default = createDebug; createDebug.coerce = coerce; createDebug.disable = disable; createDebug.enable = enable; createDebug.enabled = enabled; createDebug.humanize = require_ms(); createDebug.destroy = destroy; Object.keys(env).forEach((key) => { createDebug[key] = env[key]; }); createDebug.names = []; createDebug.skips = []; createDebug.formatters = {}; function selectColor(namespace) { let hash = 0; for (let i = 0; i < namespace.length; i++) { hash = (hash << 5) - hash + namespace.charCodeAt(i); hash |= 0; } return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; } createDebug.selectColor = selectColor; function createDebug(namespace) { let prevTime; let enableOverride = null; let namespacesCache; let enabledCache; function debug(...args) { if (!debug.enabled) { return; } const self2 = debug; const curr = Number(/* @__PURE__ */ new Date()); const ms = curr - (prevTime || curr); self2.diff = ms; self2.prev = prevTime; self2.curr = curr; prevTime = curr; args[0] = createDebug.coerce(args[0]); if (typeof args[0] !== "string") { args.unshift("%O"); } let index = 0; args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { if (match === "%%") { return "%"; } index++; const formatter = createDebug.formatters[format]; if (typeof formatter === "function") { const val = args[index]; match = formatter.call(self2, val); args.splice(index, 1); index--; } return match; }); createDebug.formatArgs.call(self2, args); const logFn = self2.log || createDebug.log; logFn.apply(self2, args); } debug.namespace = namespace; debug.useColors = createDebug.useColors(); debug.color = createDebug.selectColor(namespace); debug.extend = extend; debug.destroy = createDebug.destroy; Object.defineProperty(debug, "enabled", { enumerable: true, configurable: false, get: () => { if (enableOverride !== null) { return enableOverride; } if (namespacesCache !== createDebug.namespaces) { namespacesCache = createDebug.namespaces; enabledCache = createDebug.enabled(namespace); } return enabledCache; }, set: (v) => { enableOverride = v; } }); if (typeof createDebug.init === "function") { createDebug.init(debug); } return debug; } function extend(namespace, delimiter) { const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); newDebug.log = this.log; return newDebug; } function enable(namespaces) { createDebug.save(namespaces); createDebug.namespaces = namespaces; createDebug.names = []; createDebug.skips = []; const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean); for (const ns of split) { if (ns[0] === "-") { createDebug.skips.push(ns.slice(1)); } else { createDebug.names.push(ns); } } } function matchesTemplate(search, template) { let searchIndex = 0; let templateIndex = 0; let starIndex = -1; let matchIndex = 0; while (searchIndex < search.length) { if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) { if (template[templateIndex] === "*") { starIndex = templateIndex; matchIndex = searchIndex; templateIndex++; } else { searchIndex++; templateIndex++; } } else if (starIndex !== -1) { templateIndex = starIndex + 1; matchIndex++; searchIndex = matchIndex; } else { return false; } } while (templateIndex < template.length && template[templateIndex] === "*") { templateIndex++; } return templateIndex === template.length; } function disable() { const namespaces = [ ...createDebug.names, ...createDebug.skips.map((namespace) => "-" + namespace) ].join(","); createDebug.enable(""); return namespaces; } function enabled(name) { for (const skip of createDebug.skips) { if (matchesTemplate(name, skip)) { return false; } } for (const ns of createDebug.names) { if (matchesTemplate(name, ns)) { return true; } } return false; } function coerce(val) { if (val instanceof Error) { return val.stack || val.message; } return val; } function destroy() { console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); } createDebug.enable(createDebug.load()); return createDebug; } module2.exports = setup; } }); // ../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/browser.js var require_browser = __commonJS({ "../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/browser.js"(exports2, module2) { exports2.formatArgs = formatArgs; exports2.save = save; exports2.load = load; exports2.useColors = useColors; exports2.storage = localstorage(); exports2.destroy = /* @__PURE__ */ (() => { let warned = false; return () => { if (!warned) { warned = true; console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); } }; })(); exports2.colors = [ "#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33" ]; function useColors() { if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { return true; } if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { return false; } let m; return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); } function formatArgs(args) { args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); if (!this.useColors) { return; } const c = "color: " + this.color; args.splice(1, 0, c, "color: inherit"); let index = 0; let lastC = 0; args[0].replace(/%[a-zA-Z%]/g, (match) => { if (match === "%%") { return; } index++; if (match === "%c") { lastC = index; } }); args.splice(lastC, 0, c); } exports2.log = console.debug || console.log || (() => { }); function save(namespaces) { try { if (namespaces) { exports2.storage.setItem("debug", namespaces); } else { exports2.storage.removeItem("debug"); } } catch (error) { } } function load() { let r; try { r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG"); } catch (error) { } if (!r && typeof process !== "undefined" && "env" in process) { r = process.env.DEBUG; } return r; } function localstorage() { try { return localStorage; } catch (error) { } } module2.exports = require_common2()(exports2); var { formatters } = module2.exports; formatters.j = function(v) { try { return JSON.stringify(v); } catch (error) { return "[UnexpectedJSONParseError]: " + error.message; } }; } }); // ../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/node.js var require_node2 = __commonJS({ "../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/node.js"(exports2, module2) { var tty = require("tty"); var util = require("util"); exports2.init = init; exports2.log = log; exports2.formatArgs = formatArgs; exports2.save = save; exports2.load = load; exports2.useColors = useColors; exports2.destroy = util.deprecate( () => { }, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." ); exports2.colors = [6, 2, 3, 4, 5, 1]; try { const supportsColor = require("supports-color"); if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { exports2.colors = [ 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221 ]; } } catch (error) { } exports2.inspectOpts = Object.keys(process.env).filter((key) => { return /^debug_/i.test(key); }).reduce((obj, key) => { const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { return k.toUpperCase(); }); let val = process.env[key]; if (/^(yes|on|true|enabled)$/i.test(val)) { val = true; } else if (/^(no|off|false|disabled)$/i.test(val)) { val = false; } else if (val === "null") { val = null; } else { val = Number(val); } obj[prop] = val; return obj; }, {}); function useColors() { return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd); } function formatArgs(args) { const { namespace: name, useColors: useColors2 } = this; if (useColors2) { const c = this.color; const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); const prefix = ` ${colorCode};1m${name} \x1B[0m`; args[0] = prefix + args[0].split("\n").join("\n" + prefix); args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); } else { args[0] = getDate() + name + " " + args[0]; } } function getDate() { if (exports2.inspectOpts.hideDate) { return ""; } return (/* @__PURE__ */ new Date()).toISOString() + " "; } function log(...args) { return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n"); } function save(namespaces) { if (namespaces) { process.env.DEBUG = namespaces; } else { delete process.env.DEBUG; } } function load() { return process.env.DEBUG; } function init(debug) { debug.inspectOpts = {}; const keys = Object.keys(exports2.inspectOpts); for (let i = 0; i < keys.length; i++) { debug.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]]; } } module2.exports = require_common2()(exports2); var { formatters } = module2.exports; formatters.o = function(v) { this.inspectOpts.colors = this.useColors; return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); }; formatters.O = function(v) { this.inspectOpts.colors = this.useColors; return util.inspect(v, this.inspectOpts); }; } }); // ../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/index.js var require_src2 = __commonJS({ "../node_modules/.pnpm/debug@4.4.1/node_modules/debug/src/index.js"(exports2, module2) { if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { module2.exports = require_browser(); } else { module2.exports = require_node2(); } } }); // ../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/helpers.js var require_helpers = __commonJS({ "../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/helpers.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.req = exports2.json = exports2.toBuffer = void 0; var http = __importStar3(require("http")); var https = __importStar3(require("https")); async function toBuffer(stream) { let length = 0; const chunks = []; for await (const chunk of stream) { length += chunk.length; chunks.push(chunk); } return Buffer.concat(chunks, length); } exports2.toBuffer = toBuffer; async function json(stream) { const buf = await toBuffer(stream); const str = buf.toString("utf8"); try { return JSON.parse(str); } catch (_err) { const err = _err; err.message += ` (input: ${str})`; throw err; } } exports2.json = json; function req(url, opts = {}) { const href = typeof url === "string" ? url : url.href; const req2 = (href.startsWith("https:") ? https : http).request(url, opts); const promise = new Promise((resolve, reject) => { req2.once("response", resolve).once("error", reject).end(); }); req2.then = promise.then.bind(promise); return req2; } exports2.req = req; } }); // ../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/index.js var require_dist6 = __commonJS({ "../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Agent = void 0; var net = __importStar3(require("net")); var http = __importStar3(require("http")); var https_1 = require("https"); __exportStar2(require_helpers(), exports2); var INTERNAL = Symbol("AgentBaseInternalState"); var Agent = class extends http.Agent { constructor(opts) { super(opts); this[INTERNAL] = {}; } /** * Determine whether this is an `http` or `https` request. */ isSecureEndpoint(options) { if (options) { if (typeof options.secureEndpoint === "boolean") { return options.secureEndpoint; } if (typeof options.protocol === "string") { return options.protocol === "https:"; } } const { stack } = new Error(); if (typeof stack !== "string") return false; return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1); } // In order to support async signatures in `connect()` and Node's native // connection pooling in `http.Agent`, the array of sockets for each origin // has to be updated synchronously. This is so the length of the array is // accurate when `addRequest()` is next called. We achieve this by creating a // fake socket and adding it to `sockets[origin]` and incrementing // `totalSocketCount`. incrementSockets(name) { if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) { return null; } if (!this.sockets[name]) { this.sockets[name] = []; } const fakeSocket = new net.Socket({ writable: false }); this.sockets[name].push(fakeSocket); this.totalSocketCount++; return fakeSocket; } decrementSockets(name, socket) { if (!this.sockets[name] || socket === null) { return; } const sockets = this.sockets[name]; const index = sockets.indexOf(socket); if (index !== -1) { sockets.splice(index, 1); this.totalSocketCount--; if (sockets.length === 0) { delete this.sockets[name]; } } } // In order to properly update the socket pool, we need to call `getName()` on // the core `https.Agent` if it is a secureEndpoint. getName(options) { const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options); if (secureEndpoint) { return https_1.Agent.prototype.getName.call(this, options); } return super.getName(options); } createSocket(req, options, cb) { const connectOpts = { ...options, secureEndpoint: this.isSecureEndpoint(options) }; const name = this.getName(connectOpts); const fakeSocket = this.incrementSockets(name); Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => { this.decrementSockets(name, fakeSocket); if (socket instanceof http.Agent) { try { return socket.addRequest(req, connectOpts); } catch (err) { return cb(err); } } this[INTERNAL].currentSocket = socket; super.createSocket(req, options, cb); }, (err) => { this.decrementSockets(name, fakeSocket); cb(err); }); } createConnection() { const socket = this[INTERNAL].currentSocket; this[INTERNAL].currentSocket = void 0; if (!socket) { throw new Error("No socket was returned in the `connect()` function"); } return socket; } get defaultPort() { return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80); } set defaultPort(v) { if (this[INTERNAL]) { this[INTERNAL].defaultPort = v; } } get protocol() { return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:"); } set protocol(v) { if (this[INTERNAL]) { this[INTERNAL].protocol = v; } } }; exports2.Agent = Agent; } }); // ../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/parse-proxy-response.js var require_parse_proxy_response = __commonJS({ "../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseProxyResponse = void 0; var debug_1 = __importDefault2(require_src2()); var debug = (0, debug_1.default)("https-proxy-agent:parse-proxy-response"); function parseProxyResponse(socket) { return new Promise((resolve, reject) => { let buffersLength = 0; const buffers = []; function read() { const b = socket.read(); if (b) ondata(b); else socket.once("readable", read); } function cleanup() { socket.removeListener("end", onend); socket.removeListener("error", onerror); socket.removeListener("readable", read); } function onend() { cleanup(); debug("onend"); reject(new Error("Proxy connection ended before receiving CONNECT response")); } function onerror(err) { cleanup(); debug("onerror %o", err); reject(err); } function ondata(b) { buffers.push(b); buffersLength += b.length; const buffered = Buffer.concat(buffers, buffersLength); const endOfHeaders = buffered.indexOf("\r\n\r\n"); if (endOfHeaders === -1) { debug("have not received end of HTTP headers yet..."); read(); return; } const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n"); const firstLine = headerParts.shift(); if (!firstLine) { socket.destroy(); return reject(new Error("No header received from proxy CONNECT response")); } const firstLineParts = firstLine.split(" "); const statusCode = +firstLineParts[1]; const statusText = firstLineParts.slice(2).join(" "); const headers = {}; for (const header of headerParts) { if (!header) continue; const firstColon = header.indexOf(":"); if (firstColon === -1) { socket.destroy(); return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`)); } const key = header.slice(0, firstColon).toLowerCase(); const value = header.slice(firstColon + 1).trimStart(); const current = headers[key]; if (typeof current === "string") { headers[key] = [current, value]; } else if (Array.isArray(current)) { current.push(value); } else { headers[key] = value; } } debug("got proxy server response: %o %o", firstLine, headers); cleanup(); resolve({ connect: { statusCode, statusText, headers }, buffered }); } socket.on("error", onerror); socket.on("end", onend); read(); }); } exports2.parseProxyResponse = parseProxyResponse; } }); // ../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/index.js var require_dist7 = __commonJS({ "../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.HttpsProxyAgent = void 0; var net = __importStar3(require("net")); var tls = __importStar3(require("tls")); var assert_1 = __importDefault2(require("assert")); var debug_1 = __importDefault2(require_src2()); var agent_base_1 = require_dist6(); var url_1 = require("url"); var parse_proxy_response_1 = require_parse_proxy_response(); var debug = (0, debug_1.default)("https-proxy-agent"); var setServernameFromNonIpHost = (options) => { if (options.servername === void 0 && options.host && !net.isIP(options.host)) { return { ...options, servername: options.host }; } return options; }; var HttpsProxyAgent = class extends agent_base_1.Agent { constructor(proxy, opts) { super(opts); this.options = { path: void 0 }; this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy; this.proxyHeaders = opts?.headers ?? {}; debug("Creating new HttpsProxyAgent instance: %o", this.proxy.href); const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ""); const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80; this.connectOpts = { // Attempt to negotiate http/1.1 for proxy servers that support http/2 ALPNProtocols: ["http/1.1"], ...opts ? omit(opts, "headers") : null, host, port }; } /** * Called when the node-core HTTP client library is creating a * new HTTP request. */ async connect(req, opts) { const { proxy } = this; if (!opts.host) { throw new TypeError('No "host" provided'); } let socket; if (proxy.protocol === "https:") { debug("Creating `tls.Socket`: %o", this.connectOpts); socket = tls.connect(setServernameFromNonIpHost(this.connectOpts)); } else { debug("Creating `net.Socket`: %o", this.connectOpts); socket = net.connect(this.connectOpts); } const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders }; const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host; let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r `; if (proxy.username || proxy.password) { const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`; } headers.Host = `${host}:${opts.port}`; if (!headers["Proxy-Connection"]) { headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close"; } for (const name of Object.keys(headers)) { payload += `${name}: ${headers[name]}\r `; } const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket); socket.write(`${payload}\r `); const { connect, buffered } = await proxyResponsePromise; req.emit("proxyConnect", connect); this.emit("proxyConnect", connect, req); if (connect.statusCode === 200) { req.once("socket", resume); if (opts.secureEndpoint) { debug("Upgrading socket connection to TLS"); return tls.connect({ ...omit(setServernameFromNonIpHost(opts), "host", "path", "port"), socket }); } return socket; } socket.destroy(); const fakeSocket = new net.Socket({ writable: false }); fakeSocket.readable = true; req.once("socket", (s) => { debug("Replaying proxy buffer for failed request"); (0, assert_1.default)(s.listenerCount("data") > 0); s.push(buffered); s.push(null); }); return fakeSocket; } }; HttpsProxyAgent.protocols = ["http", "https"]; exports2.HttpsProxyAgent = HttpsProxyAgent; function resume(socket) { socket.resume(); } function omit(obj, ...keys) { const ret2 = {}; let key; for (key in obj) { if (!keys.includes(key)) { ret2[key] = obj[key]; } } return ret2; } } }); // ../node_modules/.pnpm/http-proxy-agent@7.0.2/node_modules/http-proxy-agent/dist/index.js var require_dist8 = __commonJS({ "../node_modules/.pnpm/http-proxy-agent@7.0.2/node_modules/http-proxy-agent/dist/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.HttpProxyAgent = void 0; var net = __importStar3(require("net")); var tls = __importStar3(require("tls")); var debug_1 = __importDefault2(require_src2()); var events_1 = require("events"); var agent_base_1 = require_dist6(); var url_1 = require("url"); var debug = (0, debug_1.default)("http-proxy-agent"); var HttpProxyAgent = class extends agent_base_1.Agent { constructor(proxy, opts) { super(opts); this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy; this.proxyHeaders = opts?.headers ?? {}; debug("Creating new HttpProxyAgent instance: %o", this.proxy.href); const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ""); const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80; this.connectOpts = { ...opts ? omit(opts, "headers") : null, host, port }; } addRequest(req, opts) { req._header = null; this.setRequestProps(req, opts); super.addRequest(req, opts); } setRequestProps(req, opts) { const { proxy } = this; const protocol = opts.secureEndpoint ? "https:" : "http:"; const hostname = req.getHeader("host") || "localhost"; const base = `${protocol}//${hostname}`; const url = new url_1.URL(req.path, base); if (opts.port !== 80) { url.port = String(opts.port); } req.path = String(url); const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders }; if (proxy.username || proxy.password) { const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`; } if (!headers["Proxy-Connection"]) { headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close"; } for (const name of Object.keys(headers)) { const value = headers[name]; if (value) { req.setHeader(name, value); } } } async connect(req, opts) { req._header = null; if (!req.path.includes("://")) { this.setRequestProps(req, opts); } let first; let endOfHeaders; debug("Regenerating stored HTTP header string for request"); req._implicitHeader(); if (req.outputData && req.outputData.length > 0) { debug("Patching connection write() output buffer with updated header"); first = req.outputData[0].data; endOfHeaders = first.indexOf("\r\n\r\n") + 4; req.outputData[0].data = req._header + first.substring(endOfHeaders); debug("Output buffer: %o", req.outputData[0].data); } let socket; if (this.proxy.protocol === "https:") { debug("Creating `tls.Socket`: %o", this.connectOpts); socket = tls.connect(this.connectOpts); } else { debug("Creating `net.Socket`: %o", this.connectOpts); socket = net.connect(this.connectOpts); } await (0, events_1.once)(socket, "connect"); return socket; } }; HttpProxyAgent.protocols = ["http", "https"]; exports2.HttpProxyAgent = HttpProxyAgent; function omit(obj, ...keys) { const ret2 = {}; let key; for (key in obj) { if (!keys.includes(key)) { ret2[key] = obj[key]; } } return ret2; } } }); // ../node_modules/.pnpm/smart-buffer@4.2.0/node_modules/smart-buffer/build/utils.js var require_utils = __commonJS({ "../node_modules/.pnpm/smart-buffer@4.2.0/node_modules/smart-buffer/build/utils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var buffer_1 = require("buffer"); var ERRORS = { INVALID_ENCODING: "Invalid encoding provided. Please specify a valid encoding the internal Node.js Buffer supports.", INVALID_SMARTBUFFER_SIZE: "Invalid size provided. Size must be a valid integer greater than zero.", INVALID_SMARTBUFFER_BUFFER: "Invalid Buffer provided in SmartBufferOptions.", INVALID_SMARTBUFFER_OBJECT: "Invalid SmartBufferOptions object supplied to SmartBuffer constructor or factory methods.", INVALID_OFFSET: "An invalid offset value was provided.", INVALID_OFFSET_NON_NUMBER: "An invalid offset value was provided. A numeric value is required.", INVALID_LENGTH: "An invalid length value was provided.", INVALID_LENGTH_NON_NUMBER: "An invalid length value was provived. A numeric value is required.", INVALID_TARGET_OFFSET: "Target offset is beyond the bounds of the internal SmartBuffer data.", INVALID_TARGET_LENGTH: "Specified length value moves cursor beyong the bounds of the internal SmartBuffer data.", INVALID_READ_BEYOND_BOUNDS: "Attempted to read beyond the bounds of the managed data.", INVALID_WRITE_BEYOND_BOUNDS: "Attempted to write beyond the bounds of the managed data." }; exports2.ERRORS = ERRORS; function checkEncoding(encoding) { if (!buffer_1.Buffer.isEncoding(encoding)) { throw new Error(ERRORS.INVALID_ENCODING); } } exports2.checkEncoding = checkEncoding; function isFiniteInteger(value) { return typeof value === "number" && isFinite(value) && isInteger(value); } exports2.isFiniteInteger = isFiniteInteger; function checkOffsetOrLengthValue(value, offset) { if (typeof value === "number") { if (!isFiniteInteger(value) || value < 0) { throw new Error(offset ? ERRORS.INVALID_OFFSET : ERRORS.INVALID_LENGTH); } } else { throw new Error(offset ? ERRORS.INVALID_OFFSET_NON_NUMBER : ERRORS.INVALID_LENGTH_NON_NUMBER); } } function checkLengthValue(length) { checkOffsetOrLengthValue(length, false); } exports2.checkLengthValue = checkLengthValue; function checkOffsetValue(offset) { checkOffsetOrLengthValue(offset, true); } exports2.checkOffsetValue = checkOffsetValue; function checkTargetOffset(offset, buff) { if (offset < 0 || offset > buff.length) { throw new Error(ERRORS.INVALID_TARGET_OFFSET); } } exports2.checkTargetOffset = checkTargetOffset; function isInteger(value) { return typeof value === "number" && isFinite(value) && Math.floor(value) === value; } function bigIntAndBufferInt64Check(bufferMethod) { if (typeof BigInt === "undefined") { throw new Error("Platform does not support JS BigInt type."); } if (typeof buffer_1.Buffer.prototype[bufferMethod] === "undefined") { throw new Error(`Platform does not support Buffer.prototype.${bufferMethod}.`); } } exports2.bigIntAndBufferInt64Check = bigIntAndBufferInt64Check; } }); // ../node_modules/.pnpm/smart-buffer@4.2.0/node_modules/smart-buffer/build/smartbuffer.js var require_smartbuffer = __commonJS({ "../node_modules/.pnpm/smart-buffer@4.2.0/node_modules/smart-buffer/build/smartbuffer.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils_1 = require_utils(); var DEFAULT_SMARTBUFFER_SIZE = 4096; var DEFAULT_SMARTBUFFER_ENCODING = "utf8"; var SmartBuffer = class _SmartBuffer { /** * Creates a new SmartBuffer instance. * * @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance. */ constructor(options) { this.length = 0; this._encoding = DEFAULT_SMARTBUFFER_ENCODING; this._writeOffset = 0; this._readOffset = 0; if (_SmartBuffer.isSmartBufferOptions(options)) { if (options.encoding) { utils_1.checkEncoding(options.encoding); this._encoding = options.encoding; } if (options.size) { if (utils_1.isFiniteInteger(options.size) && options.size > 0) { this._buff = Buffer.allocUnsafe(options.size); } else { throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_SIZE); } } else if (options.buff) { if (Buffer.isBuffer(options.buff)) { this._buff = options.buff; this.length = options.buff.length; } else { throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_BUFFER); } } else { this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE); } } else { if (typeof options !== "undefined") { throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_OBJECT); } this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE); } } /** * Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding. * * @param size { Number } The size of the internal Buffer. * @param encoding { String } The BufferEncoding to use for strings. * * @return { SmartBuffer } */ static fromSize(size, encoding) { return new this({ size, encoding }); } /** * Creates a new SmartBuffer instance with the provided Buffer and optional encoding. * * @param buffer { Buffer } The Buffer to use as the internal Buffer value. * @param encoding { String } The BufferEncoding to use for strings. * * @return { SmartBuffer } */ static fromBuffer(buff, encoding) { return new this({ buff, encoding }); } /** * Creates a new SmartBuffer instance with the provided SmartBufferOptions options. * * @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance. */ static fromOptions(options) { return new this(options); } /** * Type checking function that determines if an object is a SmartBufferOptions object. */ static isSmartBufferOptions(options) { const castOptions = options; return castOptions && (castOptions.encoding !== void 0 || castOptions.size !== void 0 || castOptions.buff !== void 0); } // Signed integers /** * Reads an Int8 value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readInt8(offset) { return this._readNumberValue(Buffer.prototype.readInt8, 1, offset); } /** * Reads an Int16BE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readInt16BE(offset) { return this._readNumberValue(Buffer.prototype.readInt16BE, 2, offset); } /** * Reads an Int16LE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readInt16LE(offset) { return this._readNumberValue(Buffer.prototype.readInt16LE, 2, offset); } /** * Reads an Int32BE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readInt32BE(offset) { return this._readNumberValue(Buffer.prototype.readInt32BE, 4, offset); } /** * Reads an Int32LE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readInt32LE(offset) { return this._readNumberValue(Buffer.prototype.readInt32LE, 4, offset); } /** * Reads a BigInt64BE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { BigInt } */ readBigInt64BE(offset) { utils_1.bigIntAndBufferInt64Check("readBigInt64BE"); return this._readNumberValue(Buffer.prototype.readBigInt64BE, 8, offset); } /** * Reads a BigInt64LE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { BigInt } */ readBigInt64LE(offset) { utils_1.bigIntAndBufferInt64Check("readBigInt64LE"); return this._readNumberValue(Buffer.prototype.readBigInt64LE, 8, offset); } /** * Writes an Int8 value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeInt8(value, offset) { this._writeNumberValue(Buffer.prototype.writeInt8, 1, value, offset); return this; } /** * Inserts an Int8 value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertInt8(value, offset) { return this._insertNumberValue(Buffer.prototype.writeInt8, 1, value, offset); } /** * Writes an Int16BE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeInt16BE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset); } /** * Inserts an Int16BE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertInt16BE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset); } /** * Writes an Int16LE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeInt16LE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset); } /** * Inserts an Int16LE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertInt16LE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset); } /** * Writes an Int32BE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeInt32BE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset); } /** * Inserts an Int32BE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertInt32BE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset); } /** * Writes an Int32LE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeInt32LE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset); } /** * Inserts an Int32LE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertInt32LE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset); } /** * Writes a BigInt64BE value to the current write position (or at optional offset). * * @param value { BigInt } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeBigInt64BE(value, offset) { utils_1.bigIntAndBufferInt64Check("writeBigInt64BE"); return this._writeNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset); } /** * Inserts a BigInt64BE value at the given offset value. * * @param value { BigInt } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertBigInt64BE(value, offset) { utils_1.bigIntAndBufferInt64Check("writeBigInt64BE"); return this._insertNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset); } /** * Writes a BigInt64LE value to the current write position (or at optional offset). * * @param value { BigInt } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeBigInt64LE(value, offset) { utils_1.bigIntAndBufferInt64Check("writeBigInt64LE"); return this._writeNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset); } /** * Inserts a Int64LE value at the given offset value. * * @param value { BigInt } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertBigInt64LE(value, offset) { utils_1.bigIntAndBufferInt64Check("writeBigInt64LE"); return this._insertNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset); } // Unsigned Integers /** * Reads an UInt8 value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readUInt8(offset) { return this._readNumberValue(Buffer.prototype.readUInt8, 1, offset); } /** * Reads an UInt16BE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readUInt16BE(offset) { return this._readNumberValue(Buffer.prototype.readUInt16BE, 2, offset); } /** * Reads an UInt16LE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readUInt16LE(offset) { return this._readNumberValue(Buffer.prototype.readUInt16LE, 2, offset); } /** * Reads an UInt32BE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readUInt32BE(offset) { return this._readNumberValue(Buffer.prototype.readUInt32BE, 4, offset); } /** * Reads an UInt32LE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readUInt32LE(offset) { return this._readNumberValue(Buffer.prototype.readUInt32LE, 4, offset); } /** * Reads a BigUInt64BE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { BigInt } */ readBigUInt64BE(offset) { utils_1.bigIntAndBufferInt64Check("readBigUInt64BE"); return this._readNumberValue(Buffer.prototype.readBigUInt64BE, 8, offset); } /** * Reads a BigUInt64LE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { BigInt } */ readBigUInt64LE(offset) { utils_1.bigIntAndBufferInt64Check("readBigUInt64LE"); return this._readNumberValue(Buffer.prototype.readBigUInt64LE, 8, offset); } /** * Writes an UInt8 value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeUInt8(value, offset) { return this._writeNumberValue(Buffer.prototype.writeUInt8, 1, value, offset); } /** * Inserts an UInt8 value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertUInt8(value, offset) { return this._insertNumberValue(Buffer.prototype.writeUInt8, 1, value, offset); } /** * Writes an UInt16BE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeUInt16BE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset); } /** * Inserts an UInt16BE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertUInt16BE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset); } /** * Writes an UInt16LE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeUInt16LE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset); } /** * Inserts an UInt16LE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertUInt16LE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset); } /** * Writes an UInt32BE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeUInt32BE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset); } /** * Inserts an UInt32BE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertUInt32BE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset); } /** * Writes an UInt32LE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeUInt32LE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset); } /** * Inserts an UInt32LE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertUInt32LE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset); } /** * Writes a BigUInt64BE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeBigUInt64BE(value, offset) { utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE"); return this._writeNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset); } /** * Inserts a BigUInt64BE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertBigUInt64BE(value, offset) { utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE"); return this._insertNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset); } /** * Writes a BigUInt64LE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeBigUInt64LE(value, offset) { utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE"); return this._writeNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset); } /** * Inserts a BigUInt64LE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertBigUInt64LE(value, offset) { utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE"); return this._insertNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset); } // Floating Point /** * Reads an FloatBE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readFloatBE(offset) { return this._readNumberValue(Buffer.prototype.readFloatBE, 4, offset); } /** * Reads an FloatLE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readFloatLE(offset) { return this._readNumberValue(Buffer.prototype.readFloatLE, 4, offset); } /** * Writes a FloatBE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeFloatBE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset); } /** * Inserts a FloatBE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertFloatBE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset); } /** * Writes a FloatLE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeFloatLE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset); } /** * Inserts a FloatLE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertFloatLE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset); } // Double Floating Point /** * Reads an DoublEBE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readDoubleBE(offset) { return this._readNumberValue(Buffer.prototype.readDoubleBE, 8, offset); } /** * Reads an DoubleLE value from the current read position or an optionally provided offset. * * @param offset { Number } The offset to read data from (optional) * @return { Number } */ readDoubleLE(offset) { return this._readNumberValue(Buffer.prototype.readDoubleLE, 8, offset); } /** * Writes a DoubleBE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeDoubleBE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset); } /** * Inserts a DoubleBE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertDoubleBE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset); } /** * Writes a DoubleLE value to the current write position (or at optional offset). * * @param value { Number } The value to write. * @param offset { Number } The offset to write the value at. * * @return this */ writeDoubleLE(value, offset) { return this._writeNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset); } /** * Inserts a DoubleLE value at the given offset value. * * @param value { Number } The value to insert. * @param offset { Number } The offset to insert the value at. * * @return this */ insertDoubleLE(value, offset) { return this._insertNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset); } // Strings /** * Reads a String from the current read position. * * @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for * the string (Defaults to instance level encoding). * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). * * @return { String } */ readString(arg1, encoding) { let lengthVal; if (typeof arg1 === "number") { utils_1.checkLengthValue(arg1); lengthVal = Math.min(arg1, this.length - this._readOffset); } else { encoding = arg1; lengthVal = this.length - this._readOffset; } if (typeof encoding !== "undefined") { utils_1.checkEncoding(encoding); } const value = this._buff.slice(this._readOffset, this._readOffset + lengthVal).toString(encoding || this._encoding); this._readOffset += lengthVal; return value; } /** * Inserts a String * * @param value { String } The String value to insert. * @param offset { Number } The offset to insert the string at. * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). * * @return this */ insertString(value, offset, encoding) { utils_1.checkOffsetValue(offset); return this._handleString(value, true, offset, encoding); } /** * Writes a String * * @param value { String } The String value to write. * @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use. * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). * * @return this */ writeString(value, arg2, encoding) { return this._handleString(value, false, arg2, encoding); } /** * Reads a null-terminated String from the current read position. * * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding). * * @return { String } */ readStringNT(encoding) { if (typeof encoding !== "undefined") { utils_1.checkEncoding(encoding); } let nullPos = this.length; for (let i = this._readOffset; i < this.length; i++) { if (this._buff[i] === 0) { nullPos = i; break; } } const value = this._buff.slice(this._readOffset, nullPos); this._readOffset = nullPos + 1; return value.toString(encoding || this._encoding); } /** * Inserts a null-terminated String. * * @param value { String } The String value to write. * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). * * @return this */ insertStringNT(value, offset, encoding) { utils_1.checkOffsetValue(offset); this.insertString(value, offset, encoding); this.insertUInt8(0, offset + value.length); return this; } /** * Writes a null-terminated String. * * @param value { String } The String value to write. * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use. * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). * * @return this */ writeStringNT(value, arg2, encoding) { this.writeString(value, arg2, encoding); this.writeUInt8(0, typeof arg2 === "number" ? arg2 + value.length : this.writeOffset); return this; } // Buffers /** * Reads a Buffer from the internal read position. * * @param length { Number } The length of data to read as a Buffer. * * @return { Buffer } */ readBuffer(length) { if (typeof length !== "undefined") { utils_1.checkLengthValue(length); } const lengthVal = typeof length === "number" ? length : this.length; const endPoint = Math.min(this.length, this._readOffset + lengthVal); const value = this._buff.slice(this._readOffset, endPoint); this._readOffset = endPoint; return value; } /** * Writes a Buffer to the current write position. * * @param value { Buffer } The Buffer to write. * @param offset { Number } The offset to write the Buffer to. * * @return this */ insertBuffer(value, offset) { utils_1.checkOffsetValue(offset); return this._handleBuffer(value, true, offset); } /** * Writes a Buffer to the current write position. * * @param value { Buffer } The Buffer to write. * @param offset { Number } The offset to write the Buffer to. * * @return this */ writeBuffer(value, offset) { return this._handleBuffer(value, false, offset); } /** * Reads a null-terminated Buffer from the current read poisiton. * * @return { Buffer } */ readBufferNT() { let nullPos = this.length; for (let i = this._readOffset; i < this.length; i++) { if (this._buff[i] === 0) { nullPos = i; break; } } const value = this._buff.slice(this._readOffset, nullPos); this._readOffset = nullPos + 1; return value; } /** * Inserts a null-terminated Buffer. * * @param value { Buffer } The Buffer to write. * @param offset { Number } The offset to write the Buffer to. * * @return this */ insertBufferNT(value, offset) { utils_1.checkOffsetValue(offset); this.insertBuffer(value, offset); this.insertUInt8(0, offset + value.length); return this; } /** * Writes a null-terminated Buffer. * * @param value { Buffer } The Buffer to write. * @param offset { Number } The offset to write the Buffer to. * * @return this */ writeBufferNT(value, offset) { if (typeof offset !== "undefined") { utils_1.checkOffsetValue(offset); } this.writeBuffer(value, offset); this.writeUInt8(0, typeof offset === "number" ? offset + value.length : this._writeOffset); return this; } /** * Clears the SmartBuffer instance to its original empty state. */ clear() { this._writeOffset = 0; this._readOffset = 0; this.length = 0; return this; } /** * Gets the remaining data left to be read from the SmartBuffer instance. * * @return { Number } */ remaining() { return this.length - this._readOffset; } /** * Gets the current read offset value of the SmartBuffer instance. * * @return { Number } */ get readOffset() { return this._readOffset; } /** * Sets the read offset value of the SmartBuffer instance. * * @param offset { Number } - The offset value to set. */ set readOffset(offset) { utils_1.checkOffsetValue(offset); utils_1.checkTargetOffset(offset, this); this._readOffset = offset; } /** * Gets the current write offset value of the SmartBuffer instance. * * @return { Number } */ get writeOffset() { return this._writeOffset; } /** * Sets the write offset value of the SmartBuffer instance. * * @param offset { Number } - The offset value to set. */ set writeOffset(offset) { utils_1.checkOffsetValue(offset); utils_1.checkTargetOffset(offset, this); this._writeOffset = offset; } /** * Gets the currently set string encoding of the SmartBuffer instance. * * @return { BufferEncoding } The string Buffer encoding currently set. */ get encoding() { return this._encoding; } /** * Sets the string encoding of the SmartBuffer instance. * * @param encoding { BufferEncoding } The string Buffer encoding to set. */ set encoding(encoding) { utils_1.checkEncoding(encoding); this._encoding = encoding; } /** * Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer) * * @return { Buffer } The Buffer value. */ get internalBuffer() { return this._buff; } /** * Gets the value of the internal managed Buffer (Includes managed data only) * * @param { Buffer } */ toBuffer() { return this._buff.slice(0, this.length); } /** * Gets the String value of the internal managed Buffer * * @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding). */ toString(encoding) { const encodingVal = typeof encoding === "string" ? encoding : this._encoding; utils_1.checkEncoding(encodingVal); return this._buff.toString(encodingVal, 0, this.length); } /** * Destroys the SmartBuffer instance. */ destroy() { this.clear(); return this; } /** * Handles inserting and writing strings. * * @param value { String } The String value to insert. * @param isInsert { Boolean } True if inserting a string, false if writing. * @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use. * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding). */ _handleString(value, isInsert, arg3, encoding) { let offsetVal = this._writeOffset; let encodingVal = this._encoding; if (typeof arg3 === "number") { offsetVal = arg3; } else if (typeof arg3 === "string") { utils_1.checkEncoding(arg3); encodingVal = arg3; } if (typeof encoding === "string") { utils_1.checkEncoding(encoding); encodingVal = encoding; } const byteLength = Buffer.byteLength(value, encodingVal); if (isInsert) { this.ensureInsertable(byteLength, offsetVal); } else { this._ensureWriteable(byteLength, offsetVal); } this._buff.write(value, offsetVal, byteLength, encodingVal); if (isInsert) { this._writeOffset += byteLength; } else { if (typeof arg3 === "number") { this._writeOffset = Math.max(this._writeOffset, offsetVal + byteLength); } else { this._writeOffset += byteLength; } } return this; } /** * Handles writing or insert of a Buffer. * * @param value { Buffer } The Buffer to write. * @param offset { Number } The offset to write the Buffer to. */ _handleBuffer(value, isInsert, offset) { const offsetVal = typeof offset === "number" ? offset : this._writeOffset; if (isInsert) { this.ensureInsertable(value.length, offsetVal); } else { this._ensureWriteable(value.length, offsetVal); } value.copy(this._buff, offsetVal); if (isInsert) { this._writeOffset += value.length; } else { if (typeof offset === "number") { this._writeOffset = Math.max(this._writeOffset, offsetVal + value.length); } else { this._writeOffset += value.length; } } return this; } /** * Ensures that the internal Buffer is large enough to read data. * * @param length { Number } The length of the data that needs to be read. * @param offset { Number } The offset of the data that needs to be read. */ ensureReadable(length, offset) { let offsetVal = this._readOffset; if (typeof offset !== "undefined") { utils_1.checkOffsetValue(offset); offsetVal = offset; } if (offsetVal < 0 || offsetVal + length > this.length) { throw new Error(utils_1.ERRORS.INVALID_READ_BEYOND_BOUNDS); } } /** * Ensures that the internal Buffer is large enough to insert data. * * @param dataLength { Number } The length of the data that needs to be written. * @param offset { Number } The offset of the data to be written. */ ensureInsertable(dataLength, offset) { utils_1.checkOffsetValue(offset); this._ensureCapacity(this.length + dataLength); if (offset < this.length) { this._buff.copy(this._buff, offset + dataLength, offset, this._buff.length); } if (offset + dataLength > this.length) { this.length = offset + dataLength; } else { this.length += dataLength; } } /** * Ensures that the internal Buffer is large enough to write data. * * @param dataLength { Number } The length of the data that needs to be written. * @param offset { Number } The offset of the data to be written (defaults to writeOffset). */ _ensureWriteable(dataLength, offset) { const offsetVal = typeof offset === "number" ? offset : this._writeOffset; this._ensureCapacity(offsetVal + dataLength); if (offsetVal + dataLength > this.length) { this.length = offsetVal + dataLength; } } /** * Ensures that the internal Buffer is large enough to write at least the given amount of data. * * @param minLength { Number } The minimum length of the data needs to be written. */ _ensureCapacity(minLength) { const oldLength = this._buff.length; if (minLength > oldLength) { let data = this._buff; let newLength = oldLength * 3 / 2 + 1; if (newLength < minLength) { newLength = minLength; } this._buff = Buffer.allocUnsafe(newLength); data.copy(this._buff, 0, 0, oldLength); } } /** * Reads a numeric number value using the provided function. * * @typeparam T { number | bigint } The type of the value to be read * * @param func { Function(offset: number) => number } The function to read data on the internal Buffer with. * @param byteSize { Number } The number of bytes read. * @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead. * * @returns { T } the number value */ _readNumberValue(func, byteSize, offset) { this.ensureReadable(byteSize, offset); const value = func.call(this._buff, typeof offset === "number" ? offset : this._readOffset); if (typeof offset === "undefined") { this._readOffset += byteSize; } return value; } /** * Inserts a numeric number value based on the given offset and value. * * @typeparam T { number | bigint } The type of the value to be written * * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. * @param byteSize { Number } The number of bytes written. * @param value { T } The number value to write. * @param offset { Number } the offset to write the number at (REQUIRED). * * @returns SmartBuffer this buffer */ _insertNumberValue(func, byteSize, value, offset) { utils_1.checkOffsetValue(offset); this.ensureInsertable(byteSize, offset); func.call(this._buff, value, offset); this._writeOffset += byteSize; return this; } /** * Writes a numeric number value based on the given offset and value. * * @typeparam T { number | bigint } The type of the value to be written * * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with. * @param byteSize { Number } The number of bytes written. * @param value { T } The number value to write. * @param offset { Number } the offset to write the number at (REQUIRED). * * @returns SmartBuffer this buffer */ _writeNumberValue(func, byteSize, value, offset) { if (typeof offset === "number") { if (offset < 0) { throw new Error(utils_1.ERRORS.INVALID_WRITE_BEYOND_BOUNDS); } utils_1.checkOffsetValue(offset); } const offsetVal = typeof offset === "number" ? offset : this._writeOffset; this._ensureWriteable(byteSize, offsetVal); func.call(this._buff, value, offsetVal); if (typeof offset === "number") { this._writeOffset = Math.max(this._writeOffset, offsetVal + byteSize); } else { this._writeOffset += byteSize; } return this; } }; exports2.SmartBuffer = SmartBuffer; } }); // ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/constants.js var require_constants4 = __commonJS({ "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/constants.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SOCKS5_NO_ACCEPTABLE_AUTH = exports2.SOCKS5_CUSTOM_AUTH_END = exports2.SOCKS5_CUSTOM_AUTH_START = exports2.SOCKS_INCOMING_PACKET_SIZES = exports2.SocksClientState = exports2.Socks5Response = exports2.Socks5HostType = exports2.Socks5Auth = exports2.Socks4Response = exports2.SocksCommand = exports2.ERRORS = exports2.DEFAULT_TIMEOUT = void 0; var DEFAULT_TIMEOUT = 3e4; exports2.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT; var ERRORS = { InvalidSocksCommand: "An invalid SOCKS command was provided. Valid options are connect, bind, and associate.", InvalidSocksCommandForOperation: "An invalid SOCKS command was provided. Only a subset of commands are supported for this operation.", InvalidSocksCommandChain: "An invalid SOCKS command was provided. Chaining currently only supports the connect command.", InvalidSocksClientOptionsDestination: "An invalid destination host was provided.", InvalidSocksClientOptionsExistingSocket: "An invalid existing socket was provided. This should be an instance of stream.Duplex.", InvalidSocksClientOptionsProxy: "Invalid SOCKS proxy details were provided.", InvalidSocksClientOptionsTimeout: "An invalid timeout value was provided. Please enter a value above 0 (in ms).", InvalidSocksClientOptionsProxiesLength: "At least two socks proxies must be provided for chaining.", InvalidSocksClientOptionsCustomAuthRange: "Custom auth must be a value between 0x80 and 0xFE.", InvalidSocksClientOptionsCustomAuthOptions: "When a custom_auth_method is provided, custom_auth_request_handler, custom_auth_response_size, and custom_auth_response_handler must also be provided and valid.", NegotiationError: "Negotiation error", SocketClosed: "Socket closed", ProxyConnectionTimedOut: "Proxy connection timed out", InternalError: "SocksClient internal error (this should not happen)", InvalidSocks4HandshakeResponse: "Received invalid Socks4 handshake response", Socks4ProxyRejectedConnection: "Socks4 Proxy rejected connection", InvalidSocks4IncomingConnectionResponse: "Socks4 invalid incoming connection response", Socks4ProxyRejectedIncomingBoundConnection: "Socks4 Proxy rejected incoming bound connection", InvalidSocks5InitialHandshakeResponse: "Received invalid Socks5 initial handshake response", InvalidSocks5IntiailHandshakeSocksVersion: "Received invalid Socks5 initial handshake (invalid socks version)", InvalidSocks5InitialHandshakeNoAcceptedAuthType: "Received invalid Socks5 initial handshake (no accepted authentication type)", InvalidSocks5InitialHandshakeUnknownAuthType: "Received invalid Socks5 initial handshake (unknown authentication type)", Socks5AuthenticationFailed: "Socks5 Authentication failed", InvalidSocks5FinalHandshake: "Received invalid Socks5 final handshake response", InvalidSocks5FinalHandshakeRejected: "Socks5 proxy rejected connection", InvalidSocks5IncomingConnectionResponse: "Received invalid Socks5 incoming connection response", Socks5ProxyRejectedIncomingBoundConnection: "Socks5 Proxy rejected incoming bound connection" }; exports2.ERRORS = ERRORS; var SOCKS_INCOMING_PACKET_SIZES = { Socks5InitialHandshakeResponse: 2, Socks5UserPassAuthenticationResponse: 2, // Command response + incoming connection (bind) Socks5ResponseHeader: 5, // We need at least 5 to read the hostname length, then we wait for the address+port information. Socks5ResponseIPv4: 10, // 4 header + 4 ip + 2 port Socks5ResponseIPv6: 22, // 4 header + 16 ip + 2 port Socks5ResponseHostname: (hostNameLength) => hostNameLength + 7, // 4 header + 1 host length + host + 2 port // Command response + incoming connection (bind) Socks4Response: 8 // 2 header + 2 port + 4 ip }; exports2.SOCKS_INCOMING_PACKET_SIZES = SOCKS_INCOMING_PACKET_SIZES; var SocksCommand; (function(SocksCommand2) { SocksCommand2[SocksCommand2["connect"] = 1] = "connect"; SocksCommand2[SocksCommand2["bind"] = 2] = "bind"; SocksCommand2[SocksCommand2["associate"] = 3] = "associate"; })(SocksCommand || (exports2.SocksCommand = SocksCommand = {})); var Socks4Response; (function(Socks4Response2) { Socks4Response2[Socks4Response2["Granted"] = 90] = "Granted"; Socks4Response2[Socks4Response2["Failed"] = 91] = "Failed"; Socks4Response2[Socks4Response2["Rejected"] = 92] = "Rejected"; Socks4Response2[Socks4Response2["RejectedIdent"] = 93] = "RejectedIdent"; })(Socks4Response || (exports2.Socks4Response = Socks4Response = {})); var Socks5Auth; (function(Socks5Auth2) { Socks5Auth2[Socks5Auth2["NoAuth"] = 0] = "NoAuth"; Socks5Auth2[Socks5Auth2["GSSApi"] = 1] = "GSSApi"; Socks5Auth2[Socks5Auth2["UserPass"] = 2] = "UserPass"; })(Socks5Auth || (exports2.Socks5Auth = Socks5Auth = {})); var SOCKS5_CUSTOM_AUTH_START = 128; exports2.SOCKS5_CUSTOM_AUTH_START = SOCKS5_CUSTOM_AUTH_START; var SOCKS5_CUSTOM_AUTH_END = 254; exports2.SOCKS5_CUSTOM_AUTH_END = SOCKS5_CUSTOM_AUTH_END; var SOCKS5_NO_ACCEPTABLE_AUTH = 255; exports2.SOCKS5_NO_ACCEPTABLE_AUTH = SOCKS5_NO_ACCEPTABLE_AUTH; var Socks5Response; (function(Socks5Response2) { Socks5Response2[Socks5Response2["Granted"] = 0] = "Granted"; Socks5Response2[Socks5Response2["Failure"] = 1] = "Failure"; Socks5Response2[Socks5Response2["NotAllowed"] = 2] = "NotAllowed"; Socks5Response2[Socks5Response2["NetworkUnreachable"] = 3] = "NetworkUnreachable"; Socks5Response2[Socks5Response2["HostUnreachable"] = 4] = "HostUnreachable"; Socks5Response2[Socks5Response2["ConnectionRefused"] = 5] = "ConnectionRefused"; Socks5Response2[Socks5Response2["TTLExpired"] = 6] = "TTLExpired"; Socks5Response2[Socks5Response2["CommandNotSupported"] = 7] = "CommandNotSupported"; Socks5Response2[Socks5Response2["AddressNotSupported"] = 8] = "AddressNotSupported"; })(Socks5Response || (exports2.Socks5Response = Socks5Response = {})); var Socks5HostType; (function(Socks5HostType2) { Socks5HostType2[Socks5HostType2["IPv4"] = 1] = "IPv4"; Socks5HostType2[Socks5HostType2["Hostname"] = 3] = "Hostname"; Socks5HostType2[Socks5HostType2["IPv6"] = 4] = "IPv6"; })(Socks5HostType || (exports2.Socks5HostType = Socks5HostType = {})); var SocksClientState; (function(SocksClientState2) { SocksClientState2[SocksClientState2["Created"] = 0] = "Created"; SocksClientState2[SocksClientState2["Connecting"] = 1] = "Connecting"; SocksClientState2[SocksClientState2["Connected"] = 2] = "Connected"; SocksClientState2[SocksClientState2["SentInitialHandshake"] = 3] = "SentInitialHandshake"; SocksClientState2[SocksClientState2["ReceivedInitialHandshakeResponse"] = 4] = "ReceivedInitialHandshakeResponse"; SocksClientState2[SocksClientState2["SentAuthentication"] = 5] = "SentAuthentication"; SocksClientState2[SocksClientState2["ReceivedAuthenticationResponse"] = 6] = "ReceivedAuthenticationResponse"; SocksClientState2[SocksClientState2["SentFinalHandshake"] = 7] = "SentFinalHandshake"; SocksClientState2[SocksClientState2["ReceivedFinalResponse"] = 8] = "ReceivedFinalResponse"; SocksClientState2[SocksClientState2["BoundWaitingForConnection"] = 9] = "BoundWaitingForConnection"; SocksClientState2[SocksClientState2["Established"] = 10] = "Established"; SocksClientState2[SocksClientState2["Disconnected"] = 11] = "Disconnected"; SocksClientState2[SocksClientState2["Error"] = 99] = "Error"; })(SocksClientState || (exports2.SocksClientState = SocksClientState = {})); } }); // ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/util.js var require_util5 = __commonJS({ "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/util.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.shuffleArray = exports2.SocksClientError = void 0; var SocksClientError = class extends Error { constructor(message, options) { super(message); this.options = options; } }; exports2.SocksClientError = SocksClientError; function shuffleArray(array) { for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } } exports2.shuffleArray = shuffleArray; } }); // ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/common.js var require_common3 = __commonJS({ "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/common.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isCorrect = exports2.isInSubnet = void 0; function isInSubnet(address) { if (this.subnetMask < address.subnetMask) { return false; } if (this.mask(address.subnetMask) === address.mask()) { return true; } return false; } exports2.isInSubnet = isInSubnet; function isCorrect(defaultBits) { return function() { if (this.addressMinusSuffix !== this.correctForm()) { return false; } if (this.subnetMask === defaultBits && !this.parsedSubnet) { return true; } return this.parsedSubnet === String(this.subnetMask); }; } exports2.isCorrect = isCorrect; } }); // ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v4/constants.js var require_constants5 = __commonJS({ "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v4/constants.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.RE_SUBNET_STRING = exports2.RE_ADDRESS = exports2.GROUPS = exports2.BITS = void 0; exports2.BITS = 32; exports2.GROUPS = 4; exports2.RE_ADDRESS = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g; exports2.RE_SUBNET_STRING = /\/\d{1,2}$/; } }); // ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/address-error.js var require_address_error = __commonJS({ "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/address-error.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.AddressError = void 0; var AddressError = class extends Error { constructor(message, parseMessage) { super(message); this.name = "AddressError"; if (parseMessage !== null) { this.parseMessage = parseMessage; } } }; exports2.AddressError = AddressError; } }); // ../node_modules/.pnpm/jsbn@1.1.0/node_modules/jsbn/index.js var require_jsbn = __commonJS({ "../node_modules/.pnpm/jsbn@1.1.0/node_modules/jsbn/index.js"(exports2, module2) { (function() { var dbits; var canary = 244837814094590; var j_lm = (canary & 16777215) == 15715070; function BigInteger(a, b, c) { if (a != null) if ("number" == typeof a) this.fromNumber(a, b, c); else if (b == null && "string" != typeof a) this.fromString(a, 256); else this.fromString(a, b); } function nbi() { return new BigInteger(null); } function am1(i, x, w, j, c, n) { while (--n >= 0) { var v = x * this[i++] + w[j] + c; c = Math.floor(v / 67108864); w[j++] = v & 67108863; } return c; } function am2(i, x, w, j, c, n) { var xl = x & 32767, xh = x >> 15; while (--n >= 0) { var l = this[i] & 32767; var h = this[i++] >> 15; var m = xh * l + h * xl; l = xl * l + ((m & 32767) << 15) + w[j] + (c & 1073741823); c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30); w[j++] = l & 1073741823; } return c; } function am3(i, x, w, j, c, n) { var xl = x & 16383, xh = x >> 14; while (--n >= 0) { var l = this[i] & 16383; var h = this[i++] >> 14; var m = xh * l + h * xl; l = xl * l + ((m & 16383) << 14) + w[j] + c; c = (l >> 28) + (m >> 14) + xh * h; w[j++] = l & 268435455; } return c; } var inBrowser = typeof navigator !== "undefined"; if (inBrowser && j_lm && navigator.appName == "Microsoft Internet Explorer") { BigInteger.prototype.am = am2; dbits = 30; } else if (inBrowser && j_lm && navigator.appName != "Netscape") { BigInteger.prototype.am = am1; dbits = 26; } else { BigInteger.prototype.am = am3; dbits = 28; } BigInteger.prototype.DB = dbits; BigInteger.prototype.DM = (1 << dbits) - 1; BigInteger.prototype.DV = 1 << dbits; var BI_FP = 52; BigInteger.prototype.FV = Math.pow(2, BI_FP); BigInteger.prototype.F1 = BI_FP - dbits; BigInteger.prototype.F2 = 2 * dbits - BI_FP; var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"; var BI_RC = new Array(); var rr, vv; rr = "0".charCodeAt(0); for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv; rr = "a".charCodeAt(0); for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv; rr = "A".charCodeAt(0); for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv; function int2char(n) { return BI_RM.charAt(n); } function intAt(s, i) { var c = BI_RC[s.charCodeAt(i)]; return c == null ? -1 : c; } function bnpCopyTo(r) { for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]; r.t = this.t; r.s = this.s; } function bnpFromInt(x) { this.t = 1; this.s = x < 0 ? -1 : 0; if (x > 0) this[0] = x; else if (x < -1) this[0] = x + this.DV; else this.t = 0; } function nbv(i) { var r = nbi(); r.fromInt(i); return r; } function bnpFromString(s, b) { var k; if (b == 16) k = 4; else if (b == 8) k = 3; else if (b == 256) k = 8; else if (b == 2) k = 1; else if (b == 32) k = 5; else if (b == 4) k = 2; else { this.fromRadix(s, b); return; } this.t = 0; this.s = 0; var i = s.length, mi = false, sh = 0; while (--i >= 0) { var x = k == 8 ? s[i] & 255 : intAt(s, i); if (x < 0) { if (s.charAt(i) == "-") mi = true; continue; } mi = false; if (sh == 0) this[this.t++] = x; else if (sh + k > this.DB) { this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh; this[this.t++] = x >> this.DB - sh; } else this[this.t - 1] |= x << sh; sh += k; if (sh >= this.DB) sh -= this.DB; } if (k == 8 && (s[0] & 128) != 0) { this.s = -1; if (sh > 0) this[this.t - 1] |= (1 << this.DB - sh) - 1 << sh; } this.clamp(); if (mi) BigInteger.ZERO.subTo(this, this); } function bnpClamp() { var c = this.s & this.DM; while (this.t > 0 && this[this.t - 1] == c) --this.t; } function bnToString(b) { if (this.s < 0) return "-" + this.negate().toString(b); var k; if (b == 16) k = 4; else if (b == 8) k = 3; else if (b == 2) k = 1; else if (b == 32) k = 5; else if (b == 4) k = 2; else return this.toRadix(b); var km = (1 << k) - 1, d, m = false, r = "", i = this.t; var p = this.DB - i * this.DB % k; if (i-- > 0) { if (p < this.DB && (d = this[i] >> p) > 0) { m = true; r = int2char(d); } while (i >= 0) { if (p < k) { d = (this[i] & (1 << p) - 1) << k - p; d |= this[--i] >> (p += this.DB - k); } else { d = this[i] >> (p -= k) & km; if (p <= 0) { p += this.DB; --i; } } if (d > 0) m = true; if (m) r += int2char(d); } } return m ? r : "0"; } function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this, r); return r; } function bnAbs() { return this.s < 0 ? this.negate() : this; } function bnCompareTo(a) { var r = this.s - a.s; if (r != 0) return r; var i = this.t; r = i - a.t; if (r != 0) return this.s < 0 ? -r : r; while (--i >= 0) if ((r = this[i] - a[i]) != 0) return r; return 0; } function nbits(x) { var r = 1, t2; if ((t2 = x >>> 16) != 0) { x = t2; r += 16; } if ((t2 = x >> 8) != 0) { x = t2; r += 8; } if ((t2 = x >> 4) != 0) { x = t2; r += 4; } if ((t2 = x >> 2) != 0) { x = t2; r += 2; } if ((t2 = x >> 1) != 0) { x = t2; r += 1; } return r; } function bnBitLength() { if (this.t <= 0) return 0; return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM); } function bnpDLShiftTo(n, r) { var i; for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]; for (i = n - 1; i >= 0; --i) r[i] = 0; r.t = this.t + n; r.s = this.s; } function bnpDRShiftTo(n, r) { for (var i = n; i < this.t; ++i) r[i - n] = this[i]; r.t = Math.max(this.t - n, 0); r.s = this.s; } function bnpLShiftTo(n, r) { var bs = n % this.DB; var cbs = this.DB - bs; var bm = (1 << cbs) - 1; var ds = Math.floor(n / this.DB), c = this.s << bs & this.DM, i; for (i = this.t - 1; i >= 0; --i) { r[i + ds + 1] = this[i] >> cbs | c; c = (this[i] & bm) << bs; } for (i = ds - 1; i >= 0; --i) r[i] = 0; r[ds] = c; r.t = this.t + ds + 1; r.s = this.s; r.clamp(); } function bnpRShiftTo(n, r) { r.s = this.s; var ds = Math.floor(n / this.DB); if (ds >= this.t) { r.t = 0; return; } var bs = n % this.DB; var cbs = this.DB - bs; var bm = (1 << bs) - 1; r[0] = this[ds] >> bs; for (var i = ds + 1; i < this.t; ++i) { r[i - ds - 1] |= (this[i] & bm) << cbs; r[i - ds] = this[i] >> bs; } if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs; r.t = this.t - ds; r.clamp(); } function bnpSubTo(a, r) { var i = 0, c = 0, m = Math.min(a.t, this.t); while (i < m) { c += this[i] - a[i]; r[i++] = c & this.DM; c >>= this.DB; } if (a.t < this.t) { c -= a.s; while (i < this.t) { c += this[i]; r[i++] = c & this.DM; c >>= this.DB; } c += this.s; } else { c += this.s; while (i < a.t) { c -= a[i]; r[i++] = c & this.DM; c >>= this.DB; } c -= a.s; } r.s = c < 0 ? -1 : 0; if (c < -1) r[i++] = this.DV + c; else if (c > 0) r[i++] = c; r.t = i; r.clamp(); } function bnpMultiplyTo(a, r) { var x = this.abs(), y = a.abs(); var i = x.t; r.t = i + y.t; while (--i >= 0) r[i] = 0; for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t); r.s = 0; r.clamp(); if (this.s != a.s) BigInteger.ZERO.subTo(r, r); } function bnpSquareTo(r) { var x = this.abs(); var i = r.t = 2 * x.t; while (--i >= 0) r[i] = 0; for (i = 0; i < x.t - 1; ++i) { var c = x.am(i, x[i], r, 2 * i, 0, 1); if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) { r[i + x.t] -= x.DV; r[i + x.t + 1] = 1; } } if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1); r.s = 0; r.clamp(); } function bnpDivRemTo(m, q, r) { var pm = m.abs(); if (pm.t <= 0) return; var pt = this.abs(); if (pt.t < pm.t) { if (q != null) q.fromInt(0); if (r != null) this.copyTo(r); return; } if (r == null) r = nbi(); var y = nbi(), ts = this.s, ms = m.s; var nsh = this.DB - nbits(pm[pm.t - 1]); if (nsh > 0) { pm.lShiftTo(nsh, y); pt.lShiftTo(nsh, r); } else { pm.copyTo(y); pt.copyTo(r); } var ys = y.t; var y0 = y[ys - 1]; if (y0 == 0) return; var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0); var d1 = this.FV / yt, d2 = (1 << this.F1) / yt, e = 1 << this.F2; var i = r.t, j = i - ys, t2 = q == null ? nbi() : q; y.dlShiftTo(j, t2); if (r.compareTo(t2) >= 0) { r[r.t++] = 1; r.subTo(t2, r); } BigInteger.ONE.dlShiftTo(ys, t2); t2.subTo(y, y); while (y.t < ys) y[y.t++] = 0; while (--j >= 0) { var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2); if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { y.dlShiftTo(j, t2); r.subTo(t2, r); while (r[i] < --qd) r.subTo(t2, r); } } if (q != null) { r.drShiftTo(ys, q); if (ts != ms) BigInteger.ZERO.subTo(q, q); } r.t = ys; r.clamp(); if (nsh > 0) r.rShiftTo(nsh, r); if (ts < 0) BigInteger.ZERO.subTo(r, r); } function bnMod(a) { var r = nbi(); this.abs().divRemTo(a, null, r); if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r); return r; } function Classic(m) { this.m = m; } function cConvert(x) { if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); else return x; } function cRevert(x) { return x; } function cReduce(x) { x.divRemTo(this.m, null, x); } function cMulTo(x, y, r) { x.multiplyTo(y, r); this.reduce(r); } function cSqrTo(x, r) { x.squareTo(r); this.reduce(r); } Classic.prototype.convert = cConvert; Classic.prototype.revert = cRevert; Classic.prototype.reduce = cReduce; Classic.prototype.mulTo = cMulTo; Classic.prototype.sqrTo = cSqrTo; function bnpInvDigit() { if (this.t < 1) return 0; var x = this[0]; if ((x & 1) == 0) return 0; var y = x & 3; y = y * (2 - (x & 15) * y) & 15; y = y * (2 - (x & 255) * y) & 255; y = y * (2 - ((x & 65535) * y & 65535)) & 65535; y = y * (2 - x * y % this.DV) % this.DV; return y > 0 ? this.DV - y : -y; } function Montgomery(m) { this.m = m; this.mp = m.invDigit(); this.mpl = this.mp & 32767; this.mph = this.mp >> 15; this.um = (1 << m.DB - 15) - 1; this.mt2 = 2 * m.t; } function montConvert(x) { var r = nbi(); x.abs().dlShiftTo(this.m.t, r); r.divRemTo(this.m, null, r); if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r); return r; } function montRevert(x) { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } function montReduce(x) { while (x.t <= this.mt2) x[x.t++] = 0; for (var i = 0; i < this.m.t; ++i) { var j = x[i] & 32767; var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM; j = i + this.m.t; x[j] += this.m.am(0, u0, x, i, 0, this.m.t); while (x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; } } x.clamp(); x.drShiftTo(this.m.t, x); if (x.compareTo(this.m) >= 0) x.subTo(this.m, x); } function montSqrTo(x, r) { x.squareTo(r); this.reduce(r); } function montMulTo(x, y, r) { x.multiplyTo(y, r); this.reduce(r); } Montgomery.prototype.convert = montConvert; Montgomery.prototype.revert = montRevert; Montgomery.prototype.reduce = montReduce; Montgomery.prototype.mulTo = montMulTo; Montgomery.prototype.sqrTo = montSqrTo; function bnpIsEven() { return (this.t > 0 ? this[0] & 1 : this.s) == 0; } function bnpExp(e, z2) { if (e > 4294967295 || e < 1) return BigInteger.ONE; var r = nbi(), r2 = nbi(), g = z2.convert(this), i = nbits(e) - 1; g.copyTo(r); while (--i >= 0) { z2.sqrTo(r, r2); if ((e & 1 << i) > 0) z2.mulTo(r2, g, r); else { var t2 = r; r = r2; r2 = t2; } } return z2.revert(r); } function bnModPowInt(e, m) { var z2; if (e < 256 || m.isEven()) z2 = new Classic(m); else z2 = new Montgomery(m); return this.exp(e, z2); } BigInteger.prototype.copyTo = bnpCopyTo; BigInteger.prototype.fromInt = bnpFromInt; BigInteger.prototype.fromString = bnpFromString; BigInteger.prototype.clamp = bnpClamp; BigInteger.prototype.dlShiftTo = bnpDLShiftTo; BigInteger.prototype.drShiftTo = bnpDRShiftTo; BigInteger.prototype.lShiftTo = bnpLShiftTo; BigInteger.prototype.rShiftTo = bnpRShiftTo; BigInteger.prototype.subTo = bnpSubTo; BigInteger.prototype.multiplyTo = bnpMultiplyTo; BigInteger.prototype.squareTo = bnpSquareTo; BigInteger.prototype.divRemTo = bnpDivRemTo; BigInteger.prototype.invDigit = bnpInvDigit; BigInteger.prototype.isEven = bnpIsEven; BigInteger.prototype.exp = bnpExp; BigInteger.prototype.toString = bnToString; BigInteger.prototype.negate = bnNegate; BigInteger.prototype.abs = bnAbs; BigInteger.prototype.compareTo = bnCompareTo; BigInteger.prototype.bitLength = bnBitLength; BigInteger.prototype.mod = bnMod; BigInteger.prototype.modPowInt = bnModPowInt; BigInteger.ZERO = nbv(0); BigInteger.ONE = nbv(1); function bnClone() { var r = nbi(); this.copyTo(r); return r; } function bnIntValue() { if (this.s < 0) { if (this.t == 1) return this[0] - this.DV; else if (this.t == 0) return -1; } else if (this.t == 1) return this[0]; else if (this.t == 0) return 0; return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0]; } function bnByteValue() { return this.t == 0 ? this.s : this[0] << 24 >> 24; } function bnShortValue() { return this.t == 0 ? this.s : this[0] << 16 >> 16; } function bnpChunkSize(r) { return Math.floor(Math.LN2 * this.DB / Math.log(r)); } function bnSigNum() { if (this.s < 0) return -1; else if (this.t <= 0 || this.t == 1 && this[0] <= 0) return 0; else return 1; } function bnpToRadix(b) { if (b == null) b = 10; if (this.signum() == 0 || b < 2 || b > 36) return "0"; var cs = this.chunkSize(b); var a = Math.pow(b, cs); var d = nbv(a), y = nbi(), z2 = nbi(), r = ""; this.divRemTo(d, y, z2); while (y.signum() > 0) { r = (a + z2.intValue()).toString(b).substr(1) + r; y.divRemTo(d, y, z2); } return z2.intValue().toString(b) + r; } function bnpFromRadix(s, b) { this.fromInt(0); if (b == null) b = 10; var cs = this.chunkSize(b); var d = Math.pow(b, cs), mi = false, j = 0, w = 0; for (var i = 0; i < s.length; ++i) { var x = intAt(s, i); if (x < 0) { if (s.charAt(i) == "-" && this.signum() == 0) mi = true; continue; } w = b * w + x; if (++j >= cs) { this.dMultiply(d); this.dAddOffset(w, 0); j = 0; w = 0; } } if (j > 0) { this.dMultiply(Math.pow(b, j)); this.dAddOffset(w, 0); } if (mi) BigInteger.ZERO.subTo(this, this); } function bnpFromNumber(a, b, c) { if ("number" == typeof b) { if (a < 2) this.fromInt(1); else { this.fromNumber(a, c); if (!this.testBit(a - 1)) this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this); if (this.isEven()) this.dAddOffset(1, 0); while (!this.isProbablePrime(b)) { this.dAddOffset(2, 0); if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a - 1), this); } } } else { var x = new Array(), t2 = a & 7; x.length = (a >> 3) + 1; b.nextBytes(x); if (t2 > 0) x[0] &= (1 << t2) - 1; else x[0] = 0; this.fromString(x, 256); } } function bnToByteArray() { var i = this.t, r = new Array(); r[0] = this.s; var p = this.DB - i * this.DB % 8, d, k = 0; if (i-- > 0) { if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) r[k++] = d | this.s << this.DB - p; while (i >= 0) { if (p < 8) { d = (this[i] & (1 << p) - 1) << 8 - p; d |= this[--i] >> (p += this.DB - 8); } else { d = this[i] >> (p -= 8) & 255; if (p <= 0) { p += this.DB; --i; } } if ((d & 128) != 0) d |= -256; if (k == 0 && (this.s & 128) != (d & 128)) ++k; if (k > 0 || d != this.s) r[k++] = d; } } return r; } function bnEquals(a) { return this.compareTo(a) == 0; } function bnMin(a) { return this.compareTo(a) < 0 ? this : a; } function bnMax(a) { return this.compareTo(a) > 0 ? this : a; } function bnpBitwiseTo(a, op, r) { var i, f, m = Math.min(a.t, this.t); for (i = 0; i < m; ++i) r[i] = op(this[i], a[i]); if (a.t < this.t) { f = a.s & this.DM; for (i = m; i < this.t; ++i) r[i] = op(this[i], f); r.t = this.t; } else { f = this.s & this.DM; for (i = m; i < a.t; ++i) r[i] = op(f, a[i]); r.t = a.t; } r.s = op(this.s, a.s); r.clamp(); } function op_and(x, y) { return x & y; } function bnAnd(a) { var r = nbi(); this.bitwiseTo(a, op_and, r); return r; } function op_or(x, y) { return x | y; } function bnOr(a) { var r = nbi(); this.bitwiseTo(a, op_or, r); return r; } function op_xor(x, y) { return x ^ y; } function bnXor(a) { var r = nbi(); this.bitwiseTo(a, op_xor, r); return r; } function op_andnot(x, y) { return x & ~y; } function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a, op_andnot, r); return r; } function bnNot() { var r = nbi(); for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]; r.t = this.t; r.s = ~this.s; return r; } function bnShiftLeft(n) { var r = nbi(); if (n < 0) this.rShiftTo(-n, r); else this.lShiftTo(n, r); return r; } function bnShiftRight(n) { var r = nbi(); if (n < 0) this.lShiftTo(-n, r); else this.rShiftTo(n, r); return r; } function lbit(x) { if (x == 0) return -1; var r = 0; if ((x & 65535) == 0) { x >>= 16; r += 16; } if ((x & 255) == 0) { x >>= 8; r += 8; } if ((x & 15) == 0) { x >>= 4; r += 4; } if ((x & 3) == 0) { x >>= 2; r += 2; } if ((x & 1) == 0) ++r; return r; } function bnGetLowestSetBit() { for (var i = 0; i < this.t; ++i) if (this[i] != 0) return i * this.DB + lbit(this[i]); if (this.s < 0) return this.t * this.DB; return -1; } function cbit(x) { var r = 0; while (x != 0) { x &= x - 1; ++r; } return r; } function bnBitCount() { var r = 0, x = this.s & this.DM; for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x); return r; } function bnTestBit(n) { var j = Math.floor(n / this.DB); if (j >= this.t) return this.s != 0; return (this[j] & 1 << n % this.DB) != 0; } function bnpChangeBit(n, op) { var r = BigInteger.ONE.shiftLeft(n); this.bitwiseTo(r, op, r); return r; } function bnSetBit(n) { return this.changeBit(n, op_or); } function bnClearBit(n) { return this.changeBit(n, op_andnot); } function bnFlipBit(n) { return this.changeBit(n, op_xor); } function bnpAddTo(a, r) { var i = 0, c = 0, m = Math.min(a.t, this.t); while (i < m) { c += this[i] + a[i]; r[i++] = c & this.DM; c >>= this.DB; } if (a.t < this.t) { c += a.s; while (i < this.t) { c += this[i]; r[i++] = c & this.DM; c >>= this.DB; } c += this.s; } else { c += this.s; while (i < a.t) { c += a[i]; r[i++] = c & this.DM; c >>= this.DB; } c += a.s; } r.s = c < 0 ? -1 : 0; if (c > 0) r[i++] = c; else if (c < -1) r[i++] = this.DV + c; r.t = i; r.clamp(); } function bnAdd(a) { var r = nbi(); this.addTo(a, r); return r; } function bnSubtract(a) { var r = nbi(); this.subTo(a, r); return r; } function bnMultiply(a) { var r = nbi(); this.multiplyTo(a, r); return r; } function bnSquare() { var r = nbi(); this.squareTo(r); return r; } function bnDivide(a) { var r = nbi(); this.divRemTo(a, r, null); return r; } function bnRemainder(a) { var r = nbi(); this.divRemTo(a, null, r); return r; } function bnDivideAndRemainder(a) { var q = nbi(), r = nbi(); this.divRemTo(a, q, r); return new Array(q, r); } function bnpDMultiply(n) { this[this.t] = this.am(0, n - 1, this, 0, 0, this.t); ++this.t; this.clamp(); } function bnpDAddOffset(n, w) { if (n == 0) return; while (this.t <= w) this[this.t++] = 0; this[w] += n; while (this[w] >= this.DV) { this[w] -= this.DV; if (++w >= this.t) this[this.t++] = 0; ++this[w]; } } function NullExp() { } function nNop(x) { return x; } function nMulTo(x, y, r) { x.multiplyTo(y, r); } function nSqrTo(x, r) { x.squareTo(r); } NullExp.prototype.convert = nNop; NullExp.prototype.revert = nNop; NullExp.prototype.mulTo = nMulTo; NullExp.prototype.sqrTo = nSqrTo; function bnPow(e) { return this.exp(e, new NullExp()); } function bnpMultiplyLowerTo(a, n, r) { var i = Math.min(this.t + a.t, n); r.s = 0; r.t = i; while (i > 0) r[--i] = 0; var j; for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t); for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i); r.clamp(); } function bnpMultiplyUpperTo(a, n, r) { --n; var i = r.t = this.t + a.t - n; r.s = 0; while (--i >= 0) r[i] = 0; for (i = Math.max(n - this.t, 0); i < a.t; ++i) r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n); r.clamp(); r.drShiftTo(1, r); } function Barrett(m) { this.r2 = nbi(); this.q3 = nbi(); BigInteger.ONE.dlShiftTo(2 * m.t, this.r2); this.mu = this.r2.divide(m); this.m = m; } function barrettConvert(x) { if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m); else if (x.compareTo(this.m) < 0) return x; else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } } function barrettRevert(x) { return x; } function barrettReduce(x) { x.drShiftTo(this.m.t - 1, this.r2); if (x.t > this.m.t + 1) { x.t = this.m.t + 1; x.clamp(); } this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3); this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); while (x.compareTo(this.r2) < 0) x.dAddOffset(1, this.m.t + 1); x.subTo(this.r2, x); while (x.compareTo(this.m) >= 0) x.subTo(this.m, x); } function barrettSqrTo(x, r) { x.squareTo(r); this.reduce(r); } function barrettMulTo(x, y, r) { x.multiplyTo(y, r); this.reduce(r); } Barrett.prototype.convert = barrettConvert; Barrett.prototype.revert = barrettRevert; Barrett.prototype.reduce = barrettReduce; Barrett.prototype.mulTo = barrettMulTo; Barrett.prototype.sqrTo = barrettSqrTo; function bnModPow(e, m) { var i = e.bitLength(), k, r = nbv(1), z2; if (i <= 0) return r; else if (i < 18) k = 1; else if (i < 48) k = 3; else if (i < 144) k = 4; else if (i < 768) k = 5; else k = 6; if (i < 8) z2 = new Classic(m); else if (m.isEven()) z2 = new Barrett(m); else z2 = new Montgomery(m); var g = new Array(), n = 3, k1 = k - 1, km = (1 << k) - 1; g[1] = z2.convert(this); if (k > 1) { var g2 = nbi(); z2.sqrTo(g[1], g2); while (n <= km) { g[n] = nbi(); z2.mulTo(g2, g[n - 2], g[n]); n += 2; } } var j = e.t - 1, w, is1 = true, r2 = nbi(), t2; i = nbits(e[j]) - 1; while (j >= 0) { if (i >= k1) w = e[j] >> i - k1 & km; else { w = (e[j] & (1 << i + 1) - 1) << k1 - i; if (j > 0) w |= e[j - 1] >> this.DB + i - k1; } n = k; while ((w & 1) == 0) { w >>= 1; --n; } if ((i -= n) < 0) { i += this.DB; --j; } if (is1) { g[w].copyTo(r); is1 = false; } else { while (n > 1) { z2.sqrTo(r, r2); z2.sqrTo(r2, r); n -= 2; } if (n > 0) z2.sqrTo(r, r2); else { t2 = r; r = r2; r2 = t2; } z2.mulTo(r2, g[w], r); } while (j >= 0 && (e[j] & 1 << i) == 0) { z2.sqrTo(r, r2); t2 = r; r = r2; r2 = t2; if (--i < 0) { i = this.DB - 1; --j; } } } return z2.revert(r); } function bnGCD(a) { var x = this.s < 0 ? this.negate() : this.clone(); var y = a.s < 0 ? a.negate() : a.clone(); if (x.compareTo(y) < 0) { var t2 = x; x = y; y = t2; } var i = x.getLowestSetBit(), g = y.getLowestSetBit(); if (g < 0) return x; if (i < g) g = i; if (g > 0) { x.rShiftTo(g, x); y.rShiftTo(g, y); } while (x.signum() > 0) { if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x); if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y); if (x.compareTo(y) >= 0) { x.subTo(y, x); x.rShiftTo(1, x); } else { y.subTo(x, y); y.rShiftTo(1, y); } } if (g > 0) y.lShiftTo(g, y); return y; } function bnpModInt(n) { if (n <= 0) return 0; var d = this.DV % n, r = this.s < 0 ? n - 1 : 0; if (this.t > 0) if (d == 0) r = this[0] % n; else for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n; return r; } function bnModInverse(m) { var ac = m.isEven(); if (this.isEven() && ac || m.signum() == 0) return BigInteger.ZERO; var u = m.clone(), v = this.clone(); var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1); while (u.signum() != 0) { while (u.isEven()) { u.rShiftTo(1, u); if (ac) { if (!a.isEven() || !b.isEven()) { a.addTo(this, a); b.subTo(m, b); } a.rShiftTo(1, a); } else if (!b.isEven()) b.subTo(m, b); b.rShiftTo(1, b); } while (v.isEven()) { v.rShiftTo(1, v); if (ac) { if (!c.isEven() || !d.isEven()) { c.addTo(this, c); d.subTo(m, d); } c.rShiftTo(1, c); } else if (!d.isEven()) d.subTo(m, d); d.rShiftTo(1, d); } if (u.compareTo(v) >= 0) { u.subTo(v, u); if (ac) a.subTo(c, a); b.subTo(d, b); } else { v.subTo(u, v); if (ac) c.subTo(a, c); d.subTo(b, d); } } if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; if (d.compareTo(m) >= 0) return d.subtract(m); if (d.signum() < 0) d.addTo(m, d); else return d; if (d.signum() < 0) return d.add(m); else return d; } var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]; var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]; function bnIsProbablePrime(t2) { var i, x = this.abs(); if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) { for (i = 0; i < lowprimes.length; ++i) if (x[0] == lowprimes[i]) return true; return false; } if (x.isEven()) return false; i = 1; while (i < lowprimes.length) { var m = lowprimes[i], j = i + 1; while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]; m = x.modInt(m); while (i < j) if (m % lowprimes[i++] == 0) return false; } return x.millerRabin(t2); } function bnpMillerRabin(t2) { var n1 = this.subtract(BigInteger.ONE); var k = n1.getLowestSetBit(); if (k <= 0) return false; var r = n1.shiftRight(k); t2 = t2 + 1 >> 1; if (t2 > lowprimes.length) t2 = lowprimes.length; var a = nbi(); for (var i = 0; i < t2; ++i) { a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]); var y = a.modPow(r, this); if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { var j = 1; while (j++ < k && y.compareTo(n1) != 0) { y = y.modPowInt(2, this); if (y.compareTo(BigInteger.ONE) == 0) return false; } if (y.compareTo(n1) != 0) return false; } } return true; } BigInteger.prototype.chunkSize = bnpChunkSize; BigInteger.prototype.toRadix = bnpToRadix; BigInteger.prototype.fromRadix = bnpFromRadix; BigInteger.prototype.fromNumber = bnpFromNumber; BigInteger.prototype.bitwiseTo = bnpBitwiseTo; BigInteger.prototype.changeBit = bnpChangeBit; BigInteger.prototype.addTo = bnpAddTo; BigInteger.prototype.dMultiply = bnpDMultiply; BigInteger.prototype.dAddOffset = bnpDAddOffset; BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; BigInteger.prototype.modInt = bnpModInt; BigInteger.prototype.millerRabin = bnpMillerRabin; BigInteger.prototype.clone = bnClone; BigInteger.prototype.intValue = bnIntValue; BigInteger.prototype.byteValue = bnByteValue; BigInteger.prototype.shortValue = bnShortValue; BigInteger.prototype.signum = bnSigNum; BigInteger.prototype.toByteArray = bnToByteArray; BigInteger.prototype.equals = bnEquals; BigInteger.prototype.min = bnMin; BigInteger.prototype.max = bnMax; BigInteger.prototype.and = bnAnd; BigInteger.prototype.or = bnOr; BigInteger.prototype.xor = bnXor; BigInteger.prototype.andNot = bnAndNot; BigInteger.prototype.not = bnNot; BigInteger.prototype.shiftLeft = bnShiftLeft; BigInteger.prototype.shiftRight = bnShiftRight; BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; BigInteger.prototype.bitCount = bnBitCount; BigInteger.prototype.testBit = bnTestBit; BigInteger.prototype.setBit = bnSetBit; BigInteger.prototype.clearBit = bnClearBit; BigInteger.prototype.flipBit = bnFlipBit; BigInteger.prototype.add = bnAdd; BigInteger.prototype.subtract = bnSubtract; BigInteger.prototype.multiply = bnMultiply; BigInteger.prototype.divide = bnDivide; BigInteger.prototype.remainder = bnRemainder; BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; BigInteger.prototype.modPow = bnModPow; BigInteger.prototype.modInverse = bnModInverse; BigInteger.prototype.pow = bnPow; BigInteger.prototype.gcd = bnGCD; BigInteger.prototype.isProbablePrime = bnIsProbablePrime; BigInteger.prototype.square = bnSquare; BigInteger.prototype.Barrett = Barrett; var rng_state; var rng_pool; var rng_pptr; function rng_seed_int(x) { rng_pool[rng_pptr++] ^= x & 255; rng_pool[rng_pptr++] ^= x >> 8 & 255; rng_pool[rng_pptr++] ^= x >> 16 & 255; rng_pool[rng_pptr++] ^= x >> 24 & 255; if (rng_pptr >= rng_psize) rng_pptr -= rng_psize; } function rng_seed_time() { rng_seed_int((/* @__PURE__ */ new Date()).getTime()); } if (rng_pool == null) { rng_pool = new Array(); rng_pptr = 0; var t; if (typeof window !== "undefined" && window.crypto) { if (window.crypto.getRandomValues) { var ua = new Uint8Array(32); window.crypto.getRandomValues(ua); for (t = 0; t < 32; ++t) rng_pool[rng_pptr++] = ua[t]; } else if (navigator.appName == "Netscape" && navigator.appVersion < "5") { var z = window.crypto.random(32); for (t = 0; t < z.length; ++t) rng_pool[rng_pptr++] = z.charCodeAt(t) & 255; } } while (rng_pptr < rng_psize) { t = Math.floor(65536 * Math.random()); rng_pool[rng_pptr++] = t >>> 8; rng_pool[rng_pptr++] = t & 255; } rng_pptr = 0; rng_seed_time(); } function rng_get_byte() { if (rng_state == null) { rng_seed_time(); rng_state = prng_newstate(); rng_state.init(rng_pool); for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) rng_pool[rng_pptr] = 0; rng_pptr = 0; } return rng_state.next(); } function rng_get_bytes(ba) { var i; for (i = 0; i < ba.length; ++i) ba[i] = rng_get_byte(); } function SecureRandom() { } SecureRandom.prototype.nextBytes = rng_get_bytes; function Arcfour() { this.i = 0; this.j = 0; this.S = new Array(); } function ARC4init(key) { var i, j, t2; for (i = 0; i < 256; ++i) this.S[i] = i; j = 0; for (i = 0; i < 256; ++i) { j = j + this.S[i] + key[i % key.length] & 255; t2 = this.S[i]; this.S[i] = this.S[j]; this.S[j] = t2; } this.i = 0; this.j = 0; } function ARC4next() { var t2; this.i = this.i + 1 & 255; this.j = this.j + this.S[this.i] & 255; t2 = this.S[this.i]; this.S[this.i] = this.S[this.j]; this.S[this.j] = t2; return this.S[t2 + this.S[this.i] & 255]; } Arcfour.prototype.init = ARC4init; Arcfour.prototype.next = ARC4next; function prng_newstate() { return new Arcfour(); } var rng_psize = 256; if (typeof exports2 !== "undefined") { exports2 = module2.exports = { default: BigInteger, BigInteger, SecureRandom }; } else { this.jsbn = { BigInteger, SecureRandom }; } }).call(exports2); } }); // ../node_modules/.pnpm/sprintf-js@1.1.3/node_modules/sprintf-js/src/sprintf.js var require_sprintf = __commonJS({ "../node_modules/.pnpm/sprintf-js@1.1.3/node_modules/sprintf-js/src/sprintf.js"(exports2) { !(function() { "use strict"; var re = { not_string: /[^s]/, not_bool: /[^t]/, not_type: /[^T]/, not_primitive: /[^v]/, number: /[diefg]/, numeric_arg: /[bcdiefguxX]/, json: /[j]/, not_json: /[^j]/, text: /^[^\x25]+/, modulo: /^\x25{2}/, placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, key: /^([a-z_][a-z_\d]*)/i, key_access: /^\.([a-z_][a-z_\d]*)/i, index_access: /^\[(\d+)\]/, sign: /^[+-]/ }; function sprintf(key) { return sprintf_format(sprintf_parse(key), arguments); } function vsprintf(fmt, argv2) { return sprintf.apply(null, [fmt].concat(argv2 || [])); } function sprintf_format(parse_tree, argv2) { var cursor = 1, tree_length = parse_tree.length, arg, output = "", i, k, ph, pad, pad_character, pad_length, is_positive, sign; for (i = 0; i < tree_length; i++) { if (typeof parse_tree[i] === "string") { output += parse_tree[i]; } else if (typeof parse_tree[i] === "object") { ph = parse_tree[i]; if (ph.keys) { arg = argv2[cursor]; for (k = 0; k < ph.keys.length; k++) { if (arg == void 0) { throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k - 1])); } arg = arg[ph.keys[k]]; } } else if (ph.param_no) { arg = argv2[ph.param_no]; } else { arg = argv2[cursor++]; } if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) { arg = arg(); } if (re.numeric_arg.test(ph.type) && (typeof arg !== "number" && isNaN(arg))) { throw new TypeError(sprintf("[sprintf] expecting number but found %T", arg)); } if (re.number.test(ph.type)) { is_positive = arg >= 0; } switch (ph.type) { case "b": arg = parseInt(arg, 10).toString(2); break; case "c": arg = String.fromCharCode(parseInt(arg, 10)); break; case "d": case "i": arg = parseInt(arg, 10); break; case "j": arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0); break; case "e": arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential(); break; case "f": arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg); break; case "g": arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg); break; case "o": arg = (parseInt(arg, 10) >>> 0).toString(8); break; case "s": arg = String(arg); arg = ph.precision ? arg.substring(0, ph.precision) : arg; break; case "t": arg = String(!!arg); arg = ph.precision ? arg.substring(0, ph.precision) : arg; break; case "T": arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase(); arg = ph.precision ? arg.substring(0, ph.precision) : arg; break; case "u": arg = parseInt(arg, 10) >>> 0; break; case "v": arg = arg.valueOf(); arg = ph.precision ? arg.substring(0, ph.precision) : arg; break; case "x": arg = (parseInt(arg, 10) >>> 0).toString(16); break; case "X": arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase(); break; } if (re.json.test(ph.type)) { output += arg; } else { if (re.number.test(ph.type) && (!is_positive || ph.sign)) { sign = is_positive ? "+" : "-"; arg = arg.toString().replace(re.sign, ""); } else { sign = ""; } pad_character = ph.pad_char ? ph.pad_char === "0" ? "0" : ph.pad_char.charAt(1) : " "; pad_length = ph.width - (sign + arg).length; pad = ph.width ? pad_length > 0 ? pad_character.repeat(pad_length) : "" : ""; output += ph.align ? sign + arg + pad : pad_character === "0" ? sign + pad + arg : pad + sign + arg; } } } return output; } var sprintf_cache = /* @__PURE__ */ Object.create(null); function sprintf_parse(fmt) { if (sprintf_cache[fmt]) { return sprintf_cache[fmt]; } var _fmt = fmt, match, parse_tree = [], arg_names = 0; while (_fmt) { if ((match = re.text.exec(_fmt)) !== null) { parse_tree.push(match[0]); } else if ((match = re.modulo.exec(_fmt)) !== null) { parse_tree.push("%"); } else if ((match = re.placeholder.exec(_fmt)) !== null) { if (match[2]) { arg_names |= 1; var field_list = [], replacement_field = match[2], field_match = []; if ((field_match = re.key.exec(replacement_field)) !== null) { field_list.push(field_match[1]); while ((replacement_field = replacement_field.substring(field_match[0].length)) !== "") { if ((field_match = re.key_access.exec(replacement_field)) !== null) { field_list.push(field_match[1]); } else if ((field_match = re.index_access.exec(replacement_field)) !== null) { field_list.push(field_match[1]); } else { throw new SyntaxError("[sprintf] failed to parse named argument key"); } } } else { throw new SyntaxError("[sprintf] failed to parse named argument key"); } match[2] = field_list; } else { arg_names |= 2; } if (arg_names === 3) { throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported"); } parse_tree.push( { placeholder: match[0], param_no: match[1], keys: match[2], sign: match[3], pad_char: match[4], align: match[5], width: match[6], precision: match[7], type: match[8] } ); } else { throw new SyntaxError("[sprintf] unexpected placeholder"); } _fmt = _fmt.substring(match[0].length); } return sprintf_cache[fmt] = parse_tree; } if (typeof exports2 !== "undefined") { exports2["sprintf"] = sprintf; exports2["vsprintf"] = vsprintf; } if (typeof window !== "undefined") { window["sprintf"] = sprintf; window["vsprintf"] = vsprintf; if (typeof define === "function" && define["amd"]) { define(function() { return { "sprintf": sprintf, "vsprintf": vsprintf }; }); } } })(); } }); // ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ipv4.js var require_ipv4 = __commonJS({ "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ipv4.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Address4 = void 0; var common = __importStar3(require_common3()); var constants = __importStar3(require_constants5()); var address_error_1 = require_address_error(); var jsbn_1 = require_jsbn(); var sprintf_js_1 = require_sprintf(); var Address4 = class _Address4 { constructor(address) { this.groups = constants.GROUPS; this.parsedAddress = []; this.parsedSubnet = ""; this.subnet = "/32"; this.subnetMask = 32; this.v4 = true; this.isCorrect = common.isCorrect(constants.BITS); this.isInSubnet = common.isInSubnet; this.address = address; const subnet = constants.RE_SUBNET_STRING.exec(address); if (subnet) { this.parsedSubnet = subnet[0].replace("/", ""); this.subnetMask = parseInt(this.parsedSubnet, 10); this.subnet = `/${this.subnetMask}`; if (this.subnetMask < 0 || this.subnetMask > constants.BITS) { throw new address_error_1.AddressError("Invalid subnet mask."); } address = address.replace(constants.RE_SUBNET_STRING, ""); } this.addressMinusSuffix = address; this.parsedAddress = this.parse(address); } static isValid(address) { try { new _Address4(address); return true; } catch (e) { return false; } } /* * Parses a v4 address */ parse(address) { const groups = address.split("."); if (!address.match(constants.RE_ADDRESS)) { throw new address_error_1.AddressError("Invalid IPv4 address."); } return groups; } /** * Returns the correct form of an address * @memberof Address4 * @instance * @returns {String} */ correctForm() { return this.parsedAddress.map((part) => parseInt(part, 10)).join("."); } /** * Converts a hex string to an IPv4 address object * @memberof Address4 * @static * @param {string} hex - a hex string to convert * @returns {Address4} */ static fromHex(hex) { const padded = hex.replace(/:/g, "").padStart(8, "0"); const groups = []; let i; for (i = 0; i < 8; i += 2) { const h = padded.slice(i, i + 2); groups.push(parseInt(h, 16)); } return new _Address4(groups.join(".")); } /** * Converts an integer into a IPv4 address object * @memberof Address4 * @static * @param {integer} integer - a number to convert * @returns {Address4} */ static fromInteger(integer) { return _Address4.fromHex(integer.toString(16)); } /** * Return an address from in-addr.arpa form * @memberof Address4 * @static * @param {string} arpaFormAddress - an 'in-addr.arpa' form ipv4 address * @returns {Adress4} * @example * var address = Address4.fromArpa(42.2.0.192.in-addr.arpa.) * address.correctForm(); // '192.0.2.42' */ static fromArpa(arpaFormAddress) { const leader = arpaFormAddress.replace(/(\.in-addr\.arpa)?\.$/, ""); const address = leader.split(".").reverse().join("."); return new _Address4(address); } /** * Converts an IPv4 address object to a hex string * @memberof Address4 * @instance * @returns {String} */ toHex() { return this.parsedAddress.map((part) => (0, sprintf_js_1.sprintf)("%02x", parseInt(part, 10))).join(":"); } /** * Converts an IPv4 address object to an array of bytes * @memberof Address4 * @instance * @returns {Array} */ toArray() { return this.parsedAddress.map((part) => parseInt(part, 10)); } /** * Converts an IPv4 address object to an IPv6 address group * @memberof Address4 * @instance * @returns {String} */ toGroup6() { const output = []; let i; for (i = 0; i < constants.GROUPS; i += 2) { const hex = (0, sprintf_js_1.sprintf)("%02x%02x", parseInt(this.parsedAddress[i], 10), parseInt(this.parsedAddress[i + 1], 10)); output.push((0, sprintf_js_1.sprintf)("%x", parseInt(hex, 16))); } return output.join(":"); } /** * Returns the address as a BigInteger * @memberof Address4 * @instance * @returns {BigInteger} */ bigInteger() { return new jsbn_1.BigInteger(this.parsedAddress.map((n) => (0, sprintf_js_1.sprintf)("%02x", parseInt(n, 10))).join(""), 16); } /** * Helper function getting start address. * @memberof Address4 * @instance * @returns {BigInteger} */ _startAddress() { return new jsbn_1.BigInteger(this.mask() + "0".repeat(constants.BITS - this.subnetMask), 2); } /** * The first address in the range given by this address' subnet. * Often referred to as the Network Address. * @memberof Address4 * @instance * @returns {Address4} */ startAddress() { return _Address4.fromBigInteger(this._startAddress()); } /** * The first host address in the range given by this address's subnet ie * the first address after the Network Address * @memberof Address4 * @instance * @returns {Address4} */ startAddressExclusive() { const adjust = new jsbn_1.BigInteger("1"); return _Address4.fromBigInteger(this._startAddress().add(adjust)); } /** * Helper function getting end address. * @memberof Address4 * @instance * @returns {BigInteger} */ _endAddress() { return new jsbn_1.BigInteger(this.mask() + "1".repeat(constants.BITS - this.subnetMask), 2); } /** * The last address in the range given by this address' subnet * Often referred to as the Broadcast * @memberof Address4 * @instance * @returns {Address4} */ endAddress() { return _Address4.fromBigInteger(this._endAddress()); } /** * The last host address in the range given by this address's subnet ie * the last address prior to the Broadcast Address * @memberof Address4 * @instance * @returns {Address4} */ endAddressExclusive() { const adjust = new jsbn_1.BigInteger("1"); return _Address4.fromBigInteger(this._endAddress().subtract(adjust)); } /** * Converts a BigInteger to a v4 address object * @memberof Address4 * @static * @param {BigInteger} bigInteger - a BigInteger to convert * @returns {Address4} */ static fromBigInteger(bigInteger) { return _Address4.fromInteger(parseInt(bigInteger.toString(), 10)); } /** * Returns the first n bits of the address, defaulting to the * subnet mask * @memberof Address4 * @instance * @returns {String} */ mask(mask) { if (mask === void 0) { mask = this.subnetMask; } return this.getBitsBase2(0, mask); } /** * Returns the bits in the given range as a base-2 string * @memberof Address4 * @instance * @returns {string} */ getBitsBase2(start, end) { return this.binaryZeroPad().slice(start, end); } /** * Return the reversed ip6.arpa form of the address * @memberof Address4 * @param {Object} options * @param {boolean} options.omitSuffix - omit the "in-addr.arpa" suffix * @instance * @returns {String} */ reverseForm(options) { if (!options) { options = {}; } const reversed = this.correctForm().split(".").reverse().join("."); if (options.omitSuffix) { return reversed; } return (0, sprintf_js_1.sprintf)("%s.in-addr.arpa.", reversed); } /** * Returns true if the given address is a multicast address * @memberof Address4 * @instance * @returns {boolean} */ isMulticast() { return this.isInSubnet(new _Address4("224.0.0.0/4")); } /** * Returns a zero-padded base-2 string representation of the address * @memberof Address4 * @instance * @returns {string} */ binaryZeroPad() { return this.bigInteger().toString(2).padStart(constants.BITS, "0"); } /** * Groups an IPv4 address for inclusion at the end of an IPv6 address * @returns {String} */ groupForV6() { const segments = this.parsedAddress; return this.address.replace(constants.RE_ADDRESS, (0, sprintf_js_1.sprintf)('%s.%s', segments.slice(0, 2).join("."), segments.slice(2, 4).join("."))); } }; exports2.Address4 = Address4; } }); // ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/constants.js var require_constants6 = __commonJS({ "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/constants.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.RE_URL_WITH_PORT = exports2.RE_URL = exports2.RE_ZONE_STRING = exports2.RE_SUBNET_STRING = exports2.RE_BAD_ADDRESS = exports2.RE_BAD_CHARACTERS = exports2.TYPES = exports2.SCOPES = exports2.GROUPS = exports2.BITS = void 0; exports2.BITS = 128; exports2.GROUPS = 8; exports2.SCOPES = { 0: "Reserved", 1: "Interface local", 2: "Link local", 4: "Admin local", 5: "Site local", 8: "Organization local", 14: "Global", 15: "Reserved" }; exports2.TYPES = { "ff01::1/128": "Multicast (All nodes on this interface)", "ff01::2/128": "Multicast (All routers on this interface)", "ff02::1/128": "Multicast (All nodes on this link)", "ff02::2/128": "Multicast (All routers on this link)", "ff05::2/128": "Multicast (All routers in this site)", "ff02::5/128": "Multicast (OSPFv3 AllSPF routers)", "ff02::6/128": "Multicast (OSPFv3 AllDR routers)", "ff02::9/128": "Multicast (RIP routers)", "ff02::a/128": "Multicast (EIGRP routers)", "ff02::d/128": "Multicast (PIM routers)", "ff02::16/128": "Multicast (MLDv2 reports)", "ff01::fb/128": "Multicast (mDNSv6)", "ff02::fb/128": "Multicast (mDNSv6)", "ff05::fb/128": "Multicast (mDNSv6)", "ff02::1:2/128": "Multicast (All DHCP servers and relay agents on this link)", "ff05::1:2/128": "Multicast (All DHCP servers and relay agents in this site)", "ff02::1:3/128": "Multicast (All DHCP servers on this link)", "ff05::1:3/128": "Multicast (All DHCP servers in this site)", "::/128": "Unspecified", "::1/128": "Loopback", "ff00::/8": "Multicast", "fe80::/10": "Link-local unicast" }; exports2.RE_BAD_CHARACTERS = /([^0-9a-f:/%])/gi; exports2.RE_BAD_ADDRESS = /([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi; exports2.RE_SUBNET_STRING = /\/\d{1,3}(?=%|$)/; exports2.RE_ZONE_STRING = /%.*$/; exports2.RE_URL = new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/); exports2.RE_URL_WITH_PORT = new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/); } }); // ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/helpers.js var require_helpers2 = __commonJS({ "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/helpers.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.simpleGroup = exports2.spanLeadingZeroes = exports2.spanAll = exports2.spanAllZeroes = void 0; var sprintf_js_1 = require_sprintf(); function spanAllZeroes(s) { return s.replace(/(0+)/g, '$1'); } exports2.spanAllZeroes = spanAllZeroes; function spanAll(s, offset = 0) { const letters = s.split(""); return letters.map( (n, i) => (0, sprintf_js_1.sprintf)('%s', n, i + offset, spanAllZeroes(n)) // XXX Use #base-2 .value-0 instead? ).join(""); } exports2.spanAll = spanAll; function spanLeadingZeroesSimple(group) { return group.replace(/^(0+)/, '$1'); } function spanLeadingZeroes(address) { const groups = address.split(":"); return groups.map((g) => spanLeadingZeroesSimple(g)).join(":"); } exports2.spanLeadingZeroes = spanLeadingZeroes; function simpleGroup(addressString, offset = 0) { const groups = addressString.split(":"); return groups.map((g, i) => { if (/group-v4/.test(g)) { return g; } return (0, sprintf_js_1.sprintf)('%s', i + offset, spanLeadingZeroesSimple(g)); }); } exports2.simpleGroup = simpleGroup; } }); // ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/regular-expressions.js var require_regular_expressions = __commonJS({ "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/regular-expressions.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.possibleElisions = exports2.simpleRegularExpression = exports2.ADDRESS_BOUNDARY = exports2.padGroup = exports2.groupPossibilities = void 0; var v6 = __importStar3(require_constants6()); var sprintf_js_1 = require_sprintf(); function groupPossibilities(possibilities) { return (0, sprintf_js_1.sprintf)("(%s)", possibilities.join("|")); } exports2.groupPossibilities = groupPossibilities; function padGroup(group) { if (group.length < 4) { return (0, sprintf_js_1.sprintf)("0{0,%d}%s", 4 - group.length, group); } return group; } exports2.padGroup = padGroup; exports2.ADDRESS_BOUNDARY = "[^A-Fa-f0-9:]"; function simpleRegularExpression(groups) { const zeroIndexes = []; groups.forEach((group, i) => { const groupInteger = parseInt(group, 16); if (groupInteger === 0) { zeroIndexes.push(i); } }); const possibilities = zeroIndexes.map((zeroIndex) => groups.map((group, i) => { if (i === zeroIndex) { const elision = i === 0 || i === v6.GROUPS - 1 ? ":" : ""; return groupPossibilities([padGroup(group), elision]); } return padGroup(group); }).join(":")); possibilities.push(groups.map(padGroup).join(":")); return groupPossibilities(possibilities); } exports2.simpleRegularExpression = simpleRegularExpression; function possibleElisions(elidedGroups, moreLeft, moreRight) { const left = moreLeft ? "" : ":"; const right = moreRight ? "" : ":"; const possibilities = []; if (!moreLeft && !moreRight) { possibilities.push("::"); } if (moreLeft && moreRight) { possibilities.push(""); } if (moreRight && !moreLeft || !moreRight && moreLeft) { possibilities.push(":"); } possibilities.push((0, sprintf_js_1.sprintf)("%s(:0{1,4}){1,%d}", left, elidedGroups - 1)); possibilities.push((0, sprintf_js_1.sprintf)("(0{1,4}:){1,%d}%s", elidedGroups - 1, right)); possibilities.push((0, sprintf_js_1.sprintf)("(0{1,4}:){%d}0{1,4}", elidedGroups - 1)); for (let groups = 1; groups < elidedGroups - 1; groups++) { for (let position = 1; position < elidedGroups - groups; position++) { possibilities.push((0, sprintf_js_1.sprintf)("(0{1,4}:){%d}:(0{1,4}:){%d}0{1,4}", position, elidedGroups - position - groups - 1)); } } return groupPossibilities(possibilities); } exports2.possibleElisions = possibleElisions; } }); // ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ipv6.js var require_ipv6 = __commonJS({ "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ipv6.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Address6 = void 0; var common = __importStar3(require_common3()); var constants4 = __importStar3(require_constants5()); var constants6 = __importStar3(require_constants6()); var helpers = __importStar3(require_helpers2()); var ipv4_1 = require_ipv4(); var regular_expressions_1 = require_regular_expressions(); var address_error_1 = require_address_error(); var jsbn_1 = require_jsbn(); var sprintf_js_1 = require_sprintf(); function assert(condition) { if (!condition) { throw new Error("Assertion failed."); } } function addCommas(number) { const r = /(\d+)(\d{3})/; while (r.test(number)) { number = number.replace(r, "$1,$2"); } return number; } function spanLeadingZeroes4(n) { n = n.replace(/^(0{1,})([1-9]+)$/, '$1$2'); n = n.replace(/^(0{1,})(0)$/, '$1$2'); return n; } function compact(address, slice) { const s1 = []; const s2 = []; let i; for (i = 0; i < address.length; i++) { if (i < slice[0]) { s1.push(address[i]); } else if (i > slice[1]) { s2.push(address[i]); } } return s1.concat(["compact"]).concat(s2); } function paddedHex(octet) { return (0, sprintf_js_1.sprintf)("%04x", parseInt(octet, 16)); } function unsignByte(b) { return b & 255; } var Address6 = class _Address6 { constructor(address, optionalGroups) { this.addressMinusSuffix = ""; this.parsedSubnet = ""; this.subnet = "/128"; this.subnetMask = 128; this.v4 = false; this.zone = ""; this.isInSubnet = common.isInSubnet; this.isCorrect = common.isCorrect(constants6.BITS); if (optionalGroups === void 0) { this.groups = constants6.GROUPS; } else { this.groups = optionalGroups; } this.address = address; const subnet = constants6.RE_SUBNET_STRING.exec(address); if (subnet) { this.parsedSubnet = subnet[0].replace("/", ""); this.subnetMask = parseInt(this.parsedSubnet, 10); this.subnet = `/${this.subnetMask}`; if (Number.isNaN(this.subnetMask) || this.subnetMask < 0 || this.subnetMask > constants6.BITS) { throw new address_error_1.AddressError("Invalid subnet mask."); } address = address.replace(constants6.RE_SUBNET_STRING, ""); } else if (/\//.test(address)) { throw new address_error_1.AddressError("Invalid subnet mask."); } const zone = constants6.RE_ZONE_STRING.exec(address); if (zone) { this.zone = zone[0]; address = address.replace(constants6.RE_ZONE_STRING, ""); } this.addressMinusSuffix = address; this.parsedAddress = this.parse(this.addressMinusSuffix); } static isValid(address) { try { new _Address6(address); return true; } catch (e) { return false; } } /** * Convert a BigInteger to a v6 address object * @memberof Address6 * @static * @param {BigInteger} bigInteger - a BigInteger to convert * @returns {Address6} * @example * var bigInteger = new BigInteger('1000000000000'); * var address = Address6.fromBigInteger(bigInteger); * address.correctForm(); // '::e8:d4a5:1000' */ static fromBigInteger(bigInteger) { const hex = bigInteger.toString(16).padStart(32, "0"); const groups = []; let i; for (i = 0; i < constants6.GROUPS; i++) { groups.push(hex.slice(i * 4, (i + 1) * 4)); } return new _Address6(groups.join(":")); } /** * Convert a URL (with optional port number) to an address object * @memberof Address6 * @static * @param {string} url - a URL with optional port number * @example * var addressAndPort = Address6.fromURL('http://[ffff::]:8080/foo/'); * addressAndPort.address.correctForm(); // 'ffff::' * addressAndPort.port; // 8080 */ static fromURL(url) { let host; let port = null; let result2; if (url.indexOf("[") !== -1 && url.indexOf("]:") !== -1) { result2 = constants6.RE_URL_WITH_PORT.exec(url); if (result2 === null) { return { error: "failed to parse address with port", address: null, port: null }; } host = result2[1]; port = result2[2]; } else if (url.indexOf("/") !== -1) { url = url.replace(/^[a-z0-9]+:\/\//, ""); result2 = constants6.RE_URL.exec(url); if (result2 === null) { return { error: "failed to parse address from URL", address: null, port: null }; } host = result2[1]; } else { host = url; } if (port) { port = parseInt(port, 10); if (port < 0 || port > 65536) { port = null; } } else { port = null; } return { address: new _Address6(host), port }; } /** * Create an IPv6-mapped address given an IPv4 address * @memberof Address6 * @static * @param {string} address - An IPv4 address string * @returns {Address6} * @example * var address = Address6.fromAddress4('192.168.0.1'); * address.correctForm(); // '::ffff:c0a8:1' * address.to4in6(); // '::ffff:192.168.0.1' */ static fromAddress4(address) { const address4 = new ipv4_1.Address4(address); const mask6 = constants6.BITS - (constants4.BITS - address4.subnetMask); return new _Address6(`::ffff:${address4.correctForm()}/${mask6}`); } /** * Return an address from ip6.arpa form * @memberof Address6 * @static * @param {string} arpaFormAddress - an 'ip6.arpa' form address * @returns {Adress6} * @example * var address = Address6.fromArpa(e.f.f.f.3.c.2.6.f.f.f.e.6.6.8.e.1.0.6.7.9.4.e.c.0.0.0.0.1.0.0.2.ip6.arpa.) * address.correctForm(); // '2001:0:ce49:7601:e866:efff:62c3:fffe' */ static fromArpa(arpaFormAddress) { let address = arpaFormAddress.replace(/(\.ip6\.arpa)?\.$/, ""); const semicolonAmount = 7; if (address.length !== 63) { throw new address_error_1.AddressError("Invalid 'ip6.arpa' form."); } const parts = address.split(".").reverse(); for (let i = semicolonAmount; i > 0; i--) { const insertIndex = i * 4; parts.splice(insertIndex, 0, ":"); } address = parts.join(""); return new _Address6(address); } /** * Return the Microsoft UNC transcription of the address * @memberof Address6 * @instance * @returns {String} the Microsoft UNC transcription of the address */ microsoftTranscription() { return (0, sprintf_js_1.sprintf)("%s.ipv6-literal.net", this.correctForm().replace(/:/g, "-")); } /** * Return the first n bits of the address, defaulting to the subnet mask * @memberof Address6 * @instance * @param {number} [mask=subnet] - the number of bits to mask * @returns {String} the first n bits of the address as a string */ mask(mask = this.subnetMask) { return this.getBitsBase2(0, mask); } /** * Return the number of possible subnets of a given size in the address * @memberof Address6 * @instance * @param {number} [size=128] - the subnet size * @returns {String} */ // TODO: probably useful to have a numeric version of this too possibleSubnets(subnetSize = 128) { const availableBits = constants6.BITS - this.subnetMask; const subnetBits = Math.abs(subnetSize - constants6.BITS); const subnetPowers = availableBits - subnetBits; if (subnetPowers < 0) { return "0"; } return addCommas(new jsbn_1.BigInteger("2", 10).pow(subnetPowers).toString(10)); } /** * Helper function getting start address. * @memberof Address6 * @instance * @returns {BigInteger} */ _startAddress() { return new jsbn_1.BigInteger(this.mask() + "0".repeat(constants6.BITS - this.subnetMask), 2); } /** * The first address in the range given by this address' subnet * Often referred to as the Network Address. * @memberof Address6 * @instance * @returns {Address6} */ startAddress() { return _Address6.fromBigInteger(this._startAddress()); } /** * The first host address in the range given by this address's subnet ie * the first address after the Network Address * @memberof Address6 * @instance * @returns {Address6} */ startAddressExclusive() { const adjust = new jsbn_1.BigInteger("1"); return _Address6.fromBigInteger(this._startAddress().add(adjust)); } /** * Helper function getting end address. * @memberof Address6 * @instance * @returns {BigInteger} */ _endAddress() { return new jsbn_1.BigInteger(this.mask() + "1".repeat(constants6.BITS - this.subnetMask), 2); } /** * The last address in the range given by this address' subnet * Often referred to as the Broadcast * @memberof Address6 * @instance * @returns {Address6} */ endAddress() { return _Address6.fromBigInteger(this._endAddress()); } /** * The last host address in the range given by this address's subnet ie * the last address prior to the Broadcast Address * @memberof Address6 * @instance * @returns {Address6} */ endAddressExclusive() { const adjust = new jsbn_1.BigInteger("1"); return _Address6.fromBigInteger(this._endAddress().subtract(adjust)); } /** * Return the scope of the address * @memberof Address6 * @instance * @returns {String} */ getScope() { let scope = constants6.SCOPES[this.getBits(12, 16).intValue()]; if (this.getType() === "Global unicast" && scope !== "Link local") { scope = "Global"; } return scope || "Unknown"; } /** * Return the type of the address * @memberof Address6 * @instance * @returns {String} */ getType() { for (const subnet of Object.keys(constants6.TYPES)) { if (this.isInSubnet(new _Address6(subnet))) { return constants6.TYPES[subnet]; } } return "Global unicast"; } /** * Return the bits in the given range as a BigInteger * @memberof Address6 * @instance * @returns {BigInteger} */ getBits(start, end) { return new jsbn_1.BigInteger(this.getBitsBase2(start, end), 2); } /** * Return the bits in the given range as a base-2 string * @memberof Address6 * @instance * @returns {String} */ getBitsBase2(start, end) { return this.binaryZeroPad().slice(start, end); } /** * Return the bits in the given range as a base-16 string * @memberof Address6 * @instance * @returns {String} */ getBitsBase16(start, end) { const length = end - start; if (length % 4 !== 0) { throw new Error("Length of bits to retrieve must be divisible by four"); } return this.getBits(start, end).toString(16).padStart(length / 4, "0"); } /** * Return the bits that are set past the subnet mask length * @memberof Address6 * @instance * @returns {String} */ getBitsPastSubnet() { return this.getBitsBase2(this.subnetMask, constants6.BITS); } /** * Return the reversed ip6.arpa form of the address * @memberof Address6 * @param {Object} options * @param {boolean} options.omitSuffix - omit the "ip6.arpa" suffix * @instance * @returns {String} */ reverseForm(options) { if (!options) { options = {}; } const characters = Math.floor(this.subnetMask / 4); const reversed = this.canonicalForm().replace(/:/g, "").split("").slice(0, characters).reverse().join("."); if (characters > 0) { if (options.omitSuffix) { return reversed; } return (0, sprintf_js_1.sprintf)("%s.ip6.arpa.", reversed); } if (options.omitSuffix) { return ""; } return "ip6.arpa."; } /** * Return the correct form of the address * @memberof Address6 * @instance * @returns {String} */ correctForm() { let i; let groups = []; let zeroCounter = 0; const zeroes = []; for (i = 0; i < this.parsedAddress.length; i++) { const value = parseInt(this.parsedAddress[i], 16); if (value === 0) { zeroCounter++; } if (value !== 0 && zeroCounter > 0) { if (zeroCounter > 1) { zeroes.push([i - zeroCounter, i - 1]); } zeroCounter = 0; } } if (zeroCounter > 1) { zeroes.push([this.parsedAddress.length - zeroCounter, this.parsedAddress.length - 1]); } const zeroLengths = zeroes.map((n) => n[1] - n[0] + 1); if (zeroes.length > 0) { const index = zeroLengths.indexOf(Math.max(...zeroLengths)); groups = compact(this.parsedAddress, zeroes[index]); } else { groups = this.parsedAddress; } for (i = 0; i < groups.length; i++) { if (groups[i] !== "compact") { groups[i] = parseInt(groups[i], 16).toString(16); } } let correct = groups.join(":"); correct = correct.replace(/^compact$/, "::"); correct = correct.replace(/^compact|compact$/, ":"); correct = correct.replace(/compact/, ""); return correct; } /** * Return a zero-padded base-2 string representation of the address * @memberof Address6 * @instance * @returns {String} * @example * var address = new Address6('2001:4860:4001:803::1011'); * address.binaryZeroPad(); * // '0010000000000001010010000110000001000000000000010000100000000011 * // 0000000000000000000000000000000000000000000000000001000000010001' */ binaryZeroPad() { return this.bigInteger().toString(2).padStart(constants6.BITS, "0"); } // TODO: Improve the semantics of this helper function parse4in6(address) { const groups = address.split(":"); const lastGroup = groups.slice(-1)[0]; const address4 = lastGroup.match(constants4.RE_ADDRESS); if (address4) { this.parsedAddress4 = address4[0]; this.address4 = new ipv4_1.Address4(this.parsedAddress4); for (let i = 0; i < this.address4.groups; i++) { if (/^0[0-9]+/.test(this.address4.parsedAddress[i])) { throw new address_error_1.AddressError("IPv4 addresses can't have leading zeroes.", address.replace(constants4.RE_ADDRESS, this.address4.parsedAddress.map(spanLeadingZeroes4).join("."))); } } this.v4 = true; groups[groups.length - 1] = this.address4.toGroup6(); address = groups.join(":"); } return address; } // TODO: Make private? parse(address) { address = this.parse4in6(address); const badCharacters = address.match(constants6.RE_BAD_CHARACTERS); if (badCharacters) { throw new address_error_1.AddressError((0, sprintf_js_1.sprintf)("Bad character%s detected in address: %s", badCharacters.length > 1 ? "s" : "", badCharacters.join("")), address.replace(constants6.RE_BAD_CHARACTERS, '$1')); } const badAddress = address.match(constants6.RE_BAD_ADDRESS); if (badAddress) { throw new address_error_1.AddressError((0, sprintf_js_1.sprintf)("Address failed regex: %s", badAddress.join("")), address.replace(constants6.RE_BAD_ADDRESS, '$1')); } let groups = []; const halves = address.split("::"); if (halves.length === 2) { let first = halves[0].split(":"); let last = halves[1].split(":"); if (first.length === 1 && first[0] === "") { first = []; } if (last.length === 1 && last[0] === "") { last = []; } const remaining = this.groups - (first.length + last.length); if (!remaining) { throw new address_error_1.AddressError("Error parsing groups"); } this.elidedGroups = remaining; this.elisionBegin = first.length; this.elisionEnd = first.length + this.elidedGroups; groups = groups.concat(first); for (let i = 0; i < remaining; i++) { groups.push("0"); } groups = groups.concat(last); } else if (halves.length === 1) { groups = address.split(":"); this.elidedGroups = 0; } else { throw new address_error_1.AddressError("Too many :: groups found"); } groups = groups.map((group) => (0, sprintf_js_1.sprintf)("%x", parseInt(group, 16))); if (groups.length !== this.groups) { throw new address_error_1.AddressError("Incorrect number of groups found"); } return groups; } /** * Return the canonical form of the address * @memberof Address6 * @instance * @returns {String} */ canonicalForm() { return this.parsedAddress.map(paddedHex).join(":"); } /** * Return the decimal form of the address * @memberof Address6 * @instance * @returns {String} */ decimal() { return this.parsedAddress.map((n) => (0, sprintf_js_1.sprintf)("%05d", parseInt(n, 16))).join(":"); } /** * Return the address as a BigInteger * @memberof Address6 * @instance * @returns {BigInteger} */ bigInteger() { return new jsbn_1.BigInteger(this.parsedAddress.map(paddedHex).join(""), 16); } /** * Return the last two groups of this address as an IPv4 address string * @memberof Address6 * @instance * @returns {Address4} * @example * var address = new Address6('2001:4860:4001::1825:bf11'); * address.to4().correctForm(); // '24.37.191.17' */ to4() { const binary = this.binaryZeroPad().split(""); return ipv4_1.Address4.fromHex(new jsbn_1.BigInteger(binary.slice(96, 128).join(""), 2).toString(16)); } /** * Return the v4-in-v6 form of the address * @memberof Address6 * @instance * @returns {String} */ to4in6() { const address4 = this.to4(); const address6 = new _Address6(this.parsedAddress.slice(0, 6).join(":"), 6); const correct = address6.correctForm(); let infix = ""; if (!/:$/.test(correct)) { infix = ":"; } return correct + infix + address4.address; } /** * Return an object containing the Teredo properties of the address * @memberof Address6 * @instance * @returns {Object} */ inspectTeredo() { const prefix = this.getBitsBase16(0, 32); const udpPort = this.getBits(80, 96).xor(new jsbn_1.BigInteger("ffff", 16)).toString(); const server4 = ipv4_1.Address4.fromHex(this.getBitsBase16(32, 64)); const client4 = ipv4_1.Address4.fromHex(this.getBits(96, 128).xor(new jsbn_1.BigInteger("ffffffff", 16)).toString(16)); const flags = this.getBits(64, 80); const flagsBase2 = this.getBitsBase2(64, 80); const coneNat = flags.testBit(15); const reserved = flags.testBit(14); const groupIndividual = flags.testBit(8); const universalLocal = flags.testBit(9); const nonce = new jsbn_1.BigInteger(flagsBase2.slice(2, 6) + flagsBase2.slice(8, 16), 2).toString(10); return { prefix: (0, sprintf_js_1.sprintf)("%s:%s", prefix.slice(0, 4), prefix.slice(4, 8)), server4: server4.address, client4: client4.address, flags: flagsBase2, coneNat, microsoft: { reserved, universalLocal, groupIndividual, nonce }, udpPort }; } /** * Return an object containing the 6to4 properties of the address * @memberof Address6 * @instance * @returns {Object} */ inspect6to4() { const prefix = this.getBitsBase16(0, 16); const gateway = ipv4_1.Address4.fromHex(this.getBitsBase16(16, 48)); return { prefix: (0, sprintf_js_1.sprintf)("%s", prefix.slice(0, 4)), gateway: gateway.address }; } /** * Return a v6 6to4 address from a v6 v4inv6 address * @memberof Address6 * @instance * @returns {Address6} */ to6to4() { if (!this.is4()) { return null; } const addr6to4 = [ "2002", this.getBitsBase16(96, 112), this.getBitsBase16(112, 128), "", "/16" ].join(":"); return new _Address6(addr6to4); } /** * Return a byte array * @memberof Address6 * @instance * @returns {Array} */ toByteArray() { const byteArray = this.bigInteger().toByteArray(); if (byteArray.length === 17 && byteArray[0] === 0) { return byteArray.slice(1); } return byteArray; } /** * Return an unsigned byte array * @memberof Address6 * @instance * @returns {Array} */ toUnsignedByteArray() { return this.toByteArray().map(unsignByte); } /** * Convert a byte array to an Address6 object * @memberof Address6 * @static * @returns {Address6} */ static fromByteArray(bytes) { return this.fromUnsignedByteArray(bytes.map(unsignByte)); } /** * Convert an unsigned byte array to an Address6 object * @memberof Address6 * @static * @returns {Address6} */ static fromUnsignedByteArray(bytes) { const BYTE_MAX = new jsbn_1.BigInteger("256", 10); let result2 = new jsbn_1.BigInteger("0", 10); let multiplier = new jsbn_1.BigInteger("1", 10); for (let i = bytes.length - 1; i >= 0; i--) { result2 = result2.add(multiplier.multiply(new jsbn_1.BigInteger(bytes[i].toString(10), 10))); multiplier = multiplier.multiply(BYTE_MAX); } return _Address6.fromBigInteger(result2); } /** * Returns true if the address is in the canonical form, false otherwise * @memberof Address6 * @instance * @returns {boolean} */ isCanonical() { return this.addressMinusSuffix === this.canonicalForm(); } /** * Returns true if the address is a link local address, false otherwise * @memberof Address6 * @instance * @returns {boolean} */ isLinkLocal() { if (this.getBitsBase2(0, 64) === "1111111010000000000000000000000000000000000000000000000000000000") { return true; } return false; } /** * Returns true if the address is a multicast address, false otherwise * @memberof Address6 * @instance * @returns {boolean} */ isMulticast() { return this.getType() === "Multicast"; } /** * Returns true if the address is a v4-in-v6 address, false otherwise * @memberof Address6 * @instance * @returns {boolean} */ is4() { return this.v4; } /** * Returns true if the address is a Teredo address, false otherwise * @memberof Address6 * @instance * @returns {boolean} */ isTeredo() { return this.isInSubnet(new _Address6("2001::/32")); } /** * Returns true if the address is a 6to4 address, false otherwise * @memberof Address6 * @instance * @returns {boolean} */ is6to4() { return this.isInSubnet(new _Address6("2002::/16")); } /** * Returns true if the address is a loopback address, false otherwise * @memberof Address6 * @instance * @returns {boolean} */ isLoopback() { return this.getType() === "Loopback"; } // #endregion // #region HTML /** * @returns {String} the address in link form with a default port of 80 */ href(optionalPort) { if (optionalPort === void 0) { optionalPort = ""; } else { optionalPort = (0, sprintf_js_1.sprintf)(":%s", optionalPort); } return (0, sprintf_js_1.sprintf)("http://[%s]%s/", this.correctForm(), optionalPort); } /** * @returns {String} a link suitable for conveying the address via a URL hash */ link(options) { if (!options) { options = {}; } if (options.className === void 0) { options.className = ""; } if (options.prefix === void 0) { options.prefix = "/#address="; } if (options.v4 === void 0) { options.v4 = false; } let formFunction = this.correctForm; if (options.v4) { formFunction = this.to4in6; } if (options.className) { return (0, sprintf_js_1.sprintf)('%2$s', options.prefix, formFunction.call(this), options.className); } return (0, sprintf_js_1.sprintf)('%2$s', options.prefix, formFunction.call(this)); } /** * Groups an address * @returns {String} */ group() { if (this.elidedGroups === 0) { return helpers.simpleGroup(this.address).join(":"); } assert(typeof this.elidedGroups === "number"); assert(typeof this.elisionBegin === "number"); const output = []; const [left, right] = this.address.split("::"); if (left.length) { output.push(...helpers.simpleGroup(left)); } else { output.push(""); } const classes = ["hover-group"]; for (let i = this.elisionBegin; i < this.elisionBegin + this.elidedGroups; i++) { classes.push((0, sprintf_js_1.sprintf)("group-%d", i)); } output.push((0, sprintf_js_1.sprintf)('', classes.join(" "))); if (right.length) { output.push(...helpers.simpleGroup(right, this.elisionEnd)); } else { output.push(""); } if (this.is4()) { assert(this.address4 instanceof ipv4_1.Address4); output.pop(); output.push(this.address4.groupForV6()); } return output.join(":"); } // #endregion // #region Regular expressions /** * Generate a regular expression string that can be used to find or validate * all variations of this address * @memberof Address6 * @instance * @param {boolean} substringSearch * @returns {string} */ regularExpressionString(substringSearch = false) { let output = []; const address6 = new _Address6(this.correctForm()); if (address6.elidedGroups === 0) { output.push((0, regular_expressions_1.simpleRegularExpression)(address6.parsedAddress)); } else if (address6.elidedGroups === constants6.GROUPS) { output.push((0, regular_expressions_1.possibleElisions)(constants6.GROUPS)); } else { const halves = address6.address.split("::"); if (halves[0].length) { output.push((0, regular_expressions_1.simpleRegularExpression)(halves[0].split(":"))); } assert(typeof address6.elidedGroups === "number"); output.push((0, regular_expressions_1.possibleElisions)(address6.elidedGroups, halves[0].length !== 0, halves[1].length !== 0)); if (halves[1].length) { output.push((0, regular_expressions_1.simpleRegularExpression)(halves[1].split(":"))); } output = [output.join(":")]; } if (!substringSearch) { output = [ "(?=^|", regular_expressions_1.ADDRESS_BOUNDARY, "|[^\\w\\:])(", ...output, ")(?=[^\\w\\:]|", regular_expressions_1.ADDRESS_BOUNDARY, "|$)" ]; } return output.join(""); } /** * Generate a regular expression that can be used to find or validate all * variations of this address. * @memberof Address6 * @instance * @param {boolean} substringSearch * @returns {RegExp} */ regularExpression(substringSearch = false) { return new RegExp(this.regularExpressionString(substringSearch), "i"); } }; exports2.Address6 = Address6; } }); // ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ip-address.js var require_ip_address = __commonJS({ "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ip-address.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.v6 = exports2.AddressError = exports2.Address6 = exports2.Address4 = void 0; var ipv4_1 = require_ipv4(); Object.defineProperty(exports2, "Address4", { enumerable: true, get: function() { return ipv4_1.Address4; } }); var ipv6_1 = require_ipv6(); Object.defineProperty(exports2, "Address6", { enumerable: true, get: function() { return ipv6_1.Address6; } }); var address_error_1 = require_address_error(); Object.defineProperty(exports2, "AddressError", { enumerable: true, get: function() { return address_error_1.AddressError; } }); var helpers = __importStar3(require_helpers2()); exports2.v6 = { helpers }; } }); // ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/helpers.js var require_helpers3 = __commonJS({ "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/helpers.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ipToBuffer = exports2.int32ToIpv4 = exports2.ipv4ToInt32 = exports2.validateSocksClientChainOptions = exports2.validateSocksClientOptions = void 0; var util_1 = require_util5(); var constants_1 = require_constants4(); var stream = require("stream"); var ip_address_1 = require_ip_address(); var net = require("net"); function validateSocksClientOptions(options, acceptedCommands = ["connect", "bind", "associate"]) { if (!constants_1.SocksCommand[options.command]) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommand, options); } if (acceptedCommands.indexOf(options.command) === -1) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandForOperation, options); } if (!isValidSocksRemoteHost(options.destination)) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options); } if (!isValidSocksProxy(options.proxy)) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options); } validateCustomProxyAuth(options.proxy, options); if (options.timeout && !isValidTimeoutValue(options.timeout)) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options); } if (options.existing_socket && !(options.existing_socket instanceof stream.Duplex)) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsExistingSocket, options); } } exports2.validateSocksClientOptions = validateSocksClientOptions; function validateSocksClientChainOptions(options) { if (options.command !== "connect") { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandChain, options); } if (!isValidSocksRemoteHost(options.destination)) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options); } if (!(options.proxies && Array.isArray(options.proxies) && options.proxies.length >= 2)) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxiesLength, options); } options.proxies.forEach((proxy) => { if (!isValidSocksProxy(proxy)) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options); } validateCustomProxyAuth(proxy, options); }); if (options.timeout && !isValidTimeoutValue(options.timeout)) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options); } } exports2.validateSocksClientChainOptions = validateSocksClientChainOptions; function validateCustomProxyAuth(proxy, options) { if (proxy.custom_auth_method !== void 0) { if (proxy.custom_auth_method < constants_1.SOCKS5_CUSTOM_AUTH_START || proxy.custom_auth_method > constants_1.SOCKS5_CUSTOM_AUTH_END) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthRange, options); } if (proxy.custom_auth_request_handler === void 0 || typeof proxy.custom_auth_request_handler !== "function") { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options); } if (proxy.custom_auth_response_size === void 0) { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options); } if (proxy.custom_auth_response_handler === void 0 || typeof proxy.custom_auth_response_handler !== "function") { throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options); } } } function isValidSocksRemoteHost(remoteHost) { return remoteHost && typeof remoteHost.host === "string" && typeof remoteHost.port === "number" && remoteHost.port >= 0 && remoteHost.port <= 65535; } function isValidSocksProxy(proxy) { return proxy && (typeof proxy.host === "string" || typeof proxy.ipaddress === "string") && typeof proxy.port === "number" && proxy.port >= 0 && proxy.port <= 65535 && (proxy.type === 4 || proxy.type === 5); } function isValidTimeoutValue(value) { return typeof value === "number" && value > 0; } function ipv4ToInt32(ip) { const address = new ip_address_1.Address4(ip); return address.toArray().reduce((acc, part) => (acc << 8) + part, 0); } exports2.ipv4ToInt32 = ipv4ToInt32; function int32ToIpv4(int32) { const octet1 = int32 >>> 24 & 255; const octet2 = int32 >>> 16 & 255; const octet3 = int32 >>> 8 & 255; const octet4 = int32 & 255; return [octet1, octet2, octet3, octet4].join("."); } exports2.int32ToIpv4 = int32ToIpv4; function ipToBuffer(ip) { if (net.isIPv4(ip)) { const address = new ip_address_1.Address4(ip); return Buffer.from(address.toArray()); } else if (net.isIPv6(ip)) { const address = new ip_address_1.Address6(ip); return Buffer.from(address.canonicalForm().split(":").map((segment) => segment.padStart(4, "0")).join(""), "hex"); } else { throw new Error("Invalid IP address format"); } } exports2.ipToBuffer = ipToBuffer; } }); // ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/receivebuffer.js var require_receivebuffer = __commonJS({ "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/receivebuffer.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ReceiveBuffer = void 0; var ReceiveBuffer = class { constructor(size = 4096) { this.buffer = Buffer.allocUnsafe(size); this.offset = 0; this.originalSize = size; } get length() { return this.offset; } append(data) { if (!Buffer.isBuffer(data)) { throw new Error("Attempted to append a non-buffer instance to ReceiveBuffer."); } if (this.offset + data.length >= this.buffer.length) { const tmp = this.buffer; this.buffer = Buffer.allocUnsafe(Math.max(this.buffer.length + this.originalSize, this.buffer.length + data.length)); tmp.copy(this.buffer); } data.copy(this.buffer, this.offset); return this.offset += data.length; } peek(length) { if (length > this.offset) { throw new Error("Attempted to read beyond the bounds of the managed internal data."); } return this.buffer.slice(0, length); } get(length) { if (length > this.offset) { throw new Error("Attempted to read beyond the bounds of the managed internal data."); } const value = Buffer.allocUnsafe(length); this.buffer.slice(0, length).copy(value); this.buffer.copyWithin(0, length, length + this.offset - length); this.offset -= length; return value; } }; exports2.ReceiveBuffer = ReceiveBuffer; } }); // ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/client/socksclient.js var require_socksclient = __commonJS({ "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/client/socksclient.js"(exports2) { "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result2) { result2.done ? resolve(result2.value) : adopt(result2.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SocksClientError = exports2.SocksClient = void 0; var events_1 = require("events"); var net = require("net"); var smart_buffer_1 = require_smartbuffer(); var constants_1 = require_constants4(); var helpers_1 = require_helpers3(); var receivebuffer_1 = require_receivebuffer(); var util_1 = require_util5(); Object.defineProperty(exports2, "SocksClientError", { enumerable: true, get: function() { return util_1.SocksClientError; } }); var ip_address_1 = require_ip_address(); var SocksClient = class _SocksClient extends events_1.EventEmitter { constructor(options) { super(); this.options = Object.assign({}, options); (0, helpers_1.validateSocksClientOptions)(options); this.setState(constants_1.SocksClientState.Created); } /** * Creates a new SOCKS connection. * * Note: Supports callbacks and promises. Only supports the connect command. * @param options { SocksClientOptions } Options. * @param callback { Function } An optional callback function. * @returns { Promise } */ static createConnection(options, callback) { return new Promise((resolve, reject) => { try { (0, helpers_1.validateSocksClientOptions)(options, ["connect"]); } catch (err) { if (typeof callback === "function") { callback(err); return resolve(err); } else { return reject(err); } } const client = new _SocksClient(options); client.connect(options.existing_socket); client.once("established", (info) => { client.removeAllListeners(); if (typeof callback === "function") { callback(null, info); resolve(info); } else { resolve(info); } }); client.once("error", (err) => { client.removeAllListeners(); if (typeof callback === "function") { callback(err); resolve(err); } else { reject(err); } }); }); } /** * Creates a new SOCKS connection chain to a destination host through 2 or more SOCKS proxies. * * Note: Supports callbacks and promises. Only supports the connect method. * Note: Implemented via createConnection() factory function. * @param options { SocksClientChainOptions } Options * @param callback { Function } An optional callback function. * @returns { Promise } */ static createConnectionChain(options, callback) { return new Promise((resolve, reject) => __awaiter2(this, void 0, void 0, function* () { try { (0, helpers_1.validateSocksClientChainOptions)(options); } catch (err) { if (typeof callback === "function") { callback(err); return resolve(err); } else { return reject(err); } } if (options.randomizeChain) { (0, util_1.shuffleArray)(options.proxies); } try { let sock; for (let i = 0; i < options.proxies.length; i++) { const nextProxy = options.proxies[i]; const nextDestination = i === options.proxies.length - 1 ? options.destination : { host: options.proxies[i + 1].host || options.proxies[i + 1].ipaddress, port: options.proxies[i + 1].port }; const result2 = yield _SocksClient.createConnection({ command: "connect", proxy: nextProxy, destination: nextDestination, existing_socket: sock }); sock = sock || result2.socket; } if (typeof callback === "function") { callback(null, { socket: sock }); resolve({ socket: sock }); } else { resolve({ socket: sock }); } } catch (err) { if (typeof callback === "function") { callback(err); resolve(err); } else { reject(err); } } })); } /** * Creates a SOCKS UDP Frame. * @param options */ static createUDPFrame(options) { const buff = new smart_buffer_1.SmartBuffer(); buff.writeUInt16BE(0); buff.writeUInt8(options.frameNumber || 0); if (net.isIPv4(options.remoteHost.host)) { buff.writeUInt8(constants_1.Socks5HostType.IPv4); buff.writeUInt32BE((0, helpers_1.ipv4ToInt32)(options.remoteHost.host)); } else if (net.isIPv6(options.remoteHost.host)) { buff.writeUInt8(constants_1.Socks5HostType.IPv6); buff.writeBuffer((0, helpers_1.ipToBuffer)(options.remoteHost.host)); } else { buff.writeUInt8(constants_1.Socks5HostType.Hostname); buff.writeUInt8(Buffer.byteLength(options.remoteHost.host)); buff.writeString(options.remoteHost.host); } buff.writeUInt16BE(options.remoteHost.port); buff.writeBuffer(options.data); return buff.toBuffer(); } /** * Parses a SOCKS UDP frame. * @param data */ static parseUDPFrame(data) { const buff = smart_buffer_1.SmartBuffer.fromBuffer(data); buff.readOffset = 2; const frameNumber = buff.readUInt8(); const hostType = buff.readUInt8(); let remoteHost; if (hostType === constants_1.Socks5HostType.IPv4) { remoteHost = (0, helpers_1.int32ToIpv4)(buff.readUInt32BE()); } else if (hostType === constants_1.Socks5HostType.IPv6) { remoteHost = ip_address_1.Address6.fromByteArray(Array.from(buff.readBuffer(16))).canonicalForm(); } else { remoteHost = buff.readString(buff.readUInt8()); } const remotePort = buff.readUInt16BE(); return { frameNumber, remoteHost: { host: remoteHost, port: remotePort }, data: buff.readBuffer() }; } /** * Internal state setter. If the SocksClient is in an error state, it cannot be changed to a non error state. */ setState(newState) { if (this.state !== constants_1.SocksClientState.Error) { this.state = newState; } } /** * Starts the connection establishment to the proxy and destination. * @param existingSocket Connected socket to use instead of creating a new one (internal use). */ connect(existingSocket) { this.onDataReceived = (data) => this.onDataReceivedHandler(data); this.onClose = () => this.onCloseHandler(); this.onError = (err) => this.onErrorHandler(err); this.onConnect = () => this.onConnectHandler(); const timer = setTimeout(() => this.onEstablishedTimeout(), this.options.timeout || constants_1.DEFAULT_TIMEOUT); if (timer.unref && typeof timer.unref === "function") { timer.unref(); } if (existingSocket) { this.socket = existingSocket; } else { this.socket = new net.Socket(); } this.socket.once("close", this.onClose); this.socket.once("error", this.onError); this.socket.once("connect", this.onConnect); this.socket.on("data", this.onDataReceived); this.setState(constants_1.SocksClientState.Connecting); this.receiveBuffer = new receivebuffer_1.ReceiveBuffer(); if (existingSocket) { this.socket.emit("connect"); } else { this.socket.connect(this.getSocketOptions()); if (this.options.set_tcp_nodelay !== void 0 && this.options.set_tcp_nodelay !== null) { this.socket.setNoDelay(!!this.options.set_tcp_nodelay); } } this.prependOnceListener("established", (info) => { setImmediate(() => { if (this.receiveBuffer.length > 0) { const excessData = this.receiveBuffer.get(this.receiveBuffer.length); info.socket.emit("data", excessData); } info.socket.resume(); }); }); } // Socket options (defaults host/port to options.proxy.host/options.proxy.port) getSocketOptions() { return Object.assign(Object.assign({}, this.options.socket_options), { host: this.options.proxy.host || this.options.proxy.ipaddress, port: this.options.proxy.port }); } /** * Handles internal Socks timeout callback. * Note: If the Socks client is not BoundWaitingForConnection or Established, the connection will be closed. */ onEstablishedTimeout() { if (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.BoundWaitingForConnection) { this.closeSocket(constants_1.ERRORS.ProxyConnectionTimedOut); } } /** * Handles Socket connect event. */ onConnectHandler() { this.setState(constants_1.SocksClientState.Connected); if (this.options.proxy.type === 4) { this.sendSocks4InitialHandshake(); } else { this.sendSocks5InitialHandshake(); } this.setState(constants_1.SocksClientState.SentInitialHandshake); } /** * Handles Socket data event. * @param data */ onDataReceivedHandler(data) { this.receiveBuffer.append(data); this.processData(); } /** * Handles processing of the data we have received. */ processData() { while (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.Error && this.receiveBuffer.length >= this.nextRequiredPacketBufferSize) { if (this.state === constants_1.SocksClientState.SentInitialHandshake) { if (this.options.proxy.type === 4) { this.handleSocks4FinalHandshakeResponse(); } else { this.handleInitialSocks5HandshakeResponse(); } } else if (this.state === constants_1.SocksClientState.SentAuthentication) { this.handleInitialSocks5AuthenticationHandshakeResponse(); } else if (this.state === constants_1.SocksClientState.SentFinalHandshake) { this.handleSocks5FinalHandshakeResponse(); } else if (this.state === constants_1.SocksClientState.BoundWaitingForConnection) { if (this.options.proxy.type === 4) { this.handleSocks4IncomingConnectionResponse(); } else { this.handleSocks5IncomingConnectionResponse(); } } else { this.closeSocket(constants_1.ERRORS.InternalError); break; } } } /** * Handles Socket close event. * @param had_error */ onCloseHandler() { this.closeSocket(constants_1.ERRORS.SocketClosed); } /** * Handles Socket error event. * @param err */ onErrorHandler(err) { this.closeSocket(err.message); } /** * Removes internal event listeners on the underlying Socket. */ removeInternalSocketHandlers() { this.socket.pause(); this.socket.removeListener("data", this.onDataReceived); this.socket.removeListener("close", this.onClose); this.socket.removeListener("error", this.onError); this.socket.removeListener("connect", this.onConnect); } /** * Closes and destroys the underlying Socket. Emits an error event. * @param err { String } An error string to include in error event. */ closeSocket(err) { if (this.state !== constants_1.SocksClientState.Error) { this.setState(constants_1.SocksClientState.Error); this.socket.destroy(); this.removeInternalSocketHandlers(); this.emit("error", new util_1.SocksClientError(err, this.options)); } } /** * Sends initial Socks v4 handshake request. */ sendSocks4InitialHandshake() { const userId = this.options.proxy.userId || ""; const buff = new smart_buffer_1.SmartBuffer(); buff.writeUInt8(4); buff.writeUInt8(constants_1.SocksCommand[this.options.command]); buff.writeUInt16BE(this.options.destination.port); if (net.isIPv4(this.options.destination.host)) { buff.writeBuffer((0, helpers_1.ipToBuffer)(this.options.destination.host)); buff.writeStringNT(userId); } else { buff.writeUInt8(0); buff.writeUInt8(0); buff.writeUInt8(0); buff.writeUInt8(1); buff.writeStringNT(userId); buff.writeStringNT(this.options.destination.host); } this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks4Response; this.socket.write(buff.toBuffer()); } /** * Handles Socks v4 handshake response. * @param data */ handleSocks4FinalHandshakeResponse() { const data = this.receiveBuffer.get(8); if (data[1] !== constants_1.Socks4Response.Granted) { this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedConnection} - (${constants_1.Socks4Response[data[1]]})`); } else { if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) { const buff = smart_buffer_1.SmartBuffer.fromBuffer(data); buff.readOffset = 2; const remoteHost = { port: buff.readUInt16BE(), host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE()) }; if (remoteHost.host === "0.0.0.0") { remoteHost.host = this.options.proxy.ipaddress; } this.setState(constants_1.SocksClientState.BoundWaitingForConnection); this.emit("bound", { remoteHost, socket: this.socket }); } else { this.setState(constants_1.SocksClientState.Established); this.removeInternalSocketHandlers(); this.emit("established", { socket: this.socket }); } } } /** * Handles Socks v4 incoming connection request (BIND) * @param data */ handleSocks4IncomingConnectionResponse() { const data = this.receiveBuffer.get(8); if (data[1] !== constants_1.Socks4Response.Granted) { this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedIncomingBoundConnection} - (${constants_1.Socks4Response[data[1]]})`); } else { const buff = smart_buffer_1.SmartBuffer.fromBuffer(data); buff.readOffset = 2; const remoteHost = { port: buff.readUInt16BE(), host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE()) }; this.setState(constants_1.SocksClientState.Established); this.removeInternalSocketHandlers(); this.emit("established", { remoteHost, socket: this.socket }); } } /** * Sends initial Socks v5 handshake request. */ sendSocks5InitialHandshake() { const buff = new smart_buffer_1.SmartBuffer(); const supportedAuthMethods = [constants_1.Socks5Auth.NoAuth]; if (this.options.proxy.userId || this.options.proxy.password) { supportedAuthMethods.push(constants_1.Socks5Auth.UserPass); } if (this.options.proxy.custom_auth_method !== void 0) { supportedAuthMethods.push(this.options.proxy.custom_auth_method); } buff.writeUInt8(5); buff.writeUInt8(supportedAuthMethods.length); for (const authMethod of supportedAuthMethods) { buff.writeUInt8(authMethod); } this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5InitialHandshakeResponse; this.socket.write(buff.toBuffer()); this.setState(constants_1.SocksClientState.SentInitialHandshake); } /** * Handles initial Socks v5 handshake response. * @param data */ handleInitialSocks5HandshakeResponse() { const data = this.receiveBuffer.get(2); if (data[0] !== 5) { this.closeSocket(constants_1.ERRORS.InvalidSocks5IntiailHandshakeSocksVersion); } else if (data[1] === constants_1.SOCKS5_NO_ACCEPTABLE_AUTH) { this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeNoAcceptedAuthType); } else { if (data[1] === constants_1.Socks5Auth.NoAuth) { this.socks5ChosenAuthType = constants_1.Socks5Auth.NoAuth; this.sendSocks5CommandRequest(); } else if (data[1] === constants_1.Socks5Auth.UserPass) { this.socks5ChosenAuthType = constants_1.Socks5Auth.UserPass; this.sendSocks5UserPassAuthentication(); } else if (data[1] === this.options.proxy.custom_auth_method) { this.socks5ChosenAuthType = this.options.proxy.custom_auth_method; this.sendSocks5CustomAuthentication(); } else { this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeUnknownAuthType); } } } /** * Sends Socks v5 user & password auth handshake. * * Note: No auth and user/pass are currently supported. */ sendSocks5UserPassAuthentication() { const userId = this.options.proxy.userId || ""; const password = this.options.proxy.password || ""; const buff = new smart_buffer_1.SmartBuffer(); buff.writeUInt8(1); buff.writeUInt8(Buffer.byteLength(userId)); buff.writeString(userId); buff.writeUInt8(Buffer.byteLength(password)); buff.writeString(password); this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5UserPassAuthenticationResponse; this.socket.write(buff.toBuffer()); this.setState(constants_1.SocksClientState.SentAuthentication); } sendSocks5CustomAuthentication() { return __awaiter2(this, void 0, void 0, function* () { this.nextRequiredPacketBufferSize = this.options.proxy.custom_auth_response_size; this.socket.write(yield this.options.proxy.custom_auth_request_handler()); this.setState(constants_1.SocksClientState.SentAuthentication); }); } handleSocks5CustomAuthHandshakeResponse(data) { return __awaiter2(this, void 0, void 0, function* () { return yield this.options.proxy.custom_auth_response_handler(data); }); } handleSocks5AuthenticationNoAuthHandshakeResponse(data) { return __awaiter2(this, void 0, void 0, function* () { return data[1] === 0; }); } handleSocks5AuthenticationUserPassHandshakeResponse(data) { return __awaiter2(this, void 0, void 0, function* () { return data[1] === 0; }); } /** * Handles Socks v5 auth handshake response. * @param data */ handleInitialSocks5AuthenticationHandshakeResponse() { return __awaiter2(this, void 0, void 0, function* () { this.setState(constants_1.SocksClientState.ReceivedAuthenticationResponse); let authResult = false; if (this.socks5ChosenAuthType === constants_1.Socks5Auth.NoAuth) { authResult = yield this.handleSocks5AuthenticationNoAuthHandshakeResponse(this.receiveBuffer.get(2)); } else if (this.socks5ChosenAuthType === constants_1.Socks5Auth.UserPass) { authResult = yield this.handleSocks5AuthenticationUserPassHandshakeResponse(this.receiveBuffer.get(2)); } else if (this.socks5ChosenAuthType === this.options.proxy.custom_auth_method) { authResult = yield this.handleSocks5CustomAuthHandshakeResponse(this.receiveBuffer.get(this.options.proxy.custom_auth_response_size)); } if (!authResult) { this.closeSocket(constants_1.ERRORS.Socks5AuthenticationFailed); } else { this.sendSocks5CommandRequest(); } }); } /** * Sends Socks v5 final handshake request. */ sendSocks5CommandRequest() { const buff = new smart_buffer_1.SmartBuffer(); buff.writeUInt8(5); buff.writeUInt8(constants_1.SocksCommand[this.options.command]); buff.writeUInt8(0); if (net.isIPv4(this.options.destination.host)) { buff.writeUInt8(constants_1.Socks5HostType.IPv4); buff.writeBuffer((0, helpers_1.ipToBuffer)(this.options.destination.host)); } else if (net.isIPv6(this.options.destination.host)) { buff.writeUInt8(constants_1.Socks5HostType.IPv6); buff.writeBuffer((0, helpers_1.ipToBuffer)(this.options.destination.host)); } else { buff.writeUInt8(constants_1.Socks5HostType.Hostname); buff.writeUInt8(this.options.destination.host.length); buff.writeString(this.options.destination.host); } buff.writeUInt16BE(this.options.destination.port); this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader; this.socket.write(buff.toBuffer()); this.setState(constants_1.SocksClientState.SentFinalHandshake); } /** * Handles Socks v5 final handshake response. * @param data */ handleSocks5FinalHandshakeResponse() { const header = this.receiveBuffer.peek(5); if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) { this.closeSocket(`${constants_1.ERRORS.InvalidSocks5FinalHandshakeRejected} - ${constants_1.Socks5Response[header[1]]}`); } else { const addressType = header[3]; let remoteHost; let buff; if (addressType === constants_1.Socks5HostType.IPv4) { const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4; if (this.receiveBuffer.length < dataNeeded) { this.nextRequiredPacketBufferSize = dataNeeded; return; } buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); remoteHost = { host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE()), port: buff.readUInt16BE() }; if (remoteHost.host === "0.0.0.0") { remoteHost.host = this.options.proxy.ipaddress; } } else if (addressType === constants_1.Socks5HostType.Hostname) { const hostLength = header[4]; const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength); if (this.receiveBuffer.length < dataNeeded) { this.nextRequiredPacketBufferSize = dataNeeded; return; } buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5)); remoteHost = { host: buff.readString(hostLength), port: buff.readUInt16BE() }; } else if (addressType === constants_1.Socks5HostType.IPv6) { const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6; if (this.receiveBuffer.length < dataNeeded) { this.nextRequiredPacketBufferSize = dataNeeded; return; } buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); remoteHost = { host: ip_address_1.Address6.fromByteArray(Array.from(buff.readBuffer(16))).canonicalForm(), port: buff.readUInt16BE() }; } this.setState(constants_1.SocksClientState.ReceivedFinalResponse); if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.connect) { this.setState(constants_1.SocksClientState.Established); this.removeInternalSocketHandlers(); this.emit("established", { remoteHost, socket: this.socket }); } else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) { this.setState(constants_1.SocksClientState.BoundWaitingForConnection); this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader; this.emit("bound", { remoteHost, socket: this.socket }); } else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.associate) { this.setState(constants_1.SocksClientState.Established); this.removeInternalSocketHandlers(); this.emit("established", { remoteHost, socket: this.socket }); } } } /** * Handles Socks v5 incoming connection request (BIND). */ handleSocks5IncomingConnectionResponse() { const header = this.receiveBuffer.peek(5); if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) { this.closeSocket(`${constants_1.ERRORS.Socks5ProxyRejectedIncomingBoundConnection} - ${constants_1.Socks5Response[header[1]]}`); } else { const addressType = header[3]; let remoteHost; let buff; if (addressType === constants_1.Socks5HostType.IPv4) { const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4; if (this.receiveBuffer.length < dataNeeded) { this.nextRequiredPacketBufferSize = dataNeeded; return; } buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); remoteHost = { host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE()), port: buff.readUInt16BE() }; if (remoteHost.host === "0.0.0.0") { remoteHost.host = this.options.proxy.ipaddress; } } else if (addressType === constants_1.Socks5HostType.Hostname) { const hostLength = header[4]; const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength); if (this.receiveBuffer.length < dataNeeded) { this.nextRequiredPacketBufferSize = dataNeeded; return; } buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5)); remoteHost = { host: buff.readString(hostLength), port: buff.readUInt16BE() }; } else if (addressType === constants_1.Socks5HostType.IPv6) { const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6; if (this.receiveBuffer.length < dataNeeded) { this.nextRequiredPacketBufferSize = dataNeeded; return; } buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4)); remoteHost = { host: ip_address_1.Address6.fromByteArray(Array.from(buff.readBuffer(16))).canonicalForm(), port: buff.readUInt16BE() }; } this.setState(constants_1.SocksClientState.Established); this.removeInternalSocketHandlers(); this.emit("established", { remoteHost, socket: this.socket }); } } get socksClientOptions() { return Object.assign({}, this.options); } }; exports2.SocksClient = SocksClient; } }); // ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/index.js var require_build2 = __commonJS({ "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); __exportStar2(require_socksclient(), exports2); } }); // ../node_modules/.pnpm/socks-proxy-agent@8.0.5/node_modules/socks-proxy-agent/dist/index.js var require_dist9 = __commonJS({ "../node_modules/.pnpm/socks-proxy-agent@8.0.5/node_modules/socks-proxy-agent/dist/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SocksProxyAgent = void 0; var socks_1 = require_build2(); var agent_base_1 = require_dist6(); var debug_1 = __importDefault2(require_src2()); var dns = __importStar3(require("dns")); var net = __importStar3(require("net")); var tls = __importStar3(require("tls")); var url_1 = require("url"); var debug = (0, debug_1.default)("socks-proxy-agent"); var setServernameFromNonIpHost = (options) => { if (options.servername === void 0 && options.host && !net.isIP(options.host)) { return { ...options, servername: options.host }; } return options; }; function parseSocksURL(url) { let lookup = false; let type = 5; const host = url.hostname; const port = parseInt(url.port, 10) || 1080; switch (url.protocol.replace(":", "")) { case "socks4": lookup = true; type = 4; break; // pass through case "socks4a": type = 4; break; case "socks5": lookup = true; type = 5; break; // pass through case "socks": type = 5; break; case "socks5h": type = 5; break; default: throw new TypeError(`A "socks" protocol must be specified! Got: ${String(url.protocol)}`); } const proxy = { host, port, type }; if (url.username) { Object.defineProperty(proxy, "userId", { value: decodeURIComponent(url.username), enumerable: false }); } if (url.password != null) { Object.defineProperty(proxy, "password", { value: decodeURIComponent(url.password), enumerable: false }); } return { lookup, proxy }; } var SocksProxyAgent = class extends agent_base_1.Agent { constructor(uri, opts) { super(opts); const url = typeof uri === "string" ? new url_1.URL(uri) : uri; const { proxy, lookup } = parseSocksURL(url); this.shouldLookup = lookup; this.proxy = proxy; this.timeout = opts?.timeout ?? null; this.socketOptions = opts?.socketOptions ?? null; } /** * Initiates a SOCKS connection to the specified SOCKS proxy server, * which in turn connects to the specified remote host and port. */ async connect(req, opts) { const { shouldLookup, proxy, timeout } = this; if (!opts.host) { throw new Error("No `host` defined!"); } let { host } = opts; const { port, lookup: lookupFn = dns.lookup } = opts; if (shouldLookup) { host = await new Promise((resolve, reject) => { lookupFn(host, {}, (err, res) => { if (err) { reject(err); } else { resolve(res); } }); }); } const socksOpts = { proxy, destination: { host, port: typeof port === "number" ? port : parseInt(port, 10) }, command: "connect", timeout: timeout ?? void 0, // @ts-expect-error the type supplied by socks for socket_options is wider // than necessary since socks will always override the host and port socket_options: this.socketOptions ?? void 0 }; const cleanup = (tlsSocket) => { req.destroy(); socket.destroy(); if (tlsSocket) tlsSocket.destroy(); }; debug("Creating socks proxy connection: %o", socksOpts); const { socket } = await socks_1.SocksClient.createConnection(socksOpts); debug("Successfully created socks proxy connection"); if (timeout !== null) { socket.setTimeout(timeout); socket.on("timeout", () => cleanup()); } if (opts.secureEndpoint) { debug("Upgrading socket connection to TLS"); const tlsSocket = tls.connect({ ...omit(setServernameFromNonIpHost(opts), "host", "path", "port"), socket }); tlsSocket.once("error", (error) => { debug("Socket TLS error", error.message); cleanup(tlsSocket); }); return tlsSocket; } return socket; } }; SocksProxyAgent.protocols = [ "socks", "socks4", "socks4a", "socks5", "socks5h" ]; exports2.SocksProxyAgent = SocksProxyAgent; function omit(obj, ...keys) { const ret2 = {}; let key; for (key in obj) { if (!keys.includes(key)) { ret2[key] = obj[key]; } } return ret2; } } }); // ../node_modules/.pnpm/@pnpm+network.proxy-agent@2.0.3/node_modules/@pnpm/network.proxy-agent/dist/proxy-agent.js var require_proxy_agent = __commonJS({ "../node_modules/.pnpm/@pnpm+network.proxy-agent@2.0.3/node_modules/@pnpm/network.proxy-agent/dist/proxy-agent.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getProxyAgent = void 0; var error_1 = require_lib28(); var https_proxy_agent_1 = require_dist7(); var http_proxy_agent_1 = require_dist8(); var socks_proxy_agent_1 = require_dist9(); var lru_cache_1 = __importDefault2(require_lru_cache()); var DEFAULT_MAX_SOCKETS = 50; var AGENT_CACHE = new lru_cache_1.default({ max: 50 }); function getProxyAgent(uri, opts) { const parsedUri = new URL(uri); const pxuri = getProxyUri(parsedUri, opts); if (!pxuri) return; const isHttps = parsedUri.protocol === "https:"; const key = [ `https:${isHttps.toString()}`, `proxy:${pxuri.protocol}//${pxuri.username}:${pxuri.password}@${pxuri.host}:${pxuri.port}`, `local-address:${opts.localAddress ?? ">no-local-address<"}`, `strict-ssl:${isHttps ? Boolean(opts.strictSsl).toString() : ">no-strict-ssl<"}`, `ca:${isHttps && opts.ca?.toString() || ">no-ca<"}`, `cert:${isHttps && opts.cert?.toString() || ">no-cert<"}`, `key:${isHttps && opts.key || ">no-key<"}` ].join(":"); if (AGENT_CACHE.peek(key)) { return AGENT_CACHE.get(key); } const proxy = getProxy(pxuri, opts, isHttps); AGENT_CACHE.set(key, proxy); return proxy; } exports2.getProxyAgent = getProxyAgent; function getProxyUri(uri, opts) { const { protocol } = uri; let proxy; switch (protocol) { case "http:": { proxy = opts.httpProxy; break; } case "https:": { proxy = opts.httpsProxy; break; } } if (!proxy) { return void 0; } if (!proxy.includes("://")) { proxy = `${protocol}//${proxy}`; } if (typeof proxy !== "string") { return proxy; } try { return new URL(proxy); } catch (err) { throw new error_1.PnpmError("INVALID_PROXY", "Couldn't parse proxy URL", { hint: `If your proxy URL contains a username and password, make sure to URL-encode them (you may use the encodeURIComponent function). For instance, https-proxy=https://use%21r:pas%2As@my.proxy:1234/foo. Do not encode the colon (:) between the username and password.` }); } } function getProxy(proxyUrl, opts, isHttps) { const popts = { auth: getAuth(proxyUrl), ca: opts.ca, cert: opts.cert, key: opts.key, localAddress: opts.localAddress, maxSockets: opts.maxSockets ?? DEFAULT_MAX_SOCKETS, rejectUnauthorized: opts.strictSsl, timeout: typeof opts.timeout !== "number" || opts.timeout === 0 ? 0 : opts.timeout + 1 }; if (proxyUrl.protocol === "http:" || proxyUrl.protocol === "https:") { if (!isHttps) { return new http_proxy_agent_1.HttpProxyAgent(proxyUrl, popts); } else { return new PatchedHttpsProxyAgent(proxyUrl, popts); } } if (proxyUrl.protocol?.startsWith("socks")) { return new socks_proxy_agent_1.SocksProxyAgent(proxyUrl, popts); } return void 0; } function getAuth(user) { if (!user.username) { return void 0; } let auth = user.username; if (user.password) { auth += `:${user.password}`; } return decodeURIComponent(auth); } var extraOpts = Symbol("extra agent opts"); var PatchedHttpsProxyAgent = class extends https_proxy_agent_1.HttpsProxyAgent { constructor(proxyUrl, opts) { super(proxyUrl, opts); this[extraOpts] = opts; } connect(req, opts) { return super.connect(req, { ...this[extraOpts], ...opts }); } }; } }); // ../node_modules/.pnpm/@pnpm+network.proxy-agent@2.0.3/node_modules/@pnpm/network.proxy-agent/dist/index.js var require_dist10 = __commonJS({ "../node_modules/.pnpm/@pnpm+network.proxy-agent@2.0.3/node_modules/@pnpm/network.proxy-agent/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getProxyAgent = void 0; var proxy_agent_1 = require_proxy_agent(); Object.defineProperty(exports2, "getProxyAgent", { enumerable: true, get: function() { return proxy_agent_1.getProxyAgent; } }); } }); // ../node_modules/.pnpm/@pnpm+config.nerf-dart@1.0.1/node_modules/@pnpm/config.nerf-dart/dist/nerf-dart.js var require_nerf_dart = __commonJS({ "../node_modules/.pnpm/@pnpm+config.nerf-dart@1.0.1/node_modules/@pnpm/config.nerf-dart/dist/nerf-dart.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.nerfDart = void 0; var url_1 = require("url"); function nerfDart(url) { const parsed = new url_1.URL(url); const from = `${parsed.protocol}//${parsed.host}${parsed.pathname}`; const rel = new url_1.URL(".", from); const res = `//${rel.host}${rel.pathname}`; return res; } exports2.nerfDart = nerfDart; } }); // ../node_modules/.pnpm/@pnpm+config.nerf-dart@1.0.1/node_modules/@pnpm/config.nerf-dart/dist/index.js var require_dist11 = __commonJS({ "../node_modules/.pnpm/@pnpm+config.nerf-dart@1.0.1/node_modules/@pnpm/config.nerf-dart/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.nerfDart = void 0; var nerf_dart_1 = require_nerf_dart(); Object.defineProperty(exports2, "nerfDart", { enumerable: true, get: function() { return nerf_dart_1.nerfDart; } }); } }); // ../node_modules/.pnpm/@pnpm+network.config@2.1.0/node_modules/@pnpm/network.config/dist/config.js var require_config3 = __commonJS({ "../node_modules/.pnpm/@pnpm+network.config@2.1.0/node_modules/@pnpm/network.config/dist/config.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pickSettingByUrl = void 0; var config_nerf_dart_1 = require_dist11(); function getMaxParts(uris) { return uris.reduce((max, uri) => { const parts = uri.split("/").length; return parts > max ? parts : max; }, 0); } function pickSettingByUrl(generic, uri) { if (!generic) return void 0; if (generic[uri]) return generic[uri]; const nerf = (0, config_nerf_dart_1.nerfDart)(uri); const withoutPort = removePort(new URL(uri)); if (generic[nerf]) return generic[nerf]; if (generic[withoutPort]) return generic[withoutPort]; const maxParts = getMaxParts(Object.keys(generic)); const parts = nerf.split("/"); for (let i = Math.min(parts.length, maxParts) - 1; i >= 3; i--) { const key = `${parts.slice(0, i).join("/")}/`; if (generic[key]) { return generic[key]; } } if (withoutPort !== uri) { return pickSettingByUrl(generic, withoutPort); } return void 0; } exports2.pickSettingByUrl = pickSettingByUrl; function removePort(config) { if (config.port === "") return config.href; config.port = ""; const res = config.toString(); return res.endsWith("/") ? res : `${res}/`; } } }); // ../node_modules/.pnpm/@pnpm+network.config@2.1.0/node_modules/@pnpm/network.config/dist/index.js var require_dist12 = __commonJS({ "../node_modules/.pnpm/@pnpm+network.config@2.1.0/node_modules/@pnpm/network.config/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pickSettingByUrl = void 0; var config_1 = require_config3(); Object.defineProperty(exports2, "pickSettingByUrl", { enumerable: true, get: function() { return config_1.pickSettingByUrl; } }); } }); // ../node_modules/.pnpm/@pnpm+network.agent@2.0.3/node_modules/@pnpm/network.agent/dist/agent.js var require_agent2 = __commonJS({ "../node_modules/.pnpm/@pnpm+network.agent@2.0.3/node_modules/@pnpm/network.agent/dist/agent.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getAgent = void 0; var url_1 = require("url"); var agentkeepalive_1 = __importDefault2(require_agentkeepalive()); var lru_cache_1 = __importDefault2(require_lru_cache()); var network_proxy_agent_1 = require_dist10(); var network_config_1 = require_dist12(); var HttpsAgent = agentkeepalive_1.default.HttpsAgent; var DEFAULT_MAX_SOCKETS = 50; var AGENT_CACHE = new lru_cache_1.default({ max: 50 }); function getAgent(uri, opts) { if ((opts.httpProxy || opts.httpsProxy) && !checkNoProxy(uri, opts)) { const proxyAgent = (0, network_proxy_agent_1.getProxyAgent)(uri, opts); if (proxyAgent) return proxyAgent; } return getNonProxyAgent(uri, opts); } exports2.getAgent = getAgent; function getNonProxyAgent(uri, opts) { const parsedUri = new url_1.URL(uri); const isHttps = parsedUri.protocol === "https:"; const { ca, cert, key: certKey } = { ...opts, ...(0, network_config_1.pickSettingByUrl)(opts.clientCertificates, uri) }; const key = [ `https:${isHttps.toString()}`, `local-address:${opts.localAddress ?? ">no-local-address<"}`, `strict-ssl:${isHttps ? Boolean(opts.strictSsl).toString() : ">no-strict-ssl<"}`, `ca:${isHttps && ca?.toString() || ">no-ca<"}`, `cert:${isHttps && cert?.toString() || ">no-cert<"}`, `key:${isHttps && certKey?.toString() || ">no-key<"}` ].join(":"); if (AGENT_CACHE.peek(key)) { return AGENT_CACHE.get(key); } const agentTimeout = typeof opts.timeout !== "number" || opts.timeout === 0 ? 0 : opts.timeout + 1; const agent = isHttps ? new HttpsAgent({ ca, cert, key: certKey, localAddress: opts.localAddress, maxSockets: opts.maxSockets ?? DEFAULT_MAX_SOCKETS, rejectUnauthorized: opts.strictSsl, timeout: agentTimeout }) : new agentkeepalive_1.default({ localAddress: opts.localAddress, maxSockets: opts.maxSockets ?? DEFAULT_MAX_SOCKETS, timeout: agentTimeout }); AGENT_CACHE.set(key, agent); return agent; } function checkNoProxy(uri, opts) { const host = new url_1.URL(uri).hostname.split(".").filter((x) => x).reverse(); if (typeof opts.noProxy === "string") { const noproxyArr = opts.noProxy.split(/\s*,\s*/g); return noproxyArr.some((no) => { const noParts = no.split(".").filter((x) => x).reverse(); if (noParts.length === 0) { return false; } for (let i = 0; i < noParts.length; i++) { if (host[i] !== noParts[i]) { return false; } } return true; }); } return opts.noProxy; } } }); // ../node_modules/.pnpm/@pnpm+network.agent@2.0.3/node_modules/@pnpm/network.agent/dist/index.js var require_dist13 = __commonJS({ "../node_modules/.pnpm/@pnpm+network.agent@2.0.3/node_modules/@pnpm/network.agent/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getAgent = void 0; var agent_1 = require_agent2(); Object.defineProperty(exports2, "getAgent", { enumerable: true, get: function() { return agent_1.getAgent; } }); } }); // ../network/fetch/lib/fetchFromRegistry.js var require_fetchFromRegistry = __commonJS({ "../network/fetch/lib/fetchFromRegistry.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.fetchWithAgent = fetchWithAgent; exports2.createFetchFromRegistry = createFetchFromRegistry; var url_1 = require("url"); var network_agent_1 = require_dist13(); var fetch_js_1 = require_fetch(); var USER_AGENT = "pnpm"; var FULL_DOC = "application/json"; var ACCEPT_FULL_DOC = `${FULL_DOC}; q=1.0, */*`; var ABBREVIATED_DOC = "application/vnd.npm.install-v1+json"; var ACCEPT_ABBREVIATED_DOC = `${ABBREVIATED_DOC}; q=1.0, ${FULL_DOC}; q=0.8, */*`; var MAX_FOLLOWED_REDIRECTS = 20; function fetchWithAgent(url, opts) { const agent = (0, network_agent_1.getAgent)(url.toString(), { ...opts.agentOptions, strictSsl: opts.agentOptions.strictSsl ?? true }); const headers = opts.headers ?? {}; headers["connection"] = agent ? "keep-alive" : "close"; return (0, fetch_js_1.fetch)(url, { ...opts, agent }); } function createFetchFromRegistry(defaultOpts) { return async (url, opts) => { const headers = { "user-agent": USER_AGENT, ...getHeaders({ auth: opts?.authHeaderValue, fullMetadata: defaultOpts.fullMetadata, userAgent: defaultOpts.userAgent }) }; let redirects = 0; let urlObject = new url_1.URL(url); const originalHost = urlObject.host; while (true) { const agentOptions = { ...defaultOpts, ...opts, strictSsl: defaultOpts.strictSsl ?? true }; const response = await fetchWithAgent(urlObject, { agentOptions: { ...agentOptions, clientCertificates: defaultOpts.sslConfigs }, // if verifying integrity, node-fetch must not decompress compress: opts?.compress ?? false, method: opts?.method, headers, redirect: "manual", retry: opts?.retry, timeout: opts?.timeout ?? 6e4 }); if (!(0, fetch_js_1.isRedirect)(response.status) || redirects >= MAX_FOLLOWED_REDIRECTS) { return response; } redirects++; urlObject = new url_1.URL(response.headers.get("location")); if (!headers["authorization"] || originalHost === urlObject.host) continue; delete headers.authorization; } }; } function getHeaders(opts) { const headers = { accept: opts.fullMetadata === true ? ACCEPT_FULL_DOC : ACCEPT_ABBREVIATED_DOC }; if (opts.auth) { headers["authorization"] = opts.auth; } if (opts.userAgent) { headers["user-agent"] = opts.userAgent; } return headers; } } }); // ../network/fetch/lib/index.js var require_lib29 = __commonJS({ "../network/fetch/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.fetchWithAgent = exports2.createFetchFromRegistry = void 0; var fetch_js_1 = require_fetch(); Object.defineProperty(exports2, "fetch", { enumerable: true, get: function() { return fetch_js_1.fetch; } }); var fetchFromRegistry_js_1 = require_fetchFromRegistry(); Object.defineProperty(exports2, "createFetchFromRegistry", { enumerable: true, get: function() { return fetchFromRegistry_js_1.createFetchFromRegistry; } }); Object.defineProperty(exports2, "fetchWithAgent", { enumerable: true, get: function() { return fetchFromRegistry_js_1.fetchWithAgent; } }); } }); // ../node_modules/.pnpm/yocto-queue@0.1.0/node_modules/yocto-queue/index.js var require_yocto_queue = __commonJS({ "../node_modules/.pnpm/yocto-queue@0.1.0/node_modules/yocto-queue/index.js"(exports2, module2) { var Node = class { /// value; /// next; constructor(value) { this.value = value; this.next = void 0; } }; var Queue = class { // TODO: Use private class fields when targeting Node.js 12. // #_head; // #_tail; // #_size; constructor() { this.clear(); } enqueue(value) { const node = new Node(value); if (this._head) { this._tail.next = node; this._tail = node; } else { this._head = node; this._tail = node; } this._size++; } dequeue() { const current = this._head; if (!current) { return; } this._head = this._head.next; this._size--; return current.value; } clear() { this._head = void 0; this._tail = void 0; this._size = 0; } get size() { return this._size; } *[Symbol.iterator]() { let current = this._head; while (current) { yield current.value; current = current.next; } } }; module2.exports = Queue; } }); // ../node_modules/.pnpm/p-limit@3.1.0/node_modules/p-limit/index.js var require_p_limit = __commonJS({ "../node_modules/.pnpm/p-limit@3.1.0/node_modules/p-limit/index.js"(exports2, module2) { "use strict"; var Queue = require_yocto_queue(); var pLimit = (concurrency) => { if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) { throw new TypeError("Expected `concurrency` to be a number from 1 and up"); } const queue = new Queue(); let activeCount = 0; const next = () => { activeCount--; if (queue.size > 0) { queue.dequeue()(); } }; const run = async (fn, resolve, ...args) => { activeCount++; const result2 = (async () => fn(...args))(); resolve(result2); try { await result2; } catch { } next(); }; const enqueue = (fn, resolve, ...args) => { queue.enqueue(run.bind(null, fn, resolve, ...args)); (async () => { await Promise.resolve(); if (activeCount < concurrency && queue.size > 0) { queue.dequeue()(); } })(); }; const generator = (fn, ...args) => new Promise((resolve) => { enqueue(fn, resolve, ...args); }); Object.defineProperties(generator, { activeCount: { get: () => activeCount }, pendingCount: { get: () => queue.size }, clearQueue: { value: () => { queue.clear(); } } }); return generator; }; module2.exports = pLimit; } }); // ../node_modules/.pnpm/p-reflect@2.1.0/node_modules/p-reflect/index.js var require_p_reflect = __commonJS({ "../node_modules/.pnpm/p-reflect@2.1.0/node_modules/p-reflect/index.js"(exports2, module2) { "use strict"; var pReflect = async (promise) => { try { const value = await promise; return { isFulfilled: true, isRejected: false, value }; } catch (error) { return { isFulfilled: false, isRejected: true, reason: error }; } }; module2.exports = pReflect; module2.exports.default = pReflect; } }); // ../node_modules/.pnpm/promise-share@1.0.0/node_modules/promise-share/index.js var require_promise_share = __commonJS({ "../node_modules/.pnpm/promise-share@1.0.0/node_modules/promise-share/index.js"(exports2, module2) { "use strict"; var pReflect = require_p_reflect(); module2.exports = function pShare(p) { const reflected = pReflect(p); return async () => { const reflection = await reflected; if (reflection.isRejected) throw reflection.reason; return reflection.value; }; }; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/rng.js function rng() { if (poolPtr > rnds8Pool.length - 16) { import_crypto.default.randomFillSync(rnds8Pool); poolPtr = 0; } return rnds8Pool.slice(poolPtr, poolPtr += 16); } var import_crypto, rnds8Pool, poolPtr; var init_rng = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/rng.js"() { import_crypto = __toESM(require("crypto")); rnds8Pool = new Uint8Array(256); poolPtr = rnds8Pool.length; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/regex.js var regex_default; var init_regex = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/regex.js"() { regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/validate.js function validate(uuid) { return typeof uuid === "string" && regex_default.test(uuid); } var validate_default; var init_validate = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/validate.js"() { init_regex(); validate_default = validate; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/stringify.js function unsafeStringify(arr, offset = 0) { return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]; } function stringify(arr, offset = 0) { const uuid = unsafeStringify(arr, offset); if (!validate_default(uuid)) { throw TypeError("Stringified UUID is invalid"); } return uuid; } var byteToHex, stringify_default; var init_stringify = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/stringify.js"() { init_validate(); byteToHex = []; for (let i = 0; i < 256; ++i) { byteToHex.push((i + 256).toString(16).slice(1)); } stringify_default = stringify; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v1.js function v1(options, buf, offset) { let i = buf && offset || 0; const b = buf || new Array(16); options = options || {}; let node = options.node || _nodeId; let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; if (node == null || clockseq == null) { const seedBytes = options.random || (options.rng || rng)(); if (node == null) { node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; } if (clockseq == null) { clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383; } } let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; if (dt < 0 && options.clockseq === void 0) { clockseq = clockseq + 1 & 16383; } if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { nsecs = 0; } if (nsecs >= 1e4) { throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); } _lastMSecs = msecs; _lastNSecs = nsecs; _clockseq = clockseq; msecs += 122192928e5; const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; b[i++] = tl >>> 24 & 255; b[i++] = tl >>> 16 & 255; b[i++] = tl >>> 8 & 255; b[i++] = tl & 255; const tmh = msecs / 4294967296 * 1e4 & 268435455; b[i++] = tmh >>> 8 & 255; b[i++] = tmh & 255; b[i++] = tmh >>> 24 & 15 | 16; b[i++] = tmh >>> 16 & 255; b[i++] = clockseq >>> 8 | 128; b[i++] = clockseq & 255; for (let n = 0; n < 6; ++n) { b[i + n] = node[n]; } return buf || unsafeStringify(b); } var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; var init_v1 = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v1.js"() { init_rng(); init_stringify(); _lastMSecs = 0; _lastNSecs = 0; v1_default = v1; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/parse.js function parse(uuid) { if (!validate_default(uuid)) { throw TypeError("Invalid UUID"); } let v; const arr = new Uint8Array(16); arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; arr[1] = v >>> 16 & 255; arr[2] = v >>> 8 & 255; arr[3] = v & 255; arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; arr[5] = v & 255; arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; arr[7] = v & 255; arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; arr[9] = v & 255; arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255; arr[11] = v / 4294967296 & 255; arr[12] = v >>> 24 & 255; arr[13] = v >>> 16 & 255; arr[14] = v >>> 8 & 255; arr[15] = v & 255; return arr; } var parse_default; var init_parse = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/parse.js"() { init_validate(); parse_default = parse; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v35.js function stringToBytes(str) { str = unescape(encodeURIComponent(str)); const bytes = []; for (let i = 0; i < str.length; ++i) { bytes.push(str.charCodeAt(i)); } return bytes; } function v35(name, version2, hashfunc) { function generateUUID(value, namespace, buf, offset) { var _namespace; if (typeof value === "string") { value = stringToBytes(value); } if (typeof namespace === "string") { namespace = parse_default(namespace); } if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) { throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); } let bytes = new Uint8Array(16 + value.length); bytes.set(namespace); bytes.set(value, namespace.length); bytes = hashfunc(bytes); bytes[6] = bytes[6] & 15 | version2; bytes[8] = bytes[8] & 63 | 128; if (buf) { offset = offset || 0; for (let i = 0; i < 16; ++i) { buf[offset + i] = bytes[i]; } return buf; } return unsafeStringify(bytes); } try { generateUUID.name = name; } catch (err) { } generateUUID.DNS = DNS; generateUUID.URL = URL2; return generateUUID; } var DNS, URL2; var init_v35 = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v35.js"() { init_stringify(); init_parse(); DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/md5.js function md5(bytes) { if (Array.isArray(bytes)) { bytes = Buffer.from(bytes); } else if (typeof bytes === "string") { bytes = Buffer.from(bytes, "utf8"); } return import_crypto2.default.createHash("md5").update(bytes).digest(); } var import_crypto2, md5_default; var init_md5 = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/md5.js"() { import_crypto2 = __toESM(require("crypto")); md5_default = md5; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v3.js var v3, v3_default; var init_v3 = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v3.js"() { init_v35(); init_md5(); v3 = v35("v3", 48, md5_default); v3_default = v3; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/native.js var import_crypto3, native_default; var init_native = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/native.js"() { import_crypto3 = __toESM(require("crypto")); native_default = { randomUUID: import_crypto3.default.randomUUID }; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v4.js function v4(options, buf, offset) { if (native_default.randomUUID && !buf && !options) { return native_default.randomUUID(); } options = options || {}; const rnds = options.random || (options.rng || rng)(); rnds[6] = rnds[6] & 15 | 64; rnds[8] = rnds[8] & 63 | 128; if (buf) { offset = offset || 0; for (let i = 0; i < 16; ++i) { buf[offset + i] = rnds[i]; } return buf; } return unsafeStringify(rnds); } var v4_default; var init_v4 = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v4.js"() { init_native(); init_rng(); init_stringify(); v4_default = v4; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/sha1.js function sha1(bytes) { if (Array.isArray(bytes)) { bytes = Buffer.from(bytes); } else if (typeof bytes === "string") { bytes = Buffer.from(bytes, "utf8"); } return import_crypto4.default.createHash("sha1").update(bytes).digest(); } var import_crypto4, sha1_default; var init_sha1 = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/sha1.js"() { import_crypto4 = __toESM(require("crypto")); sha1_default = sha1; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v5.js var v5, v5_default; var init_v5 = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v5.js"() { init_v35(); init_sha1(); v5 = v35("v5", 80, sha1_default); v5_default = v5; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/nil.js var nil_default; var init_nil = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/nil.js"() { nil_default = "00000000-0000-0000-0000-000000000000"; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/version.js function version(uuid) { if (!validate_default(uuid)) { throw TypeError("Invalid UUID"); } return parseInt(uuid.slice(14, 15), 16); } var version_default; var init_version = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/version.js"() { init_validate(); version_default = version; } }); // ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/index.js var esm_node_exports = {}; __export(esm_node_exports, { NIL: () => nil_default, parse: () => parse_default, stringify: () => stringify_default, v1: () => v1_default, v3: () => v3_default, v4: () => v4_default, v5: () => v5_default, validate: () => validate_default, version: () => version_default }); var init_esm_node = __esm({ "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/index.js"() { init_v1(); init_v3(); init_v4(); init_v5(); init_nil(); init_version(); init_validate(); init_stringify(); init_parse(); } }); // ../store/server/lib/connectStoreController.js var require_connectStoreController = __commonJS({ "../store/server/lib/connectStoreController.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.connectStoreController = connectStoreController; var fetch_1 = require_lib29(); var p_limit_12 = __importDefault2(require_p_limit()); var promise_share_1 = __importDefault2(require_promise_share()); var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); async function connectStoreController(initOpts) { const remotePrefix = initOpts.remotePrefix; const limitedFetch = limitFetch.bind(null, (0, p_limit_12.default)(initOpts.concurrency ?? 100)); return new Promise((resolve, reject) => { resolve({ close: async () => { }, fetchPackage: fetchPackage.bind(null, remotePrefix, limitedFetch), getFilesIndexFilePath: () => ({ filesIndexFile: "", target: "" }), // NOT IMPLEMENTED importPackage: async (to, opts) => { return limitedFetch(`${remotePrefix}/importPackage`, { opts, to }); }, prune: async () => { await limitedFetch(`${remotePrefix}/prune`, {}); }, requestPackage: requestPackage.bind(null, remotePrefix, limitedFetch), stop: async () => { await limitedFetch(`${remotePrefix}/stop`, {}); }, upload: async (builtPkgLocation, opts) => { await limitedFetch(`${remotePrefix}/upload`, { builtPkgLocation, opts }); }, clearResolutionCache: () => { } }); }); } function limitFetch(limit, url, body) { return limit(async () => { if (url.startsWith("http://unix:")) { url = url.replace("http://unix:", "unix:"); } const response = await (0, fetch_1.fetch)(url, { body: JSON.stringify(body), headers: { "Content-Type": "application/json" }, method: "POST", retry: { retries: 100 } }); if (!response.ok) { throw await response.json(); } const json = await response.json(); if (json.error) { throw json.error; } return json; }); } async function requestPackage(remotePrefix, limitedFetch, wantedDependency, options) { const msgId = (0, uuid_1.v4)(); const packageResponseBody = await limitedFetch(`${remotePrefix}/requestPackage`, { msgId, options, wantedDependency }); if (options.skipFetch === true) { return { body: packageResponseBody }; } const fetchingFiles = limitedFetch(`${remotePrefix}/packageFilesResponse`, { msgId }); return { body: packageResponseBody, fetching: (0, promise_share_1.default)(fetchingFiles) }; } async function fetchPackage(remotePrefix, limitedFetch, options) { const msgId = (0, uuid_1.v4)(); const fetchResponseBody = await limitedFetch(`${remotePrefix}/fetchPackage`, { msgId, options }); const fetching = limitedFetch(`${remotePrefix}/packageFilesResponse`, { msgId }); return { fetching: (0, promise_share_1.default)(fetching), filesIndexFile: fetchResponseBody.filesIndexFile, inStoreLocation: fetchResponseBody.inStoreLocation }; } } }); // ../store/server/lib/lock.js var require_lock = __commonJS({ "../store/server/lib/lock.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.locking = locking; function locking() { const locks = {}; return async (key, fn) => { if (locks[key] != null) return locks[key]; locks[key] = fn(); fn().then(() => delete locks[key], () => delete locks[key]); return locks[key]; }; } } }); // ../store/server/lib/createServer.js var require_createServer = __commonJS({ "../store/server/lib/createServer.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createServer = createServer; var assert_1 = __importDefault2(require("assert")); var http_1 = __importDefault2(require("http")); var util_1 = __importDefault2(require("util")); var logger_1 = require_lib(); var lock_js_1 = require_lock(); function createServer(store, opts) { const filesPromises = {}; const lock = (0, lock_js_1.locking)(); const server = http_1.default.createServer(async (req, res) => { if (req.method !== "POST") { res.statusCode = 405; const responseError = { error: `Only POST is allowed, received ${req.method ?? "unknown"}` }; res.setHeader("Allow", "POST"); res.end(JSON.stringify(responseError)); return; } const bodyPromise = new Promise((resolve, reject) => { let body = ""; req.on("data", (data) => { body += data; }); req.on("end", async () => { try { if (body.length > 0) { body = JSON.parse(body); } else { body = {}; } resolve(body); } catch (e) { reject(e); } }); }); try { let body; switch (req.url) { case "/requestPackage": { try { body = await bodyPromise; const pkgResponse = await store.requestPackage(body.wantedDependency, body.options); if (pkgResponse.fetching) { filesPromises[body.msgId] = pkgResponse.fetching; } res.end(JSON.stringify(pkgResponse.body)); } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); res.end(JSON.stringify({ error: { message: err.message, ...JSON.parse(JSON.stringify(err)) } })); } break; } case "/fetchPackage": { try { body = await bodyPromise; const pkgResponse = store.fetchPackage(body.options); filesPromises[body.msgId] = pkgResponse.fetching; res.end(JSON.stringify({ filesIndexFile: pkgResponse.filesIndexFile })); } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); res.end(JSON.stringify({ error: { message: err.message, ...JSON.parse(JSON.stringify(err)) } })); } break; } case "/packageFilesResponse": { body = await bodyPromise; const filesResponse = await filesPromises[body.msgId](); delete filesPromises[body.msgId]; res.end(JSON.stringify(filesResponse)); break; } case "/prune": res.statusCode = 403; res.end(); break; case "/importPackage": { const importPackageBody = await bodyPromise; await store.importPackage(importPackageBody.to, importPackageBody.opts); res.end(JSON.stringify("OK")); break; } case "/upload": { if (opts.ignoreUploadRequests) { res.statusCode = 403; res.end(); break; } const uploadBody = await bodyPromise; await lock(uploadBody.builtPkgLocation, async () => store.upload(uploadBody.builtPkgLocation, uploadBody.opts)); res.end(JSON.stringify("OK")); break; } case "/stop": if (opts.ignoreStopRequests) { res.statusCode = 403; res.end(); break; } (0, logger_1.globalInfo)("Got request to stop the server"); await close(); res.end(JSON.stringify("OK")); (0, logger_1.globalInfo)("Server stopped"); break; default: { res.statusCode = 404; const error = { error: `${req.url} does not match any route` }; res.end(JSON.stringify(error)); } } } catch (e) { res.statusCode = 503; const jsonErr = JSON.parse(JSON.stringify(e)); jsonErr.message = e.message; res.end(JSON.stringify(jsonErr)); } }); let listener; const waitForListen = new Promise((resolve) => { if (opts.path) { listener = server.listen(opts.path, () => { resolve(); }); } else { listener = server.listen(opts.port, opts.hostname, () => { resolve(); }); } }); const waitForClose = new Promise((resolve) => listener.once("close", () => { resolve(); })); return { close, waitForListen, waitForClose }; async function close() { listener.close(); return store.close(); } } } }); // ../store/server/lib/index.js var require_lib30 = __commonJS({ "../store/server/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createServer = exports2.connectStoreController = void 0; var connectStoreController_js_1 = require_connectStoreController(); Object.defineProperty(exports2, "connectStoreController", { enumerable: true, get: function() { return connectStoreController_js_1.connectStoreController; } }); var createServer_js_1 = require_createServer(); Object.defineProperty(exports2, "createServer", { enumerable: true, get: function() { return createServer_js_1.createServer; } }); } }); // ../node_modules/.pnpm/@zkochan+rimraf@3.0.2/node_modules/@zkochan/rimraf/index.js var require_rimraf = __commonJS({ "../node_modules/.pnpm/@zkochan+rimraf@3.0.2/node_modules/@zkochan/rimraf/index.js"(exports2, module2) { var fs = require("fs"); module2.exports = async (p) => { try { await fs.promises.rm(p, { recursive: true, force: true, maxRetries: 3 }); } catch (err) { if (err.code === "ENOENT") return; throw err; } }; module2.exports.sync = (p) => { try { fs.rmSync(p, { recursive: true, force: true, maxRetries: 3 }); } catch (err) { if (err.code === "ENOENT") return; throw err; } }; } }); // ../node_modules/.pnpm/can-link@2.0.0/node_modules/can-link/index.js var require_can_link = __commonJS({ "../node_modules/.pnpm/can-link@2.0.0/node_modules/can-link/index.js"(exports2, module2) { "use strict"; var defaultFS = require("fs"); module2.exports = async (existingPath, newPath, customFS) => { const fs = customFS || defaultFS; try { await fs.promises.link(existingPath, newPath); fs.promises.unlink(newPath).catch(() => { }); return true; } catch (err) { if (err.code === "EXDEV" || err.code === "EACCES" || err.code === "EPERM") { return false; } throw err; } }; module2.exports.sync = (existingPath, newPath, customFS) => { const fs = customFS || defaultFS; try { fs.linkSync(existingPath, newPath); fs.unlinkSync(newPath); return true; } catch (err) { if (err.code === "EXDEV" || err.code === "EACCES" || err.code === "EPERM") { return false; } throw err; } }; } }); // ../node_modules/.pnpm/path-temp@2.0.0/node_modules/path-temp/index.js var require_path_temp2 = __commonJS({ "../node_modules/.pnpm/path-temp@2.0.0/node_modules/path-temp/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var uniqueString = require_unique_string(); module2.exports = function pathTemp(folder) { return path2.join(folder, `_tmp_${process.pid}_${uniqueString()}`); }; } }); // ../node_modules/.pnpm/next-path@1.0.0/node_modules/next-path/index.js var require_next_path = __commonJS({ "../node_modules/.pnpm/next-path@1.0.0/node_modules/next-path/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var nextPath = (from, to) => { const diff = path2.relative(from, to); const sepIndex = diff.indexOf(path2.sep); const next = sepIndex >= 0 ? diff.substring(0, sepIndex) : diff; return path2.join(from, next); }; module2.exports = nextPath; } }); // ../node_modules/.pnpm/root-link-target@3.1.0/node_modules/root-link-target/index.js var require_root_link_target = __commonJS({ "../node_modules/.pnpm/root-link-target@3.1.0/node_modules/root-link-target/index.js"(exports2, module2) { "use strict"; var canLink = require_can_link(); var path2 = require("path"); var pathTemp = require_path_temp2(); var nextPath = require_next_path(); module2.exports = async (filePath) => { filePath = path2.resolve(filePath); const end = path2.dirname(filePath); let dir = path2.parse(end).root; while (true) { const result2 = await canLink(filePath, pathTemp(dir)); if (result2) { return dir; } else if (dir === end) { throw new Error(`${filePath} cannot be linked to anywhere`); } else { dir = nextPath(dir, end); } } }; module2.exports.sync = (filePath) => { filePath = path2.resolve(filePath); const end = path2.dirname(filePath); let dir = path2.parse(end).root; while (true) { const result2 = canLink.sync(filePath, pathTemp(dir)); if (result2) { return dir; } else if (dir === end) { throw new Error(`${filePath} cannot be linked to anywhere`); } else { dir = nextPath(dir, end); } } }; } }); // ../node_modules/.pnpm/touch@3.1.0/node_modules/touch/index.js var require_touch = __commonJS({ "../node_modules/.pnpm/touch@3.1.0/node_modules/touch/index.js"(exports2, module2) { "use strict"; var EE = require("events").EventEmitter; var cons = require("constants"); var fs = require("fs"); module2.exports = (f, options, cb) => { if (typeof options === "function") cb = options, options = {}; const p = new Promise((res, rej) => { new Touch(validOpts(options, f, null)).on("done", res).on("error", rej); }); return cb ? p.then((res) => cb(null, res), cb) : p; }; module2.exports.sync = module2.exports.touchSync = (f, options) => (new TouchSync(validOpts(options, f, null)), void 0); module2.exports.ftouch = (fd, options, cb) => { if (typeof options === "function") cb = options, options = {}; const p = new Promise((res, rej) => { new Touch(validOpts(options, null, fd)).on("done", res).on("error", rej); }); return cb ? p.then((res) => cb(null, res), cb) : p; }; module2.exports.ftouchSync = (fd, opt) => (new TouchSync(validOpts(opt, null, fd)), void 0); var validOpts = (options, path2, fd) => { options = Object.create(options || {}); options.fd = fd; options.path = path2; const now = parseInt(new Date(options.time || Date.now()).getTime() / 1e3); if (!options.atime && !options.mtime) options.atime = options.mtime = now; else { if (true === options.atime) options.atime = now; if (true === options.mtime) options.mtime = now; } let oflags = 0; if (!options.force) oflags = oflags | cons.O_RDWR; if (!options.nocreate) oflags = oflags | cons.O_CREAT; options.oflags = oflags; return options; }; var Touch = class extends EE { constructor(options) { super(options); this.fd = options.fd; this.path = options.path; this.atime = options.atime; this.mtime = options.mtime; this.ref = options.ref; this.nocreate = !!options.nocreate; this.force = !!options.force; this.closeAfter = options.closeAfter; this.oflags = options.oflags; this.options = options; if (typeof this.fd !== "number") { this.closeAfter = true; this.open(); } else this.onopen(null, this.fd); } emit(ev, data) { this.close(); return super.emit(ev, data); } close() { if (typeof this.fd === "number" && this.closeAfter) fs.close(this.fd, () => { }); } open() { fs.open(this.path, this.oflags, (er, fd) => this.onopen(er, fd)); } onopen(er, fd) { if (er) { if (er.code === "EISDIR") this.onopen(null, null); else if (er.code === "ENOENT" && this.nocreate) this.emit("done"); else this.emit("error", er); } else { this.fd = fd; if (this.ref) this.statref(); else if (!this.atime || !this.mtime) this.fstat(); else this.futimes(); } } statref() { fs.stat(this.ref, (er, st) => { if (er) this.emit("error", er); else this.onstatref(st); }); } onstatref(st) { this.atime = this.atime && parseInt(st.atime.getTime() / 1e3, 10); this.mtime = this.mtime && parseInt(st.mtime.getTime() / 1e3, 10); if (!this.atime || !this.mtime) this.fstat(); else this.futimes(); } fstat() { const stat = this.fd ? "fstat" : "stat"; const target = this.fd || this.path; fs[stat](target, (er, st) => { if (er) this.emit("error", er); else this.onfstat(st); }); } onfstat(st) { if (typeof this.atime !== "number") this.atime = parseInt(st.atime.getTime() / 1e3, 10); if (typeof this.mtime !== "number") this.mtime = parseInt(st.mtime.getTime() / 1e3, 10); this.futimes(); } futimes() { const utimes = this.fd ? "futimes" : "utimes"; const target = this.fd || this.path; fs[utimes](target, "" + this.atime, "" + this.mtime, (er) => { if (er) this.emit("error", er); else this.emit("done"); }); } }; var TouchSync = class extends Touch { open() { try { this.onopen(null, fs.openSync(this.path, this.oflags)); } catch (er) { this.onopen(er); } } statref() { let threw = true; try { this.onstatref(fs.statSync(this.ref)); threw = false; } finally { if (threw) this.close(); } } fstat() { let threw = true; const stat = this.fd ? "fstatSync" : "statSync"; const target = this.fd || this.path; try { this.onfstat(fs[stat](target)); threw = false; } finally { if (threw) this.close(); } } futimes() { let threw = true; const utimes = this.fd ? "futimesSync" : "utimesSync"; const target = this.fd || this.path; try { fs[utimes](target, this.atime, this.mtime); threw = false; } finally { if (threw) this.close(); } this.emit("done"); } close() { if (typeof this.fd === "number" && this.closeAfter) try { fs.closeSync(this.fd); } catch (er) { } } }; } }); // ../store/store-path/lib/index.js var require_lib31 = __commonJS({ "../store/store-path/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getStorePath = getStorePath; var fs_1 = require("fs"); var constants_1 = require_lib5(); var error_1 = require_lib6(); var rimraf_1 = __importDefault2(require_rimraf()); var can_link_1 = __importDefault2(require_can_link()); var os_1 = __importDefault2(require("os")); var path_1 = __importDefault2(require("path")); var path_absolute_1 = __importDefault2(require_path_absolute()); var path_temp_1 = __importDefault2(require_path_temp()); var root_link_target_1 = __importDefault2(require_root_link_target()); var touch_1 = __importDefault2(require_touch()); function getStorePath({ pkgRoot, storePath, pnpmHomeDir }) { if (!storePath) { if (!pnpmHomeDir) { throw new error_1.PnpmError("NO_PNPM_HOME_DIR", "The pnpm home directory is unknown. Cannot calculate the store directory location."); } return storePathRelativeToHome(pkgRoot, "store", pnpmHomeDir); } if (isHomepath(storePath)) { const homedir = getHomedir(); return storePathRelativeToHome(pkgRoot, storePath.substring(2), homedir); } const storeBasePath = (0, path_absolute_1.default)(storePath, pkgRoot); if (storeBasePath.endsWith(`${path_1.default.sep}${constants_1.STORE_VERSION}`)) { return storeBasePath; } return path_1.default.join(storeBasePath, constants_1.STORE_VERSION); } async function storePathRelativeToHome(pkgRoot, relStore, homedir) { const tempFile = (0, path_temp_1.default)(pkgRoot); if (path_1.default.parse(pkgRoot).root !== pkgRoot) await fs_1.promises.mkdir(path_1.default.dirname(tempFile), { recursive: true }); await (0, touch_1.default)(tempFile); const storeInHomeDir = path_1.default.join(homedir, relStore, constants_1.STORE_VERSION); if (await canLinkToSubdir(tempFile, homedir)) { await fs_1.promises.unlink(tempFile); return storeInHomeDir; } try { let mountpoint = await (0, root_link_target_1.default)(tempFile); const mountpointParent = path_1.default.join(mountpoint, ".."); if (!dirsAreEqual(mountpointParent, mountpoint) && await canLinkToSubdir(tempFile, mountpointParent)) { mountpoint = mountpointParent; } if (dirsAreEqual(pkgRoot, mountpoint)) { return storeInHomeDir; } return path_1.default.join(mountpoint, ".pnpm-store", constants_1.STORE_VERSION); } catch { return storeInHomeDir; } finally { await fs_1.promises.unlink(tempFile); } } async function canLinkToSubdir(fileToLink, dir) { let result2 = false; const tmpDir = (0, path_temp_1.default)(dir); try { await fs_1.promises.mkdir(tmpDir, { recursive: true }); result2 = await (0, can_link_1.default)(fileToLink, (0, path_temp_1.default)(tmpDir)); } catch { result2 = false; } finally { await safeRmdir(tmpDir); } return result2; } async function safeRmdir(dir) { try { await (0, rimraf_1.default)(dir); } catch { } } function dirsAreEqual(dir1, dir2) { return path_1.default.relative(dir1, dir2) === "."; } function getHomedir() { const home = os_1.default.homedir(); if (!home) throw new Error("Could not find the homedir"); return home; } function isHomepath(filepath) { return filepath.startsWith("~/") || filepath.startsWith("~\\"); } } }); // ../node_modules/.pnpm/delay@5.0.0/node_modules/delay/index.js var require_delay2 = __commonJS({ "../node_modules/.pnpm/delay@5.0.0/node_modules/delay/index.js"(exports2, module2) { "use strict"; var randomInteger = (minimum, maximum) => Math.floor(Math.random() * (maximum - minimum + 1) + minimum); var createAbortError = () => { const error = new Error("Delay aborted"); error.name = "AbortError"; return error; }; var createDelay = ({ clearTimeout: defaultClear, setTimeout: set, willResolve }) => (ms, { value, signal } = {}) => { if (signal && signal.aborted) { return Promise.reject(createAbortError()); } let timeoutId; let settle; let rejectFn; const clear = defaultClear || clearTimeout; const signalListener = () => { clear(timeoutId); rejectFn(createAbortError()); }; const cleanup = () => { if (signal) { signal.removeEventListener("abort", signalListener); } }; const delayPromise = new Promise((resolve, reject) => { settle = () => { cleanup(); if (willResolve) { resolve(value); } else { reject(value); } }; rejectFn = reject; timeoutId = (set || setTimeout)(settle, ms); }); if (signal) { signal.addEventListener("abort", signalListener, { once: true }); } delayPromise.clear = () => { clear(timeoutId); timeoutId = null; settle(); }; return delayPromise; }; var createWithTimers = (clearAndSet) => { const delay2 = createDelay({ ...clearAndSet, willResolve: true }); delay2.reject = createDelay({ ...clearAndSet, willResolve: false }); delay2.range = (minimum, maximum, options) => delay2(randomInteger(minimum, maximum), options); return delay2; }; var delay = createWithTimers(); delay.createWithTimers = createWithTimers; module2.exports = delay; module2.exports.default = delay; } }); // ../node_modules/.pnpm/safe-execa@0.1.4/node_modules/safe-execa/lib/index.js var require_lib32 = __commonJS({ "../node_modules/.pnpm/safe-execa@0.1.4/node_modules/safe-execa/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.sync = void 0; var which_1 = __importDefault2(require_which()); var execa_1 = __importDefault2(require_execa()); var path_name_1 = __importDefault2(require_path_name()); var pathCache = /* @__PURE__ */ new Map(); function sync(file, args, options) { var _a; try { which_1.default.sync(file, { path: (_a = options === null || options === void 0 ? void 0 : options.cwd) !== null && _a !== void 0 ? _a : process.cwd() }); } catch (err) { if (err.code === "ENOENT") { return execa_1.default.sync(file, args, options); } } const fileAbsolutePath = getCommandAbsolutePathSync(file, options); return execa_1.default.sync(fileAbsolutePath, args, options); } exports2.sync = sync; function getCommandAbsolutePathSync(file, options) { var _a, _b; if (file.includes("\\") || file.includes("/")) return file; const path2 = (_b = (_a = options === null || options === void 0 ? void 0 : options.env) === null || _a === void 0 ? void 0 : _a[path_name_1.default]) !== null && _b !== void 0 ? _b : process.env[path_name_1.default]; const key = JSON.stringify([path2, file]); let fileAbsolutePath = pathCache.get(key); if (fileAbsolutePath == null) { fileAbsolutePath = which_1.default.sync(file, { path: path2 }); pathCache.set(key, fileAbsolutePath); } if (fileAbsolutePath == null) { throw new Error(`Couldn't find ${file}`); } return fileAbsolutePath; } function default_1(file, args, options) { var _a; try { which_1.default.sync(file, { path: (_a = options === null || options === void 0 ? void 0 : options.cwd) !== null && _a !== void 0 ? _a : process.cwd() }); } catch (err) { if (err.code === "ENOENT") { return (0, execa_1.default)(file, args, options); } } const fileAbsolutePath = getCommandAbsolutePathSync(file, options); return (0, execa_1.default)(fileAbsolutePath, args, options); } exports2.default = default_1; } }); // ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js var require_retry_operation2 = __commonJS({ "../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js"(exports2, module2) { function RetryOperation(timeouts, options) { if (typeof options === "boolean") { options = { forever: options }; } this._originalTimeouts = JSON.parse(JSON.stringify(timeouts)); this._timeouts = timeouts; this._options = options || {}; this._maxRetryTime = options && options.maxRetryTime || Infinity; this._fn = null; this._errors = []; this._attempts = 1; this._operationTimeout = null; this._operationTimeoutCb = null; this._timeout = null; this._operationStart = null; this._timer = null; if (this._options.forever) { this._cachedTimeouts = this._timeouts.slice(0); } } module2.exports = RetryOperation; RetryOperation.prototype.reset = function() { this._attempts = 1; this._timeouts = this._originalTimeouts.slice(0); }; RetryOperation.prototype.stop = function() { if (this._timeout) { clearTimeout(this._timeout); } if (this._timer) { clearTimeout(this._timer); } this._timeouts = []; this._cachedTimeouts = null; }; RetryOperation.prototype.retry = function(err) { if (this._timeout) { clearTimeout(this._timeout); } if (!err) { return false; } var currentTime = (/* @__PURE__ */ new Date()).getTime(); if (err && currentTime - this._operationStart >= this._maxRetryTime) { this._errors.push(err); this._errors.unshift(new Error("RetryOperation timeout occurred")); return false; } this._errors.push(err); var timeout = this._timeouts.shift(); if (timeout === void 0) { if (this._cachedTimeouts) { this._errors.splice(0, this._errors.length - 1); timeout = this._cachedTimeouts.slice(-1); } else { return false; } } var self2 = this; this._timer = setTimeout(function() { self2._attempts++; if (self2._operationTimeoutCb) { self2._timeout = setTimeout(function() { self2._operationTimeoutCb(self2._attempts); }, self2._operationTimeout); if (self2._options.unref) { self2._timeout.unref(); } } self2._fn(self2._attempts); }, timeout); if (this._options.unref) { this._timer.unref(); } return true; }; RetryOperation.prototype.attempt = function(fn, timeoutOps) { this._fn = fn; if (timeoutOps) { if (timeoutOps.timeout) { this._operationTimeout = timeoutOps.timeout; } if (timeoutOps.cb) { this._operationTimeoutCb = timeoutOps.cb; } } var self2 = this; if (this._operationTimeoutCb) { this._timeout = setTimeout(function() { self2._operationTimeoutCb(); }, self2._operationTimeout); } this._operationStart = (/* @__PURE__ */ new Date()).getTime(); this._fn(this._attempts); }; RetryOperation.prototype.try = function(fn) { console.log("Using RetryOperation.try() is deprecated"); this.attempt(fn); }; RetryOperation.prototype.start = function(fn) { console.log("Using RetryOperation.start() is deprecated"); this.attempt(fn); }; RetryOperation.prototype.start = RetryOperation.prototype.try; RetryOperation.prototype.errors = function() { return this._errors; }; RetryOperation.prototype.attempts = function() { return this._attempts; }; RetryOperation.prototype.mainError = function() { if (this._errors.length === 0) { return null; } var counts = {}; var mainError = null; var mainErrorCount = 0; for (var i = 0; i < this._errors.length; i++) { var error = this._errors[i]; var message = error.message; var count = (counts[message] || 0) + 1; counts[message] = count; if (count >= mainErrorCount) { mainError = error; mainErrorCount = count; } } return mainError; }; } }); // ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js var require_retry3 = __commonJS({ "../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js"(exports2) { var RetryOperation = require_retry_operation2(); exports2.operation = function(options) { var timeouts = exports2.timeouts(options); return new RetryOperation(timeouts, { forever: options && (options.forever || options.retries === Infinity), unref: options && options.unref, maxRetryTime: options && options.maxRetryTime }); }; exports2.timeouts = function(options) { if (options instanceof Array) { return [].concat(options); } var opts = { retries: 10, factor: 2, minTimeout: 1 * 1e3, maxTimeout: Infinity, randomize: false }; for (var key in options) { opts[key] = options[key]; } if (opts.minTimeout > opts.maxTimeout) { throw new Error("minTimeout is greater than maxTimeout"); } var timeouts = []; for (var i = 0; i < opts.retries; i++) { timeouts.push(this.createTimeout(i, opts)); } if (options && options.forever && !timeouts.length) { timeouts.push(this.createTimeout(i, opts)); } timeouts.sort(function(a, b) { return a - b; }); return timeouts; }; exports2.createTimeout = function(attempt, opts) { var random = opts.randomize ? Math.random() + 1 : 1; var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt)); timeout = Math.min(timeout, opts.maxTimeout); return timeout; }; exports2.wrap = function(obj, options, methods) { if (options instanceof Array) { methods = options; options = null; } if (!methods) { methods = []; for (var key in obj) { if (typeof obj[key] === "function") { methods.push(key); } } } for (var i = 0; i < methods.length; i++) { var method = methods[i]; var original = obj[method]; obj[method] = function retryWrapper(original2) { var op = exports2.operation(options); var args = Array.prototype.slice.call(arguments, 1); var callback = args.pop(); args.push(function(err) { if (op.retry(err)) { return; } if (err) { arguments[0] = op.mainError(); } callback.apply(this, arguments); }); op.attempt(function() { original2.apply(obj, args); }); }.bind(obj, original); obj[method].options = options; } }; } }); // ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js var require_retry4 = __commonJS({ "../node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js"(exports2, module2) { module2.exports = require_retry3(); } }); // ../node_modules/.pnpm/graceful-git@4.0.0/node_modules/graceful-git/index.js var require_graceful_git = __commonJS({ "../node_modules/.pnpm/graceful-git@4.0.0/node_modules/graceful-git/index.js"(exports2, module2) { "use strict"; var execa = require_lib32().default; var retry = require_retry4(); var RETRY_OPTIONS = { retries: 3, minTimeout: 1 * 1e3, maxTimeout: 10 * 1e3, randomize: true }; module2.exports = gracefulGit; module2.exports.noRetry = noRetry; async function gracefulGit(args, opts) { opts = opts || {}; const operation = retry.operation(Object.assign({}, RETRY_OPTIONS, opts)); return new Promise((resolve, reject) => { operation.attempt((currentAttempt) => { noRetry(args, opts).then(resolve).catch((err) => { if (operation.retry(err)) { return; } reject(operation.mainError()); }); }); }); } async function noRetry(args, opts) { opts = opts || {}; return execa("git", args, { cwd: opts.cwd || process.cwd() }); } } }); // ../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/git-host-info.js var require_git_host_info = __commonJS({ "../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/git-host-info.js"(exports2, module2) { "use strict"; var maybeJoin = (...args) => args.every((arg) => arg) ? args.join("") : ""; var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : ""; var defaults = { sshtemplate: ({ domain, user, project, committish }) => `git@${domain}:${user}/${project}.git${maybeJoin("#", committish)}`, sshurltemplate: ({ domain, user, project, committish }) => `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, browsetemplate: ({ domain, user, project, committish, treepath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`, browsefiletemplate: ({ domain, user, project, committish, treepath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "master")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`, docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`, httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/raw/${maybeEncode(committish) || "master"}/${path2}`, shortcuttemplate: ({ type, user, project, committish }) => `${type}:${user}/${project}${maybeJoin("#", committish)}`, pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`, bugstemplate: ({ domain, user, project }) => `https://${domain}/${user}/${project}/issues`, hashformat: formatHashFragment }; var gitHosts = {}; gitHosts.github = Object.assign({}, defaults, { // First two are insecure and generally shouldn't be used any more, but // they are still supported. protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"], domain: "github.com", treepath: "tree", filetemplate: ({ auth, user, project, committish, path: path2 }) => `https://${maybeJoin(auth, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish) || "master"}/${path2}`, gittemplate: ({ auth, domain, user, project, committish }) => `git://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ domain, user, project, committish }) => `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish) || "master"}`, extract: (url) => { let [, user, project, type, committish] = url.pathname.split("/", 5); if (type && type !== "tree") { return; } if (!type) { committish = url.hash.slice(1); } if (project && project.endsWith(".git")) { project = project.slice(0, -4); } if (!user || !project) { return; } return { user, project, committish }; } }); gitHosts.bitbucket = Object.assign({}, defaults, { protocols: ["git+ssh:", "git+https:", "ssh:", "https:"], domain: "bitbucket.org", treepath: "src", tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/get/${maybeEncode(committish) || "master"}.tar.gz`, extract: (url) => { let [, user, project, aux] = url.pathname.split("/", 4); if (["get"].includes(aux)) { return; } if (project && project.endsWith(".git")) { project = project.slice(0, -4); } if (!user || !project) { return; } return { user, project, committish: url.hash.slice(1) }; } }); gitHosts.gitlab = Object.assign({}, defaults, { protocols: ["git+ssh:", "git+https:", "ssh:", "https:"], domain: "gitlab.com", treepath: "tree", httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/api/v4/projects/${user}%2F${project}/repository/archive.tar.gz?sha=${maybeEncode(committish) || "master"}`, extract: (url) => { const path2 = url.pathname.slice(1); if (path2.includes("/-/") || path2.includes("/archive.tar.gz")) { return; } const segments = path2.split("/"); let project = segments.pop(); if (project.endsWith(".git")) { project = project.slice(0, -4); } const user = segments.join("/"); if (!user || !project) { return; } return { user, project, committish: url.hash.slice(1) }; } }); gitHosts.gist = Object.assign({}, defaults, { protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"], domain: "gist.github.com", sshtemplate: ({ domain, project, committish }) => `git@${domain}:${project}.git${maybeJoin("#", committish)}`, sshurltemplate: ({ domain, project, committish }) => `git+ssh://git@${domain}/${project}.git${maybeJoin("#", committish)}`, browsetemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`, browsefiletemplate: ({ domain, project, committish, path: path2, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path2))}`, docstemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`, httpstemplate: ({ domain, project, committish }) => `git+https://${domain}/${project}.git${maybeJoin("#", committish)}`, filetemplate: ({ user, project, committish, path: path2 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path2}`, shortcuttemplate: ({ type, project, committish }) => `${type}:${project}${maybeJoin("#", committish)}`, pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`, bugstemplate: ({ domain, project }) => `https://${domain}/${project}`, gittemplate: ({ domain, project, committish }) => `git://${domain}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish) || "master"}`, extract: (url) => { let [, user, project, aux] = url.pathname.split("/", 4); if (aux === "raw") { return; } if (!project) { if (!user) { return; } project = user; user = null; } if (project.endsWith(".git")) { project = project.slice(0, -4); } return { user, project, committish: url.hash.slice(1) }; }, hashformat: function(fragment) { return fragment && "file-" + formatHashFragment(fragment); } }); var names = Object.keys(gitHosts); gitHosts.byShortcut = {}; gitHosts.byDomain = {}; for (const name of names) { gitHosts.byShortcut[`${name}:`] = name; gitHosts.byDomain[gitHosts[name].domain] = name; } function formatHashFragment(fragment) { return fragment.toLowerCase().replace(/^\W+|\/|\W+$/g, "").replace(/\W+/g, "-"); } module2.exports = gitHosts; } }); // ../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/git-host.js var require_git_host = __commonJS({ "../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/git-host.js"(exports2, module2) { "use strict"; var gitHosts = require_git_host_info(); var GitHost = class { constructor(type, user, auth, project, committish, defaultRepresentation, opts = {}) { Object.assign(this, gitHosts[type]); this.type = type; this.user = user; this.auth = auth; this.project = project; this.committish = committish; this.default = defaultRepresentation; this.opts = opts; } hash() { return this.committish ? `#${this.committish}` : ""; } ssh(opts) { return this._fill(this.sshtemplate, opts); } _fill(template, opts) { if (typeof template === "function") { const options = { ...this, ...this.opts, ...opts }; if (!options.path) { options.path = ""; } if (options.path.startsWith("/")) { options.path = options.path.slice(1); } if (options.noCommittish) { options.committish = null; } const result2 = template(options); return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2; } return null; } sshurl(opts) { return this._fill(this.sshurltemplate, opts); } browse(path2, fragment, opts) { if (typeof path2 !== "string") { return this._fill(this.browsetemplate, path2); } if (typeof fragment !== "string") { opts = fragment; fragment = null; } return this._fill(this.browsefiletemplate, { ...opts, fragment, path: path2 }); } docs(opts) { return this._fill(this.docstemplate, opts); } bugs(opts) { return this._fill(this.bugstemplate, opts); } https(opts) { return this._fill(this.httpstemplate, opts); } git(opts) { return this._fill(this.gittemplate, opts); } shortcut(opts) { return this._fill(this.shortcuttemplate, opts); } path(opts) { return this._fill(this.pathtemplate, opts); } tarball(opts) { return this._fill(this.tarballtemplate, { ...opts, noCommittish: false }); } file(path2, opts) { return this._fill(this.filetemplate, { ...opts, path: path2 }); } getDefaultRepresentation() { return this.default; } toString(opts) { if (this.default && typeof this[this.default] === "function") { return this[this.default](opts); } return this.sshurl(opts); } }; module2.exports = GitHost; } }); // ../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/iterator.js var require_iterator2 = __commonJS({ "../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/iterator.js"(exports2, module2) { "use strict"; module2.exports = function(Yallist) { Yallist.prototype[Symbol.iterator] = function* () { for (let walker = this.head; walker; walker = walker.next) { yield walker.value; } }; }; } }); // ../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/yallist.js var require_yallist = __commonJS({ "../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/yallist.js"(exports2, module2) { "use strict"; module2.exports = Yallist; Yallist.Node = Node; Yallist.create = Yallist; function Yallist(list) { var self2 = this; if (!(self2 instanceof Yallist)) { self2 = new Yallist(); } self2.tail = null; self2.head = null; self2.length = 0; if (list && typeof list.forEach === "function") { list.forEach(function(item) { self2.push(item); }); } else if (arguments.length > 0) { for (var i = 0, l = arguments.length; i < l; i++) { self2.push(arguments[i]); } } return self2; } Yallist.prototype.removeNode = function(node) { if (node.list !== this) { throw new Error("removing node which does not belong to this list"); } var next = node.next; var prev = node.prev; if (next) { next.prev = prev; } if (prev) { prev.next = next; } if (node === this.head) { this.head = next; } if (node === this.tail) { this.tail = prev; } node.list.length--; node.next = null; node.prev = null; node.list = null; return next; }; Yallist.prototype.unshiftNode = function(node) { if (node === this.head) { return; } if (node.list) { node.list.removeNode(node); } var head = this.head; node.list = this; node.next = head; if (head) { head.prev = node; } this.head = node; if (!this.tail) { this.tail = node; } this.length++; }; Yallist.prototype.pushNode = function(node) { if (node === this.tail) { return; } if (node.list) { node.list.removeNode(node); } var tail = this.tail; node.list = this; node.prev = tail; if (tail) { tail.next = node; } this.tail = node; if (!this.head) { this.head = node; } this.length++; }; Yallist.prototype.push = function() { for (var i = 0, l = arguments.length; i < l; i++) { push(this, arguments[i]); } return this.length; }; Yallist.prototype.unshift = function() { for (var i = 0, l = arguments.length; i < l; i++) { unshift(this, arguments[i]); } return this.length; }; Yallist.prototype.pop = function() { if (!this.tail) { return void 0; } var res = this.tail.value; this.tail = this.tail.prev; if (this.tail) { this.tail.next = null; } else { this.head = null; } this.length--; return res; }; Yallist.prototype.shift = function() { if (!this.head) { return void 0; } var res = this.head.value; this.head = this.head.next; if (this.head) { this.head.prev = null; } else { this.tail = null; } this.length--; return res; }; Yallist.prototype.forEach = function(fn, thisp) { thisp = thisp || this; for (var walker = this.head, i = 0; walker !== null; i++) { fn.call(thisp, walker.value, i, this); walker = walker.next; } }; Yallist.prototype.forEachReverse = function(fn, thisp) { thisp = thisp || this; for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { fn.call(thisp, walker.value, i, this); walker = walker.prev; } }; Yallist.prototype.get = function(n) { for (var i = 0, walker = this.head; walker !== null && i < n; i++) { walker = walker.next; } if (i === n && walker !== null) { return walker.value; } }; Yallist.prototype.getReverse = function(n) { for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { walker = walker.prev; } if (i === n && walker !== null) { return walker.value; } }; Yallist.prototype.map = function(fn, thisp) { thisp = thisp || this; var res = new Yallist(); for (var walker = this.head; walker !== null; ) { res.push(fn.call(thisp, walker.value, this)); walker = walker.next; } return res; }; Yallist.prototype.mapReverse = function(fn, thisp) { thisp = thisp || this; var res = new Yallist(); for (var walker = this.tail; walker !== null; ) { res.push(fn.call(thisp, walker.value, this)); walker = walker.prev; } return res; }; Yallist.prototype.reduce = function(fn, initial) { var acc; var walker = this.head; if (arguments.length > 1) { acc = initial; } else if (this.head) { walker = this.head.next; acc = this.head.value; } else { throw new TypeError("Reduce of empty list with no initial value"); } for (var i = 0; walker !== null; i++) { acc = fn(acc, walker.value, i); walker = walker.next; } return acc; }; Yallist.prototype.reduceReverse = function(fn, initial) { var acc; var walker = this.tail; if (arguments.length > 1) { acc = initial; } else if (this.tail) { walker = this.tail.prev; acc = this.tail.value; } else { throw new TypeError("Reduce of empty list with no initial value"); } for (var i = this.length - 1; walker !== null; i--) { acc = fn(acc, walker.value, i); walker = walker.prev; } return acc; }; Yallist.prototype.toArray = function() { var arr = new Array(this.length); for (var i = 0, walker = this.head; walker !== null; i++) { arr[i] = walker.value; walker = walker.next; } return arr; }; Yallist.prototype.toArrayReverse = function() { var arr = new Array(this.length); for (var i = 0, walker = this.tail; walker !== null; i++) { arr[i] = walker.value; walker = walker.prev; } return arr; }; Yallist.prototype.slice = function(from, to) { to = to || this.length; if (to < 0) { to += this.length; } from = from || 0; if (from < 0) { from += this.length; } var ret2 = new Yallist(); if (to < from || to < 0) { return ret2; } if (from < 0) { from = 0; } if (to > this.length) { to = this.length; } for (var i = 0, walker = this.head; walker !== null && i < from; i++) { walker = walker.next; } for (; walker !== null && i < to; i++, walker = walker.next) { ret2.push(walker.value); } return ret2; }; Yallist.prototype.sliceReverse = function(from, to) { to = to || this.length; if (to < 0) { to += this.length; } from = from || 0; if (from < 0) { from += this.length; } var ret2 = new Yallist(); if (to < from || to < 0) { return ret2; } if (from < 0) { from = 0; } if (to > this.length) { to = this.length; } for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { walker = walker.prev; } for (; walker !== null && i > from; i--, walker = walker.prev) { ret2.push(walker.value); } return ret2; }; Yallist.prototype.splice = function(start, deleteCount, ...nodes) { if (start > this.length) { start = this.length - 1; } if (start < 0) { start = this.length + start; } for (var i = 0, walker = this.head; walker !== null && i < start; i++) { walker = walker.next; } var ret2 = []; for (var i = 0; walker && i < deleteCount; i++) { ret2.push(walker.value); walker = this.removeNode(walker); } if (walker === null) { walker = this.tail; } if (walker !== this.head && walker !== this.tail) { walker = walker.prev; } for (var i = 0; i < nodes.length; i++) { walker = insert(this, walker, nodes[i]); } return ret2; }; Yallist.prototype.reverse = function() { var head = this.head; var tail = this.tail; for (var walker = head; walker !== null; walker = walker.prev) { var p = walker.prev; walker.prev = walker.next; walker.next = p; } this.head = tail; this.tail = head; return this; }; function insert(self2, node, value) { var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2); if (inserted.next === null) { self2.tail = inserted; } if (inserted.prev === null) { self2.head = inserted; } self2.length++; return inserted; } function push(self2, item) { self2.tail = new Node(item, self2.tail, null, self2); if (!self2.head) { self2.head = self2.tail; } self2.length++; } function unshift(self2, item) { self2.head = new Node(item, null, self2.head, self2); if (!self2.tail) { self2.tail = self2.head; } self2.length++; } function Node(value, prev, next, list) { if (!(this instanceof Node)) { return new Node(value, prev, next, list); } this.list = list; this.value = value; if (prev) { prev.next = this; this.prev = prev; } else { this.prev = null; } if (next) { next.prev = this; this.next = next; } else { this.next = null; } } try { require_iterator2()(Yallist); } catch (er) { } } }); // ../node_modules/.pnpm/lru-cache@6.0.0/node_modules/lru-cache/index.js var require_lru_cache2 = __commonJS({ "../node_modules/.pnpm/lru-cache@6.0.0/node_modules/lru-cache/index.js"(exports2, module2) { "use strict"; var Yallist = require_yallist(); var MAX = Symbol("max"); var LENGTH = Symbol("length"); var LENGTH_CALCULATOR = Symbol("lengthCalculator"); var ALLOW_STALE = Symbol("allowStale"); var MAX_AGE = Symbol("maxAge"); var DISPOSE = Symbol("dispose"); var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet"); var LRU_LIST = Symbol("lruList"); var CACHE = Symbol("cache"); var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet"); var naiveLength = () => 1; var LRUCache = class { constructor(options) { if (typeof options === "number") options = { max: options }; if (!options) options = {}; if (options.max && (typeof options.max !== "number" || options.max < 0)) throw new TypeError("max must be a non-negative number"); const max = this[MAX] = options.max || Infinity; const lc = options.length || naiveLength; this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc; this[ALLOW_STALE] = options.stale || false; if (options.maxAge && typeof options.maxAge !== "number") throw new TypeError("maxAge must be a number"); this[MAX_AGE] = options.maxAge || 0; this[DISPOSE] = options.dispose; this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false; this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false; this.reset(); } // resize the cache when the max changes. set max(mL) { if (typeof mL !== "number" || mL < 0) throw new TypeError("max must be a non-negative number"); this[MAX] = mL || Infinity; trim(this); } get max() { return this[MAX]; } set allowStale(allowStale) { this[ALLOW_STALE] = !!allowStale; } get allowStale() { return this[ALLOW_STALE]; } set maxAge(mA) { if (typeof mA !== "number") throw new TypeError("maxAge must be a non-negative number"); this[MAX_AGE] = mA; trim(this); } get maxAge() { return this[MAX_AGE]; } // resize the cache when the lengthCalculator changes. set lengthCalculator(lC) { if (typeof lC !== "function") lC = naiveLength; if (lC !== this[LENGTH_CALCULATOR]) { this[LENGTH_CALCULATOR] = lC; this[LENGTH] = 0; this[LRU_LIST].forEach((hit) => { hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key); this[LENGTH] += hit.length; }); } trim(this); } get lengthCalculator() { return this[LENGTH_CALCULATOR]; } get length() { return this[LENGTH]; } get itemCount() { return this[LRU_LIST].length; } rforEach(fn, thisp) { thisp = thisp || this; for (let walker = this[LRU_LIST].tail; walker !== null; ) { const prev = walker.prev; forEachStep(this, fn, walker, thisp); walker = prev; } } forEach(fn, thisp) { thisp = thisp || this; for (let walker = this[LRU_LIST].head; walker !== null; ) { const next = walker.next; forEachStep(this, fn, walker, thisp); walker = next; } } keys() { return this[LRU_LIST].toArray().map((k) => k.key); } values() { return this[LRU_LIST].toArray().map((k) => k.value); } reset() { if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) { this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value)); } this[CACHE] = /* @__PURE__ */ new Map(); this[LRU_LIST] = new Yallist(); this[LENGTH] = 0; } dump() { return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : { k: hit.key, v: hit.value, e: hit.now + (hit.maxAge || 0) }).toArray().filter((h) => h); } dumpLru() { return this[LRU_LIST]; } set(key, value, maxAge) { maxAge = maxAge || this[MAX_AGE]; if (maxAge && typeof maxAge !== "number") throw new TypeError("maxAge must be a number"); const now = maxAge ? Date.now() : 0; const len = this[LENGTH_CALCULATOR](value, key); if (this[CACHE].has(key)) { if (len > this[MAX]) { del(this, this[CACHE].get(key)); return false; } const node = this[CACHE].get(key); const item = node.value; if (this[DISPOSE]) { if (!this[NO_DISPOSE_ON_SET]) this[DISPOSE](key, item.value); } item.now = now; item.maxAge = maxAge; item.value = value; this[LENGTH] += len - item.length; item.length = len; this.get(key); trim(this); return true; } const hit = new Entry(key, value, len, now, maxAge); if (hit.length > this[MAX]) { if (this[DISPOSE]) this[DISPOSE](key, value); return false; } this[LENGTH] += hit.length; this[LRU_LIST].unshift(hit); this[CACHE].set(key, this[LRU_LIST].head); trim(this); return true; } has(key) { if (!this[CACHE].has(key)) return false; const hit = this[CACHE].get(key).value; return !isStale(this, hit); } get(key) { return get(this, key, true); } peek(key) { return get(this, key, false); } pop() { const node = this[LRU_LIST].tail; if (!node) return null; del(this, node); return node.value; } del(key) { del(this, this[CACHE].get(key)); } load(arr) { this.reset(); const now = Date.now(); for (let l = arr.length - 1; l >= 0; l--) { const hit = arr[l]; const expiresAt = hit.e || 0; if (expiresAt === 0) this.set(hit.k, hit.v); else { const maxAge = expiresAt - now; if (maxAge > 0) { this.set(hit.k, hit.v, maxAge); } } } } prune() { this[CACHE].forEach((value, key) => get(this, key, false)); } }; var get = (self2, key, doUse) => { const node = self2[CACHE].get(key); if (node) { const hit = node.value; if (isStale(self2, hit)) { del(self2, node); if (!self2[ALLOW_STALE]) return void 0; } else { if (doUse) { if (self2[UPDATE_AGE_ON_GET]) node.value.now = Date.now(); self2[LRU_LIST].unshiftNode(node); } } return hit.value; } }; var isStale = (self2, hit) => { if (!hit || !hit.maxAge && !self2[MAX_AGE]) return false; const diff = Date.now() - hit.now; return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE]; }; var trim = (self2) => { if (self2[LENGTH] > self2[MAX]) { for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) { const prev = walker.prev; del(self2, walker); walker = prev; } } }; var del = (self2, node) => { if (node) { const hit = node.value; if (self2[DISPOSE]) self2[DISPOSE](hit.key, hit.value); self2[LENGTH] -= hit.length; self2[CACHE].delete(hit.key); self2[LRU_LIST].removeNode(node); } }; var Entry = class { constructor(key, value, length, now, maxAge) { this.key = key; this.value = value; this.length = length; this.now = now; this.maxAge = maxAge || 0; } }; var forEachStep = (self2, fn, node, thisp) => { let hit = node.value; if (isStale(self2, hit)) { del(self2, node); if (!self2[ALLOW_STALE]) hit = void 0; } if (hit) fn.call(thisp, hit.value, hit.key, self2); }; module2.exports = LRUCache; } }); // ../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/index.js var require_hosted_git_info = __commonJS({ "../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/index.js"(exports2, module2) { "use strict"; var url = require("url"); var gitHosts = require_git_host_info(); var GitHost = module2.exports = require_git_host(); var LRU = require_lru_cache2(); var cache = new LRU({ max: 1e3 }); var protocolToRepresentationMap = { "git+ssh:": "sshurl", "git+https:": "https", "ssh:": "sshurl", "git:": "git" }; function protocolToRepresentation(protocol) { return protocolToRepresentationMap[protocol] || protocol.slice(0, -1); } var authProtocols = { "git:": true, "https:": true, "git+https:": true, "http:": true, "git+http:": true }; var knownProtocols = Object.keys(gitHosts.byShortcut).concat(["http:", "https:", "git:", "git+ssh:", "git+https:", "ssh:"]); module2.exports.fromUrl = function(giturl, opts) { if (typeof giturl !== "string") { return; } const key = giturl + JSON.stringify(opts || {}); if (!cache.has(key)) { cache.set(key, fromUrl(giturl, opts)); } return cache.get(key); }; function fromUrl(giturl, opts) { if (!giturl) { return; } const url2 = isGitHubShorthand(giturl) ? "github:" + giturl : correctProtocol(giturl); const parsed = parseGitUrl(url2); if (!parsed) { return parsed; } const gitHostShortcut = gitHosts.byShortcut[parsed.protocol]; const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname]; const gitHostName = gitHostShortcut || gitHostDomain; if (!gitHostName) { return; } const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain]; let auth = null; if (authProtocols[parsed.protocol] && (parsed.username || parsed.password)) { auth = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`; } let committish = null; let user = null; let project = null; let defaultRepresentation = null; try { if (gitHostShortcut) { let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname; const firstAt = pathname.indexOf("@"); if (firstAt > -1) { pathname = pathname.slice(firstAt + 1); } const lastSlash = pathname.lastIndexOf("/"); if (lastSlash > -1) { user = decodeURIComponent(pathname.slice(0, lastSlash)); if (!user) { user = null; } project = decodeURIComponent(pathname.slice(lastSlash + 1)); } else { project = decodeURIComponent(pathname); } if (project.endsWith(".git")) { project = project.slice(0, -4); } if (parsed.hash) { committish = decodeURIComponent(parsed.hash.slice(1)); } defaultRepresentation = "shortcut"; } else { if (!gitHostInfo.protocols.includes(parsed.protocol)) { return; } const segments = gitHostInfo.extract(parsed); if (!segments) { return; } user = segments.user && decodeURIComponent(segments.user); project = decodeURIComponent(segments.project); committish = decodeURIComponent(segments.committish); defaultRepresentation = protocolToRepresentation(parsed.protocol); } } catch (err) { if (err instanceof URIError) { return; } else { throw err; } } return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation, opts); } var correctProtocol = (arg) => { const firstColon = arg.indexOf(":"); const proto = arg.slice(0, firstColon + 1); if (knownProtocols.includes(proto)) { return arg; } const firstAt = arg.indexOf("@"); if (firstAt > -1) { if (firstAt > firstColon) { return `git+ssh://${arg}`; } else { return arg; } } const doubleSlash = arg.indexOf("//"); if (doubleSlash === firstColon + 1) { return arg; } return arg.slice(0, firstColon + 1) + "//" + arg.slice(firstColon + 1); }; var isGitHubShorthand = (arg) => { const firstHash = arg.indexOf("#"); const firstSlash = arg.indexOf("/"); const secondSlash = arg.indexOf("/", firstSlash + 1); const firstColon = arg.indexOf(":"); const firstSpace = /\s/.exec(arg); const firstAt = arg.indexOf("@"); const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash; const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash; const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash; const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash; const hasSlash = firstSlash > 0; const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/"); const doesNotStartWithDot = !arg.startsWith("."); return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash; }; var correctUrl = (giturl) => { const firstAt = giturl.indexOf("@"); const lastHash = giturl.lastIndexOf("#"); let firstColon = giturl.indexOf(":"); let lastColon = giturl.lastIndexOf(":", lastHash > -1 ? lastHash : Infinity); let corrected; if (lastColon > firstAt) { corrected = giturl.slice(0, lastColon) + "/" + giturl.slice(lastColon + 1); firstColon = corrected.indexOf(":"); lastColon = corrected.lastIndexOf(":"); } if (firstColon === -1 && giturl.indexOf("//") === -1) { corrected = `git+ssh://${corrected}`; } return corrected; }; var parseGitUrl = (giturl) => { let result2; try { result2 = new url.URL(giturl); } catch (err) { } if (result2) { return result2; } const correctedUrl = correctUrl(giturl); try { result2 = new url.URL(correctedUrl); } catch (err) { } return result2; }; } }); // ../resolving/git-resolver/lib/parseBareSpecifier.js var require_parseBareSpecifier = __commonJS({ "../resolving/git-resolver/lib/parseBareSpecifier.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseBareSpecifier = parseBareSpecifier; var url_1 = __importStar3(require("url")); var fetch_1 = require_lib29(); var graceful_git_1 = __importDefault2(require_graceful_git()); var hosted_git_info_1 = __importDefault2(require_hosted_git_info()); var gitProtocols = /* @__PURE__ */ new Set([ "git", "git+http", "git+https", "git+rsync", "git+ftp", "git+file", "git+ssh", "ssh" ]); async function parseBareSpecifier(bareSpecifier, opts) { const hosted = hosted_git_info_1.default.fromUrl(bareSpecifier); if (hosted != null) { return fromHostedGit(hosted, opts); } const colonsPos = bareSpecifier.indexOf(":"); if (colonsPos === -1) return null; const protocol = bareSpecifier.slice(0, colonsPos); if (protocol && gitProtocols.has(protocol.toLocaleLowerCase())) { const correctBareSpecifier = correctUrl(bareSpecifier); const url = new url_1.URL(correctBareSpecifier); if (!url?.protocol) return null; const hash = url.hash?.length > 1 ? decodeURIComponent(url.hash.slice(1)) : null; return { fetchSpec: urlToFetchSpec(url), normalizedBareSpecifier: bareSpecifier, ...parseGitParams(hash) }; } return null; } function urlToFetchSpec(url) { url.hash = ""; const fetchSpec = url_1.default.format(url); if (fetchSpec.startsWith("git+")) { return fetchSpec.slice(4); } return fetchSpec; } async function fromHostedGit(hosted, agentOptions) { let fetchSpec = null; const gitHttpsUrl = hosted.https({ noCommittish: true, noGitPlus: true }); if (gitHttpsUrl && await isRepoPublic(gitHttpsUrl, agentOptions) && await accessRepository(gitHttpsUrl)) { fetchSpec = gitHttpsUrl; } else { const gitSshUrl = hosted.ssh({ noCommittish: true }); if (gitSshUrl && await accessRepository(gitSshUrl)) { fetchSpec = gitSshUrl; } } if (!fetchSpec) { const httpsUrl = hosted.https({ noGitPlus: true, noCommittish: true }); if (httpsUrl) { if ((hosted.auth || !await isRepoPublic(httpsUrl, agentOptions)) && await accessRepository(httpsUrl)) { return { fetchSpec: httpsUrl, hosted: { ...hosted, _fill: hosted._fill, tarball: void 0 }, normalizedBareSpecifier: `git+${httpsUrl}`, ...parseGitParams(hosted.committish) }; } else { try { const response = await (0, fetch_1.fetchWithAgent)(httpsUrl.replace(/\.git$/, ""), { method: "HEAD", follow: 0, retry: { retries: 0 }, agentOptions }); if (response.ok) { fetchSpec = httpsUrl; } } catch { } } } } if (!fetchSpec) { fetchSpec = hosted.sshurl({ noCommittish: true }); } return { fetchSpec, hosted: { ...hosted, _fill: hosted._fill, tarball: hosted.tarball }, normalizedBareSpecifier: hosted.shortcut(), ...parseGitParams(hosted.committish) }; } async function isRepoPublic(httpsUrl, agentOptions) { try { const response = await (0, fetch_1.fetchWithAgent)(httpsUrl.replace(/\.git$/, ""), { method: "HEAD", follow: 0, retry: { retries: 0 }, agentOptions }); return response.ok; } catch { return false; } } async function accessRepository(repository) { try { await (0, graceful_git_1.default)(["ls-remote", "--exit-code", repository, "HEAD"], { retries: 0 }); return true; } catch { return false; } } function parseGitParams(committish) { const result2 = { gitCommittish: null }; if (!committish) { return result2; } const params = committish.split("&"); for (const param of params) { if (param.length >= 7 && param.slice(0, 7) === "semver:") { result2.gitRange = param.slice(7); } else if (param.slice(0, 5) === "path:") { result2.path = param.slice(5); } else { result2.gitCommittish = param; } } return result2; } function correctUrl(gitUrl) { let _gitUrl = gitUrl.replace(/^git\+/, ""); if (_gitUrl.startsWith("ssh://")) { const hashIndex = _gitUrl.indexOf("#"); let hash = ""; if (hashIndex !== -1) { hash = _gitUrl.slice(hashIndex); _gitUrl = _gitUrl.slice(0, hashIndex); } const [auth, ...pathname] = _gitUrl.slice(6).split("/"); const [, host] = auth.split("@"); if (host.includes(":") && !/:\d+$/.test(host)) { const authArr = auth.split(":"); const protocol = gitUrl.split("://")[0]; gitUrl = `${protocol}://${authArr.slice(0, -1).join(":") + "/" + authArr[authArr.length - 1]}${pathname.length ? "/" + pathname.join("/") : ""}${hash}`; } } return gitUrl; } } }); // ../resolving/git-resolver/lib/createGitHostedPkgId.js var require_createGitHostedPkgId = __commonJS({ "../resolving/git-resolver/lib/createGitHostedPkgId.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createGitHostedPkgId = createGitHostedPkgId; function createGitHostedPkgId({ repo, commit, path: path2 }) { let id = `${repo.includes("://") ? "" : "https://"}${repo}#${commit}`; if (!id.startsWith("git+")) id = `git+${id}`; if (path2) { id += `&path:${path2}`; } return id; } } }); // ../resolving/git-resolver/lib/index.js var require_lib33 = __commonJS({ "../resolving/git-resolver/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createGitHostedPkgId = void 0; exports2.createGitResolver = createGitResolver; var graceful_git_1 = __importDefault2(require_graceful_git()); var semver_12 = __importDefault2(require_semver2()); var parseBareSpecifier_js_1 = require_parseBareSpecifier(); var createGitHostedPkgId_js_1 = require_createGitHostedPkgId(); Object.defineProperty(exports2, "createGitHostedPkgId", { enumerable: true, get: function() { return createGitHostedPkgId_js_1.createGitHostedPkgId; } }); var error_1 = require_lib6(); function createGitResolver(opts) { return async function resolveGit(wantedDependency) { const parsedSpec = await (0, parseBareSpecifier_js_1.parseBareSpecifier)(wantedDependency.bareSpecifier, opts); if (parsedSpec == null) return null; const bareSpecifier = parsedSpec.gitCommittish == null || parsedSpec.gitCommittish === "" ? "HEAD" : parsedSpec.gitCommittish; const commit = await resolveRef(parsedSpec.fetchSpec, bareSpecifier, parsedSpec.gitRange); let resolution; if (parsedSpec.hosted != null && !isSsh(parsedSpec.fetchSpec)) { const hosted = parsedSpec.hosted; hosted.committish = commit; const tarball = hosted.tarball?.(); if (tarball) { resolution = { tarball }; } } if (resolution == null) { resolution = { commit, repo: parsedSpec.fetchSpec, type: "git" }; } if (parsedSpec.path) { resolution.path = parsedSpec.path; } let id; if ("tarball" in resolution) { id = resolution.tarball; if (resolution.path) { id = `${id}#path:${resolution.path}`; } } else { id = (0, createGitHostedPkgId_js_1.createGitHostedPkgId)(resolution); } return { id, normalizedBareSpecifier: parsedSpec.normalizedBareSpecifier, resolution, resolvedVia: "git-repository" }; }; } function resolveVTags(vTags, range) { return semver_12.default.maxSatisfying(vTags, range, true); } async function getRepoRefs(repo, ref) { const gitArgs = [repo]; if (ref !== "HEAD") { gitArgs.unshift("--refs"); } if (ref) { gitArgs.push(ref); } const result2 = await (0, graceful_git_1.default)(["ls-remote", ...gitArgs], { retries: 1 }); const refs = {}; for (const line of result2.stdout.split("\n")) { const [commit, refName] = line.split(" "); refs[refName] = commit; } return refs; } async function resolveRef(repo, ref, range) { const committish = ref.match(/^[0-9a-f]{7,40}$/) !== null; if (committish && ref.length === 40) { return ref; } const refs = await getRepoRefs(repo, range ?? committish ? null : ref); const result2 = resolveRefFromRefs(refs, repo, ref, committish, range); if (committish && !result2.startsWith(ref)) { throw new error_1.PnpmError("GIT_AMBIGUOUS_REF", `resolved commit ${result2} from commit-ish reference ${ref}`); } return result2; } function resolveRefFromRefs(refs, repo, ref, committish, range) { if (!range) { let commitId = refs[ref] || refs[`refs/${ref}`] || refs[`refs/tags/${ref}^{}`] || // prefer annotated tags refs[`refs/tags/${ref}`] || refs[`refs/heads/${ref}`]; if (!commitId) { const commits = committish ? Object.values(refs).filter((value) => value.startsWith(ref)) : []; if (commits.length === 1) { commitId = commits[0]; } else { throw new Error(`Could not resolve ${ref} to a commit of ${repo}.`); } } return commitId; } else { const vTags = Object.keys(refs).filter((key) => /^refs\/tags\/v?\d+\.\d+\.\d+(?:[-+].+)?(?:\^\{\})?$/.test(key)).map((key) => { return key.replace(/^refs\/tags\//, "").replace(/\^\{\}$/, ""); }).filter((key) => semver_12.default.valid(key, true)); const refVTag = resolveVTags(vTags, range); const commitId = refVTag && (refs[`refs/tags/${refVTag}^{}`] || // prefer annotated tags refs[`refs/tags/${refVTag}`]); if (!commitId) { throw new Error(`Could not resolve ${range} to a commit of ${repo}. Available versions are: ${vTags.join(", ")}`); } return commitId; } } function isSsh(gitSpec) { return gitSpec.slice(0, 10) === "git+ssh://" || gitSpec.slice(0, 4) === "git@"; } } }); // ../crypto/polyfill/lib/index.js var require_lib34 = __commonJS({ "../crypto/polyfill/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.hash = void 0; var crypto_1 = __importDefault2(require("crypto")); exports2.hash = // @ts-expect-error -- crypto.hash is supported in Node 21.7.0+, 20.12.0+ crypto_1.default.hash ?? ((algorithm, data, outputEncoding) => crypto_1.default.createHash(algorithm).update(data).digest(outputEncoding)); } }); // ../node_modules/.pnpm/minipass@7.1.2/node_modules/minipass/dist/commonjs/index.js var require_commonjs = __commonJS({ "../node_modules/.pnpm/minipass@7.1.2/node_modules/minipass/dist/commonjs/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0; var proc = typeof process === "object" && process ? process : { stdout: null, stderr: null }; var node_events_1 = require("node:events"); var node_stream_1 = __importDefault2(require("node:stream")); var node_string_decoder_1 = require("node:string_decoder"); var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s)); exports2.isStream = isStream; var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws s.pipe !== node_stream_1.default.Writable.prototype.pipe; exports2.isReadable = isReadable; var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function"; exports2.isWritable = isWritable; var EOF = Symbol("EOF"); var MAYBE_EMIT_END = Symbol("maybeEmitEnd"); var EMITTED_END = Symbol("emittedEnd"); var EMITTING_END = Symbol("emittingEnd"); var EMITTED_ERROR = Symbol("emittedError"); var CLOSED = Symbol("closed"); var READ = Symbol("read"); var FLUSH = Symbol("flush"); var FLUSHCHUNK = Symbol("flushChunk"); var ENCODING = Symbol("encoding"); var DECODER = Symbol("decoder"); var FLOWING = Symbol("flowing"); var PAUSED = Symbol("paused"); var RESUME = Symbol("resume"); var BUFFER = Symbol("buffer"); var PIPES = Symbol("pipes"); var BUFFERLENGTH = Symbol("bufferLength"); var BUFFERPUSH = Symbol("bufferPush"); var BUFFERSHIFT = Symbol("bufferShift"); var OBJECTMODE = Symbol("objectMode"); var DESTROYED = Symbol("destroyed"); var ERROR = Symbol("error"); var EMITDATA = Symbol("emitData"); var EMITEND = Symbol("emitEnd"); var EMITEND2 = Symbol("emitEnd2"); var ASYNC = Symbol("async"); var ABORT = Symbol("abort"); var ABORTED = Symbol("aborted"); var SIGNAL = Symbol("signal"); var DATALISTENERS = Symbol("dataListeners"); var DISCARDED = Symbol("discarded"); var defer = (fn) => Promise.resolve().then(fn); var nodefer = (fn) => fn(); var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish"; var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0; var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b); var Pipe = class { src; dest; opts; ondrain; constructor(src, dest, opts) { this.src = src; this.dest = dest; this.opts = opts; this.ondrain = () => src[RESUME](); this.dest.on("drain", this.ondrain); } unpipe() { this.dest.removeListener("drain", this.ondrain); } // only here for the prototype /* c8 ignore start */ proxyErrors(_er) { } /* c8 ignore stop */ end() { this.unpipe(); if (this.opts.end) this.dest.end(); } }; var PipeProxyErrors = class extends Pipe { unpipe() { this.src.removeListener("error", this.proxyErrors); super.unpipe(); } constructor(src, dest, opts) { super(src, dest, opts); this.proxyErrors = (er) => dest.emit("error", er); src.on("error", this.proxyErrors); } }; var isObjectModeOptions = (o) => !!o.objectMode; var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer"; var Minipass = class extends node_events_1.EventEmitter { [FLOWING] = false; [PAUSED] = false; [PIPES] = []; [BUFFER] = []; [OBJECTMODE]; [ENCODING]; [ASYNC]; [DECODER]; [EOF] = false; [EMITTED_END] = false; [EMITTING_END] = false; [CLOSED] = false; [EMITTED_ERROR] = null; [BUFFERLENGTH] = 0; [DESTROYED] = false; [SIGNAL]; [ABORTED] = false; [DATALISTENERS] = 0; [DISCARDED] = false; /** * true if the stream can be written */ writable = true; /** * true if the stream can be read */ readable = true; /** * If `RType` is Buffer, then options do not need to be provided. * Otherwise, an options object must be provided to specify either * {@link Minipass.SharedOptions.objectMode} or * {@link Minipass.SharedOptions.encoding}, as appropriate. */ constructor(...args) { const options = args[0] || {}; super(); if (options.objectMode && typeof options.encoding === "string") { throw new TypeError("Encoding and objectMode may not be used together"); } if (isObjectModeOptions(options)) { this[OBJECTMODE] = true; this[ENCODING] = null; } else if (isEncodingOptions(options)) { this[ENCODING] = options.encoding; this[OBJECTMODE] = false; } else { this[OBJECTMODE] = false; this[ENCODING] = null; } this[ASYNC] = !!options.async; this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null; if (options && options.debugExposeBuffer === true) { Object.defineProperty(this, "buffer", { get: () => this[BUFFER] }); } if (options && options.debugExposePipes === true) { Object.defineProperty(this, "pipes", { get: () => this[PIPES] }); } const { signal } = options; if (signal) { this[SIGNAL] = signal; if (signal.aborted) { this[ABORT](); } else { signal.addEventListener("abort", () => this[ABORT]()); } } } /** * The amount of data stored in the buffer waiting to be read. * * For Buffer strings, this will be the total byte length. * For string encoding streams, this will be the string character length, * according to JavaScript's `string.length` logic. * For objectMode streams, this is a count of the items waiting to be * emitted. */ get bufferLength() { return this[BUFFERLENGTH]; } /** * The `BufferEncoding` currently in use, or `null` */ get encoding() { return this[ENCODING]; } /** * @deprecated - This is a read only property */ set encoding(_enc) { throw new Error("Encoding must be set at instantiation time"); } /** * @deprecated - Encoding may only be set at instantiation time */ setEncoding(_enc) { throw new Error("Encoding must be set at instantiation time"); } /** * True if this is an objectMode stream */ get objectMode() { return this[OBJECTMODE]; } /** * @deprecated - This is a read-only property */ set objectMode(_om) { throw new Error("objectMode must be set at instantiation time"); } /** * true if this is an async stream */ get ["async"]() { return this[ASYNC]; } /** * Set to true to make this stream async. * * Once set, it cannot be unset, as this would potentially cause incorrect * behavior. Ie, a sync stream can be made async, but an async stream * cannot be safely made sync. */ set ["async"](a) { this[ASYNC] = this[ASYNC] || !!a; } // drop everything and get out of the flow completely [ABORT]() { this[ABORTED] = true; this.emit("abort", this[SIGNAL]?.reason); this.destroy(this[SIGNAL]?.reason); } /** * True if the stream has been aborted. */ get aborted() { return this[ABORTED]; } /** * No-op setter. Stream aborted status is set via the AbortSignal provided * in the constructor options. */ set aborted(_) { } write(chunk, encoding, cb) { if (this[ABORTED]) return false; if (this[EOF]) throw new Error("write after end"); if (this[DESTROYED]) { this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" })); return true; } if (typeof encoding === "function") { cb = encoding; encoding = "utf8"; } if (!encoding) encoding = "utf8"; const fn = this[ASYNC] ? defer : nodefer; if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) { if (isArrayBufferView(chunk)) { chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength); } else if (isArrayBufferLike(chunk)) { chunk = Buffer.from(chunk); } else if (typeof chunk !== "string") { throw new Error("Non-contiguous data written to non-objectMode stream"); } } if (this[OBJECTMODE]) { if (this[FLOWING] && this[BUFFERLENGTH] !== 0) this[FLUSH](true); if (this[FLOWING]) this.emit("data", chunk); else this[BUFFERPUSH](chunk); if (this[BUFFERLENGTH] !== 0) this.emit("readable"); if (cb) fn(cb); return this[FLOWING]; } if (!chunk.length) { if (this[BUFFERLENGTH] !== 0) this.emit("readable"); if (cb) fn(cb); return this[FLOWING]; } if (typeof chunk === "string" && // unless it is a string already ready for us to use !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) { chunk = Buffer.from(chunk, encoding); } if (Buffer.isBuffer(chunk) && this[ENCODING]) { chunk = this[DECODER].write(chunk); } if (this[FLOWING] && this[BUFFERLENGTH] !== 0) this[FLUSH](true); if (this[FLOWING]) this.emit("data", chunk); else this[BUFFERPUSH](chunk); if (this[BUFFERLENGTH] !== 0) this.emit("readable"); if (cb) fn(cb); return this[FLOWING]; } /** * Low-level explicit read method. * * In objectMode, the argument is ignored, and one item is returned if * available. * * `n` is the number of bytes (or in the case of encoding streams, * characters) to consume. If `n` is not provided, then the entire buffer * is returned, or `null` is returned if no data is available. * * If `n` is greater that the amount of data in the internal buffer, * then `null` is returned. */ read(n) { if (this[DESTROYED]) return null; this[DISCARDED] = false; if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) { this[MAYBE_EMIT_END](); return null; } if (this[OBJECTMODE]) n = null; if (this[BUFFER].length > 1 && !this[OBJECTMODE]) { this[BUFFER] = [ this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH]) ]; } const ret2 = this[READ](n || null, this[BUFFER][0]); this[MAYBE_EMIT_END](); return ret2; } [READ](n, chunk) { if (this[OBJECTMODE]) this[BUFFERSHIFT](); else { const c = chunk; if (n === c.length || n === null) this[BUFFERSHIFT](); else if (typeof c === "string") { this[BUFFER][0] = c.slice(n); chunk = c.slice(0, n); this[BUFFERLENGTH] -= n; } else { this[BUFFER][0] = c.subarray(n); chunk = c.subarray(0, n); this[BUFFERLENGTH] -= n; } } this.emit("data", chunk); if (!this[BUFFER].length && !this[EOF]) this.emit("drain"); return chunk; } end(chunk, encoding, cb) { if (typeof chunk === "function") { cb = chunk; chunk = void 0; } if (typeof encoding === "function") { cb = encoding; encoding = "utf8"; } if (chunk !== void 0) this.write(chunk, encoding); if (cb) this.once("end", cb); this[EOF] = true; this.writable = false; if (this[FLOWING] || !this[PAUSED]) this[MAYBE_EMIT_END](); return this; } // don't let the internal resume be overwritten [RESUME]() { if (this[DESTROYED]) return; if (!this[DATALISTENERS] && !this[PIPES].length) { this[DISCARDED] = true; } this[PAUSED] = false; this[FLOWING] = true; this.emit("resume"); if (this[BUFFER].length) this[FLUSH](); else if (this[EOF]) this[MAYBE_EMIT_END](); else this.emit("drain"); } /** * Resume the stream if it is currently in a paused state * * If called when there are no pipe destinations or `data` event listeners, * this will place the stream in a "discarded" state, where all data will * be thrown away. The discarded state is removed if a pipe destination or * data handler is added, if pause() is called, or if any synchronous or * asynchronous iteration is started. */ resume() { return this[RESUME](); } /** * Pause the stream */ pause() { this[FLOWING] = false; this[PAUSED] = true; this[DISCARDED] = false; } /** * true if the stream has been forcibly destroyed */ get destroyed() { return this[DESTROYED]; } /** * true if the stream is currently in a flowing state, meaning that * any writes will be immediately emitted. */ get flowing() { return this[FLOWING]; } /** * true if the stream is currently in a paused state */ get paused() { return this[PAUSED]; } [BUFFERPUSH](chunk) { if (this[OBJECTMODE]) this[BUFFERLENGTH] += 1; else this[BUFFERLENGTH] += chunk.length; this[BUFFER].push(chunk); } [BUFFERSHIFT]() { if (this[OBJECTMODE]) this[BUFFERLENGTH] -= 1; else this[BUFFERLENGTH] -= this[BUFFER][0].length; return this[BUFFER].shift(); } [FLUSH](noDrain = false) { do { } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length); if (!noDrain && !this[BUFFER].length && !this[EOF]) this.emit("drain"); } [FLUSHCHUNK](chunk) { this.emit("data", chunk); return this[FLOWING]; } /** * Pipe all data emitted by this stream into the destination provided. * * Triggers the flow of data. */ pipe(dest, opts) { if (this[DESTROYED]) return dest; this[DISCARDED] = false; const ended = this[EMITTED_END]; opts = opts || {}; if (dest === proc.stdout || dest === proc.stderr) opts.end = false; else opts.end = opts.end !== false; opts.proxyErrors = !!opts.proxyErrors; if (ended) { if (opts.end) dest.end(); } else { this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts)); if (this[ASYNC]) defer(() => this[RESUME]()); else this[RESUME](); } return dest; } /** * Fully unhook a piped destination stream. * * If the destination stream was the only consumer of this stream (ie, * there are no other piped destinations or `'data'` event listeners) * then the flow of data will stop until there is another consumer or * {@link Minipass#resume} is explicitly called. */ unpipe(dest) { const p = this[PIPES].find((p2) => p2.dest === dest); if (p) { if (this[PIPES].length === 1) { if (this[FLOWING] && this[DATALISTENERS] === 0) { this[FLOWING] = false; } this[PIPES] = []; } else this[PIPES].splice(this[PIPES].indexOf(p), 1); p.unpipe(); } } /** * Alias for {@link Minipass#on} */ addListener(ev, handler) { return this.on(ev, handler); } /** * Mostly identical to `EventEmitter.on`, with the following * behavior differences to prevent data loss and unnecessary hangs: * * - Adding a 'data' event handler will trigger the flow of data * * - Adding a 'readable' event handler when there is data waiting to be read * will cause 'readable' to be emitted immediately. * * - Adding an 'endish' event handler ('end', 'finish', etc.) which has * already passed will cause the event to be emitted immediately and all * handlers removed. * * - Adding an 'error' event handler after an error has been emitted will * cause the event to be re-emitted immediately with the error previously * raised. */ on(ev, handler) { const ret2 = super.on(ev, handler); if (ev === "data") { this[DISCARDED] = false; this[DATALISTENERS]++; if (!this[PIPES].length && !this[FLOWING]) { this[RESUME](); } } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) { super.emit("readable"); } else if (isEndish(ev) && this[EMITTED_END]) { super.emit(ev); this.removeAllListeners(ev); } else if (ev === "error" && this[EMITTED_ERROR]) { const h = handler; if (this[ASYNC]) defer(() => h.call(this, this[EMITTED_ERROR])); else h.call(this, this[EMITTED_ERROR]); } return ret2; } /** * Alias for {@link Minipass#off} */ removeListener(ev, handler) { return this.off(ev, handler); } /** * Mostly identical to `EventEmitter.off` * * If a 'data' event handler is removed, and it was the last consumer * (ie, there are no pipe destinations or other 'data' event listeners), * then the flow of data will stop until there is another consumer or * {@link Minipass#resume} is explicitly called. */ off(ev, handler) { const ret2 = super.off(ev, handler); if (ev === "data") { this[DATALISTENERS] = this.listeners("data").length; if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) { this[FLOWING] = false; } } return ret2; } /** * Mostly identical to `EventEmitter.removeAllListeners` * * If all 'data' event handlers are removed, and they were the last consumer * (ie, there are no pipe destinations), then the flow of data will stop * until there is another consumer or {@link Minipass#resume} is explicitly * called. */ removeAllListeners(ev) { const ret2 = super.removeAllListeners(ev); if (ev === "data" || ev === void 0) { this[DATALISTENERS] = 0; if (!this[DISCARDED] && !this[PIPES].length) { this[FLOWING] = false; } } return ret2; } /** * true if the 'end' event has been emitted */ get emittedEnd() { return this[EMITTED_END]; } [MAYBE_EMIT_END]() { if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) { this[EMITTING_END] = true; this.emit("end"); this.emit("prefinish"); this.emit("finish"); if (this[CLOSED]) this.emit("close"); this[EMITTING_END] = false; } } /** * Mostly identical to `EventEmitter.emit`, with the following * behavior differences to prevent data loss and unnecessary hangs: * * If the stream has been destroyed, and the event is something other * than 'close' or 'error', then `false` is returned and no handlers * are called. * * If the event is 'end', and has already been emitted, then the event * is ignored. If the stream is in a paused or non-flowing state, then * the event will be deferred until data flow resumes. If the stream is * async, then handlers will be called on the next tick rather than * immediately. * * If the event is 'close', and 'end' has not yet been emitted, then * the event will be deferred until after 'end' is emitted. * * If the event is 'error', and an AbortSignal was provided for the stream, * and there are no listeners, then the event is ignored, matching the * behavior of node core streams in the presense of an AbortSignal. * * If the event is 'finish' or 'prefinish', then all listeners will be * removed after emitting the event, to prevent double-firing. */ emit(ev, ...args) { const data = args[0]; if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) { return false; } else if (ev === "data") { return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data); } else if (ev === "end") { return this[EMITEND](); } else if (ev === "close") { this[CLOSED] = true; if (!this[EMITTED_END] && !this[DESTROYED]) return false; const ret3 = super.emit("close"); this.removeAllListeners("close"); return ret3; } else if (ev === "error") { this[EMITTED_ERROR] = data; super.emit(ERROR, data); const ret3 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false; this[MAYBE_EMIT_END](); return ret3; } else if (ev === "resume") { const ret3 = super.emit("resume"); this[MAYBE_EMIT_END](); return ret3; } else if (ev === "finish" || ev === "prefinish") { const ret3 = super.emit(ev); this.removeAllListeners(ev); return ret3; } const ret2 = super.emit(ev, ...args); this[MAYBE_EMIT_END](); return ret2; } [EMITDATA](data) { for (const p of this[PIPES]) { if (p.dest.write(data) === false) this.pause(); } const ret2 = this[DISCARDED] ? false : super.emit("data", data); this[MAYBE_EMIT_END](); return ret2; } [EMITEND]() { if (this[EMITTED_END]) return false; this[EMITTED_END] = true; this.readable = false; return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2](); } [EMITEND2]() { if (this[DECODER]) { const data = this[DECODER].end(); if (data) { for (const p of this[PIPES]) { p.dest.write(data); } if (!this[DISCARDED]) super.emit("data", data); } } for (const p of this[PIPES]) { p.end(); } const ret2 = super.emit("end"); this.removeAllListeners("end"); return ret2; } /** * Return a Promise that resolves to an array of all emitted data once * the stream ends. */ async collect() { const buf = Object.assign([], { dataLength: 0 }); if (!this[OBJECTMODE]) buf.dataLength = 0; const p = this.promise(); this.on("data", (c) => { buf.push(c); if (!this[OBJECTMODE]) buf.dataLength += c.length; }); await p; return buf; } /** * Return a Promise that resolves to the concatenation of all emitted data * once the stream ends. * * Not allowed on objectMode streams. */ async concat() { if (this[OBJECTMODE]) { throw new Error("cannot concat in objectMode"); } const buf = await this.collect(); return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength); } /** * Return a void Promise that resolves once the stream ends. */ async promise() { return new Promise((resolve, reject) => { this.on(DESTROYED, () => reject(new Error("stream destroyed"))); this.on("error", (er) => reject(er)); this.on("end", () => resolve()); }); } /** * Asynchronous `for await of` iteration. * * This will continue emitting all chunks until the stream terminates. */ [Symbol.asyncIterator]() { this[DISCARDED] = false; let stopped = false; const stop = async () => { this.pause(); stopped = true; return { value: void 0, done: true }; }; const next = () => { if (stopped) return stop(); const res = this.read(); if (res !== null) return Promise.resolve({ done: false, value: res }); if (this[EOF]) return stop(); let resolve; let reject; const onerr = (er) => { this.off("data", ondata); this.off("end", onend); this.off(DESTROYED, ondestroy); stop(); reject(er); }; const ondata = (value) => { this.off("error", onerr); this.off("end", onend); this.off(DESTROYED, ondestroy); this.pause(); resolve({ value, done: !!this[EOF] }); }; const onend = () => { this.off("error", onerr); this.off("data", ondata); this.off(DESTROYED, ondestroy); stop(); resolve({ done: true, value: void 0 }); }; const ondestroy = () => onerr(new Error("stream destroyed")); return new Promise((res2, rej) => { reject = rej; resolve = res2; this.once(DESTROYED, ondestroy); this.once("error", onerr); this.once("end", onend); this.once("data", ondata); }); }; return { next, throw: stop, return: stop, [Symbol.asyncIterator]() { return this; } }; } /** * Synchronous `for of` iteration. * * The iteration will terminate when the internal buffer runs out, even * if the stream has not yet terminated. */ [Symbol.iterator]() { this[DISCARDED] = false; let stopped = false; const stop = () => { this.pause(); this.off(ERROR, stop); this.off(DESTROYED, stop); this.off("end", stop); stopped = true; return { done: true, value: void 0 }; }; const next = () => { if (stopped) return stop(); const value = this.read(); return value === null ? stop() : { done: false, value }; }; this.once("end", stop); this.once(ERROR, stop); this.once(DESTROYED, stop); return { next, throw: stop, return: stop, [Symbol.iterator]() { return this; } }; } /** * Destroy a stream, preventing it from being used for any further purpose. * * If the stream has a `close()` method, then it will be called on * destruction. * * After destruction, any attempt to write data, read data, or emit most * events will be ignored. * * If an error argument is provided, then it will be emitted in an * 'error' event. */ destroy(er) { if (this[DESTROYED]) { if (er) this.emit("error", er); else this.emit(DESTROYED); return this; } this[DESTROYED] = true; this[DISCARDED] = true; this[BUFFER].length = 0; this[BUFFERLENGTH] = 0; const wc = this; if (typeof wc.close === "function" && !this[CLOSED]) wc.close(); if (er) this.emit("error", er); else this.emit(DESTROYED); return this; } /** * Alias for {@link isStream} * * Former export location, maintained for backwards compatibility. * * @deprecated */ static get isStream() { return exports2.isStream; } }; exports2.Minipass = Minipass; } }); // ../node_modules/.pnpm/ssri@10.0.5/node_modules/ssri/lib/index.js var require_lib35 = __commonJS({ "../node_modules/.pnpm/ssri@10.0.5/node_modules/ssri/lib/index.js"(exports2, module2) { "use strict"; var crypto5 = require("crypto"); var { Minipass } = require_commonjs(); var SPEC_ALGORITHMS = ["sha512", "sha384", "sha256"]; var DEFAULT_ALGORITHMS = ["sha512"]; var BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i; var SRI_REGEX = /^([a-z0-9]+)-([^?]+)([?\S*]*)$/; var STRICT_SRI_REGEX = /^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)?$/; var VCHAR_REGEX = /^[\x21-\x7E]+$/; var getOptString = (options) => options?.length ? `?${options.join("?")}` : ""; var IntegrityStream = class extends Minipass { #emittedIntegrity; #emittedSize; #emittedVerified; constructor(opts) { super(); this.size = 0; this.opts = opts; this.#getOptions(); if (opts?.algorithms) { this.algorithms = [...opts.algorithms]; } else { this.algorithms = [...DEFAULT_ALGORITHMS]; } if (this.algorithm !== null && !this.algorithms.includes(this.algorithm)) { this.algorithms.push(this.algorithm); } this.hashes = this.algorithms.map(crypto5.createHash); } #getOptions() { this.sri = this.opts?.integrity ? parse2(this.opts?.integrity, this.opts) : null; this.expectedSize = this.opts?.size; if (!this.sri) { this.algorithm = null; } else if (this.sri.isHash) { this.goodSri = true; this.algorithm = this.sri.algorithm; } else { this.goodSri = !this.sri.isEmpty(); this.algorithm = this.sri.pickAlgorithm(this.opts); } this.digests = this.goodSri ? this.sri[this.algorithm] : null; this.optString = getOptString(this.opts?.options); } on(ev, handler) { if (ev === "size" && this.#emittedSize) { return handler(this.#emittedSize); } if (ev === "integrity" && this.#emittedIntegrity) { return handler(this.#emittedIntegrity); } if (ev === "verified" && this.#emittedVerified) { return handler(this.#emittedVerified); } return super.on(ev, handler); } emit(ev, data) { if (ev === "end") { this.#onEnd(); } return super.emit(ev, data); } write(data) { this.size += data.length; this.hashes.forEach((h) => h.update(data)); return super.write(data); } #onEnd() { if (!this.goodSri) { this.#getOptions(); } const newSri = parse2(this.hashes.map((h, i) => { return `${this.algorithms[i]}-${h.digest("base64")}${this.optString}`; }).join(" "), this.opts); const match = this.goodSri && newSri.match(this.sri, this.opts); if (typeof this.expectedSize === "number" && this.size !== this.expectedSize) { const err = new Error(`stream size mismatch when checking ${this.sri}. Wanted: ${this.expectedSize} Found: ${this.size}`); err.code = "EBADSIZE"; err.found = this.size; err.expected = this.expectedSize; err.sri = this.sri; this.emit("error", err); } else if (this.sri && !match) { const err = new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${newSri}. (${this.size} bytes)`); err.code = "EINTEGRITY"; err.found = newSri; err.expected = this.digests; err.algorithm = this.algorithm; err.sri = this.sri; this.emit("error", err); } else { this.#emittedSize = this.size; this.emit("size", this.size); this.#emittedIntegrity = newSri; this.emit("integrity", newSri); if (match) { this.#emittedVerified = match; this.emit("verified", match); } } } }; var Hash = class { get isHash() { return true; } constructor(hash, opts) { const strict = opts?.strict; this.source = hash.trim(); this.digest = ""; this.algorithm = ""; this.options = []; const match = this.source.match( strict ? STRICT_SRI_REGEX : SRI_REGEX ); if (!match) { return; } if (strict && !SPEC_ALGORITHMS.includes(match[1])) { return; } this.algorithm = match[1]; this.digest = match[2]; const rawOpts = match[3]; if (rawOpts) { this.options = rawOpts.slice(1).split("?"); } } hexDigest() { return this.digest && Buffer.from(this.digest, "base64").toString("hex"); } toJSON() { return this.toString(); } match(integrity, opts) { const other = parse2(integrity, opts); if (!other) { return false; } if (other.isIntegrity) { const algo = other.pickAlgorithm(opts, [this.algorithm]); if (!algo) { return false; } const foundHash = other[algo].find((hash) => hash.digest === this.digest); if (foundHash) { return foundHash; } return false; } return other.digest === this.digest ? other : false; } toString(opts) { if (opts?.strict) { if (!// The spec has very restricted productions for algorithms. // https://www.w3.org/TR/CSP2/#source-list-syntax (SPEC_ALGORITHMS.includes(this.algorithm) && // Usually, if someone insists on using a "different" base64, we // leave it as-is, since there's multiple standards, and the // specified is not a URL-safe variant. // https://www.w3.org/TR/CSP2/#base64_value this.digest.match(BASE64_REGEX) && // Option syntax is strictly visual chars. // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression // https://tools.ietf.org/html/rfc5234#appendix-B.1 this.options.every((opt) => opt.match(VCHAR_REGEX)))) { return ""; } } return `${this.algorithm}-${this.digest}${getOptString(this.options)}`; } }; function integrityHashToString(toString, sep, opts, hashes) { const toStringIsNotEmpty = toString !== ""; let shouldAddFirstSep = false; let complement = ""; const lastIndex = hashes.length - 1; for (let i = 0; i < lastIndex; i++) { const hashString = Hash.prototype.toString.call(hashes[i], opts); if (hashString) { shouldAddFirstSep = true; complement += hashString; complement += sep; } } const finalHashString = Hash.prototype.toString.call(hashes[lastIndex], opts); if (finalHashString) { shouldAddFirstSep = true; complement += finalHashString; } if (toStringIsNotEmpty && shouldAddFirstSep) { return toString + sep + complement; } return toString + complement; } var Integrity = class { get isIntegrity() { return true; } toJSON() { return this.toString(); } isEmpty() { return Object.keys(this).length === 0; } toString(opts) { let sep = opts?.sep || " "; let toString = ""; if (opts?.strict) { sep = sep.replace(/\S+/g, " "); for (const hash of SPEC_ALGORITHMS) { if (this[hash]) { toString = integrityHashToString(toString, sep, opts, this[hash]); } } } else { for (const hash of Object.keys(this)) { toString = integrityHashToString(toString, sep, opts, this[hash]); } } return toString; } concat(integrity, opts) { const other = typeof integrity === "string" ? integrity : stringify2(integrity, opts); return parse2(`${this.toString(opts)} ${other}`, opts); } hexDigest() { return parse2(this, { single: true }).hexDigest(); } // add additional hashes to an integrity value, but prevent // *changing* an existing integrity hash. merge(integrity, opts) { const other = parse2(integrity, opts); for (const algo in other) { if (this[algo]) { if (!this[algo].find((hash) => other[algo].find((otherhash) => hash.digest === otherhash.digest))) { throw new Error("hashes do not match, cannot update integrity"); } } else { this[algo] = other[algo]; } } } match(integrity, opts) { const other = parse2(integrity, opts); if (!other) { return false; } const algo = other.pickAlgorithm(opts, Object.keys(this)); return !!algo && this[algo] && other[algo] && this[algo].find( (hash) => other[algo].find( (otherhash) => hash.digest === otherhash.digest ) ) || false; } // Pick the highest priority algorithm present, optionally also limited to a // set of hashes found in another integrity. When limiting it may return // nothing. pickAlgorithm(opts, hashes) { const pickAlgorithm = opts?.pickAlgorithm || getPrioritizedHash; const keys = Object.keys(this).filter((k) => { if (hashes?.length) { return hashes.includes(k); } return true; }); if (keys.length) { return keys.reduce((acc, algo) => pickAlgorithm(acc, algo) || acc); } return null; } }; module2.exports.parse = parse2; function parse2(sri, opts) { if (!sri) { return null; } if (typeof sri === "string") { return _parse(sri, opts); } else if (sri.algorithm && sri.digest) { const fullSri = new Integrity(); fullSri[sri.algorithm] = [sri]; return _parse(stringify2(fullSri, opts), opts); } else { return _parse(stringify2(sri, opts), opts); } } function _parse(integrity, opts) { if (opts?.single) { return new Hash(integrity, opts); } const hashes = integrity.trim().split(/\s+/).reduce((acc, string) => { const hash = new Hash(string, opts); if (hash.algorithm && hash.digest) { const algo = hash.algorithm; if (!acc[algo]) { acc[algo] = []; } acc[algo].push(hash); } return acc; }, new Integrity()); return hashes.isEmpty() ? null : hashes; } module2.exports.stringify = stringify2; function stringify2(obj, opts) { if (obj.algorithm && obj.digest) { return Hash.prototype.toString.call(obj, opts); } else if (typeof obj === "string") { return stringify2(parse2(obj, opts), opts); } else { return Integrity.prototype.toString.call(obj, opts); } } module2.exports.fromHex = fromHex; function fromHex(hexDigest, algorithm, opts) { const optString = getOptString(opts?.options); return parse2( `${algorithm}-${Buffer.from(hexDigest, "hex").toString("base64")}${optString}`, opts ); } module2.exports.fromData = fromData; function fromData(data, opts) { const algorithms = opts?.algorithms || [...DEFAULT_ALGORITHMS]; const optString = getOptString(opts?.options); return algorithms.reduce((acc, algo) => { const digest = crypto5.createHash(algo).update(data).digest("base64"); const hash = new Hash( `${algo}-${digest}${optString}`, opts ); if (hash.algorithm && hash.digest) { const hashAlgo = hash.algorithm; if (!acc[hashAlgo]) { acc[hashAlgo] = []; } acc[hashAlgo].push(hash); } return acc; }, new Integrity()); } module2.exports.fromStream = fromStream; function fromStream(stream, opts) { const istream = integrityStream(opts); return new Promise((resolve, reject) => { stream.pipe(istream); stream.on("error", reject); istream.on("error", reject); let sri; istream.on("integrity", (s) => { sri = s; }); istream.on("end", () => resolve(sri)); istream.resume(); }); } module2.exports.checkData = checkData; function checkData(data, sri, opts) { sri = parse2(sri, opts); if (!sri || !Object.keys(sri).length) { if (opts?.error) { throw Object.assign( new Error("No valid integrity hashes to check against"), { code: "EINTEGRITY" } ); } else { return false; } } const algorithm = sri.pickAlgorithm(opts); const digest = crypto5.createHash(algorithm).update(data).digest("base64"); const newSri = parse2({ algorithm, digest }); const match = newSri.match(sri, opts); opts = opts || {}; if (match || !opts.error) { return match; } else if (typeof opts.size === "number" && data.length !== opts.size) { const err = new Error(`data size mismatch when checking ${sri}. Wanted: ${opts.size} Found: ${data.length}`); err.code = "EBADSIZE"; err.found = data.length; err.expected = opts.size; err.sri = sri; throw err; } else { const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`); err.code = "EINTEGRITY"; err.found = newSri; err.expected = sri; err.algorithm = algorithm; err.sri = sri; throw err; } } module2.exports.checkStream = checkStream; function checkStream(stream, sri, opts) { opts = opts || /* @__PURE__ */ Object.create(null); opts.integrity = sri; sri = parse2(sri, opts); if (!sri || !Object.keys(sri).length) { return Promise.reject(Object.assign( new Error("No valid integrity hashes to check against"), { code: "EINTEGRITY" } )); } const checker = integrityStream(opts); return new Promise((resolve, reject) => { stream.pipe(checker); stream.on("error", reject); checker.on("error", reject); let verified; checker.on("verified", (s) => { verified = s; }); checker.on("end", () => resolve(verified)); checker.resume(); }); } module2.exports.integrityStream = integrityStream; function integrityStream(opts = /* @__PURE__ */ Object.create(null)) { return new IntegrityStream(opts); } module2.exports.create = createIntegrity; function createIntegrity(opts) { const algorithms = opts?.algorithms || [...DEFAULT_ALGORITHMS]; const optString = getOptString(opts?.options); const hashes = algorithms.map(crypto5.createHash); return { update: function(chunk, enc) { hashes.forEach((h) => h.update(chunk, enc)); return this; }, digest: function(enc) { const integrity = algorithms.reduce((acc, algo) => { const digest = hashes.shift().digest("base64"); const hash = new Hash( `${algo}-${digest}${optString}`, opts ); if (hash.algorithm && hash.digest) { const hashAlgo = hash.algorithm; if (!acc[hashAlgo]) { acc[hashAlgo] = []; } acc[hashAlgo].push(hash); } return acc; }, new Integrity()); return integrity; } }; } var NODE_HASHES = crypto5.getHashes(); var DEFAULT_PRIORITY = [ "md5", "whirlpool", "sha1", "sha224", "sha256", "sha384", "sha512", // TODO - it's unclear _which_ of these Node will actually use as its name // for the algorithm, so we guesswork it based on the OpenSSL names. "sha3", "sha3-256", "sha3-384", "sha3-512", "sha3_256", "sha3_384", "sha3_512" ].filter((algo) => NODE_HASHES.includes(algo)); function getPrioritizedHash(algo1, algo2) { return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) ? algo1 : algo2; } } }); // ../crypto/hash/lib/index.js var require_lib36 = __commonJS({ "../crypto/hash/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createShortHash = createShortHash; exports2.createHexHash = createHexHash; exports2.createHash = createHash; exports2.createHashFromMultipleFiles = createHashFromMultipleFiles; exports2.createHashFromFile = createHashFromFile; exports2.createHexHashFromFile = createHexHashFromFile; exports2.getTarballIntegrity = getTarballIntegrity; var crypto5 = __importStar3(require_lib34()); var fs_1 = __importDefault2(require("fs")); var graceful_fs_1 = __importDefault2(require_lib15()); var ssri_1 = __importDefault2(require_lib35()); function createShortHash(input) { return createHexHash(input).substring(0, 32); } function createHexHash(input) { return crypto5.hash("sha256", input, "hex"); } function createHash(input) { return `sha256-${crypto5.hash("sha256", input, "base64")}`; } async function createHashFromMultipleFiles(files) { if (files.length === 1) { return createHashFromFile(files[0]); } const hashes = await Promise.all(files.map(createHashFromFile)); return createHash(hashes.join(",")); } async function createHashFromFile(file) { return createHash(await readNormalizedFile(file)); } async function createHexHashFromFile(file) { return createHexHash(await readNormalizedFile(file)); } async function readNormalizedFile(file) { const content = await fs_1.default.promises.readFile(file, "utf8"); return content.split("\r\n").join("\n"); } async function getTarballIntegrity(filename) { return (await ssri_1.default.fromStream(graceful_fs_1.default.createReadStream(filename))).toString(); } } }); // ../resolving/local-resolver/lib/parseBareSpecifier.js var require_parseBareSpecifier2 = __commonJS({ "../resolving/local-resolver/lib/parseBareSpecifier.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseBareSpecifier = parseBareSpecifier; var os_1 = __importDefault2(require("os")); var path_1 = __importDefault2(require("path")); var error_1 = require_lib6(); var normalize_path_1 = __importDefault2(require_normalize_path()); var isWindows = process.platform === "win32" || global["FAKE_WINDOWS"]; var isFilespec = isWindows ? /^(?:[./\\]|~\/|[a-z]:)/i : /^(?:[./]|~\/|[a-z]:)/i; var isFilename = /\.(?:tgz|tar.gz|tar)$/i; var isAbsolutePath = /^\/|^[A-Z]:/i; var PathIsUnsupportedProtocolError = class extends error_1.PnpmError { bareSpecifier; protocol; constructor(bareSpecifier, protocol) { super("PATH_IS_UNSUPPORTED_PROTOCOL", "Local dependencies via `path:` protocol are not supported. Use the `link:` protocol for folder dependencies and `file:` for local tarballs"); this.bareSpecifier = bareSpecifier; this.protocol = protocol; } }; function parseBareSpecifier(wd, projectDir, lockfileDir, opts) { if (wd.bareSpecifier.startsWith("link:") || wd.bareSpecifier.startsWith("workspace:")) { return fromLocal(wd, projectDir, lockfileDir, "directory", opts); } if (wd.bareSpecifier.endsWith(".tgz") || wd.bareSpecifier.endsWith(".tar.gz") || wd.bareSpecifier.endsWith(".tar") || wd.bareSpecifier.includes(path_1.default.sep) || wd.bareSpecifier.startsWith("file:") || isFilespec.test(wd.bareSpecifier)) { const type = isFilename.test(wd.bareSpecifier) ? "file" : "directory"; return fromLocal(wd, projectDir, lockfileDir, type, opts); } if (wd.bareSpecifier.startsWith("path:")) { throw new PathIsUnsupportedProtocolError(wd.bareSpecifier, "path:"); } return null; } function fromLocal({ bareSpecifier, injected }, projectDir, lockfileDir, type, opts) { const spec = bareSpecifier.replace(/\\/g, "/").replace(/^(?:file|link|workspace):\/*([A-Z]:)/i, "$1").replace(/^(?:file|link|workspace):(?:\/*([~./]))?/, "$1"); let protocol; if (bareSpecifier.startsWith("file:")) { protocol = "file:"; } else if (bareSpecifier.startsWith("link:")) { protocol = "link:"; } else { protocol = type === "directory" && !injected ? "link:" : "file:"; } let fetchSpec; let normalizedBareSpecifier; if (/^~\//.test(spec)) { fetchSpec = resolvePath(os_1.default.homedir(), spec.slice(2)); normalizedBareSpecifier = `${protocol}${spec}`; } else { fetchSpec = resolvePath(projectDir, spec); if (isAbsolute(spec)) { normalizedBareSpecifier = `${protocol}${spec}`; } else { normalizedBareSpecifier = `${protocol}${path_1.default.relative(projectDir, fetchSpec)}`; } } function normalizeRelativeOrAbsolute(relativeTo, fromPath) { let specPath; if (opts.preserveAbsolutePaths && isAbsolute(spec)) { specPath = path_1.default.resolve(fromPath); } else { specPath = path_1.default.relative(relativeTo, fromPath); } return (0, normalize_path_1.default)(specPath); } injected = protocol === "file:"; const dependencyPath = injected ? normalizeRelativeOrAbsolute(lockfileDir, fetchSpec) : (0, normalize_path_1.default)(path_1.default.resolve(fetchSpec)); const id = !injected && (type === "directory" || projectDir === lockfileDir) ? `${protocol}${normalizeRelativeOrAbsolute(projectDir, fetchSpec)}` : `${protocol}${normalizeRelativeOrAbsolute(lockfileDir, fetchSpec)}`; return { dependencyPath, fetchSpec, id, normalizedBareSpecifier, type }; } function resolvePath(where, spec) { if (isAbsolutePath.test(spec)) return spec; return path_1.default.resolve(where, spec); } function isAbsolute(dir) { if (dir[0] === "/") return true; if (/^[A-Z]:/i.test(dir)) return true; return false; } } }); // ../resolving/local-resolver/lib/index.js var require_lib37 = __commonJS({ "../resolving/local-resolver/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveFromLocal = resolveFromLocal; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var crypto_hash_1 = require_lib36(); var error_1 = require_lib6(); var read_project_manifest_1 = require_lib16(); var logger_1 = require_lib(); var parseBareSpecifier_js_1 = require_parseBareSpecifier2(); async function resolveFromLocal(ctx, wantedDependency, opts) { const preserveAbsolutePaths = ctx.preserveAbsolutePaths ?? false; const spec = (0, parseBareSpecifier_js_1.parseBareSpecifier)(wantedDependency, opts.projectDir, opts.lockfileDir ?? opts.projectDir, { preserveAbsolutePaths }); if (spec == null) return null; if (spec.type === "file") { return { id: spec.id, normalizedBareSpecifier: spec.normalizedBareSpecifier, resolution: { integrity: await (0, crypto_hash_1.getTarballIntegrity)(spec.fetchSpec), tarball: spec.id }, resolvedVia: "local-filesystem" }; } let localDependencyManifest; try { localDependencyManifest = await (0, read_project_manifest_1.readProjectManifestOnly)(spec.fetchSpec); } catch (internalErr) { if (!(0, fs_1.existsSync)(spec.fetchSpec)) { if (spec.id.startsWith("file:")) { throw new error_1.PnpmError("LINKED_PKG_DIR_NOT_FOUND", `Could not install from "${spec.fetchSpec}" as it does not exist.`); } logger_1.logger.warn({ message: `Installing a dependency from a non-existent directory: ${spec.fetchSpec}`, prefix: opts.projectDir }); localDependencyManifest = { name: path_1.default.basename(spec.fetchSpec), version: "0.0.0" }; } else { switch (internalErr.code) { case "ENOTDIR": { throw new error_1.PnpmError("NOT_PACKAGE_DIRECTORY", `Could not install from "${spec.fetchSpec}" as it is not a directory.`); } case "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND": case "ENOENT": { localDependencyManifest = { name: path_1.default.basename(spec.fetchSpec), version: "0.0.0" }; break; } default: { throw internalErr; } } } } return { id: spec.id, manifest: localDependencyManifest, normalizedBareSpecifier: spec.normalizedBareSpecifier, resolution: { directory: spec.dependencyPath, type: "directory" }, resolvedVia: "local-filesystem" }; } } }); // ../crypto/shasums-file/lib/index.js var require_lib38 = __commonJS({ "../crypto/shasums-file/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.fetchShasumsFile = fetchShasumsFile; exports2.fetchShasumsFileRaw = fetchShasumsFileRaw; exports2.pickFileChecksumFromShasumsFile = pickFileChecksumFromShasumsFile; var error_1 = require_lib6(); async function fetchShasumsFile(fetch, shasumsUrl) { const shasumsFileContent = await fetchShasumsFileRaw(fetch, shasumsUrl); const lines = shasumsFileContent.split("\n"); const items = []; for (const line of lines) { if (!line) continue; const [sha256, fileName] = line.trim().split(/\s+/); items.push({ integrity: `sha256-${Buffer.from(sha256, "hex").toString("base64")}`, fileName }); } return items; } async function fetchShasumsFileRaw(fetch, shasumsUrl) { const res = await fetch(shasumsUrl); if (!res.ok) { throw new error_1.PnpmError("FAILED_DOWNLOAD_SHASUM_FILE", `Failed to fetch integrity file: ${shasumsUrl} (status: ${res.status})`); } const body = await res.text(); return body; } var SHA256_REGEX = /^[a-f0-9]{64}$/; function pickFileChecksumFromShasumsFile(body, fileName) { const line = body.split("\n").find((line2) => line2.trim().endsWith(` ${fileName}`)); if (!line) { throw new error_1.PnpmError("NODE_INTEGRITY_HASH_NOT_FOUND", `SHA-256 hash not found in SHASUMS256.txt for: ${fileName}`); } const [sha256] = line.trim().split(/\s+/); if (!SHA256_REGEX.test(sha256)) { throw new error_1.PnpmError("NODE_MALFORMED_INTEGRITY_HASH", `Malformed SHA-256 for ${fileName}: ${sha256}`); } const buffer = Buffer.from(sha256, "hex"); const base64 = buffer.toString("base64"); return `sha256-${base64}`; } } }); // ../node_modules/.pnpm/version-selector-type@3.0.0/node_modules/version-selector-type/index.js var require_version_selector_type = __commonJS({ "../node_modules/.pnpm/version-selector-type@3.0.0/node_modules/version-selector-type/index.js"(exports2, module2) { "use strict"; var semver = require_semver2(); module2.exports = (selector) => versionSelectorType(true, selector); module2.exports.strict = (selector) => versionSelectorType(false, selector); function versionSelectorType(loose, selector) { if (typeof selector !== "string") { throw new TypeError("`selector` should be a string"); } let normalizedSelector; if (normalizedSelector = semver.valid(selector, loose)) { return { normalized: normalizedSelector, type: "version" }; } if (normalizedSelector = semver.validRange(selector, loose)) { return { normalized: normalizedSelector, type: "range" }; } if (encodeURIComponent(selector) === selector) { return { normalized: selector, type: "tag" }; } return null; } } }); // ../env/node.resolver/lib/parseEnvSpecifier.js var require_parseEnvSpecifier = __commonJS({ "../env/node.resolver/lib/parseEnvSpecifier.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseEnvSpecifier = parseEnvSpecifier; function parseEnvSpecifier(specifier) { if (specifier.includes("/")) { const [releaseChannel, versionSpecifier] = specifier.split("/"); return { releaseChannel, versionSpecifier }; } const prereleaseMatch = specifier.match(/-(nightly|rc|test|v8-canary)/); if (prereleaseMatch != null) { return { releaseChannel: prereleaseMatch[1], versionSpecifier: specifier }; } if (["nightly", "rc", "test", "release", "v8-canary"].includes(specifier)) { return { releaseChannel: specifier, versionSpecifier: "latest" }; } return { releaseChannel: "release", versionSpecifier: specifier }; } } }); // ../env/node.resolver/lib/getNodeMirror.js var require_getNodeMirror = __commonJS({ "../env/node.resolver/lib/getNodeMirror.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getNodeMirror = getNodeMirror; function getNodeMirror(rawConfig, releaseChannel) { const configKey = `node-mirror:${releaseChannel}`; const nodeMirror = rawConfig[configKey] ?? `https://nodejs.org/download/${releaseChannel}/`; return normalizeNodeMirror(nodeMirror); } function normalizeNodeMirror(nodeMirror) { return nodeMirror.endsWith("/") ? nodeMirror : `${nodeMirror}/`; } } }); // ../env/node.resolver/lib/normalizeArch.js var require_normalizeArch = __commonJS({ "../env/node.resolver/lib/normalizeArch.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getNormalizedArch = getNormalizedArch; function getNormalizedArch(platform, arch, nodeVersion) { if (nodeVersion) { const nodeMajorVersion = +nodeVersion.split(".")[0]; if (platform === "darwin" && arch === "arm64" && nodeMajorVersion < 16) { return "x64"; } } if (platform === "win32" && arch === "ia32") { return "x86"; } if (arch === "arm") { return "armv7l"; } return arch; } } }); // ../env/node.resolver/lib/getNodeArtifactAddress.js var require_getNodeArtifactAddress = __commonJS({ "../env/node.resolver/lib/getNodeArtifactAddress.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getNodeArtifactAddress = getNodeArtifactAddress; var normalizeArch_js_1 = require_normalizeArch(); function getNodeArtifactAddress({ version: version2, baseUrl, platform, arch }) { const isWindowsPlatform = platform === "win32"; const normalizedPlatform = isWindowsPlatform ? "win" : platform; const normalizedArch = (0, normalizeArch_js_1.getNormalizedArch)(platform, arch, version2); return { dirname: `${baseUrl}v${version2}`, basename: `node-v${version2}-${normalizedPlatform}-${normalizedArch}`, extname: isWindowsPlatform ? ".zip" : ".tar.gz" }; } } }); // ../env/node.resolver/lib/index.js var require_lib39 = __commonJS({ "../env/node.resolver/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getNodeArtifactAddress = exports2.parseEnvSpecifier = exports2.getNodeMirror = void 0; exports2.resolveNodeRuntime = resolveNodeRuntime; exports2.resolveNodeVersion = resolveNodeVersion; exports2.resolveNodeVersions = resolveNodeVersions; var constants_1 = require_lib5(); var crypto_shasums_file_1 = require_lib38(); var error_1 = require_lib6(); var semver_12 = __importDefault2(require_semver2()); var version_selector_type_1 = __importDefault2(require_version_selector_type()); var parseEnvSpecifier_js_1 = require_parseEnvSpecifier(); Object.defineProperty(exports2, "parseEnvSpecifier", { enumerable: true, get: function() { return parseEnvSpecifier_js_1.parseEnvSpecifier; } }); var getNodeMirror_js_1 = require_getNodeMirror(); Object.defineProperty(exports2, "getNodeMirror", { enumerable: true, get: function() { return getNodeMirror_js_1.getNodeMirror; } }); var getNodeArtifactAddress_js_1 = require_getNodeArtifactAddress(); Object.defineProperty(exports2, "getNodeArtifactAddress", { enumerable: true, get: function() { return getNodeArtifactAddress_js_1.getNodeArtifactAddress; } }); async function resolveNodeRuntime(ctx, wantedDependency) { if (wantedDependency.alias !== "node" || !wantedDependency.bareSpecifier?.startsWith("runtime:")) return null; if (ctx.offline) throw new error_1.PnpmError("NO_OFFLINE_NODEJS_RESOLUTION", "Offline Node.js resolution is not supported"); const versionSpec = wantedDependency.bareSpecifier.substring("runtime:".length); const { releaseChannel, versionSpecifier } = (0, parseEnvSpecifier_js_1.parseEnvSpecifier)(versionSpec); const nodeMirrorBaseUrl = (0, getNodeMirror_js_1.getNodeMirror)(ctx.rawConfig, releaseChannel); const version2 = await resolveNodeVersion(ctx.fetchFromRegistry, versionSpecifier, nodeMirrorBaseUrl); if (!version2) { throw new error_1.PnpmError("NODEJS_VERSION_NOT_FOUND", `Could not find a Node.js version that satisfies ${versionSpec}`); } const variants = await readNodeAssets(ctx.fetchFromRegistry, nodeMirrorBaseUrl, version2); const range = version2 === versionSpec ? version2 : `^${version2}`; return { id: `node@runtime:${version2}`, normalizedBareSpecifier: `runtime:${range}`, resolvedVia: "nodejs.org", manifest: { name: "node", version: version2, bin: (0, constants_1.getNodeBinLocationForCurrentOS)() }, resolution: { type: "variations", variants } }; } async function readNodeAssets(fetch, nodeMirrorBaseUrl, version2) { const integritiesFileUrl = `${nodeMirrorBaseUrl}v${version2}/SHASUMS256.txt`; const shasumsFileItems = await (0, crypto_shasums_file_1.fetchShasumsFile)(fetch, integritiesFileUrl); const escaped = version2.replace(/\\/g, "\\\\").replace(/\./g, "\\."); const pattern = new RegExp(`^node-v${escaped}-([^-.]+)-([^.]+)\\.(?:tar\\.gz|zip)$`); const assets = []; for (const { integrity, fileName } of shasumsFileItems) { const match = pattern.exec(fileName); if (!match) continue; let [, platform, arch] = match; if (platform === "win") { platform = "win32"; } const address = (0, getNodeArtifactAddress_js_1.getNodeArtifactAddress)({ version: version2, baseUrl: nodeMirrorBaseUrl, platform, arch }); const url = `${address.dirname}/${address.basename}${address.extname}`; const resolution = { type: "binary", archive: address.extname === ".zip" ? "zip" : "tarball", bin: (0, constants_1.getNodeBinLocationForCurrentOS)(platform), integrity, url }; if (resolution.archive === "zip") { resolution.prefix = address.basename; } assets.push({ targets: [{ os: platform, cpu: arch }], resolution }); } return assets; } var SEMVER_OPTS = { includePrerelease: true, loose: true }; async function resolveNodeVersion(fetch, versionSpec, nodeMirrorBaseUrl) { const allVersions = await fetchAllVersions(fetch, nodeMirrorBaseUrl); if (versionSpec === "latest") { return allVersions[0].version; } const { versions, versionRange } = filterVersions(allVersions, versionSpec); return semver_12.default.maxSatisfying(versions, versionRange, SEMVER_OPTS) ?? null; } async function resolveNodeVersions(fetch, versionSpec, nodeMirrorBaseUrl) { const allVersions = await fetchAllVersions(fetch, nodeMirrorBaseUrl); if (!versionSpec) { return allVersions.map(({ version: version2 }) => version2); } if (versionSpec === "latest") { return [allVersions[0].version]; } const { versions, versionRange } = filterVersions(allVersions, versionSpec); return versions.filter((version2) => semver_12.default.satisfies(version2, versionRange, SEMVER_OPTS)); } async function fetchAllVersions(fetch, nodeMirrorBaseUrl) { const response = await fetch(`${nodeMirrorBaseUrl ?? "https://nodejs.org/download/release/"}index.json`); return (await response.json()).map(({ version: version2, lts }) => ({ version: version2.substring(1), lts })); } function filterVersions(versions, versionSelector) { if (versionSelector === "lts") { return { versions: versions.filter(({ lts }) => lts !== false).map(({ version: version2 }) => version2), versionRange: "*" }; } const vst = (0, version_selector_type_1.default)(versionSelector); if (vst?.type === "tag") { const wantedLtsVersion = vst.normalized.toLowerCase(); return { versions: versions.filter(({ lts }) => typeof lts === "string" && lts.toLowerCase() === wantedLtsVersion).map(({ version: version2 }) => version2), versionRange: "*" }; } return { versions: versions.map(({ version: version2 }) => version2), versionRange: versionSelector }; } } }); // ../resolving/deno-resolver/lib/index.js var require_lib40 = __commonJS({ "../resolving/deno-resolver/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveDenoRuntime = resolveDenoRuntime; var constants_1 = require_lib5(); var error_1 = require_lib6(); var util_lex_comparator_1 = require_dist4(); var ASSET_REGEX = /^deno-(?aarch64|x86_64)-(?apple-darwin|unknown-linux-gnu|pc-windows-msvc)\.zip\.sha256sum$/; var OS_MAP = { "apple-darwin": "darwin", "unknown-linux-gnu": "linux", "pc-windows-msvc": "win32" }; var CPU_MAP = { aarch64: "arm64", x86_64: "x64" }; async function resolveDenoRuntime(ctx, wantedDependency) { if (wantedDependency.alias !== "deno" || !wantedDependency.bareSpecifier?.startsWith("runtime:")) return null; const versionSpec = wantedDependency.bareSpecifier.substring("runtime:".length); const npmResolution = await ctx.resolveFromNpm({ ...wantedDependency, bareSpecifier: versionSpec }, {}); if (npmResolution == null) { throw new error_1.PnpmError("DENO_RESOLUTION_FAILURE", `Could not resolve Deno version specified as ${versionSpec}`); } const version2 = npmResolution.manifest.version; const res = await ctx.fetchFromRegistry(`https://api.github.com/repos/denoland/deno/releases/tags/v${version2}`); const data = await res.json(); const assets = []; if (data.assets == null) { throw new error_1.PnpmError("DENO_MISSING_ASSETS", `No assets found for Deno v${version2}`); } await Promise.all(data.assets.map(async (asset) => { const targets = parseAssetName(asset.name); if (!targets) return; const sha256 = await fetchSha256(ctx.fetchFromRegistry, asset.browser_download_url); const base64 = Buffer.from(sha256, "hex").toString("base64"); assets.push({ targets, resolution: { type: "binary", url: asset.browser_download_url.replace(/\.sha256sum$/, ""), integrity: `sha256-${base64}`, bin: (0, constants_1.getDenoBinLocationForCurrentOS)(targets[0].os), archive: "zip" } }); })); assets.sort((asset1, asset2) => (0, util_lex_comparator_1.lexCompare)(asset1.resolution.url, asset2.resolution.url)); return { id: `deno@runtime:${version2}`, normalizedBareSpecifier: `runtime:${versionSpec}`, resolvedVia: "github.com/denoland/deno", manifest: { name: "deno", version: version2, bin: (0, constants_1.getDenoBinLocationForCurrentOS)() }, resolution: { type: "variations", variants: assets } }; } function parseAssetName(name) { const m = ASSET_REGEX.exec(name); if (!m?.groups) return null; const os = OS_MAP[m.groups.os]; const cpu = CPU_MAP[m.groups.cpu]; const targets = [{ os, cpu }]; if (os === "win32" && cpu === "x64") { targets.push({ os: "win32", cpu: "arm64" }); } return targets; } async function fetchSha256(fetch, url) { const response = await fetch(url); if (!response.ok) { throw new error_1.PnpmError("DENO_GITHUB_FAILURE", `Failed to GET sha256 at ${url}`); } const txt = await response.text(); const m = txt.match(/([a-f0-9]{64})/i); if (!m) { throw new error_1.PnpmError("DENO_PARSE_HASH", `No SHA256 in ${url}`); } return m[1].toLowerCase(); } } }); // ../resolving/bun-resolver/lib/index.js var require_lib41 = __commonJS({ "../resolving/bun-resolver/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveBunRuntime = resolveBunRuntime; var constants_1 = require_lib5(); var crypto_shasums_file_1 = require_lib38(); var error_1 = require_lib6(); var util_lex_comparator_1 = require_dist4(); async function resolveBunRuntime(ctx, wantedDependency) { if (wantedDependency.alias !== "bun" || !wantedDependency.bareSpecifier?.startsWith("runtime:")) return null; const versionSpec = wantedDependency.bareSpecifier.substring("runtime:".length); const npmResolution = await ctx.resolveFromNpm({ ...wantedDependency, bareSpecifier: versionSpec }, {}); if (npmResolution == null) { throw new error_1.PnpmError("BUN_RESOLUTION_FAILURE", `Could not resolve Bun version specified as ${versionSpec}`); } const version2 = npmResolution.manifest.version; const assets = await readBunAssets(ctx.fetchFromRegistry, version2); assets.sort((asset1, asset2) => (0, util_lex_comparator_1.lexCompare)(asset1.resolution.url, asset2.resolution.url)); return { id: `bun@runtime:${version2}`, normalizedBareSpecifier: `runtime:${versionSpec}`, resolvedVia: "github.com/oven-sh/bun", manifest: { name: "bun", version: version2, bin: (0, constants_1.getBunBinLocationForCurrentOS)() }, resolution: { type: "variations", variants: assets } }; } async function readBunAssets(fetch, version2) { const integritiesFileUrl = `https://github.com/oven-sh/bun/releases/download/bun-v${version2}/SHASUMS256.txt`; const shasumsFileItems = await (0, crypto_shasums_file_1.fetchShasumsFile)(fetch, integritiesFileUrl); const pattern = /^bun-([^-.]+)-([^-.]+)(-musl)?\.zip$/; const assets = []; for (const { integrity, fileName } of shasumsFileItems) { const match = pattern.exec(fileName); if (!match) continue; let [, platform, arch, musl] = match; if (platform === "windows") { platform = "win32"; } if (arch === "aarch64") { arch = "arm64"; } const url = `https://github.com/oven-sh/bun/releases/download/bun-v${version2}/${fileName}`; const resolution = { type: "binary", archive: "zip", bin: (0, constants_1.getBunBinLocationForCurrentOS)(platform), integrity, url, prefix: fileName.replace(/\.zip$/, "") }; const target = { os: platform, cpu: arch }; if (musl != null) { target.libc = "musl"; } assets.push({ targets: [target], resolution }); } return assets; } } }); // ../config/pick-registry-for-package/lib/index.js var require_lib42 = __commonJS({ "../config/pick-registry-for-package/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pickRegistryForPackage = pickRegistryForPackage; function pickRegistryForPackage(registries, packageName, bareSpecifier) { const scope = getScope(packageName, bareSpecifier); return (scope && registries[scope]) ?? registries.default; } function getScope(pkgName, bareSpecifier) { if (bareSpecifier?.startsWith("npm:")) { bareSpecifier = bareSpecifier.slice(4); if (bareSpecifier[0] === "@") { return bareSpecifier.substring(0, bareSpecifier.indexOf("/")); } } if (pkgName[0] === "@") { return pkgName.substring(0, pkgName.indexOf("/")); } return null; } } }); // ../workspace/resolve-workspace-range/lib/index.js var require_lib43 = __commonJS({ "../workspace/resolve-workspace-range/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveWorkspaceRange = resolveWorkspaceRange; var semver_12 = __importDefault2(require_semver2()); function resolveWorkspaceRange(range, versions) { if (range === "*" || range === "^" || range === "~") { return semver_12.default.maxSatisfying(versions, "*", { includePrerelease: true }); } return semver_12.default.maxSatisfying(versions, range, { loose: true }); } } }); // ../node_modules/.pnpm/lru-cache@10.4.3/node_modules/lru-cache/dist/commonjs/index.js var require_commonjs2 = __commonJS({ "../node_modules/.pnpm/lru-cache@10.4.3/node_modules/lru-cache/dist/commonjs/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LRUCache = void 0; var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date; var warned = /* @__PURE__ */ new Set(); var PROCESS = typeof process === "object" && !!process ? process : {}; var emitWarning = (msg, type, code, fn) => { typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type, code, fn) : console.error(`[${code}] ${type}: ${msg}`); }; var AC = globalThis.AbortController; var AS = globalThis.AbortSignal; if (typeof AC === "undefined") { AS = class AbortSignal { onabort; _onabort = []; reason; aborted = false; addEventListener(_, fn) { this._onabort.push(fn); } }; AC = class AbortController { constructor() { warnACPolyfill(); } signal = new AS(); abort(reason) { if (this.signal.aborted) return; this.signal.reason = reason; this.signal.aborted = true; for (const fn of this.signal._onabort) { fn(reason); } this.signal.onabort?.(reason); } }; let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1"; const warnACPolyfill = () => { if (!printACPolyfillWarning) return; printACPolyfillWarning = false; emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill); }; } var shouldWarn = (code) => !warned.has(code); var TYPE = Symbol("type"); var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n); var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null; var ZeroArray = class extends Array { constructor(size) { super(size); this.fill(0); } }; var Stack = class _Stack { heap; length; // private constructor static #constructing = false; static create(max) { const HeapCls = getUintArray(max); if (!HeapCls) return []; _Stack.#constructing = true; const s = new _Stack(max, HeapCls); _Stack.#constructing = false; return s; } constructor(max, HeapCls) { if (!_Stack.#constructing) { throw new TypeError("instantiate Stack using Stack.create(n)"); } this.heap = new HeapCls(max); this.length = 0; } push(n) { this.heap[this.length++] = n; } pop() { return this.heap[--this.length]; } }; var LRUCache = class _LRUCache { // options that cannot be changed without disaster #max; #maxSize; #dispose; #disposeAfter; #fetchMethod; #memoMethod; /** * {@link LRUCache.OptionsBase.ttl} */ ttl; /** * {@link LRUCache.OptionsBase.ttlResolution} */ ttlResolution; /** * {@link LRUCache.OptionsBase.ttlAutopurge} */ ttlAutopurge; /** * {@link LRUCache.OptionsBase.updateAgeOnGet} */ updateAgeOnGet; /** * {@link LRUCache.OptionsBase.updateAgeOnHas} */ updateAgeOnHas; /** * {@link LRUCache.OptionsBase.allowStale} */ allowStale; /** * {@link LRUCache.OptionsBase.noDisposeOnSet} */ noDisposeOnSet; /** * {@link LRUCache.OptionsBase.noUpdateTTL} */ noUpdateTTL; /** * {@link LRUCache.OptionsBase.maxEntrySize} */ maxEntrySize; /** * {@link LRUCache.OptionsBase.sizeCalculation} */ sizeCalculation; /** * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection} */ noDeleteOnFetchRejection; /** * {@link LRUCache.OptionsBase.noDeleteOnStaleGet} */ noDeleteOnStaleGet; /** * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort} */ allowStaleOnFetchAbort; /** * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} */ allowStaleOnFetchRejection; /** * {@link LRUCache.OptionsBase.ignoreFetchAbort} */ ignoreFetchAbort; // computed properties #size; #calculatedSize; #keyMap; #keyList; #valList; #next; #prev; #head; #tail; #free; #disposed; #sizes; #starts; #ttls; #hasDispose; #hasFetchMethod; #hasDisposeAfter; /** * Do not call this method unless you need to inspect the * inner workings of the cache. If anything returned by this * object is modified in any way, strange breakage may occur. * * These fields are private for a reason! * * @internal */ static unsafeExposeInternals(c) { return { // properties starts: c.#starts, ttls: c.#ttls, sizes: c.#sizes, keyMap: c.#keyMap, keyList: c.#keyList, valList: c.#valList, next: c.#next, prev: c.#prev, get head() { return c.#head; }, get tail() { return c.#tail; }, free: c.#free, // methods isBackgroundFetch: (p) => c.#isBackgroundFetch(p), backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context), moveToTail: (index) => c.#moveToTail(index), indexes: (options) => c.#indexes(options), rindexes: (options) => c.#rindexes(options), isStale: (index) => c.#isStale(index) }; } // Protected read-only members /** * {@link LRUCache.OptionsBase.max} (read-only) */ get max() { return this.#max; } /** * {@link LRUCache.OptionsBase.maxSize} (read-only) */ get maxSize() { return this.#maxSize; } /** * The total computed size of items in the cache (read-only) */ get calculatedSize() { return this.#calculatedSize; } /** * The number of items stored in the cache (read-only) */ get size() { return this.#size; } /** * {@link LRUCache.OptionsBase.fetchMethod} (read-only) */ get fetchMethod() { return this.#fetchMethod; } get memoMethod() { return this.#memoMethod; } /** * {@link LRUCache.OptionsBase.dispose} (read-only) */ get dispose() { return this.#dispose; } /** * {@link LRUCache.OptionsBase.disposeAfter} (read-only) */ get disposeAfter() { return this.#disposeAfter; } constructor(options) { const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options; if (max !== 0 && !isPosInt(max)) { throw new TypeError("max option must be a nonnegative integer"); } const UintArray = max ? getUintArray(max) : Array; if (!UintArray) { throw new Error("invalid max value: " + max); } this.#max = max; this.#maxSize = maxSize; this.maxEntrySize = maxEntrySize || this.#maxSize; this.sizeCalculation = sizeCalculation; if (this.sizeCalculation) { if (!this.#maxSize && !this.maxEntrySize) { throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize"); } if (typeof this.sizeCalculation !== "function") { throw new TypeError("sizeCalculation set to non-function"); } } if (memoMethod !== void 0 && typeof memoMethod !== "function") { throw new TypeError("memoMethod must be a function if defined"); } this.#memoMethod = memoMethod; if (fetchMethod !== void 0 && typeof fetchMethod !== "function") { throw new TypeError("fetchMethod must be a function if specified"); } this.#fetchMethod = fetchMethod; this.#hasFetchMethod = !!fetchMethod; this.#keyMap = /* @__PURE__ */ new Map(); this.#keyList = new Array(max).fill(void 0); this.#valList = new Array(max).fill(void 0); this.#next = new UintArray(max); this.#prev = new UintArray(max); this.#head = 0; this.#tail = 0; this.#free = Stack.create(max); this.#size = 0; this.#calculatedSize = 0; if (typeof dispose === "function") { this.#dispose = dispose; } if (typeof disposeAfter === "function") { this.#disposeAfter = disposeAfter; this.#disposed = []; } else { this.#disposeAfter = void 0; this.#disposed = void 0; } this.#hasDispose = !!this.#dispose; this.#hasDisposeAfter = !!this.#disposeAfter; this.noDisposeOnSet = !!noDisposeOnSet; this.noUpdateTTL = !!noUpdateTTL; this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection; this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection; this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort; this.ignoreFetchAbort = !!ignoreFetchAbort; if (this.maxEntrySize !== 0) { if (this.#maxSize !== 0) { if (!isPosInt(this.#maxSize)) { throw new TypeError("maxSize must be a positive integer if specified"); } } if (!isPosInt(this.maxEntrySize)) { throw new TypeError("maxEntrySize must be a positive integer if specified"); } this.#initializeSizeTracking(); } this.allowStale = !!allowStale; this.noDeleteOnStaleGet = !!noDeleteOnStaleGet; this.updateAgeOnGet = !!updateAgeOnGet; this.updateAgeOnHas = !!updateAgeOnHas; this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1; this.ttlAutopurge = !!ttlAutopurge; this.ttl = ttl || 0; if (this.ttl) { if (!isPosInt(this.ttl)) { throw new TypeError("ttl must be a positive integer if specified"); } this.#initializeTTLTracking(); } if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) { throw new TypeError("At least one of max, maxSize, or ttl is required"); } if (!this.ttlAutopurge && !this.#max && !this.#maxSize) { const code = "LRU_CACHE_UNBOUNDED"; if (shouldWarn(code)) { warned.add(code); const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption."; emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache); } } } /** * Return the number of ms left in the item's TTL. If item is not in cache, * returns `0`. Returns `Infinity` if item is in cache without a defined TTL. */ getRemainingTTL(key) { return this.#keyMap.has(key) ? Infinity : 0; } #initializeTTLTracking() { const ttls = new ZeroArray(this.#max); const starts = new ZeroArray(this.#max); this.#ttls = ttls; this.#starts = starts; this.#setItemTTL = (index, ttl, start = perf.now()) => { starts[index] = ttl !== 0 ? start : 0; ttls[index] = ttl; if (ttl !== 0 && this.ttlAutopurge) { const t = setTimeout(() => { if (this.#isStale(index)) { this.#delete(this.#keyList[index], "expire"); } }, ttl + 1); if (t.unref) { t.unref(); } } }; this.#updateItemAge = (index) => { starts[index] = ttls[index] !== 0 ? perf.now() : 0; }; this.#statusTTL = (status, index) => { if (ttls[index]) { const ttl = ttls[index]; const start = starts[index]; if (!ttl || !start) return; status.ttl = ttl; status.start = start; status.now = cachedNow || getNow(); const age = status.now - start; status.remainingTTL = ttl - age; } }; let cachedNow = 0; const getNow = () => { const n = perf.now(); if (this.ttlResolution > 0) { cachedNow = n; const t = setTimeout(() => cachedNow = 0, this.ttlResolution); if (t.unref) { t.unref(); } } return n; }; this.getRemainingTTL = (key) => { const index = this.#keyMap.get(key); if (index === void 0) { return 0; } const ttl = ttls[index]; const start = starts[index]; if (!ttl || !start) { return Infinity; } const age = (cachedNow || getNow()) - start; return ttl - age; }; this.#isStale = (index) => { const s = starts[index]; const t = ttls[index]; return !!t && !!s && (cachedNow || getNow()) - s > t; }; } // conditionally set private methods related to TTL #updateItemAge = () => { }; #statusTTL = () => { }; #setItemTTL = () => { }; /* c8 ignore stop */ #isStale = () => false; #initializeSizeTracking() { const sizes = new ZeroArray(this.#max); this.#calculatedSize = 0; this.#sizes = sizes; this.#removeItemSize = (index) => { this.#calculatedSize -= sizes[index]; sizes[index] = 0; }; this.#requireSize = (k, v, size, sizeCalculation) => { if (this.#isBackgroundFetch(v)) { return 0; } if (!isPosInt(size)) { if (sizeCalculation) { if (typeof sizeCalculation !== "function") { throw new TypeError("sizeCalculation must be a function"); } size = sizeCalculation(v, k); if (!isPosInt(size)) { throw new TypeError("sizeCalculation return invalid (expect positive integer)"); } } else { throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set."); } } return size; }; this.#addItemSize = (index, size, status) => { sizes[index] = size; if (this.#maxSize) { const maxSize = this.#maxSize - sizes[index]; while (this.#calculatedSize > maxSize) { this.#evict(true); } } this.#calculatedSize += sizes[index]; if (status) { status.entrySize = size; status.totalCalculatedSize = this.#calculatedSize; } }; } #removeItemSize = (_i) => { }; #addItemSize = (_i, _s, _st) => { }; #requireSize = (_k, _v, size, sizeCalculation) => { if (size || sizeCalculation) { throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache"); } return 0; }; *#indexes({ allowStale = this.allowStale } = {}) { if (this.#size) { for (let i = this.#tail; true; ) { if (!this.#isValidIndex(i)) { break; } if (allowStale || !this.#isStale(i)) { yield i; } if (i === this.#head) { break; } else { i = this.#prev[i]; } } } } *#rindexes({ allowStale = this.allowStale } = {}) { if (this.#size) { for (let i = this.#head; true; ) { if (!this.#isValidIndex(i)) { break; } if (allowStale || !this.#isStale(i)) { yield i; } if (i === this.#tail) { break; } else { i = this.#next[i]; } } } } #isValidIndex(index) { return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index; } /** * Return a generator yielding `[key, value]` pairs, * in order from most recently used to least recently used. */ *entries() { for (const i of this.#indexes()) { if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { yield [this.#keyList[i], this.#valList[i]]; } } } /** * Inverse order version of {@link LRUCache.entries} * * Return a generator yielding `[key, value]` pairs, * in order from least recently used to most recently used. */ *rentries() { for (const i of this.#rindexes()) { if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { yield [this.#keyList[i], this.#valList[i]]; } } } /** * Return a generator yielding the keys in the cache, * in order from most recently used to least recently used. */ *keys() { for (const i of this.#indexes()) { const k = this.#keyList[i]; if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { yield k; } } } /** * Inverse order version of {@link LRUCache.keys} * * Return a generator yielding the keys in the cache, * in order from least recently used to most recently used. */ *rkeys() { for (const i of this.#rindexes()) { const k = this.#keyList[i]; if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { yield k; } } } /** * Return a generator yielding the values in the cache, * in order from most recently used to least recently used. */ *values() { for (const i of this.#indexes()) { const v = this.#valList[i]; if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { yield this.#valList[i]; } } } /** * Inverse order version of {@link LRUCache.values} * * Return a generator yielding the values in the cache, * in order from least recently used to most recently used. */ *rvalues() { for (const i of this.#rindexes()) { const v = this.#valList[i]; if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) { yield this.#valList[i]; } } } /** * Iterating over the cache itself yields the same results as * {@link LRUCache.entries} */ [Symbol.iterator]() { return this.entries(); } /** * A String value that is used in the creation of the default string * description of an object. Called by the built-in method * `Object.prototype.toString`. */ [Symbol.toStringTag] = "LRUCache"; /** * Find a value for which the supplied fn method returns a truthy value, * similar to `Array.find()`. fn is called as `fn(value, key, cache)`. */ find(fn, getOptions = {}) { for (const i of this.#indexes()) { const v = this.#valList[i]; const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; if (value === void 0) continue; if (fn(value, this.#keyList[i], this)) { return this.get(this.#keyList[i], getOptions); } } } /** * Call the supplied function on each item in the cache, in order from most * recently used to least recently used. * * `fn` is called as `fn(value, key, cache)`. * * If `thisp` is provided, function will be called in the `this`-context of * the provided object, or the cache if no `thisp` object is provided. * * Does not update age or recenty of use, or iterate over stale values. */ forEach(fn, thisp = this) { for (const i of this.#indexes()) { const v = this.#valList[i]; const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; if (value === void 0) continue; fn.call(thisp, value, this.#keyList[i], this); } } /** * The same as {@link LRUCache.forEach} but items are iterated over in * reverse order. (ie, less recently used items are iterated over first.) */ rforEach(fn, thisp = this) { for (const i of this.#rindexes()) { const v = this.#valList[i]; const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; if (value === void 0) continue; fn.call(thisp, value, this.#keyList[i], this); } } /** * Delete any stale entries. Returns true if anything was removed, * false otherwise. */ purgeStale() { let deleted = false; for (const i of this.#rindexes({ allowStale: true })) { if (this.#isStale(i)) { this.#delete(this.#keyList[i], "expire"); deleted = true; } } return deleted; } /** * Get the extended info about a given entry, to get its value, size, and * TTL info simultaneously. Returns `undefined` if the key is not present. * * Unlike {@link LRUCache#dump}, which is designed to be portable and survive * serialization, the `start` value is always the current timestamp, and the * `ttl` is a calculated remaining time to live (negative if expired). * * Always returns stale values, if their info is found in the cache, so be * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl}) * if relevant. */ info(key) { const i = this.#keyMap.get(key); if (i === void 0) return void 0; const v = this.#valList[i]; const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; if (value === void 0) return void 0; const entry = { value }; if (this.#ttls && this.#starts) { const ttl = this.#ttls[i]; const start = this.#starts[i]; if (ttl && start) { const remain = ttl - (perf.now() - start); entry.ttl = remain; entry.start = Date.now(); } } if (this.#sizes) { entry.size = this.#sizes[i]; } return entry; } /** * Return an array of [key, {@link LRUCache.Entry}] tuples which can be * passed to {@link LRLUCache#load}. * * The `start` fields are calculated relative to a portable `Date.now()` * timestamp, even if `performance.now()` is available. * * Stale entries are always included in the `dump`, even if * {@link LRUCache.OptionsBase.allowStale} is false. * * Note: this returns an actual array, not a generator, so it can be more * easily passed around. */ dump() { const arr = []; for (const i of this.#indexes({ allowStale: true })) { const key = this.#keyList[i]; const v = this.#valList[i]; const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; if (value === void 0 || key === void 0) continue; const entry = { value }; if (this.#ttls && this.#starts) { entry.ttl = this.#ttls[i]; const age = perf.now() - this.#starts[i]; entry.start = Math.floor(Date.now() - age); } if (this.#sizes) { entry.size = this.#sizes[i]; } arr.unshift([key, entry]); } return arr; } /** * Reset the cache and load in the items in entries in the order listed. * * The shape of the resulting cache may be different if the same options are * not used in both caches. * * The `start` fields are assumed to be calculated relative to a portable * `Date.now()` timestamp, even if `performance.now()` is available. */ load(arr) { this.clear(); for (const [key, entry] of arr) { if (entry.start) { const age = Date.now() - entry.start; entry.start = perf.now() - age; } this.set(key, entry.value, entry); } } /** * Add a value to the cache. * * Note: if `undefined` is specified as a value, this is an alias for * {@link LRUCache#delete} * * Fields on the {@link LRUCache.SetOptions} options param will override * their corresponding values in the constructor options for the scope * of this single `set()` operation. * * If `start` is provided, then that will set the effective start * time for the TTL calculation. Note that this must be a previous * value of `performance.now()` if supported, or a previous value of * `Date.now()` if not. * * Options object may also include `size`, which will prevent * calling the `sizeCalculation` function and just use the specified * number if it is a positive integer, and `noDisposeOnSet` which * will prevent calling a `dispose` function in the case of * overwrites. * * If the `size` (or return value of `sizeCalculation`) for a given * entry is greater than `maxEntrySize`, then the item will not be * added to the cache. * * Will update the recency of the entry. * * If the value is `undefined`, then this is an alias for * `cache.delete(key)`. `undefined` is never stored in the cache. */ set(k, v, setOptions = {}) { if (v === void 0) { this.delete(k); return this; } const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions; let { noUpdateTTL = this.noUpdateTTL } = setOptions; const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation); if (this.maxEntrySize && size > this.maxEntrySize) { if (status) { status.set = "miss"; status.maxEntrySizeExceeded = true; } this.#delete(k, "set"); return this; } let index = this.#size === 0 ? void 0 : this.#keyMap.get(k); if (index === void 0) { index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size; this.#keyList[index] = k; this.#valList[index] = v; this.#keyMap.set(k, index); this.#next[this.#tail] = index; this.#prev[index] = this.#tail; this.#tail = index; this.#size++; this.#addItemSize(index, size, status); if (status) status.set = "add"; noUpdateTTL = false; } else { this.#moveToTail(index); const oldVal = this.#valList[index]; if (v !== oldVal) { if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) { oldVal.__abortController.abort(new Error("replaced")); const { __staleWhileFetching: s } = oldVal; if (s !== void 0 && !noDisposeOnSet) { if (this.#hasDispose) { this.#dispose?.(s, k, "set"); } if (this.#hasDisposeAfter) { this.#disposed?.push([s, k, "set"]); } } } else if (!noDisposeOnSet) { if (this.#hasDispose) { this.#dispose?.(oldVal, k, "set"); } if (this.#hasDisposeAfter) { this.#disposed?.push([oldVal, k, "set"]); } } this.#removeItemSize(index); this.#addItemSize(index, size, status); this.#valList[index] = v; if (status) { status.set = "replace"; const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal; if (oldValue !== void 0) status.oldValue = oldValue; } } else if (status) { status.set = "update"; } } if (ttl !== 0 && !this.#ttls) { this.#initializeTTLTracking(); } if (this.#ttls) { if (!noUpdateTTL) { this.#setItemTTL(index, ttl, start); } if (status) this.#statusTTL(status, index); } if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) { const dt = this.#disposed; let task; while (task = dt?.shift()) { this.#disposeAfter?.(...task); } } return this; } /** * Evict the least recently used item, returning its value or * `undefined` if cache is empty. */ pop() { try { while (this.#size) { const val = this.#valList[this.#head]; this.#evict(true); if (this.#isBackgroundFetch(val)) { if (val.__staleWhileFetching) { return val.__staleWhileFetching; } } else if (val !== void 0) { return val; } } } finally { if (this.#hasDisposeAfter && this.#disposed) { const dt = this.#disposed; let task; while (task = dt?.shift()) { this.#disposeAfter?.(...task); } } } } #evict(free) { const head = this.#head; const k = this.#keyList[head]; const v = this.#valList[head]; if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) { v.__abortController.abort(new Error("evicted")); } else if (this.#hasDispose || this.#hasDisposeAfter) { if (this.#hasDispose) { this.#dispose?.(v, k, "evict"); } if (this.#hasDisposeAfter) { this.#disposed?.push([v, k, "evict"]); } } this.#removeItemSize(head); if (free) { this.#keyList[head] = void 0; this.#valList[head] = void 0; this.#free.push(head); } if (this.#size === 1) { this.#head = this.#tail = 0; this.#free.length = 0; } else { this.#head = this.#next[head]; } this.#keyMap.delete(k); this.#size--; return head; } /** * Check if a key is in the cache, without updating the recency of use. * Will return false if the item is stale, even though it is technically * in the cache. * * Check if a key is in the cache, without updating the recency of * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set * to `true` in either the options or the constructor. * * Will return `false` if the item is stale, even though it is technically in * the cache. The difference can be determined (if it matters) by using a * `status` argument, and inspecting the `has` field. * * Will not update item age unless * {@link LRUCache.OptionsBase.updateAgeOnHas} is set. */ has(k, hasOptions = {}) { const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions; const index = this.#keyMap.get(k); if (index !== void 0) { const v = this.#valList[index]; if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) { return false; } if (!this.#isStale(index)) { if (updateAgeOnHas) { this.#updateItemAge(index); } if (status) { status.has = "hit"; this.#statusTTL(status, index); } return true; } else if (status) { status.has = "stale"; this.#statusTTL(status, index); } } else if (status) { status.has = "miss"; } return false; } /** * Like {@link LRUCache#get} but doesn't update recency or delete stale * items. * * Returns `undefined` if the item is stale, unless * {@link LRUCache.OptionsBase.allowStale} is set. */ peek(k, peekOptions = {}) { const { allowStale = this.allowStale } = peekOptions; const index = this.#keyMap.get(k); if (index === void 0 || !allowStale && this.#isStale(index)) { return; } const v = this.#valList[index]; return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; } #backgroundFetch(k, index, options, context) { const v = index === void 0 ? void 0 : this.#valList[index]; if (this.#isBackgroundFetch(v)) { return v; } const ac = new AC(); const { signal } = options; signal?.addEventListener("abort", () => ac.abort(signal.reason), { signal: ac.signal }); const fetchOpts = { signal: ac.signal, options, context }; const cb = (v2, updateCache = false) => { const { aborted } = ac.signal; const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0; if (options.status) { if (aborted && !updateCache) { options.status.fetchAborted = true; options.status.fetchError = ac.signal.reason; if (ignoreAbort) options.status.fetchAbortIgnored = true; } else { options.status.fetchResolved = true; } } if (aborted && !ignoreAbort && !updateCache) { return fetchFail(ac.signal.reason); } const bf2 = p; if (this.#valList[index] === p) { if (v2 === void 0) { if (bf2.__staleWhileFetching) { this.#valList[index] = bf2.__staleWhileFetching; } else { this.#delete(k, "fetch"); } } else { if (options.status) options.status.fetchUpdated = true; this.set(k, v2, fetchOpts.options); } } return v2; }; const eb = (er) => { if (options.status) { options.status.fetchRejected = true; options.status.fetchError = er; } return fetchFail(er); }; const fetchFail = (er) => { const { aborted } = ac.signal; const allowStaleAborted = aborted && options.allowStaleOnFetchAbort; const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection; const noDelete = allowStale || options.noDeleteOnFetchRejection; const bf2 = p; if (this.#valList[index] === p) { const del = !noDelete || bf2.__staleWhileFetching === void 0; if (del) { this.#delete(k, "fetch"); } else if (!allowStaleAborted) { this.#valList[index] = bf2.__staleWhileFetching; } } if (allowStale) { if (options.status && bf2.__staleWhileFetching !== void 0) { options.status.returnedStale = true; } return bf2.__staleWhileFetching; } else if (bf2.__returned === bf2) { throw er; } }; const pcall = (res, rej) => { const fmp = this.#fetchMethod?.(k, v, fetchOpts); if (fmp && fmp instanceof Promise) { fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej); } ac.signal.addEventListener("abort", () => { if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) { res(void 0); if (options.allowStaleOnFetchAbort) { res = (v2) => cb(v2, true); } } }); }; if (options.status) options.status.fetchDispatched = true; const p = new Promise(pcall).then(cb, eb); const bf = Object.assign(p, { __abortController: ac, __staleWhileFetching: v, __returned: void 0 }); if (index === void 0) { this.set(k, bf, { ...fetchOpts.options, status: void 0 }); index = this.#keyMap.get(k); } else { this.#valList[index] = bf; } return bf; } #isBackgroundFetch(p) { if (!this.#hasFetchMethod) return false; const b = p; return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC; } async fetch(k, fetchOptions = {}) { const { // get options allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, // set options ttl = this.ttl, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, // fetch exclusive options noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, ignoreFetchAbort = this.ignoreFetchAbort, allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, context, forceRefresh = false, status, signal } = fetchOptions; if (!this.#hasFetchMethod) { if (status) status.fetch = "get"; return this.get(k, { allowStale, updateAgeOnGet, noDeleteOnStaleGet, status }); } const options = { allowStale, updateAgeOnGet, noDeleteOnStaleGet, ttl, noDisposeOnSet, size, sizeCalculation, noUpdateTTL, noDeleteOnFetchRejection, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, status, signal }; let index = this.#keyMap.get(k); if (index === void 0) { if (status) status.fetch = "miss"; const p = this.#backgroundFetch(k, index, options, context); return p.__returned = p; } else { const v = this.#valList[index]; if (this.#isBackgroundFetch(v)) { const stale = allowStale && v.__staleWhileFetching !== void 0; if (status) { status.fetch = "inflight"; if (stale) status.returnedStale = true; } return stale ? v.__staleWhileFetching : v.__returned = v; } const isStale = this.#isStale(index); if (!forceRefresh && !isStale) { if (status) status.fetch = "hit"; this.#moveToTail(index); if (updateAgeOnGet) { this.#updateItemAge(index); } if (status) this.#statusTTL(status, index); return v; } const p = this.#backgroundFetch(k, index, options, context); const hasStale = p.__staleWhileFetching !== void 0; const staleVal = hasStale && allowStale; if (status) { status.fetch = isStale ? "stale" : "refresh"; if (staleVal && isStale) status.returnedStale = true; } return staleVal ? p.__staleWhileFetching : p.__returned = p; } } async forceFetch(k, fetchOptions = {}) { const v = await this.fetch(k, fetchOptions); if (v === void 0) throw new Error("fetch() returned undefined"); return v; } memo(k, memoOptions = {}) { const memoMethod = this.#memoMethod; if (!memoMethod) { throw new Error("no memoMethod provided to constructor"); } const { context, forceRefresh, ...options } = memoOptions; const v = this.get(k, options); if (!forceRefresh && v !== void 0) return v; const vv = memoMethod(k, v, { options, context }); this.set(k, vv, options); return vv; } /** * Return a value from the cache. Will update the recency of the cache * entry found. * * If the key is not found, get() will return `undefined`. */ get(k, getOptions = {}) { const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions; const index = this.#keyMap.get(k); if (index !== void 0) { const value = this.#valList[index]; const fetching = this.#isBackgroundFetch(value); if (status) this.#statusTTL(status, index); if (this.#isStale(index)) { if (status) status.get = "stale"; if (!fetching) { if (!noDeleteOnStaleGet) { this.#delete(k, "expire"); } if (status && allowStale) status.returnedStale = true; return allowStale ? value : void 0; } else { if (status && allowStale && value.__staleWhileFetching !== void 0) { status.returnedStale = true; } return allowStale ? value.__staleWhileFetching : void 0; } } else { if (status) status.get = "hit"; if (fetching) { return value.__staleWhileFetching; } this.#moveToTail(index); if (updateAgeOnGet) { this.#updateItemAge(index); } return value; } } else if (status) { status.get = "miss"; } } #connect(p, n) { this.#prev[n] = p; this.#next[p] = n; } #moveToTail(index) { if (index !== this.#tail) { if (index === this.#head) { this.#head = this.#next[index]; } else { this.#connect(this.#prev[index], this.#next[index]); } this.#connect(this.#tail, index); this.#tail = index; } } /** * Deletes a key out of the cache. * * Returns true if the key was deleted, false otherwise. */ delete(k) { return this.#delete(k, "delete"); } #delete(k, reason) { let deleted = false; if (this.#size !== 0) { const index = this.#keyMap.get(k); if (index !== void 0) { deleted = true; if (this.#size === 1) { this.#clear(reason); } else { this.#removeItemSize(index); const v = this.#valList[index]; if (this.#isBackgroundFetch(v)) { v.__abortController.abort(new Error("deleted")); } else if (this.#hasDispose || this.#hasDisposeAfter) { if (this.#hasDispose) { this.#dispose?.(v, k, reason); } if (this.#hasDisposeAfter) { this.#disposed?.push([v, k, reason]); } } this.#keyMap.delete(k); this.#keyList[index] = void 0; this.#valList[index] = void 0; if (index === this.#tail) { this.#tail = this.#prev[index]; } else if (index === this.#head) { this.#head = this.#next[index]; } else { const pi = this.#prev[index]; this.#next[pi] = this.#next[index]; const ni = this.#next[index]; this.#prev[ni] = this.#prev[index]; } this.#size--; this.#free.push(index); } } } if (this.#hasDisposeAfter && this.#disposed?.length) { const dt = this.#disposed; let task; while (task = dt?.shift()) { this.#disposeAfter?.(...task); } } return deleted; } /** * Clear the cache entirely, throwing away all values. */ clear() { return this.#clear("delete"); } #clear(reason) { for (const index of this.#rindexes({ allowStale: true })) { const v = this.#valList[index]; if (this.#isBackgroundFetch(v)) { v.__abortController.abort(new Error("deleted")); } else { const k = this.#keyList[index]; if (this.#hasDispose) { this.#dispose?.(v, k, reason); } if (this.#hasDisposeAfter) { this.#disposed?.push([v, k, reason]); } } } this.#keyMap.clear(); this.#valList.fill(void 0); this.#keyList.fill(void 0); if (this.#ttls && this.#starts) { this.#ttls.fill(0); this.#starts.fill(0); } if (this.#sizes) { this.#sizes.fill(0); } this.#head = 0; this.#tail = 0; this.#free.length = 0; this.#calculatedSize = 0; this.#size = 0; if (this.#hasDisposeAfter && this.#disposed) { const dt = this.#disposed; let task; while (task = dt?.shift()) { this.#disposeAfter?.(...task); } } } }; exports2.LRUCache = LRUCache; } }); // ../node_modules/.pnpm/mimic-fn@3.1.0/node_modules/mimic-fn/index.js var require_mimic_fn2 = __commonJS({ "../node_modules/.pnpm/mimic-fn@3.1.0/node_modules/mimic-fn/index.js"(exports2, module2) { "use strict"; var copyProperty = (to, from, property, ignoreNonConfigurable) => { if (property === "length" || property === "prototype") { return; } if (property === "arguments" || property === "caller") { return; } const toDescriptor = Object.getOwnPropertyDescriptor(to, property); const fromDescriptor = Object.getOwnPropertyDescriptor(from, property); if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) { return; } Object.defineProperty(to, property, fromDescriptor); }; var canCopyProperty = function(toDescriptor, fromDescriptor) { return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value); }; var changePrototype = (to, from) => { const fromPrototype = Object.getPrototypeOf(from); if (fromPrototype === Object.getPrototypeOf(to)) { return; } Object.setPrototypeOf(to, fromPrototype); }; var wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/ ${fromBody}`; var toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString"); var toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name"); var changeToString = (to, from, name) => { const withName = name === "" ? "" : `with ${name.trim()}() `; const newToString = wrappedToString.bind(null, withName, from.toString()); Object.defineProperty(newToString, "name", toStringName); Object.defineProperty(to, "toString", { ...toStringDescriptor, value: newToString }); }; var mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => { const { name } = to; for (const property of Reflect.ownKeys(from)) { copyProperty(to, from, property, ignoreNonConfigurable); } changePrototype(to, from); changeToString(to, from, name); return to; }; module2.exports = mimicFn; } }); // ../node_modules/.pnpm/p-defer@1.0.0/node_modules/p-defer/index.js var require_p_defer = __commonJS({ "../node_modules/.pnpm/p-defer@1.0.0/node_modules/p-defer/index.js"(exports2, module2) { "use strict"; module2.exports = () => { const ret2 = {}; ret2.promise = new Promise((resolve, reject) => { ret2.resolve = resolve; ret2.reject = reject; }); return ret2; }; } }); // ../node_modules/.pnpm/map-age-cleaner@0.1.3/node_modules/map-age-cleaner/dist/index.js var require_dist14 = __commonJS({ "../node_modules/.pnpm/map-age-cleaner@0.1.3/node_modules/map-age-cleaner/dist/index.js"(exports2, module2) { "use strict"; var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result2) { result2.done ? resolve(result2.value) : new P(function(resolve2) { resolve2(result2.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); var p_defer_1 = __importDefault2(require_p_defer()); function mapAgeCleaner(map, property = "maxAge") { let processingKey; let processingTimer; let processingDeferred; const cleanup = () => __awaiter2(this, void 0, void 0, function* () { if (processingKey !== void 0) { return; } const setupTimer = (item) => __awaiter2(this, void 0, void 0, function* () { processingDeferred = p_defer_1.default(); const delay = item[1][property] - Date.now(); if (delay <= 0) { map.delete(item[0]); processingDeferred.resolve(); return; } processingKey = item[0]; processingTimer = setTimeout(() => { map.delete(item[0]); if (processingDeferred) { processingDeferred.resolve(); } }, delay); if (typeof processingTimer.unref === "function") { processingTimer.unref(); } return processingDeferred.promise; }); try { for (const entry of map) { yield setupTimer(entry); } } catch (_a) { } processingKey = void 0; }); const reset = () => { processingKey = void 0; if (processingTimer !== void 0) { clearTimeout(processingTimer); processingTimer = void 0; } if (processingDeferred !== void 0) { processingDeferred.reject(void 0); processingDeferred = void 0; } }; const originalSet = map.set.bind(map); map.set = (key, value) => { if (map.has(key)) { map.delete(key); } const result2 = originalSet(key, value); if (processingKey && processingKey === key) { reset(); } cleanup(); return result2; }; cleanup(); return map; } exports2.default = mapAgeCleaner; module2.exports = mapAgeCleaner; module2.exports.default = mapAgeCleaner; } }); // ../node_modules/.pnpm/mem@6.1.1/node_modules/mem/index.js var require_mem = __commonJS({ "../node_modules/.pnpm/mem@6.1.1/node_modules/mem/index.js"(exports2, module2) { "use strict"; var mimicFn = require_mimic_fn2(); var mapAgeCleaner = require_dist14(); var cacheStore = /* @__PURE__ */ new WeakMap(); var mem = (fn, { cacheKey, cache = /* @__PURE__ */ new Map(), maxAge } = {}) => { if (typeof maxAge === "number") { mapAgeCleaner(cache); } const memoized = function(...arguments_) { const key = cacheKey ? cacheKey(arguments_) : arguments_[0]; const cacheItem = cache.get(key); if (cacheItem) { return cacheItem.data; } const result2 = fn.apply(this, arguments_); cache.set(key, { data: result2, maxAge: maxAge ? Date.now() + maxAge : Infinity }); return result2; }; try { mimicFn(memoized, fn); } catch (_) { } cacheStore.set(memoized, cache); return memoized; }; module2.exports = mem; module2.exports.clear = (fn) => { if (!cacheStore.has(fn)) { throw new Error("Can't clear a function that was not memoized!"); } const cache = cacheStore.get(fn); if (typeof cache.clear === "function") { cache.clear(); } }; } }); // ../node_modules/.pnpm/p-memoize@4.0.1/node_modules/p-memoize/index.js var require_p_memoize = __commonJS({ "../node_modules/.pnpm/p-memoize@4.0.1/node_modules/p-memoize/index.js"(exports2, module2) { "use strict"; var mem = require_mem(); var mimicFn = require_mimic_fn2(); var memoizedFunctions = /* @__PURE__ */ new WeakMap(); var pMemoize = (fn, { cachePromiseRejection = false, ...options } = {}) => { const cache = options.cache || /* @__PURE__ */ new Map(); const cacheKey = options.cacheKey || (([firstArgument]) => firstArgument); const memoized = mem(fn, { ...options, cache, cacheKey }); const memoizedAdapter = function(...arguments_) { const cacheItem = memoized.apply(this, arguments_); if (!cachePromiseRejection && cacheItem && cacheItem.catch) { cacheItem.catch(() => { cache.delete(cacheKey(arguments_)); }); } return cacheItem; }; mimicFn(memoizedAdapter, fn); memoizedFunctions.set(memoizedAdapter, memoized); return memoizedAdapter; }; module2.exports = pMemoize; module2.exports.clear = (memoized) => { if (!memoizedFunctions.has(memoized)) { throw new Error("Can't clear a function that was not memoized!"); } mem.clear(memoizedFunctions.get(memoized)); }; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_cloneRegExp.js var require_cloneRegExp = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_cloneRegExp.js"(exports2, module2) { function _cloneRegExp(pattern) { return new RegExp(pattern.source, (pattern.global ? "g" : "") + (pattern.ignoreCase ? "i" : "") + (pattern.multiline ? "m" : "") + (pattern.sticky ? "y" : "") + (pattern.unicode ? "u" : "")); } module2.exports = _cloneRegExp; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_clone.js var require_clone4 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_clone.js"(exports2, module2) { var _cloneRegExp = require_cloneRegExp(); var type = require_type2(); function _clone(value, refFrom, refTo, deep) { var copy = function copy2(copiedValue) { var len = refFrom.length; var idx = 0; while (idx < len) { if (value === refFrom[idx]) { return refTo[idx]; } idx += 1; } refFrom[idx] = value; refTo[idx] = copiedValue; for (var key in value) { if (value.hasOwnProperty(key)) { copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key]; } } return copiedValue; }; switch (type(value)) { case "Object": return copy(Object.create(Object.getPrototypeOf(value))); case "Array": return copy([]); case "Date": return new Date(value.valueOf()); case "RegExp": return _cloneRegExp(value); case "Int8Array": case "Uint8Array": case "Uint8ClampedArray": case "Int16Array": case "Uint16Array": case "Int32Array": case "Uint32Array": case "Float32Array": case "Float64Array": case "BigInt64Array": case "BigUint64Array": return value.slice(); default: return value; } } module2.exports = _clone; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/clone.js var require_clone5 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/clone.js"(exports2, module2) { var _clone = require_clone4(); var _curry1 = require_curry1(); var clone = /* @__PURE__ */ _curry1(function clone2(value) { return value != null && typeof value.clone === "function" ? value.clone() : _clone(value, [], [], true); }); module2.exports = clone; } }); // ../node_modules/.pnpm/mem@8.1.1/node_modules/mem/dist/index.js var require_dist15 = __commonJS({ "../node_modules/.pnpm/mem@8.1.1/node_modules/mem/dist/index.js"(exports2, module2) { "use strict"; var mimicFn = require_mimic_fn2(); var mapAgeCleaner = require_dist14(); var decoratorInstanceMap = /* @__PURE__ */ new WeakMap(); var cacheStore = /* @__PURE__ */ new WeakMap(); var mem = (fn, { cacheKey, cache = /* @__PURE__ */ new Map(), maxAge } = {}) => { if (typeof maxAge === "number") { mapAgeCleaner(cache); } const memoized = function(...arguments_) { const key = cacheKey ? cacheKey(arguments_) : arguments_[0]; const cacheItem = cache.get(key); if (cacheItem) { return cacheItem.data; } const result2 = fn.apply(this, arguments_); cache.set(key, { data: result2, maxAge: maxAge ? Date.now() + maxAge : Number.POSITIVE_INFINITY }); return result2; }; mimicFn(memoized, fn, { ignoreNonConfigurable: true }); cacheStore.set(memoized, cache); return memoized; }; mem.decorator = (options = {}) => (target, propertyKey, descriptor) => { const input = target[propertyKey]; if (typeof input !== "function") { throw new TypeError("The decorated value must be a function"); } delete descriptor.value; delete descriptor.writable; descriptor.get = function() { if (!decoratorInstanceMap.has(this)) { const value = mem(input, options); decoratorInstanceMap.set(this, value); return value; } return decoratorInstanceMap.get(this); }; }; mem.clear = (fn) => { const cache = cacheStore.get(fn); if (!cache) { throw new TypeError("Can't clear a function that was not memoized!"); } if (typeof cache.clear !== "function") { throw new TypeError("The cache Map can't be cleared!"); } cache.clear(); }; module2.exports = mem; } }); // ../node_modules/.pnpm/encode-registry@3.0.1/node_modules/encode-registry/index.js var require_encode_registry = __commonJS({ "../node_modules/.pnpm/encode-registry@3.0.1/node_modules/encode-registry/index.js"(exports2, module2) { "use strict"; var assert = require("assert"); var { URL: URL3 } = require("url"); var mem = require_dist15(); module2.exports = mem(encodeRegistry); function encodeRegistry(registry) { assert(registry, "`registry` is required"); assert(typeof registry === "string", "`registry` should be a string"); const host = getHost(registry); return escapeHost(host); } function escapeHost(host) { return host.replace(":", "+"); } function getHost(rawUrl) { let urlObj; try { urlObj = new URL3(rawUrl); } catch (err) { throw new Error(`Failed to parse registry URL "${rawUrl}": ${err.message}`); } if (!urlObj || !urlObj.host) { throw new Error(`Couldn't get host from ${rawUrl}`); } return urlObj.host; } } }); // ../node_modules/.pnpm/universalify@2.0.1/node_modules/universalify/index.js var require_universalify = __commonJS({ "../node_modules/.pnpm/universalify@2.0.1/node_modules/universalify/index.js"(exports2) { "use strict"; exports2.fromCallback = function(fn) { return Object.defineProperty(function(...args) { if (typeof args[args.length - 1] === "function") fn.apply(this, args); else { return new Promise((resolve, reject) => { args.push((err, res) => err != null ? reject(err) : resolve(res)); fn.apply(this, args); }); } }, "name", { value: fn.name }); }; exports2.fromPromise = function(fn) { return Object.defineProperty(function(...args) { const cb = args[args.length - 1]; if (typeof cb !== "function") return fn.apply(this, args); else { args.pop(); fn.apply(this, args).then((r) => cb(null, r), cb); } }, "name", { value: fn.name }); }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/fs/index.js var require_fs = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/fs/index.js"(exports2) { "use strict"; var u = require_universalify().fromCallback; var fs = require_graceful_fs(); var api = [ "access", "appendFile", "chmod", "chown", "close", "copyFile", "cp", "fchmod", "fchown", "fdatasync", "fstat", "fsync", "ftruncate", "futimes", "glob", "lchmod", "lchown", "lutimes", "link", "lstat", "mkdir", "mkdtemp", "open", "opendir", "readdir", "readFile", "readlink", "realpath", "rename", "rm", "rmdir", "stat", "statfs", "symlink", "truncate", "unlink", "utimes", "writeFile" ].filter((key) => { return typeof fs[key] === "function"; }); Object.assign(exports2, fs); api.forEach((method) => { exports2[method] = u(fs[method]); }); exports2.exists = function(filename, callback) { if (typeof callback === "function") { return fs.exists(filename, callback); } return new Promise((resolve) => { return fs.exists(filename, resolve); }); }; exports2.read = function(fd, buffer, offset, length, position, callback) { if (typeof callback === "function") { return fs.read(fd, buffer, offset, length, position, callback); } return new Promise((resolve, reject) => { fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => { if (err) return reject(err); resolve({ bytesRead, buffer: buffer2 }); }); }); }; exports2.write = function(fd, buffer, ...args) { if (typeof args[args.length - 1] === "function") { return fs.write(fd, buffer, ...args); } return new Promise((resolve, reject) => { fs.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => { if (err) return reject(err); resolve({ bytesWritten, buffer: buffer2 }); }); }); }; exports2.readv = function(fd, buffers, ...args) { if (typeof args[args.length - 1] === "function") { return fs.readv(fd, buffers, ...args); } return new Promise((resolve, reject) => { fs.readv(fd, buffers, ...args, (err, bytesRead, buffers2) => { if (err) return reject(err); resolve({ bytesRead, buffers: buffers2 }); }); }); }; exports2.writev = function(fd, buffers, ...args) { if (typeof args[args.length - 1] === "function") { return fs.writev(fd, buffers, ...args); } return new Promise((resolve, reject) => { fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers2) => { if (err) return reject(err); resolve({ bytesWritten, buffers: buffers2 }); }); }); }; if (typeof fs.realpath.native === "function") { exports2.realpath.native = u(fs.realpath.native); } else { process.emitWarning( "fs.realpath.native is not a function. Is fs being monkey-patched?", "Warning", "fs-extra-WARN0003" ); } } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/utils.js var require_utils2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/utils.js"(exports2, module2) { "use strict"; var path2 = require("path"); module2.exports.checkPath = function checkPath(pth) { if (process.platform === "win32") { const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path2.parse(pth).root, "")); if (pathHasInvalidWinCharacters) { const error = new Error(`Path contains invalid characters: ${pth}`); error.code = "EINVAL"; throw error; } } }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/make-dir.js var require_make_dir = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports2, module2) { "use strict"; var fs = require_fs(); var { checkPath } = require_utils2(); var getMode = (options) => { const defaults = { mode: 511 }; if (typeof options === "number") return options; return { ...defaults, ...options }.mode; }; module2.exports.makeDir = async (dir, options) => { checkPath(dir); return fs.mkdir(dir, { mode: getMode(options), recursive: true }); }; module2.exports.makeDirSync = (dir, options) => { checkPath(dir); return fs.mkdirSync(dir, { mode: getMode(options), recursive: true }); }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/index.js var require_mkdirs = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var { makeDir: _makeDir, makeDirSync } = require_make_dir(); var makeDir = u(_makeDir); module2.exports = { mkdirs: makeDir, mkdirsSync: makeDirSync, // alias mkdirp: makeDir, mkdirpSync: makeDirSync, ensureDir: makeDir, ensureDirSync: makeDirSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/path-exists/index.js var require_path_exists = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/path-exists/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var fs = require_fs(); function pathExists(path2) { return fs.access(path2).then(() => true).catch(() => false); } module2.exports = { pathExists: u(pathExists), pathExistsSync: fs.existsSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/util/utimes.js var require_utimes = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/util/utimes.js"(exports2, module2) { "use strict"; var fs = require_fs(); var u = require_universalify().fromPromise; async function utimesMillis(path2, atime, mtime) { const fd = await fs.open(path2, "r+"); let closeErr = null; try { await fs.futimes(fd, atime, mtime); } finally { try { await fs.close(fd); } catch (e) { closeErr = e; } } if (closeErr) { throw closeErr; } } function utimesMillisSync(path2, atime, mtime) { const fd = fs.openSync(path2, "r+"); fs.futimesSync(fd, atime, mtime); return fs.closeSync(fd); } module2.exports = { utimesMillis: u(utimesMillis), utimesMillisSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/util/stat.js var require_stat = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/util/stat.js"(exports2, module2) { "use strict"; var fs = require_fs(); var path2 = require("path"); var u = require_universalify().fromPromise; function getStats(src, dest, opts) { const statFunc = opts.dereference ? (file) => fs.stat(file, { bigint: true }) : (file) => fs.lstat(file, { bigint: true }); return Promise.all([ statFunc(src), statFunc(dest).catch((err) => { if (err.code === "ENOENT") return null; throw err; }) ]).then(([srcStat, destStat]) => ({ srcStat, destStat })); } function getStatsSync(src, dest, opts) { let destStat; const statFunc = opts.dereference ? (file) => fs.statSync(file, { bigint: true }) : (file) => fs.lstatSync(file, { bigint: true }); const srcStat = statFunc(src); try { destStat = statFunc(dest); } catch (err) { if (err.code === "ENOENT") return { srcStat, destStat: null }; throw err; } return { srcStat, destStat }; } async function checkPaths(src, dest, funcName, opts) { const { srcStat, destStat } = await getStats(src, dest, opts); if (destStat) { if (areIdentical(srcStat, destStat)) { const srcBaseName = path2.basename(src); const destBaseName = path2.basename(dest); if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) { return { srcStat, destStat, isChangingCase: true }; } throw new Error("Source and destination must not be the same."); } if (srcStat.isDirectory() && !destStat.isDirectory()) { throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`); } if (!srcStat.isDirectory() && destStat.isDirectory()) { throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`); } } if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { throw new Error(errMsg(src, dest, funcName)); } return { srcStat, destStat }; } function checkPathsSync(src, dest, funcName, opts) { const { srcStat, destStat } = getStatsSync(src, dest, opts); if (destStat) { if (areIdentical(srcStat, destStat)) { const srcBaseName = path2.basename(src); const destBaseName = path2.basename(dest); if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) { return { srcStat, destStat, isChangingCase: true }; } throw new Error("Source and destination must not be the same."); } if (srcStat.isDirectory() && !destStat.isDirectory()) { throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`); } if (!srcStat.isDirectory() && destStat.isDirectory()) { throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`); } } if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { throw new Error(errMsg(src, dest, funcName)); } return { srcStat, destStat }; } async function checkParentPaths(src, srcStat, dest, funcName) { const srcParent = path2.resolve(path2.dirname(src)); const destParent = path2.resolve(path2.dirname(dest)); if (destParent === srcParent || destParent === path2.parse(destParent).root) return; let destStat; try { destStat = await fs.stat(destParent, { bigint: true }); } catch (err) { if (err.code === "ENOENT") return; throw err; } if (areIdentical(srcStat, destStat)) { throw new Error(errMsg(src, dest, funcName)); } return checkParentPaths(src, srcStat, destParent, funcName); } function checkParentPathsSync(src, srcStat, dest, funcName) { const srcParent = path2.resolve(path2.dirname(src)); const destParent = path2.resolve(path2.dirname(dest)); if (destParent === srcParent || destParent === path2.parse(destParent).root) return; let destStat; try { destStat = fs.statSync(destParent, { bigint: true }); } catch (err) { if (err.code === "ENOENT") return; throw err; } if (areIdentical(srcStat, destStat)) { throw new Error(errMsg(src, dest, funcName)); } return checkParentPathsSync(src, srcStat, destParent, funcName); } function areIdentical(srcStat, destStat) { return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev; } function isSrcSubdir(src, dest) { const srcArr = path2.resolve(src).split(path2.sep).filter((i) => i); const destArr = path2.resolve(dest).split(path2.sep).filter((i) => i); return srcArr.every((cur, i) => destArr[i] === cur); } function errMsg(src, dest, funcName) { return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`; } module2.exports = { // checkPaths checkPaths: u(checkPaths), checkPathsSync, // checkParent checkParentPaths: u(checkParentPaths), checkParentPathsSync, // Misc isSrcSubdir, areIdentical }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy.js var require_copy = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy.js"(exports2, module2) { "use strict"; var fs = require_fs(); var path2 = require("path"); var { mkdirs } = require_mkdirs(); var { pathExists } = require_path_exists(); var { utimesMillis } = require_utimes(); var stat = require_stat(); async function copy(src, dest, opts = {}) { if (typeof opts === "function") { opts = { filter: opts }; } opts.clobber = "clobber" in opts ? !!opts.clobber : true; opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; if (opts.preserveTimestamps && process.arch === "ia32") { process.emitWarning( "Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269", "Warning", "fs-extra-WARN0001" ); } const { srcStat, destStat } = await stat.checkPaths(src, dest, "copy", opts); await stat.checkParentPaths(src, srcStat, dest, "copy"); const include = await runFilter(src, dest, opts); if (!include) return; const destParent = path2.dirname(dest); const dirExists = await pathExists(destParent); if (!dirExists) { await mkdirs(destParent); } await getStatsAndPerformCopy(destStat, src, dest, opts); } async function runFilter(src, dest, opts) { if (!opts.filter) return true; return opts.filter(src, dest); } async function getStatsAndPerformCopy(destStat, src, dest, opts) { const statFn = opts.dereference ? fs.stat : fs.lstat; const srcStat = await statFn(src); if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts); if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts); if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts); if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`); if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`); throw new Error(`Unknown file: ${src}`); } async function onFile(srcStat, destStat, src, dest, opts) { if (!destStat) return copyFile(srcStat, src, dest, opts); if (opts.overwrite) { await fs.unlink(dest); return copyFile(srcStat, src, dest, opts); } if (opts.errorOnExist) { throw new Error(`'${dest}' already exists`); } } async function copyFile(srcStat, src, dest, opts) { await fs.copyFile(src, dest); if (opts.preserveTimestamps) { if (fileIsNotWritable(srcStat.mode)) { await makeFileWritable(dest, srcStat.mode); } const updatedSrcStat = await fs.stat(src); await utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime); } return fs.chmod(dest, srcStat.mode); } function fileIsNotWritable(srcMode) { return (srcMode & 128) === 0; } function makeFileWritable(dest, srcMode) { return fs.chmod(dest, srcMode | 128); } async function onDir(srcStat, destStat, src, dest, opts) { if (!destStat) { await fs.mkdir(dest); } const promises = []; for await (const item of await fs.opendir(src)) { const srcItem = path2.join(src, item.name); const destItem = path2.join(dest, item.name); promises.push( runFilter(srcItem, destItem, opts).then((include) => { if (include) { return stat.checkPaths(srcItem, destItem, "copy", opts).then(({ destStat: destStat2 }) => { return getStatsAndPerformCopy(destStat2, srcItem, destItem, opts); }); } }) ); } await Promise.all(promises); if (!destStat) { await fs.chmod(dest, srcStat.mode); } } async function onLink(destStat, src, dest, opts) { let resolvedSrc = await fs.readlink(src); if (opts.dereference) { resolvedSrc = path2.resolve(process.cwd(), resolvedSrc); } if (!destStat) { return fs.symlink(resolvedSrc, dest); } let resolvedDest = null; try { resolvedDest = await fs.readlink(dest); } catch (e) { if (e.code === "EINVAL" || e.code === "UNKNOWN") return fs.symlink(resolvedSrc, dest); throw e; } if (opts.dereference) { resolvedDest = path2.resolve(process.cwd(), resolvedDest); } if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`); } if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) { throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`); } await fs.unlink(dest); return fs.symlink(resolvedSrc, dest); } module2.exports = copy; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy-sync.js var require_copy_sync = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy-sync.js"(exports2, module2) { "use strict"; var fs = require_graceful_fs(); var path2 = require("path"); var mkdirsSync = require_mkdirs().mkdirsSync; var utimesMillisSync = require_utimes().utimesMillisSync; var stat = require_stat(); function copySync(src, dest, opts) { if (typeof opts === "function") { opts = { filter: opts }; } opts = opts || {}; opts.clobber = "clobber" in opts ? !!opts.clobber : true; opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; if (opts.preserveTimestamps && process.arch === "ia32") { process.emitWarning( "Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269", "Warning", "fs-extra-WARN0002" ); } const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy", opts); stat.checkParentPathsSync(src, srcStat, dest, "copy"); if (opts.filter && !opts.filter(src, dest)) return; const destParent = path2.dirname(dest); if (!fs.existsSync(destParent)) mkdirsSync(destParent); return getStats(destStat, src, dest, opts); } function getStats(destStat, src, dest, opts) { const statSync = opts.dereference ? fs.statSync : fs.lstatSync; const srcStat = statSync(src); if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts); else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts); else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts); else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`); else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`); throw new Error(`Unknown file: ${src}`); } function onFile(srcStat, destStat, src, dest, opts) { if (!destStat) return copyFile(srcStat, src, dest, opts); return mayCopyFile(srcStat, src, dest, opts); } function mayCopyFile(srcStat, src, dest, opts) { if (opts.overwrite) { fs.unlinkSync(dest); return copyFile(srcStat, src, dest, opts); } else if (opts.errorOnExist) { throw new Error(`'${dest}' already exists`); } } function copyFile(srcStat, src, dest, opts) { fs.copyFileSync(src, dest); if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest); return setDestMode(dest, srcStat.mode); } function handleTimestamps(srcMode, src, dest) { if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode); return setDestTimestamps(src, dest); } function fileIsNotWritable(srcMode) { return (srcMode & 128) === 0; } function makeFileWritable(dest, srcMode) { return setDestMode(dest, srcMode | 128); } function setDestMode(dest, srcMode) { return fs.chmodSync(dest, srcMode); } function setDestTimestamps(src, dest) { const updatedSrcStat = fs.statSync(src); return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime); } function onDir(srcStat, destStat, src, dest, opts) { if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts); return copyDir(src, dest, opts); } function mkDirAndCopy(srcMode, src, dest, opts) { fs.mkdirSync(dest); copyDir(src, dest, opts); return setDestMode(dest, srcMode); } function copyDir(src, dest, opts) { const dir = fs.opendirSync(src); try { let dirent; while ((dirent = dir.readSync()) !== null) { copyDirItem(dirent.name, src, dest, opts); } } finally { dir.closeSync(); } } function copyDirItem(item, src, dest, opts) { const srcItem = path2.join(src, item); const destItem = path2.join(dest, item); if (opts.filter && !opts.filter(srcItem, destItem)) return; const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy", opts); return getStats(destStat, srcItem, destItem, opts); } function onLink(destStat, src, dest, opts) { let resolvedSrc = fs.readlinkSync(src); if (opts.dereference) { resolvedSrc = path2.resolve(process.cwd(), resolvedSrc); } if (!destStat) { return fs.symlinkSync(resolvedSrc, dest); } else { let resolvedDest; try { resolvedDest = fs.readlinkSync(dest); } catch (err) { if (err.code === "EINVAL" || err.code === "UNKNOWN") return fs.symlinkSync(resolvedSrc, dest); throw err; } if (opts.dereference) { resolvedDest = path2.resolve(process.cwd(), resolvedDest); } if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`); } if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) { throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`); } return copyLink(resolvedSrc, dest); } } function copyLink(resolvedSrc, dest) { fs.unlinkSync(dest); return fs.symlinkSync(resolvedSrc, dest); } module2.exports = copySync; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/index.js var require_copy2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; module2.exports = { copy: u(require_copy()), copySync: require_copy_sync() }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/remove/index.js var require_remove = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/remove/index.js"(exports2, module2) { "use strict"; var fs = require_graceful_fs(); var u = require_universalify().fromCallback; function remove(path2, callback) { fs.rm(path2, { recursive: true, force: true }, callback); } function removeSync(path2) { fs.rmSync(path2, { recursive: true, force: true }); } module2.exports = { remove: u(remove), removeSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/empty/index.js var require_empty2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/empty/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var fs = require_fs(); var path2 = require("path"); var mkdir = require_mkdirs(); var remove = require_remove(); var emptyDir = u(async function emptyDir2(dir) { let items; try { items = await fs.readdir(dir); } catch { return mkdir.mkdirs(dir); } return Promise.all(items.map((item) => remove.remove(path2.join(dir, item)))); }); function emptyDirSync(dir) { let items; try { items = fs.readdirSync(dir); } catch { return mkdir.mkdirsSync(dir); } items.forEach((item) => { item = path2.join(dir, item); remove.removeSync(item); }); } module2.exports = { emptyDirSync, emptydirSync: emptyDirSync, emptyDir, emptydir: emptyDir }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/file.js var require_file = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/file.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var path2 = require("path"); var fs = require_fs(); var mkdir = require_mkdirs(); async function createFile(file) { let stats; try { stats = await fs.stat(file); } catch { } if (stats && stats.isFile()) return; const dir = path2.dirname(file); let dirStats = null; try { dirStats = await fs.stat(dir); } catch (err) { if (err.code === "ENOENT") { await mkdir.mkdirs(dir); await fs.writeFile(file, ""); return; } else { throw err; } } if (dirStats.isDirectory()) { await fs.writeFile(file, ""); } else { await fs.readdir(dir); } } function createFileSync(file) { let stats; try { stats = fs.statSync(file); } catch { } if (stats && stats.isFile()) return; const dir = path2.dirname(file); try { if (!fs.statSync(dir).isDirectory()) { fs.readdirSync(dir); } } catch (err) { if (err && err.code === "ENOENT") mkdir.mkdirsSync(dir); else throw err; } fs.writeFileSync(file, ""); } module2.exports = { createFile: u(createFile), createFileSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/link.js var require_link = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/link.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var path2 = require("path"); var fs = require_fs(); var mkdir = require_mkdirs(); var { pathExists } = require_path_exists(); var { areIdentical } = require_stat(); async function createLink(srcpath, dstpath) { let dstStat; try { dstStat = await fs.lstat(dstpath); } catch { } let srcStat; try { srcStat = await fs.lstat(srcpath); } catch (err) { err.message = err.message.replace("lstat", "ensureLink"); throw err; } if (dstStat && areIdentical(srcStat, dstStat)) return; const dir = path2.dirname(dstpath); const dirExists = await pathExists(dir); if (!dirExists) { await mkdir.mkdirs(dir); } await fs.link(srcpath, dstpath); } function createLinkSync(srcpath, dstpath) { let dstStat; try { dstStat = fs.lstatSync(dstpath); } catch { } try { const srcStat = fs.lstatSync(srcpath); if (dstStat && areIdentical(srcStat, dstStat)) return; } catch (err) { err.message = err.message.replace("lstat", "ensureLink"); throw err; } const dir = path2.dirname(dstpath); const dirExists = fs.existsSync(dir); if (dirExists) return fs.linkSync(srcpath, dstpath); mkdir.mkdirsSync(dir); return fs.linkSync(srcpath, dstpath); } module2.exports = { createLink: u(createLink), createLinkSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink-paths.js var require_symlink_paths = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports2, module2) { "use strict"; var path2 = require("path"); var fs = require_fs(); var { pathExists } = require_path_exists(); var u = require_universalify().fromPromise; async function symlinkPaths(srcpath, dstpath) { if (path2.isAbsolute(srcpath)) { try { await fs.lstat(srcpath); } catch (err) { err.message = err.message.replace("lstat", "ensureSymlink"); throw err; } return { toCwd: srcpath, toDst: srcpath }; } const dstdir = path2.dirname(dstpath); const relativeToDst = path2.join(dstdir, srcpath); const exists = await pathExists(relativeToDst); if (exists) { return { toCwd: relativeToDst, toDst: srcpath }; } try { await fs.lstat(srcpath); } catch (err) { err.message = err.message.replace("lstat", "ensureSymlink"); throw err; } return { toCwd: srcpath, toDst: path2.relative(dstdir, srcpath) }; } function symlinkPathsSync(srcpath, dstpath) { if (path2.isAbsolute(srcpath)) { const exists2 = fs.existsSync(srcpath); if (!exists2) throw new Error("absolute srcpath does not exist"); return { toCwd: srcpath, toDst: srcpath }; } const dstdir = path2.dirname(dstpath); const relativeToDst = path2.join(dstdir, srcpath); const exists = fs.existsSync(relativeToDst); if (exists) { return { toCwd: relativeToDst, toDst: srcpath }; } const srcExists = fs.existsSync(srcpath); if (!srcExists) throw new Error("relative srcpath does not exist"); return { toCwd: srcpath, toDst: path2.relative(dstdir, srcpath) }; } module2.exports = { symlinkPaths: u(symlinkPaths), symlinkPathsSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink-type.js var require_symlink_type = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink-type.js"(exports2, module2) { "use strict"; var fs = require_fs(); var u = require_universalify().fromPromise; async function symlinkType(srcpath, type) { if (type) return type; let stats; try { stats = await fs.lstat(srcpath); } catch { return "file"; } return stats && stats.isDirectory() ? "dir" : "file"; } function symlinkTypeSync(srcpath, type) { if (type) return type; let stats; try { stats = fs.lstatSync(srcpath); } catch { return "file"; } return stats && stats.isDirectory() ? "dir" : "file"; } module2.exports = { symlinkType: u(symlinkType), symlinkTypeSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink.js var require_symlink = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var path2 = require("path"); var fs = require_fs(); var { mkdirs, mkdirsSync } = require_mkdirs(); var { symlinkPaths, symlinkPathsSync } = require_symlink_paths(); var { symlinkType, symlinkTypeSync } = require_symlink_type(); var { pathExists } = require_path_exists(); var { areIdentical } = require_stat(); async function createSymlink(srcpath, dstpath, type) { let stats; try { stats = await fs.lstat(dstpath); } catch { } if (stats && stats.isSymbolicLink()) { const [srcStat, dstStat] = await Promise.all([ fs.stat(srcpath), fs.stat(dstpath) ]); if (areIdentical(srcStat, dstStat)) return; } const relative = await symlinkPaths(srcpath, dstpath); srcpath = relative.toDst; const toType = await symlinkType(relative.toCwd, type); const dir = path2.dirname(dstpath); if (!await pathExists(dir)) { await mkdirs(dir); } return fs.symlink(srcpath, dstpath, toType); } function createSymlinkSync(srcpath, dstpath, type) { let stats; try { stats = fs.lstatSync(dstpath); } catch { } if (stats && stats.isSymbolicLink()) { const srcStat = fs.statSync(srcpath); const dstStat = fs.statSync(dstpath); if (areIdentical(srcStat, dstStat)) return; } const relative = symlinkPathsSync(srcpath, dstpath); srcpath = relative.toDst; type = symlinkTypeSync(relative.toCwd, type); const dir = path2.dirname(dstpath); const exists = fs.existsSync(dir); if (exists) return fs.symlinkSync(srcpath, dstpath, type); mkdirsSync(dir); return fs.symlinkSync(srcpath, dstpath, type); } module2.exports = { createSymlink: u(createSymlink), createSymlinkSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/index.js var require_ensure = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/index.js"(exports2, module2) { "use strict"; var { createFile, createFileSync } = require_file(); var { createLink, createLinkSync } = require_link(); var { createSymlink, createSymlinkSync } = require_symlink(); module2.exports = { // file createFile, createFileSync, ensureFile: createFile, ensureFileSync: createFileSync, // link createLink, createLinkSync, ensureLink: createLink, ensureLinkSync: createLinkSync, // symlink createSymlink, createSymlinkSync, ensureSymlink: createSymlink, ensureSymlinkSync: createSymlinkSync }; } }); // ../node_modules/.pnpm/jsonfile@6.2.0/node_modules/jsonfile/utils.js var require_utils3 = __commonJS({ "../node_modules/.pnpm/jsonfile@6.2.0/node_modules/jsonfile/utils.js"(exports2, module2) { function stringify2(obj, { EOL = "\n", finalEOL = true, replacer = null, spaces } = {}) { const EOF = finalEOL ? EOL : ""; const str = JSON.stringify(obj, replacer, spaces); return str.replace(/\n/g, EOL) + EOF; } function stripBom(content) { if (Buffer.isBuffer(content)) content = content.toString("utf8"); return content.replace(/^\uFEFF/, ""); } module2.exports = { stringify: stringify2, stripBom }; } }); // ../node_modules/.pnpm/jsonfile@6.2.0/node_modules/jsonfile/index.js var require_jsonfile = __commonJS({ "../node_modules/.pnpm/jsonfile@6.2.0/node_modules/jsonfile/index.js"(exports2, module2) { var _fs; try { _fs = require_graceful_fs(); } catch (_) { _fs = require("fs"); } var universalify = require_universalify(); var { stringify: stringify2, stripBom } = require_utils3(); async function _readFile(file, options = {}) { if (typeof options === "string") { options = { encoding: options }; } const fs = options.fs || _fs; const shouldThrow = "throws" in options ? options.throws : true; let data = await universalify.fromCallback(fs.readFile)(file, options); data = stripBom(data); let obj; try { obj = JSON.parse(data, options ? options.reviver : null); } catch (err) { if (shouldThrow) { err.message = `${file}: ${err.message}`; throw err; } else { return null; } } return obj; } var readFile = universalify.fromPromise(_readFile); function readFileSync(file, options = {}) { if (typeof options === "string") { options = { encoding: options }; } const fs = options.fs || _fs; const shouldThrow = "throws" in options ? options.throws : true; try { let content = fs.readFileSync(file, options); content = stripBom(content); return JSON.parse(content, options.reviver); } catch (err) { if (shouldThrow) { err.message = `${file}: ${err.message}`; throw err; } else { return null; } } } async function _writeFile(file, obj, options = {}) { const fs = options.fs || _fs; const str = stringify2(obj, options); await universalify.fromCallback(fs.writeFile)(file, str, options); } var writeFile = universalify.fromPromise(_writeFile); function writeFileSync(file, obj, options = {}) { const fs = options.fs || _fs; const str = stringify2(obj, options); return fs.writeFileSync(file, str, options); } module2.exports = { readFile, readFileSync, writeFile, writeFileSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/jsonfile.js var require_jsonfile2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/jsonfile.js"(exports2, module2) { "use strict"; var jsonFile = require_jsonfile(); module2.exports = { // jsonfile exports readJson: jsonFile.readFile, readJsonSync: jsonFile.readFileSync, writeJson: jsonFile.writeFile, writeJsonSync: jsonFile.writeFileSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/output-file/index.js var require_output_file = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/output-file/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var fs = require_fs(); var path2 = require("path"); var mkdir = require_mkdirs(); var pathExists = require_path_exists().pathExists; async function outputFile(file, data, encoding = "utf-8") { const dir = path2.dirname(file); if (!await pathExists(dir)) { await mkdir.mkdirs(dir); } return fs.writeFile(file, data, encoding); } function outputFileSync(file, ...args) { const dir = path2.dirname(file); if (!fs.existsSync(dir)) { mkdir.mkdirsSync(dir); } fs.writeFileSync(file, ...args); } module2.exports = { outputFile: u(outputFile), outputFileSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/output-json.js var require_output_json = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/output-json.js"(exports2, module2) { "use strict"; var { stringify: stringify2 } = require_utils3(); var { outputFile } = require_output_file(); async function outputJson(file, data, options = {}) { const str = stringify2(data, options); await outputFile(file, str, options); } module2.exports = outputJson; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/output-json-sync.js var require_output_json_sync = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/output-json-sync.js"(exports2, module2) { "use strict"; var { stringify: stringify2 } = require_utils3(); var { outputFileSync } = require_output_file(); function outputJsonSync(file, data, options) { const str = stringify2(data, options); outputFileSync(file, str, options); } module2.exports = outputJsonSync; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/index.js var require_json2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var jsonFile = require_jsonfile2(); jsonFile.outputJson = u(require_output_json()); jsonFile.outputJsonSync = require_output_json_sync(); jsonFile.outputJSON = jsonFile.outputJson; jsonFile.outputJSONSync = jsonFile.outputJsonSync; jsonFile.writeJSON = jsonFile.writeJson; jsonFile.writeJSONSync = jsonFile.writeJsonSync; jsonFile.readJSON = jsonFile.readJson; jsonFile.readJSONSync = jsonFile.readJsonSync; module2.exports = jsonFile; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move.js var require_move = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move.js"(exports2, module2) { "use strict"; var fs = require_fs(); var path2 = require("path"); var { copy } = require_copy2(); var { remove } = require_remove(); var { mkdirp } = require_mkdirs(); var { pathExists } = require_path_exists(); var stat = require_stat(); async function move(src, dest, opts = {}) { const overwrite = opts.overwrite || opts.clobber || false; const { srcStat, isChangingCase = false } = await stat.checkPaths(src, dest, "move", opts); await stat.checkParentPaths(src, srcStat, dest, "move"); const destParent = path2.dirname(dest); const parsedParentPath = path2.parse(destParent); if (parsedParentPath.root !== destParent) { await mkdirp(destParent); } return doRename(src, dest, overwrite, isChangingCase); } async function doRename(src, dest, overwrite, isChangingCase) { if (!isChangingCase) { if (overwrite) { await remove(dest); } else if (await pathExists(dest)) { throw new Error("dest already exists."); } } try { await fs.rename(src, dest); } catch (err) { if (err.code !== "EXDEV") { throw err; } await moveAcrossDevice(src, dest, overwrite); } } async function moveAcrossDevice(src, dest, overwrite) { const opts = { overwrite, errorOnExist: true, preserveTimestamps: true }; await copy(src, dest, opts); return remove(src); } module2.exports = move; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move-sync.js var require_move_sync = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move-sync.js"(exports2, module2) { "use strict"; var fs = require_graceful_fs(); var path2 = require("path"); var copySync = require_copy2().copySync; var removeSync = require_remove().removeSync; var mkdirpSync = require_mkdirs().mkdirpSync; var stat = require_stat(); function moveSync(src, dest, opts) { opts = opts || {}; const overwrite = opts.overwrite || opts.clobber || false; const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, "move", opts); stat.checkParentPathsSync(src, srcStat, dest, "move"); if (!isParentRoot(dest)) mkdirpSync(path2.dirname(dest)); return doRename(src, dest, overwrite, isChangingCase); } function isParentRoot(dest) { const parent = path2.dirname(dest); const parsedPath = path2.parse(parent); return parsedPath.root === parent; } function doRename(src, dest, overwrite, isChangingCase) { if (isChangingCase) return rename(src, dest, overwrite); if (overwrite) { removeSync(dest); return rename(src, dest, overwrite); } if (fs.existsSync(dest)) throw new Error("dest already exists."); return rename(src, dest, overwrite); } function rename(src, dest, overwrite) { try { fs.renameSync(src, dest); } catch (err) { if (err.code !== "EXDEV") throw err; return moveAcrossDevice(src, dest, overwrite); } } function moveAcrossDevice(src, dest, overwrite) { const opts = { overwrite, errorOnExist: true, preserveTimestamps: true }; copySync(src, dest, opts); return removeSync(src); } module2.exports = moveSync; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/index.js var require_move2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; module2.exports = { move: u(require_move()), moveSync: require_move_sync() }; } }); // ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/index.js var require_lib44 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/index.js"(exports2, module2) { "use strict"; module2.exports = { // Export promiseified graceful-fs: ...require_fs(), // Export extra methods: ...require_copy2(), ...require_empty2(), ...require_ensure(), ...require_json2(), ...require_mkdirs(), ...require_move2(), ...require_output_file(), ...require_path_exists(), ...require_remove() }; } }); // ../node_modules/.pnpm/rename-overwrite@6.0.3/node_modules/rename-overwrite/index.js var require_rename_overwrite = __commonJS({ "../node_modules/.pnpm/rename-overwrite@6.0.3/node_modules/rename-overwrite/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var { copySync, copy } = require_lib44(); var path2 = require("path"); var rimraf = require_rimraf(); module2.exports = async function renameOverwrite(oldPath, newPath, retry = 0) { try { await fs.promises.rename(oldPath, newPath); } catch (err) { retry++; if (retry > 3) throw err; switch (err.code) { case "ENOTEMPTY": case "EEXIST": case "ENOTDIR": await rimraf(newPath); await renameOverwrite(oldPath, newPath, retry); break; // Windows Antivirus issues case "EPERM": case "EACCESS": case "EBUSY": { await rimraf(newPath); const start = Date.now(); let backoff = 0; let lastError = err; while (Date.now() - start < 6e4 && (lastError.code === "EPERM" || lastError.code === "EACCESS" || lastError.code === "EBUSY")) { await new Promise((resolve) => setTimeout(resolve, backoff)); try { await fs.promises.rename(oldPath, newPath); return; } catch (err2) { lastError = err2; } if (backoff < 100) { backoff += 10; } } throw lastError; } case "ENOENT": try { await fs.promises.stat(oldPath); } catch (statErr) { if (statErr.code === "ENOENT") { throw statErr; } } await fs.promises.mkdir(path2.dirname(newPath), { recursive: true }); await renameOverwrite(oldPath, newPath, retry); break; // Crossing filesystem boundaries so rename is not available case "EXDEV": try { await rimraf(newPath); } catch (rimrafErr) { if (rimrafErr.code !== "ENOENT") { throw rimrafErr; } } await copy(oldPath, newPath); await rimraf(oldPath); break; default: throw err; } } }; module2.exports.sync = function renameOverwriteSync(oldPath, newPath, retry = 0) { try { fs.renameSync(oldPath, newPath); } catch (err) { retry++; if (retry > 3) throw err; switch (err.code) { // Windows Antivirus issues case "EPERM": case "EACCESS": case "EBUSY": { rimraf.sync(newPath); const start = Date.now(); let backoff = 0; let lastError = err; while (Date.now() - start < 6e4 && (lastError.code === "EPERM" || lastError.code === "EACCESS" || lastError.code === "EBUSY")) { const waitUntil = Date.now() + backoff; while (waitUntil > Date.now()) { } try { fs.renameSync(oldPath, newPath); return; } catch (err2) { lastError = err2; } if (backoff < 100) { backoff += 10; } } throw lastError; } case "ENOTEMPTY": case "EEXIST": case "ENOTDIR": rimraf.sync(newPath); fs.renameSync(oldPath, newPath); return; case "ENOENT": fs.mkdirSync(path2.dirname(newPath), { recursive: true }); renameOverwriteSync(oldPath, newPath, retry); return; // Crossing filesystem boundaries so rename is not available case "EXDEV": try { rimraf.sync(newPath); } catch (rimrafErr) { if (rimrafErr.code !== "ENOENT") { throw rimrafErr; } } copySync(oldPath, newPath); rimraf.sync(oldPath); break; default: throw err; } } }; } }); // ../resolving/npm-resolver/lib/toRaw.js var require_toRaw = __commonJS({ "../resolving/npm-resolver/lib/toRaw.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.toRaw = toRaw; function toRaw(spec) { return `${spec.name}@${spec.fetchSpec}`; } } }); // ../registry/pkg-metadata-filter/lib/index.js var require_lib45 = __commonJS({ "../registry/pkg-metadata-filter/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.filterPkgMetadataByPublishDate = filterPkgMetadataByPublishDate; var logger_1 = require_lib(); var semver_12 = __importDefault2(require_semver2()); function filterPkgMetadataByPublishDate(pkgDoc, publishedBy, trustedVersions) { const versionsWithinDate = {}; for (const version2 in pkgDoc.versions) { if (!Object.hasOwn(pkgDoc.versions, version2)) continue; const timeStr = pkgDoc.time[version2]; if (timeStr && new Date(timeStr) <= publishedBy || trustedVersions?.includes(version2)) { versionsWithinDate[version2] = pkgDoc.versions[version2]; } } const distTagsWithinDate = {}; const allDistTags = pkgDoc["dist-tags"] ?? {}; const parsedSemverCache = /* @__PURE__ */ new Map(); function tryParseSemver(semverStr) { let parsedSemver = parsedSemverCache.get(semverStr); if (!parsedSemver) { try { parsedSemver = new semver_12.default.SemVer(semverStr, true); } catch { return null; } parsedSemverCache.set(semverStr, parsedSemver); } return parsedSemver; } for (const tag in allDistTags) { if (!Object.hasOwn(allDistTags, tag)) continue; const distTagVersion = allDistTags[tag]; if (versionsWithinDate[distTagVersion]) { distTagsWithinDate[tag] = distTagVersion; continue; } const originalSemVer = tryParseSemver(distTagVersion); if (!originalSemVer) continue; const originalIsPrerelease = originalSemVer.prerelease.length > 0; let bestVersion; for (const candidate in versionsWithinDate) { if (!Object.hasOwn(versionsWithinDate, candidate)) continue; const candidateParsed = tryParseSemver(candidate); if (!candidateParsed || tag !== "latest" && candidateParsed.major !== originalSemVer.major || candidateParsed.prerelease.length > 0 !== originalIsPrerelease) continue; if (!bestVersion) { bestVersion = candidate; } else { try { const candidateIsDeprecated = pkgDoc.versions[candidate].deprecated != null; const bestVersionIsDeprecated = pkgDoc.versions[bestVersion].deprecated != null; if (semver_12.default.gt(candidate, bestVersion, true) && bestVersionIsDeprecated === candidateIsDeprecated || bestVersionIsDeprecated && !candidateIsDeprecated) { bestVersion = candidate; } } catch (err) { (0, logger_1.globalWarn)(`Failed to compare semver versions ${candidate} and ${bestVersion} from packument of ${pkgDoc.name}, skipping candidate version.`); } } } if (bestVersion) { distTagsWithinDate[tag] = bestVersion; } } return { ...pkgDoc, versions: versionsWithinDate, "dist-tags": distTagsWithinDate }; } } }); // ../resolving/npm-resolver/lib/pickPackageFromMeta.js var require_pickPackageFromMeta = __commonJS({ "../resolving/npm-resolver/lib/pickPackageFromMeta.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pickPackageFromMeta = pickPackageFromMeta; exports2.assertMetaHasTime = assertMetaHasTime; exports2.pickLowestVersionByVersionRange = pickLowestVersionByVersionRange; exports2.pickVersionByVersionRange = pickVersionByVersionRange; var error_1 = require_lib6(); var registry_pkg_metadata_filter_1 = require_lib45(); var semver_12 = __importDefault2(require_semver2()); var util_1 = __importDefault2(require("util")); function pickPackageFromMeta(pickVersionByVersionRangeFn, { preferredVersionSelectors, publishedBy, publishedByExclude }, spec, meta) { if (publishedBy) { const excludeResult = publishedByExclude?.(meta.name) ?? false; if (excludeResult !== true) { assertMetaHasTime(meta); const trustedVersions = Array.isArray(excludeResult) ? excludeResult : void 0; meta = (0, registry_pkg_metadata_filter_1.filterPkgMetadataByPublishDate)(meta, publishedBy, trustedVersions); } } if ((!meta.versions || Object.keys(meta.versions).length === 0) && !publishedBy) { if (meta.time?.unpublished?.versions?.length) { throw new error_1.PnpmError("UNPUBLISHED_PKG", `No versions available for ${spec.name} because it was unpublished`); } throw new error_1.PnpmError("NO_VERSIONS", `No versions available for ${spec.name}. The package may be unpublished.`); } try { let version2; switch (spec.type) { case "version": version2 = spec.fetchSpec; break; case "tag": version2 = meta["dist-tags"][spec.fetchSpec]; break; case "range": version2 = pickVersionByVersionRangeFn({ meta, versionRange: spec.fetchSpec, preferredVersionSelectors, publishedBy }); break; } if (!version2) return null; const manifest = meta.versions[version2]; if (manifest && meta["name"]) { manifest.name = meta["name"]; } return manifest; } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && typeof err.code === "string" && err.code.startsWith("ERR_PNPM_")) { throw err; } throw new error_1.PnpmError("MALFORMED_METADATA", `Received malformed metadata for "${spec.name}"`, { hint: "This might mean that the package was unpublished from the registry" }); } } function assertMetaHasTime(meta) { if (meta.time == null) { throw new error_1.PnpmError("MISSING_TIME", `The metadata of ${meta.name} is missing the "time" field`); } } var semverRangeCache = /* @__PURE__ */ new Map(); function semverSatisfiesLoose(version2, range) { let semverRange = semverRangeCache.get(range); if (semverRange === void 0) { try { semverRange = new semver_12.default.Range(range, true); } catch { semverRange = null; } semverRangeCache.set(range, semverRange); } if (semverRange) { try { return semverRange.test(new semver_12.default.SemVer(version2, true)); } catch { return false; } } return false; } function pickLowestVersionByVersionRange({ meta, versionRange, preferredVersionSelectors }) { if (preferredVersionSelectors != null && Object.keys(preferredVersionSelectors).length > 0) { const prioritizedPreferredVersions = prioritizePreferredVersions(meta, versionRange, preferredVersionSelectors); for (const preferredVersions of prioritizedPreferredVersions) { const preferredVersion = semver_12.default.minSatisfying(preferredVersions, versionRange, true); if (preferredVersion) { return preferredVersion; } } } if (versionRange === "*") { return Object.keys(meta.versions).sort(semver_12.default.compare)[0]; } return semver_12.default.minSatisfying(Object.keys(meta.versions), versionRange, true); } function pickVersionByVersionRange({ meta, versionRange, preferredVersionSelectors }) { const latest = meta["dist-tags"].latest; if (preferredVersionSelectors != null && Object.keys(preferredVersionSelectors).length > 0) { const prioritizedPreferredVersions = prioritizePreferredVersions(meta, versionRange, preferredVersionSelectors); for (const preferredVersions of prioritizedPreferredVersions) { if (preferredVersions.includes(latest) && semverSatisfiesLoose(latest, versionRange)) { return latest; } const preferredVersion = semver_12.default.maxSatisfying(preferredVersions, versionRange, true); if (preferredVersion) { return preferredVersion; } } } const versions = Object.keys(meta.versions); if (latest && (versionRange === "*" || semverSatisfiesLoose(latest, versionRange))) { return latest; } const maxVersion = semver_12.default.maxSatisfying(versions, versionRange, true); if (maxVersion && meta.versions[maxVersion].deprecated && versions.length > 1) { const nonDeprecatedVersions = versions.map((version2) => meta.versions[version2]).filter((versionMeta) => !versionMeta.deprecated).map((versionMeta) => versionMeta.version); const maxNonDeprecatedVersion = semver_12.default.maxSatisfying(nonDeprecatedVersions, versionRange, true); if (maxNonDeprecatedVersion) return maxNonDeprecatedVersion; } return maxVersion; } function prioritizePreferredVersions(meta, versionRange, preferredVerSelectors) { const preferredVerSelectorsArr = Object.entries(preferredVerSelectors ?? {}); const versionsPrioritizer = new PreferredVersionsPrioritizer(); for (const [preferredSelector, preferredSelectorType] of preferredVerSelectorsArr) { const { selectorType, weight } = typeof preferredSelectorType === "string" ? { selectorType: preferredSelectorType, weight: 1 } : preferredSelectorType; if (preferredSelector === versionRange) continue; switch (selectorType) { case "tag": { versionsPrioritizer.add(meta["dist-tags"][preferredSelector], weight); break; } case "range": { const versions = Object.keys(meta.versions); for (const version2 of versions) { if (semverSatisfiesLoose(version2, preferredSelector)) { versionsPrioritizer.add(version2, weight); } } break; } case "version": { if (meta.versions[preferredSelector]) { versionsPrioritizer.add(preferredSelector, weight); } break; } } } return versionsPrioritizer.versionsByPriority(); } var PreferredVersionsPrioritizer = class { preferredVersions = {}; add(version2, weight) { if (!this.preferredVersions[version2]) { this.preferredVersions[version2] = weight; } else { this.preferredVersions[version2] += weight; } } versionsByPriority() { const versionsByWeight = Object.entries(this.preferredVersions).reduce((acc, [version2, weight]) => { acc[weight] = acc[weight] ?? []; acc[weight].push(version2); return acc; }, {}); return Object.keys(versionsByWeight).sort((a, b) => parseInt(b, 10) - parseInt(a, 10)).map((weight) => versionsByWeight[parseInt(weight, 10)]); } }; } }); // ../resolving/npm-resolver/lib/pickPackage.js var require_pickPackage = __commonJS({ "../resolving/npm-resolver/lib/pickPackage.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pickPackage = pickPackage; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var crypto_hash_1 = require_lib36(); var error_1 = require_lib6(); var logger_1 = require_lib(); var graceful_fs_1 = __importDefault2(require_lib15()); var encode_registry_1 = __importDefault2(require_encode_registry()); var load_json_file_1 = __importDefault2(require_load_json_file()); var p_limit_12 = __importDefault2(require_p_limit()); var path_temp_1 = require_path_temp(); var pick_1 = __importDefault2(require_pick()); var semver_12 = __importDefault2(require_semver2()); var rename_overwrite_1 = __importDefault2(require_rename_overwrite()); var toRaw_js_1 = require_toRaw(); var pickPackageFromMeta_js_1 = require_pickPackageFromMeta(); var metafileOperationLimits = {}; async function runLimited(pkgMirror, fn) { let entry; try { entry = metafileOperationLimits[pkgMirror] ??= { count: 0, limit: (0, p_limit_12.default)(1) }; entry.count++; return await fn(entry.limit); } finally { entry.count--; if (entry.count === 0) { metafileOperationLimits[pkgMirror] = void 0; } } } var pickPackageFromMetaUsingTimeStrict = pickPackageFromMeta_js_1.pickPackageFromMeta.bind(null, pickPackageFromMeta_js_1.pickVersionByVersionRange); function pickPackageFromMetaUsingTime(opts, spec, meta) { const pickedPackage = (0, pickPackageFromMeta_js_1.pickPackageFromMeta)(pickPackageFromMeta_js_1.pickVersionByVersionRange, opts, spec, meta); if (pickedPackage) return pickedPackage; return (0, pickPackageFromMeta_js_1.pickPackageFromMeta)(pickPackageFromMeta_js_1.pickLowestVersionByVersionRange, { preferredVersionSelectors: opts.preferredVersionSelectors }, spec, meta); } async function pickPackage(ctx, spec, opts) { opts = opts || {}; const pickPackageFromMetaBySpec = (opts.publishedBy ? ctx.strictPublishedByCheck ? pickPackageFromMetaUsingTimeStrict : pickPackageFromMetaUsingTime : pickPackageFromMeta_js_1.pickPackageFromMeta.bind(null, opts.pickLowestVersion ? pickPackageFromMeta_js_1.pickLowestVersionByVersionRange : pickPackageFromMeta_js_1.pickVersionByVersionRange)).bind(null, { preferredVersionSelectors: opts.preferredVersionSelectors, publishedBy: opts.publishedBy, publishedByExclude: opts.publishedByExclude }); let _pickPackageFromMeta; if (opts.updateToLatest) { _pickPackageFromMeta = (meta) => { const latestStableSpec = { ...spec, type: "tag", fetchSpec: "latest" }; const latestStable = pickPackageFromMetaBySpec(latestStableSpec, meta); const current = pickPackageFromMetaBySpec(spec, meta); if (!latestStable) return current; if (!current) return latestStable; if (semver_12.default.lt(latestStable.version, current.version)) return current; return latestStable; }; } else { _pickPackageFromMeta = pickPackageFromMetaBySpec.bind(null, spec); } validatePackageName(spec.name); const cachedMeta = ctx.metaCache.get(spec.name); if (cachedMeta != null) { return { meta: cachedMeta, pickedPackage: _pickPackageFromMeta(cachedMeta) }; } const registryName = (0, encode_registry_1.default)(opts.registry); const pkgMirror = path_1.default.join(ctx.cacheDir, ctx.metaDir, registryName, `${encodePkgName(spec.name)}.json`); return runLimited(pkgMirror, async (limit) => { let metaCachedInStore; if (ctx.offline === true || ctx.preferOffline === true || opts.pickLowestVersion) { metaCachedInStore = await limit(async () => loadMeta(pkgMirror)); if (ctx.offline) { if (metaCachedInStore != null) return { meta: metaCachedInStore, pickedPackage: _pickPackageFromMeta(metaCachedInStore) }; throw new error_1.PnpmError("NO_OFFLINE_META", `Failed to resolve ${(0, toRaw_js_1.toRaw)(spec)} in package mirror ${pkgMirror}`); } if (metaCachedInStore != null) { const pickedPackage = _pickPackageFromMeta(metaCachedInStore); if (pickedPackage) { return { meta: metaCachedInStore, pickedPackage }; } } } if (!opts.updateToLatest && spec.type === "version") { metaCachedInStore = metaCachedInStore ?? await limit(async () => loadMeta(pkgMirror)); if (metaCachedInStore?.versions?.[spec.fetchSpec] != null) { try { const pickedPackage = _pickPackageFromMeta(metaCachedInStore); if (pickedPackage) { return { meta: metaCachedInStore, pickedPackage }; } } catch (err) { if (ctx.strictPublishedByCheck) { throw err; } } } } if (opts.publishedBy) { metaCachedInStore = metaCachedInStore ?? await limit(async () => loadMeta(pkgMirror)); if (metaCachedInStore?.cachedAt && new Date(metaCachedInStore.cachedAt) >= opts.publishedBy) { try { const pickedPackage = _pickPackageFromMeta(metaCachedInStore); if (pickedPackage) { return { meta: metaCachedInStore, pickedPackage }; } } catch (err) { if (ctx.strictPublishedByCheck) { throw err; } } } } try { let meta = await ctx.fetch(spec.name, opts.registry, opts.authHeaderValue); if (ctx.filterMetadata) { meta = clearMeta(meta); } meta.cachedAt = Date.now(); ctx.metaCache.set(spec.name, meta); if (!opts.dryRun) { const stringifiedMeta = JSON.stringify(meta); runLimited(pkgMirror, (limit2) => limit2(async () => { try { await saveMeta(pkgMirror, stringifiedMeta); } catch (err) { } })); } return { meta, pickedPackage: _pickPackageFromMeta(meta) }; } catch (err) { err.spec = spec; const meta = await loadMeta(pkgMirror); if (meta == null) throw err; logger_1.logger.error(err, err); logger_1.logger.debug({ message: `Using cached meta from ${pkgMirror}` }); return { meta, pickedPackage: _pickPackageFromMeta(meta) }; } }); } function clearMeta(pkg) { const versions = {}; for (const [version2, info] of Object.entries(pkg.versions)) { versions[version2] = (0, pick_1.default)([ "name", "version", "bin", "directories", "devDependencies", "optionalDependencies", "dependencies", "peerDependencies", "dist", "engines", "peerDependenciesMeta", "cpu", "os", "libc", "deprecated", "bundleDependencies", "bundledDependencies", "hasInstallScript", "_npmUser" ], info); } return { name: pkg.name, "dist-tags": pkg["dist-tags"], versions, time: pkg.time, cachedAt: pkg.cachedAt }; } function encodePkgName(pkgName) { if (pkgName !== pkgName.toLowerCase()) { return `${pkgName}_${(0, crypto_hash_1.createHexHash)(pkgName)}`; } return pkgName; } async function loadMeta(pkgMirror) { try { return await (0, load_json_file_1.default)(pkgMirror); } catch (err) { return null; } } var createdDirs = /* @__PURE__ */ new Set(); async function saveMeta(pkgMirror, meta) { const dir = path_1.default.dirname(pkgMirror); if (!createdDirs.has(dir)) { await fs_1.promises.mkdir(dir, { recursive: true }); createdDirs.add(dir); } const temp = (0, path_temp_1.fastPathTemp)(pkgMirror); await graceful_fs_1.default.writeFile(temp, meta); await (0, rename_overwrite_1.default)(temp, pkgMirror); } function validatePackageName(pkgName) { if (pkgName.includes("/") && pkgName[0] !== "@") { throw new error_1.PnpmError("INVALID_PACKAGE_NAME", `Package name ${pkgName} is invalid, it should have a @scope`); } } } }); // ../resolving/jsr-specifier-parser/lib/index.js var require_lib46 = __commonJS({ "../resolving/jsr-specifier-parser/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseJsrSpecifier = parseJsrSpecifier; var error_1 = require_lib6(); function parseJsrSpecifier(rawSpecifier, alias) { if (!rawSpecifier.startsWith("jsr:")) return null; rawSpecifier = rawSpecifier.substring("jsr:".length); if (rawSpecifier[0] === "@") { const index = rawSpecifier.lastIndexOf("@"); if (index === 0) { return { jsrPkgName: rawSpecifier, npmPkgName: jsrToNpmPackageName(rawSpecifier) }; } const jsrPkgName = rawSpecifier.substring(0, index); return { jsrPkgName, npmPkgName: jsrToNpmPackageName(jsrPkgName), versionSelector: rawSpecifier.substring(index + "@".length) }; } if (rawSpecifier.includes("@")) { throw new error_1.PnpmError("MISSING_JSR_PACKAGE_SCOPE", "Package names from JSR must have a scope"); } if (!alias) { throw new error_1.PnpmError("INVALID_JSR_SPECIFIER", `JSR specifier '${rawSpecifier}' is missing a package name`); } return { versionSelector: rawSpecifier, jsrPkgName: alias, npmPkgName: jsrToNpmPackageName(alias) }; } function jsrToNpmPackageName(jsrPkgName) { if (jsrPkgName[0] !== "@") { throw new error_1.PnpmError("MISSING_JSR_PACKAGE_SCOPE", "Package names from JSR must have a scope"); } const sepIndex = jsrPkgName.indexOf("/"); if (sepIndex === -1) { throw new error_1.PnpmError("INVALID_JSR_PACKAGE_NAME", `The package name '${jsrPkgName}' is invalid`); } const scope = jsrPkgName.substring(0, sepIndex); const name = jsrPkgName.substring(sepIndex + "/".length); return `@jsr/${scope.substring(1)}__${name}`; } } }); // ../node_modules/.pnpm/parse-npm-tarball-url@4.0.0/node_modules/parse-npm-tarball-url/lib/index.js var require_lib47 = __commonJS({ "../node_modules/.pnpm/parse-npm-tarball-url@4.0.0/node_modules/parse-npm-tarball-url/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var url_1 = require("url"); var assert = require("assert"); var semver_12 = require_semver2(); function parseNpmTarballUrl(url) { assert(url, "url is required"); assert(typeof url === "string", "url should be a string"); const { pathname: path2, host } = new url_1.URL(url); if (!path2 || !host) return null; const pkg = parsePath(path2); if (!pkg) return null; return { host, name: pkg.name, version: pkg.version }; } exports2.default = parseNpmTarballUrl; function parsePath(path2) { const parts = path2.split("/-/"); if (parts.length !== 2) return null; const name = parts[0] && decodeURIComponent(parts[0].substr(1)); if (!name) return null; const pathWithNoExtension = parts[1].replace(/\.tgz$/, ""); const scopelessNameLength = name.length - (name.indexOf("/") + 1); const version2 = pathWithNoExtension.slice(scopelessNameLength + 1); if (!(0, semver_12.valid)(version2, true)) return null; return { name, version: version2 }; } } }); // ../resolving/npm-resolver/lib/parseBareSpecifier.js var require_parseBareSpecifier3 = __commonJS({ "../resolving/npm-resolver/lib/parseBareSpecifier.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseBareSpecifier = parseBareSpecifier; exports2.parseJsrSpecifierToRegistryPackageSpec = parseJsrSpecifierToRegistryPackageSpec; var resolving_jsr_specifier_parser_1 = require_lib46(); var parse_npm_tarball_url_1 = __importDefault2(require_lib47()); var version_selector_type_1 = __importDefault2(require_version_selector_type()); function parseBareSpecifier(bareSpecifier, alias, defaultTag, registry) { let name = alias; if (bareSpecifier.startsWith("npm:")) { bareSpecifier = bareSpecifier.slice(4); const index = bareSpecifier.lastIndexOf("@"); if (index < 1) { name = bareSpecifier; bareSpecifier = defaultTag; } else { name = bareSpecifier.slice(0, index); bareSpecifier = bareSpecifier.slice(index + 1); } } if (name) { const selector = (0, version_selector_type_1.default)(bareSpecifier); if (selector != null) { return { fetchSpec: selector.normalized, name, type: selector.type }; } } if (bareSpecifier.startsWith(registry)) { const pkg = (0, parse_npm_tarball_url_1.default)(bareSpecifier); if (pkg != null) { return { fetchSpec: pkg.version, name: pkg.name, normalizedBareSpecifier: bareSpecifier, type: "version" }; } } return null; } function parseJsrSpecifierToRegistryPackageSpec(rawSpecifier, alias, defaultTag) { const spec = (0, resolving_jsr_specifier_parser_1.parseJsrSpecifier)(rawSpecifier, alias); if (!spec?.npmPkgName) return null; const selector = (0, version_selector_type_1.default)(spec.versionSelector ?? defaultTag); if (selector == null) return null; return { fetchSpec: selector.normalized, name: spec.npmPkgName, type: selector.type, jsrPkgName: spec.jsrPkgName }; } } }); // ../resolving/npm-resolver/lib/fetch.js var require_fetch2 = __commonJS({ "../resolving/npm-resolver/lib/fetch.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.RegistryResponseError = void 0; exports2.fetchMetadataFromFromRegistry = fetchMetadataFromFromRegistry; var url_1 = __importDefault2(require("url")); var core_loggers_1 = require_lib8(); var logger_1 = require_lib(); var error_1 = require_lib6(); var retry = __importStar3(require_retry2()); var semverRegex = /(.*)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/; var RegistryResponseError = class extends error_1.FetchError { pkgName; constructor(request, response, pkgName) { let hint; if (response.status === 404) { hint = `${pkgName} is not in the npm registry, or you have no permission to fetch it.`; const matched = pkgName.match(semverRegex); if (matched != null) { hint += ` Did you mean ${matched[1]}?`; } } super(request, response, hint); this.pkgName = pkgName; } }; exports2.RegistryResponseError = RegistryResponseError; async function fetchMetadataFromFromRegistry(fetchOpts, pkgName, registry, authHeaderValue) { const uri = toUri(pkgName, registry); const op = retry.operation(fetchOpts.retry); return new Promise((resolve, reject) => { op.attempt(async (attempt) => { let response; const startTime = Date.now(); try { response = await fetchOpts.fetch(uri, { authHeaderValue, compress: true, retry: fetchOpts.retry, timeout: fetchOpts.timeout }); } catch (error) { reject(new error_1.PnpmError("META_FETCH_FAIL", `GET ${uri}: ${error.message}`, { attempts: attempt })); return; } if (response.status > 400) { const request = { authHeaderValue, url: uri }; reject(new RegistryResponseError(request, response, pkgName)); return; } try { const json = await response.json(); const elapsedMs = Date.now() - startTime; if (elapsedMs > fetchOpts.fetchWarnTimeoutMs) { (0, logger_1.globalWarn)(`Request took ${elapsedMs}ms: ${uri}`); } resolve(json); } catch (error) { const timeout = op.retry(new error_1.PnpmError("BROKEN_METADATA_JSON", error.message)); if (timeout === false) { reject(op.mainError()); return; } core_loggers_1.requestRetryLogger.debug({ attempt, error, maxRetries: fetchOpts.retry.retries, method: "GET", timeout, url: uri }); } }); }); } function toUri(pkgName, registry) { let encodedName; if (pkgName[0] === "@") { encodedName = `@${encodeURIComponent(pkgName.slice(1))}`; } else { encodedName = encodeURIComponent(pkgName); } return new url_1.default.URL(encodedName, registry.endsWith("/") ? registry : `${registry}/`).toString(); } } }); // ../workspace/spec-parser/lib/index.js var require_lib48 = __commonJS({ "../workspace/spec-parser/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.WorkspaceSpec = void 0; var WORKSPACE_PREF_REGEX = /^workspace:(?:(?[^._/][^@]*)@)?(?.*)$/; var WorkspaceSpec = class _WorkspaceSpec { alias; version; constructor(version2, alias) { this.version = version2; this.alias = alias; } static parse(bareSpecifier) { const parts = WORKSPACE_PREF_REGEX.exec(bareSpecifier); if (!parts?.groups) return null; return new _WorkspaceSpec(parts.groups.version, parts.groups.alias); } toString() { const { alias, version: version2 } = this; return alias ? `workspace:${alias}@${version2}` : `workspace:${version2}`; } }; exports2.WorkspaceSpec = WorkspaceSpec; } }); // ../resolving/npm-resolver/lib/workspacePrefToNpm.js var require_workspacePrefToNpm = __commonJS({ "../resolving/npm-resolver/lib/workspacePrefToNpm.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.workspacePrefToNpm = workspacePrefToNpm; var workspace_spec_parser_1 = require_lib48(); function workspacePrefToNpm(workspaceBareSpecifier) { const parseResult = workspace_spec_parser_1.WorkspaceSpec.parse(workspaceBareSpecifier); if (parseResult == null) { throw new Error(`Invalid workspace spec: ${workspaceBareSpecifier}`); } const { alias, version: version2 } = parseResult; const versionPart = version2 === "^" || version2 === "~" ? "*" : version2; return alias ? `npm:${alias}@${versionPart}` : versionPart; } } }); // ../node_modules/.pnpm/semver-utils@1.1.4/node_modules/semver-utils/semver-utils.js var require_semver_utils = __commonJS({ "../node_modules/.pnpm/semver-utils@1.1.4/node_modules/semver-utils/semver-utils.js"(exports2, module2) { (function() { "use strict"; var reSemver = /^v?((\d+)\.(\d+)\.(\d+))(?:-([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?(?:\+([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?$/, reSemverRange = /\s*((\|\||\-)|(((?:(?:~?[<>]?)|\^?)=?)\s*(v)?([0-9]+)(\.(x|\*|[0-9]+))?(\.(x|\*|[0-9]+))?(([\-+])([a-zA-Z0-9\.-]+))?))\s*/g; function pruned(obj) { var o = {}; for (var key in obj) { if ("undefined" !== typeof obj[key]) { o[key] = obj[key]; } } return o; } function stringifySemver(obj) { var str = ""; str += obj.major || "0"; str += "."; str += obj.minor || "0"; str += "."; str += obj.patch || "0"; if (obj.release) { str += "-" + obj.release; } if (obj.build) { str += "+" + obj.build; } return str; } function stringifySemverRange(arr) { var str = ""; function stringify2(ver) { if (ver.operator) { str += ver.operator + " "; } if (ver.major) { str += ver.toString() + " "; } } arr.forEach(stringify2); return str.trim(); } function SemVer(obj) { if (!obj) { return; } var me = this; Object.keys(obj).forEach(function(key) { me[key] = obj[key]; }); } SemVer.prototype.toString = function() { return stringifySemver(this); }; function parseSemver(version2) { var m = reSemver.exec(version2) || [], ver = new SemVer(pruned({ semver: m[0], version: m[1], major: m[2], minor: m[3], patch: m[4], release: m[5], build: m[6] })); if (0 === m.length) { ver = null; } return ver; } function parseSemverRange(str) { var m, arr = [], obj; while (m = reSemverRange.exec(str)) { obj = { semver: m[3], operator: m[4] || m[2], major: m[6], minor: m[8], patch: m[10] }; if ("+" === m[12]) { obj.build = m[13]; } if ("-" === m[12]) { obj.release = m[13]; } arr.push(new SemVer(pruned(obj))); } return arr; } module2.exports.parse = parseSemver; module2.exports.stringify = stringifySemver; module2.exports.parseRange = parseSemverRange; module2.exports.stringifyRange = stringifySemverRange; })(); } }); // ../resolving/npm-resolver/lib/whichVersionIsPinned.js var require_whichVersionIsPinned = __commonJS({ "../resolving/npm-resolver/lib/whichVersionIsPinned.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.whichVersionIsPinned = whichVersionIsPinned; var semver_utils_1 = require_semver_utils(); function whichVersionIsPinned(spec) { const colonIndex = spec.indexOf(":"); if (colonIndex !== -1) { spec = spec.substring(colonIndex + 1); } const index = spec.lastIndexOf("@"); if (index !== -1) { spec = spec.slice(index + 1); } if (spec === "*") return "none"; const parsedRange = (0, semver_utils_1.parseRange)(spec); if (parsedRange.length !== 1) return void 0; const versionObject = parsedRange[0]; switch (versionObject.operator) { case "~": return "minor"; case "^": return "major"; case void 0: if (versionObject.patch) return "patch"; if (versionObject.minor) return "minor"; if (versionObject.major) return "major"; } return void 0; } } }); // ../resolving/npm-resolver/lib/trustChecks.js var require_trustChecks = __commonJS({ "../resolving/npm-resolver/lib/trustChecks.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.failIfTrustDowngraded = failIfTrustDowngraded; exports2.getTrustEvidence = getTrustEvidence; var error_1 = require_lib6(); var semver_12 = __importDefault2(require_semver2()); var pickPackageFromMeta_js_1 = require_pickPackageFromMeta(); var TRUST_RANK = { trustedPublisher: 2, provenance: 1 }; function failIfTrustDowngraded(meta, version2, trustPolicyExclude) { if (trustPolicyExclude) { const excludeResult = trustPolicyExclude(meta.name); if (excludeResult === true) { return; } if (Array.isArray(excludeResult) && excludeResult.includes(version2)) { return; } } (0, pickPackageFromMeta_js_1.assertMetaHasTime)(meta); const versionPublishedAt = meta.time[version2]; if (!versionPublishedAt) { throw new error_1.PnpmError("TRUST_CHECK_FAIL", `Missing time for version ${version2} of ${meta.name} in metadata`); } const versionDate = new Date(versionPublishedAt); const manifest = meta.versions[version2]; if (!manifest) { throw new error_1.PnpmError("TRUST_CHECK_FAIL", `Missing version object for version ${version2} of ${meta.name} in metadata`); } const strongestEvidencePriorToRequestedVersion = detectStrongestTrustEvidenceBeforeDate(meta, versionDate, { excludePrerelease: !semver_12.default.prerelease(version2, true) }); if (strongestEvidencePriorToRequestedVersion == null) { return; } const currentTrustEvidence = getTrustEvidence(manifest); if (currentTrustEvidence == null || TRUST_RANK[strongestEvidencePriorToRequestedVersion] > TRUST_RANK[currentTrustEvidence]) { throw new error_1.PnpmError("TRUST_DOWNGRADE", `High-risk trust downgrade for "${meta.name}@${version2}" (possible package takeover)`, { hint: `Trust checks are based solely on publish date, not semver. A package cannot be installed if any earlier-published version had stronger trust evidence. Earlier versions had ${prettyPrintTrustEvidence(strongestEvidencePriorToRequestedVersion)}, but this version has ${prettyPrintTrustEvidence(currentTrustEvidence)}. A trust downgrade may indicate a supply chain incident.` }); } } function prettyPrintTrustEvidence(trustEvidence) { switch (trustEvidence) { case "trustedPublisher": return "trusted publisher"; case "provenance": return "provenance attestation"; default: return "no trust evidence"; } } function detectStrongestTrustEvidenceBeforeDate(meta, beforeDate, options) { let best; for (const [version2, manifest] of Object.entries(meta.versions)) { if (options.excludePrerelease && semver_12.default.prerelease(version2, true)) continue; const ts = meta.time[version2]; if (!ts) continue; const publishedAt = new Date(ts); if (!(publishedAt < beforeDate)) continue; const trustEvidence = getTrustEvidence(manifest); if (!trustEvidence) continue; if (trustEvidence === "trustedPublisher") { return "trustedPublisher"; } best ||= "provenance"; } return best; } function getTrustEvidence(manifest) { if (manifest._npmUser?.trustedPublisher) { return "trustedPublisher"; } if (manifest.dist?.attestations?.provenance) { return "provenance"; } return void 0; } } }); // ../resolving/npm-resolver/lib/normalizeRegistryUrl.js var require_normalizeRegistryUrl = __commonJS({ "../resolving/npm-resolver/lib/normalizeRegistryUrl.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.normalizeRegistryUrl = normalizeRegistryUrl; function normalizeRegistryUrl(urlString) { try { return new URL(urlString).toString(); } catch { return urlString; } } } }); // ../resolving/npm-resolver/lib/index.js var require_lib49 = __commonJS({ "../resolving/npm-resolver/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.RegistryResponseError = exports2.workspacePrefToNpm = exports2.parseBareSpecifier = exports2.NoMatchingVersionError = void 0; exports2.createNpmResolver = createNpmResolver; var path_1 = __importDefault2(require("path")); var constants_1 = require_lib5(); var error_1 = require_lib6(); var pick_registry_for_package_1 = require_lib42(); var resolve_workspace_range_1 = require_lib43(); var lru_cache_1 = require_commonjs2(); var normalize_path_1 = __importDefault2(require_normalize_path()); var p_memoize_1 = __importDefault2(require_p_memoize()); var clone_1 = __importDefault2(require_clone5()); var semver_12 = __importDefault2(require_semver2()); var ssri_1 = __importDefault2(require_lib35()); var version_selector_type_1 = __importDefault2(require_version_selector_type()); var pickPackage_js_1 = require_pickPackage(); var parseBareSpecifier_js_1 = require_parseBareSpecifier3(); Object.defineProperty(exports2, "parseBareSpecifier", { enumerable: true, get: function() { return parseBareSpecifier_js_1.parseBareSpecifier; } }); var fetch_js_1 = require_fetch2(); Object.defineProperty(exports2, "RegistryResponseError", { enumerable: true, get: function() { return fetch_js_1.RegistryResponseError; } }); var workspacePrefToNpm_js_1 = require_workspacePrefToNpm(); Object.defineProperty(exports2, "workspacePrefToNpm", { enumerable: true, get: function() { return workspacePrefToNpm_js_1.workspacePrefToNpm; } }); var whichVersionIsPinned_js_1 = require_whichVersionIsPinned(); var pickPackageFromMeta_js_1 = require_pickPackageFromMeta(); var trustChecks_js_1 = require_trustChecks(); var normalizeRegistryUrl_js_1 = require_normalizeRegistryUrl(); var NoMatchingVersionError = class extends error_1.PnpmError { packageMeta; immatureVersion; constructor(opts) { const dep = opts.wantedDependency.alias ? `${opts.wantedDependency.alias}@${opts.wantedDependency.bareSpecifier ?? ""}` : opts.wantedDependency.bareSpecifier; let errorMessage; if (opts.publishedBy && opts.immatureVersion && opts.packageMeta.time) { const time = new Date(opts.packageMeta.time[opts.immatureVersion]); errorMessage = `No matching version found for ${dep} published by ${opts.publishedBy.toString()} while fetching it from ${opts.registry}. Version ${opts.immatureVersion} satisfies the specs but was released at ${time.toString()}`; } else { errorMessage = `No matching version found for ${dep} while fetching it from ${opts.registry}`; } super(opts.publishedBy ? "NO_MATURE_MATCHING_VERSION" : "NO_MATCHING_VERSION", errorMessage); this.packageMeta = opts.packageMeta; this.immatureVersion = opts.immatureVersion; } }; exports2.NoMatchingVersionError = NoMatchingVersionError; function createNpmResolver(fetchFromRegistry, getAuthHeader, opts) { if (typeof opts.cacheDir !== "string") { throw new TypeError("`opts.cacheDir` is required and needs to be a string"); } const fetchOpts = { fetch: fetchFromRegistry, retry: opts.retry ?? {}, timeout: opts.timeout ?? 6e4, fetchWarnTimeoutMs: opts.fetchWarnTimeoutMs ?? 10 * 1e3 // 10 sec }; const fetch = (0, p_memoize_1.default)(fetch_js_1.fetchMetadataFromFromRegistry.bind(null, fetchOpts), { cacheKey: (...args) => JSON.stringify(args), maxAge: 1e3 * 20 // 20 seconds }); const metaCache = new lru_cache_1.LRUCache({ max: 1e4, ttl: 120 * 1e3 // 2 minutes }); const ctx = { getAuthHeaderValueByURI: getAuthHeader, pickPackage: pickPackage_js_1.pickPackage.bind(null, { fetch, filterMetadata: opts.filterMetadata, metaCache, metaDir: opts.fullMetadata ? opts.filterMetadata ? constants_1.FULL_FILTERED_META_DIR : constants_1.FULL_META_DIR : constants_1.ABBREVIATED_META_DIR, offline: opts.offline, preferOffline: opts.preferOffline, cacheDir: opts.cacheDir, strictPublishedByCheck: opts.strictPublishedByCheck }), registries: opts.registries, saveWorkspaceProtocol: opts.saveWorkspaceProtocol }; return { resolveFromNpm: resolveNpm.bind(null, ctx), resolveFromJsr: resolveJsr.bind(null, ctx), clearCache: () => { metaCache.clear(); } }; } async function resolveNpm(ctx, wantedDependency, opts) { const defaultTag = opts.defaultTag ?? "latest"; const registry = wantedDependency.alias ? (0, pick_registry_for_package_1.pickRegistryForPackage)(ctx.registries, wantedDependency.alias, wantedDependency.bareSpecifier) : ctx.registries.default; if (wantedDependency.bareSpecifier?.startsWith("workspace:")) { if (wantedDependency.bareSpecifier.startsWith("workspace:.")) return null; const resolvedFromWorkspace = tryResolveFromWorkspace(wantedDependency, { defaultTag, lockfileDir: opts.lockfileDir, projectDir: opts.projectDir, registry, workspacePackages: opts.workspacePackages, injectWorkspacePackages: opts.injectWorkspacePackages, update: Boolean(opts.update), saveWorkspaceProtocol: ctx.saveWorkspaceProtocol !== false ? ctx.saveWorkspaceProtocol : true, calcSpecifier: opts.calcSpecifier, pinnedVersion: opts.pinnedVersion }); if (resolvedFromWorkspace != null) { return resolvedFromWorkspace; } } const workspacePackages = opts.alwaysTryWorkspacePackages !== false ? opts.workspacePackages : void 0; const spec = wantedDependency.bareSpecifier ? (0, parseBareSpecifier_js_1.parseBareSpecifier)(wantedDependency.bareSpecifier, wantedDependency.alias, defaultTag, registry) : defaultTagForAlias(wantedDependency.alias, defaultTag); if (spec == null) return null; const authHeaderValue = ctx.getAuthHeaderValueByURI(registry); let pickResult; try { pickResult = await ctx.pickPackage(spec, { pickLowestVersion: opts.pickLowestVersion, publishedBy: opts.publishedBy, publishedByExclude: opts.publishedByExclude, authHeaderValue, dryRun: opts.dryRun === true, preferredVersionSelectors: opts.preferredVersions?.[spec.name], registry, updateToLatest: opts.update === "latest" }); } catch (err) { if (workspacePackages != null && opts.projectDir) { try { return tryResolveFromWorkspacePackages(workspacePackages, spec, { wantedDependency, projectDir: opts.projectDir, lockfileDir: opts.lockfileDir, hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected, update: Boolean(opts.update), saveWorkspaceProtocol: ctx.saveWorkspaceProtocol, calcSpecifier: opts.calcSpecifier, pinnedVersion: opts.pinnedVersion }); } catch { } } throw err; } const pickedPackage = pickResult.pickedPackage; const meta = pickResult.meta; if (pickedPackage == null) { if (workspacePackages != null && opts.projectDir) { try { return tryResolveFromWorkspacePackages(workspacePackages, spec, { wantedDependency, projectDir: opts.projectDir, lockfileDir: opts.lockfileDir, hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected, update: Boolean(opts.update), saveWorkspaceProtocol: ctx.saveWorkspaceProtocol, calcSpecifier: opts.calcSpecifier, pinnedVersion: opts.pinnedVersion }); } catch { } } if (opts.publishedBy) { const immatureVersion = (0, pickPackageFromMeta_js_1.pickVersionByVersionRange)({ meta, versionRange: spec.fetchSpec, preferredVersionSelectors: opts.preferredVersions?.[spec.name] }); if (immatureVersion) { throw new NoMatchingVersionError({ wantedDependency, packageMeta: meta, registry, immatureVersion, publishedBy: opts.publishedBy }); } } throw new NoMatchingVersionError({ wantedDependency, packageMeta: meta, registry }); } else if (opts.trustPolicy === "no-downgrade") { (0, trustChecks_js_1.failIfTrustDowngraded)(meta, pickedPackage.version, opts.trustPolicyExclude); } const workspacePkgsMatchingName = workspacePackages?.get(pickedPackage.name); if (workspacePkgsMatchingName && opts.projectDir) { const matchedPkg = workspacePkgsMatchingName.get(pickedPackage.version); if (matchedPkg) { return { ...resolveFromLocalPackage(matchedPkg, spec, { wantedDependency, projectDir: opts.projectDir, lockfileDir: opts.lockfileDir, hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected, saveWorkspaceProtocol: ctx.saveWorkspaceProtocol, calcSpecifier: opts.calcSpecifier, pinnedVersion: opts.pinnedVersion }), latest: meta["dist-tags"].latest }; } const localVersion = pickMatchingLocalVersionOrNull(workspacePkgsMatchingName, spec); if (localVersion && (semver_12.default.gt(localVersion, pickedPackage.version) || opts.preferWorkspacePackages)) { return { ...resolveFromLocalPackage(workspacePkgsMatchingName.get(localVersion), spec, { wantedDependency, projectDir: opts.projectDir, lockfileDir: opts.lockfileDir, hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected, saveWorkspaceProtocol: ctx.saveWorkspaceProtocol, calcSpecifier: opts.calcSpecifier, pinnedVersion: opts.pinnedVersion }), latest: meta["dist-tags"].latest }; } } const id = `${pickedPackage.name}@${pickedPackage.version}`; const resolution = { integrity: getIntegrity(pickedPackage.dist), tarball: (0, normalizeRegistryUrl_js_1.normalizeRegistryUrl)(pickedPackage.dist.tarball) }; let normalizedBareSpecifier; if (opts.calcSpecifier) { normalizedBareSpecifier = spec.normalizedBareSpecifier ?? calcSpecifier({ wantedDependency, spec, version: pickedPackage.version, defaultPinnedVersion: opts.pinnedVersion }); } return { id, latest: meta["dist-tags"].latest, manifest: pickedPackage, resolution, resolvedVia: "npm-registry", publishedAt: meta.time?.[pickedPackage.version], normalizedBareSpecifier }; } async function resolveJsr(ctx, wantedDependency, opts) { if (!wantedDependency.bareSpecifier) return null; const defaultTag = opts.defaultTag ?? "latest"; const registry = ctx.registries["@jsr"]; const spec = (0, parseBareSpecifier_js_1.parseJsrSpecifierToRegistryPackageSpec)(wantedDependency.bareSpecifier, wantedDependency.alias, defaultTag); if (spec == null) return null; const authHeaderValue = ctx.getAuthHeaderValueByURI(registry); const { meta, pickedPackage } = await ctx.pickPackage(spec, { pickLowestVersion: opts.pickLowestVersion, publishedBy: opts.publishedBy, authHeaderValue, dryRun: opts.dryRun === true, preferredVersionSelectors: opts.preferredVersions?.[spec.name], registry, updateToLatest: opts.update === "latest" }); if (pickedPackage == null) { throw new NoMatchingVersionError({ wantedDependency, packageMeta: meta, registry }); } const id = `${pickedPackage.name}@${pickedPackage.version}`; const resolution = { integrity: getIntegrity(pickedPackage.dist), tarball: (0, normalizeRegistryUrl_js_1.normalizeRegistryUrl)(pickedPackage.dist.tarball) }; return { id, latest: meta["dist-tags"].latest, manifest: pickedPackage, normalizedBareSpecifier: opts.calcSpecifier ? calcJsrSpecifier({ wantedDependency, spec, version: pickedPackage.version, defaultPinnedVersion: opts.pinnedVersion }) : void 0, resolution, resolvedVia: "jsr-registry", publishedAt: meta.time?.[pickedPackage.version], alias: spec.jsrPkgName }; } function calcJsrSpecifier({ wantedDependency, spec, version: version2, defaultPinnedVersion }) { const range = calcRange(version2, wantedDependency, defaultPinnedVersion); if (!wantedDependency.alias || spec.jsrPkgName === wantedDependency.alias) return `jsr:${range}`; return `jsr:${spec.jsrPkgName}@${range}`; } function calcSpecifier({ wantedDependency, spec, version: version2, defaultPinnedVersion }) { if (wantedDependency.prevSpecifier === wantedDependency.bareSpecifier && wantedDependency.prevSpecifier && (0, version_selector_type_1.default)(wantedDependency.prevSpecifier)?.type === "tag") { return wantedDependency.prevSpecifier; } const range = calcRange(version2, wantedDependency, defaultPinnedVersion); if (!wantedDependency.alias || spec.name === wantedDependency.alias) return range; return `npm:${spec.name}@${range}`; } function calcRange(version2, wantedDependency, defaultPinnedVersion) { if (semver_12.default.parse(version2)?.prerelease.length) { return version2; } const pinnedVersion = (wantedDependency.prevSpecifier ? (0, whichVersionIsPinned_js_1.whichVersionIsPinned)(wantedDependency.prevSpecifier) : void 0) ?? (wantedDependency.bareSpecifier ? (0, whichVersionIsPinned_js_1.whichVersionIsPinned)(wantedDependency.bareSpecifier) : void 0) ?? defaultPinnedVersion; return createVersionSpec(version2, pinnedVersion); } function tryResolveFromWorkspace(wantedDependency, opts) { if (!wantedDependency.bareSpecifier?.startsWith("workspace:")) { return null; } const bareSpecifier = (0, workspacePrefToNpm_js_1.workspacePrefToNpm)(wantedDependency.bareSpecifier); const spec = (0, parseBareSpecifier_js_1.parseBareSpecifier)(bareSpecifier, wantedDependency.alias, opts.defaultTag, opts.registry); if (spec == null) throw new Error(`Invalid workspace: spec (${wantedDependency.bareSpecifier})`); if (opts.workspacePackages == null) { throw new Error("Cannot resolve package from workspace because opts.workspacePackages is not defined"); } if (!opts.projectDir) { throw new Error("Cannot resolve package from workspace because opts.projectDir is not defined"); } return tryResolveFromWorkspacePackages(opts.workspacePackages, spec, { wantedDependency, projectDir: opts.projectDir, hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected, lockfileDir: opts.lockfileDir, update: opts.update, saveWorkspaceProtocol: opts.saveWorkspaceProtocol, calcSpecifier: opts.calcSpecifier, pinnedVersion: opts.pinnedVersion }); } function tryResolveFromWorkspacePackages(workspacePackages, spec, opts) { const workspacePkgsMatchingName = workspacePackages.get(spec.name); if (!workspacePkgsMatchingName) { throw new error_1.PnpmError("WORKSPACE_PKG_NOT_FOUND", `In ${path_1.default.relative(process.cwd(), opts.projectDir)}: "${spec.name}@${opts.wantedDependency.bareSpecifier ?? ""}" is in the dependencies but no package named "${spec.name}" is present in the workspace`, { hint: "Packages found in the workspace: " + Object.keys(workspacePackages).join(", ") }); } const localVersion = pickMatchingLocalVersionOrNull(workspacePkgsMatchingName, opts.update ? { name: spec.name, fetchSpec: "*", type: "range" } : spec); if (!localVersion) { throw new error_1.PnpmError("NO_MATCHING_VERSION_INSIDE_WORKSPACE", `In ${path_1.default.relative(process.cwd(), opts.projectDir)}: No matching version found for ${opts.wantedDependency.alias ?? ""}@${opts.wantedDependency.bareSpecifier ?? ""} inside the workspace`); } return resolveFromLocalPackage(workspacePkgsMatchingName.get(localVersion), spec, opts); } function pickMatchingLocalVersionOrNull(versions, spec) { switch (spec.type) { case "tag": return semver_12.default.maxSatisfying(Array.from(versions.keys()), "*", { includePrerelease: true }); case "version": return versions.has(spec.fetchSpec) ? spec.fetchSpec : null; case "range": return (0, resolve_workspace_range_1.resolveWorkspaceRange)(spec.fetchSpec, Array.from(versions.keys())); default: return null; } } function resolveFromLocalPackage(localPackage, spec, opts) { let id; let directory; const localPackageDir = resolveLocalPackageDir(localPackage); if (opts.hardLinkLocalPackages) { directory = (0, normalize_path_1.default)(path_1.default.relative(opts.lockfileDir, localPackageDir)); id = `file:${directory}`; } else { directory = localPackageDir; id = `link:${(0, normalize_path_1.default)(path_1.default.relative(opts.projectDir, localPackageDir))}`; } let normalizedBareSpecifier; if (opts.calcSpecifier) { normalizedBareSpecifier = spec.normalizedBareSpecifier ?? calcSpecifierForWorkspaceDep({ wantedDependency: opts.wantedDependency, spec, saveWorkspaceProtocol: opts.saveWorkspaceProtocol, version: localPackage.manifest.version, defaultPinnedVersion: opts.pinnedVersion }); } return { id, manifest: (0, clone_1.default)(localPackage.manifest), resolution: { directory, type: "directory" }, resolvedVia: "workspace", normalizedBareSpecifier }; } function calcSpecifierForWorkspaceDep({ wantedDependency, spec, saveWorkspaceProtocol, version: version2, defaultPinnedVersion }) { if (!saveWorkspaceProtocol && !wantedDependency.bareSpecifier?.startsWith("workspace:")) { return calcSpecifier({ wantedDependency, spec, version: version2, defaultPinnedVersion }); } const prefix = !wantedDependency.alias || spec.name === wantedDependency.alias ? "workspace:" : `workspace:${spec.name}@`; if (saveWorkspaceProtocol === "rolling") { const specifier = wantedDependency.prevSpecifier ?? wantedDependency.bareSpecifier; if (specifier) { if ([`${prefix}*`, `${prefix}^`, `${prefix}~`].includes(specifier)) return specifier; const pinnedVersion2 = (0, whichVersionIsPinned_js_1.whichVersionIsPinned)(specifier); switch (pinnedVersion2) { case "major": return `${prefix}^`; case "minor": return `${prefix}~`; case "patch": case "none": return `${prefix}*`; } } return `${prefix}^`; } if (semver_12.default.parse(version2)?.prerelease.length) { return `${prefix}${version2}`; } const pinnedVersion = (wantedDependency.prevSpecifier ? (0, whichVersionIsPinned_js_1.whichVersionIsPinned)(wantedDependency.prevSpecifier) : void 0) ?? defaultPinnedVersion; const range = createVersionSpec(version2, pinnedVersion); return `${prefix}${range}`; } function resolveLocalPackageDir(localPackage) { if (localPackage.manifest.publishConfig?.directory == null || localPackage.manifest.publishConfig?.linkDirectory === false) return localPackage.rootDir; return path_1.default.join(localPackage.rootDir, localPackage.manifest.publishConfig.directory); } function defaultTagForAlias(alias, defaultTag) { return { fetchSpec: defaultTag, name: alias, type: "tag" }; } function getIntegrity(dist) { if (dist.integrity) { return dist.integrity; } if (!dist.shasum) { return void 0; } const integrity = ssri_1.default.fromHex(dist.shasum, "sha1"); if (!integrity) { throw new error_1.PnpmError("INVALID_TARBALL_INTEGRITY", `Tarball "${dist.tarball}" has invalid shasum specified in its metadata: ${dist.shasum}`); } return integrity.toString(); } function createVersionSpec(version2, pinnedVersion) { switch (pinnedVersion ?? "major") { case "none": case "major": return `^${version2}`; case "minor": return `~${version2}`; case "patch": return version2; default: throw new error_1.PnpmError("BAD_PINNED_VERSION", `Cannot pin '${pinnedVersion ?? "undefined"}'`); } } } }); // ../resolving/tarball-resolver/lib/index.js var require_lib50 = __commonJS({ "../resolving/tarball-resolver/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveFromTarball = resolveFromTarball; async function resolveFromTarball(fetchFromRegistry, wantedDependency) { if (!wantedDependency.bareSpecifier.startsWith("http:") && !wantedDependency.bareSpecifier.startsWith("https:")) { return null; } if (isRepository(wantedDependency.bareSpecifier)) return null; const normalizedBareSpecifier = new URL(wantedDependency.bareSpecifier).toString(); let resolvedUrl; const response = await fetchFromRegistry(normalizedBareSpecifier, { method: "HEAD" }); if (response?.headers?.get("cache-control")?.includes("immutable")) { resolvedUrl = response.url; } else { resolvedUrl = normalizedBareSpecifier; } return { id: normalizedBareSpecifier, normalizedBareSpecifier, resolution: { tarball: resolvedUrl }, resolvedVia: "url" }; } var GIT_HOSTERS = /* @__PURE__ */ new Set([ "github.com", "gitlab.com", "bitbucket.org" ]); function isRepository(bareSpecifier) { const url = new URL(bareSpecifier); if (url.hash && url.hash.includes("/")) { url.hash = encodeURIComponent(url.hash.substring(1)); bareSpecifier = url.href; } if (bareSpecifier.endsWith("/")) { bareSpecifier = bareSpecifier.slice(0, -1); } const parts = bareSpecifier.split("/"); return parts.length === 5 && GIT_HOSTERS.has(parts[2]); } } }); // ../resolving/default-resolver/lib/index.js var require_lib51 = __commonJS({ "../resolving/default-resolver/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createResolver = createResolver; var error_1 = require_lib6(); var git_resolver_1 = require_lib33(); var local_resolver_1 = require_lib37(); var node_resolver_1 = require_lib39(); var resolving_deno_resolver_1 = require_lib40(); var resolving_bun_resolver_1 = require_lib41(); var npm_resolver_1 = require_lib49(); var tarball_resolver_1 = require_lib50(); function createResolver(fetchFromRegistry, getAuthHeader, pnpmOpts) { const { resolveFromNpm, resolveFromJsr, clearCache } = (0, npm_resolver_1.createNpmResolver)(fetchFromRegistry, getAuthHeader, pnpmOpts); const resolveFromGit = (0, git_resolver_1.createGitResolver)(pnpmOpts); const _resolveFromLocal = local_resolver_1.resolveFromLocal.bind(null, { preserveAbsolutePaths: pnpmOpts.preserveAbsolutePaths }); const _resolveNodeRuntime = node_resolver_1.resolveNodeRuntime.bind(null, { fetchFromRegistry, offline: pnpmOpts.offline, rawConfig: pnpmOpts.rawConfig }); const _resolveDenoRuntime = resolving_deno_resolver_1.resolveDenoRuntime.bind(null, { fetchFromRegistry, offline: pnpmOpts.offline, rawConfig: pnpmOpts.rawConfig, resolveFromNpm }); const _resolveBunRuntime = resolving_bun_resolver_1.resolveBunRuntime.bind(null, { fetchFromRegistry, offline: pnpmOpts.offline, rawConfig: pnpmOpts.rawConfig, resolveFromNpm }); return { resolve: async (wantedDependency, opts) => { const resolution = await resolveFromNpm(wantedDependency, opts) ?? await resolveFromJsr(wantedDependency, opts) ?? (wantedDependency.bareSpecifier && (await (0, tarball_resolver_1.resolveFromTarball)(fetchFromRegistry, wantedDependency) ?? await resolveFromGit(wantedDependency) ?? await _resolveFromLocal(wantedDependency, opts))) ?? await _resolveNodeRuntime(wantedDependency) ?? await _resolveDenoRuntime(wantedDependency) ?? await _resolveBunRuntime(wantedDependency); if (!resolution) { throw new error_1.PnpmError("SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER", `${wantedDependency.alias ? wantedDependency.alias + "@" : ""}${wantedDependency.bareSpecifier ?? ""} isn't supported by any available resolver.`); } return resolution; }, clearCache }; } } }); // ../exec/pkg-requires-build/lib/index.js var require_lib52 = __commonJS({ "../exec/pkg-requires-build/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pkgRequiresBuild = pkgRequiresBuild; function pkgRequiresBuild(manifest, filesIndex) { return Boolean(manifest?.scripts != null && (Boolean(manifest.scripts.preinstall) || Boolean(manifest.scripts.install) || Boolean(manifest.scripts.postinstall)) || filesIncludeInstallScripts(filesIndex)); } function filesIncludeInstallScripts(filesIndex) { return filesIndex["binding.gyp"] != null || Object.keys(filesIndex).some((filename) => !(filename.match(/^\.hooks[\\/]/) == null)); } } }); // ../node_modules/.pnpm/npm-normalize-package-bin@2.0.0/node_modules/npm-normalize-package-bin/lib/index.js var require_lib53 = __commonJS({ "../node_modules/.pnpm/npm-normalize-package-bin@2.0.0/node_modules/npm-normalize-package-bin/lib/index.js"(exports2, module2) { var { join, basename } = require("path"); var normalize = (pkg) => !pkg.bin ? removeBin(pkg) : typeof pkg.bin === "string" ? normalizeString(pkg) : Array.isArray(pkg.bin) ? normalizeArray(pkg) : typeof pkg.bin === "object" ? normalizeObject(pkg) : removeBin(pkg); var normalizeString = (pkg) => { if (!pkg.name) { return removeBin(pkg); } pkg.bin = { [pkg.name]: pkg.bin }; return normalizeObject(pkg); }; var normalizeArray = (pkg) => { pkg.bin = pkg.bin.reduce((acc, k) => { acc[basename(k)] = k; return acc; }, {}); return normalizeObject(pkg); }; var removeBin = (pkg) => { delete pkg.bin; return pkg; }; var normalizeObject = (pkg) => { const orig = pkg.bin; const clean = {}; let hasBins = false; Object.keys(orig).forEach((binKey) => { const base = join("/", basename(binKey.replace(/\\|:/g, "/"))).slice(1); if (typeof orig[binKey] !== "string" || !base) { return; } const binTarget = join("/", orig[binKey]).replace(/\\/g, "/").slice(1); if (!binTarget) { return; } clean[base] = binTarget; hasBins = true; }); if (hasBins) { pkg.bin = clean; } else { delete pkg.bin; } return pkg; }; module2.exports = normalize; } }); // ../node_modules/.pnpm/npm-bundled@2.0.1/node_modules/npm-bundled/lib/index.js var require_lib54 = __commonJS({ "../node_modules/.pnpm/npm-bundled@2.0.1/node_modules/npm-bundled/lib/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var path2 = require("path"); var EE = require("events").EventEmitter; var normalizePackageBin = require_lib53(); var BundleWalker = class _BundleWalker extends EE { constructor(opt) { opt = opt || {}; super(opt); this.path = path2.resolve(opt.path || process.cwd()); this.parent = opt.parent || null; if (this.parent) { this.result = this.parent.result; if (!this.parent.parent) { const base = path2.basename(this.path); const scope = path2.basename(path2.dirname(this.path)); this.result.add(/^@/.test(scope) ? scope + "/" + base : base); } this.root = this.parent.root; this.packageJsonCache = this.parent.packageJsonCache; } else { this.result = /* @__PURE__ */ new Set(); this.root = this.path; this.packageJsonCache = opt.packageJsonCache || /* @__PURE__ */ new Map(); } this.seen = /* @__PURE__ */ new Set(); this.didDone = false; this.children = 0; this.node_modules = []; this.package = null; this.bundle = null; } addListener(ev, fn) { return this.on(ev, fn); } on(ev, fn) { const ret2 = super.on(ev, fn); if (ev === "done" && this.didDone) { this.emit("done", this.result); } return ret2; } done() { if (!this.didDone) { this.didDone = true; if (!this.parent) { const res = Array.from(this.result); this.result = res; this.emit("done", res); } else { this.emit("done"); } } } start() { const pj = path2.resolve(this.path, "package.json"); if (this.packageJsonCache.has(pj)) { this.onPackage(this.packageJsonCache.get(pj)); } else { this.readPackageJson(pj); } return this; } readPackageJson(pj) { fs.readFile(pj, (er, data) => er ? this.done() : this.onPackageJson(pj, data)); } onPackageJson(pj, data) { try { this.package = normalizePackageBin(JSON.parse(data + "")); } catch (er) { return this.done(); } this.packageJsonCache.set(pj, this.package); this.onPackage(this.package); } allDepsBundled(pkg) { return Object.keys(pkg.dependencies || {}).concat( Object.keys(pkg.optionalDependencies || {}) ); } onPackage(pkg) { const bdRaw = this.parent ? this.allDepsBundled(pkg) : pkg.bundleDependencies || pkg.bundledDependencies || []; const bd = Array.from(new Set( Array.isArray(bdRaw) ? bdRaw : bdRaw === true ? this.allDepsBundled(pkg) : Object.keys(bdRaw) )); if (!bd.length) { return this.done(); } this.bundle = bd; this.readModules(); } readModules() { readdirNodeModules(this.path + "/node_modules", (er, nm) => er ? this.onReaddir([]) : this.onReaddir(nm)); } onReaddir(nm) { this.node_modules = nm; this.bundle.forEach((dep) => this.childDep(dep)); if (this.children === 0) { this.done(); } } childDep(dep) { if (this.node_modules.indexOf(dep) !== -1) { if (!this.seen.has(dep)) { this.seen.add(dep); this.child(dep); } } else if (this.parent) { this.parent.childDep(dep); } } child(dep) { const p = this.path + "/node_modules/" + dep; this.children += 1; const child = new _BundleWalker({ path: p, parent: this }); child.on("done", (_) => { if (--this.children === 0) { this.done(); } }); child.start(); } }; var BundleWalkerSync = class _BundleWalkerSync extends BundleWalker { start() { super.start(); this.done(); return this; } readPackageJson(pj) { try { this.onPackageJson(pj, fs.readFileSync(pj)); } catch { } return this; } readModules() { try { this.onReaddir(readdirNodeModulesSync(this.path + "/node_modules")); } catch { this.onReaddir([]); } } child(dep) { new _BundleWalkerSync({ path: this.path + "/node_modules/" + dep, parent: this }).start(); } }; var readdirNodeModules = (nm, cb) => { fs.readdir(nm, (er, set) => { if (er) { cb(er); } else { const scopes = set.filter((f) => /^@/.test(f)); if (!scopes.length) { cb(null, set); } else { const unscoped = set.filter((f) => !/^@/.test(f)); let count = scopes.length; scopes.forEach((scope) => { fs.readdir(nm + "/" + scope, (readdirEr, pkgs) => { if (readdirEr || !pkgs.length) { unscoped.push(scope); } else { unscoped.push.apply(unscoped, pkgs.map((p) => scope + "/" + p)); } if (--count === 0) { cb(null, unscoped); } }); }); } } }); }; var readdirNodeModulesSync = (nm) => { const set = fs.readdirSync(nm); const unscoped = set.filter((f) => !/^@/.test(f)); const scopes = set.filter((f) => /^@/.test(f)).map((scope) => { try { const pkgs = fs.readdirSync(nm + "/" + scope); return pkgs.length ? pkgs.map((p) => scope + "/" + p) : [scope]; } catch (er) { return [scope]; } }).reduce((a, b) => a.concat(b), []); return unscoped.concat(scopes); }; var walk = (options, callback) => { const p = new Promise((resolve, reject) => { new BundleWalker(options).on("done", resolve).on("error", reject).start(); }); return callback ? p.then((res) => callback(null, res), callback) : p; }; var walkSync = (options) => { return new BundleWalkerSync(options).start().result; }; module2.exports = walk; walk.sync = walkSync; walk.BundleWalker = BundleWalker; walk.BundleWalkerSync = BundleWalkerSync; } }); // ../node_modules/.pnpm/minimatch@5.1.6/node_modules/minimatch/lib/path.js var require_path2 = __commonJS({ "../node_modules/.pnpm/minimatch@5.1.6/node_modules/minimatch/lib/path.js"(exports2, module2) { var isWindows = typeof process === "object" && process && process.platform === "win32"; module2.exports = isWindows ? { sep: "\\" } : { sep: "/" }; } }); // ../node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.js var require_balanced_match = __commonJS({ "../node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.js"(exports2, module2) { "use strict"; module2.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, result2; 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 && !result2) { if (i == ai) { begs.push(i); ai = str.indexOf(a, i + 1); } else if (begs.length == 1) { result2 = [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) { result2 = [left, right]; } } return result2; } } }); // ../node_modules/.pnpm/brace-expansion@2.0.2/node_modules/brace-expansion/index.js var require_brace_expansion = __commonJS({ "../node_modules/.pnpm/brace-expansion@2.0.2/node_modules/brace-expansion/index.js"(exports2, module2) { var balanced = require_balanced_match(); module2.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("."); } 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 []; 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]; 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) { 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) { n = expand(n[0], false).map(embrace); if (n.length === 1) { return post.map(function(p) { return m.pre + n[0] + p; }); } } } 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; } } }); // ../node_modules/.pnpm/minimatch@5.1.6/node_modules/minimatch/minimatch.js var require_minimatch = __commonJS({ "../node_modules/.pnpm/minimatch@5.1.6/node_modules/minimatch/minimatch.js"(exports2, module2) { var minimatch = module2.exports = (p, pattern, options = {}) => { assertValidPattern(pattern); if (!options.nocomment && pattern.charAt(0) === "#") { return false; } return new Minimatch(pattern, options).match(p); }; module2.exports = minimatch; var path2 = require_path2(); minimatch.sep = path2.sep; var GLOBSTAR = Symbol("globstar **"); minimatch.GLOBSTAR = GLOBSTAR; var expand = require_brace_expansion(); var plTypes = { "!": { open: "(?:(?!(?:", close: "))[^/]*?)" }, "?": { open: "(?:", close: ")?" }, "+": { open: "(?:", close: ")+" }, "*": { open: "(?:", close: ")*" }, "@": { open: "(?:", close: ")" } }; var qmark = "[^/]"; var star = qmark + "*?"; var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; var charSet = (s) => s.split("").reduce((set, c) => { set[c] = true; return set; }, {}); var reSpecials = charSet("().*{}+?[]^$\\!"); var addPatternStartSet = charSet("[.("); var slashSplit = /\/+/; minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options); var ext = (a, b = {}) => { const t = {}; Object.keys(a).forEach((k) => t[k] = a[k]); Object.keys(b).forEach((k) => t[k] = b[k]); return t; }; minimatch.defaults = (def) => { if (!def || typeof def !== "object" || !Object.keys(def).length) { return minimatch; } const orig = minimatch; const m = (p, pattern, options) => orig(p, pattern, ext(def, options)); m.Minimatch = class Minimatch extends orig.Minimatch { constructor(pattern, options) { super(pattern, ext(def, options)); } }; m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch; m.filter = (pattern, options) => orig.filter(pattern, ext(def, options)); m.defaults = (options) => orig.defaults(ext(def, options)); m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options)); m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options)); m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options)); return m; }; minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options); var braceExpand = (pattern, options = {}) => { assertValidPattern(pattern); if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { return [pattern]; } return expand(pattern); }; var MAX_PATTERN_LENGTH = 1024 * 64; var assertValidPattern = (pattern) => { if (typeof pattern !== "string") { throw new TypeError("invalid pattern"); } if (pattern.length > MAX_PATTERN_LENGTH) { throw new TypeError("pattern is too long"); } }; var SUBPARSE = Symbol("subparse"); minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe(); minimatch.match = (list, pattern, options = {}) => { const mm = new Minimatch(pattern, options); list = list.filter((f) => mm.match(f)); if (mm.options.nonull && !list.length) { list.push(pattern); } return list; }; var globUnescape = (s) => s.replace(/\\(.)/g, "$1"); var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1"); var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&"); var Minimatch = class { constructor(pattern, options) { assertValidPattern(pattern); if (!options) options = {}; this.options = options; this.set = []; this.pattern = pattern; this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false; if (this.windowsPathsNoEscape) { this.pattern = this.pattern.replace(/\\/g, "/"); } this.regexp = null; this.negate = false; this.comment = false; this.empty = false; this.partial = !!options.partial; this.make(); } debug() { } make() { const pattern = this.pattern; const options = this.options; if (!options.nocomment && pattern.charAt(0) === "#") { this.comment = true; return; } if (!pattern) { this.empty = true; return; } this.parseNegate(); let set = this.globSet = this.braceExpand(); if (options.debug) this.debug = (...args) => console.error(...args); this.debug(this.pattern, set); set = this.globParts = set.map((s) => s.split(slashSplit)); this.debug(this.pattern, set); set = set.map((s, si, set2) => s.map(this.parse, this)); this.debug(this.pattern, set); set = set.filter((s) => s.indexOf(false) === -1); this.debug(this.pattern, set); this.set = set; } parseNegate() { if (this.options.nonegate) return; const pattern = this.pattern; let negate = false; let negateOffset = 0; for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) { negate = !negate; negateOffset++; } if (negateOffset) this.pattern = pattern.slice(negateOffset); this.negate = negate; } // set partial to true to test if, for example, // "/a/b" matches the start of "/*/b/*/d" // Partial means, if you run out of file before you run // out of pattern, then that's fine, as long as all // the parts match. matchOne(file, pattern, partial) { var options = this.options; this.debug( "matchOne", { "this": this, file, pattern } ); this.debug("matchOne", file.length, pattern.length); for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) { this.debug("matchOne loop"); var p = pattern[pi]; var f = file[fi]; this.debug(pattern, p, f); if (p === false) return false; if (p === GLOBSTAR) { this.debug("GLOBSTAR", [pattern, p, f]); var fr = fi; var pr = pi + 1; if (pr === pl) { this.debug("** at the end"); for (; fi < fl; fi++) { if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false; } return true; } while (fr < fl) { var swallowee = file[fr]; this.debug("\nglobstar while", file, fr, pattern, pr, swallowee); if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { this.debug("globstar found match!", fr, fl, swallowee); return true; } else { if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") { this.debug("dot detected!", file, fr, pattern, pr); break; } this.debug("globstar swallow a segment, and continue"); fr++; } } if (partial) { this.debug("\n>>> no match, partial?", file, fr, pattern, pr); if (fr === fl) return true; } return false; } var hit; if (typeof p === "string") { hit = f === p; this.debug("string match", p, f, hit); } else { hit = f.match(p); this.debug("pattern match", p, f, hit); } if (!hit) return false; } if (fi === fl && pi === pl) { return true; } else if (fi === fl) { return partial; } else if (pi === pl) { return fi === fl - 1 && file[fi] === ""; } throw new Error("wtf?"); } braceExpand() { return braceExpand(this.pattern, this.options); } parse(pattern, isSub) { assertValidPattern(pattern); const options = this.options; if (pattern === "**") { if (!options.noglobstar) return GLOBSTAR; else pattern = "*"; } if (pattern === "") return ""; let re = ""; let hasMagic = false; let escaping = false; const patternListStack = []; const negativeLists = []; let stateChar; let inClass = false; let reClassStart = -1; let classStart = -1; let cs; let pl; let sp; let dotTravAllowed = pattern.charAt(0) === "."; let dotFileAllowed = options.dot || dotTravAllowed; const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; const clearStateChar = () => { if (stateChar) { switch (stateChar) { case "*": re += star; hasMagic = true; break; case "?": re += qmark; hasMagic = true; break; default: re += "\\" + stateChar; break; } this.debug("clearStateChar %j %j", stateChar, re); stateChar = false; } }; for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) { this.debug("%s %s %s %j", pattern, i, re, c); if (escaping) { if (c === "/") { return false; } if (reSpecials[c]) { re += "\\"; } re += c; escaping = false; continue; } switch (c) { /* istanbul ignore next */ case "/": { return false; } case "\\": if (inClass && pattern.charAt(i + 1) === "-") { re += c; continue; } clearStateChar(); escaping = true; continue; // the various stateChar values // for the "extglob" stuff. case "?": case "*": case "+": case "@": case "!": this.debug("%s %s %s %j <-- stateChar", pattern, i, re, c); if (inClass) { this.debug(" in class"); if (c === "!" && i === classStart + 1) c = "^"; re += c; continue; } this.debug("call clearStateChar %j", stateChar); clearStateChar(); stateChar = c; if (options.noext) clearStateChar(); continue; case "(": { if (inClass) { re += "("; continue; } if (!stateChar) { re += "\\("; continue; } const plEntry = { type: stateChar, start: i - 1, reStart: re.length, open: plTypes[stateChar].open, close: plTypes[stateChar].close }; this.debug(this.pattern, " ", plEntry); patternListStack.push(plEntry); re += plEntry.open; if (plEntry.start === 0 && plEntry.type !== "!") { dotTravAllowed = true; re += subPatternStart(pattern.slice(i + 1)); } this.debug("plType %j %j", stateChar, re); stateChar = false; continue; } case ")": { const plEntry = patternListStack[patternListStack.length - 1]; if (inClass || !plEntry) { re += "\\)"; continue; } patternListStack.pop(); clearStateChar(); hasMagic = true; pl = plEntry; re += pl.close; if (pl.type === "!") { negativeLists.push(Object.assign(pl, { reEnd: re.length })); } continue; } case "|": { const plEntry = patternListStack[patternListStack.length - 1]; if (inClass || !plEntry) { re += "\\|"; continue; } clearStateChar(); re += "|"; if (plEntry.start === 0 && plEntry.type !== "!") { dotTravAllowed = true; re += subPatternStart(pattern.slice(i + 1)); } continue; } // these are mostly the same in regexp and glob case "[": clearStateChar(); if (inClass) { re += "\\" + c; continue; } inClass = true; classStart = i; reClassStart = re.length; re += c; continue; case "]": if (i === classStart + 1 || !inClass) { re += "\\" + c; continue; } cs = pattern.substring(classStart + 1, i); try { RegExp("[" + braExpEscape(charUnescape(cs)) + "]"); re += c; } catch (er) { re = re.substring(0, reClassStart) + "(?:$.)"; } hasMagic = true; inClass = false; continue; default: clearStateChar(); if (reSpecials[c] && !(c === "^" && inClass)) { re += "\\"; } re += c; break; } } if (inClass) { cs = pattern.slice(classStart + 1); sp = this.parse(cs, SUBPARSE); re = re.substring(0, reClassStart) + "\\[" + sp[0]; hasMagic = hasMagic || sp[1]; } for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { let tail; tail = re.slice(pl.reStart + pl.open.length); this.debug("setting tail", re, pl); tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_, $1, $2) => { if (!$2) { $2 = "\\"; } return $1 + $1 + $2 + "|"; }); this.debug("tail=%j\n %s", tail, tail, pl, re); const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type; hasMagic = true; re = re.slice(0, pl.reStart) + t + "\\(" + tail; } clearStateChar(); if (escaping) { re += "\\\\"; } const addPatternStart = addPatternStartSet[re.charAt(0)]; for (let n = negativeLists.length - 1; n > -1; n--) { const nl = negativeLists[n]; const nlBefore = re.slice(0, nl.reStart); const nlFirst = re.slice(nl.reStart, nl.reEnd - 8); let nlAfter = re.slice(nl.reEnd); const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter; const closeParensBefore = nlBefore.split(")").length; const openParensBefore = nlBefore.split("(").length - closeParensBefore; let cleanAfter = nlAfter; for (let i = 0; i < openParensBefore; i++) { cleanAfter = cleanAfter.replace(/\)[+*?]?/, ""); } nlAfter = cleanAfter; const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : ""; re = nlBefore + nlFirst + nlAfter + dollar + nlLast; } if (re !== "" && hasMagic) { re = "(?=.)" + re; } if (addPatternStart) { re = patternStart() + re; } if (isSub === SUBPARSE) { return [re, hasMagic]; } if (options.nocase && !hasMagic) { hasMagic = pattern.toUpperCase() !== pattern.toLowerCase(); } if (!hasMagic) { return globUnescape(pattern); } const flags = options.nocase ? "i" : ""; try { return Object.assign(new RegExp("^" + re + "$", flags), { _glob: pattern, _src: re }); } catch (er) { return new RegExp("$."); } } makeRe() { if (this.regexp || this.regexp === false) return this.regexp; const set = this.set; if (!set.length) { this.regexp = false; return this.regexp; } const options = this.options; const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot; const flags = options.nocase ? "i" : ""; let re = set.map((pattern) => { pattern = pattern.map( (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src ).reduce((set2, p) => { if (!(set2[set2.length - 1] === GLOBSTAR && p === GLOBSTAR)) { set2.push(p); } return set2; }, []); pattern.forEach((p, i) => { if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) { return; } if (i === 0) { if (pattern.length > 1) { pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1]; } else { pattern[i] = twoStar; } } else if (i === pattern.length - 1) { pattern[i - 1] += "(?:\\/|" + twoStar + ")?"; } else { pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1]; pattern[i + 1] = GLOBSTAR; } }); return pattern.filter((p) => p !== GLOBSTAR).join("/"); }).join("|"); re = "^(?:" + re + ")$"; if (this.negate) re = "^(?!" + re + ").*$"; try { this.regexp = new RegExp(re, flags); } catch (ex) { this.regexp = false; } return this.regexp; } match(f, partial = this.partial) { this.debug("match", f, this.pattern); if (this.comment) return false; if (this.empty) return f === ""; if (f === "/" && partial) return true; const options = this.options; if (path2.sep !== "/") { f = f.split(path2.sep).join("/"); } f = f.split(slashSplit); this.debug(this.pattern, "split", f); const set = this.set; this.debug(this.pattern, "set", set); let filename; for (let i = f.length - 1; i >= 0; i--) { filename = f[i]; if (filename) break; } for (let i = 0; i < set.length; i++) { const pattern = set[i]; let file = f; if (options.matchBase && pattern.length === 1) { file = [filename]; } const hit = this.matchOne(file, pattern, partial); if (hit) { if (options.flipNegate) return true; return !this.negate; } } if (options.flipNegate) return false; return this.negate; } static defaults(def) { return minimatch.defaults(def).Minimatch; } }; minimatch.Minimatch = Minimatch; } }); // ../node_modules/.pnpm/ignore-walk@5.0.1/node_modules/ignore-walk/lib/index.js var require_lib55 = __commonJS({ "../node_modules/.pnpm/ignore-walk@5.0.1/node_modules/ignore-walk/lib/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var path2 = require("path"); var EE = require("events").EventEmitter; var Minimatch = require_minimatch().Minimatch; var Walker = class _Walker extends EE { constructor(opts) { opts = opts || {}; super(opts); this.isSymbolicLink = opts.isSymbolicLink; this.path = opts.path || process.cwd(); this.basename = path2.basename(this.path); this.ignoreFiles = opts.ignoreFiles || [".ignore"]; this.ignoreRules = {}; this.parent = opts.parent || null; this.includeEmpty = !!opts.includeEmpty; this.root = this.parent ? this.parent.root : this.path; this.follow = !!opts.follow; this.result = this.parent ? this.parent.result : /* @__PURE__ */ new Set(); this.entries = null; this.sawError = false; } sort(a, b) { return a.localeCompare(b, "en"); } emit(ev, data) { let ret2 = false; if (!(this.sawError && ev === "error")) { if (ev === "error") { this.sawError = true; } else if (ev === "done" && !this.parent) { data = Array.from(data).map((e) => /^@/.test(e) ? `./${e}` : e).sort(this.sort); this.result = data; } if (ev === "error" && this.parent) { ret2 = this.parent.emit("error", data); } else { ret2 = super.emit(ev, data); } } return ret2; } start() { fs.readdir(this.path, (er, entries) => er ? this.emit("error", er) : this.onReaddir(entries)); return this; } isIgnoreFile(e) { return e !== "." && e !== ".." && this.ignoreFiles.indexOf(e) !== -1; } onReaddir(entries) { this.entries = entries; if (entries.length === 0) { if (this.includeEmpty) { this.result.add(this.path.slice(this.root.length + 1)); } this.emit("done", this.result); } else { const hasIg = this.entries.some((e) => this.isIgnoreFile(e)); if (hasIg) { this.addIgnoreFiles(); } else { this.filterEntries(); } } } addIgnoreFiles() { const newIg = this.entries.filter((e) => this.isIgnoreFile(e)); let igCount = newIg.length; const then = (_) => { if (--igCount === 0) { this.filterEntries(); } }; newIg.forEach((e) => this.addIgnoreFile(e, then)); } addIgnoreFile(file, then) { const ig = path2.resolve(this.path, file); fs.readFile(ig, "utf8", (er, data) => er ? this.emit("error", er) : this.onReadIgnoreFile(file, data, then)); } onReadIgnoreFile(file, data, then) { const mmopt = { matchBase: true, dot: true, flipNegate: true, nocase: true }; const rules = data.split(/\r?\n/).filter((line) => !/^#|^$/.test(line.trim())).map((rule) => { return new Minimatch(rule.trim(), mmopt); }); this.ignoreRules[file] = rules; then(); } filterEntries() { const filtered = this.entries.map((entry) => { const passFile = this.filterEntry(entry); const passDir = this.filterEntry(entry, true); return passFile || passDir ? [entry, passFile, passDir] : false; }).filter((e) => e); let entryCount = filtered.length; if (entryCount === 0) { this.emit("done", this.result); } else { const then = (_) => { if (--entryCount === 0) { this.emit("done", this.result); } }; filtered.forEach((filt) => { const entry = filt[0]; const file = filt[1]; const dir = filt[2]; this.stat({ entry, file, dir }, then); }); } } onstat({ st, entry, file, dir, isSymbolicLink }, then) { const abs = this.path + "/" + entry; if (!st.isDirectory()) { if (file) { this.result.add(abs.slice(this.root.length + 1)); } then(); } else { if (dir) { this.walker(entry, { isSymbolicLink }, then); } else { then(); } } } stat({ entry, file, dir }, then) { const abs = this.path + "/" + entry; fs.lstat(abs, (lstatErr, lstatResult) => { if (lstatErr) { this.emit("error", lstatErr); } else { const isSymbolicLink = lstatResult.isSymbolicLink(); if (this.follow && isSymbolicLink) { fs.stat(abs, (statErr, statResult) => { if (statErr) { this.emit("error", statErr); } else { this.onstat({ st: statResult, entry, file, dir, isSymbolicLink }, then); } }); } else { this.onstat({ st: lstatResult, entry, file, dir, isSymbolicLink }, then); } } }); } walkerOpt(entry, opts) { return { path: this.path + "/" + entry, parent: this, ignoreFiles: this.ignoreFiles, follow: this.follow, includeEmpty: this.includeEmpty, ...opts }; } walker(entry, opts, then) { new _Walker(this.walkerOpt(entry, opts)).on("done", then).start(); } filterEntry(entry, partial) { let included = true; if (this.parent && this.parent.filterEntry) { var pt = this.basename + "/" + entry; included = this.parent.filterEntry(pt, partial); } this.ignoreFiles.forEach((f) => { if (this.ignoreRules[f]) { this.ignoreRules[f].forEach((rule) => { if (rule.negate !== included) { const match = rule.match("/" + entry) || rule.match(entry) || !!partial && (rule.match("/" + entry + "/") || rule.match(entry + "/")) || !!partial && rule.negate && (rule.match("/" + entry, true) || rule.match(entry, true)); if (match) { included = rule.negate; } } }); } }); return included; } }; var WalkerSync = class _WalkerSync extends Walker { start() { this.onReaddir(fs.readdirSync(this.path)); return this; } addIgnoreFile(file, then) { const ig = path2.resolve(this.path, file); this.onReadIgnoreFile(file, fs.readFileSync(ig, "utf8"), then); } stat({ entry, file, dir }, then) { const abs = this.path + "/" + entry; let st = fs.lstatSync(abs); const isSymbolicLink = st.isSymbolicLink(); if (this.follow && isSymbolicLink) { st = fs.statSync(abs); } this.onstat({ st, entry, file, dir, isSymbolicLink }, then); } walker(entry, opts, then) { new _WalkerSync(this.walkerOpt(entry, opts)).start(); then(); } }; var walk = (opts, callback) => { const p = new Promise((resolve, reject) => { new Walker(opts).on("done", resolve).on("error", reject).start(); }); return callback ? p.then((res) => callback(null, res), callback) : p; }; var walkSync = (opts) => new WalkerSync(opts).start().result; module2.exports = walk; walk.sync = walkSync; walk.Walker = Walker; walk.WalkerSync = WalkerSync; } }); // ../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/old.js var require_old = __commonJS({ "../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/old.js"(exports2) { var pathModule = require("path"); var isWindows = process.platform === "win32"; var fs = require("fs"); var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG); function rethrow() { var callback; if (DEBUG) { var backtrace = new Error(); callback = debugCallback; } else callback = missingCallback; return callback; function debugCallback(err) { if (err) { backtrace.message = err.message; err = backtrace; missingCallback(err); } } function missingCallback(err) { if (err) { if (process.throwDeprecation) throw err; else if (!process.noDeprecation) { var msg = "fs: missing callback " + (err.stack || err.message); if (process.traceDeprecation) console.trace(msg); else console.error(msg); } } } } function maybeCallback(cb) { return typeof cb === "function" ? cb : rethrow(); } var normalize = pathModule.normalize; if (isWindows) { nextPartRe = /(.*?)(?:[\/\\]+|$)/g; } else { nextPartRe = /(.*?)(?:[\/]+|$)/g; } var nextPartRe; if (isWindows) { splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/; } else { splitRootRe = /^[\/]*/; } var splitRootRe; exports2.realpathSync = function realpathSync(p, cache) { p = pathModule.resolve(p); if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { return cache[p]; } var original = p, seenLinks = {}, knownHard = {}; var pos; var current; var base; var previous; start(); function start() { var m = splitRootRe.exec(p); pos = m[0].length; current = m[0]; base = m[0]; previous = ""; if (isWindows && !knownHard[base]) { fs.lstatSync(base); knownHard[base] = true; } } while (pos < p.length) { nextPartRe.lastIndex = pos; var result2 = nextPartRe.exec(p); previous = current; current += result2[0]; base = previous + result2[1]; pos = nextPartRe.lastIndex; if (knownHard[base] || cache && cache[base] === base) { continue; } var resolvedLink; if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { resolvedLink = cache[base]; } else { var stat = fs.lstatSync(base); if (!stat.isSymbolicLink()) { knownHard[base] = true; if (cache) cache[base] = base; continue; } var linkTarget = null; if (!isWindows) { var id = stat.dev.toString(32) + ":" + stat.ino.toString(32); if (seenLinks.hasOwnProperty(id)) { linkTarget = seenLinks[id]; } } if (linkTarget === null) { fs.statSync(base); linkTarget = fs.readlinkSync(base); } resolvedLink = pathModule.resolve(previous, linkTarget); if (cache) cache[base] = resolvedLink; if (!isWindows) seenLinks[id] = linkTarget; } p = pathModule.resolve(resolvedLink, p.slice(pos)); start(); } if (cache) cache[original] = p; return p; }; exports2.realpath = function realpath(p, cache, cb) { if (typeof cb !== "function") { cb = maybeCallback(cache); cache = null; } p = pathModule.resolve(p); if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { return process.nextTick(cb.bind(null, null, cache[p])); } var original = p, seenLinks = {}, knownHard = {}; var pos; var current; var base; var previous; start(); function start() { var m = splitRootRe.exec(p); pos = m[0].length; current = m[0]; base = m[0]; previous = ""; if (isWindows && !knownHard[base]) { fs.lstat(base, function(err) { if (err) return cb(err); knownHard[base] = true; LOOP(); }); } else { process.nextTick(LOOP); } } function LOOP() { if (pos >= p.length) { if (cache) cache[original] = p; return cb(null, p); } nextPartRe.lastIndex = pos; var result2 = nextPartRe.exec(p); previous = current; current += result2[0]; base = previous + result2[1]; pos = nextPartRe.lastIndex; if (knownHard[base] || cache && cache[base] === base) { return process.nextTick(LOOP); } if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { return gotResolvedLink(cache[base]); } return fs.lstat(base, gotStat); } function gotStat(err, stat) { if (err) return cb(err); if (!stat.isSymbolicLink()) { knownHard[base] = true; if (cache) cache[base] = base; return process.nextTick(LOOP); } if (!isWindows) { var id = stat.dev.toString(32) + ":" + stat.ino.toString(32); if (seenLinks.hasOwnProperty(id)) { return gotTarget(null, seenLinks[id], base); } } fs.stat(base, function(err2) { if (err2) return cb(err2); fs.readlink(base, function(err3, target) { if (!isWindows) seenLinks[id] = target; gotTarget(err3, target); }); }); } function gotTarget(err, target, base2) { if (err) return cb(err); var resolvedLink = pathModule.resolve(previous, target); if (cache) cache[base2] = resolvedLink; gotResolvedLink(resolvedLink); } function gotResolvedLink(resolvedLink) { p = pathModule.resolve(resolvedLink, p.slice(pos)); start(); } }; } }); // ../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/index.js var require_fs2 = __commonJS({ "../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/index.js"(exports2, module2) { module2.exports = realpath; realpath.realpath = realpath; realpath.sync = realpathSync; realpath.realpathSync = realpathSync; realpath.monkeypatch = monkeypatch; realpath.unmonkeypatch = unmonkeypatch; var fs = require("fs"); var origRealpath = fs.realpath; var origRealpathSync = fs.realpathSync; var version2 = process.version; var ok = /^v[0-5]\./.test(version2); var old = require_old(); function newError(er) { return er && er.syscall === "realpath" && (er.code === "ELOOP" || er.code === "ENOMEM" || er.code === "ENAMETOOLONG"); } function realpath(p, cache, cb) { if (ok) { return origRealpath(p, cache, cb); } if (typeof cache === "function") { cb = cache; cache = null; } origRealpath(p, cache, function(er, result2) { if (newError(er)) { old.realpath(p, cache, cb); } else { cb(er, result2); } }); } function realpathSync(p, cache) { if (ok) { return origRealpathSync(p, cache); } try { return origRealpathSync(p, cache); } catch (er) { if (newError(er)) { return old.realpathSync(p, cache); } else { throw er; } } } function monkeypatch() { fs.realpath = realpath; fs.realpathSync = realpathSync; } function unmonkeypatch() { fs.realpath = origRealpath; fs.realpathSync = origRealpathSync; } } }); // ../node_modules/.pnpm/glob@8.1.0/node_modules/glob/common.js var require_common4 = __commonJS({ "../node_modules/.pnpm/glob@8.1.0/node_modules/glob/common.js"(exports2) { exports2.setopts = setopts; exports2.ownProp = ownProp; exports2.makeAbs = makeAbs; exports2.finish = finish; exports2.mark = mark; exports2.isIgnored = isIgnored; exports2.childrenIgnored = childrenIgnored; function ownProp(obj, field) { return Object.prototype.hasOwnProperty.call(obj, field); } var fs = require("fs"); var path2 = require("path"); var minimatch = require_minimatch(); var isAbsolute = require("path").isAbsolute; var Minimatch = minimatch.Minimatch; function alphasort(a, b) { return a.localeCompare(b, "en"); } function setupIgnores(self2, options) { self2.ignore = options.ignore || []; if (!Array.isArray(self2.ignore)) self2.ignore = [self2.ignore]; if (self2.ignore.length) { self2.ignore = self2.ignore.map(ignoreMap); } } function ignoreMap(pattern) { var gmatcher = null; if (pattern.slice(-3) === "/**") { var gpattern = pattern.replace(/(\/\*\*)+$/, ""); gmatcher = new Minimatch(gpattern, { dot: true }); } return { matcher: new Minimatch(pattern, { dot: true }), gmatcher }; } function setopts(self2, pattern, options) { if (!options) options = {}; if (options.matchBase && -1 === pattern.indexOf("/")) { if (options.noglobstar) { throw new Error("base matching requires globstar"); } pattern = "**/" + pattern; } self2.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false; if (self2.windowsPathsNoEscape) { pattern = pattern.replace(/\\/g, "/"); } self2.silent = !!options.silent; self2.pattern = pattern; self2.strict = options.strict !== false; self2.realpath = !!options.realpath; self2.realpathCache = options.realpathCache || /* @__PURE__ */ Object.create(null); self2.follow = !!options.follow; self2.dot = !!options.dot; self2.mark = !!options.mark; self2.nodir = !!options.nodir; if (self2.nodir) self2.mark = true; self2.sync = !!options.sync; self2.nounique = !!options.nounique; self2.nonull = !!options.nonull; self2.nosort = !!options.nosort; self2.nocase = !!options.nocase; self2.stat = !!options.stat; self2.noprocess = !!options.noprocess; self2.absolute = !!options.absolute; self2.fs = options.fs || fs; self2.maxLength = options.maxLength || Infinity; self2.cache = options.cache || /* @__PURE__ */ Object.create(null); self2.statCache = options.statCache || /* @__PURE__ */ Object.create(null); self2.symlinks = options.symlinks || /* @__PURE__ */ Object.create(null); setupIgnores(self2, options); self2.changedCwd = false; var cwd = process.cwd(); if (!ownProp(options, "cwd")) self2.cwd = path2.resolve(cwd); else { self2.cwd = path2.resolve(options.cwd); self2.changedCwd = self2.cwd !== cwd; } self2.root = options.root || path2.resolve(self2.cwd, "/"); self2.root = path2.resolve(self2.root); self2.cwdAbs = isAbsolute(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd); self2.nomount = !!options.nomount; if (process.platform === "win32") { self2.root = self2.root.replace(/\\/g, "/"); self2.cwd = self2.cwd.replace(/\\/g, "/"); self2.cwdAbs = self2.cwdAbs.replace(/\\/g, "/"); } options.nonegate = true; options.nocomment = true; self2.minimatch = new Minimatch(pattern, options); self2.options = self2.minimatch.options; } function finish(self2) { var nou = self2.nounique; var all = nou ? [] : /* @__PURE__ */ Object.create(null); for (var i = 0, l = self2.matches.length; i < l; i++) { var matches = self2.matches[i]; if (!matches || Object.keys(matches).length === 0) { if (self2.nonull) { var literal = self2.minimatch.globSet[i]; if (nou) all.push(literal); else all[literal] = true; } } else { var m = Object.keys(matches); if (nou) all.push.apply(all, m); else m.forEach(function(m2) { all[m2] = true; }); } } if (!nou) all = Object.keys(all); if (!self2.nosort) all = all.sort(alphasort); if (self2.mark) { for (var i = 0; i < all.length; i++) { all[i] = self2._mark(all[i]); } if (self2.nodir) { all = all.filter(function(e) { var notDir = !/\/$/.test(e); var c = self2.cache[e] || self2.cache[makeAbs(self2, e)]; if (notDir && c) notDir = c !== "DIR" && !Array.isArray(c); return notDir; }); } } if (self2.ignore.length) all = all.filter(function(m2) { return !isIgnored(self2, m2); }); self2.found = all; } function mark(self2, p) { var abs = makeAbs(self2, p); var c = self2.cache[abs]; var m = p; if (c) { var isDir = c === "DIR" || Array.isArray(c); var slash = p.slice(-1) === "/"; if (isDir && !slash) m += "/"; else if (!isDir && slash) m = m.slice(0, -1); if (m !== p) { var mabs = makeAbs(self2, m); self2.statCache[mabs] = self2.statCache[abs]; self2.cache[mabs] = self2.cache[abs]; } } return m; } function makeAbs(self2, f) { var abs = f; if (f.charAt(0) === "/") { abs = path2.join(self2.root, f); } else if (isAbsolute(f) || f === "") { abs = f; } else if (self2.changedCwd) { abs = path2.resolve(self2.cwd, f); } else { abs = path2.resolve(f); } if (process.platform === "win32") abs = abs.replace(/\\/g, "/"); return abs; } function isIgnored(self2, path3) { if (!self2.ignore.length) return false; return self2.ignore.some(function(item) { return item.matcher.match(path3) || !!(item.gmatcher && item.gmatcher.match(path3)); }); } function childrenIgnored(self2, path3) { if (!self2.ignore.length) return false; return self2.ignore.some(function(item) { return !!(item.gmatcher && item.gmatcher.match(path3)); }); } } }); // ../node_modules/.pnpm/glob@8.1.0/node_modules/glob/sync.js var require_sync = __commonJS({ "../node_modules/.pnpm/glob@8.1.0/node_modules/glob/sync.js"(exports2, module2) { module2.exports = globSync; globSync.GlobSync = GlobSync; var rp = require_fs2(); var minimatch = require_minimatch(); var Minimatch = minimatch.Minimatch; var Glob = require_glob().Glob; var util = require("util"); var path2 = require("path"); var assert = require("assert"); var isAbsolute = require("path").isAbsolute; var common = require_common4(); var setopts = common.setopts; var ownProp = common.ownProp; var childrenIgnored = common.childrenIgnored; var isIgnored = common.isIgnored; function globSync(pattern, options) { if (typeof options === "function" || arguments.length === 3) throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167"); return new GlobSync(pattern, options).found; } function GlobSync(pattern, options) { if (!pattern) throw new Error("must provide pattern"); if (typeof options === "function" || arguments.length === 3) throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167"); if (!(this instanceof GlobSync)) return new GlobSync(pattern, options); setopts(this, pattern, options); if (this.noprocess) return this; var n = this.minimatch.set.length; this.matches = new Array(n); for (var i = 0; i < n; i++) { this._process(this.minimatch.set[i], i, false); } this._finish(); } GlobSync.prototype._finish = function() { assert.ok(this instanceof GlobSync); if (this.realpath) { var self2 = this; this.matches.forEach(function(matchset, index) { var set = self2.matches[index] = /* @__PURE__ */ Object.create(null); for (var p in matchset) { try { p = self2._makeAbs(p); var real = rp.realpathSync(p, self2.realpathCache); set[real] = true; } catch (er) { if (er.syscall === "stat") set[self2._makeAbs(p)] = true; else throw er; } } }); } common.finish(this); }; GlobSync.prototype._process = function(pattern, index, inGlobStar) { assert.ok(this instanceof GlobSync); var n = 0; while (typeof pattern[n] === "string") { n++; } var prefix; switch (n) { // if not, then this is rather simple case pattern.length: this._processSimple(pattern.join("/"), index); return; case 0: prefix = null; break; default: prefix = pattern.slice(0, n).join("/"); break; } var remain = pattern.slice(n); var read; if (prefix === null) read = "."; else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) { return typeof p === "string" ? p : "[*]"; }).join("/"))) { if (!prefix || !isAbsolute(prefix)) prefix = "/" + prefix; read = prefix; } else read = prefix; var abs = this._makeAbs(read); if (childrenIgnored(this, read)) return; var isGlobStar = remain[0] === minimatch.GLOBSTAR; if (isGlobStar) this._processGlobStar(prefix, read, abs, remain, index, inGlobStar); else this._processReaddir(prefix, read, abs, remain, index, inGlobStar); }; GlobSync.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar) { var entries = this._readdir(abs, inGlobStar); if (!entries) return; var pn = remain[0]; var negate = !!this.minimatch.negate; var rawGlob = pn._glob; var dotOk = this.dot || rawGlob.charAt(0) === "."; var matchedEntries = []; for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (e.charAt(0) !== "." || dotOk) { var m; if (negate && !prefix) { m = !e.match(pn); } else { m = e.match(pn); } if (m) matchedEntries.push(e); } } var len = matchedEntries.length; if (len === 0) return; if (remain.length === 1 && !this.mark && !this.stat) { if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; if (prefix) { if (prefix.slice(-1) !== "/") e = prefix + "/" + e; else e = prefix + e; } if (e.charAt(0) === "/" && !this.nomount) { e = path2.join(this.root, e); } this._emitMatch(index, e); } return; } remain.shift(); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; var newPattern; if (prefix) newPattern = [prefix, e]; else newPattern = [e]; this._process(newPattern.concat(remain), index, inGlobStar); } }; GlobSync.prototype._emitMatch = function(index, e) { if (isIgnored(this, e)) return; var abs = this._makeAbs(e); if (this.mark) e = this._mark(e); if (this.absolute) { e = abs; } if (this.matches[index][e]) return; if (this.nodir) { var c = this.cache[abs]; if (c === "DIR" || Array.isArray(c)) return; } this.matches[index][e] = true; if (this.stat) this._stat(e); }; GlobSync.prototype._readdirInGlobStar = function(abs) { if (this.follow) return this._readdir(abs, false); var entries; var lstat; var stat; try { lstat = this.fs.lstatSync(abs); } catch (er) { if (er.code === "ENOENT") { return null; } } var isSym = lstat && lstat.isSymbolicLink(); this.symlinks[abs] = isSym; if (!isSym && lstat && !lstat.isDirectory()) this.cache[abs] = "FILE"; else entries = this._readdir(abs, false); return entries; }; GlobSync.prototype._readdir = function(abs, inGlobStar) { var entries; if (inGlobStar && !ownProp(this.symlinks, abs)) return this._readdirInGlobStar(abs); if (ownProp(this.cache, abs)) { var c = this.cache[abs]; if (!c || c === "FILE") return null; if (Array.isArray(c)) return c; } try { return this._readdirEntries(abs, this.fs.readdirSync(abs)); } catch (er) { this._readdirError(abs, er); return null; } }; GlobSync.prototype._readdirEntries = function(abs, entries) { if (!this.mark && !this.stat) { for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (abs === "/") e = abs + e; else e = abs + "/" + e; this.cache[e] = true; } } this.cache[abs] = entries; return entries; }; GlobSync.prototype._readdirError = function(f, er) { switch (er.code) { case "ENOTSUP": // https://github.com/isaacs/node-glob/issues/205 case "ENOTDIR": var abs = this._makeAbs(f); this.cache[abs] = "FILE"; if (abs === this.cwdAbs) { var error = new Error(er.code + " invalid cwd " + this.cwd); error.path = this.cwd; error.code = er.code; throw error; } break; case "ENOENT": // not terribly unusual case "ELOOP": case "ENAMETOOLONG": case "UNKNOWN": this.cache[this._makeAbs(f)] = false; break; default: this.cache[this._makeAbs(f)] = false; if (this.strict) throw er; if (!this.silent) console.error("glob error", er); break; } }; GlobSync.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar) { var entries = this._readdir(abs, inGlobStar); if (!entries) return; var remainWithoutGlobStar = remain.slice(1); var gspref = prefix ? [prefix] : []; var noGlobStar = gspref.concat(remainWithoutGlobStar); this._process(noGlobStar, index, false); var len = entries.length; var isSym = this.symlinks[abs]; if (isSym && inGlobStar) return; for (var i = 0; i < len; i++) { var e = entries[i]; if (e.charAt(0) === "." && !this.dot) continue; var instead = gspref.concat(entries[i], remainWithoutGlobStar); this._process(instead, index, true); var below = gspref.concat(entries[i], remain); this._process(below, index, true); } }; GlobSync.prototype._processSimple = function(prefix, index) { var exists = this._stat(prefix); if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); if (!exists) return; if (prefix && isAbsolute(prefix) && !this.nomount) { var trail = /[\/\\]$/.test(prefix); if (prefix.charAt(0) === "/") { prefix = path2.join(this.root, prefix); } else { prefix = path2.resolve(this.root, prefix); if (trail) prefix += "/"; } } if (process.platform === "win32") prefix = prefix.replace(/\\/g, "/"); this._emitMatch(index, prefix); }; GlobSync.prototype._stat = function(f) { var abs = this._makeAbs(f); var needDir = f.slice(-1) === "/"; if (f.length > this.maxLength) return false; if (!this.stat && ownProp(this.cache, abs)) { var c = this.cache[abs]; if (Array.isArray(c)) c = "DIR"; if (!needDir || c === "DIR") return c; if (needDir && c === "FILE") return false; } var exists; var stat = this.statCache[abs]; if (!stat) { var lstat; try { lstat = this.fs.lstatSync(abs); } catch (er) { if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) { this.statCache[abs] = false; return false; } } if (lstat && lstat.isSymbolicLink()) { try { stat = this.fs.statSync(abs); } catch (er) { stat = lstat; } } else { stat = lstat; } } this.statCache[abs] = stat; var c = true; if (stat) c = stat.isDirectory() ? "DIR" : "FILE"; this.cache[abs] = this.cache[abs] || c; if (needDir && c === "FILE") return false; return c; }; GlobSync.prototype._mark = function(p) { return common.mark(this, p); }; GlobSync.prototype._makeAbs = function(f) { return common.makeAbs(this, f); }; } }); // ../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js var require_wrappy = __commonJS({ "../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports2, module2) { module2.exports = wrappy; function wrappy(fn, cb) { if (fn && cb) return wrappy(fn)(cb); if (typeof fn !== "function") throw new TypeError("need wrapper function"); Object.keys(fn).forEach(function(k) { wrapper[k] = fn[k]; }); return wrapper; function wrapper() { var args = new Array(arguments.length); for (var i = 0; i < args.length; i++) { args[i] = arguments[i]; } var ret2 = fn.apply(this, args); var cb2 = args[args.length - 1]; if (typeof ret2 === "function" && ret2 !== cb2) { Object.keys(cb2).forEach(function(k) { ret2[k] = cb2[k]; }); } return ret2; } } } }); // ../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js var require_once = __commonJS({ "../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports2, module2) { var wrappy = require_wrappy(); module2.exports = wrappy(once); module2.exports.strict = wrappy(onceStrict); once.proto = once(function() { Object.defineProperty(Function.prototype, "once", { value: function() { return once(this); }, configurable: true }); Object.defineProperty(Function.prototype, "onceStrict", { value: function() { return onceStrict(this); }, configurable: true }); }); function once(fn) { var f = function() { if (f.called) return f.value; f.called = true; return f.value = fn.apply(this, arguments); }; f.called = false; return f; } function onceStrict(fn) { var f = function() { if (f.called) throw new Error(f.onceError); f.called = true; return f.value = fn.apply(this, arguments); }; var name = fn.name || "Function wrapped with `once`"; f.onceError = name + " shouldn't be called more than once"; f.called = false; return f; } } }); // ../node_modules/.pnpm/inflight@1.0.6/node_modules/inflight/inflight.js var require_inflight = __commonJS({ "../node_modules/.pnpm/inflight@1.0.6/node_modules/inflight/inflight.js"(exports2, module2) { var wrappy = require_wrappy(); var reqs = /* @__PURE__ */ Object.create(null); var once = require_once(); module2.exports = wrappy(inflight); function inflight(key, cb) { if (reqs[key]) { reqs[key].push(cb); return null; } else { reqs[key] = [cb]; return makeres(key); } } function makeres(key) { return once(function RES() { var cbs = reqs[key]; var len = cbs.length; var args = slice(arguments); try { for (var i = 0; i < len; i++) { cbs[i].apply(null, args); } } finally { if (cbs.length > len) { cbs.splice(0, len); process.nextTick(function() { RES.apply(null, args); }); } else { delete reqs[key]; } } }); } function slice(args) { var length = args.length; var array = []; for (var i = 0; i < length; i++) array[i] = args[i]; return array; } } }); // ../node_modules/.pnpm/glob@8.1.0/node_modules/glob/glob.js var require_glob = __commonJS({ "../node_modules/.pnpm/glob@8.1.0/node_modules/glob/glob.js"(exports2, module2) { module2.exports = glob; var rp = require_fs2(); var minimatch = require_minimatch(); var Minimatch = minimatch.Minimatch; var inherits = require_inherits(); var EE = require("events").EventEmitter; var path2 = require("path"); var assert = require("assert"); var isAbsolute = require("path").isAbsolute; var globSync = require_sync(); var common = require_common4(); var setopts = common.setopts; var ownProp = common.ownProp; var inflight = require_inflight(); var util = require("util"); var childrenIgnored = common.childrenIgnored; var isIgnored = common.isIgnored; var once = require_once(); function glob(pattern, options, cb) { if (typeof options === "function") cb = options, options = {}; if (!options) options = {}; if (options.sync) { if (cb) throw new TypeError("callback provided to sync glob"); return globSync(pattern, options); } return new Glob(pattern, options, cb); } glob.sync = globSync; var GlobSync = glob.GlobSync = globSync.GlobSync; glob.glob = glob; function extend(origin, add) { if (add === null || typeof add !== "object") { return origin; } var keys = Object.keys(add); var i = keys.length; while (i--) { origin[keys[i]] = add[keys[i]]; } return origin; } glob.hasMagic = function(pattern, options_) { var options = extend({}, options_); options.noprocess = true; var g = new Glob(pattern, options); var set = g.minimatch.set; if (!pattern) return false; if (set.length > 1) return true; for (var j = 0; j < set[0].length; j++) { if (typeof set[0][j] !== "string") return true; } return false; }; glob.Glob = Glob; inherits(Glob, EE); function Glob(pattern, options, cb) { if (typeof options === "function") { cb = options; options = null; } if (options && options.sync) { if (cb) throw new TypeError("callback provided to sync glob"); return new GlobSync(pattern, options); } if (!(this instanceof Glob)) return new Glob(pattern, options, cb); setopts(this, pattern, options); this._didRealPath = false; var n = this.minimatch.set.length; this.matches = new Array(n); if (typeof cb === "function") { cb = once(cb); this.on("error", cb); this.on("end", function(matches) { cb(null, matches); }); } var self2 = this; this._processing = 0; this._emitQueue = []; this._processQueue = []; this.paused = false; if (this.noprocess) return this; if (n === 0) return done(); var sync = true; for (var i = 0; i < n; i++) { this._process(this.minimatch.set[i], i, false, done); } sync = false; function done() { --self2._processing; if (self2._processing <= 0) { if (sync) { process.nextTick(function() { self2._finish(); }); } else { self2._finish(); } } } } Glob.prototype._finish = function() { assert(this instanceof Glob); if (this.aborted) return; if (this.realpath && !this._didRealpath) return this._realpath(); common.finish(this); this.emit("end", this.found); }; Glob.prototype._realpath = function() { if (this._didRealpath) return; this._didRealpath = true; var n = this.matches.length; if (n === 0) return this._finish(); var self2 = this; for (var i = 0; i < this.matches.length; i++) this._realpathSet(i, next); function next() { if (--n === 0) self2._finish(); } }; Glob.prototype._realpathSet = function(index, cb) { var matchset = this.matches[index]; if (!matchset) return cb(); var found = Object.keys(matchset); var self2 = this; var n = found.length; if (n === 0) return cb(); var set = this.matches[index] = /* @__PURE__ */ Object.create(null); found.forEach(function(p, i) { p = self2._makeAbs(p); rp.realpath(p, self2.realpathCache, function(er, real) { if (!er) set[real] = true; else if (er.syscall === "stat") set[p] = true; else self2.emit("error", er); if (--n === 0) { self2.matches[index] = set; cb(); } }); }); }; Glob.prototype._mark = function(p) { return common.mark(this, p); }; Glob.prototype._makeAbs = function(f) { return common.makeAbs(this, f); }; Glob.prototype.abort = function() { this.aborted = true; this.emit("abort"); }; Glob.prototype.pause = function() { if (!this.paused) { this.paused = true; this.emit("pause"); } }; Glob.prototype.resume = function() { if (this.paused) { this.emit("resume"); this.paused = false; if (this._emitQueue.length) { var eq = this._emitQueue.slice(0); this._emitQueue.length = 0; for (var i = 0; i < eq.length; i++) { var e = eq[i]; this._emitMatch(e[0], e[1]); } } if (this._processQueue.length) { var pq = this._processQueue.slice(0); this._processQueue.length = 0; for (var i = 0; i < pq.length; i++) { var p = pq[i]; this._processing--; this._process(p[0], p[1], p[2], p[3]); } } } }; Glob.prototype._process = function(pattern, index, inGlobStar, cb) { assert(this instanceof Glob); assert(typeof cb === "function"); if (this.aborted) return; this._processing++; if (this.paused) { this._processQueue.push([pattern, index, inGlobStar, cb]); return; } var n = 0; while (typeof pattern[n] === "string") { n++; } var prefix; switch (n) { // if not, then this is rather simple case pattern.length: this._processSimple(pattern.join("/"), index, cb); return; case 0: prefix = null; break; default: prefix = pattern.slice(0, n).join("/"); break; } var remain = pattern.slice(n); var read; if (prefix === null) read = "."; else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) { return typeof p === "string" ? p : "[*]"; }).join("/"))) { if (!prefix || !isAbsolute(prefix)) prefix = "/" + prefix; read = prefix; } else read = prefix; var abs = this._makeAbs(read); if (childrenIgnored(this, read)) return cb(); var isGlobStar = remain[0] === minimatch.GLOBSTAR; if (isGlobStar) this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb); else this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb); }; Glob.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar, cb) { var self2 = this; this._readdir(abs, inGlobStar, function(er, entries) { return self2._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb); }); }; Glob.prototype._processReaddir2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) { if (!entries) return cb(); var pn = remain[0]; var negate = !!this.minimatch.negate; var rawGlob = pn._glob; var dotOk = this.dot || rawGlob.charAt(0) === "."; var matchedEntries = []; for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (e.charAt(0) !== "." || dotOk) { var m; if (negate && !prefix) { m = !e.match(pn); } else { m = e.match(pn); } if (m) matchedEntries.push(e); } } var len = matchedEntries.length; if (len === 0) return cb(); if (remain.length === 1 && !this.mark && !this.stat) { if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; if (prefix) { if (prefix !== "/") e = prefix + "/" + e; else e = prefix + e; } if (e.charAt(0) === "/" && !this.nomount) { e = path2.join(this.root, e); } this._emitMatch(index, e); } return cb(); } remain.shift(); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; var newPattern; if (prefix) { if (prefix !== "/") e = prefix + "/" + e; else e = prefix + e; } this._process([e].concat(remain), index, inGlobStar, cb); } cb(); }; Glob.prototype._emitMatch = function(index, e) { if (this.aborted) return; if (isIgnored(this, e)) return; if (this.paused) { this._emitQueue.push([index, e]); return; } var abs = isAbsolute(e) ? e : this._makeAbs(e); if (this.mark) e = this._mark(e); if (this.absolute) e = abs; if (this.matches[index][e]) return; if (this.nodir) { var c = this.cache[abs]; if (c === "DIR" || Array.isArray(c)) return; } this.matches[index][e] = true; var st = this.statCache[abs]; if (st) this.emit("stat", e, st); this.emit("match", e); }; Glob.prototype._readdirInGlobStar = function(abs, cb) { if (this.aborted) return; if (this.follow) return this._readdir(abs, false, cb); var lstatkey = "lstat\0" + abs; var self2 = this; var lstatcb = inflight(lstatkey, lstatcb_); if (lstatcb) self2.fs.lstat(abs, lstatcb); function lstatcb_(er, lstat) { if (er && er.code === "ENOENT") return cb(); var isSym = lstat && lstat.isSymbolicLink(); self2.symlinks[abs] = isSym; if (!isSym && lstat && !lstat.isDirectory()) { self2.cache[abs] = "FILE"; cb(); } else self2._readdir(abs, false, cb); } }; Glob.prototype._readdir = function(abs, inGlobStar, cb) { if (this.aborted) return; cb = inflight("readdir\0" + abs + "\0" + inGlobStar, cb); if (!cb) return; if (inGlobStar && !ownProp(this.symlinks, abs)) return this._readdirInGlobStar(abs, cb); if (ownProp(this.cache, abs)) { var c = this.cache[abs]; if (!c || c === "FILE") return cb(); if (Array.isArray(c)) return cb(null, c); } var self2 = this; self2.fs.readdir(abs, readdirCb(this, abs, cb)); }; function readdirCb(self2, abs, cb) { return function(er, entries) { if (er) self2._readdirError(abs, er, cb); else self2._readdirEntries(abs, entries, cb); }; } Glob.prototype._readdirEntries = function(abs, entries, cb) { if (this.aborted) return; if (!this.mark && !this.stat) { for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (abs === "/") e = abs + e; else e = abs + "/" + e; this.cache[e] = true; } } this.cache[abs] = entries; return cb(null, entries); }; Glob.prototype._readdirError = function(f, er, cb) { if (this.aborted) return; switch (er.code) { case "ENOTSUP": // https://github.com/isaacs/node-glob/issues/205 case "ENOTDIR": var abs = this._makeAbs(f); this.cache[abs] = "FILE"; if (abs === this.cwdAbs) { var error = new Error(er.code + " invalid cwd " + this.cwd); error.path = this.cwd; error.code = er.code; this.emit("error", error); this.abort(); } break; case "ENOENT": // not terribly unusual case "ELOOP": case "ENAMETOOLONG": case "UNKNOWN": this.cache[this._makeAbs(f)] = false; break; default: this.cache[this._makeAbs(f)] = false; if (this.strict) { this.emit("error", er); this.abort(); } if (!this.silent) console.error("glob error", er); break; } return cb(); }; Glob.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar, cb) { var self2 = this; this._readdir(abs, inGlobStar, function(er, entries) { self2._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb); }); }; Glob.prototype._processGlobStar2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) { if (!entries) return cb(); var remainWithoutGlobStar = remain.slice(1); var gspref = prefix ? [prefix] : []; var noGlobStar = gspref.concat(remainWithoutGlobStar); this._process(noGlobStar, index, false, cb); var isSym = this.symlinks[abs]; var len = entries.length; if (isSym && inGlobStar) return cb(); for (var i = 0; i < len; i++) { var e = entries[i]; if (e.charAt(0) === "." && !this.dot) continue; var instead = gspref.concat(entries[i], remainWithoutGlobStar); this._process(instead, index, true, cb); var below = gspref.concat(entries[i], remain); this._process(below, index, true, cb); } cb(); }; Glob.prototype._processSimple = function(prefix, index, cb) { var self2 = this; this._stat(prefix, function(er, exists) { self2._processSimple2(prefix, index, er, exists, cb); }); }; Glob.prototype._processSimple2 = function(prefix, index, er, exists, cb) { if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); if (!exists) return cb(); if (prefix && isAbsolute(prefix) && !this.nomount) { var trail = /[\/\\]$/.test(prefix); if (prefix.charAt(0) === "/") { prefix = path2.join(this.root, prefix); } else { prefix = path2.resolve(this.root, prefix); if (trail) prefix += "/"; } } if (process.platform === "win32") prefix = prefix.replace(/\\/g, "/"); this._emitMatch(index, prefix); cb(); }; Glob.prototype._stat = function(f, cb) { var abs = this._makeAbs(f); var needDir = f.slice(-1) === "/"; if (f.length > this.maxLength) return cb(); if (!this.stat && ownProp(this.cache, abs)) { var c = this.cache[abs]; if (Array.isArray(c)) c = "DIR"; if (!needDir || c === "DIR") return cb(null, c); if (needDir && c === "FILE") return cb(); } var exists; var stat = this.statCache[abs]; if (stat !== void 0) { if (stat === false) return cb(null, stat); else { var type = stat.isDirectory() ? "DIR" : "FILE"; if (needDir && type === "FILE") return cb(); else return cb(null, type, stat); } } var self2 = this; var statcb = inflight("stat\0" + abs, lstatcb_); if (statcb) self2.fs.lstat(abs, statcb); function lstatcb_(er, lstat) { if (lstat && lstat.isSymbolicLink()) { return self2.fs.stat(abs, function(er2, stat2) { if (er2) self2._stat2(f, abs, null, lstat, cb); else self2._stat2(f, abs, er2, stat2, cb); }); } else { self2._stat2(f, abs, er, lstat, cb); } } }; Glob.prototype._stat2 = function(f, abs, er, stat, cb) { if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) { this.statCache[abs] = false; return cb(); } var needDir = f.slice(-1) === "/"; this.statCache[abs] = stat; if (abs.slice(-1) === "/" && stat && !stat.isDirectory()) return cb(null, false, stat); var c = true; if (stat) c = stat.isDirectory() ? "DIR" : "FILE"; this.cache[abs] = this.cache[abs] || c; if (needDir && c === "FILE") return cb(); return cb(null, c, stat); }; } }); // ../node_modules/.pnpm/npm-packlist@5.1.3/node_modules/npm-packlist/lib/index.js var require_lib56 = __commonJS({ "../node_modules/.pnpm/npm-packlist@5.1.3/node_modules/npm-packlist/lib/index.js"(exports2, module2) { "use strict"; var bundleWalk = require_lib54(); var BundleWalker = bundleWalk.BundleWalker; var ignoreWalk = require_lib55(); var IgnoreWalker = ignoreWalk.Walker; var rootBuiltinRules = Symbol("root-builtin-rules"); var packageNecessaryRules = Symbol("package-necessary-rules"); var path2 = require("path"); var normalizePackageBin = require_lib53(); var packageMustHaveFileNames = "readme|copying|license|licence"; var packageMustHaves = `@(${packageMustHaveFileNames}){,.*[^~$]}`; var packageMustHavesRE = new RegExp(`^(${packageMustHaveFileNames})(\\..*[^~$])?$`, "i"); var fs = require("fs"); var glob = require_glob(); var globify = (pattern) => pattern.split("\\").join("/"); var readOutOfTreeIgnoreFiles = (root, rel, result2 = "") => { for (const file of [".npmignore", ".gitignore"]) { try { const ignoreContent = fs.readFileSync(path2.join(root, file), { encoding: "utf8" }); result2 += ignoreContent + "\n"; break; } catch (err) { if (err.code !== "ENOENT") { throw err; } } } if (!rel) { return result2; } const firstRel = rel.split(path2.sep)[0]; const newRoot = path2.join(root, firstRel); const newRel = path2.relative(newRoot, path2.join(root, rel)); return readOutOfTreeIgnoreFiles(newRoot, newRel, result2); }; var pathHasPkg = (input) => { if (!input.startsWith("node_modules/")) { return false; } const segments = input.slice("node_modules/".length).split("/", 2); return segments[0].startsWith("@") ? segments.length === 2 : true; }; var pkgFromPath = (input) => { const segments = input.slice("node_modules/".length).split("/", 2); return segments[0].startsWith("@") ? segments.join("/") : segments[0]; }; var defaultRules = [ ".npmignore", ".gitignore", "**/.git", "**/.svn", "**/.hg", "**/CVS", "**/.git/**", "**/.svn/**", "**/.hg/**", "**/CVS/**", "/.lock-wscript", "/.wafpickle-*", "/build/config.gypi", "npm-debug.log", "**/.npmrc", ".*.swp", ".DS_Store", "**/.DS_Store/**", "._*", "**/._*/**", "*.orig", "/package-lock.json", "/yarn.lock", "/pnpm-lock.yaml", "/archived-packages/**" ]; var nameIsBadForWindows = (file) => /\*/.test(file); var Walker = class _Walker extends IgnoreWalker { constructor(opt) { opt = opt || {}; opt.ignoreFiles = [ rootBuiltinRules, "package.json", ".npmignore", ".gitignore", packageNecessaryRules ]; opt.includeEmpty = false; opt.path = opt.path || process.cwd(); const followRe = /^(?:\/node_modules\/(?:@[^/]+\/[^/]+|[^/]+)\/)*\/node_modules(?:\/@[^/]+)?$/; const rootPath = opt.parent ? opt.parent.root : opt.path; const followTestPath = opt.path.replace(/\\/g, "/").slice(rootPath.length); opt.follow = followRe.test(followTestPath); super(opt); if (this.isProject) { this.bundled = opt.bundled || []; this.bundledScopes = Array.from(new Set( this.bundled.filter((f) => /^@/.test(f)).map((f) => f.split("/")[0]) )); this.packageJsonCache = this.parent ? this.parent.packageJsonCache : opt.packageJsonCache || /* @__PURE__ */ new Map(); let rules = defaultRules.join("\n") + "\n"; if (opt.prefix && opt.workspaces) { const gPath = globify(opt.path); const gPrefix = globify(opt.prefix); const gWorkspaces = opt.workspaces.map((ws) => globify(ws)); if (gPath !== gPrefix && gWorkspaces.includes(gPath)) { const relpath = path2.relative(opt.prefix, path2.dirname(opt.path)); rules += readOutOfTreeIgnoreFiles(opt.prefix, relpath); } else if (gPath === gPrefix) { rules += opt.workspaces.map((ws) => globify(path2.relative(opt.path, ws))).join("\n"); } } super.onReadIgnoreFile(rootBuiltinRules, rules, (_) => _); } else { this.bundled = []; this.bundledScopes = []; this.packageJsonCache = this.parent.packageJsonCache; } } get isProject() { return !this.parent || this.parent.follow && this.isSymbolicLink; } onReaddir(entries) { if (this.isProject) { entries = entries.filter( (e) => e !== ".git" && !(e === "node_modules" && this.bundled.length === 0) ); } if (!this.isProject || !entries.includes("package.json")) { return super.onReaddir(entries); } const ig = path2.resolve(this.path, "package.json"); if (this.packageJsonCache.has(ig)) { const pkg = this.packageJsonCache.get(ig); if (!pkg || typeof pkg !== "object") { return this.readPackageJson(entries); } return this.getPackageFiles(entries, JSON.stringify(pkg)); } this.readPackageJson(entries); } onReadPackageJson(entries, er, pkg) { if (er) { this.emit("error", er); } else { this.getPackageFiles(entries, pkg); } } mustHaveFilesFromPackage(pkg) { const files = []; if (pkg.browser) { files.push("/" + pkg.browser); } if (pkg.main) { files.push("/" + pkg.main); } if (pkg.bin) { for (const key in pkg.bin) { files.push("/" + pkg.bin[key]); } } files.push( "/package.json", "/npm-shrinkwrap.json", "!/package-lock.json", packageMustHaves ); return files; } getPackageFiles(entries, pkg) { try { pkg = normalizePackageBin(JSON.parse(pkg.toString())); } catch (er) { return super.onReaddir(entries); } const ig = path2.resolve(this.path, "package.json"); this.packageJsonCache.set(ig, pkg); if (!Array.isArray(pkg.files)) { return super.onReaddir(entries); } pkg.files.push(...this.mustHaveFilesFromPackage(pkg)); if ((pkg.bundleDependencies || pkg.bundledDependencies) && entries.includes("node_modules")) { pkg.files.push("node_modules"); } const patterns = Array.from(new Set(pkg.files)).reduce((set2, pattern) => { const excl = pattern.match(/^!+/); if (excl) { pattern = pattern.slice(excl[0].length); } pattern = pattern.replace(/^\.?\/+/, ""); const negate = excl && excl[0].length % 2 === 1; set2.push({ pattern, negate }); return set2; }, []); let n = patterns.length; const set = /* @__PURE__ */ new Set(); const negates = /* @__PURE__ */ new Set(); const results = []; const then = (pattern, negate, er, fileList, i) => { if (er) { return this.emit("error", er); } results[i] = { negate, fileList }; if (--n === 0) { processResults(results); } }; const processResults = (processed) => { for (const { negate, fileList } of processed) { if (negate) { fileList.forEach((f) => { f = f.replace(/\/+$/, ""); set.delete(f); negates.add(f); }); } else { fileList.forEach((f) => { f = f.replace(/\/+$/, ""); set.add(f); negates.delete(f); }); } } const list = Array.from(set); pkg.files = list.concat(Array.from(negates).map((f) => "!" + f)); const rdResult = Array.from(new Set( list.map((f) => f.replace(/^\/+/, "")) )); super.onReaddir(rdResult); }; patterns.forEach(({ pattern, negate }, i) => this.globFiles(pattern, (er, res) => then(pattern, negate, er, res, i))); } filterEntry(entry, partial) { const p = this.path.slice(this.root.length + 1); const { isProject } = this; const pkg = isProject && pathHasPkg(entry) ? pkgFromPath(entry) : null; const rootNM = isProject && entry === "node_modules"; const rootPJ = isProject && entry === "package.json"; return ( // if we're in a bundled package, check with the parent. /^node_modules($|\/)/i.test(p) && !this.isProject ? this.parent.filterEntry( this.basename + "/" + entry, partial ) : pkg ? this.bundled.indexOf(pkg) !== -1 || this.bundledScopes.indexOf(pkg) !== -1 : rootNM ? !!this.bundled.length : rootPJ ? true : packageMustHavesRE.test(entry) ? true : isProject && (entry === "npm-shrinkwrap.json" || entry === "package.json") ? true : isProject && entry === "package-lock.json" ? false : super.filterEntry(entry, partial) ); } filterEntries() { if (this.ignoreRules[".npmignore"]) { this.ignoreRules[".gitignore"] = null; } this.filterEntries = super.filterEntries; super.filterEntries(); } addIgnoreFile(file, then) { const ig = path2.resolve(this.path, file); if (file === "package.json" && !this.isProject) { then(); } else if (this.packageJsonCache.has(ig)) { this.onPackageJson(ig, this.packageJsonCache.get(ig), then); } else { super.addIgnoreFile(file, then); } } onPackageJson(ig, pkg, then) { this.packageJsonCache.set(ig, pkg); if (Array.isArray(pkg.files)) { super.onReadIgnoreFile("package.json", pkg.files.map( (f) => "!" + f ).join("\n") + "\n", then); } else { const rules = this.mustHaveFilesFromPackage(pkg).map((f) => `!${f}`); const data = rules.join("\n") + "\n"; super.onReadIgnoreFile(packageNecessaryRules, data, then); } } // override parent stat function to completely skip any filenames // that will break windows entirely. // XXX(isaacs) Next major version should make this an error instead. stat({ entry, file, dir }, then) { if (nameIsBadForWindows(entry)) { then(); } else { super.stat({ entry, file, dir }, then); } } // override parent onstat function to nix all symlinks, other than // those coming out of the followed bundled symlink deps onstat({ st, entry, file, dir, isSymbolicLink }, then) { if (st.isSymbolicLink()) { then(); } else { super.onstat({ st, entry, file, dir, isSymbolicLink }, then); } } onReadIgnoreFile(file, data, then) { if (file === "package.json") { try { const ig = path2.resolve(this.path, file); this.onPackageJson(ig, JSON.parse(data), then); } catch (er) { then(); } } else { super.onReadIgnoreFile(file, data, then); } } sort(a, b) { const exta = path2.extname(a).toLowerCase(); const extb = path2.extname(b).toLowerCase(); const basea = path2.basename(a).toLowerCase(); const baseb = path2.basename(b).toLowerCase(); return exta.localeCompare(extb, "en") || basea.localeCompare(baseb, "en") || a.localeCompare(b, "en"); } globFiles(pattern, cb) { glob(globify(pattern), { dot: true, cwd: this.path, nocase: true }, cb); } readPackageJson(entries) { fs.readFile(this.path + "/package.json", (er, pkg) => this.onReadPackageJson(entries, er, pkg)); } walker(entry, opt, then) { new _Walker(this.walkerOpt(entry, opt)).on("done", then).start(); } }; var walk = (options, callback) => { options = options || {}; const p = new Promise((resolve, reject) => { const bw = new BundleWalker(options); bw.on("done", (bundled) => { options.bundled = bundled; options.packageJsonCache = bw.packageJsonCache; new Walker(options).on("done", resolve).on("error", reject).start(); }); bw.start(); }); return callback ? p.then((res) => callback(null, res), callback) : p; }; module2.exports = walk; walk.Walker = Walker; } }); // ../fs/packlist/lib/index.js var require_lib57 = __commonJS({ "../fs/packlist/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.packlist = packlist; var npm_packlist_1 = __importDefault2(require_lib56()); async function packlist(pkgDir, opts) { const packageJsonCacheMap = opts?.packageJsonCache ? new Map(Object.entries(opts.packageJsonCache)) : void 0; const files = await (0, npm_packlist_1.default)({ path: pkgDir, packageJsonCache: packageJsonCacheMap }); return Array.from(new Set(files.map((file) => file.replace(/^\.[/\\]/, "")))); } } }); // ../fetching/directory-fetcher/lib/index.js var require_lib58 = __commonJS({ "../fetching/directory-fetcher/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createDirectoryFetcher = createDirectoryFetcher; exports2.fetchFromDir = fetchFromDir; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var exec_pkg_requires_build_1 = require_lib52(); var logger_1 = require_lib(); var fs_packlist_1 = require_lib57(); var read_project_manifest_1 = require_lib16(); var directoryFetcherLogger = (0, logger_1.logger)("directory-fetcher"); function createDirectoryFetcher(opts) { const readFileStat = opts?.resolveSymlinks === true ? realFileStat : fileStat; const fetchFromDir2 = opts?.includeOnlyPackageFiles ? fetchPackageFilesFromDir : fetchAllFilesFromDir.bind(null, readFileStat); const directoryFetcher = (cafs, resolution, opts2) => { const dir = path_1.default.join(opts2.lockfileDir, resolution.directory); return fetchFromDir2(dir); }; return { directory: directoryFetcher }; } async function fetchFromDir(dir, opts) { if (opts.includeOnlyPackageFiles) { return fetchPackageFilesFromDir(dir); } const readFileStat = opts?.resolveSymlinks === true ? realFileStat : fileStat; return fetchAllFilesFromDir(readFileStat, dir); } async function fetchAllFilesFromDir(readFileStat, dir) { const { filesIndex, filesStats } = await _fetchAllFilesFromDir(readFileStat, dir); const manifest = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(dir) ?? void 0; const requiresBuild = (0, exec_pkg_requires_build_1.pkgRequiresBuild)(manifest, filesIndex); return { local: true, filesIndex, filesStats, packageImportMethod: "hardlink", manifest, requiresBuild }; } async function _fetchAllFilesFromDir(readFileStat, dir, relativeDir = "") { const filesIndex = {}; const filesStats = {}; const files = await fs_1.promises.readdir(dir); await Promise.all(files.filter((file) => file !== "node_modules").map(async (file) => { const fileStatResult = await readFileStat(path_1.default.join(dir, file)); if (!fileStatResult) return; const { filePath, stat } = fileStatResult; const relativeSubdir = `${relativeDir}${relativeDir ? "/" : ""}${file}`; if (stat.isDirectory()) { const subFetchResult = await _fetchAllFilesFromDir(readFileStat, filePath, relativeSubdir); Object.assign(filesIndex, subFetchResult.filesIndex); Object.assign(filesStats, subFetchResult.filesStats); } else { filesIndex[relativeSubdir] = filePath; filesStats[relativeSubdir] = fileStatResult.stat; } })); return { filesIndex, filesStats }; } async function realFileStat(filePath) { let stat = await fs_1.promises.lstat(filePath); if (!stat.isSymbolicLink()) { return { filePath, stat }; } try { filePath = await fs_1.promises.realpath(filePath); stat = await fs_1.promises.stat(filePath); return { filePath, stat }; } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { directoryFetcherLogger.debug({ brokenSymlink: filePath }); return null; } throw err; } } async function fileStat(filePath) { try { return { filePath, stat: await fs_1.promises.stat(filePath) }; } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { directoryFetcherLogger.debug({ brokenSymlink: filePath }); return null; } throw err; } } async function fetchPackageFilesFromDir(dir) { const files = await (0, fs_packlist_1.packlist)(dir); const filesIndex = Object.fromEntries(files.map((file) => [file, path_1.default.join(dir, file)])); const manifest = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(dir) ?? void 0; const requiresBuild = (0, exec_pkg_requires_build_1.pkgRequiresBuild)(manifest, filesIndex); return { local: true, filesIndex, packageImportMethod: "hardlink", manifest, requiresBuild }; } } }); // ../node_modules/.pnpm/@pnpm+fs.packlist@2.0.0/node_modules/@pnpm/fs.packlist/lib/index.js var require_lib59 = __commonJS({ "../node_modules/.pnpm/@pnpm+fs.packlist@2.0.0/node_modules/@pnpm/fs.packlist/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.packlist = void 0; var npm_packlist_1 = __importDefault2(require_lib56()); async function packlist(pkgDir, opts) { const packageJsonCacheMap = opts?.packageJsonCache ? new Map(Object.entries(opts.packageJsonCache)) : void 0; const files = await (0, npm_packlist_1.default)({ path: pkgDir, packageJsonCache: packageJsonCacheMap }); return Array.from(new Set(files.map((file) => file.replace(/^\.[/\\]/, "")))); } exports2.packlist = packlist; } }); // ../node_modules/.pnpm/spdx-license-ids@3.0.22/node_modules/spdx-license-ids/index.json var require_spdx_license_ids = __commonJS({ "../node_modules/.pnpm/spdx-license-ids@3.0.22/node_modules/spdx-license-ids/index.json"(exports2, module2) { module2.exports = [ "0BSD", "3D-Slicer-1.0", "AAL", "ADSL", "AFL-1.1", "AFL-1.2", "AFL-2.0", "AFL-2.1", "AFL-3.0", "AGPL-1.0-only", "AGPL-1.0-or-later", "AGPL-3.0-only", "AGPL-3.0-or-later", "AMD-newlib", "AMDPLPA", "AML", "AML-glslang", "AMPAS", "ANTLR-PD", "ANTLR-PD-fallback", "APAFML", "APL-1.0", "APSL-1.0", "APSL-1.1", "APSL-1.2", "APSL-2.0", "ASWF-Digital-Assets-1.0", "ASWF-Digital-Assets-1.1", "Abstyles", "AdaCore-doc", "Adobe-2006", "Adobe-Display-PostScript", "Adobe-Glyph", "Adobe-Utopia", "Afmparse", "Aladdin", "Apache-1.0", "Apache-1.1", "Apache-2.0", "App-s2p", "Arphic-1999", "Artistic-1.0", "Artistic-1.0-Perl", "Artistic-1.0-cl8", "Artistic-2.0", "Artistic-dist", "Aspell-RU", "BSD-1-Clause", "BSD-2-Clause", "BSD-2-Clause-Darwin", "BSD-2-Clause-Patent", "BSD-2-Clause-Views", "BSD-2-Clause-first-lines", "BSD-2-Clause-pkgconf-disclaimer", "BSD-3-Clause", "BSD-3-Clause-Attribution", "BSD-3-Clause-Clear", "BSD-3-Clause-HP", "BSD-3-Clause-LBNL", "BSD-3-Clause-Modification", "BSD-3-Clause-No-Military-License", "BSD-3-Clause-No-Nuclear-License", "BSD-3-Clause-No-Nuclear-License-2014", "BSD-3-Clause-No-Nuclear-Warranty", "BSD-3-Clause-Open-MPI", "BSD-3-Clause-Sun", "BSD-3-Clause-acpica", "BSD-3-Clause-flex", "BSD-4-Clause", "BSD-4-Clause-Shortened", "BSD-4-Clause-UC", "BSD-4.3RENO", "BSD-4.3TAHOE", "BSD-Advertising-Acknowledgement", "BSD-Attribution-HPND-disclaimer", "BSD-Inferno-Nettverk", "BSD-Protection", "BSD-Source-Code", "BSD-Source-beginning-file", "BSD-Systemics", "BSD-Systemics-W3Works", "BSL-1.0", "BUSL-1.1", "Baekmuk", "Bahyph", "Barr", "Beerware", "BitTorrent-1.0", "BitTorrent-1.1", "Bitstream-Charter", "Bitstream-Vera", "BlueOak-1.0.0", "Boehm-GC", "Boehm-GC-without-fee", "Borceux", "Brian-Gladman-2-Clause", "Brian-Gladman-3-Clause", "C-UDA-1.0", "CAL-1.0", "CAL-1.0-Combined-Work-Exception", "CATOSL-1.1", "CC-BY-1.0", "CC-BY-2.0", "CC-BY-2.5", "CC-BY-2.5-AU", "CC-BY-3.0", "CC-BY-3.0-AT", "CC-BY-3.0-AU", "CC-BY-3.0-DE", "CC-BY-3.0-IGO", "CC-BY-3.0-NL", "CC-BY-3.0-US", "CC-BY-4.0", "CC-BY-NC-1.0", "CC-BY-NC-2.0", "CC-BY-NC-2.5", "CC-BY-NC-3.0", "CC-BY-NC-3.0-DE", "CC-BY-NC-4.0", "CC-BY-NC-ND-1.0", "CC-BY-NC-ND-2.0", "CC-BY-NC-ND-2.5", "CC-BY-NC-ND-3.0", "CC-BY-NC-ND-3.0-DE", "CC-BY-NC-ND-3.0-IGO", "CC-BY-NC-ND-4.0", "CC-BY-NC-SA-1.0", "CC-BY-NC-SA-2.0", "CC-BY-NC-SA-2.0-DE", "CC-BY-NC-SA-2.0-FR", "CC-BY-NC-SA-2.0-UK", "CC-BY-NC-SA-2.5", "CC-BY-NC-SA-3.0", "CC-BY-NC-SA-3.0-DE", "CC-BY-NC-SA-3.0-IGO", "CC-BY-NC-SA-4.0", "CC-BY-ND-1.0", "CC-BY-ND-2.0", "CC-BY-ND-2.5", "CC-BY-ND-3.0", "CC-BY-ND-3.0-DE", "CC-BY-ND-4.0", "CC-BY-SA-1.0", "CC-BY-SA-2.0", "CC-BY-SA-2.0-UK", "CC-BY-SA-2.1-JP", "CC-BY-SA-2.5", "CC-BY-SA-3.0", "CC-BY-SA-3.0-AT", "CC-BY-SA-3.0-DE", "CC-BY-SA-3.0-IGO", "CC-BY-SA-4.0", "CC-PDDC", "CC-PDM-1.0", "CC-SA-1.0", "CC0-1.0", "CDDL-1.0", "CDDL-1.1", "CDL-1.0", "CDLA-Permissive-1.0", "CDLA-Permissive-2.0", "CDLA-Sharing-1.0", "CECILL-1.0", "CECILL-1.1", "CECILL-2.0", "CECILL-2.1", "CECILL-B", "CECILL-C", "CERN-OHL-1.1", "CERN-OHL-1.2", "CERN-OHL-P-2.0", "CERN-OHL-S-2.0", "CERN-OHL-W-2.0", "CFITSIO", "CMU-Mach", "CMU-Mach-nodoc", "CNRI-Jython", "CNRI-Python", "CNRI-Python-GPL-Compatible", "COIL-1.0", "CPAL-1.0", "CPL-1.0", "CPOL-1.02", "CUA-OPL-1.0", "Caldera", "Caldera-no-preamble", "Catharon", "ClArtistic", "Clips", "Community-Spec-1.0", "Condor-1.1", "Cornell-Lossless-JPEG", "Cronyx", "Crossword", "CryptoSwift", "CrystalStacker", "Cube", "D-FSL-1.0", "DEC-3-Clause", "DL-DE-BY-2.0", "DL-DE-ZERO-2.0", "DOC", "DRL-1.0", "DRL-1.1", "DSDP", "DocBook-DTD", "DocBook-Schema", "DocBook-Stylesheet", "DocBook-XML", "Dotseqn", "ECL-1.0", "ECL-2.0", "EFL-1.0", "EFL-2.0", "EPICS", "EPL-1.0", "EPL-2.0", "EUDatagrid", "EUPL-1.0", "EUPL-1.1", "EUPL-1.2", "Elastic-2.0", "Entessa", "ErlPL-1.1", "Eurosym", "FBM", "FDK-AAC", "FSFAP", "FSFAP-no-warranty-disclaimer", "FSFUL", "FSFULLR", "FSFULLRSD", "FSFULLRWD", "FSL-1.1-ALv2", "FSL-1.1-MIT", "FTL", "Fair", "Ferguson-Twofish", "Frameworx-1.0", "FreeBSD-DOC", "FreeImage", "Furuseth", "GCR-docs", "GD", "GFDL-1.1-invariants-only", "GFDL-1.1-invariants-or-later", "GFDL-1.1-no-invariants-only", "GFDL-1.1-no-invariants-or-later", "GFDL-1.1-only", "GFDL-1.1-or-later", "GFDL-1.2-invariants-only", "GFDL-1.2-invariants-or-later", "GFDL-1.2-no-invariants-only", "GFDL-1.2-no-invariants-or-later", "GFDL-1.2-only", "GFDL-1.2-or-later", "GFDL-1.3-invariants-only", "GFDL-1.3-invariants-or-later", "GFDL-1.3-no-invariants-only", "GFDL-1.3-no-invariants-or-later", "GFDL-1.3-only", "GFDL-1.3-or-later", "GL2PS", "GLWTPL", "GPL-1.0-only", "GPL-1.0-or-later", "GPL-2.0-only", "GPL-2.0-or-later", "GPL-3.0-only", "GPL-3.0-or-later", "Game-Programming-Gems", "Giftware", "Glide", "Glulxe", "Graphics-Gems", "Gutmann", "HDF5", "HIDAPI", "HP-1986", "HP-1989", "HPND", "HPND-DEC", "HPND-Fenneberg-Livingston", "HPND-INRIA-IMAG", "HPND-Intel", "HPND-Kevlin-Henney", "HPND-MIT-disclaimer", "HPND-Markus-Kuhn", "HPND-Netrek", "HPND-Pbmplus", "HPND-UC", "HPND-UC-export-US", "HPND-doc", "HPND-doc-sell", "HPND-export-US", "HPND-export-US-acknowledgement", "HPND-export-US-modify", "HPND-export2-US", "HPND-merchantability-variant", "HPND-sell-MIT-disclaimer-xserver", "HPND-sell-regexpr", "HPND-sell-variant", "HPND-sell-variant-MIT-disclaimer", "HPND-sell-variant-MIT-disclaimer-rev", "HTMLTIDY", "HaskellReport", "Hippocratic-2.1", "IBM-pibs", "ICU", "IEC-Code-Components-EULA", "IJG", "IJG-short", "IPA", "IPL-1.0", "ISC", "ISC-Veillard", "ImageMagick", "Imlib2", "Info-ZIP", "Inner-Net-2.0", "InnoSetup", "Intel", "Intel-ACPI", "Interbase-1.0", "JPL-image", "JPNIC", "JSON", "Jam", "JasPer-2.0", "Kastrup", "Kazlib", "Knuth-CTAN", "LAL-1.2", "LAL-1.3", "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1-only", "LGPL-2.1-or-later", "LGPL-3.0-only", "LGPL-3.0-or-later", "LGPLLR", "LOOP", "LPD-document", "LPL-1.0", "LPL-1.02", "LPPL-1.0", "LPPL-1.1", "LPPL-1.2", "LPPL-1.3a", "LPPL-1.3c", "LZMA-SDK-9.11-to-9.20", "LZMA-SDK-9.22", "Latex2e", "Latex2e-translated-notice", "Leptonica", "LiLiQ-P-1.1", "LiLiQ-R-1.1", "LiLiQ-Rplus-1.1", "Libpng", "Linux-OpenIB", "Linux-man-pages-1-para", "Linux-man-pages-copyleft", "Linux-man-pages-copyleft-2-para", "Linux-man-pages-copyleft-var", "Lucida-Bitmap-Fonts", "MIPS", "MIT", "MIT-0", "MIT-CMU", "MIT-Click", "MIT-Festival", "MIT-Khronos-old", "MIT-Modern-Variant", "MIT-Wu", "MIT-advertising", "MIT-enna", "MIT-feh", "MIT-open-group", "MIT-testregex", "MITNFA", "MMIXware", "MPEG-SSG", "MPL-1.0", "MPL-1.1", "MPL-2.0", "MPL-2.0-no-copyleft-exception", "MS-LPL", "MS-PL", "MS-RL", "MTLL", "Mackerras-3-Clause", "Mackerras-3-Clause-acknowledgment", "MakeIndex", "Martin-Birgmeier", "McPhee-slideshow", "Minpack", "MirOS", "Motosoto", "MulanPSL-1.0", "MulanPSL-2.0", "Multics", "Mup", "NAIST-2003", "NASA-1.3", "NBPL-1.0", "NCBI-PD", "NCGL-UK-2.0", "NCL", "NCSA", "NGPL", "NICTA-1.0", "NIST-PD", "NIST-PD-fallback", "NIST-Software", "NLOD-1.0", "NLOD-2.0", "NLPL", "NOSL", "NPL-1.0", "NPL-1.1", "NPOSL-3.0", "NRL", "NTIA-PD", "NTP", "NTP-0", "Naumen", "NetCDF", "Newsletr", "Nokia", "Noweb", "O-UDA-1.0", "OAR", "OCCT-PL", "OCLC-2.0", "ODC-By-1.0", "ODbL-1.0", "OFFIS", "OFL-1.0", "OFL-1.0-RFN", "OFL-1.0-no-RFN", "OFL-1.1", "OFL-1.1-RFN", "OFL-1.1-no-RFN", "OGC-1.0", "OGDL-Taiwan-1.0", "OGL-Canada-2.0", "OGL-UK-1.0", "OGL-UK-2.0", "OGL-UK-3.0", "OGTSL", "OLDAP-1.1", "OLDAP-1.2", "OLDAP-1.3", "OLDAP-1.4", "OLDAP-2.0", "OLDAP-2.0.1", "OLDAP-2.1", "OLDAP-2.2", "OLDAP-2.2.1", "OLDAP-2.2.2", "OLDAP-2.3", "OLDAP-2.4", "OLDAP-2.5", "OLDAP-2.6", "OLDAP-2.7", "OLDAP-2.8", "OLFL-1.3", "OML", "OPL-1.0", "OPL-UK-3.0", "OPUBL-1.0", "OSET-PL-2.1", "OSL-1.0", "OSL-1.1", "OSL-2.0", "OSL-2.1", "OSL-3.0", "OpenPBS-2.3", "OpenSSL", "OpenSSL-standalone", "OpenVision", "PADL", "PDDL-1.0", "PHP-3.0", "PHP-3.01", "PPL", "PSF-2.0", "Parity-6.0.0", "Parity-7.0.0", "Pixar", "Plexus", "PolyForm-Noncommercial-1.0.0", "PolyForm-Small-Business-1.0.0", "PostgreSQL", "Python-2.0", "Python-2.0.1", "QPL-1.0", "QPL-1.0-INRIA-2004", "Qhull", "RHeCos-1.1", "RPL-1.1", "RPL-1.5", "RPSL-1.0", "RSA-MD", "RSCPL", "Rdisc", "Ruby", "Ruby-pty", "SAX-PD", "SAX-PD-2.0", "SCEA", "SGI-B-1.0", "SGI-B-1.1", "SGI-B-2.0", "SGI-OpenGL", "SGP4", "SHL-0.5", "SHL-0.51", "SISSL", "SISSL-1.2", "SL", "SMAIL-GPL", "SMLNJ", "SMPPL", "SNIA", "SOFA", "SPL-1.0", "SSH-OpenSSH", "SSH-short", "SSLeay-standalone", "SSPL-1.0", "SUL-1.0", "SWL", "Saxpath", "SchemeReport", "Sendmail", "Sendmail-8.23", "Sendmail-Open-Source-1.1", "SimPL-2.0", "Sleepycat", "Soundex", "Spencer-86", "Spencer-94", "Spencer-99", "SugarCRM-1.1.3", "Sun-PPP", "Sun-PPP-2000", "SunPro", "Symlinks", "TAPR-OHL-1.0", "TCL", "TCP-wrappers", "TGPPL-1.0", "TMate", "TORQUE-1.1", "TOSL", "TPDL", "TPL-1.0", "TTWL", "TTYP0", "TU-Berlin-1.0", "TU-Berlin-2.0", "TermReadKey", "ThirdEye", "TrustedQSL", "UCAR", "UCL-1.0", "UMich-Merit", "UPL-1.0", "URT-RLE", "Ubuntu-font-1.0", "Unicode-3.0", "Unicode-DFS-2015", "Unicode-DFS-2016", "Unicode-TOU", "UnixCrypt", "Unlicense", "Unlicense-libtelnet", "Unlicense-libwhirlpool", "VOSTROM", "VSL-1.0", "Vim", "W3C", "W3C-19980720", "W3C-20150513", "WTFPL", "Watcom-1.0", "Widget-Workshop", "Wsuipa", "X11", "X11-distribute-modifications-variant", "X11-swapped", "XFree86-1.1", "XSkat", "Xdebug-1.03", "Xerox", "Xfig", "Xnet", "YPL-1.0", "YPL-1.1", "ZPL-1.1", "ZPL-2.0", "ZPL-2.1", "Zed", "Zeeff", "Zend-2.0", "Zimbra-1.3", "Zimbra-1.4", "Zlib", "any-OSI", "any-OSI-perl-modules", "bcrypt-Solar-Designer", "blessing", "bzip2-1.0.6", "check-cvs", "checkmk", "copyleft-next-0.3.0", "copyleft-next-0.3.1", "curl", "cve-tou", "diffmark", "dtoa", "dvipdfm", "eGenix", "etalab-2.0", "fwlw", "gSOAP-1.3b", "generic-xts", "gnuplot", "gtkbook", "hdparm", "iMatix", "jove", "libpng-1.6.35", "libpng-2.0", "libselinux-1.0", "libtiff", "libutil-David-Nugent", "lsof", "magaz", "mailprio", "man2html", "metamail", "mpi-permissive", "mpich2", "mplus", "ngrep", "pkgconf", "pnmstitch", "psfrag", "psutils", "python-ldap", "radvd", "snprintf", "softSurfer", "ssh-keyscan", "swrule", "threeparttable", "ulem", "w3m", "wwl", "xinetd", "xkeyboard-config-Zinoviev", "xlock", "xpp", "xzoom", "zlib-acknowledgement" ]; } }); // ../node_modules/.pnpm/spdx-license-ids@3.0.22/node_modules/spdx-license-ids/deprecated.json var require_deprecated = __commonJS({ "../node_modules/.pnpm/spdx-license-ids@3.0.22/node_modules/spdx-license-ids/deprecated.json"(exports2, module2) { module2.exports = [ "AGPL-1.0", "AGPL-3.0", "BSD-2-Clause-FreeBSD", "BSD-2-Clause-NetBSD", "GFDL-1.1", "GFDL-1.2", "GFDL-1.3", "GPL-1.0", "GPL-2.0", "GPL-2.0-with-GCC-exception", "GPL-2.0-with-autoconf-exception", "GPL-2.0-with-bison-exception", "GPL-2.0-with-classpath-exception", "GPL-2.0-with-font-exception", "GPL-3.0", "GPL-3.0-with-GCC-exception", "GPL-3.0-with-autoconf-exception", "LGPL-2.0", "LGPL-2.1", "LGPL-3.0", "Net-SNMP", "Nunit", "StandardML-NJ", "bzip2-1.0.5", "eCos-2.0", "wxWindows" ]; } }); // ../node_modules/.pnpm/spdx-exceptions@2.5.0/node_modules/spdx-exceptions/index.json var require_spdx_exceptions = __commonJS({ "../node_modules/.pnpm/spdx-exceptions@2.5.0/node_modules/spdx-exceptions/index.json"(exports2, module2) { module2.exports = [ "389-exception", "Asterisk-exception", "Autoconf-exception-2.0", "Autoconf-exception-3.0", "Autoconf-exception-generic", "Autoconf-exception-generic-3.0", "Autoconf-exception-macro", "Bison-exception-1.24", "Bison-exception-2.2", "Bootloader-exception", "Classpath-exception-2.0", "CLISP-exception-2.0", "cryptsetup-OpenSSL-exception", "DigiRule-FOSS-exception", "eCos-exception-2.0", "Fawkes-Runtime-exception", "FLTK-exception", "fmt-exception", "Font-exception-2.0", "freertos-exception-2.0", "GCC-exception-2.0", "GCC-exception-2.0-note", "GCC-exception-3.1", "Gmsh-exception", "GNAT-exception", "GNOME-examples-exception", "GNU-compiler-exception", "gnu-javamail-exception", "GPL-3.0-interface-exception", "GPL-3.0-linking-exception", "GPL-3.0-linking-source-exception", "GPL-CC-1.0", "GStreamer-exception-2005", "GStreamer-exception-2008", "i2p-gpl-java-exception", "KiCad-libraries-exception", "LGPL-3.0-linking-exception", "libpri-OpenH323-exception", "Libtool-exception", "Linux-syscall-note", "LLGPL", "LLVM-exception", "LZMA-exception", "mif-exception", "OCaml-LGPL-linking-exception", "OCCT-exception-1.0", "OpenJDK-assembly-exception-1.0", "openvpn-openssl-exception", "PS-or-PDF-font-exception-20170817", "QPL-1.0-INRIA-2004-exception", "Qt-GPL-exception-1.0", "Qt-LGPL-exception-1.1", "Qwt-exception-1.0", "SANE-exception", "SHL-2.0", "SHL-2.1", "stunnel-exception", "SWI-exception", "Swift-exception", "Texinfo-exception", "u-boot-exception-2.0", "UBDL-exception", "Universal-FOSS-exception-1.0", "vsftpd-openssl-exception", "WxWindows-exception-3.1", "x11vnc-openssl-exception" ]; } }); // ../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/scan.js var require_scan2 = __commonJS({ "../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/scan.js"(exports2, module2) { "use strict"; var licenses = [].concat(require_spdx_license_ids()).concat(require_deprecated()); var exceptions = require_spdx_exceptions(); module2.exports = function(source) { var index = 0; function hasMore() { return index < source.length; } function read(value) { if (value instanceof RegExp) { var chars = source.slice(index); var match = chars.match(value); if (match) { index += match[0].length; return match[0]; } } else { if (source.indexOf(value, index) === index) { index += value.length; return value; } } } function skipWhitespace() { read(/[ ]*/); } function operator() { var string; var possibilities = ["WITH", "AND", "OR", "(", ")", ":", "+"]; for (var i = 0; i < possibilities.length; i++) { string = read(possibilities[i]); if (string) { break; } } if (string === "+" && index > 1 && source[index - 2] === " ") { throw new Error("Space before `+`"); } return string && { type: "OPERATOR", string }; } function idstring() { return read(/[A-Za-z0-9-.]+/); } function expectIdstring() { var string = idstring(); if (!string) { throw new Error("Expected idstring at offset " + index); } return string; } function documentRef() { if (read("DocumentRef-")) { var string = expectIdstring(); return { type: "DOCUMENTREF", string }; } } function licenseRef() { if (read("LicenseRef-")) { var string = expectIdstring(); return { type: "LICENSEREF", string }; } } function identifier() { var begin = index; var string = idstring(); if (licenses.indexOf(string) !== -1) { return { type: "LICENSE", string }; } else if (exceptions.indexOf(string) !== -1) { return { type: "EXCEPTION", string }; } index = begin; } function parseToken() { return operator() || documentRef() || licenseRef() || identifier(); } var tokens = []; while (hasMore()) { skipWhitespace(); if (!hasMore()) { break; } var token = parseToken(); if (!token) { throw new Error("Unexpected `" + source[index] + "` at offset " + index); } tokens.push(token); } return tokens; }; } }); // ../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/parse.js var require_parse4 = __commonJS({ "../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/parse.js"(exports2, module2) { "use strict"; module2.exports = function(tokens) { var index = 0; function hasMore() { return index < tokens.length; } function token() { return hasMore() ? tokens[index] : null; } function next() { if (!hasMore()) { throw new Error(); } index++; } function parseOperator(operator) { var t = token(); if (t && t.type === "OPERATOR" && operator === t.string) { next(); return t.string; } } function parseWith() { if (parseOperator("WITH")) { var t = token(); if (t && t.type === "EXCEPTION") { next(); return t.string; } throw new Error("Expected exception after `WITH`"); } } function parseLicenseRef() { var begin = index; var string = ""; var t = token(); if (t.type === "DOCUMENTREF") { next(); string += "DocumentRef-" + t.string + ":"; if (!parseOperator(":")) { throw new Error("Expected `:` after `DocumentRef-...`"); } } t = token(); if (t.type === "LICENSEREF") { next(); string += "LicenseRef-" + t.string; return { license: string }; } index = begin; } function parseLicense() { var t = token(); if (t && t.type === "LICENSE") { next(); var node2 = { license: t.string }; if (parseOperator("+")) { node2.plus = true; } var exception = parseWith(); if (exception) { node2.exception = exception; } return node2; } } function parseParenthesizedExpression() { var left = parseOperator("("); if (!left) { return; } var expr = parseExpression(); if (!parseOperator(")")) { throw new Error("Expected `)`"); } return expr; } function parseAtom() { return parseParenthesizedExpression() || parseLicenseRef() || parseLicense(); } function makeBinaryOpParser(operator, nextParser) { return function parseBinaryOp() { var left = nextParser(); if (!left) { return; } if (!parseOperator(operator)) { return left; } var right = parseBinaryOp(); if (!right) { throw new Error("Expected expression"); } return { left, conjunction: operator.toLowerCase(), right }; }; } var parseAnd = makeBinaryOpParser("AND", parseAtom); var parseExpression = makeBinaryOpParser("OR", parseAnd); var node = parseExpression(); if (!node || hasMore()) { throw new Error("Syntax error"); } return node; }; } }); // ../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/index.js var require_spdx_expression_parse = __commonJS({ "../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/index.js"(exports2, module2) { "use strict"; var scan = require_scan2(); var parse2 = require_parse4(); module2.exports = function(source) { return parse2(scan(source)); }; } }); // ../node_modules/.pnpm/spdx-correct@3.2.0/node_modules/spdx-correct/index.js var require_spdx_correct = __commonJS({ "../node_modules/.pnpm/spdx-correct@3.2.0/node_modules/spdx-correct/index.js"(exports2, module2) { var parse2 = require_spdx_expression_parse(); var spdxLicenseIds = require_spdx_license_ids(); function valid(string) { try { parse2(string); return true; } catch (error) { return false; } } function sortTranspositions(a, b) { var length = b[0].length - a[0].length; if (length !== 0) return length; return a[0].toUpperCase().localeCompare(b[0].toUpperCase()); } var transpositions = [ ["APGL", "AGPL"], ["Gpl", "GPL"], ["GLP", "GPL"], ["APL", "Apache"], ["ISD", "ISC"], ["GLP", "GPL"], ["IST", "ISC"], ["Claude", "Clause"], [" or later", "+"], [" International", ""], ["GNU", "GPL"], ["GUN", "GPL"], ["+", ""], ["GNU GPL", "GPL"], ["GNU LGPL", "LGPL"], ["GNU/GPL", "GPL"], ["GNU GLP", "GPL"], ["GNU LESSER GENERAL PUBLIC LICENSE", "LGPL"], ["GNU Lesser General Public License", "LGPL"], ["GNU LESSER GENERAL PUBLIC LICENSE", "LGPL-2.1"], ["GNU Lesser General Public License", "LGPL-2.1"], ["LESSER GENERAL PUBLIC LICENSE", "LGPL"], ["Lesser General Public License", "LGPL"], ["LESSER GENERAL PUBLIC LICENSE", "LGPL-2.1"], ["Lesser General Public License", "LGPL-2.1"], ["GNU General Public License", "GPL"], ["Gnu public license", "GPL"], ["GNU Public License", "GPL"], ["GNU GENERAL PUBLIC LICENSE", "GPL"], ["MTI", "MIT"], ["Mozilla Public License", "MPL"], ["Universal Permissive License", "UPL"], ["WTH", "WTF"], ["WTFGPL", "WTFPL"], ["-License", ""] ].sort(sortTranspositions); var TRANSPOSED = 0; var CORRECT = 1; var transforms = [ // e.g. 'mit' function(argument) { return argument.toUpperCase(); }, // e.g. 'MIT ' function(argument) { return argument.trim(); }, // e.g. 'M.I.T.' function(argument) { return argument.replace(/\./g, ""); }, // e.g. 'Apache- 2.0' function(argument) { return argument.replace(/\s+/g, ""); }, // e.g. 'CC BY 4.0'' function(argument) { return argument.replace(/\s+/g, "-"); }, // e.g. 'LGPLv2.1' function(argument) { return argument.replace("v", "-"); }, // e.g. 'Apache 2.0' function(argument) { return argument.replace(/,?\s*(\d)/, "-$1"); }, // e.g. 'GPL 2' function(argument) { return argument.replace(/,?\s*(\d)/, "-$1.0"); }, // e.g. 'Apache Version 2.0' function(argument) { return argument.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/, "-$2"); }, // e.g. 'Apache Version 2' function(argument) { return argument.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/, "-$2.0"); }, // e.g. 'ZLIB' function(argument) { return argument[0].toUpperCase() + argument.slice(1); }, // e.g. 'MPL/2.0' function(argument) { return argument.replace("/", "-"); }, // e.g. 'Apache 2' function(argument) { return argument.replace(/\s*V\s*(\d)/, "-$1").replace(/(\d)$/, "$1.0"); }, // e.g. 'GPL-2.0', 'GPL-3.0' function(argument) { if (argument.indexOf("3.0") !== -1) { return argument + "-or-later"; } else { return argument + "-only"; } }, // e.g. 'GPL-2.0-' function(argument) { return argument + "only"; }, // e.g. 'GPL2' function(argument) { return argument.replace(/(\d)$/, "-$1.0"); }, // e.g. 'BSD 3' function(argument) { return argument.replace(/(-| )?(\d)$/, "-$2-Clause"); }, // e.g. 'BSD clause 3' function(argument) { return argument.replace(/(-| )clause(-| )(\d)/, "-$3-Clause"); }, // e.g. 'New BSD license' function(argument) { return argument.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i, "BSD-3-Clause"); }, // e.g. 'Simplified BSD license' function(argument) { return argument.replace(/\bSimplified(-| )?BSD((-| )License)?/i, "BSD-2-Clause"); }, // e.g. 'Free BSD license' function(argument) { return argument.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i, "BSD-2-Clause-$1BSD"); }, // e.g. 'Clear BSD license' function(argument) { return argument.replace(/\bClear(-| )?BSD((-| )License)?/i, "BSD-3-Clause-Clear"); }, // e.g. 'Old BSD License' function(argument) { return argument.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i, "BSD-4-Clause"); }, // e.g. 'BY-NC-4.0' function(argument) { return "CC-" + argument; }, // e.g. 'BY-NC' function(argument) { return "CC-" + argument + "-4.0"; }, // e.g. 'Attribution-NonCommercial' function(argument) { return argument.replace("Attribution", "BY").replace("NonCommercial", "NC").replace("NoDerivatives", "ND").replace(/ (\d)/, "-$1").replace(/ ?International/, ""); }, // e.g. 'Attribution-NonCommercial' function(argument) { return "CC-" + argument.replace("Attribution", "BY").replace("NonCommercial", "NC").replace("NoDerivatives", "ND").replace(/ (\d)/, "-$1").replace(/ ?International/, "") + "-4.0"; } ]; var licensesWithVersions = spdxLicenseIds.map(function(id) { var match = /^(.*)-\d+\.\d+$/.exec(id); return match ? [match[0], match[1]] : [id, null]; }).reduce(function(objectMap, item) { var key = item[1]; objectMap[key] = objectMap[key] || []; objectMap[key].push(item[0]); return objectMap; }, {}); var licensesWithOneVersion = Object.keys(licensesWithVersions).map(function makeEntries(key) { return [key, licensesWithVersions[key]]; }).filter(function identifySoleVersions(item) { return ( // Licenses has just one valid version suffix. item[1].length === 1 && item[0] !== null && // APL will be considered Apache, rather than APL-1.0 item[0] !== "APL" ); }).map(function createLastResorts(item) { return [item[0], item[1][0]]; }); licensesWithVersions = void 0; var lastResorts = [ ["UNLI", "Unlicense"], ["WTF", "WTFPL"], ["2 CLAUSE", "BSD-2-Clause"], ["2-CLAUSE", "BSD-2-Clause"], ["3 CLAUSE", "BSD-3-Clause"], ["3-CLAUSE", "BSD-3-Clause"], ["AFFERO", "AGPL-3.0-or-later"], ["AGPL", "AGPL-3.0-or-later"], ["APACHE", "Apache-2.0"], ["ARTISTIC", "Artistic-2.0"], ["Affero", "AGPL-3.0-or-later"], ["BEER", "Beerware"], ["BOOST", "BSL-1.0"], ["BSD", "BSD-2-Clause"], ["CDDL", "CDDL-1.1"], ["ECLIPSE", "EPL-1.0"], ["FUCK", "WTFPL"], ["GNU", "GPL-3.0-or-later"], ["LGPL", "LGPL-3.0-or-later"], ["GPLV1", "GPL-1.0-only"], ["GPL-1", "GPL-1.0-only"], ["GPLV2", "GPL-2.0-only"], ["GPL-2", "GPL-2.0-only"], ["GPL", "GPL-3.0-or-later"], ["MIT +NO-FALSE-ATTRIBS", "MITNFA"], ["MIT", "MIT"], ["MPL", "MPL-2.0"], ["X11", "X11"], ["ZLIB", "Zlib"] ].concat(licensesWithOneVersion).sort(sortTranspositions); var SUBSTRING = 0; var IDENTIFIER = 1; var validTransformation = function(identifier) { for (var i = 0; i < transforms.length; i++) { var transformed = transforms[i](identifier).trim(); if (transformed !== identifier && valid(transformed)) { return transformed; } } return null; }; var validLastResort = function(identifier) { var upperCased = identifier.toUpperCase(); for (var i = 0; i < lastResorts.length; i++) { var lastResort = lastResorts[i]; if (upperCased.indexOf(lastResort[SUBSTRING]) > -1) { return lastResort[IDENTIFIER]; } } return null; }; var anyCorrection = function(identifier, check) { for (var i = 0; i < transpositions.length; i++) { var transposition = transpositions[i]; var transposed = transposition[TRANSPOSED]; if (identifier.indexOf(transposed) > -1) { var corrected = identifier.replace( transposed, transposition[CORRECT] ); var checked = check(corrected); if (checked !== null) { return checked; } } } return null; }; module2.exports = function(identifier, options) { options = options || {}; var upgrade = options.upgrade === void 0 ? true : !!options.upgrade; function postprocess(value) { return upgrade ? upgradeGPLs(value) : value; } var validArugment = typeof identifier === "string" && identifier.trim().length !== 0; if (!validArugment) { throw Error("Invalid argument. Expected non-empty string."); } identifier = identifier.trim(); if (valid(identifier)) { return postprocess(identifier); } var noPlus = identifier.replace(/\+$/, "").trim(); if (valid(noPlus)) { return postprocess(noPlus); } var transformed = validTransformation(identifier); if (transformed !== null) { return postprocess(transformed); } transformed = anyCorrection(identifier, function(argument) { if (valid(argument)) { return argument; } return validTransformation(argument); }); if (transformed !== null) { return postprocess(transformed); } transformed = validLastResort(identifier); if (transformed !== null) { return postprocess(transformed); } transformed = anyCorrection(identifier, validLastResort); if (transformed !== null) { return postprocess(transformed); } return null; }; function upgradeGPLs(value) { if ([ "GPL-1.0", "LGPL-1.0", "AGPL-1.0", "GPL-2.0", "LGPL-2.0", "AGPL-2.0", "LGPL-2.1" ].indexOf(value) !== -1) { return value + "-only"; } else if ([ "GPL-1.0+", "GPL-2.0+", "GPL-3.0+", "LGPL-2.0+", "LGPL-2.1+", "LGPL-3.0+", "AGPL-1.0+", "AGPL-3.0+" ].indexOf(value) !== -1) { return value.replace(/\+$/, "-or-later"); } else if (["GPL-3.0", "LGPL-3.0", "AGPL-3.0"].indexOf(value) !== -1) { return value + "-or-later"; } else { return value; } } } }); // ../node_modules/.pnpm/validate-npm-package-license@3.0.4/node_modules/validate-npm-package-license/index.js var require_validate_npm_package_license = __commonJS({ "../node_modules/.pnpm/validate-npm-package-license@3.0.4/node_modules/validate-npm-package-license/index.js"(exports2, module2) { var parse2 = require_spdx_expression_parse(); var correct = require_spdx_correct(); var genericWarning = 'license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN "'; var fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/; function startsWith(prefix, string) { return string.slice(0, prefix.length) === prefix; } function usesLicenseRef(ast) { if (ast.hasOwnProperty("license")) { var license = ast.license; return startsWith("LicenseRef", license) || startsWith("DocumentRef", license); } else { return usesLicenseRef(ast.left) || usesLicenseRef(ast.right); } } module2.exports = function(argument) { var ast; try { ast = parse2(argument); } catch (e) { var match; if (argument === "UNLICENSED" || argument === "UNLICENCED") { return { validForOldPackages: true, validForNewPackages: true, unlicensed: true }; } else if (match = fileReferenceRE.exec(argument)) { return { validForOldPackages: true, validForNewPackages: true, inFile: match[1] }; } else { var result2 = { validForOldPackages: false, validForNewPackages: false, warnings: [genericWarning] }; if (argument.trim().length !== 0) { var corrected = correct(argument); if (corrected) { result2.warnings.push( 'license is similar to the valid expression "' + corrected + '"' ); } } return result2; } } if (usesLicenseRef(ast)) { return { validForNewPackages: false, validForOldPackages: false, spdx: true, warnings: [genericWarning] }; } else { return { validForNewPackages: true, validForOldPackages: true, spdx: true }; } }; } }); // ../node_modules/.pnpm/hosted-git-info@8.1.0/node_modules/hosted-git-info/lib/hosts.js var require_hosts = __commonJS({ "../node_modules/.pnpm/hosted-git-info@8.1.0/node_modules/hosted-git-info/lib/hosts.js"(exports2, module2) { "use strict"; var maybeJoin = (...args) => args.every((arg) => arg) ? args.join("") : ""; var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : ""; var formatHashFragment = (f) => f.toLowerCase().replace(/^\W+/g, "").replace(/(? `git@${domain}:${user}/${project}.git${maybeJoin("#", committish)}`, sshurltemplate: ({ domain, user, project, committish }) => `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, edittemplate: ({ domain, user, project, committish, editpath, path: path2 }) => `https://${domain}/${user}/${project}${maybeJoin("/", editpath, "/", maybeEncode(committish || "HEAD"), "/", path2)}`, browsetemplate: ({ domain, user, project, committish, treepath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`, browsetreetemplate: ({ domain, user, project, committish, treepath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "HEAD")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`, browseblobtemplate: ({ domain, user, project, committish, blobpath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${blobpath}/${maybeEncode(committish || "HEAD")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`, docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`, httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/raw/${maybeEncode(committish || "HEAD")}/${path2}`, shortcuttemplate: ({ type, user, project, committish }) => `${type}:${user}/${project}${maybeJoin("#", committish)}`, pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`, bugstemplate: ({ domain, user, project }) => `https://${domain}/${user}/${project}/issues`, hashformat: formatHashFragment }; var hosts = {}; hosts.github = { // First two are insecure and generally shouldn't be used any more, but // they are still supported. protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"], domain: "github.com", treepath: "tree", blobpath: "blob", editpath: "edit", filetemplate: ({ auth, user, project, committish, path: path2 }) => `https://${maybeJoin(auth, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish || "HEAD")}/${path2}`, gittemplate: ({ auth, domain, user, project, committish }) => `git://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ domain, user, project, committish }) => `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish || "HEAD")}`, extract: (url) => { let [, user, project, type, committish] = url.pathname.split("/", 5); if (type && type !== "tree") { return; } if (!type) { committish = url.hash.slice(1); } if (project && project.endsWith(".git")) { project = project.slice(0, -4); } if (!user || !project) { return; } return { user, project, committish }; } }; hosts.bitbucket = { protocols: ["git+ssh:", "git+https:", "ssh:", "https:"], domain: "bitbucket.org", treepath: "src", blobpath: "src", editpath: "?mode=edit", edittemplate: ({ domain, user, project, committish, treepath, path: path2, editpath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish || "HEAD"), "/", path2, editpath)}`, tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/get/${maybeEncode(committish || "HEAD")}.tar.gz`, extract: (url) => { let [, user, project, aux] = url.pathname.split("/", 4); if (["get"].includes(aux)) { return; } if (project && project.endsWith(".git")) { project = project.slice(0, -4); } if (!user || !project) { return; } return { user, project, committish: url.hash.slice(1) }; } }; hosts.gitlab = { protocols: ["git+ssh:", "git+https:", "ssh:", "https:"], domain: "gitlab.com", treepath: "tree", blobpath: "tree", editpath: "-/edit", httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/repository/archive.tar.gz?ref=${maybeEncode(committish || "HEAD")}`, extract: (url) => { const path2 = url.pathname.slice(1); if (path2.includes("/-/") || path2.includes("/archive.tar.gz")) { return; } const segments = path2.split("/"); let project = segments.pop(); if (project.endsWith(".git")) { project = project.slice(0, -4); } const user = segments.join("/"); if (!user || !project) { return; } return { user, project, committish: url.hash.slice(1) }; } }; hosts.gist = { protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"], domain: "gist.github.com", editpath: "edit", sshtemplate: ({ domain, project, committish }) => `git@${domain}:${project}.git${maybeJoin("#", committish)}`, sshurltemplate: ({ domain, project, committish }) => `git+ssh://git@${domain}/${project}.git${maybeJoin("#", committish)}`, edittemplate: ({ domain, user, project, committish, editpath }) => `https://${domain}/${user}/${project}${maybeJoin("/", maybeEncode(committish))}/${editpath}`, browsetemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`, browsetreetemplate: ({ domain, project, committish, path: path2, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path2))}`, browseblobtemplate: ({ domain, project, committish, path: path2, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path2))}`, docstemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`, httpstemplate: ({ domain, project, committish }) => `git+https://${domain}/${project}.git${maybeJoin("#", committish)}`, filetemplate: ({ user, project, committish, path: path2 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path2}`, shortcuttemplate: ({ type, project, committish }) => `${type}:${project}${maybeJoin("#", committish)}`, pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`, bugstemplate: ({ domain, project }) => `https://${domain}/${project}`, gittemplate: ({ domain, project, committish }) => `git://${domain}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish || "HEAD")}`, extract: (url) => { let [, user, project, aux] = url.pathname.split("/", 4); if (aux === "raw") { return; } if (!project) { if (!user) { return; } project = user; user = null; } if (project.endsWith(".git")) { project = project.slice(0, -4); } return { user, project, committish: url.hash.slice(1) }; }, hashformat: function(fragment) { return fragment && "file-" + formatHashFragment(fragment); } }; hosts.sourcehut = { protocols: ["git+ssh:", "https:"], domain: "git.sr.ht", treepath: "tree", blobpath: "tree", filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/blob/${maybeEncode(committish) || "HEAD"}/${path2}`, httpstemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/archive/${maybeEncode(committish) || "HEAD"}.tar.gz`, bugstemplate: () => null, extract: (url) => { let [, user, project, aux] = url.pathname.split("/", 4); if (["archive"].includes(aux)) { return; } if (project && project.endsWith(".git")) { project = project.slice(0, -4); } if (!user || !project) { return; } return { user, project, committish: url.hash.slice(1) }; } }; for (const [name, host] of Object.entries(hosts)) { hosts[name] = Object.assign({}, defaults, host); } module2.exports = hosts; } }); // ../node_modules/.pnpm/hosted-git-info@8.1.0/node_modules/hosted-git-info/lib/parse-url.js var require_parse_url = __commonJS({ "../node_modules/.pnpm/hosted-git-info@8.1.0/node_modules/hosted-git-info/lib/parse-url.js"(exports2, module2) { var url = require("url"); var lastIndexOfBefore = (str, char, beforeChar) => { const startPosition = str.indexOf(beforeChar); return str.lastIndexOf(char, startPosition > -1 ? startPosition : Infinity); }; var safeUrl = (u) => { try { return new url.URL(u); } catch { } }; var correctProtocol = (arg, protocols) => { const firstColon = arg.indexOf(":"); const proto = arg.slice(0, firstColon + 1); if (Object.prototype.hasOwnProperty.call(protocols, proto)) { return arg; } const firstAt = arg.indexOf("@"); if (firstAt > -1) { if (firstAt > firstColon) { return `git+ssh://${arg}`; } else { return arg; } } const doubleSlash = arg.indexOf("//"); if (doubleSlash === firstColon + 1) { return arg; } return `${arg.slice(0, firstColon + 1)}//${arg.slice(firstColon + 1)}`; }; var correctUrl = (giturl) => { const firstAt = lastIndexOfBefore(giturl, "@", "#"); const lastColonBeforeHash = lastIndexOfBefore(giturl, ":", "#"); if (lastColonBeforeHash > firstAt) { giturl = giturl.slice(0, lastColonBeforeHash) + "/" + giturl.slice(lastColonBeforeHash + 1); } if (lastIndexOfBefore(giturl, ":", "#") === -1 && giturl.indexOf("//") === -1) { giturl = `git+ssh://${giturl}`; } return giturl; }; module2.exports = (giturl, protocols) => { const withProtocol = protocols ? correctProtocol(giturl, protocols) : giturl; return safeUrl(withProtocol) || safeUrl(correctUrl(withProtocol)); }; } }); // ../node_modules/.pnpm/hosted-git-info@8.1.0/node_modules/hosted-git-info/lib/from-url.js var require_from_url = __commonJS({ "../node_modules/.pnpm/hosted-git-info@8.1.0/node_modules/hosted-git-info/lib/from-url.js"(exports2, module2) { "use strict"; var parseUrl = require_parse_url(); var isGitHubShorthand = (arg) => { const firstHash = arg.indexOf("#"); const firstSlash = arg.indexOf("/"); const secondSlash = arg.indexOf("/", firstSlash + 1); const firstColon = arg.indexOf(":"); const firstSpace = /\s/.exec(arg); const firstAt = arg.indexOf("@"); const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash; const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash; const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash; const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash; const hasSlash = firstSlash > 0; const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/"); const doesNotStartWithDot = !arg.startsWith("."); return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash; }; module2.exports = (giturl, opts, { gitHosts, protocols }) => { if (!giturl) { return; } const correctedUrl = isGitHubShorthand(giturl) ? `github:${giturl}` : giturl; const parsed = parseUrl(correctedUrl, protocols); if (!parsed) { return; } const gitHostShortcut = gitHosts.byShortcut[parsed.protocol]; const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname]; const gitHostName = gitHostShortcut || gitHostDomain; if (!gitHostName) { return; } const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain]; let auth = null; if (protocols[parsed.protocol]?.auth && (parsed.username || parsed.password)) { auth = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`; } let committish = null; let user = null; let project = null; let defaultRepresentation = null; try { if (gitHostShortcut) { let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname; const firstAt = pathname.indexOf("@"); if (firstAt > -1) { pathname = pathname.slice(firstAt + 1); } const lastSlash = pathname.lastIndexOf("/"); if (lastSlash > -1) { user = decodeURIComponent(pathname.slice(0, lastSlash)); if (!user) { user = null; } project = decodeURIComponent(pathname.slice(lastSlash + 1)); } else { project = decodeURIComponent(pathname); } if (project.endsWith(".git")) { project = project.slice(0, -4); } if (parsed.hash) { committish = decodeURIComponent(parsed.hash.slice(1)); } defaultRepresentation = "shortcut"; } else { if (!gitHostInfo.protocols.includes(parsed.protocol)) { return; } const segments = gitHostInfo.extract(parsed); if (!segments) { return; } user = segments.user && decodeURIComponent(segments.user); project = decodeURIComponent(segments.project); committish = decodeURIComponent(segments.committish); defaultRepresentation = protocols[parsed.protocol]?.name || parsed.protocol.slice(0, -1); } } catch (err) { if (err instanceof URIError) { return; } else { throw err; } } return [gitHostName, user, auth, project, committish, defaultRepresentation, opts]; }; } }); // ../node_modules/.pnpm/hosted-git-info@8.1.0/node_modules/hosted-git-info/lib/index.js var require_lib60 = __commonJS({ "../node_modules/.pnpm/hosted-git-info@8.1.0/node_modules/hosted-git-info/lib/index.js"(exports2, module2) { "use strict"; var { LRUCache } = require_commonjs2(); var hosts = require_hosts(); var fromUrl = require_from_url(); var parseUrl = require_parse_url(); var cache = new LRUCache({ max: 1e3 }); function unknownHostedUrl(url) { try { const { protocol, hostname, pathname } = new URL(url); if (!hostname) { return null; } const proto = /(?:git\+)http:$/.test(protocol) ? "http:" : "https:"; const path2 = pathname.replace(/\.git$/, ""); return `${proto}//${hostname}${path2}`; } catch { return null; } } var GitHost = class _GitHost { constructor(type, user, auth, project, committish, defaultRepresentation, opts = {}) { Object.assign(this, _GitHost.#gitHosts[type], { type, user, auth, project, committish, default: defaultRepresentation, opts }); } static #gitHosts = { byShortcut: {}, byDomain: {} }; static #protocols = { "git+ssh:": { name: "sshurl" }, "ssh:": { name: "sshurl" }, "git+https:": { name: "https", auth: true }, "git:": { auth: true }, "http:": { auth: true }, "https:": { auth: true }, "git+http:": { auth: true } }; static addHost(name, host) { _GitHost.#gitHosts[name] = host; _GitHost.#gitHosts.byDomain[host.domain] = name; _GitHost.#gitHosts.byShortcut[`${name}:`] = name; _GitHost.#protocols[`${name}:`] = { name }; } static fromUrl(giturl, opts) { if (typeof giturl !== "string") { return; } const key = giturl + JSON.stringify(opts || {}); if (!cache.has(key)) { const hostArgs = fromUrl(giturl, opts, { gitHosts: _GitHost.#gitHosts, protocols: _GitHost.#protocols }); cache.set(key, hostArgs ? new _GitHost(...hostArgs) : void 0); } return cache.get(key); } static fromManifest(manifest, opts = {}) { if (!manifest || typeof manifest !== "object") { return; } const r = manifest.repository; const rurl = r && (typeof r === "string" ? r : typeof r === "object" && typeof r.url === "string" ? r.url : null); if (!rurl) { throw new Error("no repository"); } const info = rurl && _GitHost.fromUrl(rurl.replace(/^git\+/, ""), opts) || null; if (info) { return info; } const unk = unknownHostedUrl(rurl); return _GitHost.fromUrl(unk, opts) || unk; } static parseUrl(url) { return parseUrl(url); } #fill(template, opts) { if (typeof template !== "function") { return null; } const options = { ...this, ...this.opts, ...opts }; if (!options.path) { options.path = ""; } if (options.path.startsWith("/")) { options.path = options.path.slice(1); } if (options.noCommittish) { options.committish = null; } const result2 = template(options); return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2; } hash() { return this.committish ? `#${this.committish}` : ""; } ssh(opts) { return this.#fill(this.sshtemplate, opts); } sshurl(opts) { return this.#fill(this.sshurltemplate, opts); } browse(path2, ...args) { if (typeof path2 !== "string") { return this.#fill(this.browsetemplate, path2); } if (typeof args[0] !== "string") { return this.#fill(this.browsetreetemplate, { ...args[0], path: path2 }); } return this.#fill(this.browsetreetemplate, { ...args[1], fragment: args[0], path: path2 }); } // If the path is known to be a file, then browseFile should be used. For some hosts // the url is the same as browse, but for others like GitHub a file can use both `/tree/` // and `/blob/` in the path. When using a default committish of `HEAD` then the `/tree/` // path will redirect to a specific commit. Using the `/blob/` path avoids this and // does not redirect to a different commit. browseFile(path2, ...args) { if (typeof args[0] !== "string") { return this.#fill(this.browseblobtemplate, { ...args[0], path: path2 }); } return this.#fill(this.browseblobtemplate, { ...args[1], fragment: args[0], path: path2 }); } docs(opts) { return this.#fill(this.docstemplate, opts); } bugs(opts) { return this.#fill(this.bugstemplate, opts); } https(opts) { return this.#fill(this.httpstemplate, opts); } git(opts) { return this.#fill(this.gittemplate, opts); } shortcut(opts) { return this.#fill(this.shortcuttemplate, opts); } path(opts) { return this.#fill(this.pathtemplate, opts); } tarball(opts) { return this.#fill(this.tarballtemplate, { ...opts, noCommittish: false }); } file(path2, opts) { return this.#fill(this.filetemplate, { ...opts, path: path2 }); } edit(path2, opts) { return this.#fill(this.edittemplate, { ...opts, path: path2 }); } getDefaultRepresentation() { return this.default; } toString(opts) { if (this.default && typeof this[this.default] === "function") { return this[this.default](opts); } return this.sshurl(opts); } }; for (const [name, host] of Object.entries(hosts)) { GitHost.addHost(name, host); } module2.exports = GitHost; } }); // ../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/extract_description.js var require_extract_description = __commonJS({ "../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/extract_description.js"(exports2, module2) { module2.exports = extractDescription; function extractDescription(d) { if (!d) { return; } if (d === "ERROR: No README data found!") { return; } d = d.trim().split("\n"); let s = 0; while (d[s] && d[s].trim().match(/^(#|$)/)) { s++; } const l = d.length; let e = s + 1; while (e < l && d[e].trim()) { e++; } return d.slice(s, e).join(" ").trim(); } } }); // ../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/typos.json var require_typos = __commonJS({ "../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/typos.json"(exports2, module2) { module2.exports = { topLevel: { dependancies: "dependencies", dependecies: "dependencies", depdenencies: "dependencies", devEependencies: "devDependencies", depends: "dependencies", "dev-dependencies": "devDependencies", devDependences: "devDependencies", devDepenencies: "devDependencies", devdependencies: "devDependencies", repostitory: "repository", repo: "repository", prefereGlobal: "preferGlobal", hompage: "homepage", hampage: "homepage", autohr: "author", autor: "author", contributers: "contributors", publicationConfig: "publishConfig", script: "scripts" }, bugs: { web: "url", name: "url" }, script: { server: "start", tests: "test" } }; } }); // ../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/fixer.js var require_fixer = __commonJS({ "../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/fixer.js"(exports2, module2) { var { URL: URL3 } = require("node:url"); var isValidSemver = require_valid(); var cleanSemver = require_clean(); var validateLicense = require_validate_npm_package_license(); var hostedGitInfo = require_lib60(); var { isBuiltin } = require("node:module"); var depTypes = ["dependencies", "devDependencies", "optionalDependencies"]; var extractDescription = require_extract_description(); var typos = require_typos(); var isEmail = (str) => str.includes("@") && str.indexOf("@") < str.lastIndexOf("."); URL3.canParse ??= (input, base) => { try { new URL3(input, base); return true; } catch { return false; } }; module2.exports = { // default warning function warn: function() { }, fixRepositoryField: function(data) { if (data.repositories) { this.warn("repositories"); data.repository = data.repositories[0]; } if (!data.repository) { return this.warn("missingRepository"); } if (typeof data.repository === "string") { data.repository = { type: "git", url: data.repository }; } var r = data.repository.url || ""; if (r) { var hosted = hostedGitInfo.fromUrl(r); if (hosted) { r = data.repository.url = hosted.getDefaultRepresentation() === "shortcut" ? hosted.https() : hosted.toString(); } } if (r.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)) { this.warn("brokenGitUrl", r); } }, fixTypos: function(data) { Object.keys(typos.topLevel).forEach(function(d) { if (Object.prototype.hasOwnProperty.call(data, d)) { this.warn("typo", d, typos.topLevel[d]); } }, this); }, fixScriptsField: function(data) { if (!data.scripts) { return; } if (typeof data.scripts !== "object") { this.warn("nonObjectScripts"); delete data.scripts; return; } Object.keys(data.scripts).forEach(function(k) { if (typeof data.scripts[k] !== "string") { this.warn("nonStringScript"); delete data.scripts[k]; } else if (typos.script[k] && !data.scripts[typos.script[k]]) { this.warn("typo", k, typos.script[k], "scripts"); } }, this); }, fixFilesField: function(data) { var files = data.files; if (files && !Array.isArray(files)) { this.warn("nonArrayFiles"); delete data.files; } else if (data.files) { data.files = data.files.filter(function(file) { if (!file || typeof file !== "string") { this.warn("invalidFilename", file); return false; } else { return true; } }, this); } }, fixBinField: function(data) { if (!data.bin) { return; } if (typeof data.bin === "string") { var b = {}; var match; if (match = data.name.match(/^@[^/]+[/](.*)$/)) { b[match[1]] = data.bin; } else { b[data.name] = data.bin; } data.bin = b; } }, fixManField: function(data) { if (!data.man) { return; } if (typeof data.man === "string") { data.man = [data.man]; } }, fixBundleDependenciesField: function(data) { var bdd = "bundledDependencies"; var bd = "bundleDependencies"; if (data[bdd] && !data[bd]) { data[bd] = data[bdd]; delete data[bdd]; } if (data[bd] && !Array.isArray(data[bd])) { this.warn("nonArrayBundleDependencies"); delete data[bd]; } else if (data[bd]) { data[bd] = data[bd].filter(function(filtered) { if (!filtered || typeof filtered !== "string") { this.warn("nonStringBundleDependency", filtered); return false; } else { if (!data.dependencies) { data.dependencies = {}; } if (!Object.prototype.hasOwnProperty.call(data.dependencies, filtered)) { this.warn("nonDependencyBundleDependency", filtered); data.dependencies[filtered] = "*"; } return true; } }, this); } }, fixDependencies: function(data) { objectifyDeps(data, this.warn); addOptionalDepsToDeps(data, this.warn); this.fixBundleDependenciesField(data); ["dependencies", "devDependencies"].forEach(function(deps) { if (!(deps in data)) { return; } if (!data[deps] || typeof data[deps] !== "object") { this.warn("nonObjectDependencies", deps); delete data[deps]; return; } Object.keys(data[deps]).forEach(function(d) { var r = data[deps][d]; if (typeof r !== "string") { this.warn("nonStringDependency", d, JSON.stringify(r)); delete data[deps][d]; } var hosted = hostedGitInfo.fromUrl(data[deps][d]); if (hosted) { data[deps][d] = hosted.toString(); } }, this); }, this); }, fixModulesField: function(data) { if (data.modules) { this.warn("deprecatedModules"); delete data.modules; } }, fixKeywordsField: function(data) { if (typeof data.keywords === "string") { data.keywords = data.keywords.split(/,\s+/); } if (data.keywords && !Array.isArray(data.keywords)) { delete data.keywords; this.warn("nonArrayKeywords"); } else if (data.keywords) { data.keywords = data.keywords.filter(function(kw) { if (typeof kw !== "string" || !kw) { this.warn("nonStringKeyword"); return false; } else { return true; } }, this); } }, fixVersionField: function(data, strict) { var loose = !strict; if (!data.version) { data.version = ""; return true; } if (!isValidSemver(data.version, loose)) { throw new Error('Invalid version: "' + data.version + '"'); } data.version = cleanSemver(data.version, loose); return true; }, fixPeople: function(data) { modifyPeople(data, unParsePerson); modifyPeople(data, parsePerson); }, fixNameField: function(data, options) { if (typeof options === "boolean") { options = { strict: options }; } else if (typeof options === "undefined") { options = {}; } var strict = options.strict; if (!data.name && !strict) { data.name = ""; return; } if (typeof data.name !== "string") { throw new Error("name field must be a string."); } if (!strict) { data.name = data.name.trim(); } ensureValidName(data.name, strict, options.allowLegacyCase); if (isBuiltin(data.name)) { this.warn("conflictingName", data.name); } }, fixDescriptionField: function(data) { if (data.description && typeof data.description !== "string") { this.warn("nonStringDescription"); delete data.description; } if (data.readme && !data.description) { data.description = extractDescription(data.readme); } if (data.description === void 0) { delete data.description; } if (!data.description) { this.warn("missingDescription"); } }, fixReadmeField: function(data) { if (!data.readme) { this.warn("missingReadme"); data.readme = "ERROR: No README data found!"; } }, fixBugsField: function(data) { if (!data.bugs && data.repository && data.repository.url) { var hosted = hostedGitInfo.fromUrl(data.repository.url); if (hosted && hosted.bugs()) { data.bugs = { url: hosted.bugs() }; } } else if (data.bugs) { if (typeof data.bugs === "string") { if (isEmail(data.bugs)) { data.bugs = { email: data.bugs }; } else if (URL3.canParse(data.bugs)) { data.bugs = { url: data.bugs }; } else { this.warn("nonEmailUrlBugsString"); } } else { bugsTypos(data.bugs, this.warn); var oldBugs = data.bugs; data.bugs = {}; if (oldBugs.url) { if (URL3.canParse(oldBugs.url)) { data.bugs.url = oldBugs.url; } else { this.warn("nonUrlBugsUrlField"); } } if (oldBugs.email) { if (typeof oldBugs.email === "string" && isEmail(oldBugs.email)) { data.bugs.email = oldBugs.email; } else { this.warn("nonEmailBugsEmailField"); } } } if (!data.bugs.email && !data.bugs.url) { delete data.bugs; this.warn("emptyNormalizedBugs"); } } }, fixHomepageField: function(data) { if (!data.homepage && data.repository && data.repository.url) { var hosted = hostedGitInfo.fromUrl(data.repository.url); if (hosted && hosted.docs()) { data.homepage = hosted.docs(); } } if (!data.homepage) { return; } if (typeof data.homepage !== "string") { this.warn("nonUrlHomepage"); return delete data.homepage; } if (!URL3.canParse(data.homepage)) { data.homepage = "http://" + data.homepage; } }, fixLicenseField: function(data) { const license = data.license || data.licence; if (!license) { return this.warn("missingLicense"); } if (typeof license !== "string" || license.length < 1 || license.trim() === "") { return this.warn("invalidLicense"); } if (!validateLicense(license).validForNewPackages) { return this.warn("invalidLicense"); } } }; function isValidScopedPackageName(spec) { if (spec.charAt(0) !== "@") { return false; } var rest = spec.slice(1).split("/"); if (rest.length !== 2) { return false; } return rest[0] && rest[1] && rest[0] === encodeURIComponent(rest[0]) && rest[1] === encodeURIComponent(rest[1]); } function isCorrectlyEncodedName(spec) { return !spec.match(/[/@\s+%:]/) && spec === encodeURIComponent(spec); } function ensureValidName(name, strict, allowLegacyCase) { if (name.charAt(0) === "." || !(isValidScopedPackageName(name) || isCorrectlyEncodedName(name)) || strict && !allowLegacyCase && name !== name.toLowerCase() || name.toLowerCase() === "node_modules" || name.toLowerCase() === "favicon.ico") { throw new Error("Invalid name: " + JSON.stringify(name)); } } function modifyPeople(data, fn) { if (data.author) { data.author = fn(data.author); } ["maintainers", "contributors"].forEach(function(set) { if (!Array.isArray(data[set])) { return; } data[set] = data[set].map(fn); }); return data; } function unParsePerson(person) { if (typeof person === "string") { return person; } var name = person.name || ""; var u = person.url || person.web; var wrappedUrl = u ? " (" + u + ")" : ""; var e = person.email || person.mail; var wrappedEmail = e ? " <" + e + ">" : ""; return name + wrappedEmail + wrappedUrl; } function parsePerson(person) { if (typeof person !== "string") { return person; } var matchedName = person.match(/^([^(<]+)/); var matchedUrl = person.match(/\(([^()]+)\)/); var matchedEmail = person.match(/<([^<>]+)>/); var obj = {}; if (matchedName && matchedName[0].trim()) { obj.name = matchedName[0].trim(); } if (matchedEmail) { obj.email = matchedEmail[1]; } if (matchedUrl) { obj.url = matchedUrl[1]; } return obj; } function addOptionalDepsToDeps(data) { var o = data.optionalDependencies; if (!o) { return; } var d = data.dependencies || {}; Object.keys(o).forEach(function(k) { d[k] = o[k]; }); data.dependencies = d; } function depObjectify(deps, type, warn) { if (!deps) { return {}; } if (typeof deps === "string") { deps = deps.trim().split(/[\n\r\s\t ,]+/); } if (!Array.isArray(deps)) { return deps; } warn("deprecatedArrayDependencies", type); var o = {}; deps.filter(function(d) { return typeof d === "string"; }).forEach(function(d) { d = d.trim().split(/(:?[@\s><=])/); var dn = d.shift(); var dv = d.join(""); dv = dv.trim(); dv = dv.replace(/^@/, ""); o[dn] = dv; }); return o; } function objectifyDeps(data, warn) { depTypes.forEach(function(type) { if (!data[type]) { return; } data[type] = depObjectify(data[type], type, warn); }); } function bugsTypos(bugs, warn) { if (!bugs) { return; } Object.keys(bugs).forEach(function(k) { if (typos.bugs[k]) { warn("typo", k, typos.bugs[k], "bugs"); bugs[typos.bugs[k]] = bugs[k]; delete bugs[k]; } }); } } }); // ../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/warning_messages.json var require_warning_messages = __commonJS({ "../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/warning_messages.json"(exports2, module2) { module2.exports = { repositories: "'repositories' (plural) Not supported. Please pick one as the 'repository' field", missingRepository: "No repository field.", brokenGitUrl: "Probably broken git url: %s", nonObjectScripts: "scripts must be an object", nonStringScript: "script values must be string commands", nonArrayFiles: "Invalid 'files' member", invalidFilename: "Invalid filename in 'files' list: %s", nonArrayBundleDependencies: "Invalid 'bundleDependencies' list. Must be array of package names", nonStringBundleDependency: "Invalid bundleDependencies member: %s", nonDependencyBundleDependency: "Non-dependency in bundleDependencies: %s", nonObjectDependencies: "%s field must be an object", nonStringDependency: "Invalid dependency: %s %s", deprecatedArrayDependencies: "specifying %s as array is deprecated", deprecatedModules: "modules field is deprecated", nonArrayKeywords: "keywords should be an array of strings", nonStringKeyword: "keywords should be an array of strings", conflictingName: "%s is also the name of a node core module.", nonStringDescription: "'description' field should be a string", missingDescription: "No description", missingReadme: "No README data", missingLicense: "No license field.", nonEmailUrlBugsString: "Bug string field must be url, email, or {email,url}", nonUrlBugsUrlField: "bugs.url field must be a string url. Deleted.", nonEmailBugsEmailField: "bugs.email field must be a string email. Deleted.", emptyNormalizedBugs: "Normalized value of bugs field is an empty object. Deleted.", nonUrlHomepage: "homepage field must be a string url. Deleted.", invalidLicense: "license should be a valid SPDX license expression", typo: "%s should probably be %s." }; } }); // ../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/make_warning.js var require_make_warning = __commonJS({ "../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/make_warning.js"(exports2, module2) { var util = require("util"); var messages = require_warning_messages(); module2.exports = function() { var args = Array.prototype.slice.call(arguments, 0); var warningName = args.shift(); if (warningName === "typo") { return makeTypoWarning.apply(null, args); } else { var msgTemplate = messages[warningName] ? messages[warningName] : warningName + ": '%s'"; args.unshift(msgTemplate); return util.format.apply(null, args); } }; function makeTypoWarning(providedName, probableName, field) { if (field) { providedName = field + "['" + providedName + "']"; probableName = field + "['" + probableName + "']"; } return util.format(messages.typo, providedName, probableName); } } }); // ../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/normalize.js var require_normalize = __commonJS({ "../node_modules/.pnpm/normalize-package-data@7.0.1_patch_hash=af60eac3676a4332c8fa7d590432a962fe77991523e608340cd80eb2a8a035db/node_modules/normalize-package-data/lib/normalize.js"(exports2, module2) { module2.exports = normalize; var fixer = require_fixer(); normalize.fixer = fixer; var makeWarning = require_make_warning(); var fieldsToFix = [ "name", "version", "description", "repository", "modules", "scripts", "files", "bin", "man", "bugs", "keywords", "readme", "homepage", "license" ]; var otherThingsToFix = ["dependencies", "people", "typos"]; var thingsToFix = fieldsToFix.map(function(fieldName) { return ucFirst(fieldName) + "Field"; }); thingsToFix = thingsToFix.concat(otherThingsToFix); function normalize(data, warn, strict) { if (warn === true) { warn = null; strict = true; } if (!strict) { strict = false; } if (!warn || data.private) { warn = function() { }; } if (data.scripts && data.scripts.install === "node-gyp rebuild" && !data.scripts.preinstall) { data.gypfile = true; } fixer.warn = function() { warn(makeWarning.apply(null, arguments)); }; thingsToFix.forEach(function(thingName) { fixer["fix" + ucFirst(thingName)](data, strict); }); data._id = data.name + "@" + data.version; } function ucFirst(string) { return string.charAt(0).toUpperCase() + string.slice(1); } } }); // ../pkg-manifest/read-package-json/lib/index.js var require_lib61 = __commonJS({ "../pkg-manifest/read-package-json/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readPackageJsonSync = readPackageJsonSync; exports2.readPackageJson = readPackageJson; exports2.readPackageJsonFromDirSync = readPackageJsonFromDirSync; exports2.readPackageJsonFromDir = readPackageJsonFromDir; exports2.safeReadPackageJson = safeReadPackageJson; exports2.safeReadPackageJsonFromDir = safeReadPackageJsonFromDir; var path_1 = __importDefault2(require("path")); var error_1 = require_lib6(); var load_json_file_1 = __importDefault2(require_load_json_file()); var normalize_package_data_1 = __importDefault2(require_normalize()); function readPackageJsonSync(pkgPath) { try { const manifest = load_json_file_1.default.sync(pkgPath); (0, normalize_package_data_1.default)(manifest); return manifest; } catch (err) { if (err.code) throw err; throw new error_1.PnpmError("BAD_PACKAGE_JSON", `${pkgPath}: ${err.message}`); } } async function readPackageJson(pkgPath) { try { const manifest = await (0, load_json_file_1.default)(pkgPath); (0, normalize_package_data_1.default)(manifest); return manifest; } catch (err) { if (err.code) throw err; throw new error_1.PnpmError("BAD_PACKAGE_JSON", `${pkgPath}: ${err.message}`); } } function readPackageJsonFromDirSync(pkgPath) { return readPackageJsonSync(path_1.default.join(pkgPath, "package.json")); } async function readPackageJsonFromDir(pkgPath) { return readPackageJson(path_1.default.join(pkgPath, "package.json")); } async function safeReadPackageJson(pkgPath) { try { return await readPackageJson(pkgPath); } catch (err) { if (err.code !== "ENOENT") throw err; return null; } } async function safeReadPackageJsonFromDir(pkgPath) { return safeReadPackageJson(path_1.default.join(pkgPath, "package.json")); } } }); // ../node_modules/.pnpm/@pnpm+npm-lifecycle@1001.0.0_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/lib/spawn.js var require_spawn = __commonJS({ "../node_modules/.pnpm/@pnpm+npm-lifecycle@1001.0.0_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/lib/spawn.js"(exports2, module2) { "use strict"; module2.exports = spawn; var _spawn = require("child_process").spawn; var EventEmitter = require("events").EventEmitter; var progressEnabled; var running = 0; function startRunning(log) { if (progressEnabled == null) progressEnabled = log.progressEnabled; if (progressEnabled) log.disableProgress(); ++running; } function stopRunning(log) { --running; if (progressEnabled && running === 0) log.enableProgress(); } function willCmdOutput(stdio) { if (stdio === "inherit") return true; if (!Array.isArray(stdio)) return false; for (let fh = 1; fh <= 2; ++fh) { if (stdio[fh] === "inherit") return true; if (stdio[fh] === 1 || stdio[fh] === 2) return true; } return false; } function spawn(cmd, args, options, log) { const cmdWillOutput = willCmdOutput(options && options.stdio); if (cmdWillOutput) startRunning(log); const raw = _spawn(cmd, args, options); const cooked = new EventEmitter(); raw.on("error", function(er) { if (cmdWillOutput) stopRunning(log); er.file = cmd; cooked.emit("error", er); }).on("close", function(code, signal) { if (cmdWillOutput) stopRunning(log); if (code === 127) { const er = new Error("spawn ENOENT"); er.code = "ENOENT"; er.errno = "ENOENT"; er.syscall = "spawn"; er.file = cmd; cooked.emit("error", er); } else { cooked.emit("close", code, signal); } }); cooked.stdin = raw.stdin; cooked.stdout = raw.stdout; cooked.stderr = raw.stderr; cooked.kill = function(sig) { return raw.kill(sig); }; return cooked; } } }); // ../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs var tslib_es6_exports = {}; __export(tslib_es6_exports, { __addDisposableResource: () => __addDisposableResource, __assign: () => __assign, __asyncDelegator: () => __asyncDelegator, __asyncGenerator: () => __asyncGenerator, __asyncValues: () => __asyncValues, __await: () => __await, __awaiter: () => __awaiter, __classPrivateFieldGet: () => __classPrivateFieldGet, __classPrivateFieldIn: () => __classPrivateFieldIn, __classPrivateFieldSet: () => __classPrivateFieldSet, __createBinding: () => __createBinding, __decorate: () => __decorate, __disposeResources: () => __disposeResources, __esDecorate: () => __esDecorate, __exportStar: () => __exportStar, __extends: () => __extends, __generator: () => __generator, __importDefault: () => __importDefault, __importStar: () => __importStar, __makeTemplateObject: () => __makeTemplateObject, __metadata: () => __metadata, __param: () => __param, __propKey: () => __propKey, __read: () => __read, __rest: () => __rest, __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension, __runInitializers: () => __runInitializers, __setFunctionName: () => __setFunctionName, __spread: () => __spread, __spreadArray: () => __spreadArray, __spreadArrays: () => __spreadArrays, __values: () => __values, default: () => tslib_es6_default }); function __extends(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } function __param(paramIndex, decorator) { return function(target, key) { decorator(target, key, paramIndex); }; } function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); var _, done = false; for (var i = decorators.length - 1; i >= 0; i--) { var context = {}; for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; for (var p in contextIn.access) context.access[p] = contextIn.access[p]; context.addInitializer = function(f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; var result2 = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); if (kind === "accessor") { if (result2 === void 0) continue; if (result2 === null || typeof result2 !== "object") throw new TypeError("Object expected"); if (_ = accept(result2.get)) descriptor.get = _; if (_ = accept(result2.set)) descriptor.set = _; if (_ = accept(result2.init)) initializers.unshift(_); } else if (_ = accept(result2)) { if (kind === "field") initializers.unshift(_); else descriptor[key] = _; } } if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; } function __runInitializers(thisArg, initializers, value) { var useValue = arguments.length > 2; for (var i = 0; i < initializers.length; i++) { value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); } return useValue ? value : void 0; } function __propKey(x) { return typeof x === "symbol" ? x : "".concat(x); } function __setFunctionName(f, name, prefix) { if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); } function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result2) { result2.done ? resolve(result2.value) : adopt(result2.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function(v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } function __exportStar(m, o) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); } function __values(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function() { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; } function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; } function __spreadArrays() { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; } function __spreadArray(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); } function __await(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() { return this; }, i; function awaitReturn(f) { return function(v) { return Promise.resolve(v).then(f, reject); }; } function verb(n, f) { if (g[n]) { i[n] = function(v) { return new Promise(function(a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } } function __asyncDelegator(o) { var i, p; return i = {}, verb("next"), verb("throw", function(e) { throw e; }), verb("return"), i[Symbol.iterator] = function() { return this; }, i; function verb(n, f) { i[n] = o[n] ? function(v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } } function __asyncValues(o) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var m = o[Symbol.asyncIterator], i; return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { return this; }, i); function verb(n) { i[n] = o[n] && function(v) { return new Promise(function(resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v2) { resolve({ value: v2, done: d }); }, reject); } } function __makeTemplateObject(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; } function __importStar(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result2, mod, k[i]); } __setModuleDefault(result2, mod); return result2; } function __importDefault(mod) { return mod && mod.__esModule ? mod : { default: mod }; } function __classPrivateFieldGet(receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); } function __classPrivateFieldSet(receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; } function __classPrivateFieldIn(state, receiver) { if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object"); return typeof state === "function" ? receiver === state : state.has(receiver); } function __addDisposableResource(env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; } if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value, dispose, async }); } else if (async) { env.stack.push({ async: true }); } return value; } function __disposeResources(env) { function fail(e) { env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; env.hasError = true; } var r, s = 0; function next() { while (r = env.stack.pop()) { try { if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); if (r.dispose) { var result2 = r.dispose.call(r.value); if (r.async) return s |= 2, Promise.resolve(result2).then(next, function(e) { fail(e); return next(); }); } else s |= 1; } catch (e) { fail(e); } } if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); if (env.hasError) throw env.error; } return next(); } function __rewriteRelativeImportExtension(path2, preserveJsx) { if (typeof path2 === "string" && /^\.\.?\//.test(path2)) { return path2.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) { return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js"; }); } return path2; } var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default; var init_tslib_es6 = __esm({ "../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs"() { extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { d2.__proto__ = b2; } || function(d2, b2) { for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; }; return extendStatics(d, b); }; __assign = function() { __assign = Object.assign || function __assign2(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; __createBinding = Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; }); __setModuleDefault = Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }; ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function(o2) { var ar = []; for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) { var e = new Error(message); return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; }; tslib_es6_default = { __extends, __assign, __rest, __decorate, __param, __esDecorate, __runInitializers, __propKey, __setFunctionName, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources, __rewriteRelativeImportExtension }; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/constants.js var require_constants7 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/constants.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SAFE_TIME = exports2.S_IFLNK = exports2.S_IFREG = exports2.S_IFDIR = exports2.S_IFMT = void 0; exports2.S_IFMT = 61440; exports2.S_IFDIR = 16384; exports2.S_IFREG = 32768; exports2.S_IFLNK = 40960; exports2.SAFE_TIME = 456789e3; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/errors.js var require_errors2 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/errors.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.EBUSY = EBUSY; exports2.ENOSYS = ENOSYS; exports2.EINVAL = EINVAL; exports2.EBADF = EBADF; exports2.ENOENT = ENOENT; exports2.ENOTDIR = ENOTDIR; exports2.EISDIR = EISDIR; exports2.EEXIST = EEXIST; exports2.EROFS = EROFS; exports2.ENOTEMPTY = ENOTEMPTY; exports2.EOPNOTSUPP = EOPNOTSUPP; exports2.ERR_DIR_CLOSED = ERR_DIR_CLOSED; function makeError(code, message) { return Object.assign(new Error(`${code}: ${message}`), { code }); } function EBUSY(message) { return makeError(`EBUSY`, message); } function ENOSYS(message, reason) { return makeError(`ENOSYS`, `${message}, ${reason}`); } function EINVAL(reason) { return makeError(`EINVAL`, `invalid argument, ${reason}`); } function EBADF(reason) { return makeError(`EBADF`, `bad file descriptor, ${reason}`); } function ENOENT(reason) { return makeError(`ENOENT`, `no such file or directory, ${reason}`); } function ENOTDIR(reason) { return makeError(`ENOTDIR`, `not a directory, ${reason}`); } function EISDIR(reason) { return makeError(`EISDIR`, `illegal operation on a directory, ${reason}`); } function EEXIST(reason) { return makeError(`EEXIST`, `file already exists, ${reason}`); } function EROFS(reason) { return makeError(`EROFS`, `read-only filesystem, ${reason}`); } function ENOTEMPTY(reason) { return makeError(`ENOTEMPTY`, `directory not empty, ${reason}`); } function EOPNOTSUPP(reason) { return makeError(`EOPNOTSUPP`, `operation not supported, ${reason}`); } function ERR_DIR_CLOSED() { return makeError(`ERR_DIR_CLOSED`, `Directory handle was closed`); } } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/statUtils.js var require_statUtils = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/statUtils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.BigIntStatsEntry = exports2.StatEntry = exports2.DirEntry = exports2.DEFAULT_MODE = void 0; exports2.makeDefaultStats = makeDefaultStats; exports2.makeEmptyStats = makeEmptyStats; exports2.clearStats = clearStats; exports2.convertToBigIntStats = convertToBigIntStats; exports2.areStatsEqual = areStatsEqual; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var nodeUtils = tslib_12.__importStar(require("util")); var constants_1 = require_constants7(); exports2.DEFAULT_MODE = constants_1.S_IFREG | 420; var DirEntry = class { constructor() { this.name = ``; this.path = ``; this.mode = 0; } isBlockDevice() { return false; } isCharacterDevice() { return false; } isDirectory() { return (this.mode & constants_1.S_IFMT) === constants_1.S_IFDIR; } isFIFO() { return false; } isFile() { return (this.mode & constants_1.S_IFMT) === constants_1.S_IFREG; } isSocket() { return false; } isSymbolicLink() { return (this.mode & constants_1.S_IFMT) === constants_1.S_IFLNK; } }; exports2.DirEntry = DirEntry; var StatEntry = class { constructor() { this.uid = 0; this.gid = 0; this.size = 0; this.blksize = 0; this.atimeMs = 0; this.mtimeMs = 0; this.ctimeMs = 0; this.birthtimeMs = 0; this.atime = /* @__PURE__ */ new Date(0); this.mtime = /* @__PURE__ */ new Date(0); this.ctime = /* @__PURE__ */ new Date(0); this.birthtime = /* @__PURE__ */ new Date(0); this.dev = 0; this.ino = 0; this.mode = exports2.DEFAULT_MODE; this.nlink = 1; this.rdev = 0; this.blocks = 1; } isBlockDevice() { return false; } isCharacterDevice() { return false; } isDirectory() { return (this.mode & constants_1.S_IFMT) === constants_1.S_IFDIR; } isFIFO() { return false; } isFile() { return (this.mode & constants_1.S_IFMT) === constants_1.S_IFREG; } isSocket() { return false; } isSymbolicLink() { return (this.mode & constants_1.S_IFMT) === constants_1.S_IFLNK; } }; exports2.StatEntry = StatEntry; var BigIntStatsEntry = class { constructor() { this.uid = BigInt(0); this.gid = BigInt(0); this.size = BigInt(0); this.blksize = BigInt(0); this.atimeMs = BigInt(0); this.mtimeMs = BigInt(0); this.ctimeMs = BigInt(0); this.birthtimeMs = BigInt(0); this.atimeNs = BigInt(0); this.mtimeNs = BigInt(0); this.ctimeNs = BigInt(0); this.birthtimeNs = BigInt(0); this.atime = /* @__PURE__ */ new Date(0); this.mtime = /* @__PURE__ */ new Date(0); this.ctime = /* @__PURE__ */ new Date(0); this.birthtime = /* @__PURE__ */ new Date(0); this.dev = BigInt(0); this.ino = BigInt(0); this.mode = BigInt(exports2.DEFAULT_MODE); this.nlink = BigInt(1); this.rdev = BigInt(0); this.blocks = BigInt(1); } isBlockDevice() { return false; } isCharacterDevice() { return false; } isDirectory() { return (this.mode & BigInt(constants_1.S_IFMT)) === BigInt(constants_1.S_IFDIR); } isFIFO() { return false; } isFile() { return (this.mode & BigInt(constants_1.S_IFMT)) === BigInt(constants_1.S_IFREG); } isSocket() { return false; } isSymbolicLink() { return (this.mode & BigInt(constants_1.S_IFMT)) === BigInt(constants_1.S_IFLNK); } }; exports2.BigIntStatsEntry = BigIntStatsEntry; function makeDefaultStats() { return new StatEntry(); } function makeEmptyStats() { return clearStats(makeDefaultStats()); } function clearStats(stats) { for (const key in stats) { if (Object.hasOwn(stats, key)) { const element = stats[key]; if (typeof element === `number`) { stats[key] = 0; } else if (typeof element === `bigint`) { stats[key] = BigInt(0); } else if (nodeUtils.types.isDate(element)) { stats[key] = /* @__PURE__ */ new Date(0); } } } return stats; } function convertToBigIntStats(stats) { const bigintStats = new BigIntStatsEntry(); for (const key in stats) { if (Object.hasOwn(stats, key)) { const element = stats[key]; if (typeof element === `number`) { bigintStats[key] = BigInt(element); } else if (nodeUtils.types.isDate(element)) { bigintStats[key] = new Date(element); } } } bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6); bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6); bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6); bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6); return bigintStats; } function areStatsEqual(a, b) { if (a.atimeMs !== b.atimeMs) return false; if (a.birthtimeMs !== b.birthtimeMs) return false; if (a.blksize !== b.blksize) return false; if (a.blocks !== b.blocks) return false; if (a.ctimeMs !== b.ctimeMs) return false; if (a.dev !== b.dev) return false; if (a.gid !== b.gid) return false; if (a.ino !== b.ino) return false; if (a.isBlockDevice() !== b.isBlockDevice()) return false; if (a.isCharacterDevice() !== b.isCharacterDevice()) return false; if (a.isDirectory() !== b.isDirectory()) return false; if (a.isFIFO() !== b.isFIFO()) return false; if (a.isFile() !== b.isFile()) return false; if (a.isSocket() !== b.isSocket()) return false; if (a.isSymbolicLink() !== b.isSymbolicLink()) return false; if (a.mode !== b.mode) return false; if (a.mtimeMs !== b.mtimeMs) return false; if (a.nlink !== b.nlink) return false; if (a.rdev !== b.rdev) return false; if (a.size !== b.size) return false; if (a.uid !== b.uid) return false; const aN = a; const bN = b; if (aN.atimeNs !== bN.atimeNs) return false; if (aN.mtimeNs !== bN.mtimeNs) return false; if (aN.ctimeNs !== bN.ctimeNs) return false; if (aN.birthtimeNs !== bN.birthtimeNs) return false; return true; } } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/path.js var require_path3 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/path.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ppath = exports2.npath = exports2.Filename = exports2.PortablePath = void 0; exports2.convertPath = convertPath; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var path_1 = tslib_12.__importDefault(require("path")); var PathType; (function(PathType2) { PathType2[PathType2["File"] = 0] = "File"; PathType2[PathType2["Portable"] = 1] = "Portable"; PathType2[PathType2["Native"] = 2] = "Native"; })(PathType || (PathType = {})); exports2.PortablePath = { root: `/`, dot: `.`, parent: `..` }; exports2.Filename = { home: `~`, nodeModules: `node_modules`, manifest: `package.json`, lockfile: `yarn.lock`, virtual: `__virtual__`, /** * @deprecated */ pnpJs: `.pnp.js`, pnpCjs: `.pnp.cjs`, pnpData: `.pnp.data.json`, pnpEsmLoader: `.pnp.loader.mjs`, rc: `.yarnrc.yml`, env: `.env` }; exports2.npath = Object.create(path_1.default); exports2.ppath = Object.create(path_1.default.posix); exports2.npath.cwd = () => process.cwd(); exports2.ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; if (process.platform === `win32`) { exports2.ppath.resolve = (...segments) => { if (segments.length > 0 && exports2.ppath.isAbsolute(segments[0])) { return path_1.default.posix.resolve(...segments); } else { return path_1.default.posix.resolve(exports2.ppath.cwd(), ...segments); } }; } var contains = function(pathUtils, from, to) { from = pathUtils.normalize(from); to = pathUtils.normalize(to); if (from === to) return `.`; if (!from.endsWith(pathUtils.sep)) from = from + pathUtils.sep; if (to.startsWith(from)) { return to.slice(from.length); } else { return null; } }; exports2.npath.contains = (from, to) => contains(exports2.npath, from, to); exports2.ppath.contains = (from, to) => contains(exports2.ppath, from, to); var WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; var UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; var PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; var UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; function fromPortablePathWin32(p) { let portablePathMatch, uncPortablePathMatch; if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) p = portablePathMatch[1]; else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; else return p; return p.replace(/\//g, `\\`); } function toPortablePathWin32(p) { p = p.replace(/\\/g, `/`); let windowsPathMatch, uncWindowsPathMatch; if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) p = `/${windowsPathMatch[1]}`; else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; return p; } var toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; var fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; exports2.npath.fromPortablePath = fromPortablePath; exports2.npath.toPortablePath = toPortablePath; function convertPath(targetPathUtils, sourcePath) { return targetPathUtils === exports2.npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); } } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js var require_copyPromise = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.setupCopyIndex = setupCopyIndex; exports2.copyPromise = copyPromise; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var constants = tslib_12.__importStar(require_constants7()); var path_1 = require_path3(); var defaultTime = new Date(constants.SAFE_TIME * 1e3); var defaultTimeMs = defaultTime.getTime(); async function setupCopyIndex(destinationFs, linkStrategy) { const hexCharacters = `0123456789abcdef`; await destinationFs.mkdirPromise(linkStrategy.indexPath, { recursive: true }); const promises = []; for (const l1 of hexCharacters) for (const l2 of hexCharacters) promises.push(destinationFs.mkdirPromise(destinationFs.pathUtils.join(linkStrategy.indexPath, `${l1}${l2}`), { recursive: true })); await Promise.all(promises); return linkStrategy.indexPath; } async function copyPromise(destinationFs, destination, sourceFs, source, opts) { const normalizedDestination = destinationFs.pathUtils.normalize(destination); const normalizedSource = sourceFs.pathUtils.normalize(source); const prelayout = []; const postlayout = []; const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); for (const operation of prelayout) await operation(); await Promise.all(postlayout.map((operation) => { return operation(); })); } async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; const sourceStat = await sourceFs.lstatPromise(source); const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; let updated; switch (true) { case sourceStat.isDirectory(): { updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } break; case sourceStat.isFile(): { updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } break; case sourceStat.isSymbolicLink(): { updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } break; default: { throw new Error(`Unsupported file type (${sourceStat.mode})`); } } if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); updated = true; } if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); updated = true; } } return updated; } async function maybeLStat(baseFs, p) { try { return await baseFs.lstatPromise(p); } catch { return null; } } async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { if (destinationStat !== null && !destinationStat.isDirectory()) { if (opts.overwrite) { prelayout.push(async () => destinationFs.removePromise(destination)); destinationStat = null; } else { return false; } } let updated = false; if (destinationStat === null) { prelayout.push(async () => { try { await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); } catch (err) { if (err.code !== `EEXIST`) { throw err; } } }); updated = true; } const entries = await sourceFs.readdirPromise(source); const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; if (opts.stableSort) { for (const entry of entries.sort()) { if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { updated = true; } } } else { const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); })); if (entriesUpdateStatus.some((status) => status)) { updated = true; } } return updated; } async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); const defaultMode = 420; const sourceMode = sourceStat.mode & 511; const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); let AtomicBehavior; (function(AtomicBehavior2) { AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; })(AtomicBehavior || (AtomicBehavior = {})); let atomicBehavior = AtomicBehavior.Rename; let indexStat = await maybeLStat(destinationFs, indexPath); if (destinationStat) { const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; if (isDestinationHardlinkedFromIndex) { if (isIndexModified && linkStrategy.autoRepair) { atomicBehavior = AtomicBehavior.Lock; indexStat = null; } } if (!isDestinationHardlinkedFromIndex) { if (opts.overwrite) { prelayout.push(async () => destinationFs.removePromise(destination)); destinationStat = null; } else { return false; } } } const tempPath = !indexStat && atomicBehavior === AtomicBehavior.Rename ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; let tempPathCleaned = false; prelayout.push(async () => { if (!indexStat) { if (atomicBehavior === AtomicBehavior.Lock) { await destinationFs.lockPromise(indexPath, async () => { const content = await sourceFs.readFilePromise(source); await destinationFs.writeFilePromise(indexPath, content); }); } if (atomicBehavior === AtomicBehavior.Rename && tempPath) { const content = await sourceFs.readFilePromise(source); await destinationFs.writeFilePromise(tempPath, content); try { await destinationFs.linkPromise(tempPath, indexPath); } catch (err) { if (err.code === `EEXIST`) { tempPathCleaned = true; await destinationFs.unlinkPromise(tempPath); } else { throw err; } } } } if (!destinationStat) { await destinationFs.linkPromise(indexPath, destination); } }); postlayout.push(async () => { if (!indexStat) { await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); if (sourceMode !== defaultMode) { await destinationFs.chmodPromise(indexPath, sourceMode); } } if (tempPath && !tempPathCleaned) { await destinationFs.unlinkPromise(tempPath); } }); return false; } async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { if (destinationStat !== null) { if (opts.overwrite) { prelayout.push(async () => destinationFs.removePromise(destination)); destinationStat = null; } else { return false; } } prelayout.push(async () => { const content = await sourceFs.readFilePromise(source); await destinationFs.writeFilePromise(destination, content); }); return true; } async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { if (opts.linkStrategy?.type === `HardlinkFromIndex`) { return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); } else { return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } } async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { if (destinationStat !== null) { if (opts.overwrite) { prelayout.push(async () => destinationFs.removePromise(destination)); destinationStat = null; } else { return false; } } prelayout.push(async () => { await destinationFs.symlinkPromise((0, path_1.convertPath)(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); }); return true; } } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js var require_opendir = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CustomDir = void 0; exports2.opendir = opendir; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var errors = tslib_12.__importStar(require_errors2()); var CustomDir = class { constructor(path2, nextDirent, opts = {}) { this.path = path2; this.nextDirent = nextDirent; this.opts = opts; this.closed = false; } throwIfClosed() { if (this.closed) { throw errors.ERR_DIR_CLOSED(); } } async *[Symbol.asyncIterator]() { try { let dirent; while ((dirent = await this.read()) !== null) { yield dirent; } } finally { await this.close(); } } read(cb) { const dirent = this.readSync(); if (typeof cb !== `undefined`) return cb(null, dirent); return Promise.resolve(dirent); } readSync() { this.throwIfClosed(); return this.nextDirent(); } close(cb) { this.closeSync(); if (typeof cb !== `undefined`) return cb(null); return Promise.resolve(); } closeSync() { this.throwIfClosed(); this.opts.onClose?.(); this.closed = true; } }; exports2.CustomDir = CustomDir; function opendir(fakeFs, path2, entries, opts) { const nextDirent = () => { const filename = entries.shift(); if (typeof filename === `undefined`) return null; const entryPath = fakeFs.pathUtils.join(path2, filename); return Object.assign(fakeFs.statSync(entryPath), { name: filename, path: void 0 }); }; return new CustomDir(path2, nextDirent, opts); } } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js var require_CustomStatWatcher = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CustomStatWatcher = exports2.Status = exports2.Event = void 0; exports2.assertStatus = assertStatus; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var events_1 = require("events"); var statUtils = tslib_12.__importStar(require_statUtils()); var Event; (function(Event2) { Event2["Change"] = "change"; Event2["Stop"] = "stop"; })(Event || (exports2.Event = Event = {})); var Status; (function(Status2) { Status2["Ready"] = "ready"; Status2["Running"] = "running"; Status2["Stopped"] = "stopped"; })(Status || (exports2.Status = Status = {})); function assertStatus(current, expected) { if (current !== expected) { throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); } } var CustomStatWatcher = class _CustomStatWatcher extends events_1.EventEmitter { static create(fakeFs, path2, opts) { const statWatcher = new _CustomStatWatcher(fakeFs, path2, opts); statWatcher.start(); return statWatcher; } constructor(fakeFs, path2, { bigint = false } = {}) { super(); this.status = Status.Ready; this.changeListeners = /* @__PURE__ */ new Map(); this.startTimeout = null; this.fakeFs = fakeFs; this.path = path2; this.bigint = bigint; this.lastStats = this.stat(); } start() { assertStatus(this.status, Status.Ready); this.status = Status.Running; this.startTimeout = setTimeout(() => { this.startTimeout = null; if (!this.fakeFs.existsSync(this.path)) { this.emit(Event.Change, this.lastStats, this.lastStats); } }, 3); } stop() { assertStatus(this.status, Status.Running); this.status = Status.Stopped; if (this.startTimeout !== null) { clearTimeout(this.startTimeout); this.startTimeout = null; } this.emit(Event.Stop); } stat() { try { return this.fakeFs.statSync(this.path, { bigint: this.bigint }); } catch { const statInstance = this.bigint ? new statUtils.BigIntStatsEntry() : new statUtils.StatEntry(); return statUtils.clearStats(statInstance); } } /** * Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes. * * @param opts.persistent Decides whether the interval should be immediately unref-ed. */ makeInterval(opts) { const interval = setInterval(() => { const currentStats = this.stat(); const previousStats = this.lastStats; if (statUtils.areStatsEqual(currentStats, previousStats)) return; this.lastStats = currentStats; this.emit(Event.Change, currentStats, previousStats); }, opts.interval); return opts.persistent ? interval : interval.unref(); } /** * Registers a listener and assigns it an interval. */ registerChangeListener(listener, opts) { this.addListener(Event.Change, listener); this.changeListeners.set(listener, this.makeInterval(opts)); } /** * Unregisters the listener and clears the assigned interval. */ unregisterChangeListener(listener) { this.removeListener(Event.Change, listener); const interval = this.changeListeners.get(listener); if (typeof interval !== `undefined`) clearInterval(interval); this.changeListeners.delete(listener); } /** * Unregisters all listeners and clears all assigned intervals. */ unregisterAllChangeListeners() { for (const listener of this.changeListeners.keys()) { this.unregisterChangeListener(listener); } } hasChangeListeners() { return this.changeListeners.size > 0; } /** * Refs all stored intervals. */ ref() { for (const interval of this.changeListeners.values()) interval.ref(); return this; } /** * Unrefs all stored intervals. */ unref() { for (const interval of this.changeListeners.values()) interval.unref(); return this; } }; exports2.CustomStatWatcher = CustomStatWatcher; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js var require_watchFile = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.watchFile = watchFile; exports2.unwatchFile = unwatchFile; exports2.unwatchAllFiles = unwatchAllFiles; var CustomStatWatcher_1 = require_CustomStatWatcher(); var statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); function watchFile(fakeFs, path2, a, b) { let bigint; let persistent; let interval; let listener; switch (typeof a) { case `function`: { bigint = false; persistent = true; interval = 5007; listener = a; } break; default: { ({ bigint = false, persistent = true, interval = 5007 } = a); listener = b; } break; } let statWatchers = statWatchersByFakeFS.get(fakeFs); if (typeof statWatchers === `undefined`) statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map()); let statWatcher = statWatchers.get(path2); if (typeof statWatcher === `undefined`) { statWatcher = CustomStatWatcher_1.CustomStatWatcher.create(fakeFs, path2, { bigint }); statWatchers.set(path2, statWatcher); } statWatcher.registerChangeListener(listener, { persistent, interval }); return statWatcher; } function unwatchFile(fakeFs, path2, cb) { const statWatchers = statWatchersByFakeFS.get(fakeFs); if (typeof statWatchers === `undefined`) return; const statWatcher = statWatchers.get(path2); if (typeof statWatcher === `undefined`) return; if (typeof cb === `undefined`) statWatcher.unregisterAllChangeListeners(); else statWatcher.unregisterChangeListener(cb); if (!statWatcher.hasChangeListeners()) { statWatcher.stop(); statWatchers.delete(path2); } } function unwatchAllFiles(fakeFs) { const statWatchers = statWatchersByFakeFS.get(fakeFs); if (typeof statWatchers === `undefined`) return; for (const path2 of statWatchers.keys()) { unwatchFile(fakeFs, path2); } } } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/FakeFS.js var require_FakeFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/FakeFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.BasePortableFakeFS = exports2.FakeFS = void 0; exports2.normalizeLineEndings = normalizeLineEndings; var crypto_1 = require("crypto"); var os_1 = require("os"); var copyPromise_1 = require_copyPromise(); var path_1 = require_path3(); var FakeFS = class { constructor(pathUtils) { this.pathUtils = pathUtils; } async *genTraversePromise(init, { stableSort = false } = {}) { const stack = [init]; while (stack.length > 0) { const p = stack.shift(); const entry = await this.lstatPromise(p); if (entry.isDirectory()) { const entries = await this.readdirPromise(p); if (stableSort) { for (const entry2 of entries.sort()) { stack.push(this.pathUtils.join(p, entry2)); } } else { throw new Error(`Not supported`); } } else { yield p; } } } async checksumFilePromise(path2, { algorithm = `sha512` } = {}) { const fd = await this.openPromise(path2, `r`); try { const CHUNK_SIZE = 65536; const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); const hash = (0, crypto_1.createHash)(algorithm); let bytesRead = 0; while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); return hash.digest(`hex`); } finally { await this.closePromise(fd); } } async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { let stat; try { stat = await this.lstatPromise(p); } catch (error) { if (error.code === `ENOENT`) { return; } else { throw error; } } if (stat.isDirectory()) { if (recursive) { const entries = await this.readdirPromise(p); await Promise.all(entries.map((entry) => { return this.removePromise(this.pathUtils.resolve(p, entry)); })); } for (let t = 0; t <= maxRetries; t++) { try { await this.rmdirPromise(p); break; } catch (error) { if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { throw error; } else if (t < maxRetries) { await new Promise((resolve) => setTimeout(resolve, t * 100)); } } } } else { await this.unlinkPromise(p); } } removeSync(p, { recursive = true } = {}) { let stat; try { stat = this.lstatSync(p); } catch (error) { if (error.code === `ENOENT`) { return; } else { throw error; } } if (stat.isDirectory()) { if (recursive) for (const entry of this.readdirSync(p)) this.removeSync(this.pathUtils.resolve(p, entry)); this.rmdirSync(p); } else { this.unlinkSync(p); } } async mkdirpPromise(p, { chmod, utimes } = {}) { p = this.resolve(p); if (p === this.pathUtils.dirname(p)) return void 0; const parts = p.split(this.pathUtils.sep); let createdDirectory; for (let u = 2; u <= parts.length; ++u) { const subPath = parts.slice(0, u).join(this.pathUtils.sep); if (!this.existsSync(subPath)) { try { await this.mkdirPromise(subPath); } catch (error) { if (error.code === `EEXIST`) { continue; } else { throw error; } } createdDirectory ??= subPath; if (chmod != null) await this.chmodPromise(subPath, chmod); if (utimes != null) { await this.utimesPromise(subPath, utimes[0], utimes[1]); } else { const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); } } } return createdDirectory; } mkdirpSync(p, { chmod, utimes } = {}) { p = this.resolve(p); if (p === this.pathUtils.dirname(p)) return void 0; const parts = p.split(this.pathUtils.sep); let createdDirectory; for (let u = 2; u <= parts.length; ++u) { const subPath = parts.slice(0, u).join(this.pathUtils.sep); if (!this.existsSync(subPath)) { try { this.mkdirSync(subPath); } catch (error) { if (error.code === `EEXIST`) { continue; } else { throw error; } } createdDirectory ??= subPath; if (chmod != null) this.chmodSync(subPath, chmod); if (utimes != null) { this.utimesSync(subPath, utimes[0], utimes[1]); } else { const parentStat = this.statSync(this.pathUtils.dirname(subPath)); this.utimesSync(subPath, parentStat.atime, parentStat.mtime); } } } return createdDirectory; } async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { return await (0, copyPromise_1.copyPromise)(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); } copySync(destination, source, { baseFs = this, overwrite = true } = {}) { const stat = baseFs.lstatSync(source); const exists = this.existsSync(destination); if (stat.isDirectory()) { this.mkdirpSync(destination); const directoryListing = baseFs.readdirSync(source); for (const entry of directoryListing) { this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); } } else if (stat.isFile()) { if (!exists || overwrite) { if (exists) this.removeSync(destination); const content = baseFs.readFileSync(source); this.writeFileSync(destination, content); } } else if (stat.isSymbolicLink()) { if (!exists || overwrite) { if (exists) this.removeSync(destination); const target = baseFs.readlinkSync(source); this.symlinkSync((0, path_1.convertPath)(this.pathUtils, target), destination); } } else { throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); } const mode = stat.mode & 511; this.chmodSync(destination, mode); } async changeFilePromise(p, content, opts = {}) { if (Buffer.isBuffer(content)) { return this.changeFileBufferPromise(p, content, opts); } else { return this.changeFileTextPromise(p, content, opts); } } async changeFileBufferPromise(p, content, { mode } = {}) { let current = Buffer.alloc(0); try { current = await this.readFilePromise(p); } catch { } if (Buffer.compare(current, content) === 0) return; await this.writeFilePromise(p, content, { mode }); } async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { let current = ``; try { current = await this.readFilePromise(p, `utf8`); } catch { } const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; if (current === normalizedContent) return; await this.writeFilePromise(p, normalizedContent, { mode }); } changeFileSync(p, content, opts = {}) { if (Buffer.isBuffer(content)) { return this.changeFileBufferSync(p, content, opts); } else { return this.changeFileTextSync(p, content, opts); } } changeFileBufferSync(p, content, { mode } = {}) { let current = Buffer.alloc(0); try { current = this.readFileSync(p); } catch { } if (Buffer.compare(current, content) === 0) return; this.writeFileSync(p, content, { mode }); } changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { let current = ``; try { current = this.readFileSync(p, `utf8`); } catch { } const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; if (current === normalizedContent) return; this.writeFileSync(p, normalizedContent, { mode }); } async movePromise(fromP, toP) { try { await this.renamePromise(fromP, toP); } catch (error) { if (error.code === `EXDEV`) { await this.copyPromise(toP, fromP); await this.removePromise(fromP); } else { throw error; } } } moveSync(fromP, toP) { try { this.renameSync(fromP, toP); } catch (error) { if (error.code === `EXDEV`) { this.copySync(toP, fromP); this.removeSync(fromP); } else { throw error; } } } async lockPromise(affectedPath, callback) { const lockPath = `${affectedPath}.flock`; const interval = 1e3 / 60; const startTime = Date.now(); let fd = null; const isAlive = async () => { let pid; try { [pid] = await this.readJsonPromise(lockPath); } catch { return Date.now() - startTime < 500; } try { process.kill(pid, 0); return true; } catch { return false; } }; while (fd === null) { try { fd = await this.openPromise(lockPath, `wx`); } catch (error) { if (error.code === `EEXIST`) { if (!await isAlive()) { try { await this.unlinkPromise(lockPath); continue; } catch { } } if (Date.now() - startTime < 60 * 1e3) { await new Promise((resolve) => setTimeout(resolve, interval)); } else { throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); } } else { throw error; } } } await this.writePromise(fd, JSON.stringify([process.pid])); try { return await callback(); } finally { try { await this.closePromise(fd); await this.unlinkPromise(lockPath); } catch { } } } async readJsonPromise(p) { const content = await this.readFilePromise(p, `utf8`); try { return JSON.parse(content); } catch (error) { error.message += ` (in ${p})`; throw error; } } readJsonSync(p) { const content = this.readFileSync(p, `utf8`); try { return JSON.parse(content); } catch (error) { error.message += ` (in ${p})`; throw error; } } async writeJsonPromise(p, data, { compact = false } = {}) { const space = compact ? 0 : 2; return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} `); } writeJsonSync(p, data, { compact = false } = {}) { const space = compact ? 0 : 2; return this.writeFileSync(p, `${JSON.stringify(data, null, space)} `); } async preserveTimePromise(p, cb) { const stat = await this.lstatPromise(p); const result2 = await cb(); if (typeof result2 !== `undefined`) p = result2; await this.lutimesPromise(p, stat.atime, stat.mtime); } async preserveTimeSync(p, cb) { const stat = this.lstatSync(p); const result2 = cb(); if (typeof result2 !== `undefined`) p = result2; this.lutimesSync(p, stat.atime, stat.mtime); } }; exports2.FakeFS = FakeFS; var BasePortableFakeFS = class extends FakeFS { constructor() { super(path_1.ppath); } }; exports2.BasePortableFakeFS = BasePortableFakeFS; function getEndOfLine(content) { const matches = content.match(/\r?\n/g); if (matches === null) return os_1.EOL; const crlf = matches.filter((nl) => nl === `\r `).length; const lf = matches.length - crlf; return crlf > lf ? `\r ` : ` `; } function normalizeLineEndings(originalContent, newContent) { return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); } } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/ProxiedFS.js var require_ProxiedFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/ProxiedFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ProxiedFS = void 0; var FakeFS_1 = require_FakeFS(); var ProxiedFS = class extends FakeFS_1.FakeFS { getExtractHint(hints) { return this.baseFs.getExtractHint(hints); } resolve(path2) { return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path2))); } getRealPath() { return this.mapFromBase(this.baseFs.getRealPath()); } async openPromise(p, flags, mode) { return this.baseFs.openPromise(this.mapToBase(p), flags, mode); } openSync(p, flags, mode) { return this.baseFs.openSync(this.mapToBase(p), flags, mode); } async opendirPromise(p, opts) { return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); } opendirSync(p, opts) { return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); } async readPromise(fd, buffer, offset, length, position) { return await this.baseFs.readPromise(fd, buffer, offset, length, position); } readSync(fd, buffer, offset, length, position) { return this.baseFs.readSync(fd, buffer, offset, length, position); } async writePromise(fd, buffer, offset, length, position) { if (typeof buffer === `string`) { return await this.baseFs.writePromise(fd, buffer, offset); } else { return await this.baseFs.writePromise(fd, buffer, offset, length, position); } } writeSync(fd, buffer, offset, length, position) { if (typeof buffer === `string`) { return this.baseFs.writeSync(fd, buffer, offset); } else { return this.baseFs.writeSync(fd, buffer, offset, length, position); } } async closePromise(fd) { return this.baseFs.closePromise(fd); } closeSync(fd) { this.baseFs.closeSync(fd); } createReadStream(p, opts) { return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); } createWriteStream(p, opts) { return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); } async realpathPromise(p) { return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); } realpathSync(p) { return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); } async existsPromise(p) { return this.baseFs.existsPromise(this.mapToBase(p)); } existsSync(p) { return this.baseFs.existsSync(this.mapToBase(p)); } accessSync(p, mode) { return this.baseFs.accessSync(this.mapToBase(p), mode); } async accessPromise(p, mode) { return this.baseFs.accessPromise(this.mapToBase(p), mode); } async statPromise(p, opts) { return this.baseFs.statPromise(this.mapToBase(p), opts); } statSync(p, opts) { return this.baseFs.statSync(this.mapToBase(p), opts); } async fstatPromise(fd, opts) { return this.baseFs.fstatPromise(fd, opts); } fstatSync(fd, opts) { return this.baseFs.fstatSync(fd, opts); } lstatPromise(p, opts) { return this.baseFs.lstatPromise(this.mapToBase(p), opts); } lstatSync(p, opts) { return this.baseFs.lstatSync(this.mapToBase(p), opts); } async fchmodPromise(fd, mask) { return this.baseFs.fchmodPromise(fd, mask); } fchmodSync(fd, mask) { return this.baseFs.fchmodSync(fd, mask); } async chmodPromise(p, mask) { return this.baseFs.chmodPromise(this.mapToBase(p), mask); } chmodSync(p, mask) { return this.baseFs.chmodSync(this.mapToBase(p), mask); } async fchownPromise(fd, uid, gid) { return this.baseFs.fchownPromise(fd, uid, gid); } fchownSync(fd, uid, gid) { return this.baseFs.fchownSync(fd, uid, gid); } async chownPromise(p, uid, gid) { return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); } chownSync(p, uid, gid) { return this.baseFs.chownSync(this.mapToBase(p), uid, gid); } async renamePromise(oldP, newP) { return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); } renameSync(oldP, newP) { return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); } async copyFilePromise(sourceP, destP, flags = 0) { return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); } copyFileSync(sourceP, destP, flags = 0) { return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); } async appendFilePromise(p, content, opts) { return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); } appendFileSync(p, content, opts) { return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); } async writeFilePromise(p, content, opts) { return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); } writeFileSync(p, content, opts) { return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); } async unlinkPromise(p) { return this.baseFs.unlinkPromise(this.mapToBase(p)); } unlinkSync(p) { return this.baseFs.unlinkSync(this.mapToBase(p)); } async utimesPromise(p, atime, mtime) { return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); } utimesSync(p, atime, mtime) { return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); } async lutimesPromise(p, atime, mtime) { return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); } lutimesSync(p, atime, mtime) { return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); } async mkdirPromise(p, opts) { return this.baseFs.mkdirPromise(this.mapToBase(p), opts); } mkdirSync(p, opts) { return this.baseFs.mkdirSync(this.mapToBase(p), opts); } async rmdirPromise(p, opts) { return this.baseFs.rmdirPromise(this.mapToBase(p), opts); } rmdirSync(p, opts) { return this.baseFs.rmdirSync(this.mapToBase(p), opts); } async rmPromise(p, opts) { return this.baseFs.rmPromise(this.mapToBase(p), opts); } rmSync(p, opts) { return this.baseFs.rmSync(this.mapToBase(p), opts); } async linkPromise(existingP, newP) { return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); } linkSync(existingP, newP) { return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); } async symlinkPromise(target, p, type) { const mappedP = this.mapToBase(p); if (this.pathUtils.isAbsolute(target)) return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); } symlinkSync(target, p, type) { const mappedP = this.mapToBase(p); if (this.pathUtils.isAbsolute(target)) return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); return this.baseFs.symlinkSync(mappedTarget, mappedP, type); } async readFilePromise(p, encoding) { return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); } readFileSync(p, encoding) { return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); } readdirPromise(p, opts) { return this.baseFs.readdirPromise(this.mapToBase(p), opts); } readdirSync(p, opts) { return this.baseFs.readdirSync(this.mapToBase(p), opts); } async readlinkPromise(p) { return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); } readlinkSync(p) { return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); } async truncatePromise(p, len) { return this.baseFs.truncatePromise(this.mapToBase(p), len); } truncateSync(p, len) { return this.baseFs.truncateSync(this.mapToBase(p), len); } async ftruncatePromise(fd, len) { return this.baseFs.ftruncatePromise(fd, len); } ftruncateSync(fd, len) { return this.baseFs.ftruncateSync(fd, len); } watch(p, a, b) { return this.baseFs.watch( this.mapToBase(p), // @ts-expect-error a, b ); } watchFile(p, a, b) { return this.baseFs.watchFile( this.mapToBase(p), // @ts-expect-error a, b ); } unwatchFile(p, cb) { return this.baseFs.unwatchFile(this.mapToBase(p), cb); } fsMapToBase(p) { if (typeof p === `number`) { return p; } else { return this.mapToBase(p); } } }; exports2.ProxiedFS = ProxiedFS; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/AliasFS.js var require_AliasFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/AliasFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.AliasFS = void 0; var ProxiedFS_1 = require_ProxiedFS(); var AliasFS = class extends ProxiedFS_1.ProxiedFS { constructor(target, { baseFs, pathUtils }) { super(pathUtils); this.target = target; this.baseFs = baseFs; } getRealPath() { return this.target; } getBaseFs() { return this.baseFs; } mapFromBase(p) { return p; } mapToBase(p) { return p; } }; exports2.AliasFS = AliasFS; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NodeFS.js var require_NodeFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NodeFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.NodeFS = void 0; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var fs_1 = tslib_12.__importDefault(require("fs")); var FakeFS_1 = require_FakeFS(); var path_1 = require_path3(); function direntToPortable(dirent) { const portableDirent = dirent; if (typeof dirent.path === `string`) portableDirent.path = path_1.npath.toPortablePath(dirent.path); return portableDirent; } var NodeFS = class extends FakeFS_1.BasePortableFakeFS { constructor(realFs = fs_1.default) { super(); this.realFs = realFs; } getExtractHint() { return false; } getRealPath() { return path_1.PortablePath.root; } resolve(p) { return path_1.ppath.resolve(p); } async openPromise(p, flags, mode) { return await new Promise((resolve, reject) => { this.realFs.open(path_1.npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); }); } openSync(p, flags, mode) { return this.realFs.openSync(path_1.npath.fromPortablePath(p), flags, mode); } async opendirPromise(p, opts) { return await new Promise((resolve, reject) => { if (typeof opts !== `undefined`) { this.realFs.opendir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.opendir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }).then((dir) => { const dirWithFixedPath = dir; Object.defineProperty(dirWithFixedPath, `path`, { value: p, configurable: true, writable: true }); return dirWithFixedPath; }); } opendirSync(p, opts) { const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(path_1.npath.fromPortablePath(p), opts) : this.realFs.opendirSync(path_1.npath.fromPortablePath(p)); const dirWithFixedPath = dir; Object.defineProperty(dirWithFixedPath, `path`, { value: p, configurable: true, writable: true }); return dirWithFixedPath; } async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { return await new Promise((resolve, reject) => { this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { if (error) { reject(error); } else { resolve(bytesRead); } }); }); } readSync(fd, buffer, offset, length, position) { return this.realFs.readSync(fd, buffer, offset, length, position); } async writePromise(fd, buffer, offset, length, position) { return await new Promise((resolve, reject) => { if (typeof buffer === `string`) { return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); } else { return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); } }); } writeSync(fd, buffer, offset, length, position) { if (typeof buffer === `string`) { return this.realFs.writeSync(fd, buffer, offset); } else { return this.realFs.writeSync(fd, buffer, offset, length, position); } } async closePromise(fd) { await new Promise((resolve, reject) => { this.realFs.close(fd, this.makeCallback(resolve, reject)); }); } closeSync(fd) { this.realFs.closeSync(fd); } createReadStream(p, opts) { const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p; return this.realFs.createReadStream(realPath, opts); } createWriteStream(p, opts) { const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p; return this.realFs.createWriteStream(realPath, opts); } async realpathPromise(p) { return await new Promise((resolve, reject) => { this.realFs.realpath(path_1.npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); }).then((path2) => { return path_1.npath.toPortablePath(path2); }); } realpathSync(p) { return path_1.npath.toPortablePath(this.realFs.realpathSync(path_1.npath.fromPortablePath(p), {})); } async existsPromise(p) { return await new Promise((resolve) => { this.realFs.exists(path_1.npath.fromPortablePath(p), resolve); }); } accessSync(p, mode) { return this.realFs.accessSync(path_1.npath.fromPortablePath(p), mode); } async accessPromise(p, mode) { return await new Promise((resolve, reject) => { this.realFs.access(path_1.npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); }); } existsSync(p) { return this.realFs.existsSync(path_1.npath.fromPortablePath(p)); } async statPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.stat(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.stat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } statSync(p, opts) { if (opts) { return this.realFs.statSync(path_1.npath.fromPortablePath(p), opts); } else { return this.realFs.statSync(path_1.npath.fromPortablePath(p)); } } async fstatPromise(fd, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); } else { this.realFs.fstat(fd, this.makeCallback(resolve, reject)); } }); } fstatSync(fd, opts) { if (opts) { return this.realFs.fstatSync(fd, opts); } else { return this.realFs.fstatSync(fd); } } async lstatPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.lstat(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.lstat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } lstatSync(p, opts) { if (opts) { return this.realFs.lstatSync(path_1.npath.fromPortablePath(p), opts); } else { return this.realFs.lstatSync(path_1.npath.fromPortablePath(p)); } } async fchmodPromise(fd, mask) { return await new Promise((resolve, reject) => { this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); }); } fchmodSync(fd, mask) { return this.realFs.fchmodSync(fd, mask); } async chmodPromise(p, mask) { return await new Promise((resolve, reject) => { this.realFs.chmod(path_1.npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); }); } chmodSync(p, mask) { return this.realFs.chmodSync(path_1.npath.fromPortablePath(p), mask); } async fchownPromise(fd, uid, gid) { return await new Promise((resolve, reject) => { this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); }); } fchownSync(fd, uid, gid) { return this.realFs.fchownSync(fd, uid, gid); } async chownPromise(p, uid, gid) { return await new Promise((resolve, reject) => { this.realFs.chown(path_1.npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); }); } chownSync(p, uid, gid) { return this.realFs.chownSync(path_1.npath.fromPortablePath(p), uid, gid); } async renamePromise(oldP, newP) { return await new Promise((resolve, reject) => { this.realFs.rename(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); }); } renameSync(oldP, newP) { return this.realFs.renameSync(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP)); } async copyFilePromise(sourceP, destP, flags = 0) { return await new Promise((resolve, reject) => { this.realFs.copyFile(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); }); } copyFileSync(sourceP, destP, flags = 0) { return this.realFs.copyFileSync(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags); } async appendFilePromise(p, content, opts) { return await new Promise((resolve, reject) => { const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; if (opts) { this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); } else { this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); } }); } appendFileSync(p, content, opts) { const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; if (opts) { this.realFs.appendFileSync(fsNativePath, content, opts); } else { this.realFs.appendFileSync(fsNativePath, content); } } async writeFilePromise(p, content, opts) { return await new Promise((resolve, reject) => { const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; if (opts) { this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); } else { this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); } }); } writeFileSync(p, content, opts) { const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; if (opts) { this.realFs.writeFileSync(fsNativePath, content, opts); } else { this.realFs.writeFileSync(fsNativePath, content); } } async unlinkPromise(p) { return await new Promise((resolve, reject) => { this.realFs.unlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); }); } unlinkSync(p) { return this.realFs.unlinkSync(path_1.npath.fromPortablePath(p)); } async utimesPromise(p, atime, mtime) { return await new Promise((resolve, reject) => { this.realFs.utimes(path_1.npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); }); } utimesSync(p, atime, mtime) { this.realFs.utimesSync(path_1.npath.fromPortablePath(p), atime, mtime); } async lutimesPromise(p, atime, mtime) { return await new Promise((resolve, reject) => { this.realFs.lutimes(path_1.npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); }); } lutimesSync(p, atime, mtime) { this.realFs.lutimesSync(path_1.npath.fromPortablePath(p), atime, mtime); } async mkdirPromise(p, opts) { return await new Promise((resolve, reject) => { this.realFs.mkdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); }); } mkdirSync(p, opts) { return this.realFs.mkdirSync(path_1.npath.fromPortablePath(p), opts); } async rmdirPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.rmdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.rmdir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } rmdirSync(p, opts) { return this.realFs.rmdirSync(path_1.npath.fromPortablePath(p), opts); } async rmPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.rm(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.rm(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } rmSync(p, opts) { return this.realFs.rmSync(path_1.npath.fromPortablePath(p), opts); } async linkPromise(existingP, newP) { return await new Promise((resolve, reject) => { this.realFs.link(path_1.npath.fromPortablePath(existingP), path_1.npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); }); } linkSync(existingP, newP) { return this.realFs.linkSync(path_1.npath.fromPortablePath(existingP), path_1.npath.fromPortablePath(newP)); } async symlinkPromise(target, p, type) { return await new Promise((resolve, reject) => { this.realFs.symlink(path_1.npath.fromPortablePath(target.replace(/\/+$/, ``)), path_1.npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); }); } symlinkSync(target, p, type) { return this.realFs.symlinkSync(path_1.npath.fromPortablePath(target.replace(/\/+$/, ``)), path_1.npath.fromPortablePath(p), type); } async readFilePromise(p, encoding) { return await new Promise((resolve, reject) => { const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); }); } readFileSync(p, encoding) { const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; return this.realFs.readFileSync(fsNativePath, encoding); } async readdirPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { if (opts.recursive && process.platform === `win32`) { if (opts.withFileTypes) { this.realFs.readdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); } else { this.realFs.readdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(path_1.npath.toPortablePath)), reject)); } } else { this.realFs.readdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } } else { this.realFs.readdir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } readdirSync(p, opts) { if (opts) { if (opts.recursive && process.platform === `win32`) { if (opts.withFileTypes) { return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), opts).map(direntToPortable); } else { return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), opts).map(path_1.npath.toPortablePath); } } else { return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), opts); } } else { return this.realFs.readdirSync(path_1.npath.fromPortablePath(p)); } } async readlinkPromise(p) { return await new Promise((resolve, reject) => { this.realFs.readlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); }).then((path2) => { return path_1.npath.toPortablePath(path2); }); } readlinkSync(p) { return path_1.npath.toPortablePath(this.realFs.readlinkSync(path_1.npath.fromPortablePath(p))); } async truncatePromise(p, len) { return await new Promise((resolve, reject) => { this.realFs.truncate(path_1.npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); }); } truncateSync(p, len) { return this.realFs.truncateSync(path_1.npath.fromPortablePath(p), len); } async ftruncatePromise(fd, len) { return await new Promise((resolve, reject) => { this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); }); } ftruncateSync(fd, len) { return this.realFs.ftruncateSync(fd, len); } watch(p, a, b) { return this.realFs.watch( path_1.npath.fromPortablePath(p), // @ts-expect-error a, b ); } watchFile(p, a, b) { return this.realFs.watchFile( path_1.npath.fromPortablePath(p), // @ts-expect-error a, b ); } unwatchFile(p, cb) { return this.realFs.unwatchFile(path_1.npath.fromPortablePath(p), cb); } makeCallback(resolve, reject) { return (err, result2) => { if (err) { reject(err); } else { resolve(result2); } }; } }; exports2.NodeFS = NodeFS; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/CwdFS.js var require_CwdFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/CwdFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CwdFS = void 0; var NodeFS_1 = require_NodeFS(); var ProxiedFS_1 = require_ProxiedFS(); var path_1 = require_path3(); var CwdFS = class extends ProxiedFS_1.ProxiedFS { constructor(target, { baseFs = new NodeFS_1.NodeFS() } = {}) { super(path_1.ppath); this.target = this.pathUtils.normalize(target); this.baseFs = baseFs; } getRealPath() { return this.pathUtils.resolve(this.baseFs.getRealPath(), this.target); } resolve(p) { if (this.pathUtils.isAbsolute(p)) { return path_1.ppath.normalize(p); } else { return this.baseFs.resolve(path_1.ppath.join(this.target, p)); } } mapFromBase(path2) { return path2; } mapToBase(path2) { if (this.pathUtils.isAbsolute(path2)) { return path2; } else { return this.pathUtils.join(this.target, path2); } } }; exports2.CwdFS = CwdFS; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/JailFS.js var require_JailFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/JailFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.JailFS = void 0; var NodeFS_1 = require_NodeFS(); var ProxiedFS_1 = require_ProxiedFS(); var path_1 = require_path3(); var JAIL_ROOT = path_1.PortablePath.root; var JailFS = class extends ProxiedFS_1.ProxiedFS { constructor(target, { baseFs = new NodeFS_1.NodeFS() } = {}) { super(path_1.ppath); this.target = this.pathUtils.resolve(path_1.PortablePath.root, target); this.baseFs = baseFs; } getRealPath() { return this.pathUtils.resolve(this.baseFs.getRealPath(), this.pathUtils.relative(path_1.PortablePath.root, this.target)); } getTarget() { return this.target; } getBaseFs() { return this.baseFs; } mapToBase(p) { const normalized = this.pathUtils.normalize(p); if (this.pathUtils.isAbsolute(p)) return this.pathUtils.resolve(this.target, this.pathUtils.relative(JAIL_ROOT, p)); if (normalized.match(/^\.\.\/?/)) throw new Error(`Resolving this path (${p}) would escape the jail`); return this.pathUtils.resolve(this.target, p); } mapFromBase(p) { return this.pathUtils.resolve(JAIL_ROOT, this.pathUtils.relative(this.target, p)); } }; exports2.JailFS = JailFS; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/LazyFS.js var require_LazyFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/LazyFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LazyFS = void 0; var ProxiedFS_1 = require_ProxiedFS(); var LazyFS = class extends ProxiedFS_1.ProxiedFS { constructor(factory, pathUtils) { super(pathUtils); this.instance = null; this.factory = factory; } get baseFs() { if (!this.instance) this.instance = this.factory(); return this.instance; } set baseFs(value) { this.instance = value; } mapFromBase(p) { return p; } mapToBase(p) { return p; } }; exports2.LazyFS = LazyFS; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/MountFS.js var require_MountFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/MountFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.MountFS = void 0; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var fs_1 = require("fs"); var FakeFS_1 = require_FakeFS(); var NodeFS_1 = require_NodeFS(); var watchFile_1 = require_watchFile(); var errors = tslib_12.__importStar(require_errors2()); var path_1 = require_path3(); var MOUNT_MASK = 4278190080; var MountFS = class extends FakeFS_1.BasePortableFakeFS { constructor({ baseFs = new NodeFS_1.NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs_1.constants.S_IFREG, getMountPoint, factoryPromise, factorySync }) { if (Math.floor(magicByte) !== magicByte || !(magicByte > 1 && magicByte <= 127)) throw new Error(`The magic byte must be set to a round value between 1 and 127 included`); super(); this.fdMap = /* @__PURE__ */ new Map(); this.nextFd = 3; this.isMount = /* @__PURE__ */ new Set(); this.notMount = /* @__PURE__ */ new Set(); this.realPaths = /* @__PURE__ */ new Map(); this.limitOpenFilesTimeout = null; this.baseFs = baseFs; this.mountInstances = useCache ? /* @__PURE__ */ new Map() : null; this.factoryPromise = factoryPromise; this.factorySync = factorySync; this.filter = filter; this.getMountPoint = getMountPoint; this.magic = magicByte << 24; this.maxAge = maxAge; this.maxOpenFiles = maxOpenFiles; this.typeCheck = typeCheck; } getExtractHint(hints) { return this.baseFs.getExtractHint(hints); } getRealPath() { return this.baseFs.getRealPath(); } saveAndClose() { (0, watchFile_1.unwatchAllFiles)(this); if (this.mountInstances) { for (const [path2, { childFs }] of this.mountInstances.entries()) { childFs.saveAndClose?.(); this.mountInstances.delete(path2); } } } discardAndClose() { (0, watchFile_1.unwatchAllFiles)(this); if (this.mountInstances) { for (const [path2, { childFs }] of this.mountInstances.entries()) { childFs.discardAndClose?.(); this.mountInstances.delete(path2); } } } resolve(p) { return this.baseFs.resolve(p); } remapFd(mountFs, fd) { const remappedFd = this.nextFd++ | this.magic; this.fdMap.set(remappedFd, [mountFs, fd]); return remappedFd; } async openPromise(p, flags, mode) { return await this.makeCallPromise(p, async () => { return await this.baseFs.openPromise(p, flags, mode); }, async (mountFs, { subPath }) => { return this.remapFd(mountFs, await mountFs.openPromise(subPath, flags, mode)); }); } openSync(p, flags, mode) { return this.makeCallSync(p, () => { return this.baseFs.openSync(p, flags, mode); }, (mountFs, { subPath }) => { return this.remapFd(mountFs, mountFs.openSync(subPath, flags, mode)); }); } async opendirPromise(p, opts) { return await this.makeCallPromise(p, async () => { return await this.baseFs.opendirPromise(p, opts); }, async (mountFs, { subPath }) => { return await mountFs.opendirPromise(subPath, opts); }, { requireSubpath: false }); } opendirSync(p, opts) { return this.makeCallSync(p, () => { return this.baseFs.opendirSync(p, opts); }, (mountFs, { subPath }) => { return mountFs.opendirSync(subPath, opts); }, { requireSubpath: false }); } async readPromise(fd, buffer, offset, length, position) { if ((fd & MOUNT_MASK) !== this.magic) return await this.baseFs.readPromise(fd, buffer, offset, length, position); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`read`); const [mountFs, realFd] = entry; return await mountFs.readPromise(realFd, buffer, offset, length, position); } readSync(fd, buffer, offset, length, position) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.readSync(fd, buffer, offset, length, position); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`readSync`); const [mountFs, realFd] = entry; return mountFs.readSync(realFd, buffer, offset, length, position); } async writePromise(fd, buffer, offset, length, position) { if ((fd & MOUNT_MASK) !== this.magic) { if (typeof buffer === `string`) { return await this.baseFs.writePromise(fd, buffer, offset); } else { return await this.baseFs.writePromise(fd, buffer, offset, length, position); } } const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`write`); const [mountFs, realFd] = entry; if (typeof buffer === `string`) { return await mountFs.writePromise(realFd, buffer, offset); } else { return await mountFs.writePromise(realFd, buffer, offset, length, position); } } writeSync(fd, buffer, offset, length, position) { if ((fd & MOUNT_MASK) !== this.magic) { if (typeof buffer === `string`) { return this.baseFs.writeSync(fd, buffer, offset); } else { return this.baseFs.writeSync(fd, buffer, offset, length, position); } } const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`writeSync`); const [mountFs, realFd] = entry; if (typeof buffer === `string`) { return mountFs.writeSync(realFd, buffer, offset); } else { return mountFs.writeSync(realFd, buffer, offset, length, position); } } async closePromise(fd) { if ((fd & MOUNT_MASK) !== this.magic) return await this.baseFs.closePromise(fd); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`close`); this.fdMap.delete(fd); const [mountFs, realFd] = entry; return await mountFs.closePromise(realFd); } closeSync(fd) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.closeSync(fd); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`closeSync`); this.fdMap.delete(fd); const [mountFs, realFd] = entry; return mountFs.closeSync(realFd); } createReadStream(p, opts) { if (p === null) return this.baseFs.createReadStream(p, opts); return this.makeCallSync(p, () => { return this.baseFs.createReadStream(p, opts); }, (mountFs, { archivePath, subPath }) => { const stream = mountFs.createReadStream(subPath, opts); stream.path = path_1.npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); return stream; }); } createWriteStream(p, opts) { if (p === null) return this.baseFs.createWriteStream(p, opts); return this.makeCallSync(p, () => { return this.baseFs.createWriteStream(p, opts); }, (mountFs, { subPath }) => { return mountFs.createWriteStream(subPath, opts); }); } async realpathPromise(p) { return await this.makeCallPromise(p, async () => { return await this.baseFs.realpathPromise(p); }, async (mountFs, { archivePath, subPath }) => { let realArchivePath = this.realPaths.get(archivePath); if (typeof realArchivePath === `undefined`) { realArchivePath = await this.baseFs.realpathPromise(archivePath); this.realPaths.set(archivePath, realArchivePath); } return this.pathUtils.join(realArchivePath, this.pathUtils.relative(path_1.PortablePath.root, await mountFs.realpathPromise(subPath))); }); } realpathSync(p) { return this.makeCallSync(p, () => { return this.baseFs.realpathSync(p); }, (mountFs, { archivePath, subPath }) => { let realArchivePath = this.realPaths.get(archivePath); if (typeof realArchivePath === `undefined`) { realArchivePath = this.baseFs.realpathSync(archivePath); this.realPaths.set(archivePath, realArchivePath); } return this.pathUtils.join(realArchivePath, this.pathUtils.relative(path_1.PortablePath.root, mountFs.realpathSync(subPath))); }); } async existsPromise(p) { return await this.makeCallPromise(p, async () => { return await this.baseFs.existsPromise(p); }, async (mountFs, { subPath }) => { return await mountFs.existsPromise(subPath); }); } existsSync(p) { return this.makeCallSync(p, () => { return this.baseFs.existsSync(p); }, (mountFs, { subPath }) => { return mountFs.existsSync(subPath); }); } async accessPromise(p, mode) { return await this.makeCallPromise(p, async () => { return await this.baseFs.accessPromise(p, mode); }, async (mountFs, { subPath }) => { return await mountFs.accessPromise(subPath, mode); }); } accessSync(p, mode) { return this.makeCallSync(p, () => { return this.baseFs.accessSync(p, mode); }, (mountFs, { subPath }) => { return mountFs.accessSync(subPath, mode); }); } async statPromise(p, opts) { return await this.makeCallPromise(p, async () => { return await this.baseFs.statPromise(p, opts); }, async (mountFs, { subPath }) => { return await mountFs.statPromise(subPath, opts); }); } statSync(p, opts) { return this.makeCallSync(p, () => { return this.baseFs.statSync(p, opts); }, (mountFs, { subPath }) => { return mountFs.statSync(subPath, opts); }); } async fstatPromise(fd, opts) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.fstatPromise(fd, opts); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`fstat`); const [mountFs, realFd] = entry; return mountFs.fstatPromise(realFd, opts); } fstatSync(fd, opts) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.fstatSync(fd, opts); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`fstatSync`); const [mountFs, realFd] = entry; return mountFs.fstatSync(realFd, opts); } async lstatPromise(p, opts) { return await this.makeCallPromise(p, async () => { return await this.baseFs.lstatPromise(p, opts); }, async (mountFs, { subPath }) => { return await mountFs.lstatPromise(subPath, opts); }); } lstatSync(p, opts) { return this.makeCallSync(p, () => { return this.baseFs.lstatSync(p, opts); }, (mountFs, { subPath }) => { return mountFs.lstatSync(subPath, opts); }); } async fchmodPromise(fd, mask) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.fchmodPromise(fd, mask); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`fchmod`); const [mountFs, realFd] = entry; return mountFs.fchmodPromise(realFd, mask); } fchmodSync(fd, mask) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.fchmodSync(fd, mask); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`fchmodSync`); const [mountFs, realFd] = entry; return mountFs.fchmodSync(realFd, mask); } async chmodPromise(p, mask) { return await this.makeCallPromise(p, async () => { return await this.baseFs.chmodPromise(p, mask); }, async (mountFs, { subPath }) => { return await mountFs.chmodPromise(subPath, mask); }); } chmodSync(p, mask) { return this.makeCallSync(p, () => { return this.baseFs.chmodSync(p, mask); }, (mountFs, { subPath }) => { return mountFs.chmodSync(subPath, mask); }); } async fchownPromise(fd, uid, gid) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.fchownPromise(fd, uid, gid); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`fchown`); const [zipFs, realFd] = entry; return zipFs.fchownPromise(realFd, uid, gid); } fchownSync(fd, uid, gid) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.fchownSync(fd, uid, gid); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`fchownSync`); const [zipFs, realFd] = entry; return zipFs.fchownSync(realFd, uid, gid); } async chownPromise(p, uid, gid) { return await this.makeCallPromise(p, async () => { return await this.baseFs.chownPromise(p, uid, gid); }, async (mountFs, { subPath }) => { return await mountFs.chownPromise(subPath, uid, gid); }); } chownSync(p, uid, gid) { return this.makeCallSync(p, () => { return this.baseFs.chownSync(p, uid, gid); }, (mountFs, { subPath }) => { return mountFs.chownSync(subPath, uid, gid); }); } async renamePromise(oldP, newP) { return await this.makeCallPromise(oldP, async () => { return await this.makeCallPromise(newP, async () => { return await this.baseFs.renamePromise(oldP, newP); }, async () => { throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); }); }, async (mountFsO, { subPath: subPathO }) => { return await this.makeCallPromise(newP, async () => { throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); }, async (mountFsN, { subPath: subPathN }) => { if (mountFsO !== mountFsN) { throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); } else { return await mountFsO.renamePromise(subPathO, subPathN); } }); }); } renameSync(oldP, newP) { return this.makeCallSync(oldP, () => { return this.makeCallSync(newP, () => { return this.baseFs.renameSync(oldP, newP); }, () => { throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); }); }, (mountFsO, { subPath: subPathO }) => { return this.makeCallSync(newP, () => { throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); }, (mountFsN, { subPath: subPathN }) => { if (mountFsO !== mountFsN) { throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); } else { return mountFsO.renameSync(subPathO, subPathN); } }); }); } async copyFilePromise(sourceP, destP, flags = 0) { const fallback = async (sourceFs, sourceP2, destFs, destP2) => { if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); if (flags & fs_1.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); let content; try { content = await sourceFs.readFilePromise(sourceP2); } catch { throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); } await destFs.writeFilePromise(destP2, content); }; return await this.makeCallPromise(sourceP, async () => { return await this.makeCallPromise(destP, async () => { return await this.baseFs.copyFilePromise(sourceP, destP, flags); }, async (mountFsD, { subPath: subPathD }) => { return await fallback(this.baseFs, sourceP, mountFsD, subPathD); }); }, async (mountFsS, { subPath: subPathS }) => { return await this.makeCallPromise(destP, async () => { return await fallback(mountFsS, subPathS, this.baseFs, destP); }, async (mountFsD, { subPath: subPathD }) => { if (mountFsS !== mountFsD) { return await fallback(mountFsS, subPathS, mountFsD, subPathD); } else { return await mountFsS.copyFilePromise(subPathS, subPathD, flags); } }); }); } copyFileSync(sourceP, destP, flags = 0) { const fallback = (sourceFs, sourceP2, destFs, destP2) => { if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); if (flags & fs_1.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); let content; try { content = sourceFs.readFileSync(sourceP2); } catch { throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); } destFs.writeFileSync(destP2, content); }; return this.makeCallSync(sourceP, () => { return this.makeCallSync(destP, () => { return this.baseFs.copyFileSync(sourceP, destP, flags); }, (mountFsD, { subPath: subPathD }) => { return fallback(this.baseFs, sourceP, mountFsD, subPathD); }); }, (mountFsS, { subPath: subPathS }) => { return this.makeCallSync(destP, () => { return fallback(mountFsS, subPathS, this.baseFs, destP); }, (mountFsD, { subPath: subPathD }) => { if (mountFsS !== mountFsD) { return fallback(mountFsS, subPathS, mountFsD, subPathD); } else { return mountFsS.copyFileSync(subPathS, subPathD, flags); } }); }); } async appendFilePromise(p, content, opts) { return await this.makeCallPromise(p, async () => { return await this.baseFs.appendFilePromise(p, content, opts); }, async (mountFs, { subPath }) => { return await mountFs.appendFilePromise(subPath, content, opts); }); } appendFileSync(p, content, opts) { return this.makeCallSync(p, () => { return this.baseFs.appendFileSync(p, content, opts); }, (mountFs, { subPath }) => { return mountFs.appendFileSync(subPath, content, opts); }); } async writeFilePromise(p, content, opts) { return await this.makeCallPromise(p, async () => { return await this.baseFs.writeFilePromise(p, content, opts); }, async (mountFs, { subPath }) => { return await mountFs.writeFilePromise(subPath, content, opts); }); } writeFileSync(p, content, opts) { return this.makeCallSync(p, () => { return this.baseFs.writeFileSync(p, content, opts); }, (mountFs, { subPath }) => { return mountFs.writeFileSync(subPath, content, opts); }); } async unlinkPromise(p) { return await this.makeCallPromise(p, async () => { return await this.baseFs.unlinkPromise(p); }, async (mountFs, { subPath }) => { return await mountFs.unlinkPromise(subPath); }); } unlinkSync(p) { return this.makeCallSync(p, () => { return this.baseFs.unlinkSync(p); }, (mountFs, { subPath }) => { return mountFs.unlinkSync(subPath); }); } async utimesPromise(p, atime, mtime) { return await this.makeCallPromise(p, async () => { return await this.baseFs.utimesPromise(p, atime, mtime); }, async (mountFs, { subPath }) => { return await mountFs.utimesPromise(subPath, atime, mtime); }); } utimesSync(p, atime, mtime) { return this.makeCallSync(p, () => { return this.baseFs.utimesSync(p, atime, mtime); }, (mountFs, { subPath }) => { return mountFs.utimesSync(subPath, atime, mtime); }); } async lutimesPromise(p, atime, mtime) { return await this.makeCallPromise(p, async () => { return await this.baseFs.lutimesPromise(p, atime, mtime); }, async (mountFs, { subPath }) => { return await mountFs.lutimesPromise(subPath, atime, mtime); }); } lutimesSync(p, atime, mtime) { return this.makeCallSync(p, () => { return this.baseFs.lutimesSync(p, atime, mtime); }, (mountFs, { subPath }) => { return mountFs.lutimesSync(subPath, atime, mtime); }); } async mkdirPromise(p, opts) { return await this.makeCallPromise(p, async () => { return await this.baseFs.mkdirPromise(p, opts); }, async (mountFs, { subPath }) => { return await mountFs.mkdirPromise(subPath, opts); }); } mkdirSync(p, opts) { return this.makeCallSync(p, () => { return this.baseFs.mkdirSync(p, opts); }, (mountFs, { subPath }) => { return mountFs.mkdirSync(subPath, opts); }); } async rmdirPromise(p, opts) { return await this.makeCallPromise(p, async () => { return await this.baseFs.rmdirPromise(p, opts); }, async (mountFs, { subPath }) => { return await mountFs.rmdirPromise(subPath, opts); }); } rmdirSync(p, opts) { return this.makeCallSync(p, () => { return this.baseFs.rmdirSync(p, opts); }, (mountFs, { subPath }) => { return mountFs.rmdirSync(subPath, opts); }); } async rmPromise(p, opts) { return await this.makeCallPromise(p, async () => { return await this.baseFs.rmPromise(p, opts); }, async (mountFs, { subPath }) => { return await mountFs.rmPromise(subPath, opts); }); } rmSync(p, opts) { return this.makeCallSync(p, () => { return this.baseFs.rmSync(p, opts); }, (mountFs, { subPath }) => { return mountFs.rmSync(subPath, opts); }); } async linkPromise(existingP, newP) { return await this.makeCallPromise(newP, async () => { return await this.baseFs.linkPromise(existingP, newP); }, async (mountFs, { subPath }) => { return await mountFs.linkPromise(existingP, subPath); }); } linkSync(existingP, newP) { return this.makeCallSync(newP, () => { return this.baseFs.linkSync(existingP, newP); }, (mountFs, { subPath }) => { return mountFs.linkSync(existingP, subPath); }); } async symlinkPromise(target, p, type) { return await this.makeCallPromise(p, async () => { return await this.baseFs.symlinkPromise(target, p, type); }, async (mountFs, { subPath }) => { return await mountFs.symlinkPromise(target, subPath); }); } symlinkSync(target, p, type) { return this.makeCallSync(p, () => { return this.baseFs.symlinkSync(target, p, type); }, (mountFs, { subPath }) => { return mountFs.symlinkSync(target, subPath); }); } async readFilePromise(p, encoding) { return this.makeCallPromise(p, async () => { return await this.baseFs.readFilePromise(p, encoding); }, async (mountFs, { subPath }) => { return await mountFs.readFilePromise(subPath, encoding); }); } readFileSync(p, encoding) { return this.makeCallSync(p, () => { return this.baseFs.readFileSync(p, encoding); }, (mountFs, { subPath }) => { return mountFs.readFileSync(subPath, encoding); }); } async readdirPromise(p, opts) { return await this.makeCallPromise(p, async () => { return await this.baseFs.readdirPromise(p, opts); }, async (mountFs, { subPath }) => { return await mountFs.readdirPromise(subPath, opts); }, { requireSubpath: false }); } readdirSync(p, opts) { return this.makeCallSync(p, () => { return this.baseFs.readdirSync(p, opts); }, (mountFs, { subPath }) => { return mountFs.readdirSync(subPath, opts); }, { requireSubpath: false }); } async readlinkPromise(p) { return await this.makeCallPromise(p, async () => { return await this.baseFs.readlinkPromise(p); }, async (mountFs, { subPath }) => { return await mountFs.readlinkPromise(subPath); }); } readlinkSync(p) { return this.makeCallSync(p, () => { return this.baseFs.readlinkSync(p); }, (mountFs, { subPath }) => { return mountFs.readlinkSync(subPath); }); } async truncatePromise(p, len) { return await this.makeCallPromise(p, async () => { return await this.baseFs.truncatePromise(p, len); }, async (mountFs, { subPath }) => { return await mountFs.truncatePromise(subPath, len); }); } truncateSync(p, len) { return this.makeCallSync(p, () => { return this.baseFs.truncateSync(p, len); }, (mountFs, { subPath }) => { return mountFs.truncateSync(subPath, len); }); } async ftruncatePromise(fd, len) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.ftruncatePromise(fd, len); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`ftruncate`); const [mountFs, realFd] = entry; return mountFs.ftruncatePromise(realFd, len); } ftruncateSync(fd, len) { if ((fd & MOUNT_MASK) !== this.magic) return this.baseFs.ftruncateSync(fd, len); const entry = this.fdMap.get(fd); if (typeof entry === `undefined`) throw errors.EBADF(`ftruncateSync`); const [mountFs, realFd] = entry; return mountFs.ftruncateSync(realFd, len); } watch(p, a, b) { return this.makeCallSync(p, () => { return this.baseFs.watch( p, // @ts-expect-error a, b ); }, (mountFs, { subPath }) => { return mountFs.watch( subPath, // @ts-expect-error a, b ); }); } watchFile(p, a, b) { return this.makeCallSync(p, () => { return this.baseFs.watchFile( p, // @ts-expect-error a, b ); }, () => { return (0, watchFile_1.watchFile)(this, p, a, b); }); } unwatchFile(p, cb) { return this.makeCallSync(p, () => { return this.baseFs.unwatchFile(p, cb); }, () => { return (0, watchFile_1.unwatchFile)(this, p, cb); }); } async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) { if (typeof p !== `string`) return await discard(); const normalizedP = this.resolve(p); const mountInfo = this.findMount(normalizedP); if (!mountInfo) return await discard(); if (requireSubpath && mountInfo.subPath === `/`) return await discard(); return await this.getMountPromise(mountInfo.archivePath, async (mountFs) => await accept(mountFs, mountInfo)); } makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { if (typeof p !== `string`) return discard(); const normalizedP = this.resolve(p); const mountInfo = this.findMount(normalizedP); if (!mountInfo) return discard(); if (requireSubpath && mountInfo.subPath === `/`) return discard(); return this.getMountSync(mountInfo.archivePath, (mountFs) => accept(mountFs, mountInfo)); } findMount(p) { if (this.filter && !this.filter.test(p)) return null; let filePath = ``; while (true) { const pathPartWithArchive = p.substring(filePath.length); const mountPoint = this.getMountPoint(pathPartWithArchive, filePath); if (!mountPoint) return null; filePath = this.pathUtils.join(filePath, mountPoint); if (!this.isMount.has(filePath)) { if (this.notMount.has(filePath)) continue; try { if (this.typeCheck !== null && (this.baseFs.statSync(filePath).mode & fs_1.constants.S_IFMT) !== this.typeCheck) { this.notMount.add(filePath); continue; } } catch { return null; } this.isMount.add(filePath); } return { archivePath: filePath, subPath: this.pathUtils.join(path_1.PortablePath.root, p.substring(filePath.length)) }; } } limitOpenFiles(max) { if (this.mountInstances === null) return; const now = Date.now(); let nextExpiresAt = now + this.maxAge; let closeCount = max === null ? 0 : this.mountInstances.size - max; for (const [path2, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) { if (refCount !== 0 || childFs.hasOpenFileHandles?.()) { continue; } else if (now >= expiresAt) { childFs.saveAndClose?.(); this.mountInstances.delete(path2); closeCount -= 1; continue; } else if (max === null || closeCount <= 0) { nextExpiresAt = expiresAt; break; } childFs.saveAndClose?.(); this.mountInstances.delete(path2); closeCount -= 1; } if (this.limitOpenFilesTimeout === null && (max === null && this.mountInstances.size > 0 || max !== null) && isFinite(nextExpiresAt)) { this.limitOpenFilesTimeout = setTimeout(() => { this.limitOpenFilesTimeout = null; this.limitOpenFiles(null); }, nextExpiresAt - now).unref(); } } async getMountPromise(p, accept) { if (this.mountInstances) { let cachedMountFs = this.mountInstances.get(p); if (!cachedMountFs) { const createFsInstance = await this.factoryPromise(this.baseFs, p); cachedMountFs = this.mountInstances.get(p); if (!cachedMountFs) { cachedMountFs = { childFs: createFsInstance(), expiresAt: 0, refCount: 0 }; } } this.mountInstances.delete(p); this.limitOpenFiles(this.maxOpenFiles - 1); this.mountInstances.set(p, cachedMountFs); cachedMountFs.expiresAt = Date.now() + this.maxAge; cachedMountFs.refCount += 1; try { return await accept(cachedMountFs.childFs); } finally { cachedMountFs.refCount -= 1; } } else { const mountFs = (await this.factoryPromise(this.baseFs, p))(); try { return await accept(mountFs); } finally { mountFs.saveAndClose?.(); } } } getMountSync(p, accept) { if (this.mountInstances) { let cachedMountFs = this.mountInstances.get(p); if (!cachedMountFs) { cachedMountFs = { childFs: this.factorySync(this.baseFs, p), expiresAt: 0, refCount: 0 }; } this.mountInstances.delete(p); this.limitOpenFiles(this.maxOpenFiles - 1); this.mountInstances.set(p, cachedMountFs); cachedMountFs.expiresAt = Date.now() + this.maxAge; return accept(cachedMountFs.childFs); } else { const childFs = this.factorySync(this.baseFs, p); try { return accept(childFs); } finally { childFs.saveAndClose?.(); } } } }; exports2.MountFS = MountFS; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NoFS.js var require_NoFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NoFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.NoFS = void 0; var FakeFS_1 = require_FakeFS(); var path_1 = require_path3(); var makeError = () => Object.assign(new Error(`ENOSYS: unsupported filesystem access`), { code: `ENOSYS` }); var NoFS = class extends FakeFS_1.FakeFS { constructor() { super(path_1.ppath); } getExtractHint() { throw makeError(); } getRealPath() { throw makeError(); } resolve() { throw makeError(); } async openPromise() { throw makeError(); } openSync() { throw makeError(); } async opendirPromise() { throw makeError(); } opendirSync() { throw makeError(); } async readPromise() { throw makeError(); } readSync() { throw makeError(); } async writePromise() { throw makeError(); } writeSync() { throw makeError(); } async closePromise() { throw makeError(); } closeSync() { throw makeError(); } createWriteStream() { throw makeError(); } createReadStream() { throw makeError(); } async realpathPromise() { throw makeError(); } realpathSync() { throw makeError(); } async readdirPromise() { throw makeError(); } readdirSync() { throw makeError(); } async existsPromise(p) { throw makeError(); } existsSync(p) { throw makeError(); } async accessPromise() { throw makeError(); } accessSync() { throw makeError(); } async statPromise() { throw makeError(); } statSync() { throw makeError(); } async fstatPromise(fd) { throw makeError(); } fstatSync(fd) { throw makeError(); } async lstatPromise(p) { throw makeError(); } lstatSync(p) { throw makeError(); } async fchmodPromise() { throw makeError(); } fchmodSync() { throw makeError(); } async chmodPromise() { throw makeError(); } chmodSync() { throw makeError(); } async fchownPromise() { throw makeError(); } fchownSync() { throw makeError(); } async chownPromise() { throw makeError(); } chownSync() { throw makeError(); } async mkdirPromise() { throw makeError(); } mkdirSync() { throw makeError(); } async rmdirPromise() { throw makeError(); } rmdirSync() { throw makeError(); } async rmPromise() { throw makeError(); } rmSync() { throw makeError(); } async linkPromise() { throw makeError(); } linkSync() { throw makeError(); } async symlinkPromise() { throw makeError(); } symlinkSync() { throw makeError(); } async renamePromise() { throw makeError(); } renameSync() { throw makeError(); } async copyFilePromise() { throw makeError(); } copyFileSync() { throw makeError(); } async appendFilePromise() { throw makeError(); } appendFileSync() { throw makeError(); } async writeFilePromise() { throw makeError(); } writeFileSync() { throw makeError(); } async unlinkPromise() { throw makeError(); } unlinkSync() { throw makeError(); } async utimesPromise() { throw makeError(); } utimesSync() { throw makeError(); } async lutimesPromise() { throw makeError(); } lutimesSync() { throw makeError(); } async readFilePromise() { throw makeError(); } readFileSync() { throw makeError(); } async readlinkPromise() { throw makeError(); } readlinkSync() { throw makeError(); } async truncatePromise() { throw makeError(); } truncateSync() { throw makeError(); } async ftruncatePromise(fd, len) { throw makeError(); } ftruncateSync(fd, len) { throw makeError(); } watch() { throw makeError(); } watchFile() { throw makeError(); } unwatchFile() { throw makeError(); } }; exports2.NoFS = NoFS; NoFS.instance = new NoFS(); } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/PosixFS.js var require_PosixFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/PosixFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.PosixFS = void 0; var ProxiedFS_1 = require_ProxiedFS(); var path_1 = require_path3(); var PosixFS = class extends ProxiedFS_1.ProxiedFS { constructor(baseFs) { super(path_1.npath); this.baseFs = baseFs; } mapFromBase(path2) { return path_1.npath.fromPortablePath(path2); } mapToBase(path2) { return path_1.npath.toPortablePath(path2); } }; exports2.PosixFS = PosixFS; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/VirtualFS.js var require_VirtualFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/VirtualFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.VirtualFS = void 0; var NodeFS_1 = require_NodeFS(); var ProxiedFS_1 = require_ProxiedFS(); var path_1 = require_path3(); var NUMBER_REGEXP = /^[0-9]+$/; var VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; var VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; var VirtualFS = class _VirtualFS extends ProxiedFS_1.ProxiedFS { static makeVirtualPath(base, component, to) { if (path_1.ppath.basename(base) !== `__virtual__`) throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); if (!path_1.ppath.basename(component).match(VALID_COMPONENT)) throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); const target = path_1.ppath.relative(path_1.ppath.dirname(base), to); const segments = target.split(`/`); let depth = 0; while (depth < segments.length && segments[depth] === `..`) depth += 1; const finalSegments = segments.slice(depth); const fullVirtualPath = path_1.ppath.join(base, component, String(depth), ...finalSegments); return fullVirtualPath; } static resolveVirtual(p) { const match = p.match(VIRTUAL_REGEXP); if (!match || !match[3] && match[5]) return p; const target = path_1.ppath.dirname(match[1]); if (!match[3] || !match[4]) return target; const isnum = NUMBER_REGEXP.test(match[4]); if (!isnum) return p; const depth = Number(match[4]); const backstep = `../`.repeat(depth); const subpath = match[5] || `.`; return _VirtualFS.resolveVirtual(path_1.ppath.join(target, backstep, subpath)); } constructor({ baseFs = new NodeFS_1.NodeFS() } = {}) { super(path_1.ppath); this.baseFs = baseFs; } getExtractHint(hints) { return this.baseFs.getExtractHint(hints); } getRealPath() { return this.baseFs.getRealPath(); } realpathSync(p) { const match = p.match(VIRTUAL_REGEXP); if (!match) return this.baseFs.realpathSync(p); if (!match[5]) return p; const realpath = this.baseFs.realpathSync(this.mapToBase(p)); return _VirtualFS.makeVirtualPath(match[1], match[3], realpath); } async realpathPromise(p) { const match = p.match(VIRTUAL_REGEXP); if (!match) return await this.baseFs.realpathPromise(p); if (!match[5]) return p; const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); return _VirtualFS.makeVirtualPath(match[1], match[3], realpath); } mapToBase(p) { if (p === ``) return p; if (this.pathUtils.isAbsolute(p)) return _VirtualFS.resolveVirtual(p); const resolvedRoot = _VirtualFS.resolveVirtual(this.baseFs.resolve(path_1.PortablePath.dot)); const resolvedP = _VirtualFS.resolveVirtual(this.baseFs.resolve(p)); return path_1.ppath.relative(resolvedRoot, resolvedP) || path_1.PortablePath.dot; } mapFromBase(p) { return p; } }; exports2.VirtualFS = VirtualFS; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NodePathFS.js var require_NodePathFS = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NodePathFS.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.NodePathFS = void 0; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var buffer_1 = tslib_12.__importDefault(require("buffer")); var url_1 = require("url"); var util_1 = require("util"); var ProxiedFS_1 = require_ProxiedFS(); var path_1 = require_path3(); var NodePathFS = class extends ProxiedFS_1.ProxiedFS { constructor(baseFs) { super(path_1.npath); this.baseFs = baseFs; } mapFromBase(path2) { return path2; } mapToBase(path2) { if (typeof path2 === `string`) return path2; if (path2 instanceof URL) return (0, url_1.fileURLToPath)(path2); if (Buffer.isBuffer(path2)) { const str = path2.toString(); if (!isUtf8(path2, str)) throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); return str; } throw new Error(`Unsupported path type: ${(0, util_1.inspect)(path2)}`); } }; exports2.NodePathFS = NodePathFS; function isUtf8(buf, str) { if (typeof buffer_1.default.isUtf8 !== `undefined`) return buffer_1.default.isUtf8(buf); return Buffer.byteLength(str) === buf.byteLength; } } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js var require_FileHandle = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js"(exports2) { "use strict"; var _a; var _b; var _c; var _d; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.FileHandle = void 0; var readline_1 = require("readline"); var kBaseFs = Symbol(`kBaseFs`); var kFd = Symbol(`kFd`); var kClosePromise = Symbol(`kClosePromise`); var kCloseResolve = Symbol(`kCloseResolve`); var kCloseReject = Symbol(`kCloseReject`); var kRefs = Symbol(`kRefs`); var kRef = Symbol(`kRef`); var kUnref = Symbol(`kUnref`); var FileHandle = class { constructor(fd, baseFs) { this[_a] = 1; this[_b] = void 0; this[_c] = void 0; this[_d] = void 0; this[kBaseFs] = baseFs; this[kFd] = fd; } get fd() { return this[kFd]; } async appendFile(data, options) { try { this[kRef](this.appendFile); const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); } finally { this[kUnref](); } } async chown(uid, gid) { try { this[kRef](this.chown); return await this[kBaseFs].fchownPromise(this.fd, uid, gid); } finally { this[kUnref](); } } async chmod(mode) { try { this[kRef](this.chmod); return await this[kBaseFs].fchmodPromise(this.fd, mode); } finally { this[kUnref](); } } createReadStream(options) { return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); } createWriteStream(options) { return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); } // FIXME: Missing FakeFS version datasync() { throw new Error(`Method not implemented.`); } // FIXME: Missing FakeFS version sync() { throw new Error(`Method not implemented.`); } async read(bufferOrOptions, offset, length, position) { try { this[kRef](this.read); let buffer; if (!Buffer.isBuffer(bufferOrOptions)) { bufferOrOptions ??= {}; buffer = bufferOrOptions.buffer ?? Buffer.alloc(16384); offset = bufferOrOptions.offset || 0; length = bufferOrOptions.length ?? buffer.byteLength; position = bufferOrOptions.position ?? null; } else { buffer = bufferOrOptions; } offset ??= 0; length ??= 0; if (length === 0) { return { bytesRead: length, buffer }; } const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); return { bytesRead, buffer }; } finally { this[kUnref](); } } async readFile(options) { try { this[kRef](this.readFile); const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; return await this[kBaseFs].readFilePromise(this.fd, encoding); } finally { this[kUnref](); } } readLines(options) { return (0, readline_1.createInterface)({ input: this.createReadStream(options), crlfDelay: Infinity }); } async stat(opts) { try { this[kRef](this.stat); return await this[kBaseFs].fstatPromise(this.fd, opts); } finally { this[kUnref](); } } async truncate(len) { try { this[kRef](this.truncate); return await this[kBaseFs].ftruncatePromise(this.fd, len); } finally { this[kUnref](); } } // FIXME: Missing FakeFS version utimes(atime, mtime) { throw new Error(`Method not implemented.`); } async writeFile(data, options) { try { this[kRef](this.writeFile); const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; await this[kBaseFs].writeFilePromise(this.fd, data, encoding); } finally { this[kUnref](); } } async write(...args) { try { this[kRef](this.write); if (ArrayBuffer.isView(args[0])) { const [buffer, offset, length, position] = args; const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset ?? void 0, length ?? void 0, position ?? void 0); return { bytesWritten, buffer }; } else { const [data, position, encoding] = args; const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); return { bytesWritten, buffer: data }; } } finally { this[kUnref](); } } // TODO: Use writev from FakeFS when that is implemented async writev(buffers, position) { try { this[kRef](this.writev); let bytesWritten = 0; if (typeof position !== `undefined`) { for (const buffer of buffers) { const writeResult = await this.write(buffer, void 0, void 0, position); bytesWritten += writeResult.bytesWritten; position += writeResult.bytesWritten; } } else { for (const buffer of buffers) { const writeResult = await this.write(buffer); bytesWritten += writeResult.bytesWritten; } } return { buffers, bytesWritten }; } finally { this[kUnref](); } } // FIXME: Missing FakeFS version readv(buffers, position) { throw new Error(`Method not implemented.`); } close() { if (this[kFd] === -1) return Promise.resolve(); if (this[kClosePromise]) return this[kClosePromise]; this[kRefs]--; if (this[kRefs] === 0) { const fd = this[kFd]; this[kFd] = -1; this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { this[kClosePromise] = void 0; }); } else { this[kClosePromise] = new Promise((resolve, reject) => { this[kCloseResolve] = resolve; this[kCloseReject] = reject; }).finally(() => { this[kClosePromise] = void 0; this[kCloseReject] = void 0; this[kCloseResolve] = void 0; }); } return this[kClosePromise]; } [(_a = kRefs, _b = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) { if (this[kFd] === -1) { const err = new Error(`file closed`); err.code = `EBADF`; err.syscall = caller.name; throw err; } this[kRefs]++; } [kUnref]() { this[kRefs]--; if (this[kRefs] === 0) { const fd = this[kFd]; this[kFd] = -1; this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); } } }; exports2.FileHandle = FileHandle; } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js var require_patchFs = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.patchFs = patchFs; exports2.extendFs = extendFs; var util_1 = require("util"); var NodePathFS_1 = require_NodePathFS(); var FileHandle_1 = require_FileHandle(); var SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ `accessSync`, `appendFileSync`, `createReadStream`, `createWriteStream`, `chmodSync`, `fchmodSync`, `chownSync`, `fchownSync`, `closeSync`, `copyFileSync`, `linkSync`, `lstatSync`, `fstatSync`, `lutimesSync`, `mkdirSync`, `openSync`, `opendirSync`, `readlinkSync`, `readFileSync`, `readdirSync`, `readlinkSync`, `realpathSync`, `renameSync`, `rmdirSync`, `rmSync`, `statSync`, `symlinkSync`, `truncateSync`, `ftruncateSync`, `unlinkSync`, `unwatchFile`, `utimesSync`, `watch`, `watchFile`, `writeFileSync`, `writeSync` ]); var ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ `accessPromise`, `appendFilePromise`, `fchmodPromise`, `chmodPromise`, `fchownPromise`, `chownPromise`, `closePromise`, `copyFilePromise`, `linkPromise`, `fstatPromise`, `lstatPromise`, `lutimesPromise`, `mkdirPromise`, `openPromise`, `opendirPromise`, `readdirPromise`, `realpathPromise`, `readFilePromise`, `readdirPromise`, `readlinkPromise`, `renamePromise`, `rmdirPromise`, `rmPromise`, `statPromise`, `symlinkPromise`, `truncatePromise`, `ftruncatePromise`, `unlinkPromise`, `utimesPromise`, `writeFilePromise`, `writeSync` ]); function patchFs(patchedFs, fakeFs) { fakeFs = new NodePathFS_1.NodePathFS(fakeFs); const setupFn = (target, name, replacement) => { const orig = target[name]; target[name] = replacement; if (typeof orig?.[util_1.promisify.custom] !== `undefined`) { replacement[util_1.promisify.custom] = orig[util_1.promisify.custom]; } }; { setupFn(patchedFs, `exists`, (p, ...args) => { const hasCallback = typeof args[args.length - 1] === `function`; const callback = hasCallback ? args.pop() : () => { }; process.nextTick(() => { fakeFs.existsPromise(p).then((exists) => { callback(exists); }, () => { callback(false); }); }); }); setupFn(patchedFs, `read`, (...args) => { let [fd, buffer, offset, length, position, callback] = args; if (args.length <= 3) { let options = {}; if (args.length < 3) { callback = args[1]; } else { options = args[1]; callback = args[2]; } ({ buffer = Buffer.alloc(16384), offset = 0, length = buffer.byteLength, position } = options); } if (offset == null) offset = 0; length |= 0; if (length === 0) { process.nextTick(() => { callback(null, 0, buffer); }); return; } if (position == null) position = -1; process.nextTick(() => { fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { callback(null, bytesRead, buffer); }, (error) => { callback(error, 0, buffer); }); }); }); for (const fnName of ASYNC_IMPLEMENTATIONS) { const origName = fnName.replace(/Promise$/, ``); if (typeof patchedFs[origName] === `undefined`) continue; const fakeImpl = fakeFs[fnName]; if (typeof fakeImpl === `undefined`) continue; const wrapper = (...args) => { const hasCallback = typeof args[args.length - 1] === `function`; const callback = hasCallback ? args.pop() : () => { }; process.nextTick(() => { fakeImpl.apply(fakeFs, args).then((result2) => { callback(null, result2); }, (error) => { callback(error); }); }); }; setupFn(patchedFs, origName, wrapper); } patchedFs.realpath.native = patchedFs.realpath; } { setupFn(patchedFs, `existsSync`, (p) => { try { return fakeFs.existsSync(p); } catch { return false; } }); setupFn(patchedFs, `readSync`, (...args) => { let [fd, buffer, offset, length, position] = args; if (args.length <= 3) { const options = args[2] || {}; ({ offset = 0, length = buffer.byteLength, position } = options); } if (offset == null) offset = 0; length |= 0; if (length === 0) return 0; if (position == null) position = -1; return fakeFs.readSync(fd, buffer, offset, length, position); }); for (const fnName of SYNC_IMPLEMENTATIONS) { const origName = fnName; if (typeof patchedFs[origName] === `undefined`) continue; const fakeImpl = fakeFs[fnName]; if (typeof fakeImpl === `undefined`) continue; setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); } patchedFs.realpathSync.native = patchedFs.realpathSync; } { const patchedFsPromises = patchedFs.promises; for (const fnName of ASYNC_IMPLEMENTATIONS) { const origName = fnName.replace(/Promise$/, ``); if (typeof patchedFsPromises[origName] === `undefined`) continue; const fakeImpl = fakeFs[fnName]; if (typeof fakeImpl === `undefined`) continue; if (fnName === `open`) continue; setupFn(patchedFsPromises, origName, (pathLike, ...args) => { if (pathLike instanceof FileHandle_1.FileHandle) { return pathLike[origName].apply(pathLike, args); } else { return fakeImpl.call(fakeFs, pathLike, ...args); } }); } setupFn(patchedFsPromises, `open`, async (...args) => { const fd = await fakeFs.openPromise(...args); return new FileHandle_1.FileHandle(fd, fakeFs); }); } { patchedFs.read[util_1.promisify.custom] = async (fd, buffer, ...args) => { const res = fakeFs.readPromise(fd, buffer, ...args); return { bytesRead: await res, buffer }; }; patchedFs.write[util_1.promisify.custom] = async (fd, buffer, ...args) => { const res = fakeFs.writePromise(fd, buffer, ...args); return { bytesWritten: await res, buffer }; }; } } function extendFs(realFs, fakeFs) { const patchedFs = Object.create(realFs); patchFs(patchedFs, fakeFs); return patchedFs; } } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/xfs.js var require_xfs = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/xfs.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.xfs = void 0; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var os_1 = tslib_12.__importDefault(require("os")); var NodeFS_1 = require_NodeFS(); var path_1 = require_path3(); function getTempName(prefix) { const hash = Math.ceil(Math.random() * 4294967296).toString(16).padStart(8, `0`); return `${prefix}${hash}`; } var tmpdirs = /* @__PURE__ */ new Set(); var tmpEnv = null; function initTmpEnv() { if (tmpEnv) return tmpEnv; const tmpdir = path_1.npath.toPortablePath(os_1.default.tmpdir()); const realTmpdir = exports2.xfs.realpathSync(tmpdir); process.once(`exit`, () => { exports2.xfs.rmtempSync(); }); return tmpEnv = { tmpdir, realTmpdir }; } exports2.xfs = Object.assign(new NodeFS_1.NodeFS(), { detachTemp(p) { tmpdirs.delete(p); }, mktempSync(cb) { const { tmpdir, realTmpdir } = initTmpEnv(); while (true) { const name = getTempName(`xfs-`); try { this.mkdirSync(path_1.ppath.join(tmpdir, name)); } catch (error) { if (error.code === `EEXIST`) { continue; } else { throw error; } } const realP = path_1.ppath.join(realTmpdir, name); tmpdirs.add(realP); if (typeof cb === `undefined`) return realP; try { return cb(realP); } finally { if (tmpdirs.has(realP)) { tmpdirs.delete(realP); try { this.removeSync(realP); } catch { } } } } }, async mktempPromise(cb) { const { tmpdir, realTmpdir } = initTmpEnv(); while (true) { const name = getTempName(`xfs-`); try { await this.mkdirPromise(path_1.ppath.join(tmpdir, name)); } catch (error) { if (error.code === `EEXIST`) { continue; } else { throw error; } } const realP = path_1.ppath.join(realTmpdir, name); tmpdirs.add(realP); if (typeof cb === `undefined`) return realP; try { return await cb(realP); } finally { if (tmpdirs.has(realP)) { tmpdirs.delete(realP); try { await this.removePromise(realP); } catch { } } } } }, async rmtempPromise() { await Promise.all(Array.from(tmpdirs.values()).map(async (p) => { try { await exports2.xfs.removePromise(p, { maxRetries: 0 }); tmpdirs.delete(p); } catch { } })); }, rmtempSync() { for (const p of tmpdirs) { try { exports2.xfs.removeSync(p); tmpdirs.delete(p); } catch { } } } }); } }); // ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/index.js var require_lib62 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.xfs = exports2.extendFs = exports2.patchFs = exports2.VirtualFS = exports2.ProxiedFS = exports2.PosixFS = exports2.NodeFS = exports2.NoFS = exports2.MountFS = exports2.LazyFS = exports2.JailFS = exports2.CwdFS = exports2.BasePortableFakeFS = exports2.FakeFS = exports2.AliasFS = exports2.ppath = exports2.npath = exports2.Filename = exports2.PortablePath = exports2.normalizeLineEndings = exports2.unwatchAllFiles = exports2.unwatchFile = exports2.watchFile = exports2.CustomDir = exports2.opendir = exports2.setupCopyIndex = exports2.statUtils = exports2.errors = exports2.constants = void 0; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var constants = tslib_12.__importStar(require_constants7()); exports2.constants = constants; var errors = tslib_12.__importStar(require_errors2()); exports2.errors = errors; var statUtils = tslib_12.__importStar(require_statUtils()); exports2.statUtils = statUtils; var copyPromise_1 = require_copyPromise(); Object.defineProperty(exports2, "setupCopyIndex", { enumerable: true, get: function() { return copyPromise_1.setupCopyIndex; } }); var opendir_1 = require_opendir(); Object.defineProperty(exports2, "opendir", { enumerable: true, get: function() { return opendir_1.opendir; } }); Object.defineProperty(exports2, "CustomDir", { enumerable: true, get: function() { return opendir_1.CustomDir; } }); var watchFile_1 = require_watchFile(); Object.defineProperty(exports2, "watchFile", { enumerable: true, get: function() { return watchFile_1.watchFile; } }); Object.defineProperty(exports2, "unwatchFile", { enumerable: true, get: function() { return watchFile_1.unwatchFile; } }); Object.defineProperty(exports2, "unwatchAllFiles", { enumerable: true, get: function() { return watchFile_1.unwatchAllFiles; } }); var FakeFS_1 = require_FakeFS(); Object.defineProperty(exports2, "normalizeLineEndings", { enumerable: true, get: function() { return FakeFS_1.normalizeLineEndings; } }); var path_1 = require_path3(); Object.defineProperty(exports2, "PortablePath", { enumerable: true, get: function() { return path_1.PortablePath; } }); Object.defineProperty(exports2, "Filename", { enumerable: true, get: function() { return path_1.Filename; } }); var path_2 = require_path3(); Object.defineProperty(exports2, "npath", { enumerable: true, get: function() { return path_2.npath; } }); Object.defineProperty(exports2, "ppath", { enumerable: true, get: function() { return path_2.ppath; } }); var AliasFS_1 = require_AliasFS(); Object.defineProperty(exports2, "AliasFS", { enumerable: true, get: function() { return AliasFS_1.AliasFS; } }); var FakeFS_2 = require_FakeFS(); Object.defineProperty(exports2, "FakeFS", { enumerable: true, get: function() { return FakeFS_2.FakeFS; } }); Object.defineProperty(exports2, "BasePortableFakeFS", { enumerable: true, get: function() { return FakeFS_2.BasePortableFakeFS; } }); var CwdFS_1 = require_CwdFS(); Object.defineProperty(exports2, "CwdFS", { enumerable: true, get: function() { return CwdFS_1.CwdFS; } }); var JailFS_1 = require_JailFS(); Object.defineProperty(exports2, "JailFS", { enumerable: true, get: function() { return JailFS_1.JailFS; } }); var LazyFS_1 = require_LazyFS(); Object.defineProperty(exports2, "LazyFS", { enumerable: true, get: function() { return LazyFS_1.LazyFS; } }); var MountFS_1 = require_MountFS(); Object.defineProperty(exports2, "MountFS", { enumerable: true, get: function() { return MountFS_1.MountFS; } }); var NoFS_1 = require_NoFS(); Object.defineProperty(exports2, "NoFS", { enumerable: true, get: function() { return NoFS_1.NoFS; } }); var NodeFS_1 = require_NodeFS(); Object.defineProperty(exports2, "NodeFS", { enumerable: true, get: function() { return NodeFS_1.NodeFS; } }); var PosixFS_1 = require_PosixFS(); Object.defineProperty(exports2, "PosixFS", { enumerable: true, get: function() { return PosixFS_1.PosixFS; } }); var ProxiedFS_1 = require_ProxiedFS(); Object.defineProperty(exports2, "ProxiedFS", { enumerable: true, get: function() { return ProxiedFS_1.ProxiedFS; } }); var VirtualFS_1 = require_VirtualFS(); Object.defineProperty(exports2, "VirtualFS", { enumerable: true, get: function() { return VirtualFS_1.VirtualFS; } }); var patchFs_1 = require_patchFs(); Object.defineProperty(exports2, "patchFs", { enumerable: true, get: function() { return patchFs_1.patchFs; } }); Object.defineProperty(exports2, "extendFs", { enumerable: true, get: function() { return patchFs_1.extendFs; } }); var xfs_1 = require_xfs(); Object.defineProperty(exports2, "xfs", { enumerable: true, get: function() { return xfs_1.xfs; } }); } }); // ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/shell.js var require_shell = __commonJS({ "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/shell.js"(exports2, module2) { "use strict"; function peg$subclass(child, parent) { function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); } function peg$SyntaxError(message, expected, found, location) { this.message = message; this.expected = expected; this.found = found; this.location = location; this.name = "SyntaxError"; if (typeof Error.captureStackTrace === "function") { Error.captureStackTrace(this, peg$SyntaxError); } } peg$subclass(peg$SyntaxError, Error); peg$SyntaxError.buildMessage = function(expected, found) { var DESCRIBE_EXPECTATION_FNS = { literal: function(expectation) { return '"' + literalEscape(expectation.text) + '"'; }, "class": function(expectation) { var escapedParts = "", i; for (i = 0; i < expectation.parts.length; i++) { escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]); } return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; }, any: function(expectation) { return "any character"; }, end: function(expectation) { return "end of input"; }, other: function(expectation) { return expectation.description; } }; function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); } function literalEscape(s) { return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function classEscape(s) { return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function describeExpectation(expectation) { return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); } function describeExpected(expected2) { var descriptions = new Array(expected2.length), i, j; for (i = 0; i < expected2.length; i++) { descriptions[i] = describeExpectation(expected2[i]); } descriptions.sort(); if (descriptions.length > 0) { for (i = 1, j = 1; i < descriptions.length; i++) { if (descriptions[i - 1] !== descriptions[i]) { descriptions[j] = descriptions[i]; j++; } } descriptions.length = j; } switch (descriptions.length) { case 1: return descriptions[0]; case 2: return descriptions[0] + " or " + descriptions[1]; default: return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1]; } } function describeFound(found2) { return found2 ? '"' + literalEscape(found2) + '"' : "end of input"; } return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; }; function peg$parse(input, options) { options = options !== void 0 ? options : {}; var peg$FAILED = {}, peg$startRuleFunctions = { Start: peg$parseStart }, peg$startRuleFunction = peg$parseStart, peg$c0 = function(line) { return line ? line : []; }, peg$c1 = function(command, type, then) { return [{ command, type }].concat(then || []); }, peg$c2 = function(command, type) { return [{ command, type: type || ";" }]; }, peg$c3 = function(then) { return then; }, peg$c4 = ";", peg$c5 = peg$literalExpectation(";", false), peg$c6 = "&", peg$c7 = peg$literalExpectation("&", false), peg$c8 = function(chain, then) { return then ? { chain, then } : { chain }; }, peg$c9 = function(type, then) { return { type, line: then }; }, peg$c10 = "&&", peg$c11 = peg$literalExpectation("&&", false), peg$c12 = "||", peg$c13 = peg$literalExpectation("||", false), peg$c14 = function(main, then) { return then ? { ...main, then } : main; }, peg$c15 = function(type, then) { return { type, chain: then }; }, peg$c16 = "|&", peg$c17 = peg$literalExpectation("|&", false), peg$c18 = "|", peg$c19 = peg$literalExpectation("|", false), peg$c20 = "=", peg$c21 = peg$literalExpectation("=", false), peg$c22 = function(name, arg) { return { name, args: [arg] }; }, peg$c23 = function(name) { return { name, args: [] }; }, peg$c24 = "(", peg$c25 = peg$literalExpectation("(", false), peg$c26 = ")", peg$c27 = peg$literalExpectation(")", false), peg$c28 = function(subshell, args) { return { type: `subshell`, subshell, args }; }, peg$c29 = "{", peg$c30 = peg$literalExpectation("{", false), peg$c31 = "}", peg$c32 = peg$literalExpectation("}", false), peg$c33 = function(group, args) { return { type: `group`, group, args }; }, peg$c34 = function(envs, args) { return { type: `command`, args, envs }; }, peg$c35 = function(envs) { return { type: `envs`, envs }; }, peg$c36 = function(args) { return args; }, peg$c37 = function(arg) { return arg; }, peg$c38 = /^[0-9]/, peg$c39 = peg$classExpectation([["0", "9"]], false, false), peg$c40 = function(fd, redirect, arg) { return { type: `redirection`, subtype: redirect, fd: fd !== null ? parseInt(fd) : null, args: [arg] }; }, peg$c41 = ">>", peg$c42 = peg$literalExpectation(">>", false), peg$c43 = ">&", peg$c44 = peg$literalExpectation(">&", false), peg$c45 = ">", peg$c46 = peg$literalExpectation(">", false), peg$c47 = "<<<", peg$c48 = peg$literalExpectation("<<<", false), peg$c49 = "<&", peg$c50 = peg$literalExpectation("<&", false), peg$c51 = "<", peg$c52 = peg$literalExpectation("<", false), peg$c53 = function(segments) { return { type: `argument`, segments: [].concat(...segments) }; }, peg$c54 = function(string) { return string; }, peg$c55 = "$'", peg$c56 = peg$literalExpectation("$'", false), peg$c57 = "'", peg$c58 = peg$literalExpectation("'", false), peg$c59 = function(text2) { return [{ type: `text`, text: text2 }]; }, peg$c60 = '""', peg$c61 = peg$literalExpectation('""', false), peg$c62 = function() { return { type: `text`, text: `` }; }, peg$c63 = '"', peg$c64 = peg$literalExpectation('"', false), peg$c65 = function(segments) { return segments; }, peg$c66 = function(arithmetic) { return { type: `arithmetic`, arithmetic, quoted: true }; }, peg$c67 = function(shell) { return { type: `shell`, shell, quoted: true }; }, peg$c68 = function(variable) { return { type: `variable`, ...variable, quoted: true }; }, peg$c69 = function(text2) { return { type: `text`, text: text2 }; }, peg$c70 = function(arithmetic) { return { type: `arithmetic`, arithmetic, quoted: false }; }, peg$c71 = function(shell) { return { type: `shell`, shell, quoted: false }; }, peg$c72 = function(variable) { return { type: `variable`, ...variable, quoted: false }; }, peg$c73 = function(pattern) { return { type: `glob`, pattern }; }, peg$c74 = /^[^']/, peg$c75 = peg$classExpectation(["'"], true, false), peg$c76 = function(chars) { return chars.join(``); }, peg$c77 = /^[^$"]/, peg$c78 = peg$classExpectation(["$", '"'], true, false), peg$c79 = "\\\n", peg$c80 = peg$literalExpectation("\\\n", false), peg$c81 = function() { return ``; }, peg$c82 = "\\", peg$c83 = peg$literalExpectation("\\", false), peg$c84 = /^[\\$"`]/, peg$c85 = peg$classExpectation(["\\", "$", '"', "`"], false, false), peg$c86 = function(c) { return c; }, peg$c87 = "\\a", peg$c88 = peg$literalExpectation("\\a", false), peg$c89 = function() { return "a"; }, peg$c90 = "\\b", peg$c91 = peg$literalExpectation("\\b", false), peg$c92 = function() { return "\b"; }, peg$c93 = /^[Ee]/, peg$c94 = peg$classExpectation(["E", "e"], false, false), peg$c95 = function() { return "\x1B"; }, peg$c96 = "\\f", peg$c97 = peg$literalExpectation("\\f", false), peg$c98 = function() { return "\f"; }, peg$c99 = "\\n", peg$c100 = peg$literalExpectation("\\n", false), peg$c101 = function() { return "\n"; }, peg$c102 = "\\r", peg$c103 = peg$literalExpectation("\\r", false), peg$c104 = function() { return "\r"; }, peg$c105 = "\\t", peg$c106 = peg$literalExpectation("\\t", false), peg$c107 = function() { return " "; }, peg$c108 = "\\v", peg$c109 = peg$literalExpectation("\\v", false), peg$c110 = function() { return "\v"; }, peg$c111 = /^[\\'"?]/, peg$c112 = peg$classExpectation(["\\", "'", '"', "?"], false, false), peg$c113 = function(c) { return String.fromCharCode(parseInt(c, 16)); }, peg$c114 = "\\x", peg$c115 = peg$literalExpectation("\\x", false), peg$c116 = "\\u", peg$c117 = peg$literalExpectation("\\u", false), peg$c118 = "\\U", peg$c119 = peg$literalExpectation("\\U", false), peg$c120 = function(c) { return String.fromCodePoint(parseInt(c, 16)); }, peg$c121 = /^[0-7]/, peg$c122 = peg$classExpectation([["0", "7"]], false, false), peg$c123 = /^[0-9a-fA-f]/, peg$c124 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "f"]], false, false), peg$c125 = peg$anyExpectation(), peg$c126 = "{}", peg$c127 = peg$literalExpectation("{}", false), peg$c128 = function() { return "{}"; }, peg$c129 = "-", peg$c130 = peg$literalExpectation("-", false), peg$c131 = "+", peg$c132 = peg$literalExpectation("+", false), peg$c133 = ".", peg$c134 = peg$literalExpectation(".", false), peg$c135 = function(sign, left, right) { return { type: `number`, value: (sign === "-" ? -1 : 1) * parseFloat(left.join(``) + `.` + right.join(``)) }; }, peg$c136 = function(sign, value) { return { type: `number`, value: (sign === "-" ? -1 : 1) * parseInt(value.join(``)) }; }, peg$c137 = function(variable) { return { type: `variable`, ...variable }; }, peg$c138 = function(name) { return { type: `variable`, name }; }, peg$c139 = function(value) { return value; }, peg$c140 = "*", peg$c141 = peg$literalExpectation("*", false), peg$c142 = "/", peg$c143 = peg$literalExpectation("/", false), peg$c144 = function(left, op, right) { return { type: op === `*` ? `multiplication` : `division`, right }; }, peg$c145 = function(left, rest) { return rest.reduce((left2, right) => ({ left: left2, ...right }), left); }, peg$c146 = function(left, op, right) { return { type: op === `+` ? `addition` : `subtraction`, right }; }, peg$c147 = "$((", peg$c148 = peg$literalExpectation("$((", false), peg$c149 = "))", peg$c150 = peg$literalExpectation("))", false), peg$c151 = function(arithmetic) { return arithmetic; }, peg$c152 = "$(", peg$c153 = peg$literalExpectation("$(", false), peg$c154 = function(command) { return command; }, peg$c155 = "${", peg$c156 = peg$literalExpectation("${", false), peg$c157 = ":-", peg$c158 = peg$literalExpectation(":-", false), peg$c159 = function(name, arg) { return { name, defaultValue: arg }; }, peg$c160 = ":-}", peg$c161 = peg$literalExpectation(":-}", false), peg$c162 = function(name) { return { name, defaultValue: [] }; }, peg$c163 = ":+", peg$c164 = peg$literalExpectation(":+", false), peg$c165 = function(name, arg) { return { name, alternativeValue: arg }; }, peg$c166 = ":+}", peg$c167 = peg$literalExpectation(":+}", false), peg$c168 = function(name) { return { name, alternativeValue: [] }; }, peg$c169 = function(name) { return { name }; }, peg$c170 = "$", peg$c171 = peg$literalExpectation("$", false), peg$c172 = function(pattern) { return options.isGlobPattern(pattern); }, peg$c173 = function(pattern) { return pattern; }, peg$c174 = /^[a-zA-Z0-9_]/, peg$c175 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_"], false, false), peg$c176 = function() { return text(); }, peg$c177 = /^[$@*?#a-zA-Z0-9_\-]/, peg$c178 = peg$classExpectation(["$", "@", "*", "?", "#", ["a", "z"], ["A", "Z"], ["0", "9"], "_", "-"], false, false), peg$c179 = /^[()}<>$|&; \t"']/, peg$c180 = peg$classExpectation(["(", ")", "}", "<", ">", "$", "|", "&", ";", " ", " ", '"', "'"], false, false), peg$c181 = /^[<>&; \t"']/, peg$c182 = peg$classExpectation(["<", ">", "&", ";", " ", " ", '"', "'"], false, false), peg$c183 = /^[ \t]/, peg$c184 = peg$classExpectation([" ", " "], false, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result; if ("startRule" in options) { if (!(options.startRule in peg$startRuleFunctions)) { throw new Error(`Can't start parsing from rule "` + options.startRule + '".'); } peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; } function text() { return input.substring(peg$savedPos, peg$currPos); } function location() { return peg$computeLocation(peg$savedPos, peg$currPos); } function expected(description, location2) { location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos); throw peg$buildStructuredError( [peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location2 ); } function error(message, location2) { location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos); throw peg$buildSimpleError(message, location2); } function peg$literalExpectation(text2, ignoreCase) { return { type: "literal", text: text2, ignoreCase }; } function peg$classExpectation(parts, inverted, ignoreCase) { return { type: "class", parts, inverted, ignoreCase }; } function peg$anyExpectation() { return { type: "any" }; } function peg$endExpectation() { return { type: "end" }; } function peg$otherExpectation(description) { return { type: "other", description }; } function peg$computePosDetails(pos) { var details = peg$posDetailsCache[pos], p; if (details) { return details; } else { p = pos - 1; while (!peg$posDetailsCache[p]) { p--; } details = peg$posDetailsCache[p]; details = { line: details.line, column: details.column }; while (p < pos) { if (input.charCodeAt(p) === 10) { details.line++; details.column = 1; } else { details.column++; } p++; } peg$posDetailsCache[pos] = details; return details; } } function peg$computeLocation(startPos, endPos) { var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos); return { start: { offset: startPos, line: startPosDetails.line, column: startPosDetails.column }, end: { offset: endPos, line: endPosDetails.line, column: endPosDetails.column } }; } function peg$fail(expected2) { if (peg$currPos < peg$maxFailPos) { return; } if (peg$currPos > peg$maxFailPos) { peg$maxFailPos = peg$currPos; peg$maxFailExpected = []; } peg$maxFailExpected.push(expected2); } function peg$buildSimpleError(message, location2) { return new peg$SyntaxError(message, null, null, location2); } function peg$buildStructuredError(expected2, found, location2) { return new peg$SyntaxError( peg$SyntaxError.buildMessage(expected2, found), expected2, found, location2 ); } function peg$parseStart() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = peg$parseShellLine(); if (s2 === peg$FAILED) { s2 = null; } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c0(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseShellLine() { var s0, s1, s2, s3, s4; s0 = peg$currPos; s1 = peg$parseCommandLine(); if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parseS(); while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parseS(); } if (s2 !== peg$FAILED) { s3 = peg$parseShellLineType(); if (s3 !== peg$FAILED) { s4 = peg$parseShellLineThen(); if (s4 === peg$FAILED) { s4 = null; } if (s4 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c1(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseCommandLine(); if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parseS(); while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parseS(); } if (s2 !== peg$FAILED) { s3 = peg$parseShellLineType(); if (s3 === peg$FAILED) { s3 = null; } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c2(s1, s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } return s0; } function peg$parseShellLineThen() { var s0, s1, s2, s3, s4; s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = peg$parseShellLine(); if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseS(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseS(); } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c3(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseShellLineType() { var s0; if (input.charCodeAt(peg$currPos) === 59) { s0 = peg$c4; peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c5); } } if (s0 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 38) { s0 = peg$c6; peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c7); } } } return s0; } function peg$parseCommandLine() { var s0, s1, s2; s0 = peg$currPos; s1 = peg$parseCommandChain(); if (s1 !== peg$FAILED) { s2 = peg$parseCommandLineThen(); if (s2 === peg$FAILED) { s2 = null; } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c8(s1, s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseCommandLineThen() { var s0, s1, s2, s3, s4, s5, s6; s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = peg$parseCommandLineType(); if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseS(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseS(); } if (s3 !== peg$FAILED) { s4 = peg$parseCommandLine(); if (s4 !== peg$FAILED) { s5 = []; s6 = peg$parseS(); while (s6 !== peg$FAILED) { s5.push(s6); s6 = peg$parseS(); } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c9(s2, s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseCommandLineType() { var s0; if (input.substr(peg$currPos, 2) === peg$c10) { s0 = peg$c10; peg$currPos += 2; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c11); } } if (s0 === peg$FAILED) { if (input.substr(peg$currPos, 2) === peg$c12) { s0 = peg$c12; peg$currPos += 2; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c13); } } } return s0; } function peg$parseCommandChain() { var s0, s1, s2; s0 = peg$currPos; s1 = peg$parseCommand(); if (s1 !== peg$FAILED) { s2 = peg$parseCommandChainThen(); if (s2 === peg$FAILED) { s2 = null; } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c14(s1, s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseCommandChainThen() { var s0, s1, s2, s3, s4, s5, s6; s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = peg$parseCommandChainType(); if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseS(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseS(); } if (s3 !== peg$FAILED) { s4 = peg$parseCommandChain(); if (s4 !== peg$FAILED) { s5 = []; s6 = peg$parseS(); while (s6 !== peg$FAILED) { s5.push(s6); s6 = peg$parseS(); } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c15(s2, s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseCommandChainType() { var s0; if (input.substr(peg$currPos, 2) === peg$c16) { s0 = peg$c16; peg$currPos += 2; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c17); } } if (s0 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 124) { s0 = peg$c18; peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c19); } } } return s0; } function peg$parseVariableAssignment() { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; s1 = peg$parseEnvVariable(); if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 61) { s2 = peg$c20; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c21); } } if (s2 !== peg$FAILED) { s3 = peg$parseStrictValueArgument(); if (s3 !== peg$FAILED) { s4 = []; s5 = peg$parseS(); while (s5 !== peg$FAILED) { s4.push(s5); s5 = peg$parseS(); } if (s4 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c22(s1, s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseEnvVariable(); if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 61) { s2 = peg$c20; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c21); } } if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseS(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseS(); } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c23(s1); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } return s0; } function peg$parseCommand() { var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10; s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 40) { s2 = peg$c24; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c25); } } if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseS(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseS(); } if (s3 !== peg$FAILED) { s4 = peg$parseShellLine(); if (s4 !== peg$FAILED) { s5 = []; s6 = peg$parseS(); while (s6 !== peg$FAILED) { s5.push(s6); s6 = peg$parseS(); } if (s5 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 41) { s6 = peg$c26; peg$currPos++; } else { s6 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c27); } } if (s6 !== peg$FAILED) { s7 = []; s8 = peg$parseS(); while (s8 !== peg$FAILED) { s7.push(s8); s8 = peg$parseS(); } if (s7 !== peg$FAILED) { s8 = []; s9 = peg$parseRedirectArgument(); while (s9 !== peg$FAILED) { s8.push(s9); s9 = peg$parseRedirectArgument(); } if (s8 !== peg$FAILED) { s9 = []; s10 = peg$parseS(); while (s10 !== peg$FAILED) { s9.push(s10); s10 = peg$parseS(); } if (s9 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c28(s4, s8); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 123) { s2 = peg$c29; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c30); } } if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseS(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseS(); } if (s3 !== peg$FAILED) { s4 = peg$parseShellLine(); if (s4 !== peg$FAILED) { s5 = []; s6 = peg$parseS(); while (s6 !== peg$FAILED) { s5.push(s6); s6 = peg$parseS(); } if (s5 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s6 = peg$c31; peg$currPos++; } else { s6 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c32); } } if (s6 !== peg$FAILED) { s7 = []; s8 = peg$parseS(); while (s8 !== peg$FAILED) { s7.push(s8); s8 = peg$parseS(); } if (s7 !== peg$FAILED) { s8 = []; s9 = peg$parseRedirectArgument(); while (s9 !== peg$FAILED) { s8.push(s9); s9 = peg$parseRedirectArgument(); } if (s8 !== peg$FAILED) { s9 = []; s10 = peg$parseS(); while (s10 !== peg$FAILED) { s9.push(s10); s10 = peg$parseS(); } if (s9 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c33(s4, s8); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parseVariableAssignment(); while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parseVariableAssignment(); } if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseS(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseS(); } if (s3 !== peg$FAILED) { s4 = []; s5 = peg$parseArgument(); if (s5 !== peg$FAILED) { while (s5 !== peg$FAILED) { s4.push(s5); s5 = peg$parseArgument(); } } else { s4 = peg$FAILED; } if (s4 !== peg$FAILED) { s5 = []; s6 = peg$parseS(); while (s6 !== peg$FAILED) { s5.push(s6); s6 = peg$parseS(); } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c34(s2, s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parseVariableAssignment(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parseVariableAssignment(); } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseS(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseS(); } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c35(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } } } return s0; } function peg$parseCommandString() { var s0, s1, s2, s3, s4; s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parseValueArgument(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parseValueArgument(); } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseS(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseS(); } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c36(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseArgument() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = peg$parseRedirectArgument(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c37(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = peg$parseValueArgument(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c37(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } return s0; } function peg$parseRedirectArgument() { var s0, s1, s2, s3, s4; s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { if (peg$c38.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c39); } } if (s2 === peg$FAILED) { s2 = null; } if (s2 !== peg$FAILED) { s3 = peg$parseRedirectType(); if (s3 !== peg$FAILED) { s4 = peg$parseValueArgument(); if (s4 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c40(s2, s3, s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseRedirectType() { var s0; if (input.substr(peg$currPos, 2) === peg$c41) { s0 = peg$c41; peg$currPos += 2; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c42); } } if (s0 === peg$FAILED) { if (input.substr(peg$currPos, 2) === peg$c43) { s0 = peg$c43; peg$currPos += 2; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c44); } } if (s0 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 62) { s0 = peg$c45; peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c46); } } if (s0 === peg$FAILED) { if (input.substr(peg$currPos, 3) === peg$c47) { s0 = peg$c47; peg$currPos += 3; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c48); } } if (s0 === peg$FAILED) { if (input.substr(peg$currPos, 2) === peg$c49) { s0 = peg$c49; peg$currPos += 2; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c50); } } if (s0 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 60) { s0 = peg$c51; peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c52); } } } } } } } return s0; } function peg$parseValueArgument() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parseS(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseS(); } if (s1 !== peg$FAILED) { s2 = peg$parseStrictValueArgument(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c37(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseStrictValueArgument() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parseArgumentSegment(); if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseArgumentSegment(); } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c53(s1); } s0 = s1; return s0; } function peg$parseArgumentSegment() { var s0, s1; s0 = peg$currPos; s1 = peg$parseCQuoteString(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c54(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseSglQuoteString(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c54(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseDblQuoteString(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c54(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parsePlainString(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c54(s1); } s0 = s1; } } } return s0; } function peg$parseCQuoteString() { var s0, s1, s2, s3; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c55) { s1 = peg$c55; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c56); } } if (s1 !== peg$FAILED) { s2 = peg$parseCQuoteStringText(); if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 39) { s3 = peg$c57; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c58); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c59(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseSglQuoteString() { var s0, s1, s2, s3; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 39) { s1 = peg$c57; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c58); } } if (s1 !== peg$FAILED) { s2 = peg$parseSglQuoteStringText(); if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 39) { s3 = peg$c57; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c58); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c59(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseDblQuoteString() { var s0, s1, s2, s3; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c60) { s1 = peg$c60; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c61); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c62(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 34) { s1 = peg$c63; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c64); } } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parseDblQuoteStringSegment(); while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parseDblQuoteStringSegment(); } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 34) { s3 = peg$c63; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c64); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c65(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } return s0; } function peg$parsePlainString() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parsePlainStringSegment(); if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parsePlainStringSegment(); } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c65(s1); } s0 = s1; return s0; } function peg$parseDblQuoteStringSegment() { var s0, s1; s0 = peg$currPos; s1 = peg$parseArithmetic(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c66(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseSubshell(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c67(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseVariable(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c68(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseDblQuoteStringText(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c69(s1); } s0 = s1; } } } return s0; } function peg$parsePlainStringSegment() { var s0, s1; s0 = peg$currPos; s1 = peg$parseArithmetic(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c70(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseSubshell(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c71(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseVariable(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c72(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseGlob(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c73(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parsePlainStringText(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c69(s1); } s0 = s1; } } } } return s0; } function peg$parseSglQuoteStringText() { var s0, s1, s2; s0 = peg$currPos; s1 = []; if (peg$c74.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c75); } } while (s2 !== peg$FAILED) { s1.push(s2); if (peg$c74.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c75); } } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c76(s1); } s0 = s1; return s0; } function peg$parseDblQuoteStringText() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parseDblQuoteEscapedChar(); if (s2 === peg$FAILED) { if (peg$c77.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c78); } } } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseDblQuoteEscapedChar(); if (s2 === peg$FAILED) { if (peg$c77.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c78); } } } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c76(s1); } s0 = s1; return s0; } function peg$parseDblQuoteEscapedChar() { var s0, s1, s2; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c79) { s1 = peg$c79; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c80); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c81(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { s1 = peg$c82; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c83); } } if (s1 !== peg$FAILED) { if (peg$c84.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c85); } } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c86(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } return s0; } function peg$parseCQuoteStringText() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parseCQuoteEscapedChar(); if (s2 === peg$FAILED) { if (peg$c74.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c75); } } } while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseCQuoteEscapedChar(); if (s2 === peg$FAILED) { if (peg$c74.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c75); } } } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c76(s1); } s0 = s1; return s0; } function peg$parseCQuoteEscapedChar() { var s0, s1, s2; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c87) { s1 = peg$c87; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c88); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c89(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c90) { s1 = peg$c90; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c91); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c92(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { s1 = peg$c82; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c83); } } if (s1 !== peg$FAILED) { if (peg$c93.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c94); } } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c95(); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c96) { s1 = peg$c96; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c97); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c98(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c99) { s1 = peg$c99; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c100); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c101(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c102) { s1 = peg$c102; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c103); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c104(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c105) { s1 = peg$c105; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c106); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c107(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c108) { s1 = peg$c108; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c109); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c110(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { s1 = peg$c82; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c83); } } if (s1 !== peg$FAILED) { if (peg$c111.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c112); } } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c86(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$parseHexCodeString(); } } } } } } } } } return s0; } function peg$parseHexCodeString() { var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { s1 = peg$c82; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c83); } } if (s1 !== peg$FAILED) { s2 = peg$parseHexCodeChar0(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c113(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c114) { s1 = peg$c114; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c115); } } if (s1 !== peg$FAILED) { s2 = peg$currPos; s3 = peg$currPos; s4 = peg$parseHexCodeChar0(); if (s4 !== peg$FAILED) { s5 = peg$parseHexCodeChar(); if (s5 !== peg$FAILED) { s4 = [s4, s5]; s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 === peg$FAILED) { s3 = peg$parseHexCodeChar0(); } if (s3 !== peg$FAILED) { s2 = input.substring(s2, peg$currPos); } else { s2 = s3; } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c113(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c116) { s1 = peg$c116; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c117); } } if (s1 !== peg$FAILED) { s2 = peg$currPos; s3 = peg$currPos; s4 = peg$parseHexCodeChar(); if (s4 !== peg$FAILED) { s5 = peg$parseHexCodeChar(); if (s5 !== peg$FAILED) { s6 = peg$parseHexCodeChar(); if (s6 !== peg$FAILED) { s7 = peg$parseHexCodeChar(); if (s7 !== peg$FAILED) { s4 = [s4, s5, s6, s7]; s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { s2 = input.substring(s2, peg$currPos); } else { s2 = s3; } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c113(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c118) { s1 = peg$c118; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c119); } } if (s1 !== peg$FAILED) { s2 = peg$currPos; s3 = peg$currPos; s4 = peg$parseHexCodeChar(); if (s4 !== peg$FAILED) { s5 = peg$parseHexCodeChar(); if (s5 !== peg$FAILED) { s6 = peg$parseHexCodeChar(); if (s6 !== peg$FAILED) { s7 = peg$parseHexCodeChar(); if (s7 !== peg$FAILED) { s8 = peg$parseHexCodeChar(); if (s8 !== peg$FAILED) { s9 = peg$parseHexCodeChar(); if (s9 !== peg$FAILED) { s10 = peg$parseHexCodeChar(); if (s10 !== peg$FAILED) { s11 = peg$parseHexCodeChar(); if (s11 !== peg$FAILED) { s4 = [s4, s5, s6, s7, s8, s9, s10, s11]; s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { s2 = input.substring(s2, peg$currPos); } else { s2 = s3; } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c120(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } } } return s0; } function peg$parseHexCodeChar0() { var s0; if (peg$c121.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c122); } } return s0; } function peg$parseHexCodeChar() { var s0; if (peg$c123.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c124); } } return s0; } function peg$parsePlainStringText() { var s0, s1, s2, s3, s4; s0 = peg$currPos; s1 = []; s2 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { s3 = peg$c82; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c83); } } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c125); } } if (s4 !== peg$FAILED) { peg$savedPos = s2; s3 = peg$c86(s4); s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } if (s2 === peg$FAILED) { s2 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c126) { s3 = peg$c126; peg$currPos += 2; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c127); } } if (s3 !== peg$FAILED) { peg$savedPos = s2; s3 = peg$c128(); } s2 = s3; if (s2 === peg$FAILED) { s2 = peg$currPos; s3 = peg$currPos; peg$silentFails++; s4 = peg$parseSpecialShellChars(); peg$silentFails--; if (s4 === peg$FAILED) { s3 = void 0; } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c125); } } if (s4 !== peg$FAILED) { peg$savedPos = s2; s3 = peg$c86(s4); s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } } } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { s3 = peg$c82; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c83); } } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c125); } } if (s4 !== peg$FAILED) { peg$savedPos = s2; s3 = peg$c86(s4); s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } if (s2 === peg$FAILED) { s2 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c126) { s3 = peg$c126; peg$currPos += 2; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c127); } } if (s3 !== peg$FAILED) { peg$savedPos = s2; s3 = peg$c128(); } s2 = s3; if (s2 === peg$FAILED) { s2 = peg$currPos; s3 = peg$currPos; peg$silentFails++; s4 = peg$parseSpecialShellChars(); peg$silentFails--; if (s4 === peg$FAILED) { s3 = void 0; } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c125); } } if (s4 !== peg$FAILED) { peg$savedPos = s2; s3 = peg$c86(s4); s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } } } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c76(s1); } s0 = s1; return s0; } function peg$parseArithmeticPrimary() { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 45) { s1 = peg$c129; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c130); } } if (s1 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 43) { s1 = peg$c131; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c132); } } } if (s1 === peg$FAILED) { s1 = null; } if (s1 !== peg$FAILED) { s2 = []; if (peg$c38.test(input.charAt(peg$currPos))) { s3 = input.charAt(peg$currPos); peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c39); } } if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); if (peg$c38.test(input.charAt(peg$currPos))) { s3 = input.charAt(peg$currPos); peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c39); } } } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 46) { s3 = peg$c133; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c134); } } if (s3 !== peg$FAILED) { s4 = []; if (peg$c38.test(input.charAt(peg$currPos))) { s5 = input.charAt(peg$currPos); peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c39); } } if (s5 !== peg$FAILED) { while (s5 !== peg$FAILED) { s4.push(s5); if (peg$c38.test(input.charAt(peg$currPos))) { s5 = input.charAt(peg$currPos); peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c39); } } } } else { s4 = peg$FAILED; } if (s4 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c135(s1, s2, s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 45) { s1 = peg$c129; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c130); } } if (s1 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 43) { s1 = peg$c131; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c132); } } } if (s1 === peg$FAILED) { s1 = null; } if (s1 !== peg$FAILED) { s2 = []; if (peg$c38.test(input.charAt(peg$currPos))) { s3 = input.charAt(peg$currPos); peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c39); } } if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); if (peg$c38.test(input.charAt(peg$currPos))) { s3 = input.charAt(peg$currPos); peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c39); } } } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c136(s1, s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseVariable(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c137(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseIdentifier(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c138(s1); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 40) { s1 = peg$c24; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c25); } } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parseS(); while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parseS(); } if (s2 !== peg$FAILED) { s3 = peg$parseArithmeticExpression(); if (s3 !== peg$FAILED) { s4 = []; s5 = peg$parseS(); while (s5 !== peg$FAILED) { s4.push(s5); s5 = peg$parseS(); } if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 41) { s5 = peg$c26; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c27); } } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c139(s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } } } } return s0; } function peg$parseArithmeticTimesExpression() { var s0, s1, s2, s3, s4, s5, s6, s7; s0 = peg$currPos; s1 = peg$parseArithmeticPrimary(); if (s1 !== peg$FAILED) { s2 = []; s3 = peg$currPos; s4 = []; s5 = peg$parseS(); while (s5 !== peg$FAILED) { s4.push(s5); s5 = peg$parseS(); } if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 42) { s5 = peg$c140; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c141); } } if (s5 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 47) { s5 = peg$c142; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c143); } } } if (s5 !== peg$FAILED) { s6 = []; s7 = peg$parseS(); while (s7 !== peg$FAILED) { s6.push(s7); s7 = peg$parseS(); } if (s6 !== peg$FAILED) { s7 = peg$parseArithmeticPrimary(); if (s7 !== peg$FAILED) { peg$savedPos = s3; s4 = peg$c144(s1, s5, s7); s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$currPos; s4 = []; s5 = peg$parseS(); while (s5 !== peg$FAILED) { s4.push(s5); s5 = peg$parseS(); } if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 42) { s5 = peg$c140; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c141); } } if (s5 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 47) { s5 = peg$c142; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c143); } } } if (s5 !== peg$FAILED) { s6 = []; s7 = peg$parseS(); while (s7 !== peg$FAILED) { s6.push(s7); s7 = peg$parseS(); } if (s6 !== peg$FAILED) { s7 = peg$parseArithmeticPrimary(); if (s7 !== peg$FAILED) { peg$savedPos = s3; s4 = peg$c144(s1, s5, s7); s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c145(s1, s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseArithmeticExpression() { var s0, s1, s2, s3, s4, s5, s6, s7; s0 = peg$currPos; s1 = peg$parseArithmeticTimesExpression(); if (s1 !== peg$FAILED) { s2 = []; s3 = peg$currPos; s4 = []; s5 = peg$parseS(); while (s5 !== peg$FAILED) { s4.push(s5); s5 = peg$parseS(); } if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 43) { s5 = peg$c131; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c132); } } if (s5 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 45) { s5 = peg$c129; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c130); } } } if (s5 !== peg$FAILED) { s6 = []; s7 = peg$parseS(); while (s7 !== peg$FAILED) { s6.push(s7); s7 = peg$parseS(); } if (s6 !== peg$FAILED) { s7 = peg$parseArithmeticTimesExpression(); if (s7 !== peg$FAILED) { peg$savedPos = s3; s4 = peg$c146(s1, s5, s7); s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$currPos; s4 = []; s5 = peg$parseS(); while (s5 !== peg$FAILED) { s4.push(s5); s5 = peg$parseS(); } if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 43) { s5 = peg$c131; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c132); } } if (s5 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 45) { s5 = peg$c129; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c130); } } } if (s5 !== peg$FAILED) { s6 = []; s7 = peg$parseS(); while (s7 !== peg$FAILED) { s6.push(s7); s7 = peg$parseS(); } if (s6 !== peg$FAILED) { s7 = peg$parseArithmeticTimesExpression(); if (s7 !== peg$FAILED) { peg$savedPos = s3; s4 = peg$c146(s1, s5, s7); s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c145(s1, s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseArithmetic() { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; if (input.substr(peg$currPos, 3) === peg$c147) { s1 = peg$c147; peg$currPos += 3; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c148); } } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parseS(); while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parseS(); } if (s2 !== peg$FAILED) { s3 = peg$parseArithmeticExpression(); if (s3 !== peg$FAILED) { s4 = []; s5 = peg$parseS(); while (s5 !== peg$FAILED) { s4.push(s5); s5 = peg$parseS(); } if (s4 !== peg$FAILED) { if (input.substr(peg$currPos, 2) === peg$c149) { s5 = peg$c149; peg$currPos += 2; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c150); } } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c151(s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseSubshell() { var s0, s1, s2, s3; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c152) { s1 = peg$c152; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c153); } } if (s1 !== peg$FAILED) { s2 = peg$parseShellLine(); if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 41) { s3 = peg$c26; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c27); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c154(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseVariable() { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c155) { s1 = peg$c155; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c156); } } if (s1 !== peg$FAILED) { s2 = peg$parseIdentifier(); if (s2 !== peg$FAILED) { if (input.substr(peg$currPos, 2) === peg$c157) { s3 = peg$c157; peg$currPos += 2; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c158); } } if (s3 !== peg$FAILED) { s4 = peg$parseCommandString(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s5 = peg$c31; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c32); } } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c159(s2, s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c155) { s1 = peg$c155; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c156); } } if (s1 !== peg$FAILED) { s2 = peg$parseIdentifier(); if (s2 !== peg$FAILED) { if (input.substr(peg$currPos, 3) === peg$c160) { s3 = peg$c160; peg$currPos += 3; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c161); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c162(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c155) { s1 = peg$c155; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c156); } } if (s1 !== peg$FAILED) { s2 = peg$parseIdentifier(); if (s2 !== peg$FAILED) { if (input.substr(peg$currPos, 2) === peg$c163) { s3 = peg$c163; peg$currPos += 2; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c164); } } if (s3 !== peg$FAILED) { s4 = peg$parseCommandString(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s5 = peg$c31; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c32); } } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c165(s2, s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c155) { s1 = peg$c155; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c156); } } if (s1 !== peg$FAILED) { s2 = peg$parseIdentifier(); if (s2 !== peg$FAILED) { if (input.substr(peg$currPos, 3) === peg$c166) { s3 = peg$c166; peg$currPos += 3; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c167); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c168(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c155) { s1 = peg$c155; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c156); } } if (s1 !== peg$FAILED) { s2 = peg$parseIdentifier(); if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s3 = peg$c31; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c32); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c169(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 36) { s1 = peg$c170; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c171); } } if (s1 !== peg$FAILED) { s2 = peg$parseIdentifier(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c169(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } } } } } return s0; } function peg$parseGlob() { var s0, s1, s2; s0 = peg$currPos; s1 = peg$parseGlobText(); if (s1 !== peg$FAILED) { peg$savedPos = peg$currPos; s2 = peg$c172(s1); if (s2) { s2 = void 0; } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c173(s1); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseGlobText() { var s0, s1, s2, s3, s4; s0 = peg$currPos; s1 = []; s2 = peg$currPos; s3 = peg$currPos; peg$silentFails++; s4 = peg$parseGlobSpecialShellChars(); peg$silentFails--; if (s4 === peg$FAILED) { s3 = void 0; } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c125); } } if (s4 !== peg$FAILED) { peg$savedPos = s2; s3 = peg$c86(s4); s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$currPos; s3 = peg$currPos; peg$silentFails++; s4 = peg$parseGlobSpecialShellChars(); peg$silentFails--; if (s4 === peg$FAILED) { s3 = void 0; } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c125); } } if (s4 !== peg$FAILED) { peg$savedPos = s2; s3 = peg$c86(s4); s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c76(s1); } s0 = s1; return s0; } function peg$parseEnvVariable() { var s0, s1, s2; s0 = peg$currPos; s1 = []; if (peg$c174.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c175); } } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); if (peg$c174.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c175); } } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c176(); } s0 = s1; return s0; } function peg$parseIdentifier() { var s0, s1, s2; s0 = peg$currPos; s1 = []; if (peg$c177.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c178); } } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); if (peg$c177.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c178); } } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c176(); } s0 = s1; return s0; } function peg$parseSpecialShellChars() { var s0; if (peg$c179.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c180); } } return s0; } function peg$parseGlobSpecialShellChars() { var s0; if (peg$c181.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c182); } } return s0; } function peg$parseS() { var s0, s1; s0 = []; if (peg$c183.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c184); } } if (s1 !== peg$FAILED) { while (s1 !== peg$FAILED) { s0.push(s1); if (peg$c183.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c184); } } } } else { s0 = peg$FAILED; } return s0; } peg$result = peg$startRuleFunction(); if (peg$result !== peg$FAILED && peg$currPos === input.length) { return peg$result; } else { if (peg$result !== peg$FAILED && peg$currPos < input.length) { peg$fail(peg$endExpectation()); } throw peg$buildStructuredError( peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) ); } } module2.exports = { SyntaxError: peg$SyntaxError, parse: peg$parse }; } }); // ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/shell.js var require_shell2 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/shell.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseShell = parseShell; exports2.stringifyShellLine = stringifyShellLine; exports2.stringifyShell = stringifyShellLine; exports2.stringifyCommandLine = stringifyCommandLine; exports2.stringifyCommandLineThen = stringifyCommandLineThen; exports2.stringifyCommandChain = stringifyCommandChain; exports2.stringifyCommandChainThen = stringifyCommandChainThen; exports2.stringifyCommand = stringifyCommand; exports2.stringifyEnvSegment = stringifyEnvSegment; exports2.stringifyArgument = stringifyArgument; exports2.stringifyRedirectArgument = stringifyRedirectArgument; exports2.stringifyValueArgument = stringifyValueArgument; exports2.stringifyArgumentSegment = stringifyArgumentSegment; exports2.stringifyArithmeticExpression = stringifyArithmeticExpression; exports2.stringifyShellLine = stringifyShellLine; exports2.stringifyShell = stringifyShellLine; var shell_1 = require_shell(); function parseShell(source, options = { isGlobPattern: () => false }) { try { return (0, shell_1.parse)(source, options); } catch (error) { if (error.location) error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`); throw error; } } function stringifyShellLine(shellLine, { endSemicolon = false } = {}) { return shellLine.map(({ command, type }, index) => `${stringifyCommandLine(command)}${type === `;` ? index !== shellLine.length - 1 || endSemicolon ? `;` : `` : ` &`}`).join(` `); } function stringifyCommandLine(commandLine) { return `${stringifyCommandChain(commandLine.chain)}${commandLine.then ? ` ${stringifyCommandLineThen(commandLine.then)}` : ``}`; } function stringifyCommandLineThen(commandLineThen) { return `${commandLineThen.type} ${stringifyCommandLine(commandLineThen.line)}`; } function stringifyCommandChain(commandChain) { return `${stringifyCommand(commandChain)}${commandChain.then ? ` ${stringifyCommandChainThen(commandChain.then)}` : ``}`; } function stringifyCommandChainThen(commandChainThen) { return `${commandChainThen.type} ${stringifyCommandChain(commandChainThen.chain)}`; } function stringifyCommand(command) { switch (command.type) { case `command`: return `${command.envs.length > 0 ? `${command.envs.map((env) => stringifyEnvSegment(env)).join(` `)} ` : ``}${command.args.map((argument) => stringifyArgument(argument)).join(` `)}`; case `subshell`: return `(${stringifyShellLine(command.subshell)})${command.args.length > 0 ? ` ${command.args.map((argument) => stringifyRedirectArgument(argument)).join(` `)}` : ``}`; case `group`: return `{ ${stringifyShellLine(command.group, { /* Bash compat */ endSemicolon: true })} }${command.args.length > 0 ? ` ${command.args.map((argument) => stringifyRedirectArgument(argument)).join(` `)}` : ``}`; case `envs`: return command.envs.map((env) => stringifyEnvSegment(env)).join(` `); default: throw new Error(`Unsupported command type: "${command.type}"`); } } function stringifyEnvSegment(envSegment) { return `${envSegment.name}=${envSegment.args[0] ? stringifyValueArgument(envSegment.args[0]) : ``}`; } function stringifyArgument(argument) { switch (argument.type) { case `redirection`: return stringifyRedirectArgument(argument); case `argument`: return stringifyValueArgument(argument); default: throw new Error(`Unsupported argument type: "${argument.type}"`); } } function stringifyRedirectArgument(argument) { return `${argument.subtype} ${argument.args.map((argument2) => stringifyValueArgument(argument2)).join(` `)}`; } function stringifyValueArgument(argument) { return argument.segments.map((segment) => stringifyArgumentSegment(segment)).join(``); } var ESCAPED_CONTROL_CHARS = /* @__PURE__ */ new Map([ [`\f`, `\\f`], [` `, `\\n`], [`\r`, `\\r`], [` `, `\\t`], [`\v`, `\\v`], [`\0`, `\\0`] ]); var ESCAPED_DBL_CHARS = new Map([ [`\\`, `\\\\`], [`$`, `\\$`], [`"`, `\\"`], ...Array.from(ESCAPED_CONTROL_CHARS, ([c, replacement]) => { return [c, `"$'${replacement}'"`]; }) ]); var getEscapedControlChar = (c) => { return ESCAPED_CONTROL_CHARS.get(c) ?? `\\x${c.charCodeAt(0).toString(16).padStart(2, `0`)}`; }; var getEscapedDblChar = (match) => { return ESCAPED_DBL_CHARS.get(match) ?? `"$'${getEscapedControlChar(match)}'"`; }; function stringifyArgumentSegment(argumentSegment) { const doubleQuoteIfRequested = (string, quote) => quote ? `"${string}"` : string; const quoteIfNeeded = (text) => { if (text === ``) return `''`; if (!text.match(/[()}<>$|&;"'\n\t ]/)) return text; if (!text.match(/['\t\p{C}]/u)) return `'${text}'`; if (!text.match(/'/)) { return `$'${text.replace(/[\t\p{C}]/u, getEscapedControlChar)}'`; } else { return `"${text.replace(/["$\t\p{C}]/u, getEscapedDblChar)}"`; } }; switch (argumentSegment.type) { case `text`: return quoteIfNeeded(argumentSegment.text); case `glob`: return argumentSegment.pattern; case `shell`: return doubleQuoteIfRequested(`$(${stringifyShellLine(argumentSegment.shell)})`, argumentSegment.quoted); case `variable`: return doubleQuoteIfRequested(typeof argumentSegment.defaultValue === `undefined` ? typeof argumentSegment.alternativeValue === `undefined` ? `\${${argumentSegment.name}}` : argumentSegment.alternativeValue.length === 0 ? `\${${argumentSegment.name}:+}` : `\${${argumentSegment.name}:+${argumentSegment.alternativeValue.map((argument) => stringifyValueArgument(argument)).join(` `)}}` : argumentSegment.defaultValue.length === 0 ? `\${${argumentSegment.name}:-}` : `\${${argumentSegment.name}:-${argumentSegment.defaultValue.map((argument) => stringifyValueArgument(argument)).join(` `)}}`, argumentSegment.quoted); case `arithmetic`: return `$(( ${stringifyArithmeticExpression(argumentSegment.arithmetic)} ))`; default: throw new Error(`Unsupported argument segment type: "${argumentSegment.type}"`); } } function stringifyArithmeticExpression(argument) { const getOperator = (type) => { switch (type) { case `addition`: return `+`; case `subtraction`: return `-`; case `multiplication`: return `*`; case `division`: return `/`; default: throw new Error(`Can't extract operator from arithmetic expression of type "${type}"`); } }; const parenthesizeIfRequested = (string, parenthesize) => parenthesize ? `( ${string} )` : string; const stringifyAndParenthesizeIfNeeded = (expression) => ( // Right now we parenthesize all arithmetic operator expressions because it's easier parenthesizeIfRequested(stringifyArithmeticExpression(expression), ![`number`, `variable`].includes(expression.type)) ); switch (argument.type) { case `number`: return String(argument.value); case `variable`: return argument.name; default: return `${stringifyAndParenthesizeIfNeeded(argument.left)} ${getOperator(argument.type)} ${stringifyAndParenthesizeIfNeeded(argument.right)}`; } } } }); // ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js var require_resolution = __commonJS({ "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js"(exports2, module2) { "use strict"; function peg$subclass(child, parent) { function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); } function peg$SyntaxError(message, expected, found, location) { this.message = message; this.expected = expected; this.found = found; this.location = location; this.name = "SyntaxError"; if (typeof Error.captureStackTrace === "function") { Error.captureStackTrace(this, peg$SyntaxError); } } peg$subclass(peg$SyntaxError, Error); peg$SyntaxError.buildMessage = function(expected, found) { var DESCRIBE_EXPECTATION_FNS = { literal: function(expectation) { return '"' + literalEscape(expectation.text) + '"'; }, "class": function(expectation) { var escapedParts = "", i; for (i = 0; i < expectation.parts.length; i++) { escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]); } return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; }, any: function(expectation) { return "any character"; }, end: function(expectation) { return "end of input"; }, other: function(expectation) { return expectation.description; } }; function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); } function literalEscape(s) { return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function classEscape(s) { return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function describeExpectation(expectation) { return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); } function describeExpected(expected2) { var descriptions = new Array(expected2.length), i, j; for (i = 0; i < expected2.length; i++) { descriptions[i] = describeExpectation(expected2[i]); } descriptions.sort(); if (descriptions.length > 0) { for (i = 1, j = 1; i < descriptions.length; i++) { if (descriptions[i - 1] !== descriptions[i]) { descriptions[j] = descriptions[i]; j++; } } descriptions.length = j; } switch (descriptions.length) { case 1: return descriptions[0]; case 2: return descriptions[0] + " or " + descriptions[1]; default: return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1]; } } function describeFound(found2) { return found2 ? '"' + literalEscape(found2) + '"' : "end of input"; } return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; }; function peg$parse(input, options) { options = options !== void 0 ? options : {}; var peg$FAILED = {}, peg$startRuleFunctions = { resolution: peg$parseresolution }, peg$startRuleFunction = peg$parseresolution, peg$c0 = "/", peg$c1 = peg$literalExpectation("/", false), peg$c2 = function(from, descriptor) { return { from, descriptor }; }, peg$c3 = function(descriptor) { return { descriptor }; }, peg$c4 = "@", peg$c5 = peg$literalExpectation("@", false), peg$c6 = function(fullName, description) { return { fullName, description }; }, peg$c7 = function(fullName) { return { fullName }; }, peg$c8 = function() { return text(); }, peg$c9 = /^[^\/@]/, peg$c10 = peg$classExpectation(["/", "@"], true, false), peg$c11 = /^[^\/]/, peg$c12 = peg$classExpectation(["/"], true, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result; if ("startRule" in options) { if (!(options.startRule in peg$startRuleFunctions)) { throw new Error(`Can't start parsing from rule "` + options.startRule + '".'); } peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; } function text() { return input.substring(peg$savedPos, peg$currPos); } function location() { return peg$computeLocation(peg$savedPos, peg$currPos); } function expected(description, location2) { location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos); throw peg$buildStructuredError( [peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location2 ); } function error(message, location2) { location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos); throw peg$buildSimpleError(message, location2); } function peg$literalExpectation(text2, ignoreCase) { return { type: "literal", text: text2, ignoreCase }; } function peg$classExpectation(parts, inverted, ignoreCase) { return { type: "class", parts, inverted, ignoreCase }; } function peg$anyExpectation() { return { type: "any" }; } function peg$endExpectation() { return { type: "end" }; } function peg$otherExpectation(description) { return { type: "other", description }; } function peg$computePosDetails(pos) { var details = peg$posDetailsCache[pos], p; if (details) { return details; } else { p = pos - 1; while (!peg$posDetailsCache[p]) { p--; } details = peg$posDetailsCache[p]; details = { line: details.line, column: details.column }; while (p < pos) { if (input.charCodeAt(p) === 10) { details.line++; details.column = 1; } else { details.column++; } p++; } peg$posDetailsCache[pos] = details; return details; } } function peg$computeLocation(startPos, endPos) { var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos); return { start: { offset: startPos, line: startPosDetails.line, column: startPosDetails.column }, end: { offset: endPos, line: endPosDetails.line, column: endPosDetails.column } }; } function peg$fail(expected2) { if (peg$currPos < peg$maxFailPos) { return; } if (peg$currPos > peg$maxFailPos) { peg$maxFailPos = peg$currPos; peg$maxFailExpected = []; } peg$maxFailExpected.push(expected2); } function peg$buildSimpleError(message, location2) { return new peg$SyntaxError(message, null, null, location2); } function peg$buildStructuredError(expected2, found, location2) { return new peg$SyntaxError( peg$SyntaxError.buildMessage(expected2, found), expected2, found, location2 ); } function peg$parseresolution() { var s0, s1, s2, s3; s0 = peg$currPos; s1 = peg$parsespecifier(); if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 47) { s2 = peg$c0; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c1); } } if (s2 !== peg$FAILED) { s3 = peg$parsespecifier(); if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c2(s1, s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parsespecifier(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c3(s1); } s0 = s1; } return s0; } function peg$parsespecifier() { var s0, s1, s2, s3; s0 = peg$currPos; s1 = peg$parsefullName(); if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 64) { s2 = peg$c4; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c5); } } if (s2 !== peg$FAILED) { s3 = peg$parsedescription(); if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c6(s1, s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parsefullName(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c7(s1); } s0 = s1; } return s0; } function peg$parsefullName() { var s0, s1, s2, s3, s4; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 64) { s1 = peg$c4; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c5); } } if (s1 !== peg$FAILED) { s2 = peg$parseident(); if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 47) { s3 = peg$c0; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c1); } } if (s3 !== peg$FAILED) { s4 = peg$parseident(); if (s4 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c8(); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseident(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c8(); } s0 = s1; } return s0; } function peg$parseident() { var s0, s1, s2; s0 = peg$currPos; s1 = []; if (peg$c9.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c10); } } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); if (peg$c9.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c10); } } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c8(); } s0 = s1; return s0; } function peg$parsedescription() { var s0, s1, s2; s0 = peg$currPos; s1 = []; if (peg$c11.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c12); } } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); if (peg$c11.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c12); } } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c8(); } s0 = s1; return s0; } peg$result = peg$startRuleFunction(); if (peg$result !== peg$FAILED && peg$currPos === input.length) { return peg$result; } else { if (peg$result !== peg$FAILED && peg$currPos < input.length) { peg$fail(peg$endExpectation()); } throw peg$buildStructuredError( peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) ); } } module2.exports = { SyntaxError: peg$SyntaxError, parse: peg$parse }; } }); // ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/resolution.js var require_resolution2 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/resolution.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseResolution = parseResolution; exports2.stringifyResolution = stringifyResolution; var resolution_1 = require_resolution(); function parseResolution(source) { const legacyResolution = source.match(/^\*{1,2}\/(.*)/); if (legacyResolution) throw new Error(`The override for '${source}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${legacyResolution[1]}' instead.`); try { return (0, resolution_1.parse)(source); } catch (error) { if (error.location) error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`); throw error; } } function stringifyResolution(resolution) { let str = ``; if (resolution.from) { str += resolution.from.fullName; if (resolution.from.description) str += `@${resolution.from.description}`; str += `/`; } str += resolution.descriptor.fullName; if (resolution.descriptor.description) str += `@${resolution.descriptor.description}`; return str; } } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/common.js var require_common5 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/common.js"(exports2, module2) { "use strict"; function isNothing(subject) { return typeof subject === "undefined" || subject === null; } function isObject(subject) { return typeof subject === "object" && subject !== null; } function toArray(sequence) { if (Array.isArray(sequence)) return sequence; else if (isNothing(sequence)) return []; return [sequence]; } function extend(target, source) { var index, length, key, sourceKeys; if (source) { sourceKeys = Object.keys(source); for (index = 0, length = sourceKeys.length; index < length; index += 1) { key = sourceKeys[index]; target[key] = source[key]; } } return target; } function repeat(string, count) { var result2 = "", cycle; for (cycle = 0; cycle < count; cycle += 1) { result2 += string; } return result2; } function isNegativeZero(number) { return number === 0 && Number.NEGATIVE_INFINITY === 1 / number; } module2.exports.isNothing = isNothing; module2.exports.isObject = isObject; module2.exports.toArray = toArray; module2.exports.repeat = repeat; module2.exports.isNegativeZero = isNegativeZero; module2.exports.extend = extend; } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/exception.js var require_exception2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/exception.js"(exports2, module2) { "use strict"; function YAMLException(reason, mark) { Error.call(this); this.name = "YAMLException"; this.reason = reason; this.mark = mark; this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : ""); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = new Error().stack || ""; } } YAMLException.prototype = Object.create(Error.prototype); YAMLException.prototype.constructor = YAMLException; YAMLException.prototype.toString = function toString(compact) { var result2 = this.name + ": "; result2 += this.reason || "(unknown reason)"; if (!compact && this.mark) { result2 += " " + this.mark.toString(); } return result2; }; module2.exports = YAMLException; } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/mark.js var require_mark = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/mark.js"(exports2, module2) { "use strict"; var common = require_common5(); function Mark(name, buffer, position, line, column) { this.name = name; this.buffer = buffer; this.position = position; this.line = line; this.column = column; } Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { var head, start, tail, end, snippet; if (!this.buffer) return null; indent = indent || 4; maxLength = maxLength || 75; head = ""; start = this.position; while (start > 0 && "\0\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(start - 1)) === -1) { start -= 1; if (this.position - start > maxLength / 2 - 1) { head = " ... "; start += 5; break; } } tail = ""; end = this.position; while (end < this.buffer.length && "\0\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(end)) === -1) { end += 1; if (end - this.position > maxLength / 2 - 1) { tail = " ... "; end -= 5; break; } } snippet = this.buffer.slice(start, end); return common.repeat(" ", indent) + head + snippet + tail + "\n" + common.repeat(" ", indent + this.position - start + head.length) + "^"; }; Mark.prototype.toString = function toString(compact) { var snippet, where = ""; if (this.name) { where += 'in "' + this.name + '" '; } where += "at line " + (this.line + 1) + ", column " + (this.column + 1); if (!compact) { snippet = this.getSnippet(); if (snippet) { where += ":\n" + snippet; } } return where; }; module2.exports = Mark; } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type.js var require_type3 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type.js"(exports2, module2) { "use strict"; var YAMLException = require_exception2(); var TYPE_CONSTRUCTOR_OPTIONS = [ "kind", "resolve", "construct", "instanceOf", "predicate", "represent", "defaultStyle", "styleAliases" ]; var YAML_NODE_KINDS = [ "scalar", "sequence", "mapping" ]; function compileStyleAliases(map) { var result2 = {}; if (map !== null) { Object.keys(map).forEach(function(style) { map[style].forEach(function(alias) { result2[String(alias)] = style; }); }); } return result2; } function Type(tag, options) { options = options || {}; Object.keys(options).forEach(function(name) { if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); } }); this.tag = tag; this.kind = options["kind"] || null; this.resolve = options["resolve"] || function() { return true; }; this.construct = options["construct"] || function(data) { return data; }; this.instanceOf = options["instanceOf"] || null; this.predicate = options["predicate"] || null; this.represent = options["represent"] || null; this.defaultStyle = options["defaultStyle"] || null; this.styleAliases = compileStyleAliases(options["styleAliases"] || null); if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); } } module2.exports = Type; } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema.js var require_schema2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema.js"(exports2, module2) { "use strict"; var common = require_common5(); var YAMLException = require_exception2(); var Type = require_type3(); function compileList(schema, name, result2) { var exclude = []; schema.include.forEach(function(includedSchema) { result2 = compileList(includedSchema, name, result2); }); schema[name].forEach(function(currentType) { result2.forEach(function(previousType, previousIndex) { if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) { exclude.push(previousIndex); } }); result2.push(currentType); }); return result2.filter(function(type, index) { return exclude.indexOf(index) === -1; }); } function compileMap() { var result2 = { scalar: {}, sequence: {}, mapping: {}, fallback: {} }, index, length; function collectType(type) { result2[type.kind][type.tag] = result2["fallback"][type.tag] = type; } for (index = 0, length = arguments.length; index < length; index += 1) { arguments[index].forEach(collectType); } return result2; } function Schema(definition) { this.include = definition.include || []; this.implicit = definition.implicit || []; this.explicit = definition.explicit || []; this.implicit.forEach(function(type) { if (type.loadKind && type.loadKind !== "scalar") { throw new YAMLException("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported."); } }); this.compiledImplicit = compileList(this, "implicit", []); this.compiledExplicit = compileList(this, "explicit", []); this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); } Schema.DEFAULT = null; Schema.create = function createSchema() { var schemas, types; switch (arguments.length) { case 1: schemas = Schema.DEFAULT; types = arguments[0]; break; case 2: schemas = arguments[0]; types = arguments[1]; break; default: throw new YAMLException("Wrong number of arguments for Schema.create function"); } schemas = common.toArray(schemas); types = common.toArray(types); if (!schemas.every(function(schema) { return schema instanceof Schema; })) { throw new YAMLException("Specified list of super schemas (or a single Schema object) contains a non-Schema object."); } if (!types.every(function(type) { return type instanceof Type; })) { throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object."); } return new Schema({ include: schemas, explicit: types }); }; module2.exports = Schema; } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/str.js var require_str2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/str.js"(exports2, module2) { "use strict"; var Type = require_type3(); module2.exports = new Type("tag:yaml.org,2002:str", { kind: "scalar", construct: function(data) { return data !== null ? data : ""; } }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/seq.js var require_seq2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/seq.js"(exports2, module2) { "use strict"; var Type = require_type3(); module2.exports = new Type("tag:yaml.org,2002:seq", { kind: "sequence", construct: function(data) { return data !== null ? data : []; } }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/map.js var require_map5 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/map.js"(exports2, module2) { "use strict"; var Type = require_type3(); module2.exports = new Type("tag:yaml.org,2002:map", { kind: "mapping", construct: function(data) { return data !== null ? data : {}; } }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js var require_failsafe2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js"(exports2, module2) { "use strict"; var Schema = require_schema2(); module2.exports = new Schema({ explicit: [ require_str2(), require_seq2(), require_map5() ] }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/null.js var require_null2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/null.js"(exports2, module2) { "use strict"; var Type = require_type3(); function resolveYamlNull(data) { if (data === null) return true; var max = data.length; return max === 1 && data === "~" || max === 4 && (data === "null" || data === "Null" || data === "NULL"); } function constructYamlNull() { return null; } function isNull(object) { return object === null; } module2.exports = new Type("tag:yaml.org,2002:null", { kind: "scalar", resolve: resolveYamlNull, construct: constructYamlNull, predicate: isNull, represent: { canonical: function() { return "~"; }, lowercase: function() { return "null"; }, uppercase: function() { return "NULL"; }, camelcase: function() { return "Null"; } }, defaultStyle: "lowercase" }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/bool.js var require_bool2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/bool.js"(exports2, module2) { "use strict"; var Type = require_type3(); function resolveYamlBoolean(data) { if (data === null) return false; var max = data.length; return max === 4 && (data === "true" || data === "True" || data === "TRUE") || max === 5 && (data === "false" || data === "False" || data === "FALSE"); } function constructYamlBoolean(data) { return data === "true" || data === "True" || data === "TRUE"; } function isBoolean(object) { return Object.prototype.toString.call(object) === "[object Boolean]"; } module2.exports = new Type("tag:yaml.org,2002:bool", { kind: "scalar", resolve: resolveYamlBoolean, construct: constructYamlBoolean, predicate: isBoolean, represent: { lowercase: function(object) { return object ? "true" : "false"; }, uppercase: function(object) { return object ? "TRUE" : "FALSE"; }, camelcase: function(object) { return object ? "True" : "False"; } }, defaultStyle: "lowercase" }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/int.js var require_int2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/int.js"(exports2, module2) { "use strict"; var common = require_common5(); var Type = require_type3(); function isHexCode(c) { return 48 <= c && c <= 57 || 65 <= c && c <= 70 || 97 <= c && c <= 102; } function isOctCode(c) { return 48 <= c && c <= 55; } function isDecCode(c) { return 48 <= c && c <= 57; } function resolveYamlInteger(data) { if (data === null) return false; var max = data.length, index = 0, hasDigits = false, ch; if (!max) return false; ch = data[index]; if (ch === "-" || ch === "+") { ch = data[++index]; } if (ch === "0") { if (index + 1 === max) return true; ch = data[++index]; if (ch === "b") { index++; for (; index < max; index++) { ch = data[index]; if (ch === "_") continue; if (ch !== "0" && ch !== "1") return false; hasDigits = true; } return hasDigits && ch !== "_"; } if (ch === "x") { index++; for (; index < max; index++) { ch = data[index]; if (ch === "_") continue; if (!isHexCode(data.charCodeAt(index))) return false; hasDigits = true; } return hasDigits && ch !== "_"; } for (; index < max; index++) { ch = data[index]; if (ch === "_") continue; if (!isOctCode(data.charCodeAt(index))) return false; hasDigits = true; } return hasDigits && ch !== "_"; } if (ch === "_") return false; for (; index < max; index++) { ch = data[index]; if (ch === "_") continue; if (ch === ":") break; if (!isDecCode(data.charCodeAt(index))) { return false; } hasDigits = true; } if (!hasDigits || ch === "_") return false; if (ch !== ":") return true; return /^(:[0-5]?[0-9])+$/.test(data.slice(index)); } function constructYamlInteger(data) { var value = data, sign = 1, ch, base, digits = []; if (value.indexOf("_") !== -1) { value = value.replace(/_/g, ""); } ch = value[0]; if (ch === "-" || ch === "+") { if (ch === "-") sign = -1; value = value.slice(1); ch = value[0]; } if (value === "0") return 0; if (ch === "0") { if (value[1] === "b") return sign * parseInt(value.slice(2), 2); if (value[1] === "x") return sign * parseInt(value, 16); return sign * parseInt(value, 8); } if (value.indexOf(":") !== -1) { value.split(":").forEach(function(v) { digits.unshift(parseInt(v, 10)); }); value = 0; base = 1; digits.forEach(function(d) { value += d * base; base *= 60; }); return sign * value; } return sign * parseInt(value, 10); } function isInteger(object) { return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 === 0 && !common.isNegativeZero(object)); } module2.exports = new Type("tag:yaml.org,2002:int", { kind: "scalar", resolve: resolveYamlInteger, construct: constructYamlInteger, predicate: isInteger, represent: { binary: function(obj) { return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1); }, octal: function(obj) { return obj >= 0 ? "0" + obj.toString(8) : "-0" + obj.toString(8).slice(1); }, decimal: function(obj) { return obj.toString(10); }, /* eslint-disable max-len */ hexadecimal: function(obj) { return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1); } }, defaultStyle: "decimal", styleAliases: { binary: [2, "bin"], octal: [8, "oct"], decimal: [10, "dec"], hexadecimal: [16, "hex"] } }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/float.js var require_float2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/float.js"(exports2, module2) { "use strict"; var common = require_common5(); var Type = require_type3(); var YAML_FLOAT_PATTERN = new RegExp( // 2.5e4, 2.5 and integers "^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$" ); function resolveYamlFloat(data) { if (data === null) return false; if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_` // Probably should update regexp & check speed data[data.length - 1] === "_") { return false; } return true; } function constructYamlFloat(data) { var value, sign, base, digits; value = data.replace(/_/g, "").toLowerCase(); sign = value[0] === "-" ? -1 : 1; digits = []; if ("+-".indexOf(value[0]) >= 0) { value = value.slice(1); } if (value === ".inf") { return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; } else if (value === ".nan") { return NaN; } else if (value.indexOf(":") >= 0) { value.split(":").forEach(function(v) { digits.unshift(parseFloat(v, 10)); }); value = 0; base = 1; digits.forEach(function(d) { value += d * base; base *= 60; }); return sign * value; } return sign * parseFloat(value, 10); } var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; function representYamlFloat(object, style) { var res; if (isNaN(object)) { switch (style) { case "lowercase": return ".nan"; case "uppercase": return ".NAN"; case "camelcase": return ".NaN"; } } else if (Number.POSITIVE_INFINITY === object) { switch (style) { case "lowercase": return ".inf"; case "uppercase": return ".INF"; case "camelcase": return ".Inf"; } } else if (Number.NEGATIVE_INFINITY === object) { switch (style) { case "lowercase": return "-.inf"; case "uppercase": return "-.INF"; case "camelcase": return "-.Inf"; } } else if (common.isNegativeZero(object)) { return "-0.0"; } res = object.toString(10); return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res; } function isFloat(object) { return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common.isNegativeZero(object)); } module2.exports = new Type("tag:yaml.org,2002:float", { kind: "scalar", resolve: resolveYamlFloat, construct: constructYamlFloat, predicate: isFloat, represent: representYamlFloat, defaultStyle: "lowercase" }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/json.js var require_json3 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/json.js"(exports2, module2) { "use strict"; var Schema = require_schema2(); module2.exports = new Schema({ include: [ require_failsafe2() ], implicit: [ require_null2(), require_bool2(), require_int2(), require_float2() ] }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/core.js var require_core4 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/core.js"(exports2, module2) { "use strict"; var Schema = require_schema2(); module2.exports = new Schema({ include: [ require_json3() ] }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/timestamp.js var require_timestamp3 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/timestamp.js"(exports2, module2) { "use strict"; var Type = require_type3(); var YAML_DATE_REGEXP = new RegExp( "^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$" ); var YAML_TIMESTAMP_REGEXP = new RegExp( "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$" ); function resolveYamlTimestamp(data) { if (data === null) return false; if (YAML_DATE_REGEXP.exec(data) !== null) return true; if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; return false; } function constructYamlTimestamp(data) { var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date; match = YAML_DATE_REGEXP.exec(data); if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); if (match === null) throw new Error("Date resolve error"); year = +match[1]; month = +match[2] - 1; day = +match[3]; if (!match[4]) { return new Date(Date.UTC(year, month, day)); } hour = +match[4]; minute = +match[5]; second = +match[6]; if (match[7]) { fraction = match[7].slice(0, 3); while (fraction.length < 3) { fraction += "0"; } fraction = +fraction; } if (match[9]) { tz_hour = +match[10]; tz_minute = +(match[11] || 0); delta = (tz_hour * 60 + tz_minute) * 6e4; if (match[9] === "-") delta = -delta; } date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); if (delta) date.setTime(date.getTime() - delta); return date; } function representYamlTimestamp(object) { return object.toISOString(); } module2.exports = new Type("tag:yaml.org,2002:timestamp", { kind: "scalar", resolve: resolveYamlTimestamp, construct: constructYamlTimestamp, instanceOf: Date, represent: representYamlTimestamp }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/merge.js var require_merge4 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/merge.js"(exports2, module2) { "use strict"; var Type = require_type3(); function resolveYamlMerge(data) { return data === "<<" || data === null; } module2.exports = new Type("tag:yaml.org,2002:merge", { kind: "scalar", resolve: resolveYamlMerge }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/binary.js var require_binary2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/binary.js"(exports2, module2) { "use strict"; var NodeBuffer; try { _require = require; NodeBuffer = _require("buffer").Buffer; } catch (__) { } var _require; var Type = require_type3(); var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r"; function resolveYamlBinary(data) { if (data === null) return false; var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; for (idx = 0; idx < max; idx++) { code = map.indexOf(data.charAt(idx)); if (code > 64) continue; if (code < 0) return false; bitlen += 6; } return bitlen % 8 === 0; } function constructYamlBinary(data) { var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max = input.length, map = BASE64_MAP, bits = 0, result2 = []; for (idx = 0; idx < max; idx++) { if (idx % 4 === 0 && idx) { result2.push(bits >> 16 & 255); result2.push(bits >> 8 & 255); result2.push(bits & 255); } bits = bits << 6 | map.indexOf(input.charAt(idx)); } tailbits = max % 4 * 6; if (tailbits === 0) { result2.push(bits >> 16 & 255); result2.push(bits >> 8 & 255); result2.push(bits & 255); } else if (tailbits === 18) { result2.push(bits >> 10 & 255); result2.push(bits >> 2 & 255); } else if (tailbits === 12) { result2.push(bits >> 4 & 255); } if (NodeBuffer) { return NodeBuffer.from ? NodeBuffer.from(result2) : new NodeBuffer(result2); } return result2; } function representYamlBinary(object) { var result2 = "", bits = 0, idx, tail, max = object.length, map = BASE64_MAP; for (idx = 0; idx < max; idx++) { if (idx % 3 === 0 && idx) { result2 += map[bits >> 18 & 63]; result2 += map[bits >> 12 & 63]; result2 += map[bits >> 6 & 63]; result2 += map[bits & 63]; } bits = (bits << 8) + object[idx]; } tail = max % 3; if (tail === 0) { result2 += map[bits >> 18 & 63]; result2 += map[bits >> 12 & 63]; result2 += map[bits >> 6 & 63]; result2 += map[bits & 63]; } else if (tail === 2) { result2 += map[bits >> 10 & 63]; result2 += map[bits >> 4 & 63]; result2 += map[bits << 2 & 63]; result2 += map[64]; } else if (tail === 1) { result2 += map[bits >> 2 & 63]; result2 += map[bits << 4 & 63]; result2 += map[64]; result2 += map[64]; } return result2; } function isBinary(object) { return NodeBuffer && NodeBuffer.isBuffer(object); } module2.exports = new Type("tag:yaml.org,2002:binary", { kind: "scalar", resolve: resolveYamlBinary, construct: constructYamlBinary, predicate: isBinary, represent: representYamlBinary }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/omap.js var require_omap2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/omap.js"(exports2, module2) { "use strict"; var Type = require_type3(); var _hasOwnProperty = Object.prototype.hasOwnProperty; var _toString = Object.prototype.toString; function resolveYamlOmap(data) { if (data === null) return true; var objectKeys = [], index, length, pair, pairKey, pairHasKey, object = data; for (index = 0, length = object.length; index < length; index += 1) { pair = object[index]; pairHasKey = false; if (_toString.call(pair) !== "[object Object]") return false; for (pairKey in pair) { if (_hasOwnProperty.call(pair, pairKey)) { if (!pairHasKey) pairHasKey = true; else return false; } } if (!pairHasKey) return false; if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); else return false; } return true; } function constructYamlOmap(data) { return data !== null ? data : []; } module2.exports = new Type("tag:yaml.org,2002:omap", { kind: "sequence", resolve: resolveYamlOmap, construct: constructYamlOmap }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/pairs.js var require_pairs3 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/pairs.js"(exports2, module2) { "use strict"; var Type = require_type3(); var _toString = Object.prototype.toString; function resolveYamlPairs(data) { if (data === null) return true; var index, length, pair, keys, result2, object = data; result2 = new Array(object.length); for (index = 0, length = object.length; index < length; index += 1) { pair = object[index]; if (_toString.call(pair) !== "[object Object]") return false; keys = Object.keys(pair); if (keys.length !== 1) return false; result2[index] = [keys[0], pair[keys[0]]]; } return true; } function constructYamlPairs(data) { if (data === null) return []; var index, length, pair, keys, result2, object = data; result2 = new Array(object.length); for (index = 0, length = object.length; index < length; index += 1) { pair = object[index]; keys = Object.keys(pair); result2[index] = [keys[0], pair[keys[0]]]; } return result2; } module2.exports = new Type("tag:yaml.org,2002:pairs", { kind: "sequence", resolve: resolveYamlPairs, construct: constructYamlPairs }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/set.js var require_set2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/set.js"(exports2, module2) { "use strict"; var Type = require_type3(); var _hasOwnProperty = Object.prototype.hasOwnProperty; function resolveYamlSet(data) { if (data === null) return true; var key, object = data; for (key in object) { if (_hasOwnProperty.call(object, key)) { if (object[key] !== null) return false; } } return true; } function constructYamlSet(data) { return data !== null ? data : {}; } module2.exports = new Type("tag:yaml.org,2002:set", { kind: "mapping", resolve: resolveYamlSet, construct: constructYamlSet }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js var require_default_safe = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js"(exports2, module2) { "use strict"; var Schema = require_schema2(); module2.exports = new Schema({ include: [ require_core4() ], implicit: [ require_timestamp3(), require_merge4() ], explicit: [ require_binary2(), require_omap2(), require_pairs3(), require_set2() ] }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js var require_undefined = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js"(exports2, module2) { "use strict"; var Type = require_type3(); function resolveJavascriptUndefined() { return true; } function constructJavascriptUndefined() { return void 0; } function representJavascriptUndefined() { return ""; } function isUndefined(object) { return typeof object === "undefined"; } module2.exports = new Type("tag:yaml.org,2002:js/undefined", { kind: "scalar", resolve: resolveJavascriptUndefined, construct: constructJavascriptUndefined, predicate: isUndefined, represent: representJavascriptUndefined }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js var require_regexp = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js"(exports2, module2) { "use strict"; var Type = require_type3(); function resolveJavascriptRegExp(data) { if (data === null) return false; if (data.length === 0) return false; var regexp = data, tail = /\/([gim]*)$/.exec(data), modifiers = ""; if (regexp[0] === "/") { if (tail) modifiers = tail[1]; if (modifiers.length > 3) return false; if (regexp[regexp.length - modifiers.length - 1] !== "/") return false; } return true; } function constructJavascriptRegExp(data) { var regexp = data, tail = /\/([gim]*)$/.exec(data), modifiers = ""; if (regexp[0] === "/") { if (tail) modifiers = tail[1]; regexp = regexp.slice(1, regexp.length - modifiers.length - 1); } return new RegExp(regexp, modifiers); } function representJavascriptRegExp(object) { var result2 = "/" + object.source + "/"; if (object.global) result2 += "g"; if (object.multiline) result2 += "m"; if (object.ignoreCase) result2 += "i"; return result2; } function isRegExp(object) { return Object.prototype.toString.call(object) === "[object RegExp]"; } module2.exports = new Type("tag:yaml.org,2002:js/regexp", { kind: "scalar", resolve: resolveJavascriptRegExp, construct: constructJavascriptRegExp, predicate: isRegExp, represent: representJavascriptRegExp }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/js/function.js var require_function = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/type/js/function.js"(exports2, module2) { "use strict"; var esprima; try { _require = require; esprima = _require("esprima"); } catch (_) { if (typeof window !== "undefined") esprima = window.esprima; } var _require; var Type = require_type3(); function resolveJavascriptFunction(data) { if (data === null) return false; try { var source = "(" + data + ")", ast = esprima.parse(source, { range: true }); if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") { return false; } return true; } catch (err) { return false; } } function constructJavascriptFunction(data) { var source = "(" + data + ")", ast = esprima.parse(source, { range: true }), params = [], body; if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") { throw new Error("Failed to resolve function"); } ast.body[0].expression.params.forEach(function(param) { params.push(param.name); }); body = ast.body[0].expression.body.range; if (ast.body[0].expression.body.type === "BlockStatement") { return new Function(params, source.slice(body[0] + 1, body[1] - 1)); } return new Function(params, "return " + source.slice(body[0], body[1])); } function representJavascriptFunction(object) { return object.toString(); } function isFunction(object) { return Object.prototype.toString.call(object) === "[object Function]"; } module2.exports = new Type("tag:yaml.org,2002:js/function", { kind: "scalar", resolve: resolveJavascriptFunction, construct: constructJavascriptFunction, predicate: isFunction, represent: representJavascriptFunction }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/default_full.js var require_default_full = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/schema/default_full.js"(exports2, module2) { "use strict"; var Schema = require_schema2(); module2.exports = Schema.DEFAULT = new Schema({ include: [ require_default_safe() ], explicit: [ require_undefined(), require_regexp(), require_function() ] }); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/loader.js var require_loader2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/loader.js"(exports2, module2) { "use strict"; var common = require_common5(); var YAMLException = require_exception2(); var Mark = require_mark(); var DEFAULT_SAFE_SCHEMA = require_default_safe(); var DEFAULT_FULL_SCHEMA = require_default_full(); var _hasOwnProperty = Object.prototype.hasOwnProperty; var CONTEXT_FLOW_IN = 1; var CONTEXT_FLOW_OUT = 2; var CONTEXT_BLOCK_IN = 3; var CONTEXT_BLOCK_OUT = 4; var CHOMPING_CLIP = 1; var CHOMPING_STRIP = 2; var CHOMPING_KEEP = 3; var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; function _class(obj) { return Object.prototype.toString.call(obj); } function is_EOL(c) { return c === 10 || c === 13; } function is_WHITE_SPACE(c) { return c === 9 || c === 32; } function is_WS_OR_EOL(c) { return c === 9 || c === 32 || c === 10 || c === 13; } function is_FLOW_INDICATOR(c) { return c === 44 || c === 91 || c === 93 || c === 123 || c === 125; } function fromHexCode(c) { var lc; if (48 <= c && c <= 57) { return c - 48; } lc = c | 32; if (97 <= lc && lc <= 102) { return lc - 97 + 10; } return -1; } function escapedHexLen(c) { if (c === 120) { return 2; } if (c === 117) { return 4; } if (c === 85) { return 8; } return 0; } function fromDecimalCode(c) { if (48 <= c && c <= 57) { return c - 48; } return -1; } function simpleEscapeSequence(c) { return c === 48 ? "\0" : c === 97 ? "\x07" : c === 98 ? "\b" : c === 116 ? " " : c === 9 ? " " : c === 110 ? "\n" : c === 118 ? "\v" : c === 102 ? "\f" : c === 114 ? "\r" : c === 101 ? "\x1B" : c === 32 ? " " : c === 34 ? '"' : c === 47 ? "/" : c === 92 ? "\\" : c === 78 ? "\x85" : c === 95 ? "\xA0" : c === 76 ? "\u2028" : c === 80 ? "\u2029" : ""; } function charFromCodepoint(c) { if (c <= 65535) { return String.fromCharCode(c); } return String.fromCharCode( (c - 65536 >> 10) + 55296, (c - 65536 & 1023) + 56320 ); } function setProperty(object, key, value) { if (key === "__proto__") { Object.defineProperty(object, key, { configurable: true, enumerable: true, writable: true, value }); } else { object[key] = value; } } var simpleEscapeCheck = new Array(256); var simpleEscapeMap = new Array(256); for (i = 0; i < 256; i++) { simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; simpleEscapeMap[i] = simpleEscapeSequence(i); } var i; function State(input, options) { this.input = input; this.filename = options["filename"] || null; this.schema = options["schema"] || DEFAULT_FULL_SCHEMA; this.onWarning = options["onWarning"] || null; this.legacy = options["legacy"] || false; this.json = options["json"] || false; this.listener = options["listener"] || null; this.implicitTypes = this.schema.compiledImplicit; this.typeMap = this.schema.compiledTypeMap; this.length = input.length; this.position = 0; this.line = 0; this.lineStart = 0; this.lineIndent = 0; this.documents = []; } function generateError(state, message) { return new YAMLException( message, new Mark(state.filename, state.input, state.position, state.line, state.position - state.lineStart) ); } function throwError(state, message) { throw generateError(state, message); } function throwWarning(state, message) { if (state.onWarning) { state.onWarning.call(null, generateError(state, message)); } } var directiveHandlers = { YAML: function handleYamlDirective(state, name, args) { var match, major, minor; if (state.version !== null) { throwError(state, "duplication of %YAML directive"); } if (args.length !== 1) { throwError(state, "YAML directive accepts exactly one argument"); } match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); if (match === null) { throwError(state, "ill-formed argument of the YAML directive"); } major = parseInt(match[1], 10); minor = parseInt(match[2], 10); if (major !== 1) { throwError(state, "unacceptable YAML version of the document"); } state.version = args[0]; state.checkLineBreaks = minor < 2; if (minor !== 1 && minor !== 2) { throwWarning(state, "unsupported YAML version of the document"); } }, TAG: function handleTagDirective(state, name, args) { var handle, prefix; if (args.length !== 2) { throwError(state, "TAG directive accepts exactly two arguments"); } handle = args[0]; prefix = args[1]; if (!PATTERN_TAG_HANDLE.test(handle)) { throwError(state, "ill-formed tag handle (first argument) of the TAG directive"); } if (_hasOwnProperty.call(state.tagMap, handle)) { throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); } if (!PATTERN_TAG_URI.test(prefix)) { throwError(state, "ill-formed tag prefix (second argument) of the TAG directive"); } state.tagMap[handle] = prefix; } }; function captureSegment(state, start, end, checkJson) { var _position, _length, _character, _result; if (start < end) { _result = state.input.slice(start, end); if (checkJson) { for (_position = 0, _length = _result.length; _position < _length; _position += 1) { _character = _result.charCodeAt(_position); if (!(_character === 9 || 32 <= _character && _character <= 1114111)) { throwError(state, "expected valid JSON character"); } } } else if (PATTERN_NON_PRINTABLE.test(_result)) { throwError(state, "the stream contains non-printable characters"); } state.result += _result; } } function mergeMappings(state, destination, source, overridableKeys) { var sourceKeys, key, index, quantity; if (!common.isObject(source)) { throwError(state, "cannot merge mappings; the provided source object is unacceptable"); } sourceKeys = Object.keys(source); for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { key = sourceKeys[index]; if (!_hasOwnProperty.call(destination, key)) { setProperty(destination, key, source[key]); overridableKeys[key] = true; } } } function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) { var index, quantity; if (Array.isArray(keyNode)) { keyNode = Array.prototype.slice.call(keyNode); for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { if (Array.isArray(keyNode[index])) { throwError(state, "nested arrays are not supported inside keys"); } if (typeof keyNode === "object" && _class(keyNode[index]) === "[object Object]") { keyNode[index] = "[object Object]"; } } } if (typeof keyNode === "object" && _class(keyNode) === "[object Object]") { keyNode = "[object Object]"; } keyNode = String(keyNode); if (_result === null) { _result = {}; } if (keyTag === "tag:yaml.org,2002:merge") { if (Array.isArray(valueNode)) { for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { mergeMappings(state, _result, valueNode[index], overridableKeys); } } else { mergeMappings(state, _result, valueNode, overridableKeys); } } else { if (!state.json && !_hasOwnProperty.call(overridableKeys, keyNode) && _hasOwnProperty.call(_result, keyNode)) { state.line = startLine || state.line; state.position = startPos || state.position; throwError(state, "duplicated mapping key"); } setProperty(_result, keyNode, valueNode); delete overridableKeys[keyNode]; } return _result; } function readLineBreak(state) { var ch; ch = state.input.charCodeAt(state.position); if (ch === 10) { state.position++; } else if (ch === 13) { state.position++; if (state.input.charCodeAt(state.position) === 10) { state.position++; } } else { throwError(state, "a line break is expected"); } state.line += 1; state.lineStart = state.position; } function skipSeparationSpace(state, allowComments, checkIndent) { var lineBreaks = 0, ch = state.input.charCodeAt(state.position); while (ch !== 0) { while (is_WHITE_SPACE(ch)) { ch = state.input.charCodeAt(++state.position); } if (allowComments && ch === 35) { do { ch = state.input.charCodeAt(++state.position); } while (ch !== 10 && ch !== 13 && ch !== 0); } if (is_EOL(ch)) { readLineBreak(state); ch = state.input.charCodeAt(state.position); lineBreaks++; state.lineIndent = 0; while (ch === 32) { state.lineIndent++; ch = state.input.charCodeAt(++state.position); } } else { break; } } if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { throwWarning(state, "deficient indentation"); } return lineBreaks; } function testDocumentSeparator(state) { var _position = state.position, ch; ch = state.input.charCodeAt(_position); if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) { _position += 3; ch = state.input.charCodeAt(_position); if (ch === 0 || is_WS_OR_EOL(ch)) { return true; } } return false; } function writeFoldedLines(state, count) { if (count === 1) { state.result += " "; } else if (count > 1) { state.result += common.repeat("\n", count - 1); } } function readPlainScalar(state, nodeIndent, withinFlowCollection) { var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind, _result = state.result, ch; ch = state.input.charCodeAt(state.position); if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) { return false; } if (ch === 63 || ch === 45) { following = state.input.charCodeAt(state.position + 1); if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { return false; } } state.kind = "scalar"; state.result = ""; captureStart = captureEnd = state.position; hasPendingContent = false; while (ch !== 0) { if (ch === 58) { following = state.input.charCodeAt(state.position + 1); if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { break; } } else if (ch === 35) { preceding = state.input.charCodeAt(state.position - 1); if (is_WS_OR_EOL(preceding)) { break; } } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) { break; } else if (is_EOL(ch)) { _line = state.line; _lineStart = state.lineStart; _lineIndent = state.lineIndent; skipSeparationSpace(state, false, -1); if (state.lineIndent >= nodeIndent) { hasPendingContent = true; ch = state.input.charCodeAt(state.position); continue; } else { state.position = captureEnd; state.line = _line; state.lineStart = _lineStart; state.lineIndent = _lineIndent; break; } } if (hasPendingContent) { captureSegment(state, captureStart, captureEnd, false); writeFoldedLines(state, state.line - _line); captureStart = captureEnd = state.position; hasPendingContent = false; } if (!is_WHITE_SPACE(ch)) { captureEnd = state.position + 1; } ch = state.input.charCodeAt(++state.position); } captureSegment(state, captureStart, captureEnd, false); if (state.result) { return true; } state.kind = _kind; state.result = _result; return false; } function readSingleQuotedScalar(state, nodeIndent) { var ch, captureStart, captureEnd; ch = state.input.charCodeAt(state.position); if (ch !== 39) { return false; } state.kind = "scalar"; state.result = ""; state.position++; captureStart = captureEnd = state.position; while ((ch = state.input.charCodeAt(state.position)) !== 0) { if (ch === 39) { captureSegment(state, captureStart, state.position, true); ch = state.input.charCodeAt(++state.position); if (ch === 39) { captureStart = state.position; state.position++; captureEnd = state.position; } else { return true; } } else if (is_EOL(ch)) { captureSegment(state, captureStart, captureEnd, true); writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); captureStart = captureEnd = state.position; } else if (state.position === state.lineStart && testDocumentSeparator(state)) { throwError(state, "unexpected end of the document within a single quoted scalar"); } else { state.position++; captureEnd = state.position; } } throwError(state, "unexpected end of the stream within a single quoted scalar"); } function readDoubleQuotedScalar(state, nodeIndent) { var captureStart, captureEnd, hexLength, hexResult, tmp, ch; ch = state.input.charCodeAt(state.position); if (ch !== 34) { return false; } state.kind = "scalar"; state.result = ""; state.position++; captureStart = captureEnd = state.position; while ((ch = state.input.charCodeAt(state.position)) !== 0) { if (ch === 34) { captureSegment(state, captureStart, state.position, true); state.position++; return true; } else if (ch === 92) { captureSegment(state, captureStart, state.position, true); ch = state.input.charCodeAt(++state.position); if (is_EOL(ch)) { skipSeparationSpace(state, false, nodeIndent); } else if (ch < 256 && simpleEscapeCheck[ch]) { state.result += simpleEscapeMap[ch]; state.position++; } else if ((tmp = escapedHexLen(ch)) > 0) { hexLength = tmp; hexResult = 0; for (; hexLength > 0; hexLength--) { ch = state.input.charCodeAt(++state.position); if ((tmp = fromHexCode(ch)) >= 0) { hexResult = (hexResult << 4) + tmp; } else { throwError(state, "expected hexadecimal character"); } } state.result += charFromCodepoint(hexResult); state.position++; } else { throwError(state, "unknown escape sequence"); } captureStart = captureEnd = state.position; } else if (is_EOL(ch)) { captureSegment(state, captureStart, captureEnd, true); writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); captureStart = captureEnd = state.position; } else if (state.position === state.lineStart && testDocumentSeparator(state)) { throwError(state, "unexpected end of the document within a double quoted scalar"); } else { state.position++; captureEnd = state.position; } } throwError(state, "unexpected end of the stream within a double quoted scalar"); } function readFlowCollection(state, nodeIndent) { var readNext = true, _line, _tag = state.tag, _result, _anchor = state.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = {}, keyNode, keyTag, valueNode, ch; ch = state.input.charCodeAt(state.position); if (ch === 91) { terminator = 93; isMapping = false; _result = []; } else if (ch === 123) { terminator = 125; isMapping = true; _result = {}; } else { return false; } if (state.anchor !== null) { state.anchorMap[state.anchor] = _result; } ch = state.input.charCodeAt(++state.position); while (ch !== 0) { skipSeparationSpace(state, true, nodeIndent); ch = state.input.charCodeAt(state.position); if (ch === terminator) { state.position++; state.tag = _tag; state.anchor = _anchor; state.kind = isMapping ? "mapping" : "sequence"; state.result = _result; return true; } else if (!readNext) { throwError(state, "missed comma between flow collection entries"); } keyTag = keyNode = valueNode = null; isPair = isExplicitPair = false; if (ch === 63) { following = state.input.charCodeAt(state.position + 1); if (is_WS_OR_EOL(following)) { isPair = isExplicitPair = true; state.position++; skipSeparationSpace(state, true, nodeIndent); } } _line = state.line; composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); keyTag = state.tag; keyNode = state.result; skipSeparationSpace(state, true, nodeIndent); ch = state.input.charCodeAt(state.position); if ((isExplicitPair || state.line === _line) && ch === 58) { isPair = true; ch = state.input.charCodeAt(++state.position); skipSeparationSpace(state, true, nodeIndent); composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); valueNode = state.result; } if (isMapping) { storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode); } else if (isPair) { _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode)); } else { _result.push(keyNode); } skipSeparationSpace(state, true, nodeIndent); ch = state.input.charCodeAt(state.position); if (ch === 44) { readNext = true; ch = state.input.charCodeAt(++state.position); } else { readNext = false; } } throwError(state, "unexpected end of the stream within a flow collection"); } function readBlockScalar(state, nodeIndent) { var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch; ch = state.input.charCodeAt(state.position); if (ch === 124) { folding = false; } else if (ch === 62) { folding = true; } else { return false; } state.kind = "scalar"; state.result = ""; while (ch !== 0) { ch = state.input.charCodeAt(++state.position); if (ch === 43 || ch === 45) { if (CHOMPING_CLIP === chomping) { chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP; } else { throwError(state, "repeat of a chomping mode identifier"); } } else if ((tmp = fromDecimalCode(ch)) >= 0) { if (tmp === 0) { throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one"); } else if (!detectedIndent) { textIndent = nodeIndent + tmp - 1; detectedIndent = true; } else { throwError(state, "repeat of an indentation width identifier"); } } else { break; } } if (is_WHITE_SPACE(ch)) { do { ch = state.input.charCodeAt(++state.position); } while (is_WHITE_SPACE(ch)); if (ch === 35) { do { ch = state.input.charCodeAt(++state.position); } while (!is_EOL(ch) && ch !== 0); } } while (ch !== 0) { readLineBreak(state); state.lineIndent = 0; ch = state.input.charCodeAt(state.position); while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) { state.lineIndent++; ch = state.input.charCodeAt(++state.position); } if (!detectedIndent && state.lineIndent > textIndent) { textIndent = state.lineIndent; } if (is_EOL(ch)) { emptyLines++; continue; } if (state.lineIndent < textIndent) { if (chomping === CHOMPING_KEEP) { state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); } else if (chomping === CHOMPING_CLIP) { if (didReadContent) { state.result += "\n"; } } break; } if (folding) { if (is_WHITE_SPACE(ch)) { atMoreIndented = true; state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); } else if (atMoreIndented) { atMoreIndented = false; state.result += common.repeat("\n", emptyLines + 1); } else if (emptyLines === 0) { if (didReadContent) { state.result += " "; } } else { state.result += common.repeat("\n", emptyLines); } } else { state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); } didReadContent = true; detectedIndent = true; emptyLines = 0; captureStart = state.position; while (!is_EOL(ch) && ch !== 0) { ch = state.input.charCodeAt(++state.position); } captureSegment(state, captureStart, state.position, false); } return true; } function readBlockSequence(state, nodeIndent) { var _line, _tag = state.tag, _anchor = state.anchor, _result = [], following, detected = false, ch; if (state.anchor !== null) { state.anchorMap[state.anchor] = _result; } ch = state.input.charCodeAt(state.position); while (ch !== 0) { if (ch !== 45) { break; } following = state.input.charCodeAt(state.position + 1); if (!is_WS_OR_EOL(following)) { break; } detected = true; state.position++; if (skipSeparationSpace(state, true, -1)) { if (state.lineIndent <= nodeIndent) { _result.push(null); ch = state.input.charCodeAt(state.position); continue; } } _line = state.line; composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); _result.push(state.result); skipSeparationSpace(state, true, -1); ch = state.input.charCodeAt(state.position); if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) { throwError(state, "bad indentation of a sequence entry"); } else if (state.lineIndent < nodeIndent) { break; } } if (detected) { state.tag = _tag; state.anchor = _anchor; state.kind = "sequence"; state.result = _result; return true; } return false; } function readBlockMapping(state, nodeIndent, flowIndent) { var following, allowCompact, _line, _pos, _tag = state.tag, _anchor = state.anchor, _result = {}, overridableKeys = {}, keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch; if (state.anchor !== null) { state.anchorMap[state.anchor] = _result; } ch = state.input.charCodeAt(state.position); while (ch !== 0) { following = state.input.charCodeAt(state.position + 1); _line = state.line; _pos = state.position; if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) { if (ch === 63) { if (atExplicitKey) { storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); keyTag = keyNode = valueNode = null; } detected = true; atExplicitKey = true; allowCompact = true; } else if (atExplicitKey) { atExplicitKey = false; allowCompact = true; } else { throwError(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"); } state.position += 1; ch = following; } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { if (state.line === _line) { ch = state.input.charCodeAt(state.position); while (is_WHITE_SPACE(ch)) { ch = state.input.charCodeAt(++state.position); } if (ch === 58) { ch = state.input.charCodeAt(++state.position); if (!is_WS_OR_EOL(ch)) { throwError(state, "a whitespace character is expected after the key-value separator within a block mapping"); } if (atExplicitKey) { storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); keyTag = keyNode = valueNode = null; } detected = true; atExplicitKey = false; allowCompact = false; keyTag = state.tag; keyNode = state.result; } else if (detected) { throwError(state, "can not read an implicit mapping pair; a colon is missed"); } else { state.tag = _tag; state.anchor = _anchor; return true; } } else if (detected) { throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key"); } else { state.tag = _tag; state.anchor = _anchor; return true; } } else { break; } if (state.line === _line || state.lineIndent > nodeIndent) { if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { if (atExplicitKey) { keyNode = state.result; } else { valueNode = state.result; } } if (!atExplicitKey) { storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos); keyTag = keyNode = valueNode = null; } skipSeparationSpace(state, true, -1); ch = state.input.charCodeAt(state.position); } if (state.lineIndent > nodeIndent && ch !== 0) { throwError(state, "bad indentation of a mapping entry"); } else if (state.lineIndent < nodeIndent) { break; } } if (atExplicitKey) { storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null); } if (detected) { state.tag = _tag; state.anchor = _anchor; state.kind = "mapping"; state.result = _result; } return detected; } function readTagProperty(state) { var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch; ch = state.input.charCodeAt(state.position); if (ch !== 33) return false; if (state.tag !== null) { throwError(state, "duplication of a tag property"); } ch = state.input.charCodeAt(++state.position); if (ch === 60) { isVerbatim = true; ch = state.input.charCodeAt(++state.position); } else if (ch === 33) { isNamed = true; tagHandle = "!!"; ch = state.input.charCodeAt(++state.position); } else { tagHandle = "!"; } _position = state.position; if (isVerbatim) { do { ch = state.input.charCodeAt(++state.position); } while (ch !== 0 && ch !== 62); if (state.position < state.length) { tagName = state.input.slice(_position, state.position); ch = state.input.charCodeAt(++state.position); } else { throwError(state, "unexpected end of the stream within a verbatim tag"); } } else { while (ch !== 0 && !is_WS_OR_EOL(ch)) { if (ch === 33) { if (!isNamed) { tagHandle = state.input.slice(_position - 1, state.position + 1); if (!PATTERN_TAG_HANDLE.test(tagHandle)) { throwError(state, "named tag handle cannot contain such characters"); } isNamed = true; _position = state.position + 1; } else { throwError(state, "tag suffix cannot contain exclamation marks"); } } ch = state.input.charCodeAt(++state.position); } tagName = state.input.slice(_position, state.position); if (PATTERN_FLOW_INDICATORS.test(tagName)) { throwError(state, "tag suffix cannot contain flow indicator characters"); } } if (tagName && !PATTERN_TAG_URI.test(tagName)) { throwError(state, "tag name cannot contain such characters: " + tagName); } if (isVerbatim) { state.tag = tagName; } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) { state.tag = state.tagMap[tagHandle] + tagName; } else if (tagHandle === "!") { state.tag = "!" + tagName; } else if (tagHandle === "!!") { state.tag = "tag:yaml.org,2002:" + tagName; } else { throwError(state, 'undeclared tag handle "' + tagHandle + '"'); } return true; } function readAnchorProperty(state) { var _position, ch; ch = state.input.charCodeAt(state.position); if (ch !== 38) return false; if (state.anchor !== null) { throwError(state, "duplication of an anchor property"); } ch = state.input.charCodeAt(++state.position); _position = state.position; while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { ch = state.input.charCodeAt(++state.position); } if (state.position === _position) { throwError(state, "name of an anchor node must contain at least one character"); } state.anchor = state.input.slice(_position, state.position); return true; } function readAlias(state) { var _position, alias, ch; ch = state.input.charCodeAt(state.position); if (ch !== 42) return false; ch = state.input.charCodeAt(++state.position); _position = state.position; while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { ch = state.input.charCodeAt(++state.position); } if (state.position === _position) { throwError(state, "name of an alias node must contain at least one character"); } alias = state.input.slice(_position, state.position); if (!_hasOwnProperty.call(state.anchorMap, alias)) { throwError(state, 'unidentified alias "' + alias + '"'); } state.result = state.anchorMap[alias]; skipSeparationSpace(state, true, -1); return true; } function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, type, flowIndent, blockIndent; if (state.listener !== null) { state.listener("open", state); } state.tag = null; state.anchor = null; state.kind = null; state.result = null; allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext; if (allowToSeek) { if (skipSeparationSpace(state, true, -1)) { atNewLine = true; if (state.lineIndent > parentIndent) { indentStatus = 1; } else if (state.lineIndent === parentIndent) { indentStatus = 0; } else if (state.lineIndent < parentIndent) { indentStatus = -1; } } } if (indentStatus === 1) { while (readTagProperty(state) || readAnchorProperty(state)) { if (skipSeparationSpace(state, true, -1)) { atNewLine = true; allowBlockCollections = allowBlockStyles; if (state.lineIndent > parentIndent) { indentStatus = 1; } else if (state.lineIndent === parentIndent) { indentStatus = 0; } else if (state.lineIndent < parentIndent) { indentStatus = -1; } } else { allowBlockCollections = false; } } } if (allowBlockCollections) { allowBlockCollections = atNewLine || allowCompact; } if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { flowIndent = parentIndent; } else { flowIndent = parentIndent + 1; } blockIndent = state.position - state.lineStart; if (indentStatus === 1) { if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) { hasContent = true; } else { if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) { hasContent = true; } else if (readAlias(state)) { hasContent = true; if (state.tag !== null || state.anchor !== null) { throwError(state, "alias node should not have any properties"); } } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { hasContent = true; if (state.tag === null) { state.tag = "?"; } } if (state.anchor !== null) { state.anchorMap[state.anchor] = state.result; } } } else if (indentStatus === 0) { hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); } } if (state.tag !== null && state.tag !== "!") { if (state.tag === "?") { if (state.result !== null && state.kind !== "scalar") { throwError(state, 'unacceptable node kind for !> tag; it should be "scalar", not "' + state.kind + '"'); } for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { type = state.implicitTypes[typeIndex]; if (type.resolve(state.result)) { state.result = type.construct(state.result); state.tag = type.tag; if (state.anchor !== null) { state.anchorMap[state.anchor] = state.result; } break; } } } else if (_hasOwnProperty.call(state.typeMap[state.kind || "fallback"], state.tag)) { type = state.typeMap[state.kind || "fallback"][state.tag]; if (state.result !== null && type.kind !== state.kind) { throwError(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); } if (!type.resolve(state.result)) { throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag"); } else { state.result = type.construct(state.result); if (state.anchor !== null) { state.anchorMap[state.anchor] = state.result; } } } else { throwError(state, "unknown tag !<" + state.tag + ">"); } } if (state.listener !== null) { state.listener("close", state); } return state.tag !== null || state.anchor !== null || hasContent; } function readDocument(state) { var documentStart = state.position, _position, directiveName, directiveArgs, hasDirectives = false, ch; state.version = null; state.checkLineBreaks = state.legacy; state.tagMap = {}; state.anchorMap = {}; while ((ch = state.input.charCodeAt(state.position)) !== 0) { skipSeparationSpace(state, true, -1); ch = state.input.charCodeAt(state.position); if (state.lineIndent > 0 || ch !== 37) { break; } hasDirectives = true; ch = state.input.charCodeAt(++state.position); _position = state.position; while (ch !== 0 && !is_WS_OR_EOL(ch)) { ch = state.input.charCodeAt(++state.position); } directiveName = state.input.slice(_position, state.position); directiveArgs = []; if (directiveName.length < 1) { throwError(state, "directive name must not be less than one character in length"); } while (ch !== 0) { while (is_WHITE_SPACE(ch)) { ch = state.input.charCodeAt(++state.position); } if (ch === 35) { do { ch = state.input.charCodeAt(++state.position); } while (ch !== 0 && !is_EOL(ch)); break; } if (is_EOL(ch)) break; _position = state.position; while (ch !== 0 && !is_WS_OR_EOL(ch)) { ch = state.input.charCodeAt(++state.position); } directiveArgs.push(state.input.slice(_position, state.position)); } if (ch !== 0) readLineBreak(state); if (_hasOwnProperty.call(directiveHandlers, directiveName)) { directiveHandlers[directiveName](state, directiveName, directiveArgs); } else { throwWarning(state, 'unknown document directive "' + directiveName + '"'); } } skipSeparationSpace(state, true, -1); if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) { state.position += 3; skipSeparationSpace(state, true, -1); } else if (hasDirectives) { throwError(state, "directives end mark is expected"); } composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); skipSeparationSpace(state, true, -1); if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { throwWarning(state, "non-ASCII line breaks are interpreted as content"); } state.documents.push(state.result); if (state.position === state.lineStart && testDocumentSeparator(state)) { if (state.input.charCodeAt(state.position) === 46) { state.position += 3; skipSeparationSpace(state, true, -1); } return; } if (state.position < state.length - 1) { throwError(state, "end of the stream or a document separator is expected"); } else { return; } } function loadDocuments(input, options) { input = String(input); options = options || {}; if (input.length !== 0) { if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) { input += "\n"; } if (input.charCodeAt(0) === 65279) { input = input.slice(1); } } var state = new State(input, options); var nullpos = input.indexOf("\0"); if (nullpos !== -1) { state.position = nullpos; throwError(state, "null byte is not allowed in input"); } state.input += "\0"; while (state.input.charCodeAt(state.position) === 32) { state.lineIndent += 1; state.position += 1; } while (state.position < state.length - 1) { readDocument(state); } return state.documents; } function loadAll(input, iterator, options) { if (iterator !== null && typeof iterator === "object" && typeof options === "undefined") { options = iterator; iterator = null; } var documents = loadDocuments(input, options); if (typeof iterator !== "function") { return documents; } for (var index = 0, length = documents.length; index < length; index += 1) { iterator(documents[index]); } } function load(input, options) { var documents = loadDocuments(input, options); if (documents.length === 0) { return void 0; } else if (documents.length === 1) { return documents[0]; } throw new YAMLException("expected a single document in the stream, but found more"); } function safeLoadAll(input, iterator, options) { if (typeof iterator === "object" && iterator !== null && typeof options === "undefined") { options = iterator; iterator = null; } return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); } function safeLoad(input, options) { return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); } module2.exports.loadAll = loadAll; module2.exports.load = load; module2.exports.safeLoadAll = safeLoadAll; module2.exports.safeLoad = safeLoad; } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/dumper.js var require_dumper2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml/dumper.js"(exports2, module2) { "use strict"; var common = require_common5(); var YAMLException = require_exception2(); var DEFAULT_FULL_SCHEMA = require_default_full(); var DEFAULT_SAFE_SCHEMA = require_default_safe(); var _toString = Object.prototype.toString; var _hasOwnProperty = Object.prototype.hasOwnProperty; var CHAR_TAB = 9; var CHAR_LINE_FEED = 10; var CHAR_CARRIAGE_RETURN = 13; var CHAR_SPACE = 32; var CHAR_EXCLAMATION = 33; var CHAR_DOUBLE_QUOTE = 34; var CHAR_SHARP = 35; var CHAR_PERCENT = 37; var CHAR_AMPERSAND = 38; var CHAR_SINGLE_QUOTE = 39; var CHAR_ASTERISK = 42; var CHAR_COMMA = 44; var CHAR_MINUS = 45; var CHAR_COLON = 58; var CHAR_EQUALS = 61; var CHAR_GREATER_THAN = 62; var CHAR_QUESTION = 63; var CHAR_COMMERCIAL_AT = 64; var CHAR_LEFT_SQUARE_BRACKET = 91; var CHAR_RIGHT_SQUARE_BRACKET = 93; var CHAR_GRAVE_ACCENT = 96; var CHAR_LEFT_CURLY_BRACKET = 123; var CHAR_VERTICAL_LINE = 124; var CHAR_RIGHT_CURLY_BRACKET = 125; var ESCAPE_SEQUENCES = {}; ESCAPE_SEQUENCES[0] = "\\0"; ESCAPE_SEQUENCES[7] = "\\a"; ESCAPE_SEQUENCES[8] = "\\b"; ESCAPE_SEQUENCES[9] = "\\t"; ESCAPE_SEQUENCES[10] = "\\n"; ESCAPE_SEQUENCES[11] = "\\v"; ESCAPE_SEQUENCES[12] = "\\f"; ESCAPE_SEQUENCES[13] = "\\r"; ESCAPE_SEQUENCES[27] = "\\e"; ESCAPE_SEQUENCES[34] = '\\"'; ESCAPE_SEQUENCES[92] = "\\\\"; ESCAPE_SEQUENCES[133] = "\\N"; ESCAPE_SEQUENCES[160] = "\\_"; ESCAPE_SEQUENCES[8232] = "\\L"; ESCAPE_SEQUENCES[8233] = "\\P"; var DEPRECATED_BOOLEANS_SYNTAX = [ "y", "Y", "yes", "Yes", "YES", "on", "On", "ON", "n", "N", "no", "No", "NO", "off", "Off", "OFF" ]; function compileStyleMap(schema, map) { var result2, keys, index, length, tag, style, type; if (map === null) return {}; result2 = {}; keys = Object.keys(map); for (index = 0, length = keys.length; index < length; index += 1) { tag = keys[index]; style = String(map[tag]); if (tag.slice(0, 2) === "!!") { tag = "tag:yaml.org,2002:" + tag.slice(2); } type = schema.compiledTypeMap["fallback"][tag]; if (type && _hasOwnProperty.call(type.styleAliases, style)) { style = type.styleAliases[style]; } result2[tag] = style; } return result2; } function encodeHex(character) { var string, handle, length; string = character.toString(16).toUpperCase(); if (character <= 255) { handle = "x"; length = 2; } else if (character <= 65535) { handle = "u"; length = 4; } else if (character <= 4294967295) { handle = "U"; length = 8; } else { throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF"); } return "\\" + handle + common.repeat("0", length - string.length) + string; } function State(options) { this.schema = options["schema"] || DEFAULT_FULL_SCHEMA; this.indent = Math.max(1, options["indent"] || 2); this.noArrayIndent = options["noArrayIndent"] || false; this.skipInvalid = options["skipInvalid"] || false; this.flowLevel = common.isNothing(options["flowLevel"]) ? -1 : options["flowLevel"]; this.styleMap = compileStyleMap(this.schema, options["styles"] || null); this.sortKeys = options["sortKeys"] || false; this.lineWidth = options["lineWidth"] || 80; this.noRefs = options["noRefs"] || false; this.noCompatMode = options["noCompatMode"] || false; this.condenseFlow = options["condenseFlow"] || false; this.implicitTypes = this.schema.compiledImplicit; this.explicitTypes = this.schema.compiledExplicit; this.tag = null; this.result = ""; this.duplicates = []; this.usedDuplicates = null; } function indentString(string, spaces) { var ind = common.repeat(" ", spaces), position = 0, next = -1, result2 = "", line, length = string.length; while (position < length) { next = string.indexOf("\n", position); if (next === -1) { line = string.slice(position); position = length; } else { line = string.slice(position, next + 1); position = next + 1; } if (line.length && line !== "\n") result2 += ind; result2 += line; } return result2; } function generateNextLine(state, level) { return "\n" + common.repeat(" ", state.indent * level); } function testImplicitResolving(state, str) { var index, length, type; for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { type = state.implicitTypes[index]; if (type.resolve(str)) { return true; } } return false; } function isWhitespace(c) { return c === CHAR_SPACE || c === CHAR_TAB; } function isPrintable(c) { return 32 <= c && c <= 126 || 161 <= c && c <= 55295 && c !== 8232 && c !== 8233 || 57344 <= c && c <= 65533 && c !== 65279 || 65536 <= c && c <= 1114111; } function isNsChar(c) { return isPrintable(c) && !isWhitespace(c) && c !== 65279 && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED; } function isPlainSafe(c, prev) { return isPrintable(c) && c !== 65279 && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_COLON && (c !== CHAR_SHARP || prev && isNsChar(prev)); } function isPlainSafeFirst(c) { return isPrintable(c) && c !== 65279 && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT; } function needIndentIndicator(string) { var leadingSpaceRe = /^\n* /; return leadingSpaceRe.test(string); } var STYLE_PLAIN = 1; var STYLE_SINGLE = 2; var STYLE_LITERAL = 3; var STYLE_FOLDED = 4; var STYLE_DOUBLE = 5; function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) { var i; var char, prev_char; var hasLineBreak = false; var hasFoldableLine = false; var shouldTrackWidth = lineWidth !== -1; var previousLineBreak = -1; var plain = isPlainSafeFirst(string.charCodeAt(0)) && !isWhitespace(string.charCodeAt(string.length - 1)); if (singleLineOnly) { for (i = 0; i < string.length; i++) { char = string.charCodeAt(i); if (!isPrintable(char)) { return STYLE_DOUBLE; } prev_char = i > 0 ? string.charCodeAt(i - 1) : null; plain = plain && isPlainSafe(char, prev_char); } } else { for (i = 0; i < string.length; i++) { char = string.charCodeAt(i); if (char === CHAR_LINE_FEED) { hasLineBreak = true; if (shouldTrackWidth) { hasFoldableLine = hasFoldableLine || // Foldable line = too long, and not more-indented. i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " "; previousLineBreak = i; } } else if (!isPrintable(char)) { return STYLE_DOUBLE; } prev_char = i > 0 ? string.charCodeAt(i - 1) : null; plain = plain && isPlainSafe(char, prev_char); } hasFoldableLine = hasFoldableLine || shouldTrackWidth && (i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " "); } if (!hasLineBreak && !hasFoldableLine) { return plain && !testAmbiguousType(string) ? STYLE_PLAIN : STYLE_SINGLE; } if (indentPerLevel > 9 && needIndentIndicator(string)) { return STYLE_DOUBLE; } return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; } function writeScalar(state, string, level, iskey) { state.dump = (function() { if (string.length === 0) { return "''"; } if (!state.noCompatMode && DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) { return "'" + string + "'"; } var indent = state.indent * Math.max(1, level); var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel; function testAmbiguity(string2) { return testImplicitResolving(state, string2); } switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) { case STYLE_PLAIN: return string; case STYLE_SINGLE: return "'" + string.replace(/'/g, "''") + "'"; case STYLE_LITERAL: return "|" + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent)); case STYLE_FOLDED: return ">" + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); case STYLE_DOUBLE: return '"' + escapeString(string, lineWidth) + '"'; default: throw new YAMLException("impossible error: invalid scalar style"); } })(); } function blockHeader(string, indentPerLevel) { var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ""; var clip = string[string.length - 1] === "\n"; var keep = clip && (string[string.length - 2] === "\n" || string === "\n"); var chomp = keep ? "+" : clip ? "" : "-"; return indentIndicator + chomp + "\n"; } function dropEndingNewline(string) { return string[string.length - 1] === "\n" ? string.slice(0, -1) : string; } function foldString(string, width) { var lineRe = /(\n+)([^\n]*)/g; var result2 = (function() { var nextLF = string.indexOf("\n"); nextLF = nextLF !== -1 ? nextLF : string.length; lineRe.lastIndex = nextLF; return foldLine(string.slice(0, nextLF), width); })(); var prevMoreIndented = string[0] === "\n" || string[0] === " "; var moreIndented; var match; while (match = lineRe.exec(string)) { var prefix = match[1], line = match[2]; moreIndented = line[0] === " "; result2 += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width); prevMoreIndented = moreIndented; } return result2; } function foldLine(line, width) { if (line === "" || line[0] === " ") return line; var breakRe = / [^ ]/g; var match; var start = 0, end, curr = 0, next = 0; var result2 = ""; while (match = breakRe.exec(line)) { next = match.index; if (next - start > width) { end = curr > start ? curr : next; result2 += "\n" + line.slice(start, end); start = end + 1; } curr = next; } result2 += "\n"; if (line.length - start > width && curr > start) { result2 += line.slice(start, curr) + "\n" + line.slice(curr + 1); } else { result2 += line.slice(start); } return result2.slice(1); } function escapeString(string) { var result2 = ""; var char, nextChar; var escapeSeq; for (var i = 0; i < string.length; i++) { char = string.charCodeAt(i); if (char >= 55296 && char <= 56319) { nextChar = string.charCodeAt(i + 1); if (nextChar >= 56320 && nextChar <= 57343) { result2 += encodeHex((char - 55296) * 1024 + nextChar - 56320 + 65536); i++; continue; } } escapeSeq = ESCAPE_SEQUENCES[char]; result2 += !escapeSeq && isPrintable(char) ? string[i] : escapeSeq || encodeHex(char); } return result2; } function writeFlowSequence(state, level, object) { var _result = "", _tag = state.tag, index, length; for (index = 0, length = object.length; index < length; index += 1) { if (writeNode(state, level, object[index], false, false)) { if (index !== 0) _result += "," + (!state.condenseFlow ? " " : ""); _result += state.dump; } } state.tag = _tag; state.dump = "[" + _result + "]"; } function writeBlockSequence(state, level, object, compact) { var _result = "", _tag = state.tag, index, length; for (index = 0, length = object.length; index < length; index += 1) { if (writeNode(state, level + 1, object[index], true, true)) { if (!compact || index !== 0) { _result += generateNextLine(state, level); } if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { _result += "-"; } else { _result += "- "; } _result += state.dump; } } state.tag = _tag; state.dump = _result || "[]"; } function writeFlowMapping(state, level, object) { var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, pairBuffer; for (index = 0, length = objectKeyList.length; index < length; index += 1) { pairBuffer = ""; if (index !== 0) pairBuffer += ", "; if (state.condenseFlow) pairBuffer += '"'; objectKey = objectKeyList[index]; objectValue = object[objectKey]; if (!writeNode(state, level, objectKey, false, false)) { continue; } if (state.dump.length > 1024) pairBuffer += "? "; pairBuffer += state.dump + (state.condenseFlow ? '"' : "") + ":" + (state.condenseFlow ? "" : " "); if (!writeNode(state, level, objectValue, false, false)) { continue; } pairBuffer += state.dump; _result += pairBuffer; } state.tag = _tag; state.dump = "{" + _result + "}"; } function writeBlockMapping(state, level, object, compact) { var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, explicitPair, pairBuffer; if (state.sortKeys === true) { objectKeyList.sort(); } else if (typeof state.sortKeys === "function") { objectKeyList.sort(state.sortKeys); } else if (state.sortKeys) { throw new YAMLException("sortKeys must be a boolean or a function"); } for (index = 0, length = objectKeyList.length; index < length; index += 1) { pairBuffer = ""; if (!compact || index !== 0) { pairBuffer += generateNextLine(state, level); } objectKey = objectKeyList[index]; objectValue = object[objectKey]; if (!writeNode(state, level + 1, objectKey, true, true, true)) { continue; } explicitPair = state.tag !== null && state.tag !== "?" || state.dump && state.dump.length > 1024; if (explicitPair) { if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { pairBuffer += "?"; } else { pairBuffer += "? "; } } pairBuffer += state.dump; if (explicitPair) { pairBuffer += generateNextLine(state, level); } if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { continue; } if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { pairBuffer += ":"; } else { pairBuffer += ": "; } pairBuffer += state.dump; _result += pairBuffer; } state.tag = _tag; state.dump = _result || "{}"; } function detectType(state, object, explicit) { var _result, typeList, index, length, type, style; typeList = explicit ? state.explicitTypes : state.implicitTypes; for (index = 0, length = typeList.length; index < length; index += 1) { type = typeList[index]; if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object === "object" && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) { state.tag = explicit ? type.tag : "?"; if (type.represent) { style = state.styleMap[type.tag] || type.defaultStyle; if (_toString.call(type.represent) === "[object Function]") { _result = type.represent(object, style); } else if (_hasOwnProperty.call(type.represent, style)) { _result = type.represent[style](object, style); } else { throw new YAMLException("!<" + type.tag + '> tag resolver accepts not "' + style + '" style'); } state.dump = _result; } return true; } } return false; } function writeNode(state, level, object, block, compact, iskey) { state.tag = null; state.dump = object; if (!detectType(state, object, false)) { detectType(state, object, true); } var type = _toString.call(state.dump); if (block) { block = state.flowLevel < 0 || state.flowLevel > level; } var objectOrArray = type === "[object Object]" || type === "[object Array]", duplicateIndex, duplicate; if (objectOrArray) { duplicateIndex = state.duplicates.indexOf(object); duplicate = duplicateIndex !== -1; } if (state.tag !== null && state.tag !== "?" || duplicate || state.indent !== 2 && level > 0) { compact = false; } if (duplicate && state.usedDuplicates[duplicateIndex]) { state.dump = "*ref_" + duplicateIndex; } else { if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { state.usedDuplicates[duplicateIndex] = true; } if (type === "[object Object]") { if (block && Object.keys(state.dump).length !== 0) { writeBlockMapping(state, level, state.dump, compact); if (duplicate) { state.dump = "&ref_" + duplicateIndex + state.dump; } } else { writeFlowMapping(state, level, state.dump); if (duplicate) { state.dump = "&ref_" + duplicateIndex + " " + state.dump; } } } else if (type === "[object Array]") { var arrayLevel = state.noArrayIndent && level > 0 ? level - 1 : level; if (block && state.dump.length !== 0) { writeBlockSequence(state, arrayLevel, state.dump, compact); if (duplicate) { state.dump = "&ref_" + duplicateIndex + state.dump; } } else { writeFlowSequence(state, arrayLevel, state.dump); if (duplicate) { state.dump = "&ref_" + duplicateIndex + " " + state.dump; } } } else if (type === "[object String]") { if (state.tag !== "?") { writeScalar(state, state.dump, level, iskey); } } else { if (state.skipInvalid) return false; throw new YAMLException("unacceptable kind of an object to dump " + type); } if (state.tag !== null && state.tag !== "?") { state.dump = "!<" + state.tag + "> " + state.dump; } } return true; } function getDuplicateReferences(object, state) { var objects = [], duplicatesIndexes = [], index, length; inspectNode(object, objects, duplicatesIndexes); for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { state.duplicates.push(objects[duplicatesIndexes[index]]); } state.usedDuplicates = new Array(length); } function inspectNode(object, objects, duplicatesIndexes) { var objectKeyList, index, length; if (object !== null && typeof object === "object") { index = objects.indexOf(object); if (index !== -1) { if (duplicatesIndexes.indexOf(index) === -1) { duplicatesIndexes.push(index); } } else { objects.push(object); if (Array.isArray(object)) { for (index = 0, length = object.length; index < length; index += 1) { inspectNode(object[index], objects, duplicatesIndexes); } } else { objectKeyList = Object.keys(object); for (index = 0, length = objectKeyList.length; index < length; index += 1) { inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); } } } } } function dump(input, options) { options = options || {}; var state = new State(options); if (!state.noRefs) getDuplicateReferences(input, state); if (writeNode(state, 0, input, true, true)) return state.dump + "\n"; return ""; } function safeDump(input, options) { return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); } module2.exports.dump = dump; module2.exports.safeDump = safeDump; } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml.js var require_js_yaml2 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/lib/js-yaml.js"(exports2, module2) { "use strict"; var loader = require_loader2(); var dumper = require_dumper2(); function deprecated(name) { return function() { throw new Error("Function " + name + " is deprecated and cannot be used."); }; } module2.exports.Type = require_type3(); module2.exports.Schema = require_schema2(); module2.exports.FAILSAFE_SCHEMA = require_failsafe2(); module2.exports.JSON_SCHEMA = require_json3(); module2.exports.CORE_SCHEMA = require_core4(); module2.exports.DEFAULT_SAFE_SCHEMA = require_default_safe(); module2.exports.DEFAULT_FULL_SCHEMA = require_default_full(); module2.exports.load = loader.load; module2.exports.loadAll = loader.loadAll; module2.exports.safeLoad = loader.safeLoad; module2.exports.safeLoadAll = loader.safeLoadAll; module2.exports.dump = dumper.dump; module2.exports.safeDump = dumper.safeDump; module2.exports.YAMLException = require_exception2(); module2.exports.MINIMAL_SCHEMA = require_failsafe2(); module2.exports.SAFE_SCHEMA = require_default_safe(); module2.exports.DEFAULT_SCHEMA = require_default_full(); module2.exports.scan = deprecated("scan"); module2.exports.parse = deprecated("parse"); module2.exports.compose = deprecated("compose"); module2.exports.addConstructor = deprecated("addConstructor"); } }); // ../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/index.js var require_js_yaml3 = __commonJS({ "../node_modules/.pnpm/js-yaml@3.14.2/node_modules/js-yaml/index.js"(exports2, module2) { "use strict"; var yaml = require_js_yaml2(); module2.exports = yaml; } }); // ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/syml.js var require_syml = __commonJS({ "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/syml.js"(exports2, module2) { "use strict"; function peg$subclass(child, parent) { function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); } function peg$SyntaxError(message, expected, found, location) { this.message = message; this.expected = expected; this.found = found; this.location = location; this.name = "SyntaxError"; if (typeof Error.captureStackTrace === "function") { Error.captureStackTrace(this, peg$SyntaxError); } } peg$subclass(peg$SyntaxError, Error); peg$SyntaxError.buildMessage = function(expected, found) { var DESCRIBE_EXPECTATION_FNS = { literal: function(expectation) { return '"' + literalEscape(expectation.text) + '"'; }, "class": function(expectation) { var escapedParts = "", i; for (i = 0; i < expectation.parts.length; i++) { escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]); } return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; }, any: function(expectation) { return "any character"; }, end: function(expectation) { return "end of input"; }, other: function(expectation) { return expectation.description; } }; function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); } function literalEscape(s) { return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function classEscape(s) { return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function describeExpectation(expectation) { return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); } function describeExpected(expected2) { var descriptions = new Array(expected2.length), i, j; for (i = 0; i < expected2.length; i++) { descriptions[i] = describeExpectation(expected2[i]); } descriptions.sort(); if (descriptions.length > 0) { for (i = 1, j = 1; i < descriptions.length; i++) { if (descriptions[i - 1] !== descriptions[i]) { descriptions[j] = descriptions[i]; j++; } } descriptions.length = j; } switch (descriptions.length) { case 1: return descriptions[0]; case 2: return descriptions[0] + " or " + descriptions[1]; default: return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1]; } } function describeFound(found2) { return found2 ? '"' + literalEscape(found2) + '"' : "end of input"; } return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; }; function peg$parse(input, options) { options = options !== void 0 ? options : {}; var peg$FAILED = {}, peg$startRuleFunctions = { Start: peg$parseStart }, peg$startRuleFunction = peg$parseStart, peg$c0 = function(statements) { return [].concat(...statements); }, peg$c1 = "-", peg$c2 = peg$literalExpectation("-", false), peg$c3 = function(value) { return value; }, peg$c4 = function(statements) { return Object.assign({}, ...statements); }, peg$c5 = "#", peg$c6 = peg$literalExpectation("#", false), peg$c7 = peg$anyExpectation(), peg$c8 = function() { return {}; }, peg$c9 = ":", peg$c10 = peg$literalExpectation(":", false), peg$c11 = function(property, value) { return { [property]: value }; }, peg$c12 = ",", peg$c13 = peg$literalExpectation(",", false), peg$c14 = function(property, other) { return other; }, peg$c15 = function(property, others, value) { return Object.assign({}, ...[property].concat(others).map((property2) => ({ [property2]: value }))); }, peg$c16 = function(statements) { return statements; }, peg$c17 = function(expression) { return expression; }, peg$c18 = peg$otherExpectation("correct indentation"), peg$c19 = " ", peg$c20 = peg$literalExpectation(" ", false), peg$c21 = function(spaces) { return spaces.length === indentLevel * INDENT_STEP; }, peg$c22 = function(spaces) { return spaces.length === (indentLevel + 1) * INDENT_STEP; }, peg$c23 = function() { indentLevel++; return true; }, peg$c24 = function() { indentLevel--; return true; }, peg$c25 = function() { return text(); }, peg$c26 = peg$otherExpectation("pseudostring"), peg$c27 = /^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/, peg$c28 = peg$classExpectation(["\r", "\n", " ", " ", "?", ":", ",", "]", "[", "{", "}", "#", "&", "*", "!", "|", ">", "'", '"', "%", "@", "`", "-"], true, false), peg$c29 = /^[^\r\n\t ,\][{}:#"']/, peg$c30 = peg$classExpectation(["\r", "\n", " ", " ", ",", "]", "[", "{", "}", ":", "#", '"', "'"], true, false), peg$c31 = function() { return text().replace(/^ *| *$/g, ""); }, peg$c32 = "--", peg$c33 = peg$literalExpectation("--", false), peg$c34 = /^[a-zA-Z\/0-9]/, peg$c35 = peg$classExpectation([["a", "z"], ["A", "Z"], "/", ["0", "9"]], false, false), peg$c36 = /^[^\r\n\t :,]/, peg$c37 = peg$classExpectation(["\r", "\n", " ", " ", ":", ","], true, false), peg$c38 = "null", peg$c39 = peg$literalExpectation("null", false), peg$c40 = function() { return null; }, peg$c41 = "true", peg$c42 = peg$literalExpectation("true", false), peg$c43 = function() { return true; }, peg$c44 = "false", peg$c45 = peg$literalExpectation("false", false), peg$c46 = function() { return false; }, peg$c47 = peg$otherExpectation("string"), peg$c48 = '"', peg$c49 = peg$literalExpectation('"', false), peg$c50 = function() { return ""; }, peg$c51 = function(chars) { return chars; }, peg$c52 = function(chars) { return chars.join(``); }, peg$c53 = /^[^"\\\0-\x1F\x7F]/, peg$c54 = peg$classExpectation(['"', "\\", ["\0", ""], "\x7F"], true, false), peg$c55 = '\\"', peg$c56 = peg$literalExpectation('\\"', false), peg$c57 = function() { return `"`; }, peg$c58 = "\\\\", peg$c59 = peg$literalExpectation("\\\\", false), peg$c60 = function() { return `\\`; }, peg$c61 = "\\/", peg$c62 = peg$literalExpectation("\\/", false), peg$c63 = function() { return `/`; }, peg$c64 = "\\b", peg$c65 = peg$literalExpectation("\\b", false), peg$c66 = function() { return `\b`; }, peg$c67 = "\\f", peg$c68 = peg$literalExpectation("\\f", false), peg$c69 = function() { return `\f`; }, peg$c70 = "\\n", peg$c71 = peg$literalExpectation("\\n", false), peg$c72 = function() { return ` `; }, peg$c73 = "\\r", peg$c74 = peg$literalExpectation("\\r", false), peg$c75 = function() { return `\r`; }, peg$c76 = "\\t", peg$c77 = peg$literalExpectation("\\t", false), peg$c78 = function() { return ` `; }, peg$c79 = "\\u", peg$c80 = peg$literalExpectation("\\u", false), peg$c81 = function(h1, h2, h3, h4) { return String.fromCharCode(parseInt(`0x${h1}${h2}${h3}${h4}`)); }, peg$c82 = /^[0-9a-fA-F]/, peg$c83 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "F"]], false, false), peg$c84 = peg$otherExpectation("blank space"), peg$c85 = /^[ \t]/, peg$c86 = peg$classExpectation([" ", " "], false, false), peg$c87 = peg$otherExpectation("white space"), peg$c88 = /^[ \t\n\r]/, peg$c89 = peg$classExpectation([" ", " ", "\n", "\r"], false, false), peg$c90 = "\r\n", peg$c91 = peg$literalExpectation("\r\n", false), peg$c92 = "\n", peg$c93 = peg$literalExpectation("\n", false), peg$c94 = "\r", peg$c95 = peg$literalExpectation("\r", false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result; if ("startRule" in options) { if (!(options.startRule in peg$startRuleFunctions)) { throw new Error(`Can't start parsing from rule "` + options.startRule + '".'); } peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; } function text() { return input.substring(peg$savedPos, peg$currPos); } function location() { return peg$computeLocation(peg$savedPos, peg$currPos); } function expected(description, location2) { location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos); throw peg$buildStructuredError( [peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location2 ); } function error(message, location2) { location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos); throw peg$buildSimpleError(message, location2); } function peg$literalExpectation(text2, ignoreCase) { return { type: "literal", text: text2, ignoreCase }; } function peg$classExpectation(parts, inverted, ignoreCase) { return { type: "class", parts, inverted, ignoreCase }; } function peg$anyExpectation() { return { type: "any" }; } function peg$endExpectation() { return { type: "end" }; } function peg$otherExpectation(description) { return { type: "other", description }; } function peg$computePosDetails(pos) { var details = peg$posDetailsCache[pos], p; if (details) { return details; } else { p = pos - 1; while (!peg$posDetailsCache[p]) { p--; } details = peg$posDetailsCache[p]; details = { line: details.line, column: details.column }; while (p < pos) { if (input.charCodeAt(p) === 10) { details.line++; details.column = 1; } else { details.column++; } p++; } peg$posDetailsCache[pos] = details; return details; } } function peg$computeLocation(startPos, endPos) { var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos); return { start: { offset: startPos, line: startPosDetails.line, column: startPosDetails.column }, end: { offset: endPos, line: endPosDetails.line, column: endPosDetails.column } }; } function peg$fail(expected2) { if (peg$currPos < peg$maxFailPos) { return; } if (peg$currPos > peg$maxFailPos) { peg$maxFailPos = peg$currPos; peg$maxFailExpected = []; } peg$maxFailExpected.push(expected2); } function peg$buildSimpleError(message, location2) { return new peg$SyntaxError(message, null, null, location2); } function peg$buildStructuredError(expected2, found, location2) { return new peg$SyntaxError( peg$SyntaxError.buildMessage(expected2, found), expected2, found, location2 ); } function peg$parseStart() { var s0; s0 = peg$parsePropertyStatements(); return s0; } function peg$parseItemStatements() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parseItemStatement(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parseItemStatement(); } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c0(s1); } s0 = s1; return s0; } function peg$parseItemStatement() { var s0, s1, s2, s3, s4; s0 = peg$currPos; s1 = peg$parseSamedent(); if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 45) { s2 = peg$c1; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c2); } } if (s2 !== peg$FAILED) { s3 = peg$parseB(); if (s3 !== peg$FAILED) { s4 = peg$parseExpression(); if (s4 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c3(s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parsePropertyStatements() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parsePropertyStatement(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parsePropertyStatement(); } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c4(s1); } s0 = s1; return s0; } function peg$parsePropertyStatement() { var s0, s1, s2, s3, s4, s5, s6, s7, s8; s0 = peg$currPos; s1 = peg$parseB(); if (s1 === peg$FAILED) { s1 = null; } if (s1 !== peg$FAILED) { s2 = peg$currPos; if (input.charCodeAt(peg$currPos) === 35) { s3 = peg$c5; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c6); } } if (s3 !== peg$FAILED) { s4 = []; s5 = peg$currPos; s6 = peg$currPos; peg$silentFails++; s7 = peg$parseEOL(); peg$silentFails--; if (s7 === peg$FAILED) { s6 = void 0; } else { peg$currPos = s6; s6 = peg$FAILED; } if (s6 !== peg$FAILED) { if (input.length > peg$currPos) { s7 = input.charAt(peg$currPos); peg$currPos++; } else { s7 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c7); } } if (s7 !== peg$FAILED) { s6 = [s6, s7]; s5 = s6; } else { peg$currPos = s5; s5 = peg$FAILED; } } else { peg$currPos = s5; s5 = peg$FAILED; } if (s5 !== peg$FAILED) { while (s5 !== peg$FAILED) { s4.push(s5); s5 = peg$currPos; s6 = peg$currPos; peg$silentFails++; s7 = peg$parseEOL(); peg$silentFails--; if (s7 === peg$FAILED) { s6 = void 0; } else { peg$currPos = s6; s6 = peg$FAILED; } if (s6 !== peg$FAILED) { if (input.length > peg$currPos) { s7 = input.charAt(peg$currPos); peg$currPos++; } else { s7 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c7); } } if (s7 !== peg$FAILED) { s6 = [s6, s7]; s5 = s6; } else { peg$currPos = s5; s5 = peg$FAILED; } } else { peg$currPos = s5; s5 = peg$FAILED; } } } else { s4 = peg$FAILED; } if (s4 !== peg$FAILED) { s3 = [s3, s4]; s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } if (s2 === peg$FAILED) { s2 = null; } if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parseEOL_ANY(); if (s4 !== peg$FAILED) { while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parseEOL_ANY(); } } else { s3 = peg$FAILED; } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c8(); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseSamedent(); if (s1 !== peg$FAILED) { s2 = peg$parseName(); if (s2 !== peg$FAILED) { s3 = peg$parseB(); if (s3 === peg$FAILED) { s3 = null; } if (s3 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 58) { s4 = peg$c9; peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c10); } } if (s4 !== peg$FAILED) { s5 = peg$parseB(); if (s5 === peg$FAILED) { s5 = null; } if (s5 !== peg$FAILED) { s6 = peg$parseExpression(); if (s6 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c11(s2, s6); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseSamedent(); if (s1 !== peg$FAILED) { s2 = peg$parseLegacyName(); if (s2 !== peg$FAILED) { s3 = peg$parseB(); if (s3 === peg$FAILED) { s3 = null; } if (s3 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 58) { s4 = peg$c9; peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c10); } } if (s4 !== peg$FAILED) { s5 = peg$parseB(); if (s5 === peg$FAILED) { s5 = null; } if (s5 !== peg$FAILED) { s6 = peg$parseExpression(); if (s6 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c11(s2, s6); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseSamedent(); if (s1 !== peg$FAILED) { s2 = peg$parseLegacyName(); if (s2 !== peg$FAILED) { s3 = peg$parseB(); if (s3 !== peg$FAILED) { s4 = peg$parseLegacyLiteral(); if (s4 !== peg$FAILED) { s5 = []; s6 = peg$parseEOL_ANY(); if (s6 !== peg$FAILED) { while (s6 !== peg$FAILED) { s5.push(s6); s6 = peg$parseEOL_ANY(); } } else { s5 = peg$FAILED; } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c11(s2, s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseSamedent(); if (s1 !== peg$FAILED) { s2 = peg$parseLegacyName(); if (s2 !== peg$FAILED) { s3 = []; s4 = peg$currPos; s5 = peg$parseB(); if (s5 === peg$FAILED) { s5 = null; } if (s5 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 44) { s6 = peg$c12; peg$currPos++; } else { s6 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c13); } } if (s6 !== peg$FAILED) { s7 = peg$parseB(); if (s7 === peg$FAILED) { s7 = null; } if (s7 !== peg$FAILED) { s8 = peg$parseLegacyName(); if (s8 !== peg$FAILED) { peg$savedPos = s4; s5 = peg$c14(s2, s8); s4 = s5; } else { peg$currPos = s4; s4 = peg$FAILED; } } else { peg$currPos = s4; s4 = peg$FAILED; } } else { peg$currPos = s4; s4 = peg$FAILED; } } else { peg$currPos = s4; s4 = peg$FAILED; } if (s4 !== peg$FAILED) { while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$currPos; s5 = peg$parseB(); if (s5 === peg$FAILED) { s5 = null; } if (s5 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 44) { s6 = peg$c12; peg$currPos++; } else { s6 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c13); } } if (s6 !== peg$FAILED) { s7 = peg$parseB(); if (s7 === peg$FAILED) { s7 = null; } if (s7 !== peg$FAILED) { s8 = peg$parseLegacyName(); if (s8 !== peg$FAILED) { peg$savedPos = s4; s5 = peg$c14(s2, s8); s4 = s5; } else { peg$currPos = s4; s4 = peg$FAILED; } } else { peg$currPos = s4; s4 = peg$FAILED; } } else { peg$currPos = s4; s4 = peg$FAILED; } } else { peg$currPos = s4; s4 = peg$FAILED; } } } else { s3 = peg$FAILED; } if (s3 !== peg$FAILED) { s4 = peg$parseB(); if (s4 === peg$FAILED) { s4 = null; } if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 58) { s5 = peg$c9; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c10); } } if (s5 !== peg$FAILED) { s6 = peg$parseB(); if (s6 === peg$FAILED) { s6 = null; } if (s6 !== peg$FAILED) { s7 = peg$parseExpression(); if (s7 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c15(s2, s3, s7); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } } } } return s0; } function peg$parseExpression() { var s0, s1, s2, s3, s4, s5, s6; s0 = peg$currPos; s1 = peg$currPos; peg$silentFails++; s2 = peg$currPos; s3 = peg$parseEOL(); if (s3 !== peg$FAILED) { s4 = peg$parseExtradent(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 45) { s5 = peg$c1; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c2); } } if (s5 !== peg$FAILED) { s6 = peg$parseB(); if (s6 !== peg$FAILED) { s3 = [s3, s4, s5, s6]; s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } peg$silentFails--; if (s2 !== peg$FAILED) { peg$currPos = s1; s1 = void 0; } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { s2 = peg$parseEOL_ANY(); if (s2 !== peg$FAILED) { s3 = peg$parseIndent(); if (s3 !== peg$FAILED) { s4 = peg$parseItemStatements(); if (s4 !== peg$FAILED) { s5 = peg$parseDedent(); if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c16(s4); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseEOL(); if (s1 !== peg$FAILED) { s2 = peg$parseIndent(); if (s2 !== peg$FAILED) { s3 = peg$parsePropertyStatements(); if (s3 !== peg$FAILED) { s4 = peg$parseDedent(); if (s4 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c16(s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parseLiteral(); if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parseEOL_ANY(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parseEOL_ANY(); } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c17(s1); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } } return s0; } function peg$parseSamedent() { var s0, s1, s2; peg$silentFails++; s0 = peg$currPos; s1 = []; if (input.charCodeAt(peg$currPos) === 32) { s2 = peg$c19; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c20); } } while (s2 !== peg$FAILED) { s1.push(s2); if (input.charCodeAt(peg$currPos) === 32) { s2 = peg$c19; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c20); } } } if (s1 !== peg$FAILED) { peg$savedPos = peg$currPos; s2 = peg$c21(s1); if (s2) { s2 = void 0; } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { s1 = [s1, s2]; s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c18); } } return s0; } function peg$parseExtradent() { var s0, s1, s2; s0 = peg$currPos; s1 = []; if (input.charCodeAt(peg$currPos) === 32) { s2 = peg$c19; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c20); } } while (s2 !== peg$FAILED) { s1.push(s2); if (input.charCodeAt(peg$currPos) === 32) { s2 = peg$c19; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c20); } } } if (s1 !== peg$FAILED) { peg$savedPos = peg$currPos; s2 = peg$c22(s1); if (s2) { s2 = void 0; } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { s1 = [s1, s2]; s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseIndent() { var s0; peg$savedPos = peg$currPos; s0 = peg$c23(); if (s0) { s0 = void 0; } else { s0 = peg$FAILED; } return s0; } function peg$parseDedent() { var s0; peg$savedPos = peg$currPos; s0 = peg$c24(); if (s0) { s0 = void 0; } else { s0 = peg$FAILED; } return s0; } function peg$parseName() { var s0; s0 = peg$parsestring(); if (s0 === peg$FAILED) { s0 = peg$parsepseudostring(); } return s0; } function peg$parseLegacyName() { var s0, s1, s2; s0 = peg$parsestring(); if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = []; s2 = peg$parsepseudostringLegacy(); if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parsepseudostringLegacy(); } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c25(); } s0 = s1; } return s0; } function peg$parseLiteral() { var s0; s0 = peg$parsenull(); if (s0 === peg$FAILED) { s0 = peg$parseboolean(); if (s0 === peg$FAILED) { s0 = peg$parsestring(); if (s0 === peg$FAILED) { s0 = peg$parsepseudostring(); } } } return s0; } function peg$parseLegacyLiteral() { var s0; s0 = peg$parsenull(); if (s0 === peg$FAILED) { s0 = peg$parsestring(); if (s0 === peg$FAILED) { s0 = peg$parsepseudostringLegacy(); } } return s0; } function peg$parsepseudostring() { var s0, s1, s2, s3, s4, s5; peg$silentFails++; s0 = peg$currPos; if (peg$c27.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c28); } } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$currPos; s4 = peg$parseB(); if (s4 === peg$FAILED) { s4 = null; } if (s4 !== peg$FAILED) { if (peg$c29.test(input.charAt(peg$currPos))) { s5 = input.charAt(peg$currPos); peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c30); } } if (s5 !== peg$FAILED) { s4 = [s4, s5]; s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$currPos; s4 = peg$parseB(); if (s4 === peg$FAILED) { s4 = null; } if (s4 !== peg$FAILED) { if (peg$c29.test(input.charAt(peg$currPos))) { s5 = input.charAt(peg$currPos); peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c30); } } if (s5 !== peg$FAILED) { s4 = [s4, s5]; s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c31(); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c26); } } return s0; } function peg$parsepseudostringLegacy() { var s0, s1, s2, s3, s4; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c32) { s1 = peg$c32; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c33); } } if (s1 === peg$FAILED) { s1 = null; } if (s1 !== peg$FAILED) { if (peg$c34.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c35); } } if (s2 !== peg$FAILED) { s3 = []; if (peg$c36.test(input.charAt(peg$currPos))) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c37); } } while (s4 !== peg$FAILED) { s3.push(s4); if (peg$c36.test(input.charAt(peg$currPos))) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c37); } } } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c31(); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parsenull() { var s0, s1; s0 = peg$currPos; if (input.substr(peg$currPos, 4) === peg$c38) { s1 = peg$c38; peg$currPos += 4; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c39); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c40(); } s0 = s1; return s0; } function peg$parseboolean() { var s0, s1; s0 = peg$currPos; if (input.substr(peg$currPos, 4) === peg$c41) { s1 = peg$c41; peg$currPos += 4; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c42); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c43(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 5) === peg$c44) { s1 = peg$c44; peg$currPos += 5; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c45); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c46(); } s0 = s1; } return s0; } function peg$parsestring() { var s0, s1, s2, s3; peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 34) { s1 = peg$c48; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c49); } } if (s1 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 34) { s2 = peg$c48; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c49); } } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c50(); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 34) { s1 = peg$c48; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c49); } } if (s1 !== peg$FAILED) { s2 = peg$parsechars(); if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 34) { s3 = peg$c48; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c49); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c51(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c47); } } return s0; } function peg$parsechars() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parsechar(); if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parsechar(); } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c52(s1); } s0 = s1; return s0; } function peg$parsechar() { var s0, s1, s2, s3, s4, s5; if (peg$c53.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c54); } } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c55) { s1 = peg$c55; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c56); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c57(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c58) { s1 = peg$c58; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c59); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c60(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c61) { s1 = peg$c61; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c62); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c63(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c64) { s1 = peg$c64; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c65); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c66(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c67) { s1 = peg$c67; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c68); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c69(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c70) { s1 = peg$c70; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c71); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c72(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c73) { s1 = peg$c73; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c74); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c75(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c76) { s1 = peg$c76; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c77); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c78(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c79) { s1 = peg$c79; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c80); } } if (s1 !== peg$FAILED) { s2 = peg$parsehexDigit(); if (s2 !== peg$FAILED) { s3 = peg$parsehexDigit(); if (s3 !== peg$FAILED) { s4 = peg$parsehexDigit(); if (s4 !== peg$FAILED) { s5 = peg$parsehexDigit(); if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c81(s2, s3, s4, s5); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } } } } } } } } } return s0; } function peg$parsehexDigit() { var s0; if (peg$c82.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c83); } } return s0; } function peg$parseB() { var s0, s1; peg$silentFails++; s0 = []; if (peg$c85.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c86); } } if (s1 !== peg$FAILED) { while (s1 !== peg$FAILED) { s0.push(s1); if (peg$c85.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c86); } } } } else { s0 = peg$FAILED; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c84); } } return s0; } function peg$parseS() { var s0, s1; peg$silentFails++; s0 = []; if (peg$c88.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c89); } } if (s1 !== peg$FAILED) { while (s1 !== peg$FAILED) { s0.push(s1); if (peg$c88.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c89); } } } } else { s0 = peg$FAILED; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c87); } } return s0; } function peg$parseEOL_ANY() { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; s1 = peg$parseEOL(); if (s1 !== peg$FAILED) { s2 = []; s3 = peg$currPos; s4 = peg$parseB(); if (s4 === peg$FAILED) { s4 = null; } if (s4 !== peg$FAILED) { s5 = peg$parseEOL(); if (s5 !== peg$FAILED) { s4 = [s4, s5]; s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$currPos; s4 = peg$parseB(); if (s4 === peg$FAILED) { s4 = null; } if (s4 !== peg$FAILED) { s5 = peg$parseEOL(); if (s5 !== peg$FAILED) { s4 = [s4, s5]; s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } if (s2 !== peg$FAILED) { s1 = [s1, s2]; s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseEOL() { var s0; if (input.substr(peg$currPos, 2) === peg$c90) { s0 = peg$c90; peg$currPos += 2; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c91); } } if (s0 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 10) { s0 = peg$c92; peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c93); } } if (s0 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 13) { s0 = peg$c94; peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c95); } } } } return s0; } const INDENT_STEP = 2; let indentLevel = 0; peg$result = peg$startRuleFunction(); if (peg$result !== peg$FAILED && peg$currPos === input.length) { return peg$result; } else { if (peg$result !== peg$FAILED && peg$currPos < input.length) { peg$fail(peg$endExpectation()); } throw peg$buildStructuredError( peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) ); } } module2.exports = { SyntaxError: peg$SyntaxError, parse: peg$parse }; } }); // ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/syml.js var require_syml2 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/syml.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.PreserveOrdering = void 0; exports2.stringifySyml = stringifySyml; exports2.parseSyml = parseSyml; var js_yaml_1 = require_js_yaml3(); var syml_1 = require_syml(); var simpleStringPattern = /^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/; var specialObjectKeys = [`__metadata`, `version`, `resolution`, `dependencies`, `peerDependencies`, `dependenciesMeta`, `peerDependenciesMeta`, `binaries`]; var PreserveOrdering = class { constructor(data) { this.data = data; } }; exports2.PreserveOrdering = PreserveOrdering; function stringifyString(value) { if (value.match(simpleStringPattern)) { return value; } else { return JSON.stringify(value); } } function isRemovableField(value) { if (typeof value === `undefined`) return true; if (typeof value === `object` && value !== null && !Array.isArray(value)) return Object.keys(value).every((key) => isRemovableField(value[key])); return false; } function stringifyValue(value, indentLevel, newLineIfObject) { if (value === null) return `null `; if (typeof value === `number` || typeof value === `boolean`) return `${value.toString()} `; if (typeof value === `string`) return `${stringifyString(value)} `; if (Array.isArray(value)) { if (value.length === 0) return `[] `; const indent = ` `.repeat(indentLevel); const serialized = value.map((sub) => { return `${indent}- ${stringifyValue(sub, indentLevel + 1, false)}`; }).join(``); return ` ${serialized}`; } if (typeof value === `object` && value) { const [data, sort] = value instanceof PreserveOrdering ? [value.data, false] : [value, true]; const indent = ` `.repeat(indentLevel); const keys = Object.keys(data); if (sort) { keys.sort((a, b) => { const aIndex = specialObjectKeys.indexOf(a); const bIndex = specialObjectKeys.indexOf(b); if (aIndex === -1 && bIndex === -1) return a < b ? -1 : a > b ? 1 : 0; if (aIndex !== -1 && bIndex === -1) return -1; if (aIndex === -1 && bIndex !== -1) return 1; return aIndex - bIndex; }); } const fields = keys.filter((key) => { return !isRemovableField(data[key]); }).map((key, index) => { const value2 = data[key]; const stringifiedKey = stringifyString(key); const stringifiedValue = stringifyValue(value2, indentLevel + 1, true); const recordIndentation = index > 0 || newLineIfObject ? indent : ``; const keyPart = stringifiedKey.length > 1024 ? `? ${stringifiedKey} ${recordIndentation}:` : `${stringifiedKey}:`; const valuePart = stringifiedValue.startsWith(` `) ? stringifiedValue : ` ${stringifiedValue}`; return `${recordIndentation}${keyPart}${valuePart}`; }).join(indentLevel === 0 ? ` ` : ``) || ` `; if (!newLineIfObject) { return `${fields}`; } else { return ` ${fields}`; } } throw new Error(`Unsupported value type (${value})`); } function stringifySyml(value) { try { const stringified = stringifyValue(value, 0, false); return stringified !== ` ` ? stringified : ``; } catch (error) { if (error.location) error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`); throw error; } } stringifySyml.PreserveOrdering = PreserveOrdering; function parseViaPeg(source) { if (!source.endsWith(` `)) source += ` `; return (0, syml_1.parse)(source); } var LEGACY_REGEXP = /^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i; function parseViaJsYaml(source) { if (LEGACY_REGEXP.test(source)) return parseViaPeg(source); const value = (0, js_yaml_1.safeLoad)(source, { schema: js_yaml_1.FAILSAFE_SCHEMA, json: true }); if (value === void 0 || value === null) return {}; if (typeof value !== `object`) throw new Error(`Expected an indexed object, got a ${typeof value} instead. Does your file follow Yaml's rules?`); if (Array.isArray(value)) throw new Error(`Expected an indexed object, got an array instead. Does your file follow Yaml's rules?`); return value; } function parseSyml(source) { return parseViaJsYaml(source); } } }); // ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/index.js var require_lib63 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.stringifySyml = exports2.parseSyml = exports2.stringifyResolution = exports2.parseResolution = exports2.stringifyValueArgument = exports2.stringifyShellLine = exports2.stringifyRedirectArgument = exports2.stringifyEnvSegment = exports2.stringifyCommandLineThen = exports2.stringifyCommandLine = exports2.stringifyCommandChainThen = exports2.stringifyCommandChain = exports2.stringifyCommand = exports2.stringifyArithmeticExpression = exports2.stringifyArgumentSegment = exports2.stringifyArgument = exports2.stringifyShell = exports2.parseShell = void 0; var shell_1 = require_shell2(); Object.defineProperty(exports2, "parseShell", { enumerable: true, get: function() { return shell_1.parseShell; } }); Object.defineProperty(exports2, "stringifyShell", { enumerable: true, get: function() { return shell_1.stringifyShell; } }); Object.defineProperty(exports2, "stringifyArgument", { enumerable: true, get: function() { return shell_1.stringifyArgument; } }); Object.defineProperty(exports2, "stringifyArgumentSegment", { enumerable: true, get: function() { return shell_1.stringifyArgumentSegment; } }); Object.defineProperty(exports2, "stringifyArithmeticExpression", { enumerable: true, get: function() { return shell_1.stringifyArithmeticExpression; } }); Object.defineProperty(exports2, "stringifyCommand", { enumerable: true, get: function() { return shell_1.stringifyCommand; } }); Object.defineProperty(exports2, "stringifyCommandChain", { enumerable: true, get: function() { return shell_1.stringifyCommandChain; } }); Object.defineProperty(exports2, "stringifyCommandChainThen", { enumerable: true, get: function() { return shell_1.stringifyCommandChainThen; } }); Object.defineProperty(exports2, "stringifyCommandLine", { enumerable: true, get: function() { return shell_1.stringifyCommandLine; } }); Object.defineProperty(exports2, "stringifyCommandLineThen", { enumerable: true, get: function() { return shell_1.stringifyCommandLineThen; } }); Object.defineProperty(exports2, "stringifyEnvSegment", { enumerable: true, get: function() { return shell_1.stringifyEnvSegment; } }); Object.defineProperty(exports2, "stringifyRedirectArgument", { enumerable: true, get: function() { return shell_1.stringifyRedirectArgument; } }); Object.defineProperty(exports2, "stringifyShellLine", { enumerable: true, get: function() { return shell_1.stringifyShellLine; } }); Object.defineProperty(exports2, "stringifyValueArgument", { enumerable: true, get: function() { return shell_1.stringifyValueArgument; } }); var resolution_1 = require_resolution2(); Object.defineProperty(exports2, "parseResolution", { enumerable: true, get: function() { return resolution_1.parseResolution; } }); Object.defineProperty(exports2, "stringifyResolution", { enumerable: true, get: function() { return resolution_1.stringifyResolution; } }); var syml_1 = require_syml2(); Object.defineProperty(exports2, "parseSyml", { enumerable: true, get: function() { return syml_1.parseSyml; } }); Object.defineProperty(exports2, "stringifySyml", { enumerable: true, get: function() { return syml_1.stringifySyml; } }); } }); // ../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/util.js var require_util6 = __commonJS({ "../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/util.js"(exports2, module2) { "use strict"; var stringReplaceAll = (string, substring, replacer) => { let index = string.indexOf(substring); if (index === -1) { return string; } const substringLength = substring.length; let endIndex = 0; let returnValue = ""; do { returnValue += string.substr(endIndex, index - endIndex) + substring + replacer; endIndex = index + substringLength; index = string.indexOf(substring, endIndex); } while (index !== -1); returnValue += string.substr(endIndex); return returnValue; }; var stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => { let endIndex = 0; let returnValue = ""; do { const gotCR = string[index - 1] === "\r"; returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix; endIndex = index + 1; index = string.indexOf("\n", endIndex); } while (index !== -1); returnValue += string.substr(endIndex); return returnValue; }; module2.exports = { stringReplaceAll, stringEncaseCRLFWithFirstIndex }; } }); // ../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/templates.js var require_templates2 = __commonJS({ "../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/templates.js"(exports2, module2) { "use strict"; var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi; var ESCAPES = /* @__PURE__ */ new Map([ ["n", "\n"], ["r", "\r"], ["t", " "], ["b", "\b"], ["f", "\f"], ["v", "\v"], ["0", "\0"], ["\\", "\\"], ["e", "\x1B"], ["a", "\x07"] ]); function unescape2(c) { const u = c[0] === "u"; const bracket = c[1] === "{"; if (u && !bracket && c.length === 5 || c[0] === "x" && c.length === 3) { return String.fromCharCode(parseInt(c.slice(1), 16)); } if (u && bracket) { return String.fromCodePoint(parseInt(c.slice(2, -1), 16)); } return ESCAPES.get(c) || c; } function parseArguments(name, arguments_) { const results = []; const chunks = arguments_.trim().split(/\s*,\s*/g); let matches; for (const chunk of chunks) { const number = Number(chunk); if (!Number.isNaN(number)) { results.push(number); } else if (matches = chunk.match(STRING_REGEX)) { results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape2(escape) : character)); } else { throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); } } return results; } function parseStyle(style) { STYLE_REGEX.lastIndex = 0; const results = []; let matches; while ((matches = STYLE_REGEX.exec(style)) !== null) { const name = matches[1]; if (matches[2]) { const args = parseArguments(name, matches[2]); results.push([name].concat(args)); } else { results.push([name]); } } return results; } function buildStyle(chalk, styles) { const enabled = {}; for (const layer of styles) { for (const style of layer.styles) { enabled[style[0]] = layer.inverse ? null : style.slice(1); } } let current = chalk; for (const [styleName, styles2] of Object.entries(enabled)) { if (!Array.isArray(styles2)) { continue; } if (!(styleName in current)) { throw new Error(`Unknown Chalk style: ${styleName}`); } current = styles2.length > 0 ? current[styleName](...styles2) : current[styleName]; } return current; } module2.exports = (chalk, temporary) => { const styles = []; const chunks = []; let chunk = []; temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => { if (escapeCharacter) { chunk.push(unescape2(escapeCharacter)); } else if (style) { const string = chunk.join(""); chunk = []; chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string)); styles.push({ inverse, styles: parseStyle(style) }); } else if (close) { if (styles.length === 0) { throw new Error("Found extraneous } in Chalk template literal"); } chunks.push(buildStyle(chalk, styles)(chunk.join(""))); chunk = []; styles.pop(); } else { chunk.push(character); } }); chunks.push(chunk.join("")); if (styles.length > 0) { const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`; throw new Error(errMsg); } return chunks.join(""); }; } }); // ../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/index.js var require_source2 = __commonJS({ "../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/index.js"(exports2, module2) { "use strict"; var ansiStyles = require_ansi_styles(); var { stdout: stdoutColor, stderr: stderrColor } = require_supports_color(); var { stringReplaceAll, stringEncaseCRLFWithFirstIndex } = require_util6(); var levelMapping = [ "ansi", "ansi", "ansi256", "ansi16m" ]; var styles = /* @__PURE__ */ Object.create(null); var applyOptions = (object, options = {}) => { if (options.level > 3 || options.level < 0) { throw new Error("The `level` option should be an integer from 0 to 3"); } const colorLevel = stdoutColor ? stdoutColor.level : 0; object.level = options.level === void 0 ? colorLevel : options.level; }; var ChalkClass = class { constructor(options) { return chalkFactory(options); } }; var chalkFactory = (options) => { const chalk2 = {}; applyOptions(chalk2, options); chalk2.template = (...arguments_) => chalkTag(chalk2.template, ...arguments_); Object.setPrototypeOf(chalk2, Chalk.prototype); Object.setPrototypeOf(chalk2.template, chalk2); chalk2.template.constructor = () => { throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead."); }; chalk2.template.Instance = ChalkClass; return chalk2.template; }; function Chalk(options) { return chalkFactory(options); } for (const [styleName, style] of Object.entries(ansiStyles)) { styles[styleName] = { get() { const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty); Object.defineProperty(this, styleName, { value: builder }); return builder; } }; } styles.visible = { get() { const builder = createBuilder(this, this._styler, true); Object.defineProperty(this, "visible", { value: builder }); return builder; } }; var usedModels = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"]; for (const model of usedModels) { styles[model] = { get() { const { level } = this; return function(...arguments_) { const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler); return createBuilder(this, styler, this._isEmpty); }; } }; } for (const model of usedModels) { const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); styles[bgModel] = { get() { const { level } = this; return function(...arguments_) { const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler); return createBuilder(this, styler, this._isEmpty); }; } }; } var proto = Object.defineProperties(() => { }, { ...styles, level: { enumerable: true, get() { return this._generator.level; }, set(level) { this._generator.level = level; } } }); var createStyler = (open, close, parent) => { let openAll; let closeAll; if (parent === void 0) { openAll = open; closeAll = close; } else { openAll = parent.openAll + open; closeAll = close + parent.closeAll; } return { open, close, openAll, closeAll, parent }; }; var createBuilder = (self2, _styler, _isEmpty) => { const builder = (...arguments_) => { return applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" ")); }; builder.__proto__ = proto; builder._generator = self2; builder._styler = _styler; builder._isEmpty = _isEmpty; return builder; }; var applyStyle = (self2, string) => { if (self2.level <= 0 || !string) { return self2._isEmpty ? "" : string; } let styler = self2._styler; if (styler === void 0) { return string; } const { openAll, closeAll } = styler; if (string.indexOf("\x1B") !== -1) { while (styler !== void 0) { string = stringReplaceAll(string, styler.close, styler.open); styler = styler.parent; } } const lfIndex = string.indexOf("\n"); if (lfIndex !== -1) { string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex); } return openAll + string + closeAll; }; var template; var chalkTag = (chalk2, ...strings) => { const [firstString] = strings; if (!Array.isArray(firstString)) { return strings.join(" "); } const arguments_ = strings.slice(1); const parts = [firstString.raw[0]]; for (let i = 1; i < firstString.length; i++) { parts.push( String(arguments_[i - 1]).replace(/[{}\\]/g, "\\$&"), String(firstString.raw[i]) ); } if (template === void 0) { template = require_templates2(); } return template(chalk2, parts.join("")); }; Object.defineProperties(Chalk.prototype, styles); var chalk = Chalk(); chalk.supportsColor = stdoutColor; chalk.stderr = Chalk({ level: stderrColor ? stderrColor.level : 0 }); chalk.stderr.supportsColor = stderrColor; chalk.Level = { None: 0, Basic: 1, Ansi256: 2, TrueColor: 3, 0: "None", 1: "Basic", 2: "Ansi256", 3: "TrueColor" }; module2.exports = chalk; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/constants.js var require_constants8 = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/constants.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var NODE_INITIAL = 0; var NODE_SUCCESS = 1; var NODE_ERRORED = 2; var START_OF_INPUT = ``; var END_OF_INPUT = `\0`; var HELP_COMMAND_INDEX = -1; var HELP_REGEX = /^(-h|--help)(?:=([0-9]+))?$/; var OPTION_REGEX = /^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/; var BATCH_REGEX = /^-[a-zA-Z]{2,}$/; var BINDING_REGEX = /^([^=]+)=([\s\S]*)$/; var DEBUG = process.env.DEBUG_CLI === `1`; exports2.BATCH_REGEX = BATCH_REGEX; exports2.BINDING_REGEX = BINDING_REGEX; exports2.DEBUG = DEBUG; exports2.END_OF_INPUT = END_OF_INPUT; exports2.HELP_COMMAND_INDEX = HELP_COMMAND_INDEX; exports2.HELP_REGEX = HELP_REGEX; exports2.NODE_ERRORED = NODE_ERRORED; exports2.NODE_INITIAL = NODE_INITIAL; exports2.NODE_SUCCESS = NODE_SUCCESS; exports2.OPTION_REGEX = OPTION_REGEX; exports2.START_OF_INPUT = START_OF_INPUT; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/errors.js var require_errors3 = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/errors.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var constants = require_constants8(); var UsageError = class extends Error { constructor(message) { super(message); this.clipanion = { type: `usage` }; this.name = `UsageError`; } }; var UnknownSyntaxError = class extends Error { constructor(input, candidates) { super(); this.input = input; this.candidates = candidates; this.clipanion = { type: `none` }; this.name = `UnknownSyntaxError`; if (this.candidates.length === 0) { this.message = `Command not found, but we're not sure what's the alternative.`; } else if (this.candidates.every((candidate) => candidate.reason !== null && candidate.reason === candidates[0].reason)) { const [{ reason }] = this.candidates; this.message = `${reason} ${this.candidates.map(({ usage }) => `$ ${usage}`).join(` `)}`; } else if (this.candidates.length === 1) { const [{ usage }] = this.candidates; this.message = `Command not found; did you mean: $ ${usage} ${whileRunning(input)}`; } else { this.message = `Command not found; did you mean one of: ${this.candidates.map(({ usage }, index) => { return `${`${index}.`.padStart(4)} ${usage}`; }).join(` `)} ${whileRunning(input)}`; } } }; var AmbiguousSyntaxError = class extends Error { constructor(input, usages) { super(); this.input = input; this.usages = usages; this.clipanion = { type: `none` }; this.name = `AmbiguousSyntaxError`; this.message = `Cannot find which to pick amongst the following alternatives: ${this.usages.map((usage, index) => { return `${`${index}.`.padStart(4)} ${usage}`; }).join(` `)} ${whileRunning(input)}`; } }; var whileRunning = (input) => `While running ${input.filter((token) => { return token !== constants.END_OF_INPUT; }).map((token) => { const json = JSON.stringify(token); if (token.match(/\s/) || token.length === 0 || json !== `"${token}"`) { return json; } else { return token; } }).join(` `)}`; exports2.AmbiguousSyntaxError = AmbiguousSyntaxError; exports2.UnknownSyntaxError = UnknownSyntaxError; exports2.UsageError = UsageError; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/utils.js var require_utils4 = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/utils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var errors = require_errors3(); var isOptionSymbol = Symbol(`clipanion/isOption`); function makeCommandOption(spec) { return { ...spec, [isOptionSymbol]: true }; } function rerouteArguments(a, b) { if (typeof a === `undefined`) return [a, b]; if (typeof a === `object` && a !== null && !Array.isArray(a)) { return [void 0, a]; } else { return [a, b]; } } function cleanValidationError(message, lowerCase = false) { let cleaned = message.replace(/^\.: /, ``); if (lowerCase) cleaned = cleaned[0].toLowerCase() + cleaned.slice(1); return cleaned; } function formatError(message, errors$1) { if (errors$1.length === 1) { return new errors.UsageError(`${message}: ${cleanValidationError(errors$1[0], true)}`); } else { return new errors.UsageError(`${message}: ${errors$1.map((error) => ` - ${cleanValidationError(error)}`).join(``)}`); } } function applyValidator(name, value, validator) { if (typeof validator === `undefined`) return value; const errors2 = []; const coercions = []; const coercion = (v) => { const orig = value; value = v; return coercion.bind(null, orig); }; const check = validator(value, { errors: errors2, coercions, coercion }); if (!check) throw formatError(`Invalid value for ${name}`, errors2); for (const [, op] of coercions) op(); return value; } exports2.applyValidator = applyValidator; exports2.cleanValidationError = cleanValidationError; exports2.formatError = formatError; exports2.isOptionSymbol = isOptionSymbol; exports2.makeCommandOption = makeCommandOption; exports2.rerouteArguments = rerouteArguments; } }); // ../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/index.js var require_lib64 = __commonJS({ "../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var simpleKeyRegExp = /^[a-zA-Z_][a-zA-Z0-9_]*$/; function getPrintable(value) { if (value === null) return `null`; if (value === void 0) return `undefined`; if (value === ``) return `an empty string`; if (typeof value === "symbol") return `<${value.toString()}>`; if (Array.isArray(value)) return `an array`; return JSON.stringify(value); } function getPrintableArray(value, conjunction) { if (value.length === 0) return `nothing`; if (value.length === 1) return getPrintable(value[0]); const rest = value.slice(0, -1); const trailing = value[value.length - 1]; const separator = value.length > 2 ? `, ${conjunction} ` : ` ${conjunction} `; return `${rest.map((value2) => getPrintable(value2)).join(`, `)}${separator}${getPrintable(trailing)}`; } function computeKey(state, key) { var _a, _b, _c; if (typeof key === `number`) { return `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}[${key}]`; } else if (simpleKeyRegExp.test(key)) { return `${(_b = state === null || state === void 0 ? void 0 : state.p) !== null && _b !== void 0 ? _b : ``}.${key}`; } else { return `${(_c = state === null || state === void 0 ? void 0 : state.p) !== null && _c !== void 0 ? _c : `.`}[${JSON.stringify(key)}]`; } } function plural2(n, singular, plural3) { return n === 1 ? singular : plural3; } var colorStringRegExp = /^#[0-9a-f]{6}$/i; var colorStringAlphaRegExp = /^#[0-9a-f]{6}([0-9a-f]{2})?$/i; var base64RegExp = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/; var uuid4RegExp = /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i; var iso8601RegExp = /^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/; function pushError({ errors, p } = {}, message) { errors === null || errors === void 0 ? void 0 : errors.push(`${p !== null && p !== void 0 ? p : `.`}: ${message}`); return false; } function makeSetter(target, key) { return (v) => { target[key] = v; }; } function makeCoercionFn(target, key) { return (v) => { const previous = target[key]; target[key] = v; return makeCoercionFn(target, key).bind(null, previous); }; } function makeLazyCoercionFn(fn2, orig, generator) { const commit = () => { fn2(generator()); return revert; }; const revert = () => { fn2(orig); return commit; }; return commit; } function isUnknown() { return makeValidator({ test: (value, state) => { return true; } }); } function isLiteral(expected) { return makeValidator({ test: (value, state) => { if (value !== expected) return pushError(state, `Expected ${getPrintable(expected)} (got ${getPrintable(value)})`); return true; } }); } function isString() { return makeValidator({ test: (value, state) => { if (typeof value !== `string`) return pushError(state, `Expected a string (got ${getPrintable(value)})`); return true; } }); } function isEnum(enumSpec) { const valuesArray = Array.isArray(enumSpec) ? enumSpec : Object.values(enumSpec); const isAlphaNum = valuesArray.every((item) => typeof item === "string" || typeof item === "number"); const values = new Set(valuesArray); if (values.size === 1) return isLiteral([...values][0]); return makeValidator({ test: (value, state) => { if (!values.has(value)) { if (isAlphaNum) { return pushError(state, `Expected one of ${getPrintableArray(valuesArray, `or`)} (got ${getPrintable(value)})`); } else { return pushError(state, `Expected a valid enumeration value (got ${getPrintable(value)})`); } } return true; } }); } var BOOLEAN_COERCIONS = /* @__PURE__ */ new Map([ [`true`, true], [`True`, true], [`1`, true], [1, true], [`false`, false], [`False`, false], [`0`, false], [0, false] ]); function isBoolean() { return makeValidator({ test: (value, state) => { var _a; if (typeof value !== `boolean`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); const coercion = BOOLEAN_COERCIONS.get(value); if (typeof coercion !== `undefined`) { state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]); return true; } } return pushError(state, `Expected a boolean (got ${getPrintable(value)})`); } return true; } }); } function isNumber() { return makeValidator({ test: (value, state) => { var _a; if (typeof value !== `number`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); let coercion; if (typeof value === `string`) { let val; try { val = JSON.parse(value); } catch (_b) { } if (typeof val === `number`) { if (JSON.stringify(val) === value) { coercion = val; } else { return pushError(state, `Received a number that can't be safely represented by the runtime (${value})`); } } } if (typeof coercion !== `undefined`) { state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]); return true; } } return pushError(state, `Expected a number (got ${getPrintable(value)})`); } return true; } }); } function isPayload(spec) { return makeValidator({ test: (value, state) => { var _a; if (typeof (state === null || state === void 0 ? void 0 : state.coercions) === `undefined`) return pushError(state, `The isPayload predicate can only be used with coercion enabled`); if (typeof state.coercion === `undefined`) return pushError(state, `Unbound coercion result`); if (typeof value !== `string`) return pushError(state, `Expected a string (got ${getPrintable(value)})`); let inner; try { inner = JSON.parse(value); } catch (_b) { return pushError(state, `Expected a JSON string (got ${getPrintable(value)})`); } const wrapper = { value: inner }; if (!spec(inner, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(wrapper, `value`) }))) return false; state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, wrapper.value)]); return true; } }); } function isDate() { return makeValidator({ test: (value, state) => { var _a; if (!(value instanceof Date)) { if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); let coercion; if (typeof value === `string` && iso8601RegExp.test(value)) { coercion = new Date(value); } else { let timestamp; if (typeof value === `string`) { let val; try { val = JSON.parse(value); } catch (_b) { } if (typeof val === `number`) { timestamp = val; } } else if (typeof value === `number`) { timestamp = value; } if (typeof timestamp !== `undefined`) { if (Number.isSafeInteger(timestamp) || !Number.isSafeInteger(timestamp * 1e3)) { coercion = new Date(timestamp * 1e3); } else { return pushError(state, `Received a timestamp that can't be safely represented by the runtime (${value})`); } } } if (typeof coercion !== `undefined`) { state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]); return true; } } return pushError(state, `Expected a date (got ${getPrintable(value)})`); } return true; } }); } function isArray(spec, { delimiter } = {}) { return makeValidator({ test: (value, state) => { var _a; const originalValue = value; if (typeof value === `string` && typeof delimiter !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); value = value.split(delimiter); } } if (!Array.isArray(value)) return pushError(state, `Expected an array (got ${getPrintable(value)})`); let valid = true; for (let t = 0, T = value.length; t < T; ++t) { valid = spec(value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid; if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { break; } } if (value !== originalValue) state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]); return valid; } }); } function isSet(spec, { delimiter } = {}) { const isArrayValidator = isArray(spec, { delimiter }); return makeValidator({ test: (value, state) => { var _a, _b; if (Object.getPrototypeOf(value).toString() === `[object Set]`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); const originalValues = [...value]; const coercedValues = [...value]; if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 }))) return false; const updateValue = () => coercedValues.some((val, t) => val !== originalValues[t]) ? new Set(coercedValues) : value; state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]); return true; } else { let valid = true; for (const subValue of value) { valid = spec(subValue, Object.assign({}, state)) && valid; if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { break; } } return valid; } } if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); const store = { value }; if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) }))) return false; state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Set(store.value))]); return true; } return pushError(state, `Expected a set (got ${getPrintable(value)})`); } }); } function isMap(keySpec, valueSpec) { const isArrayValidator = isArray(isTuple([keySpec, valueSpec])); const isRecordValidator = isRecord(valueSpec, { keys: keySpec }); return makeValidator({ test: (value, state) => { var _a, _b, _c; if (Object.getPrototypeOf(value).toString() === `[object Map]`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); const originalValues = [...value]; const coercedValues = [...value]; if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 }))) return false; const updateValue = () => coercedValues.some((val, t) => val[0] !== originalValues[t][0] || val[1] !== originalValues[t][1]) ? new Map(coercedValues) : value; state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]); return true; } else { let valid = true; for (const [key, subValue] of value) { valid = keySpec(key, Object.assign({}, state)) && valid; if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { break; } valid = valueSpec(subValue, Object.assign(Object.assign({}, state), { p: computeKey(state, key) })) && valid; if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { break; } } return valid; } } if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); const store = { value }; if (Array.isArray(value)) { if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 }))) return false; state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(store.value))]); return true; } else { if (!isRecordValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) }))) return false; state.coercions.push([(_c = state.p) !== null && _c !== void 0 ? _c : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(Object.entries(store.value)))]); return true; } } return pushError(state, `Expected a map (got ${getPrintable(value)})`); } }); } function isTuple(spec, { delimiter } = {}) { const lengthValidator = hasExactLength(spec.length); return makeValidator({ test: (value, state) => { var _a; if (typeof value === `string` && typeof delimiter !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); value = value.split(delimiter); state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]); } } if (!Array.isArray(value)) return pushError(state, `Expected a tuple (got ${getPrintable(value)})`); let valid = lengthValidator(value, Object.assign({}, state)); for (let t = 0, T = value.length; t < T && t < spec.length; ++t) { valid = spec[t](value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid; if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { break; } } return valid; } }); } function isRecord(spec, { keys: keySpec = null } = {}) { const isArrayValidator = isArray(isTuple([keySpec !== null && keySpec !== void 0 ? keySpec : isString(), spec])); return makeValidator({ test: (value, state) => { var _a; if (Array.isArray(value)) { if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 }))) return false; value = Object.fromEntries(value); state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]); return true; } } if (typeof value !== `object` || value === null) return pushError(state, `Expected an object (got ${getPrintable(value)})`); const keys = Object.keys(value); let valid = true; for (let t = 0, T = keys.length; t < T && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null); ++t) { const key = keys[t]; const sub = value[key]; if (key === `__proto__` || key === `constructor`) { valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`); continue; } if (keySpec !== null && !keySpec(key, state)) { valid = false; continue; } if (!spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) }))) { valid = false; continue; } } return valid; } }); } function isDict(spec, opts = {}) { return isRecord(spec, opts); } function isObject(props, { extra: extraSpec = null } = {}) { const specKeys = Object.keys(props); const validator = makeValidator({ test: (value, state) => { if (typeof value !== `object` || value === null) return pushError(state, `Expected an object (got ${getPrintable(value)})`); const keys = /* @__PURE__ */ new Set([...specKeys, ...Object.keys(value)]); const extra = {}; let valid = true; for (const key of keys) { if (key === `constructor` || key === `__proto__`) { valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`); } else { const spec = Object.prototype.hasOwnProperty.call(props, key) ? props[key] : void 0; const sub = Object.prototype.hasOwnProperty.call(value, key) ? value[key] : void 0; if (typeof spec !== `undefined`) { valid = spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) })) && valid; } else if (extraSpec === null) { valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Extraneous property (got ${getPrintable(sub)})`); } else { Object.defineProperty(extra, key, { enumerable: true, get: () => sub, set: makeSetter(value, key) }); } } if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) { break; } } if (extraSpec !== null && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null)) valid = extraSpec(extra, state) && valid; return valid; } }); return Object.assign(validator, { properties: props }); } function isPartial(props) { return isObject(props, { extra: isRecord(isUnknown()) }); } var isInstanceOf = (constructor) => makeValidator({ test: (value, state) => { if (!(value instanceof constructor)) return pushError(state, `Expected an instance of ${constructor.name} (got ${getPrintable(value)})`); return true; } }); var isOneOf = (specs, { exclusive = false } = {}) => makeValidator({ test: (value, state) => { var _a, _b, _c; const matches = []; const errorBuffer = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0; for (let t = 0, T = specs.length; t < T; ++t) { const subErrors = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0; const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0; if (specs[t](value, Object.assign(Object.assign({}, state), { errors: subErrors, coercions: subCoercions, p: `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}#${t + 1}` }))) { matches.push([`#${t + 1}`, subCoercions]); if (!exclusive) { break; } } else { errorBuffer === null || errorBuffer === void 0 ? void 0 : errorBuffer.push(subErrors[0]); } } if (matches.length === 1) { const [, subCoercions] = matches[0]; if (typeof subCoercions !== `undefined`) (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions); return true; } if (matches.length > 1) pushError(state, `Expected to match exactly a single predicate (matched ${matches.join(`, `)})`); else (_c = state === null || state === void 0 ? void 0 : state.errors) === null || _c === void 0 ? void 0 : _c.push(...errorBuffer); return false; } }); function makeTrait(value) { return () => { return value; }; } function makeValidator({ test }) { return makeTrait(test)(); } var TypeAssertionError = class extends Error { constructor({ errors } = {}) { let errorMessage = `Type mismatch`; if (errors && errors.length > 0) { errorMessage += ` `; for (const error of errors) { errorMessage += ` - ${error}`; } } super(errorMessage); } }; function assert(val, validator) { if (!validator(val)) { throw new TypeAssertionError(); } } function assertWithErrors(val, validator) { const errors = []; if (!validator(val, { errors })) { throw new TypeAssertionError({ errors }); } } function softAssert(val, validator) { } function as(value, validator, { coerce = false, errors: storeErrors, throw: throws } = {}) { const errors = storeErrors ? [] : void 0; if (!coerce) { if (validator(value, { errors })) { return throws ? value : { value, errors: void 0 }; } else if (!throws) { return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true }; } else { throw new TypeAssertionError({ errors }); } } const state = { value }; const coercion = makeCoercionFn(state, `value`); const coercions = []; if (!validator(value, { errors, coercion, coercions })) { if (!throws) { return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true }; } else { throw new TypeAssertionError({ errors }); } } for (const [, apply] of coercions) apply(); if (throws) { return state.value; } else { return { value: state.value, errors: void 0 }; } } function fn(validators, fn2) { const isValidArgList = isTuple(validators); return ((...args) => { const check = isValidArgList(args); if (!check) throw new TypeAssertionError(); return fn2(...args); }); } function hasMinLength(length) { return makeValidator({ test: (value, state) => { if (!(value.length >= length)) return pushError(state, `Expected to have a length of at least ${length} elements (got ${value.length})`); return true; } }); } function hasMaxLength(length) { return makeValidator({ test: (value, state) => { if (!(value.length <= length)) return pushError(state, `Expected to have a length of at most ${length} elements (got ${value.length})`); return true; } }); } function hasExactLength(length) { return makeValidator({ test: (value, state) => { if (!(value.length === length)) return pushError(state, `Expected to have a length of exactly ${length} elements (got ${value.length})`); return true; } }); } function hasUniqueItems({ map } = {}) { return makeValidator({ test: (value, state) => { const set = /* @__PURE__ */ new Set(); const dup = /* @__PURE__ */ new Set(); for (let t = 0, T = value.length; t < T; ++t) { const sub = value[t]; const key = typeof map !== `undefined` ? map(sub) : sub; if (set.has(key)) { if (dup.has(key)) continue; pushError(state, `Expected to contain unique elements; got a duplicate with ${getPrintable(value)}`); dup.add(key); } else { set.add(key); } } return dup.size === 0; } }); } function isNegative() { return makeValidator({ test: (value, state) => { if (!(value <= 0)) return pushError(state, `Expected to be negative (got ${value})`); return true; } }); } function isPositive() { return makeValidator({ test: (value, state) => { if (!(value >= 0)) return pushError(state, `Expected to be positive (got ${value})`); return true; } }); } function isAtLeast(n) { return makeValidator({ test: (value, state) => { if (!(value >= n)) return pushError(state, `Expected to be at least ${n} (got ${value})`); return true; } }); } function isAtMost(n) { return makeValidator({ test: (value, state) => { if (!(value <= n)) return pushError(state, `Expected to be at most ${n} (got ${value})`); return true; } }); } function isInInclusiveRange(a, b) { return makeValidator({ test: (value, state) => { if (!(value >= a && value <= b)) return pushError(state, `Expected to be in the [${a}; ${b}] range (got ${value})`); return true; } }); } function isInExclusiveRange(a, b) { return makeValidator({ test: (value, state) => { if (!(value >= a && value < b)) return pushError(state, `Expected to be in the [${a}; ${b}[ range (got ${value})`); return true; } }); } function isInteger({ unsafe = false } = {}) { return makeValidator({ test: (value, state) => { if (value !== Math.round(value)) return pushError(state, `Expected to be an integer (got ${value})`); if (!unsafe && !Number.isSafeInteger(value)) return pushError(state, `Expected to be a safe integer (got ${value})`); return true; } }); } function matchesRegExp(regExp) { return makeValidator({ test: (value, state) => { if (!regExp.test(value)) return pushError(state, `Expected to match the pattern ${regExp.toString()} (got ${getPrintable(value)})`); return true; } }); } function isLowerCase() { return makeValidator({ test: (value, state) => { if (value !== value.toLowerCase()) return pushError(state, `Expected to be all-lowercase (got ${value})`); return true; } }); } function isUpperCase() { return makeValidator({ test: (value, state) => { if (value !== value.toUpperCase()) return pushError(state, `Expected to be all-uppercase (got ${value})`); return true; } }); } function isUUID4() { return makeValidator({ test: (value, state) => { if (!uuid4RegExp.test(value)) return pushError(state, `Expected to be a valid UUID v4 (got ${getPrintable(value)})`); return true; } }); } function isISO8601() { return makeValidator({ test: (value, state) => { if (!iso8601RegExp.test(value)) return pushError(state, `Expected to be a valid ISO 8601 date string (got ${getPrintable(value)})`); return true; } }); } function isHexColor({ alpha = false }) { return makeValidator({ test: (value, state) => { const res = alpha ? colorStringRegExp.test(value) : colorStringAlphaRegExp.test(value); if (!res) return pushError(state, `Expected to be a valid hexadecimal color string (got ${getPrintable(value)})`); return true; } }); } function isBase64() { return makeValidator({ test: (value, state) => { if (!base64RegExp.test(value)) return pushError(state, `Expected to be a valid base 64 string (got ${getPrintable(value)})`); return true; } }); } function isJSON(spec = isUnknown()) { return makeValidator({ test: (value, state) => { let data; try { data = JSON.parse(value); } catch (_a) { return pushError(state, `Expected to be a valid JSON string (got ${getPrintable(value)})`); } return spec(data, state); } }); } function cascade(spec, ...followups) { const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups; return makeValidator({ test: (value, state) => { var _a, _b; const context = { value }; const subCoercion = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? makeCoercionFn(context, `value`) : void 0; const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0; if (!spec(value, Object.assign(Object.assign({}, state), { coercion: subCoercion, coercions: subCoercions }))) return false; const reverts = []; if (typeof subCoercions !== `undefined`) for (const [, coercion] of subCoercions) reverts.push(coercion()); try { if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) { if (context.value !== value) { if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`) return pushError(state, `Unbound coercion result`); state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, context.value)]); } (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions); } return resolvedFollowups.every((spec2) => { return spec2(context.value, state); }); } finally { for (const revert of reverts) { revert(); } } } }); } function applyCascade(spec, ...followups) { const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups; return cascade(spec, resolvedFollowups); } function isOptional(spec) { return makeValidator({ test: (value, state) => { if (typeof value === `undefined`) return true; return spec(value, state); } }); } function isNullable(spec) { return makeValidator({ test: (value, state) => { if (value === null) return true; return spec(value, state); } }); } var checks = { missing: (keys, key) => keys.has(key), undefined: (keys, key, value) => keys.has(key) && typeof value[key] !== `undefined`, nil: (keys, key, value) => keys.has(key) && value[key] != null, falsy: (keys, key, value) => keys.has(key) && !!value[key] }; function hasRequiredKeys(requiredKeys, options) { var _a; const requiredSet = new Set(requiredKeys); const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"]; return makeValidator({ test: (value, state) => { const keys = new Set(Object.keys(value)); const problems = []; for (const key of requiredSet) if (!check(keys, key, value)) problems.push(key); if (problems.length > 0) return pushError(state, `Missing required ${plural2(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`); return true; } }); } function hasAtLeastOneKey(requiredKeys, options) { var _a; const requiredSet = new Set(requiredKeys); const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"]; return makeValidator({ test: (value, state) => { const keys = Object.keys(value); const valid = keys.some((key) => check(requiredSet, key, value)); if (!valid) return pushError(state, `Missing at least one property from ${getPrintableArray(Array.from(requiredSet), `or`)}`); return true; } }); } function hasForbiddenKeys(forbiddenKeys, options) { var _a; const forbiddenSet = new Set(forbiddenKeys); const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"]; return makeValidator({ test: (value, state) => { const keys = new Set(Object.keys(value)); const problems = []; for (const key of forbiddenSet) if (check(keys, key, value)) problems.push(key); if (problems.length > 0) return pushError(state, `Forbidden ${plural2(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`); return true; } }); } function hasMutuallyExclusiveKeys(exclusiveKeys, options) { var _a; const exclusiveSet = new Set(exclusiveKeys); const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"]; return makeValidator({ test: (value, state) => { const keys = new Set(Object.keys(value)); const used = []; for (const key of exclusiveSet) if (check(keys, key, value)) used.push(key); if (used.length > 1) return pushError(state, `Mutually exclusive properties ${getPrintableArray(used, `and`)}`); return true; } }); } (function(KeyRelationship) { KeyRelationship["Forbids"] = "Forbids"; KeyRelationship["Requires"] = "Requires"; })(exports2.KeyRelationship || (exports2.KeyRelationship = {})); var keyRelationships = { [exports2.KeyRelationship.Forbids]: { expect: false, message: `forbids using` }, [exports2.KeyRelationship.Requires]: { expect: true, message: `requires using` } }; function hasKeyRelationship(subject, relationship, others, options) { var _a, _b; const skipped = new Set((_a = options === null || options === void 0 ? void 0 : options.ignore) !== null && _a !== void 0 ? _a : []); const check = checks[(_b = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _b !== void 0 ? _b : "missing"]; const otherSet = new Set(others); const spec = keyRelationships[relationship]; const conjunction = relationship === exports2.KeyRelationship.Forbids ? `or` : `and`; return makeValidator({ test: (value, state) => { const keys = new Set(Object.keys(value)); if (!check(keys, subject, value) || skipped.has(value[subject])) return true; const problems = []; for (const key of otherSet) if ((check(keys, key, value) && !skipped.has(value[key])) !== spec.expect) problems.push(key); if (problems.length >= 1) return pushError(state, `Property "${subject}" ${spec.message} ${plural2(problems.length, `property`, `properties`)} ${getPrintableArray(problems, conjunction)}`); return true; } }); } exports2.TypeAssertionError = TypeAssertionError; exports2.applyCascade = applyCascade; exports2.as = as; exports2.assert = assert; exports2.assertWithErrors = assertWithErrors; exports2.cascade = cascade; exports2.fn = fn; exports2.hasAtLeastOneKey = hasAtLeastOneKey; exports2.hasExactLength = hasExactLength; exports2.hasForbiddenKeys = hasForbiddenKeys; exports2.hasKeyRelationship = hasKeyRelationship; exports2.hasMaxLength = hasMaxLength; exports2.hasMinLength = hasMinLength; exports2.hasMutuallyExclusiveKeys = hasMutuallyExclusiveKeys; exports2.hasRequiredKeys = hasRequiredKeys; exports2.hasUniqueItems = hasUniqueItems; exports2.isArray = isArray; exports2.isAtLeast = isAtLeast; exports2.isAtMost = isAtMost; exports2.isBase64 = isBase64; exports2.isBoolean = isBoolean; exports2.isDate = isDate; exports2.isDict = isDict; exports2.isEnum = isEnum; exports2.isHexColor = isHexColor; exports2.isISO8601 = isISO8601; exports2.isInExclusiveRange = isInExclusiveRange; exports2.isInInclusiveRange = isInInclusiveRange; exports2.isInstanceOf = isInstanceOf; exports2.isInteger = isInteger; exports2.isJSON = isJSON; exports2.isLiteral = isLiteral; exports2.isLowerCase = isLowerCase; exports2.isMap = isMap; exports2.isNegative = isNegative; exports2.isNullable = isNullable; exports2.isNumber = isNumber; exports2.isObject = isObject; exports2.isOneOf = isOneOf; exports2.isOptional = isOptional; exports2.isPartial = isPartial; exports2.isPayload = isPayload; exports2.isPositive = isPositive; exports2.isRecord = isRecord; exports2.isSet = isSet; exports2.isString = isString; exports2.isTuple = isTuple; exports2.isUUID4 = isUUID4; exports2.isUnknown = isUnknown; exports2.isUpperCase = isUpperCase; exports2.makeTrait = makeTrait; exports2.makeValidator = makeValidator; exports2.matchesRegExp = matchesRegExp; exports2.softAssert = softAssert; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/Command.js var require_Command = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/Command.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils4(); function _interopNamespace(e) { if (e && e.__esModule) return e; var n = /* @__PURE__ */ Object.create(null); if (e) { Object.keys(e).forEach(function(k) { if (k !== "default") { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function() { return e[k]; } }); } }); } n["default"] = e; return Object.freeze(n); } var Command = class { constructor() { this.help = false; } /** * Defines the usage information for the given command. */ static Usage(usage) { return usage; } /** * Standard error handler which will simply rethrow the error. Can be used * to add custom logic to handle errors from the command or simply return * the parent class error handling. */ async catch(error) { throw error; } async validateAndExecute() { const commandClass = this.constructor; const cascade = commandClass.schema; if (Array.isArray(cascade)) { const { isDict, isUnknown, applyCascade } = await Promise.resolve().then(function() { return /* @__PURE__ */ _interopNamespace(require_lib64()); }); const schema = applyCascade(isDict(isUnknown()), cascade); const errors = []; const coercions = []; const check = schema(this, { errors, coercions }); if (!check) throw utils.formatError(`Invalid option schema`, errors); for (const [, op] of coercions) { op(); } } else if (cascade != null) { throw new Error(`Invalid command schema`); } const exitCode = await this.execute(); if (typeof exitCode !== `undefined`) { return exitCode; } else { return 0; } } }; Command.isOption = utils.isOptionSymbol; Command.Default = []; exports2.Command = Command; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/format.js var require_format2 = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/format.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var MAX_LINE_LENGTH = 80; var richLine = Array(MAX_LINE_LENGTH).fill(`\u2501`); for (let t = 0; t <= 24; ++t) richLine[richLine.length - t] = `\x1B[38;5;${232 + t}m\u2501`; var richFormat = { header: (str) => `\x1B[1m\u2501\u2501\u2501 ${str}${str.length < MAX_LINE_LENGTH - 5 ? ` ${richLine.slice(str.length + 5).join(``)}` : `:`}\x1B[0m`, bold: (str) => `\x1B[1m${str}\x1B[22m`, error: (str) => `\x1B[31m\x1B[1m${str}\x1B[22m\x1B[39m`, code: (str) => `\x1B[36m${str}\x1B[39m` }; var textFormat = { header: (str) => str, bold: (str) => str, error: (str) => str, code: (str) => str }; function dedent(text) { const lines = text.split(` `); const nonEmptyLines = lines.filter((line) => line.match(/\S/)); const indent = nonEmptyLines.length > 0 ? nonEmptyLines.reduce((minLength, line) => Math.min(minLength, line.length - line.trimStart().length), Number.MAX_VALUE) : 0; return lines.map((line) => line.slice(indent).trimRight()).join(` `); } function formatMarkdownish(text, { format, paragraphs }) { text = text.replace(/\r\n?/g, ` `); text = dedent(text); text = text.replace(/^\n+|\n+$/g, ``); text = text.replace(/^(\s*)-([^\n]*?)\n+/gm, `$1-$2 `); text = text.replace(/\n(\n)?\n*/g, ($0, $1) => $1 ? $1 : ` `); if (paragraphs) { text = text.split(/\n/).map((paragraph) => { const bulletMatch = paragraph.match(/^\s*[*-][\t ]+(.*)/); if (!bulletMatch) return paragraph.match(/(.{1,80})(?: |$)/g).join(` `); const indent = paragraph.length - paragraph.trimStart().length; return bulletMatch[1].match(new RegExp(`(.{1,${78 - indent}})(?: |$)`, `g`)).map((line, index) => { return ` `.repeat(indent) + (index === 0 ? `- ` : ` `) + line; }).join(` `); }).join(` `); } text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => { return format.code($1 + $2 + $1); }); text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => { return format.bold($1 + $2 + $1); }); return text ? `${text} ` : ``; } exports2.formatMarkdownish = formatMarkdownish; exports2.richFormat = richFormat; exports2.textFormat = textFormat; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/core.js var require_core5 = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/core.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var constants = require_constants8(); var errors = require_errors3(); function debug(str) { if (constants.DEBUG) { console.log(str); } } var basicHelpState = { candidateUsage: null, requiredOptions: [], errorMessage: null, ignoreOptions: false, path: [], positionals: [], options: [], remainder: null, selectedIndex: constants.HELP_COMMAND_INDEX }; function makeStateMachine() { return { nodes: [makeNode(), makeNode(), makeNode()] }; } function makeAnyOfMachine(inputs) { const output = makeStateMachine(); const heads = []; let offset = output.nodes.length; for (const input of inputs) { heads.push(offset); for (let t = 0; t < input.nodes.length; ++t) if (!isTerminalNode(t)) output.nodes.push(cloneNode(input.nodes[t], offset)); offset += input.nodes.length - 2; } for (const head of heads) registerShortcut(output, constants.NODE_INITIAL, head); return output; } function injectNode(machine, node) { machine.nodes.push(node); return machine.nodes.length - 1; } function simplifyMachine(input) { const visited = /* @__PURE__ */ new Set(); const process2 = (node) => { if (visited.has(node)) return; visited.add(node); const nodeDef = input.nodes[node]; for (const transitions of Object.values(nodeDef.statics)) for (const { to } of transitions) process2(to); for (const [, { to }] of nodeDef.dynamics) process2(to); for (const { to } of nodeDef.shortcuts) process2(to); const shortcuts = new Set(nodeDef.shortcuts.map(({ to }) => to)); while (nodeDef.shortcuts.length > 0) { const { to } = nodeDef.shortcuts.shift(); const toDef = input.nodes[to]; for (const [segment, transitions] of Object.entries(toDef.statics)) { const store = !Object.prototype.hasOwnProperty.call(nodeDef.statics, segment) ? nodeDef.statics[segment] = [] : nodeDef.statics[segment]; for (const transition of transitions) { if (!store.some(({ to: to2 }) => transition.to === to2)) { store.push(transition); } } } for (const [test, transition] of toDef.dynamics) if (!nodeDef.dynamics.some(([otherTest, { to: to2 }]) => test === otherTest && transition.to === to2)) nodeDef.dynamics.push([test, transition]); for (const transition of toDef.shortcuts) { if (!shortcuts.has(transition.to)) { nodeDef.shortcuts.push(transition); shortcuts.add(transition.to); } } } }; process2(constants.NODE_INITIAL); } function debugMachine(machine, { prefix = `` } = {}) { if (constants.DEBUG) { debug(`${prefix}Nodes are:`); for (let t = 0; t < machine.nodes.length; ++t) { debug(`${prefix} ${t}: ${JSON.stringify(machine.nodes[t])}`); } } } function runMachineInternal(machine, input, partial = false) { debug(`Running a vm on ${JSON.stringify(input)}`); let branches = [{ node: constants.NODE_INITIAL, state: { candidateUsage: null, requiredOptions: [], errorMessage: null, ignoreOptions: false, options: [], path: [], positionals: [], remainder: null, selectedIndex: null } }]; debugMachine(machine, { prefix: ` ` }); const tokens = [constants.START_OF_INPUT, ...input]; for (let t = 0; t < tokens.length; ++t) { const segment = tokens[t]; debug(` Processing ${JSON.stringify(segment)}`); const nextBranches = []; for (const { node, state } of branches) { debug(` Current node is ${node}`); const nodeDef = machine.nodes[node]; if (node === constants.NODE_ERRORED) { nextBranches.push({ node, state }); continue; } console.assert(nodeDef.shortcuts.length === 0, `Shortcuts should have been eliminated by now`); const hasExactMatch = Object.prototype.hasOwnProperty.call(nodeDef.statics, segment); if (!partial || t < tokens.length - 1 || hasExactMatch) { if (hasExactMatch) { const transitions = nodeDef.statics[segment]; for (const { to, reducer } of transitions) { nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state }); debug(` Static transition to ${to} found`); } } else { debug(` No static transition found`); } } else { let hasMatches = false; for (const candidate of Object.keys(nodeDef.statics)) { if (!candidate.startsWith(segment)) continue; if (segment === candidate) { for (const { to, reducer } of nodeDef.statics[candidate]) { nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state }); debug(` Static transition to ${to} found`); } } else { for (const { to } of nodeDef.statics[candidate]) { nextBranches.push({ node: to, state: { ...state, remainder: candidate.slice(segment.length) } }); debug(` Static transition to ${to} found (partial match)`); } } hasMatches = true; } if (!hasMatches) { debug(` No partial static transition found`); } } if (segment !== constants.END_OF_INPUT) { for (const [test, { to, reducer }] of nodeDef.dynamics) { if (execute(tests, test, state, segment)) { nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state }); debug(` Dynamic transition to ${to} found (via ${test})`); } } } } if (nextBranches.length === 0 && segment === constants.END_OF_INPUT && input.length === 1) { return [{ node: constants.NODE_INITIAL, state: basicHelpState }]; } if (nextBranches.length === 0) { throw new errors.UnknownSyntaxError(input, branches.filter(({ node }) => { return node !== constants.NODE_ERRORED; }).map(({ state }) => { return { usage: state.candidateUsage, reason: null }; })); } if (nextBranches.every(({ node }) => node === constants.NODE_ERRORED)) { throw new errors.UnknownSyntaxError(input, nextBranches.map(({ state }) => { return { usage: state.candidateUsage, reason: state.errorMessage }; })); } branches = trimSmallerBranches(nextBranches); } if (branches.length > 0) { debug(` Results:`); for (const branch of branches) { debug(` - ${branch.node} -> ${JSON.stringify(branch.state)}`); } } else { debug(` No results`); } return branches; } function checkIfNodeIsFinished(node, state) { if (state.selectedIndex !== null) return true; if (Object.prototype.hasOwnProperty.call(node.statics, constants.END_OF_INPUT)) { for (const { to } of node.statics[constants.END_OF_INPUT]) if (to === constants.NODE_SUCCESS) return true; } return false; } function suggestMachine(machine, input, partial) { const prefix = partial && input.length > 0 ? [``] : []; const branches = runMachineInternal(machine, input, partial); const suggestions = []; const suggestionsJson = /* @__PURE__ */ new Set(); const traverseSuggestion = (suggestion, node, skipFirst = true) => { let nextNodes = [node]; while (nextNodes.length > 0) { const currentNodes = nextNodes; nextNodes = []; for (const node2 of currentNodes) { const nodeDef = machine.nodes[node2]; const keys = Object.keys(nodeDef.statics); for (const key of Object.keys(nodeDef.statics)) { const segment = keys[0]; for (const { to, reducer } of nodeDef.statics[segment]) { if (reducer !== `pushPath`) continue; if (!skipFirst) suggestion.push(segment); nextNodes.push(to); } } } skipFirst = false; } const json = JSON.stringify(suggestion); if (suggestionsJson.has(json)) return; suggestions.push(suggestion); suggestionsJson.add(json); }; for (const { node, state } of branches) { if (state.remainder !== null) { traverseSuggestion([state.remainder], node); continue; } const nodeDef = machine.nodes[node]; const isFinished = checkIfNodeIsFinished(nodeDef, state); for (const [candidate, transitions] of Object.entries(nodeDef.statics)) if (isFinished && candidate !== constants.END_OF_INPUT || !candidate.startsWith(`-`) && transitions.some(({ reducer }) => reducer === `pushPath`)) traverseSuggestion([...prefix, candidate], node); if (!isFinished) continue; for (const [test, { to }] of nodeDef.dynamics) { if (to === constants.NODE_ERRORED) continue; const tokens = suggest(test, state); if (tokens === null) continue; for (const token of tokens) { traverseSuggestion([...prefix, token], node); } } } return [...suggestions].sort(); } function runMachine(machine, input) { const branches = runMachineInternal(machine, [...input, constants.END_OF_INPUT]); return selectBestState(input, branches.map(({ state }) => { return state; })); } function trimSmallerBranches(branches) { let maxPathSize = 0; for (const { state } of branches) if (state.path.length > maxPathSize) maxPathSize = state.path.length; return branches.filter(({ state }) => { return state.path.length === maxPathSize; }); } function selectBestState(input, states) { const terminalStates = states.filter((state) => { return state.selectedIndex !== null; }); if (terminalStates.length === 0) throw new Error(); const requiredOptionsSetStates = terminalStates.filter((state) => state.requiredOptions.every((names) => names.some((name) => state.options.find((opt) => opt.name === name)))); if (requiredOptionsSetStates.length === 0) { throw new errors.UnknownSyntaxError(input, terminalStates.map((state) => ({ usage: state.candidateUsage, reason: null }))); } let maxPathSize = 0; for (const state of requiredOptionsSetStates) if (state.path.length > maxPathSize) maxPathSize = state.path.length; const bestPathBranches = requiredOptionsSetStates.filter((state) => { return state.path.length === maxPathSize; }); const getPositionalCount = (state) => state.positionals.filter(({ extra }) => { return !extra; }).length + state.options.length; const statesWithPositionalCount = bestPathBranches.map((state) => { return { state, positionalCount: getPositionalCount(state) }; }); let maxPositionalCount = 0; for (const { positionalCount } of statesWithPositionalCount) if (positionalCount > maxPositionalCount) maxPositionalCount = positionalCount; const bestPositionalStates = statesWithPositionalCount.filter(({ positionalCount }) => { return positionalCount === maxPositionalCount; }).map(({ state }) => { return state; }); const fixedStates = aggregateHelpStates(bestPositionalStates); if (fixedStates.length > 1) throw new errors.AmbiguousSyntaxError(input, fixedStates.map((state) => state.candidateUsage)); return fixedStates[0]; } function aggregateHelpStates(states) { const notHelps = []; const helps = []; for (const state of states) { if (state.selectedIndex === constants.HELP_COMMAND_INDEX) { helps.push(state); } else { notHelps.push(state); } } if (helps.length > 0) { notHelps.push({ ...basicHelpState, path: findCommonPrefix(...helps.map((state) => state.path)), options: helps.reduce((options, state) => options.concat(state.options), []) }); } return notHelps; } function findCommonPrefix(firstPath, secondPath, ...rest) { if (secondPath === void 0) return Array.from(firstPath); return findCommonPrefix(firstPath.filter((segment, i) => segment === secondPath[i]), ...rest); } function makeNode() { return { dynamics: [], shortcuts: [], statics: {} }; } function isTerminalNode(node) { return node === constants.NODE_SUCCESS || node === constants.NODE_ERRORED; } function cloneTransition(input, offset = 0) { return { to: !isTerminalNode(input.to) ? input.to > 2 ? input.to + offset - 2 : input.to + offset : input.to, reducer: input.reducer }; } function cloneNode(input, offset = 0) { const output = makeNode(); for (const [test, transition] of input.dynamics) output.dynamics.push([test, cloneTransition(transition, offset)]); for (const transition of input.shortcuts) output.shortcuts.push(cloneTransition(transition, offset)); for (const [segment, transitions] of Object.entries(input.statics)) output.statics[segment] = transitions.map((transition) => cloneTransition(transition, offset)); return output; } function registerDynamic(machine, from, test, to, reducer) { machine.nodes[from].dynamics.push([ test, { to, reducer } ]); } function registerShortcut(machine, from, to, reducer) { machine.nodes[from].shortcuts.push({ to, reducer }); } function registerStatic(machine, from, test, to, reducer) { const store = !Object.prototype.hasOwnProperty.call(machine.nodes[from].statics, test) ? machine.nodes[from].statics[test] = [] : machine.nodes[from].statics[test]; store.push({ to, reducer }); } function execute(store, callback, state, segment) { if (Array.isArray(callback)) { const [name, ...args] = callback; return store[name](state, segment, ...args); } else { return store[callback](state, segment); } } function suggest(callback, state) { const fn = Array.isArray(callback) ? tests[callback[0]] : tests[callback]; if (typeof fn.suggest === `undefined`) return null; const args = Array.isArray(callback) ? callback.slice(1) : []; return fn.suggest(state, ...args); } var tests = { always: () => { return true; }, isOptionLike: (state, segment) => { return !state.ignoreOptions && (segment !== `-` && segment.startsWith(`-`)); }, isNotOptionLike: (state, segment) => { return state.ignoreOptions || segment === `-` || !segment.startsWith(`-`); }, isOption: (state, segment, name, hidden) => { return !state.ignoreOptions && segment === name; }, isBatchOption: (state, segment, names) => { return !state.ignoreOptions && constants.BATCH_REGEX.test(segment) && [...segment.slice(1)].every((name) => names.includes(`-${name}`)); }, isBoundOption: (state, segment, names, options) => { const optionParsing = segment.match(constants.BINDING_REGEX); return !state.ignoreOptions && !!optionParsing && constants.OPTION_REGEX.test(optionParsing[1]) && names.includes(optionParsing[1]) && options.filter((opt) => opt.names.includes(optionParsing[1])).every((opt) => opt.allowBinding); }, isNegatedOption: (state, segment, name) => { return !state.ignoreOptions && segment === `--no-${name.slice(2)}`; }, isHelp: (state, segment) => { return !state.ignoreOptions && constants.HELP_REGEX.test(segment); }, isUnsupportedOption: (state, segment, names) => { return !state.ignoreOptions && segment.startsWith(`-`) && constants.OPTION_REGEX.test(segment) && !names.includes(segment); }, isInvalidOption: (state, segment) => { return !state.ignoreOptions && segment.startsWith(`-`) && !constants.OPTION_REGEX.test(segment); } }; tests.isOption.suggest = (state, name, hidden = true) => { return !hidden ? [name] : null; }; var reducers = { setCandidateState: (state, segment, candidateState) => { return { ...state, ...candidateState }; }, setSelectedIndex: (state, segment, index) => { return { ...state, selectedIndex: index }; }, pushBatch: (state, segment) => { return { ...state, options: state.options.concat([...segment.slice(1)].map((name) => ({ name: `-${name}`, value: true }))) }; }, pushBound: (state, segment) => { const [, name, value] = segment.match(constants.BINDING_REGEX); return { ...state, options: state.options.concat({ name, value }) }; }, pushPath: (state, segment) => { return { ...state, path: state.path.concat(segment) }; }, pushPositional: (state, segment) => { return { ...state, positionals: state.positionals.concat({ value: segment, extra: false }) }; }, pushExtra: (state, segment) => { return { ...state, positionals: state.positionals.concat({ value: segment, extra: true }) }; }, pushExtraNoLimits: (state, segment) => { return { ...state, positionals: state.positionals.concat({ value: segment, extra: NoLimits }) }; }, pushTrue: (state, segment, name = segment) => { return { ...state, options: state.options.concat({ name: segment, value: true }) }; }, pushFalse: (state, segment, name = segment) => { return { ...state, options: state.options.concat({ name, value: false }) }; }, pushUndefined: (state, segment) => { return { ...state, options: state.options.concat({ name: segment, value: void 0 }) }; }, pushStringValue: (state, segment) => { var _a; const copy = { ...state, options: [...state.options] }; const lastOption = state.options[state.options.length - 1]; lastOption.value = ((_a = lastOption.value) !== null && _a !== void 0 ? _a : []).concat([segment]); return copy; }, setStringValue: (state, segment) => { const copy = { ...state, options: [...state.options] }; const lastOption = state.options[state.options.length - 1]; lastOption.value = segment; return copy; }, inhibateOptions: (state) => { return { ...state, ignoreOptions: true }; }, useHelp: (state, segment, command) => { const [ , /* name */ , index ] = segment.match(constants.HELP_REGEX); if (typeof index !== `undefined`) { return { ...state, options: [{ name: `-c`, value: String(command) }, { name: `-i`, value: index }] }; } else { return { ...state, options: [{ name: `-c`, value: String(command) }] }; } }, setError: (state, segment, errorMessage) => { if (segment === constants.END_OF_INPUT) { return { ...state, errorMessage: `${errorMessage}.` }; } else { return { ...state, errorMessage: `${errorMessage} ("${segment}").` }; } }, setOptionArityError: (state, segment) => { const lastOption = state.options[state.options.length - 1]; return { ...state, errorMessage: `Not enough arguments to option ${lastOption.name}.` }; } }; var NoLimits = Symbol(); var CommandBuilder = class { constructor(cliIndex, cliOpts) { this.allOptionNames = []; this.arity = { leading: [], trailing: [], extra: [], proxy: false }; this.options = []; this.paths = []; this.cliIndex = cliIndex; this.cliOpts = cliOpts; } addPath(path2) { this.paths.push(path2); } setArity({ leading = this.arity.leading, trailing = this.arity.trailing, extra = this.arity.extra, proxy = this.arity.proxy }) { Object.assign(this.arity, { leading, trailing, extra, proxy }); } addPositional({ name = `arg`, required = true } = {}) { if (!required && this.arity.extra === NoLimits) throw new Error(`Optional parameters cannot be declared when using .rest() or .proxy()`); if (!required && this.arity.trailing.length > 0) throw new Error(`Optional parameters cannot be declared after the required trailing positional arguments`); if (!required && this.arity.extra !== NoLimits) { this.arity.extra.push(name); } else if (this.arity.extra !== NoLimits && this.arity.extra.length === 0) { this.arity.leading.push(name); } else { this.arity.trailing.push(name); } } addRest({ name = `arg`, required = 0 } = {}) { if (this.arity.extra === NoLimits) throw new Error(`Infinite lists cannot be declared multiple times in the same command`); if (this.arity.trailing.length > 0) throw new Error(`Infinite lists cannot be declared after the required trailing positional arguments`); for (let t = 0; t < required; ++t) this.addPositional({ name }); this.arity.extra = NoLimits; } addProxy({ required = 0 } = {}) { this.addRest({ required }); this.arity.proxy = true; } addOption({ names, description, arity = 0, hidden = false, required = false, allowBinding = true }) { if (!allowBinding && arity > 1) throw new Error(`The arity cannot be higher than 1 when the option only supports the --arg=value syntax`); if (!Number.isInteger(arity)) throw new Error(`The arity must be an integer, got ${arity}`); if (arity < 0) throw new Error(`The arity must be positive, got ${arity}`); this.allOptionNames.push(...names); this.options.push({ names, description, arity, hidden, required, allowBinding }); } setContext(context) { this.context = context; } usage({ detailed = true, inlineOptions = true } = {}) { const segments = [this.cliOpts.binaryName]; const detailedOptionList = []; if (this.paths.length > 0) segments.push(...this.paths[0]); if (detailed) { for (const { names, arity, hidden, description, required } of this.options) { if (hidden) continue; const args = []; for (let t = 0; t < arity; ++t) args.push(` #${t}`); const definition = `${names.join(`,`)}${args.join(``)}`; if (!inlineOptions && description) { detailedOptionList.push({ definition, description, required }); } else { segments.push(required ? `<${definition}>` : `[${definition}]`); } } segments.push(...this.arity.leading.map((name) => `<${name}>`)); if (this.arity.extra === NoLimits) segments.push(`...`); else segments.push(...this.arity.extra.map((name) => `[${name}]`)); segments.push(...this.arity.trailing.map((name) => `<${name}>`)); } const usage = segments.join(` `); return { usage, options: detailedOptionList }; } compile() { if (typeof this.context === `undefined`) throw new Error(`Assertion failed: No context attached`); const machine = makeStateMachine(); let firstNode = constants.NODE_INITIAL; const candidateUsage = this.usage().usage; const requiredOptions = this.options.filter((opt) => opt.required).map((opt) => opt.names); firstNode = injectNode(machine, makeNode()); registerStatic(machine, constants.NODE_INITIAL, constants.START_OF_INPUT, firstNode, [`setCandidateState`, { candidateUsage, requiredOptions }]); const positionalArgument = this.arity.proxy ? `always` : `isNotOptionLike`; const paths = this.paths.length > 0 ? this.paths : [[]]; for (const path2 of paths) { let lastPathNode = firstNode; if (path2.length > 0) { const optionPathNode = injectNode(machine, makeNode()); registerShortcut(machine, lastPathNode, optionPathNode); this.registerOptions(machine, optionPathNode); lastPathNode = optionPathNode; } for (let t = 0; t < path2.length; ++t) { const nextPathNode = injectNode(machine, makeNode()); registerStatic(machine, lastPathNode, path2[t], nextPathNode, `pushPath`); lastPathNode = nextPathNode; } if (this.arity.leading.length > 0 || !this.arity.proxy) { const helpNode = injectNode(machine, makeNode()); registerDynamic(machine, lastPathNode, `isHelp`, helpNode, [`useHelp`, this.cliIndex]); registerStatic(machine, helpNode, constants.END_OF_INPUT, constants.NODE_SUCCESS, [`setSelectedIndex`, constants.HELP_COMMAND_INDEX]); this.registerOptions(machine, lastPathNode); } if (this.arity.leading.length > 0) registerStatic(machine, lastPathNode, constants.END_OF_INPUT, constants.NODE_ERRORED, [`setError`, `Not enough positional arguments`]); let lastLeadingNode = lastPathNode; for (let t = 0; t < this.arity.leading.length; ++t) { const nextLeadingNode = injectNode(machine, makeNode()); if (!this.arity.proxy || t + 1 !== this.arity.leading.length) this.registerOptions(machine, nextLeadingNode); if (this.arity.trailing.length > 0 || t + 1 !== this.arity.leading.length) registerStatic(machine, nextLeadingNode, constants.END_OF_INPUT, constants.NODE_ERRORED, [`setError`, `Not enough positional arguments`]); registerDynamic(machine, lastLeadingNode, `isNotOptionLike`, nextLeadingNode, `pushPositional`); lastLeadingNode = nextLeadingNode; } let lastExtraNode = lastLeadingNode; if (this.arity.extra === NoLimits || this.arity.extra.length > 0) { const extraShortcutNode = injectNode(machine, makeNode()); registerShortcut(machine, lastLeadingNode, extraShortcutNode); if (this.arity.extra === NoLimits) { const extraNode = injectNode(machine, makeNode()); if (!this.arity.proxy) this.registerOptions(machine, extraNode); registerDynamic(machine, lastLeadingNode, positionalArgument, extraNode, `pushExtraNoLimits`); registerDynamic(machine, extraNode, positionalArgument, extraNode, `pushExtraNoLimits`); registerShortcut(machine, extraNode, extraShortcutNode); } else { for (let t = 0; t < this.arity.extra.length; ++t) { const nextExtraNode = injectNode(machine, makeNode()); if (!this.arity.proxy || t > 0) this.registerOptions(machine, nextExtraNode); registerDynamic(machine, lastExtraNode, positionalArgument, nextExtraNode, `pushExtra`); registerShortcut(machine, nextExtraNode, extraShortcutNode); lastExtraNode = nextExtraNode; } } lastExtraNode = extraShortcutNode; } if (this.arity.trailing.length > 0) registerStatic(machine, lastExtraNode, constants.END_OF_INPUT, constants.NODE_ERRORED, [`setError`, `Not enough positional arguments`]); let lastTrailingNode = lastExtraNode; for (let t = 0; t < this.arity.trailing.length; ++t) { const nextTrailingNode = injectNode(machine, makeNode()); if (!this.arity.proxy) this.registerOptions(machine, nextTrailingNode); if (t + 1 < this.arity.trailing.length) registerStatic(machine, nextTrailingNode, constants.END_OF_INPUT, constants.NODE_ERRORED, [`setError`, `Not enough positional arguments`]); registerDynamic(machine, lastTrailingNode, `isNotOptionLike`, nextTrailingNode, `pushPositional`); lastTrailingNode = nextTrailingNode; } registerDynamic(machine, lastTrailingNode, positionalArgument, constants.NODE_ERRORED, [`setError`, `Extraneous positional argument`]); registerStatic(machine, lastTrailingNode, constants.END_OF_INPUT, constants.NODE_SUCCESS, [`setSelectedIndex`, this.cliIndex]); } return { machine, context: this.context }; } registerOptions(machine, node) { registerDynamic(machine, node, [`isOption`, `--`], node, `inhibateOptions`); registerDynamic(machine, node, [`isBatchOption`, this.allOptionNames], node, `pushBatch`); registerDynamic(machine, node, [`isBoundOption`, this.allOptionNames, this.options], node, `pushBound`); registerDynamic(machine, node, [`isUnsupportedOption`, this.allOptionNames], constants.NODE_ERRORED, [`setError`, `Unsupported option name`]); registerDynamic(machine, node, [`isInvalidOption`], constants.NODE_ERRORED, [`setError`, `Invalid option name`]); for (const option of this.options) { const longestName = option.names.reduce((longestName2, name) => { return name.length > longestName2.length ? name : longestName2; }, ``); if (option.arity === 0) { for (const name of option.names) { registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], node, `pushTrue`); if (name.startsWith(`--`) && !name.startsWith(`--no-`)) { registerDynamic(machine, node, [`isNegatedOption`, name], node, [`pushFalse`, name]); } } } else { let lastNode = injectNode(machine, makeNode()); for (const name of option.names) registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], lastNode, `pushUndefined`); for (let t = 0; t < option.arity; ++t) { const nextNode = injectNode(machine, makeNode()); registerStatic(machine, lastNode, constants.END_OF_INPUT, constants.NODE_ERRORED, `setOptionArityError`); registerDynamic(machine, lastNode, `isOptionLike`, constants.NODE_ERRORED, `setOptionArityError`); const action = option.arity === 1 ? `setStringValue` : `pushStringValue`; registerDynamic(machine, lastNode, `isNotOptionLike`, nextNode, action); lastNode = nextNode; } registerShortcut(machine, lastNode, node); } } } }; var CliBuilder = class _CliBuilder { constructor({ binaryName = `...` } = {}) { this.builders = []; this.opts = { binaryName }; } static build(cbs, opts = {}) { return new _CliBuilder(opts).commands(cbs).compile(); } getBuilderByIndex(n) { if (!(n >= 0 && n < this.builders.length)) throw new Error(`Assertion failed: Out-of-bound command index (${n})`); return this.builders[n]; } commands(cbs) { for (const cb of cbs) cb(this.command()); return this; } command() { const builder = new CommandBuilder(this.builders.length, this.opts); this.builders.push(builder); return builder; } compile() { const machines = []; const contexts = []; for (const builder of this.builders) { const { machine: machine2, context } = builder.compile(); machines.push(machine2); contexts.push(context); } const machine = makeAnyOfMachine(machines); simplifyMachine(machine); return { machine, contexts, process: (input) => { return runMachine(machine, input); }, suggest: (input, partial) => { return suggestMachine(machine, input, partial); } }; } }; exports2.CliBuilder = CliBuilder; exports2.CommandBuilder = CommandBuilder; exports2.NoLimits = NoLimits; exports2.aggregateHelpStates = aggregateHelpStates; exports2.cloneNode = cloneNode; exports2.cloneTransition = cloneTransition; exports2.debug = debug; exports2.debugMachine = debugMachine; exports2.execute = execute; exports2.injectNode = injectNode; exports2.isTerminalNode = isTerminalNode; exports2.makeAnyOfMachine = makeAnyOfMachine; exports2.makeNode = makeNode; exports2.makeStateMachine = makeStateMachine; exports2.reducers = reducers; exports2.registerDynamic = registerDynamic; exports2.registerShortcut = registerShortcut; exports2.registerStatic = registerStatic; exports2.runMachineInternal = runMachineInternal; exports2.selectBestState = selectBestState; exports2.simplifyMachine = simplifyMachine; exports2.suggest = suggest; exports2.tests = tests; exports2.trimSmallerBranches = trimSmallerBranches; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/HelpCommand.js var require_HelpCommand = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/HelpCommand.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var Command = require_Command(); var HelpCommand = class _HelpCommand extends Command.Command { constructor(contexts) { super(); this.contexts = contexts; this.commands = []; } static from(state, contexts) { const command = new _HelpCommand(contexts); command.path = state.path; for (const opt of state.options) { switch (opt.name) { case `-c`: { command.commands.push(Number(opt.value)); } break; case `-i`: { command.index = Number(opt.value); } break; } } return command; } async execute() { let commands = this.commands; if (typeof this.index !== `undefined` && this.index >= 0 && this.index < commands.length) commands = [commands[this.index]]; if (commands.length === 0) { this.context.stdout.write(this.cli.usage()); } else if (commands.length === 1) { this.context.stdout.write(this.cli.usage(this.contexts[commands[0]].commandClass, { detailed: true })); } else if (commands.length > 1) { this.context.stdout.write(`Multiple commands match your selection: `); this.context.stdout.write(` `); let index = 0; for (const command of this.commands) this.context.stdout.write(this.cli.usage(this.contexts[command].commandClass, { prefix: `${index++}. `.padStart(5) })); this.context.stdout.write(` `); this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. `); } } }; exports2.HelpCommand = HelpCommand; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/Cli.js var require_Cli = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/Cli.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var constants = require_constants8(); var Command = require_Command(); var tty = require("tty"); var core = require_core5(); var format = require_format2(); var HelpCommand = require_HelpCommand(); function _interopDefaultLegacy(e) { return e && typeof e === "object" && "default" in e ? e : { "default": e }; } var tty__default = /* @__PURE__ */ _interopDefaultLegacy(tty); var errorCommandSymbol = Symbol(`clipanion/errorCommand`); function getDefaultColorDepth() { if (process.env.FORCE_COLOR === `0`) return 1; if (process.env.FORCE_COLOR === `1`) return 8; if (typeof process.stdout !== `undefined` && process.stdout.isTTY) return 8; return 1; } var Cli = class _Cli { constructor({ binaryLabel, binaryName: binaryNameOpt = `...`, binaryVersion, enableCapture = false, enableColors } = {}) { this.registrations = /* @__PURE__ */ new Map(); this.builder = new core.CliBuilder({ binaryName: binaryNameOpt }); this.binaryLabel = binaryLabel; this.binaryName = binaryNameOpt; this.binaryVersion = binaryVersion; this.enableCapture = enableCapture; this.enableColors = enableColors; } /** * Creates a new Cli and registers all commands passed as parameters. * * @param commandClasses The Commands to register * @returns The created `Cli` instance */ static from(commandClasses, options = {}) { const cli = new _Cli(options); for (const commandClass of commandClasses) cli.register(commandClass); return cli; } /** * Registers a command inside the CLI. */ register(commandClass) { var _a; const specs = /* @__PURE__ */ new Map(); const command = new commandClass(); for (const key in command) { const value = command[key]; if (typeof value === `object` && value !== null && value[Command.Command.isOption]) { specs.set(key, value); } } const builder = this.builder.command(); const index = builder.cliIndex; const paths = (_a = commandClass.paths) !== null && _a !== void 0 ? _a : command.paths; if (typeof paths !== `undefined`) for (const path2 of paths) builder.addPath(path2); this.registrations.set(commandClass, { specs, builder, index }); for (const [key, { definition }] of specs.entries()) definition(builder, key); builder.setContext({ commandClass }); } process(input) { const { contexts, process: process2 } = this.builder.compile(); const state = process2(input); switch (state.selectedIndex) { case constants.HELP_COMMAND_INDEX: { return HelpCommand.HelpCommand.from(state, contexts); } default: { const { commandClass } = contexts[state.selectedIndex]; const record = this.registrations.get(commandClass); if (typeof record === `undefined`) throw new Error(`Assertion failed: Expected the command class to have been registered.`); const command = new commandClass(); command.path = state.path; try { for (const [key, { transformer }] of record.specs.entries()) command[key] = transformer(record.builder, key, state); return command; } catch (error) { error[errorCommandSymbol] = command; throw error; } } break; } } async run(input, userContext) { var _a; let command; const context = { ..._Cli.defaultContext, ...userContext }; const colored = (_a = this.enableColors) !== null && _a !== void 0 ? _a : context.colorDepth > 1; if (!Array.isArray(input)) { command = input; } else { try { command = this.process(input); } catch (error) { context.stdout.write(this.error(error, { colored })); return 1; } } if (command.help) { context.stdout.write(this.usage(command, { colored, detailed: true })); return 0; } command.context = context; command.cli = { binaryLabel: this.binaryLabel, binaryName: this.binaryName, binaryVersion: this.binaryVersion, enableCapture: this.enableCapture, enableColors: this.enableColors, definitions: () => this.definitions(), error: (error, opts) => this.error(error, opts), format: (colored2) => this.format(colored2), process: (input2) => this.process(input2), run: (input2, subContext) => this.run(input2, { ...context, ...subContext }), usage: (command2, opts) => this.usage(command2, opts) }; const activate = this.enableCapture ? getCaptureActivator(context) : noopCaptureActivator; let exitCode; try { exitCode = await activate(() => command.validateAndExecute().catch((error) => command.catch(error).then(() => 0))); } catch (error) { context.stdout.write(this.error(error, { colored, command })); return 1; } return exitCode; } async runExit(input, context) { process.exitCode = await this.run(input, context); } suggest(input, partial) { const { suggest } = this.builder.compile(); return suggest(input, partial); } definitions({ colored = false } = {}) { const data = []; for (const [commandClass, { index }] of this.registrations) { if (typeof commandClass.usage === `undefined`) continue; const { usage: path2 } = this.getUsageByIndex(index, { detailed: false }); const { usage, options } = this.getUsageByIndex(index, { detailed: true, inlineOptions: false }); const category = typeof commandClass.usage.category !== `undefined` ? format.formatMarkdownish(commandClass.usage.category, { format: this.format(colored), paragraphs: false }) : void 0; const description = typeof commandClass.usage.description !== `undefined` ? format.formatMarkdownish(commandClass.usage.description, { format: this.format(colored), paragraphs: false }) : void 0; const details = typeof commandClass.usage.details !== `undefined` ? format.formatMarkdownish(commandClass.usage.details, { format: this.format(colored), paragraphs: true }) : void 0; const examples = typeof commandClass.usage.examples !== `undefined` ? commandClass.usage.examples.map(([label, cli]) => [format.formatMarkdownish(label, { format: this.format(colored), paragraphs: false }), cli.replace(/\$0/g, this.binaryName)]) : void 0; data.push({ path: path2, usage, category, description, details, examples, options }); } return data; } usage(command = null, { colored, detailed = false, prefix = `$ ` } = {}) { var _a; if (command === null) { for (const commandClass2 of this.registrations.keys()) { const paths = commandClass2.paths; const isDocumented = typeof commandClass2.usage !== `undefined`; const isExclusivelyDefault = !paths || paths.length === 0 || paths.length === 1 && paths[0].length === 0; const isDefault = isExclusivelyDefault || ((_a = paths === null || paths === void 0 ? void 0 : paths.some((path2) => path2.length === 0)) !== null && _a !== void 0 ? _a : false); if (isDefault) { if (command) { command = null; break; } else { command = commandClass2; } } else { if (isDocumented) { command = null; continue; } } } if (command) { detailed = true; } } const commandClass = command !== null && command instanceof Command.Command ? command.constructor : command; let result2 = ``; if (!commandClass) { const commandsByCategories = /* @__PURE__ */ new Map(); for (const [commandClass2, { index }] of this.registrations.entries()) { if (typeof commandClass2.usage === `undefined`) continue; const category = typeof commandClass2.usage.category !== `undefined` ? format.formatMarkdownish(commandClass2.usage.category, { format: this.format(colored), paragraphs: false }) : null; let categoryCommands = commandsByCategories.get(category); if (typeof categoryCommands === `undefined`) commandsByCategories.set(category, categoryCommands = []); const { usage } = this.getUsageByIndex(index); categoryCommands.push({ commandClass: commandClass2, usage }); } const categoryNames = Array.from(commandsByCategories.keys()).sort((a, b) => { if (a === null) return -1; if (b === null) return 1; return a.localeCompare(b, `en`, { usage: `sort`, caseFirst: `upper` }); }); const hasLabel = typeof this.binaryLabel !== `undefined`; const hasVersion = typeof this.binaryVersion !== `undefined`; if (hasLabel || hasVersion) { if (hasLabel && hasVersion) result2 += `${this.format(colored).header(`${this.binaryLabel} - ${this.binaryVersion}`)} `; else if (hasLabel) result2 += `${this.format(colored).header(`${this.binaryLabel}`)} `; else result2 += `${this.format(colored).header(`${this.binaryVersion}`)} `; result2 += ` ${this.format(colored).bold(prefix)}${this.binaryName} `; } else { result2 += `${this.format(colored).bold(prefix)}${this.binaryName} `; } for (const categoryName of categoryNames) { const commands = commandsByCategories.get(categoryName).slice().sort((a, b) => { return a.usage.localeCompare(b.usage, `en`, { usage: `sort`, caseFirst: `upper` }); }); const header = categoryName !== null ? categoryName.trim() : `General commands`; result2 += ` `; result2 += `${this.format(colored).header(`${header}`)} `; for (const { commandClass: commandClass2, usage } of commands) { const doc = commandClass2.usage.description || `undocumented`; result2 += ` `; result2 += ` ${this.format(colored).bold(usage)} `; result2 += ` ${format.formatMarkdownish(doc, { format: this.format(colored), paragraphs: false })}`; } } result2 += ` `; result2 += format.formatMarkdownish(`You can also print more details about any of these commands by calling them with the \`-h,--help\` flag right after the command name.`, { format: this.format(colored), paragraphs: true }); } else { if (!detailed) { const { usage } = this.getUsageByRegistration(commandClass); result2 += `${this.format(colored).bold(prefix)}${usage} `; } else { const { description = ``, details = ``, examples = [] } = commandClass.usage || {}; if (description !== ``) { result2 += format.formatMarkdownish(description, { format: this.format(colored), paragraphs: false }).replace(/^./, ($0) => $0.toUpperCase()); result2 += ` `; } if (details !== `` || examples.length > 0) { result2 += `${this.format(colored).header(`Usage`)} `; result2 += ` `; } const { usage, options } = this.getUsageByRegistration(commandClass, { inlineOptions: false }); result2 += `${this.format(colored).bold(prefix)}${usage} `; if (options.length > 0) { result2 += ` `; result2 += `${format.richFormat.header(`Options`)} `; const maxDefinitionLength = options.reduce((length, option) => { return Math.max(length, option.definition.length); }, 0); result2 += ` `; for (const { definition, description: description2 } of options) { result2 += ` ${this.format(colored).bold(definition.padEnd(maxDefinitionLength))} ${format.formatMarkdownish(description2, { format: this.format(colored), paragraphs: false })}`; } } if (details !== ``) { result2 += ` `; result2 += `${this.format(colored).header(`Details`)} `; result2 += ` `; result2 += format.formatMarkdownish(details, { format: this.format(colored), paragraphs: true }); } if (examples.length > 0) { result2 += ` `; result2 += `${this.format(colored).header(`Examples`)} `; for (const [description2, example] of examples) { result2 += ` `; result2 += format.formatMarkdownish(description2, { format: this.format(colored), paragraphs: false }); result2 += `${example.replace(/^/m, ` ${this.format(colored).bold(prefix)}`).replace(/\$0/g, this.binaryName)} `; } } } } return result2; } error(error, _a) { var _b; var { colored, command = (_b = error[errorCommandSymbol]) !== null && _b !== void 0 ? _b : null } = _a === void 0 ? {} : _a; if (!(error instanceof Error)) error = new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(error)})`); let result2 = ``; let name = error.name.replace(/([a-z])([A-Z])/g, `$1 $2`); if (name === `Error`) name = `Internal Error`; result2 += `${this.format(colored).error(name)}: ${error.message} `; const meta = error.clipanion; if (typeof meta !== `undefined`) { if (meta.type === `usage`) { result2 += ` `; result2 += this.usage(command); } } else { if (error.stack) { result2 += `${error.stack.replace(/^.*\n/, ``)} `; } } return result2; } format(colored) { var _a; return ((_a = colored !== null && colored !== void 0 ? colored : this.enableColors) !== null && _a !== void 0 ? _a : _Cli.defaultContext.colorDepth > 1) ? format.richFormat : format.textFormat; } getUsageByRegistration(klass, opts) { const record = this.registrations.get(klass); if (typeof record === `undefined`) throw new Error(`Assertion failed: Unregistered command`); return this.getUsageByIndex(record.index, opts); } getUsageByIndex(n, opts) { return this.builder.getBuilderByIndex(n).usage(opts); } }; Cli.defaultContext = { stdin: process.stdin, stdout: process.stdout, stderr: process.stderr, colorDepth: `getColorDepth` in tty__default["default"].WriteStream.prototype ? tty__default["default"].WriteStream.prototype.getColorDepth() : getDefaultColorDepth() }; var gContextStorage; function getCaptureActivator(context) { let contextStorage = gContextStorage; if (typeof contextStorage === `undefined`) { if (context.stdout === process.stdout && context.stderr === process.stderr) return noopCaptureActivator; const { AsyncLocalStorage: LazyAsyncLocalStorage } = require("async_hooks"); contextStorage = gContextStorage = new LazyAsyncLocalStorage(); const origStdoutWrite = process.stdout._write; process.stdout._write = function(chunk, encoding, cb) { const context2 = contextStorage.getStore(); if (typeof context2 === `undefined`) return origStdoutWrite.call(this, chunk, encoding, cb); return context2.stdout.write(chunk, encoding, cb); }; const origStderrWrite = process.stderr._write; process.stderr._write = function(chunk, encoding, cb) { const context2 = contextStorage.getStore(); if (typeof context2 === `undefined`) return origStderrWrite.call(this, chunk, encoding, cb); return context2.stderr.write(chunk, encoding, cb); }; } return (fn) => { return contextStorage.run(context, fn); }; } function noopCaptureActivator(fn) { return fn(); } exports2.Cli = Cli; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/definitions.js var require_definitions = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/definitions.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var Command = require_Command(); var DefinitionsCommand = class extends Command.Command { async execute() { this.context.stdout.write(`${JSON.stringify(this.cli.definitions(), null, 2)} `); } }; DefinitionsCommand.paths = [[`--clipanion=definitions`]]; exports2.DefinitionsCommand = DefinitionsCommand; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/help.js var require_help = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/help.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var Command = require_Command(); var HelpCommand = class extends Command.Command { async execute() { this.context.stdout.write(this.cli.usage()); } }; HelpCommand.paths = [[`-h`], [`--help`]]; exports2.HelpCommand = HelpCommand; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/version.js var require_version = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/version.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var Command = require_Command(); var VersionCommand = class extends Command.Command { async execute() { var _a; this.context.stdout.write(`${(_a = this.cli.binaryVersion) !== null && _a !== void 0 ? _a : ``} `); } }; VersionCommand.paths = [[`-v`], [`--version`]]; exports2.VersionCommand = VersionCommand; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/index.js var require_builtins = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var definitions = require_definitions(); var help = require_help(); var version2 = require_version(); exports2.DefinitionsCommand = definitions.DefinitionsCommand; exports2.HelpCommand = help.HelpCommand; exports2.VersionCommand = version2.VersionCommand; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Array.js var require_Array = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Array.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils4(); function Array2(descriptor, initialValueBase, optsBase) { const [initialValue, opts] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); const { arity = 1 } = opts; const optNames = descriptor.split(`,`); const nameSet = new Set(optNames); return utils.makeCommandOption({ definition(builder) { builder.addOption({ names: optNames, arity, hidden: opts === null || opts === void 0 ? void 0 : opts.hidden, description: opts === null || opts === void 0 ? void 0 : opts.description, required: opts.required }); }, transformer(builder, key, state) { let currentValue = typeof initialValue !== `undefined` ? [...initialValue] : void 0; for (const { name, value } of state.options) { if (!nameSet.has(name)) continue; currentValue = currentValue !== null && currentValue !== void 0 ? currentValue : []; currentValue.push(value); } return currentValue; } }); } exports2.Array = Array2; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Boolean.js var require_Boolean = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Boolean.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils4(); function Boolean2(descriptor, initialValueBase, optsBase) { const [initialValue, opts] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); const optNames = descriptor.split(`,`); const nameSet = new Set(optNames); return utils.makeCommandOption({ definition(builder) { builder.addOption({ names: optNames, allowBinding: false, arity: 0, hidden: opts.hidden, description: opts.description, required: opts.required }); }, transformer(builer, key, state) { let currentValue = initialValue; for (const { name, value } of state.options) { if (!nameSet.has(name)) continue; currentValue = value; } return currentValue; } }); } exports2.Boolean = Boolean2; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Counter.js var require_Counter = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Counter.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils4(); function Counter(descriptor, initialValueBase, optsBase) { const [initialValue, opts] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); const optNames = descriptor.split(`,`); const nameSet = new Set(optNames); return utils.makeCommandOption({ definition(builder) { builder.addOption({ names: optNames, allowBinding: false, arity: 0, hidden: opts.hidden, description: opts.description, required: opts.required }); }, transformer(builder, key, state) { let currentValue = initialValue; for (const { name, value } of state.options) { if (!nameSet.has(name)) continue; currentValue !== null && currentValue !== void 0 ? currentValue : currentValue = 0; if (!value) { currentValue = 0; } else { currentValue += 1; } } return currentValue; } }); } exports2.Counter = Counter; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Proxy.js var require_Proxy = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Proxy.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils4(); function Proxy2(opts = {}) { return utils.makeCommandOption({ definition(builder, key) { var _a; builder.addProxy({ name: (_a = opts.name) !== null && _a !== void 0 ? _a : key, required: opts.required }); }, transformer(builder, key, state) { return state.positionals.map(({ value }) => value); } }); } exports2.Proxy = Proxy2; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Rest.js var require_Rest = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Rest.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils4(); var core = require_core5(); function Rest(opts = {}) { return utils.makeCommandOption({ definition(builder, key) { var _a; builder.addRest({ name: (_a = opts.name) !== null && _a !== void 0 ? _a : key, required: opts.required }); }, transformer(builder, key, state) { const isRestPositional = (index) => { const positional = state.positionals[index]; if (positional.extra === core.NoLimits) return true; if (positional.extra === false && index < builder.arity.leading.length) return true; return false; }; let count = 0; while (count < state.positionals.length && isRestPositional(count)) count += 1; return state.positionals.splice(0, count).map(({ value }) => value); } }); } exports2.Rest = Rest; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/String.js var require_String = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/String.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils4(); var core = require_core5(); function StringOption(descriptor, initialValueBase, optsBase) { const [initialValue, opts] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {}); const { arity = 1 } = opts; const optNames = descriptor.split(`,`); const nameSet = new Set(optNames); return utils.makeCommandOption({ definition(builder) { builder.addOption({ names: optNames, arity: opts.tolerateBoolean ? 0 : arity, hidden: opts.hidden, description: opts.description, required: opts.required }); }, transformer(builder, key, state) { let usedName; let currentValue = initialValue; for (const { name, value } of state.options) { if (!nameSet.has(name)) continue; usedName = name; currentValue = value; } if (typeof currentValue === `string`) { return utils.applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts.validator); } else { return currentValue; } } }); } function StringPositional(opts = {}) { const { required = true } = opts; return utils.makeCommandOption({ definition(builder, key) { var _a; builder.addPositional({ name: (_a = opts.name) !== null && _a !== void 0 ? _a : key, required: opts.required }); }, transformer(builder, key, state) { var _a; for (let i = 0; i < state.positionals.length; ++i) { if (state.positionals[i].extra === core.NoLimits) continue; if (required && state.positionals[i].extra === true) continue; if (!required && state.positionals[i].extra === false) continue; const [positional] = state.positionals.splice(i, 1); return utils.applyValidator((_a = opts.name) !== null && _a !== void 0 ? _a : key, positional.value, opts.validator); } return void 0; } }); } function String2(descriptor, ...args) { if (typeof descriptor === `string`) { return StringOption(descriptor, ...args); } else { return StringPositional(descriptor); } } exports2.String = String2; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/index.js var require_options2 = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils4(); var _Array = require_Array(); var _Boolean = require_Boolean(); var Counter = require_Counter(); var _Proxy = require_Proxy(); var Rest = require_Rest(); var _String = require_String(); exports2.applyValidator = utils.applyValidator; exports2.cleanValidationError = utils.cleanValidationError; exports2.formatError = utils.formatError; exports2.isOptionSymbol = utils.isOptionSymbol; exports2.makeCommandOption = utils.makeCommandOption; exports2.rerouteArguments = utils.rerouteArguments; exports2.Array = _Array.Array; exports2.Boolean = _Boolean.Boolean; exports2.Counter = Counter.Counter; exports2.Proxy = _Proxy.Proxy; exports2.Rest = Rest.Rest; exports2.String = _String.String; } }); // ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/index.js var require_advanced = __commonJS({ "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var errors = require_errors3(); var Command = require_Command(); var format = require_format2(); var Cli = require_Cli(); var index = require_builtins(); var index$1 = require_options2(); exports2.UsageError = errors.UsageError; exports2.Command = Command.Command; exports2.formatMarkdownish = format.formatMarkdownish; exports2.Cli = Cli.Cli; exports2.Builtins = index; exports2.Option = index$1; } }); // ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/commands/entry.js var require_entry = __commonJS({ "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/commands/entry.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var fslib_12 = require_lib62(); var clipanion_12 = require_advanced(); var index_1 = require_lib65(); var EntryCommand = class extends clipanion_12.Command { constructor() { super(...arguments); this.cwd = clipanion_12.Option.String(`--cwd`, process.cwd(), { description: `The directory to run the command in` }); this.commandName = clipanion_12.Option.String(); this.args = clipanion_12.Option.Proxy(); } async execute() { const command = this.args.length > 0 ? `${this.commandName} ${this.args.join(` `)}` : this.commandName; return await (0, index_1.execute)(command, [], { cwd: fslib_12.npath.toPortablePath(this.cwd), stdin: this.context.stdin, stdout: this.context.stdout, stderr: this.context.stderr }); } }; EntryCommand.usage = { description: `run a command using yarn's portable shell`, details: ` This command will run a command using Yarn's portable shell. Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell. Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. `, examples: [[ `Run a simple command`, `$0 echo Hello` ], [ `Run a command with a glob pattern`, `$0 echo '*.js'` ], [ `Run a command with a redirection`, `$0 echo Hello World '>' hello.txt` ], [ `Run a command with an escaped glob pattern (The double escape is needed in Unix shells)`, `$0 echo '"*.js"'` ], [ `Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)`, `$0 "GREETING=Hello echo $GREETING World"` ]] }; exports2.default = EntryCommand; } }); // ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/errors.js var require_errors4 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/errors.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ShellError = void 0; var ShellError = class extends Error { constructor(message) { super(message); this.name = `ShellError`; } }; exports2.ShellError = ShellError; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js var require_array = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.splitWhen = exports2.flatten = void 0; function flatten(items) { return items.reduce((collection, item) => [].concat(collection, item), []); } exports2.flatten = flatten; function splitWhen(items, predicate) { const result2 = [[]]; let groupIndex = 0; for (const item of items) { if (predicate(item)) { groupIndex++; result2[groupIndex] = []; } else { result2[groupIndex].push(item); } } return result2; } exports2.splitWhen = splitWhen; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/errno.js var require_errno = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/errno.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isEnoentCodeError = void 0; function isEnoentCodeError(error) { return error.code === "ENOENT"; } exports2.isEnoentCodeError = isEnoentCodeError; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/fs.js var require_fs3 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/fs.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createDirentFromStats = void 0; var DirentFromStats = class { constructor(name, stats) { this.name = name; this.isBlockDevice = stats.isBlockDevice.bind(stats); this.isCharacterDevice = stats.isCharacterDevice.bind(stats); this.isDirectory = stats.isDirectory.bind(stats); this.isFIFO = stats.isFIFO.bind(stats); this.isFile = stats.isFile.bind(stats); this.isSocket = stats.isSocket.bind(stats); this.isSymbolicLink = stats.isSymbolicLink.bind(stats); } }; function createDirentFromStats(name, stats) { return new DirentFromStats(name, stats); } exports2.createDirentFromStats = createDirentFromStats; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.js var require_path4 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.convertPosixPathToPattern = exports2.convertWindowsPathToPattern = exports2.convertPathToPattern = exports2.escapePosixPath = exports2.escapeWindowsPath = exports2.escape = exports2.removeLeadingDotSegment = exports2.makeAbsolute = exports2.unixify = void 0; var os = require("os"); var path2 = require("path"); var IS_WINDOWS_PLATFORM = os.platform() === "win32"; var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; var POSIX_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g; var WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()[\]{}]|^!|[!+@](?=\())/g; var DOS_DEVICE_PATH_RE = /^\\\\([.?])/; var WINDOWS_BACKSLASHES_RE = /\\(?![!()+@[\]{}])/g; function unixify(filepath) { return filepath.replace(/\\/g, "/"); } exports2.unixify = unixify; function makeAbsolute(cwd, filepath) { return path2.resolve(cwd, filepath); } exports2.makeAbsolute = makeAbsolute; function removeLeadingDotSegment(entry) { if (entry.charAt(0) === ".") { const secondCharactery = entry.charAt(1); if (secondCharactery === "/" || secondCharactery === "\\") { return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT); } } return entry; } exports2.removeLeadingDotSegment = removeLeadingDotSegment; exports2.escape = IS_WINDOWS_PLATFORM ? escapeWindowsPath : escapePosixPath; function escapeWindowsPath(pattern) { return pattern.replace(WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2"); } exports2.escapeWindowsPath = escapeWindowsPath; function escapePosixPath(pattern) { return pattern.replace(POSIX_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2"); } exports2.escapePosixPath = escapePosixPath; exports2.convertPathToPattern = IS_WINDOWS_PLATFORM ? convertWindowsPathToPattern : convertPosixPathToPattern; function convertWindowsPathToPattern(filepath) { return escapeWindowsPath(filepath).replace(DOS_DEVICE_PATH_RE, "//$1").replace(WINDOWS_BACKSLASHES_RE, "/"); } exports2.convertWindowsPathToPattern = convertWindowsPathToPattern; function convertPosixPathToPattern(filepath) { return escapePosixPath(filepath); } exports2.convertPosixPathToPattern = convertPosixPathToPattern; } }); // ../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.js var require_is_extglob = __commonJS({ "../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.js"(exports2, module2) { module2.exports = function isExtglob(str) { if (typeof str !== "string" || str === "") { return false; } var match; while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) { if (match[2]) return true; str = str.slice(match.index + match[0].length); } return false; }; } }); // ../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.js var require_is_glob = __commonJS({ "../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.js"(exports2, module2) { var isExtglob = require_is_extglob(); var chars = { "{": "}", "(": ")", "[": "]" }; var strictCheck = function(str) { if (str[0] === "!") { return true; } var index = 0; var pipeIndex = -2; var closeSquareIndex = -2; var closeCurlyIndex = -2; var closeParenIndex = -2; var backSlashIndex = -2; while (index < str.length) { if (str[index] === "*") { return true; } if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) { return true; } if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") { if (closeSquareIndex < index) { closeSquareIndex = str.indexOf("]", index); } if (closeSquareIndex > index) { if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { return true; } backSlashIndex = str.indexOf("\\", index); if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { return true; } } } if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") { closeCurlyIndex = str.indexOf("}", index); if (closeCurlyIndex > index) { backSlashIndex = str.indexOf("\\", index); if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) { return true; } } } if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") { closeParenIndex = str.indexOf(")", index); if (closeParenIndex > index) { backSlashIndex = str.indexOf("\\", index); if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { return true; } } } if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") { if (pipeIndex < index) { pipeIndex = str.indexOf("|", index); } if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") { closeParenIndex = str.indexOf(")", pipeIndex); if (closeParenIndex > pipeIndex) { backSlashIndex = str.indexOf("\\", pipeIndex); if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { return true; } } } } if (str[index] === "\\") { var open = str[index + 1]; index += 2; var close = chars[open]; if (close) { var n = str.indexOf(close, index); if (n !== -1) { index = n + 1; } } if (str[index] === "!") { return true; } } else { index++; } } return false; }; var relaxedCheck = function(str) { if (str[0] === "!") { return true; } var index = 0; while (index < str.length) { if (/[*?{}()[\]]/.test(str[index])) { return true; } if (str[index] === "\\") { var open = str[index + 1]; index += 2; var close = chars[open]; if (close) { var n = str.indexOf(close, index); if (n !== -1) { index = n + 1; } } if (str[index] === "!") { return true; } } else { index++; } } return false; }; module2.exports = function isGlob(str, options) { if (typeof str !== "string" || str === "") { return false; } if (isExtglob(str)) { return true; } var check = strictCheck; if (options && options.strict === false) { check = relaxedCheck; } return check(str); }; } }); // ../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.js var require_glob_parent = __commonJS({ "../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.js"(exports2, module2) { "use strict"; var isGlob = require_is_glob(); var pathPosixDirname = require("path").posix.dirname; var isWin32 = require("os").platform() === "win32"; var slash = "/"; var backslash = /\\/g; var enclosure = /[\{\[].*[\}\]]$/; var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; module2.exports = function globParent(str, opts) { var options = Object.assign({ flipBackslashes: true }, opts); if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { str = str.replace(backslash, slash); } if (enclosure.test(str)) { str += slash; } str += "a"; do { str = pathPosixDirname(str); } while (isGlob(str) || globby.test(str)); return str.replace(escaped, "$1"); }; } }); // ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/utils.js var require_utils5 = __commonJS({ "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/utils.js"(exports2) { "use strict"; exports2.isInteger = (num) => { if (typeof num === "number") { return Number.isInteger(num); } if (typeof num === "string" && num.trim() !== "") { return Number.isInteger(Number(num)); } return false; }; exports2.find = (node, type) => node.nodes.find((node2) => node2.type === type); exports2.exceedsLimit = (min, max, step = 1, limit) => { if (limit === false) return false; if (!exports2.isInteger(min) || !exports2.isInteger(max)) return false; return (Number(max) - Number(min)) / Number(step) >= limit; }; exports2.escapeNode = (block, n = 0, type) => { const node = block.nodes[n]; if (!node) return; if (type && node.type === type || node.type === "open" || node.type === "close") { if (node.escaped !== true) { node.value = "\\" + node.value; node.escaped = true; } } }; exports2.encloseBrace = (node) => { if (node.type !== "brace") return false; if (node.commas >> 0 + node.ranges >> 0 === 0) { node.invalid = true; return true; } return false; }; exports2.isInvalidBrace = (block) => { if (block.type !== "brace") return false; if (block.invalid === true || block.dollar) return true; if (block.commas >> 0 + block.ranges >> 0 === 0) { block.invalid = true; return true; } if (block.open !== true || block.close !== true) { block.invalid = true; return true; } return false; }; exports2.isOpenOrClose = (node) => { if (node.type === "open" || node.type === "close") { return true; } return node.open === true || node.close === true; }; exports2.reduce = (nodes) => nodes.reduce((acc, node) => { if (node.type === "text") acc.push(node.value); if (node.type === "range") node.type = "text"; return acc; }, []); exports2.flatten = (...args) => { const result2 = []; const flat = (arr) => { for (let i = 0; i < arr.length; i++) { const ele = arr[i]; if (Array.isArray(ele)) { flat(ele); continue; } if (ele !== void 0) { result2.push(ele); } } return result2; }; flat(args); return result2; }; } }); // ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/stringify.js var require_stringify3 = __commonJS({ "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/stringify.js"(exports2, module2) { "use strict"; var utils = require_utils5(); module2.exports = (ast, options = {}) => { const stringify2 = (node, parent = {}) => { const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); const invalidNode = node.invalid === true && options.escapeInvalid === true; let output = ""; if (node.value) { if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { return "\\" + node.value; } return node.value; } if (node.value) { return node.value; } if (node.nodes) { for (const child of node.nodes) { output += stringify2(child); } } return output; }; return stringify2(ast); }; } }); // ../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/index.js var require_is_number = __commonJS({ "../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/index.js"(exports2, module2) { "use strict"; module2.exports = function(num) { if (typeof num === "number") { return num - num === 0; } if (typeof num === "string" && num.trim() !== "") { return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); } return false; }; } }); // ../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/index.js var require_to_regex_range = __commonJS({ "../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/index.js"(exports2, module2) { "use strict"; var isNumber = require_is_number(); var toRegexRange = (min, max, options) => { if (isNumber(min) === false) { throw new TypeError("toRegexRange: expected the first argument to be a number"); } if (max === void 0 || min === max) { return String(min); } if (isNumber(max) === false) { throw new TypeError("toRegexRange: expected the second argument to be a number."); } let opts = { relaxZeros: true, ...options }; if (typeof opts.strictZeros === "boolean") { opts.relaxZeros = opts.strictZeros === false; } let relax = String(opts.relaxZeros); let shorthand = String(opts.shorthand); let capture = String(opts.capture); let wrap = String(opts.wrap); let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap; if (toRegexRange.cache.hasOwnProperty(cacheKey)) { return toRegexRange.cache[cacheKey].result; } let a = Math.min(min, max); let b = Math.max(min, max); if (Math.abs(a - b) === 1) { let result2 = min + "|" + max; if (opts.capture) { return `(${result2})`; } if (opts.wrap === false) { return result2; } return `(?:${result2})`; } let isPadded = hasPadding(min) || hasPadding(max); let state = { min, max, a, b }; let positives = []; let negatives = []; if (isPadded) { state.isPadded = isPadded; state.maxLen = String(state.max).length; } if (a < 0) { let newMin = b < 0 ? Math.abs(b) : 1; negatives = splitToPatterns(newMin, Math.abs(a), state, opts); a = state.a = 0; } if (b >= 0) { positives = splitToPatterns(a, b, state, opts); } state.negatives = negatives; state.positives = positives; state.result = collatePatterns(negatives, positives, opts); if (opts.capture === true) { state.result = `(${state.result})`; } else if (opts.wrap !== false && positives.length + negatives.length > 1) { state.result = `(?:${state.result})`; } toRegexRange.cache[cacheKey] = state; return state.result; }; function collatePatterns(neg, pos, options) { let onlyNegative = filterPatterns(neg, pos, "-", false, options) || []; let onlyPositive = filterPatterns(pos, neg, "", false, options) || []; let intersected = filterPatterns(neg, pos, "-?", true, options) || []; let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); return subpatterns.join("|"); } function splitToRanges(min, max) { let nines = 1; let zeros = 1; let stop = countNines(min, nines); let stops = /* @__PURE__ */ new Set([max]); while (min <= stop && stop <= max) { stops.add(stop); nines += 1; stop = countNines(min, nines); } stop = countZeros(max + 1, zeros) - 1; while (min < stop && stop <= max) { stops.add(stop); zeros += 1; stop = countZeros(max + 1, zeros) - 1; } stops = [...stops]; stops.sort(compare); return stops; } function rangeToPattern(start, stop, options) { if (start === stop) { return { pattern: start, count: [], digits: 0 }; } let zipped = zip(start, stop); let digits = zipped.length; let pattern = ""; let count = 0; for (let i = 0; i < digits; i++) { let [startDigit, stopDigit] = zipped[i]; if (startDigit === stopDigit) { pattern += startDigit; } else if (startDigit !== "0" || stopDigit !== "9") { pattern += toCharacterClass(startDigit, stopDigit, options); } else { count++; } } if (count) { pattern += options.shorthand === true ? "\\d" : "[0-9]"; } return { pattern, count: [count], digits }; } function splitToPatterns(min, max, tok, options) { let ranges = splitToRanges(min, max); let tokens = []; let start = min; let prev; for (let i = 0; i < ranges.length; i++) { let max2 = ranges[i]; let obj = rangeToPattern(String(start), String(max2), options); let zeros = ""; if (!tok.isPadded && prev && prev.pattern === obj.pattern) { if (prev.count.length > 1) { prev.count.pop(); } prev.count.push(obj.count[0]); prev.string = prev.pattern + toQuantifier(prev.count); start = max2 + 1; continue; } if (tok.isPadded) { zeros = padZeros(max2, tok, options); } obj.string = zeros + obj.pattern + toQuantifier(obj.count); tokens.push(obj); start = max2 + 1; prev = obj; } return tokens; } function filterPatterns(arr, comparison, prefix, intersection, options) { let result2 = []; for (let ele of arr) { let { string } = ele; if (!intersection && !contains(comparison, "string", string)) { result2.push(prefix + string); } if (intersection && contains(comparison, "string", string)) { result2.push(prefix + string); } } return result2; } function zip(a, b) { let arr = []; for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]); return arr; } function compare(a, b) { return a > b ? 1 : b > a ? -1 : 0; } function contains(arr, key, val) { return arr.some((ele) => ele[key] === val); } function countNines(min, len) { return Number(String(min).slice(0, -len) + "9".repeat(len)); } function countZeros(integer, zeros) { return integer - integer % Math.pow(10, zeros); } function toQuantifier(digits) { let [start = 0, stop = ""] = digits; if (stop || start > 1) { return `{${start + (stop ? "," + stop : "")}}`; } return ""; } function toCharacterClass(a, b, options) { return `[${a}${b - a === 1 ? "" : "-"}${b}]`; } function hasPadding(str) { return /^-?(0+)\d/.test(str); } function padZeros(value, tok, options) { if (!tok.isPadded) { return value; } let diff = Math.abs(tok.maxLen - String(value).length); let relax = options.relaxZeros !== false; switch (diff) { case 0: return ""; case 1: return relax ? "0?" : "0"; case 2: return relax ? "0{0,2}" : "00"; default: { return relax ? `0{0,${diff}}` : `0{${diff}}`; } } } toRegexRange.cache = {}; toRegexRange.clearCache = () => toRegexRange.cache = {}; module2.exports = toRegexRange; } }); // ../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/index.js var require_fill_range = __commonJS({ "../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/index.js"(exports2, module2) { "use strict"; var util = require("util"); var toRegexRange = require_to_regex_range(); var isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); var transform = (toNumber) => { return (value) => toNumber === true ? Number(value) : String(value); }; var isValidValue = (value) => { return typeof value === "number" || typeof value === "string" && value !== ""; }; var isNumber = (num) => Number.isInteger(+num); var zeros = (input) => { let value = `${input}`; let index = -1; if (value[0] === "-") value = value.slice(1); if (value === "0") return false; while (value[++index] === "0") ; return index > 0; }; var stringify2 = (start, end, options) => { if (typeof start === "string" || typeof end === "string") { return true; } return options.stringify === true; }; var pad = (input, maxLength, toNumber) => { if (maxLength > 0) { let dash = input[0] === "-" ? "-" : ""; if (dash) input = input.slice(1); input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0"); } if (toNumber === false) { return String(input); } return input; }; var toMaxLen = (input, maxLength) => { let negative = input[0] === "-" ? "-" : ""; if (negative) { input = input.slice(1); maxLength--; } while (input.length < maxLength) input = "0" + input; return negative ? "-" + input : input; }; var toSequence = (parts, options, maxLen) => { parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); let prefix = options.capture ? "" : "?:"; let positives = ""; let negatives = ""; let result2; if (parts.positives.length) { positives = parts.positives.map((v) => toMaxLen(String(v), maxLen)).join("|"); } if (parts.negatives.length) { negatives = `-(${prefix}${parts.negatives.map((v) => toMaxLen(String(v), maxLen)).join("|")})`; } if (positives && negatives) { result2 = `${positives}|${negatives}`; } else { result2 = positives || negatives; } if (options.wrap) { return `(${prefix}${result2})`; } return result2; }; var toRange = (a, b, isNumbers, options) => { if (isNumbers) { return toRegexRange(a, b, { wrap: false, ...options }); } let start = String.fromCharCode(a); if (a === b) return start; let stop = String.fromCharCode(b); return `[${start}-${stop}]`; }; var toRegex = (start, end, options) => { if (Array.isArray(start)) { let wrap = options.wrap === true; let prefix = options.capture ? "" : "?:"; return wrap ? `(${prefix}${start.join("|")})` : start.join("|"); } return toRegexRange(start, end, options); }; var rangeError = (...args) => { return new RangeError("Invalid range arguments: " + util.inspect(...args)); }; var invalidRange = (start, end, options) => { if (options.strictRanges === true) throw rangeError([start, end]); return []; }; var invalidStep = (step, options) => { if (options.strictRanges === true) { throw new TypeError(`Expected step "${step}" to be a number`); } return []; }; var fillNumbers = (start, end, step = 1, options = {}) => { let a = Number(start); let b = Number(end); if (!Number.isInteger(a) || !Number.isInteger(b)) { if (options.strictRanges === true) throw rangeError([start, end]); return []; } if (a === 0) a = 0; if (b === 0) b = 0; let descending = a > b; let startString = String(start); let endString = String(end); let stepString = String(step); step = Math.max(Math.abs(step), 1); let padded = zeros(startString) || zeros(endString) || zeros(stepString); let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; let toNumber = padded === false && stringify2(start, end, options) === false; let format = options.transform || transform(toNumber); if (options.toRegex && step === 1) { return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); } let parts = { negatives: [], positives: [] }; let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num)); let range = []; let index = 0; while (descending ? a >= b : a <= b) { if (options.toRegex === true && step > 1) { push(a); } else { range.push(pad(format(a, index), maxLen, toNumber)); } a = descending ? a - step : a + step; index++; } if (options.toRegex === true) { return step > 1 ? toSequence(parts, options, maxLen) : toRegex(range, null, { wrap: false, ...options }); } return range; }; var fillLetters = (start, end, step = 1, options = {}) => { if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) { return invalidRange(start, end, options); } let format = options.transform || ((val) => String.fromCharCode(val)); let a = `${start}`.charCodeAt(0); let b = `${end}`.charCodeAt(0); let descending = a > b; let min = Math.min(a, b); let max = Math.max(a, b); if (options.toRegex && step === 1) { return toRange(min, max, false, options); } let range = []; let index = 0; while (descending ? a >= b : a <= b) { range.push(format(a, index)); a = descending ? a - step : a + step; index++; } if (options.toRegex === true) { return toRegex(range, null, { wrap: false, options }); } return range; }; var fill = (start, end, step, options = {}) => { if (end == null && isValidValue(start)) { return [start]; } if (!isValidValue(start) || !isValidValue(end)) { return invalidRange(start, end, options); } if (typeof step === "function") { return fill(start, end, 1, { transform: step }); } if (isObject(step)) { return fill(start, end, 0, step); } let opts = { ...options }; if (opts.capture === true) opts.wrap = true; step = step || opts.step || 1; if (!isNumber(step)) { if (step != null && !isObject(step)) return invalidStep(step, opts); return fill(start, end, 1, step); } if (isNumber(start) && isNumber(end)) { return fillNumbers(start, end, step, opts); } return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); }; module2.exports = fill; } }); // ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/compile.js var require_compile = __commonJS({ "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/compile.js"(exports2, module2) { "use strict"; var fill = require_fill_range(); var utils = require_utils5(); var compile = (ast, options = {}) => { const walk = (node, parent = {}) => { const invalidBlock = utils.isInvalidBrace(parent); const invalidNode = node.invalid === true && options.escapeInvalid === true; const invalid = invalidBlock === true || invalidNode === true; const prefix = options.escapeInvalid === true ? "\\" : ""; let output = ""; if (node.isOpen === true) { return prefix + node.value; } if (node.isClose === true) { console.log("node.isClose", prefix, node.value); return prefix + node.value; } if (node.type === "open") { return invalid ? prefix + node.value : "("; } if (node.type === "close") { return invalid ? prefix + node.value : ")"; } if (node.type === "comma") { return node.prev.type === "comma" ? "" : invalid ? node.value : "|"; } if (node.value) { return node.value; } if (node.nodes && node.ranges > 0) { const args = utils.reduce(node.nodes); const range = fill(...args, { ...options, wrap: false, toRegex: true, strictZeros: true }); if (range.length !== 0) { return args.length > 1 && range.length > 1 ? `(${range})` : range; } } if (node.nodes) { for (const child of node.nodes) { output += walk(child, node); } } return output; }; return walk(ast); }; module2.exports = compile; } }); // ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/expand.js var require_expand2 = __commonJS({ "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/expand.js"(exports2, module2) { "use strict"; var fill = require_fill_range(); var stringify2 = require_stringify3(); var utils = require_utils5(); var append = (queue = "", stash = "", enclose = false) => { const result2 = []; queue = [].concat(queue); stash = [].concat(stash); if (!stash.length) return queue; if (!queue.length) { return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash; } for (const item of queue) { if (Array.isArray(item)) { for (const value of item) { result2.push(append(value, stash, enclose)); } } else { for (let ele of stash) { if (enclose === true && typeof ele === "string") ele = `{${ele}}`; result2.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele); } } } return utils.flatten(result2); }; var expand = (ast, options = {}) => { const rangeLimit = options.rangeLimit === void 0 ? 1e3 : options.rangeLimit; const walk = (node, parent = {}) => { node.queue = []; let p = parent; let q = parent.queue; while (p.type !== "brace" && p.type !== "root" && p.parent) { p = p.parent; q = p.queue; } if (node.invalid || node.dollar) { q.push(append(q.pop(), stringify2(node, options))); return; } if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) { q.push(append(q.pop(), ["{}"])); return; } if (node.nodes && node.ranges > 0) { const args = utils.reduce(node.nodes); if (utils.exceedsLimit(...args, options.step, rangeLimit)) { throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit."); } let range = fill(...args, options); if (range.length === 0) { range = stringify2(node, options); } q.push(append(q.pop(), range)); node.nodes = []; return; } const enclose = utils.encloseBrace(node); let queue = node.queue; let block = node; while (block.type !== "brace" && block.type !== "root" && block.parent) { block = block.parent; queue = block.queue; } for (let i = 0; i < node.nodes.length; i++) { const child = node.nodes[i]; if (child.type === "comma" && node.type === "brace") { if (i === 1) queue.push(""); queue.push(""); continue; } if (child.type === "close") { q.push(append(q.pop(), queue, enclose)); continue; } if (child.value && child.type !== "open") { queue.push(append(queue.pop(), child.value)); continue; } if (child.nodes) { walk(child, node); } } return queue; }; return utils.flatten(walk(ast)); }; module2.exports = expand; } }); // ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/constants.js var require_constants9 = __commonJS({ "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/constants.js"(exports2, module2) { "use strict"; module2.exports = { MAX_LENGTH: 1e4, // Digits CHAR_0: "0", /* 0 */ CHAR_9: "9", /* 9 */ // Alphabet chars. CHAR_UPPERCASE_A: "A", /* A */ CHAR_LOWERCASE_A: "a", /* a */ CHAR_UPPERCASE_Z: "Z", /* Z */ CHAR_LOWERCASE_Z: "z", /* z */ CHAR_LEFT_PARENTHESES: "(", /* ( */ CHAR_RIGHT_PARENTHESES: ")", /* ) */ CHAR_ASTERISK: "*", /* * */ // Non-alphabetic chars. CHAR_AMPERSAND: "&", /* & */ CHAR_AT: "@", /* @ */ CHAR_BACKSLASH: "\\", /* \ */ CHAR_BACKTICK: "`", /* ` */ CHAR_CARRIAGE_RETURN: "\r", /* \r */ CHAR_CIRCUMFLEX_ACCENT: "^", /* ^ */ CHAR_COLON: ":", /* : */ CHAR_COMMA: ",", /* , */ CHAR_DOLLAR: "$", /* . */ CHAR_DOT: ".", /* . */ CHAR_DOUBLE_QUOTE: '"', /* " */ CHAR_EQUAL: "=", /* = */ CHAR_EXCLAMATION_MARK: "!", /* ! */ CHAR_FORM_FEED: "\f", /* \f */ CHAR_FORWARD_SLASH: "/", /* / */ CHAR_HASH: "#", /* # */ CHAR_HYPHEN_MINUS: "-", /* - */ CHAR_LEFT_ANGLE_BRACKET: "<", /* < */ CHAR_LEFT_CURLY_BRACE: "{", /* { */ CHAR_LEFT_SQUARE_BRACKET: "[", /* [ */ CHAR_LINE_FEED: "\n", /* \n */ CHAR_NO_BREAK_SPACE: "\xA0", /* \u00A0 */ CHAR_PERCENT: "%", /* % */ CHAR_PLUS: "+", /* + */ CHAR_QUESTION_MARK: "?", /* ? */ CHAR_RIGHT_ANGLE_BRACKET: ">", /* > */ CHAR_RIGHT_CURLY_BRACE: "}", /* } */ CHAR_RIGHT_SQUARE_BRACKET: "]", /* ] */ CHAR_SEMICOLON: ";", /* ; */ CHAR_SINGLE_QUOTE: "'", /* ' */ CHAR_SPACE: " ", /* */ CHAR_TAB: " ", /* \t */ CHAR_UNDERSCORE: "_", /* _ */ CHAR_VERTICAL_LINE: "|", /* | */ CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF" /* \uFEFF */ }; } }); // ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/parse.js var require_parse5 = __commonJS({ "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/parse.js"(exports2, module2) { "use strict"; var stringify2 = require_stringify3(); var { MAX_LENGTH, CHAR_BACKSLASH, /* \ */ CHAR_BACKTICK, /* ` */ CHAR_COMMA, /* , */ CHAR_DOT, /* . */ CHAR_LEFT_PARENTHESES, /* ( */ CHAR_RIGHT_PARENTHESES, /* ) */ CHAR_LEFT_CURLY_BRACE, /* { */ CHAR_RIGHT_CURLY_BRACE, /* } */ CHAR_LEFT_SQUARE_BRACKET, /* [ */ CHAR_RIGHT_SQUARE_BRACKET, /* ] */ CHAR_DOUBLE_QUOTE, /* " */ CHAR_SINGLE_QUOTE, /* ' */ CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_NOBREAK_SPACE } = require_constants9(); var parse2 = (input, options = {}) => { if (typeof input !== "string") { throw new TypeError("Expected a string"); } const opts = options || {}; const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; if (input.length > max) { throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); } const ast = { type: "root", input, nodes: [] }; const stack = [ast]; let block = ast; let prev = ast; let brackets = 0; const length = input.length; let index = 0; let depth = 0; let value; const advance = () => input[index++]; const push = (node) => { if (node.type === "text" && prev.type === "dot") { prev.type = "text"; } if (prev && prev.type === "text" && node.type === "text") { prev.value += node.value; return; } block.nodes.push(node); node.parent = block; node.prev = prev; prev = node; return node; }; push({ type: "bos" }); while (index < length) { block = stack[stack.length - 1]; value = advance(); if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { continue; } if (value === CHAR_BACKSLASH) { push({ type: "text", value: (options.keepEscaping ? value : "") + advance() }); continue; } if (value === CHAR_RIGHT_SQUARE_BRACKET) { push({ type: "text", value: "\\" + value }); continue; } if (value === CHAR_LEFT_SQUARE_BRACKET) { brackets++; let next; while (index < length && (next = advance())) { value += next; if (next === CHAR_LEFT_SQUARE_BRACKET) { brackets++; continue; } if (next === CHAR_BACKSLASH) { value += advance(); continue; } if (next === CHAR_RIGHT_SQUARE_BRACKET) { brackets--; if (brackets === 0) { break; } } } push({ type: "text", value }); continue; } if (value === CHAR_LEFT_PARENTHESES) { block = push({ type: "paren", nodes: [] }); stack.push(block); push({ type: "text", value }); continue; } if (value === CHAR_RIGHT_PARENTHESES) { if (block.type !== "paren") { push({ type: "text", value }); continue; } block = stack.pop(); push({ type: "text", value }); block = stack[stack.length - 1]; continue; } if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) { const open = value; let next; if (options.keepQuotes !== true) { value = ""; } while (index < length && (next = advance())) { if (next === CHAR_BACKSLASH) { value += next + advance(); continue; } if (next === open) { if (options.keepQuotes === true) value += next; break; } value += next; } push({ type: "text", value }); continue; } if (value === CHAR_LEFT_CURLY_BRACE) { depth++; const dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true; const brace = { type: "brace", open: true, close: false, dollar, depth, commas: 0, ranges: 0, nodes: [] }; block = push(brace); stack.push(block); push({ type: "open", value }); continue; } if (value === CHAR_RIGHT_CURLY_BRACE) { if (block.type !== "brace") { push({ type: "text", value }); continue; } const type = "close"; block = stack.pop(); block.close = true; push({ type, value }); depth--; block = stack[stack.length - 1]; continue; } if (value === CHAR_COMMA && depth > 0) { if (block.ranges > 0) { block.ranges = 0; const open = block.nodes.shift(); block.nodes = [open, { type: "text", value: stringify2(block) }]; } push({ type: "comma", value }); block.commas++; continue; } if (value === CHAR_DOT && depth > 0 && block.commas === 0) { const siblings = block.nodes; if (depth === 0 || siblings.length === 0) { push({ type: "text", value }); continue; } if (prev.type === "dot") { block.range = []; prev.value += value; prev.type = "range"; if (block.nodes.length !== 3 && block.nodes.length !== 5) { block.invalid = true; block.ranges = 0; prev.type = "text"; continue; } block.ranges++; block.args = []; continue; } if (prev.type === "range") { siblings.pop(); const before = siblings[siblings.length - 1]; before.value += prev.value + value; prev = before; block.ranges--; continue; } push({ type: "dot", value }); continue; } push({ type: "text", value }); } do { block = stack.pop(); if (block.type !== "root") { block.nodes.forEach((node) => { if (!node.nodes) { if (node.type === "open") node.isOpen = true; if (node.type === "close") node.isClose = true; if (!node.nodes) node.type = "text"; node.invalid = true; } }); const parent = stack[stack.length - 1]; const index2 = parent.nodes.indexOf(block); parent.nodes.splice(index2, 1, ...block.nodes); } } while (stack.length > 0); push({ type: "eos" }); return ast; }; module2.exports = parse2; } }); // ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/index.js var require_braces = __commonJS({ "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/index.js"(exports2, module2) { "use strict"; var stringify2 = require_stringify3(); var compile = require_compile(); var expand = require_expand2(); var parse2 = require_parse5(); var braces = (input, options = {}) => { let output = []; if (Array.isArray(input)) { for (const pattern of input) { const result2 = braces.create(pattern, options); if (Array.isArray(result2)) { output.push(...result2); } else { output.push(result2); } } } else { output = [].concat(braces.create(input, options)); } if (options && options.expand === true && options.nodupes === true) { output = [...new Set(output)]; } return output; }; braces.parse = (input, options = {}) => parse2(input, options); braces.stringify = (input, options = {}) => { if (typeof input === "string") { return stringify2(braces.parse(input, options), options); } return stringify2(input, options); }; braces.compile = (input, options = {}) => { if (typeof input === "string") { input = braces.parse(input, options); } return compile(input, options); }; braces.expand = (input, options = {}) => { if (typeof input === "string") { input = braces.parse(input, options); } let result2 = expand(input, options); if (options.noempty === true) { result2 = result2.filter(Boolean); } if (options.nodupes === true) { result2 = [...new Set(result2)]; } return result2; }; braces.create = (input, options = {}) => { if (input === "" || input.length < 3) { return [input]; } return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options); }; module2.exports = braces; } }); // ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/constants.js var require_constants10 = __commonJS({ "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/constants.js"(exports2, module2) { "use strict"; var path2 = require("path"); var WIN_SLASH = "\\\\/"; var WIN_NO_SLASH = `[^${WIN_SLASH}]`; var DOT_LITERAL = "\\."; var PLUS_LITERAL = "\\+"; var QMARK_LITERAL = "\\?"; var SLASH_LITERAL = "\\/"; var ONE_CHAR = "(?=.)"; var QMARK = "[^/]"; var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; var START_ANCHOR = `(?:^|${SLASH_LITERAL})`; var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; var NO_DOT = `(?!${DOT_LITERAL})`; var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; var STAR = `${QMARK}*?`; var POSIX_CHARS = { DOT_LITERAL, PLUS_LITERAL, QMARK_LITERAL, SLASH_LITERAL, ONE_CHAR, QMARK, END_ANCHOR, DOTS_SLASH, NO_DOT, NO_DOTS, NO_DOT_SLASH, NO_DOTS_SLASH, QMARK_NO_DOT, STAR, START_ANCHOR }; var WINDOWS_CHARS = { ...POSIX_CHARS, SLASH_LITERAL: `[${WIN_SLASH}]`, QMARK: WIN_NO_SLASH, STAR: `${WIN_NO_SLASH}*?`, DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, NO_DOT: `(?!${DOT_LITERAL})`, NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, QMARK_NO_DOT: `[^.${WIN_SLASH}]`, START_ANCHOR: `(?:^|[${WIN_SLASH}])`, END_ANCHOR: `(?:[${WIN_SLASH}]|$)` }; var POSIX_REGEX_SOURCE = { 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" }; module2.exports = { MAX_LENGTH: 1024 * 64, POSIX_REGEX_SOURCE, // 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: path2.sep, /** * Create EXTGLOB_CHARS */ extglobChars(chars) { return { "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` }, "?": { type: "qmark", open: "(?:", close: ")?" }, "+": { type: "plus", open: "(?:", close: ")+" }, "*": { type: "star", open: "(?:", close: ")*" }, "@": { type: "at", open: "(?:", close: ")" } }; }, /** * Create GLOB_CHARS */ globChars(win32) { return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; } }; } }); // ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/utils.js var require_utils6 = __commonJS({ "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/utils.js"(exports2) { "use strict"; var path2 = require("path"); var win32 = process.platform === "win32"; var { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants10(); exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); exports2.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str); exports2.isRegexChar = (str) => str.length === 1 && exports2.hasRegexChars(str); exports2.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1"); exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/"); exports2.removeBackslashes = (str) => { return str.replace(REGEX_REMOVE_BACKSLASH, (match) => { return match === "\\" ? "" : match; }); }; exports2.supportsLookbehinds = () => { const segs = process.version.slice(1).split(".").map(Number); if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) { return true; } return false; }; exports2.isWindows = (options) => { if (options && typeof options.windows === "boolean") { return options.windows; } return win32 === true || path2.sep === "\\"; }; exports2.escapeLast = (input, char, lastIdx) => { const idx = input.lastIndexOf(char, lastIdx); if (idx === -1) return input; if (input[idx - 1] === "\\") return exports2.escapeLast(input, char, idx - 1); return `${input.slice(0, idx)}\\${input.slice(idx)}`; }; exports2.removePrefix = (input, state = {}) => { let output = input; if (output.startsWith("./")) { output = output.slice(2); state.prefix = "./"; } return output; }; exports2.wrapOutput = (input, state = {}, options = {}) => { const prepend = options.contains ? "" : "^"; const append = options.contains ? "" : "$"; let output = `${prepend}(?:${input})${append}`; if (state.negated === true) { output = `(?:^(?!${output}).*$)`; } return output; }; } }); // ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/scan.js var require_scan3 = __commonJS({ "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/scan.js"(exports2, module2) { "use strict"; var utils = require_utils6(); var { CHAR_ASTERISK, /* * */ CHAR_AT, /* @ */ CHAR_BACKWARD_SLASH, /* \ */ CHAR_COMMA, /* , */ CHAR_DOT, /* . */ CHAR_EXCLAMATION_MARK, /* ! */ CHAR_FORWARD_SLASH, /* / */ CHAR_LEFT_CURLY_BRACE, /* { */ CHAR_LEFT_PARENTHESES, /* ( */ CHAR_LEFT_SQUARE_BRACKET, /* [ */ CHAR_PLUS, /* + */ CHAR_QUESTION_MARK, /* ? */ CHAR_RIGHT_CURLY_BRACE, /* } */ CHAR_RIGHT_PARENTHESES, /* ) */ CHAR_RIGHT_SQUARE_BRACKET /* ] */ } = require_constants10(); var isPathSeparator = (code) => { return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; }; var depth = (token) => { if (token.isPrefix !== true) { token.depth = token.isGlobstar ? Infinity : 1; } }; var scan = (input, options) => { const opts = options || {}; const length = input.length - 1; const scanToEnd = opts.parts === true || opts.scanToEnd === true; const slashes = []; const tokens = []; const parts = []; let str = input; let index = -1; let start = 0; let lastIndex = 0; let isBrace = false; let isBracket = false; let isGlob = false; let isExtglob = false; let isGlobstar = false; let braceEscaped = false; let backslashes = false; let negated = false; let negatedExtglob = false; let finished = false; let braces = 0; let prev; let code; let token = { value: "", depth: 0, isGlob: false }; const eos = () => index >= length; const peek = () => str.charCodeAt(index + 1); const advance = () => { prev = code; return str.charCodeAt(++index); }; while (index < length) { code = advance(); let next; if (code === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; code = advance(); if (code === CHAR_LEFT_CURLY_BRACE) { braceEscaped = true; } continue; } if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { braces++; while (eos() !== true && (code = advance())) { if (code === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; advance(); continue; } if (code === CHAR_LEFT_CURLY_BRACE) { braces++; continue; } if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { isBrace = token.isBrace = true; isGlob = token.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (braceEscaped !== true && code === CHAR_COMMA) { isBrace = token.isBrace = true; isGlob = token.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (code === CHAR_RIGHT_CURLY_BRACE) { braces--; if (braces === 0) { braceEscaped = false; isBrace = token.isBrace = true; finished = true; break; } } } if (scanToEnd === true) { continue; } break; } if (code === CHAR_FORWARD_SLASH) { slashes.push(index); tokens.push(token); token = { value: "", depth: 0, isGlob: false }; if (finished === true) continue; if (prev === CHAR_DOT && index === start + 1) { start += 2; continue; } lastIndex = index + 1; continue; } if (opts.noext !== true) { const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { isGlob = token.isGlob = true; isExtglob = token.isExtglob = true; finished = true; if (code === CHAR_EXCLAMATION_MARK && index === start) { negatedExtglob = true; } if (scanToEnd === true) { while (eos() !== true && (code = advance())) { if (code === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; code = advance(); continue; } if (code === CHAR_RIGHT_PARENTHESES) { isGlob = token.isGlob = true; finished = true; break; } } continue; } break; } } if (code === CHAR_ASTERISK) { if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; isGlob = token.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (code === CHAR_QUESTION_MARK) { isGlob = token.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (code === CHAR_LEFT_SQUARE_BRACKET) { while (eos() !== true && (next = advance())) { if (next === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; advance(); continue; } if (next === CHAR_RIGHT_SQUARE_BRACKET) { isBracket = token.isBracket = true; isGlob = token.isGlob = true; finished = true; break; } } if (scanToEnd === true) { continue; } break; } if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { negated = token.negated = true; start++; continue; } if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { isGlob = token.isGlob = true; if (scanToEnd === true) { while (eos() !== true && (code = advance())) { if (code === CHAR_LEFT_PARENTHESES) { backslashes = token.backslashes = true; code = advance(); continue; } if (code === CHAR_RIGHT_PARENTHESES) { finished = true; break; } } continue; } break; } if (isGlob === true) { finished = true; if (scanToEnd === true) { continue; } break; } } if (opts.noext === true) { isExtglob = false; isGlob = false; } let base = str; let prefix = ""; let glob = ""; if (start > 0) { prefix = str.slice(0, start); str = str.slice(start); lastIndex -= start; } if (base && isGlob === true && lastIndex > 0) { base = str.slice(0, lastIndex); glob = str.slice(lastIndex); } else if (isGlob === true) { base = ""; glob = str; } else { base = str; } if (base && base !== "" && base !== "/" && base !== str) { if (isPathSeparator(base.charCodeAt(base.length - 1))) { base = base.slice(0, -1); } } if (opts.unescape === true) { if (glob) glob = utils.removeBackslashes(glob); if (base && backslashes === true) { base = utils.removeBackslashes(base); } } const state = { prefix, input, start, base, glob, isBrace, isBracket, isGlob, isExtglob, isGlobstar, negated, negatedExtglob }; if (opts.tokens === true) { state.maxDepth = 0; if (!isPathSeparator(code)) { tokens.push(token); } state.tokens = tokens; } if (opts.parts === true || opts.tokens === true) { let prevIndex; for (let idx = 0; idx < slashes.length; idx++) { const n = prevIndex ? prevIndex + 1 : start; const i = slashes[idx]; const value = input.slice(n, i); if (opts.tokens) { if (idx === 0 && start !== 0) { tokens[idx].isPrefix = true; tokens[idx].value = prefix; } else { tokens[idx].value = value; } depth(tokens[idx]); state.maxDepth += tokens[idx].depth; } if (idx !== 0 || value !== "") { parts.push(value); } prevIndex = i; } if (prevIndex && prevIndex + 1 < input.length) { const value = input.slice(prevIndex + 1); parts.push(value); if (opts.tokens) { tokens[tokens.length - 1].value = value; depth(tokens[tokens.length - 1]); state.maxDepth += tokens[tokens.length - 1].depth; } } state.slashes = slashes; state.parts = parts; } return state; }; module2.exports = scan; } }); // ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/parse.js var require_parse6 = __commonJS({ "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/parse.js"(exports2, module2) { "use strict"; var constants = require_constants10(); var utils = require_utils6(); var { MAX_LENGTH, POSIX_REGEX_SOURCE, REGEX_NON_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_BACKREF, REPLACEMENTS } = constants; var expandRange = (args, options) => { if (typeof options.expandRange === "function") { return options.expandRange(...args, options); } args.sort(); const value = `[${args.join("-")}]`; try { new RegExp(value); } catch (ex) { return args.map((v) => utils.escapeRegex(v)).join(".."); } return value; }; var syntaxError = (type, char) => { return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; }; var parse2 = (input, options) => { if (typeof input !== "string") { throw new TypeError("Expected a string"); } input = REPLACEMENTS[input] || input; const opts = { ...options }; const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; let len = input.length; if (len > max) { throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); } const bos = { type: "bos", value: "", output: opts.prepend || "" }; const tokens = [bos]; const capture = opts.capture ? "" : "?:"; const win32 = utils.isWindows(options); const PLATFORM_CHARS = constants.globChars(win32); const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); const { DOT_LITERAL, PLUS_LITERAL, SLASH_LITERAL, ONE_CHAR, DOTS_SLASH, NO_DOT, NO_DOT_SLASH, NO_DOTS_SLASH, QMARK, QMARK_NO_DOT, STAR, START_ANCHOR } = PLATFORM_CHARS; const globstar = (opts2) => { return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; }; const nodot = opts.dot ? "" : NO_DOT; const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; let star = opts.bash === true ? globstar(opts) : STAR; if (opts.capture) { star = `(${star})`; } if (typeof opts.noext === "boolean") { opts.noextglob = opts.noext; } const state = { input, index: -1, start: 0, dot: opts.dot === true, consumed: "", output: "", prefix: "", backtrack: false, negated: false, brackets: 0, braces: 0, parens: 0, quotes: 0, globstar: false, tokens }; input = utils.removePrefix(input, state); len = input.length; const extglobs = []; const braces = []; const stack = []; let prev = bos; let value; const eos = () => state.index === len - 1; const peek = state.peek = (n = 1) => input[state.index + n]; const advance = state.advance = () => input[++state.index] || ""; const remaining = () => input.slice(state.index + 1); const consume = (value2 = "", num = 0) => { state.consumed += value2; state.index += num; }; const append = (token) => { state.output += token.output != null ? token.output : token.value; consume(token.value); }; const negate = () => { let count = 1; while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) { advance(); state.start++; count++; } if (count % 2 === 0) { return false; } state.negated = true; state.start++; return true; }; const increment = (type) => { state[type]++; stack.push(type); }; const decrement = (type) => { state[type]--; stack.pop(); }; const push = (tok) => { if (prev.type === "globstar") { const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace"); const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren"); if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) { state.output = state.output.slice(0, -prev.output.length); prev.type = "star"; prev.value = "*"; prev.output = star; state.output += prev.output; } } if (extglobs.length && tok.type !== "paren") { extglobs[extglobs.length - 1].inner += tok.value; } if (tok.value || tok.output) append(tok); if (prev && prev.type === "text" && tok.type === "text") { prev.value += tok.value; prev.output = (prev.output || "") + tok.value; return; } tok.prev = prev; tokens.push(tok); prev = tok; }; const extglobOpen = (type, value2) => { const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" }; token.prev = prev; token.parens = state.parens; token.output = state.output; const output = (opts.capture ? "(" : "") + token.open; increment("parens"); push({ type, value: value2, output: state.output ? "" : ONE_CHAR }); push({ type: "paren", extglob: true, value: advance(), output }); extglobs.push(token); }; const extglobClose = (token) => { let output = token.close + (opts.capture ? ")" : ""); let rest; if (token.type === "negate") { let extglobStar = star; if (token.inner && token.inner.length > 1 && token.inner.includes("/")) { extglobStar = globstar(opts); } if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { output = token.close = `)$))${extglobStar}`; } if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { const expression = parse2(rest, { ...options, fastpaths: false }).output; output = token.close = `)${expression})${extglobStar})`; } if (token.prev.type === "bos") { state.negatedExtglob = true; } } push({ type: "paren", extglob: true, value, output }); decrement("parens"); }; if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { let backslashes = false; let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { if (first === "\\") { backslashes = true; return m; } if (first === "?") { if (esc) { return esc + first + (rest ? QMARK.repeat(rest.length) : ""); } if (index === 0) { return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ""); } return QMARK.repeat(chars.length); } if (first === ".") { return DOT_LITERAL.repeat(chars.length); } if (first === "*") { if (esc) { return esc + first + (rest ? star : ""); } return star; } return esc ? m : `\\${m}`; }); if (backslashes === true) { if (opts.unescape === true) { output = output.replace(/\\/g, ""); } else { output = output.replace(/\\+/g, (m) => { return m.length % 2 === 0 ? "\\\\" : m ? "\\" : ""; }); } } if (output === input && opts.contains === true) { state.output = input; return state; } state.output = utils.wrapOutput(output, state, options); return state; } while (!eos()) { value = advance(); if (value === "\0") { continue; } if (value === "\\") { const next = peek(); if (next === "/" && opts.bash !== true) { continue; } if (next === "." || next === ";") { continue; } if (!next) { value += "\\"; push({ type: "text", value }); continue; } const match = /^\\+/.exec(remaining()); let slashes = 0; if (match && match[0].length > 2) { slashes = match[0].length; state.index += slashes; if (slashes % 2 !== 0) { value += "\\"; } } if (opts.unescape === true) { value = advance(); } else { value += advance(); } if (state.brackets === 0) { push({ type: "text", value }); continue; } } if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) { if (opts.posix !== false && value === ":") { const inner = prev.value.slice(1); if (inner.includes("[")) { prev.posix = true; if (inner.includes(":")) { const idx = prev.value.lastIndexOf("["); const pre = prev.value.slice(0, idx); const rest2 = prev.value.slice(idx + 2); const posix = POSIX_REGEX_SOURCE[rest2]; if (posix) { prev.value = pre + posix; state.backtrack = true; advance(); if (!bos.output && tokens.indexOf(prev) === 1) { bos.output = ONE_CHAR; } continue; } } } } if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") { value = `\\${value}`; } if (value === "]" && (prev.value === "[" || prev.value === "[^")) { value = `\\${value}`; } if (opts.posix === true && value === "!" && prev.value === "[") { value = "^"; } prev.value += value; append({ value }); continue; } if (state.quotes === 1 && value !== '"') { value = utils.escapeRegex(value); prev.value += value; append({ value }); continue; } if (value === '"') { state.quotes = state.quotes === 1 ? 0 : 1; if (opts.keepQuotes === true) { push({ type: "text", value }); } continue; } if (value === "(") { increment("parens"); push({ type: "paren", value }); continue; } if (value === ")") { if (state.parens === 0 && opts.strictBrackets === true) { throw new SyntaxError(syntaxError("opening", "(")); } const extglob = extglobs[extglobs.length - 1]; if (extglob && state.parens === extglob.parens + 1) { extglobClose(extglobs.pop()); continue; } push({ type: "paren", value, output: state.parens ? ")" : "\\)" }); decrement("parens"); continue; } if (value === "[") { if (opts.nobracket === true || !remaining().includes("]")) { if (opts.nobracket !== true && opts.strictBrackets === true) { throw new SyntaxError(syntaxError("closing", "]")); } value = `\\${value}`; } else { increment("brackets"); } push({ type: "bracket", value }); continue; } if (value === "]") { if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) { push({ type: "text", value, output: `\\${value}` }); continue; } if (state.brackets === 0) { if (opts.strictBrackets === true) { throw new SyntaxError(syntaxError("opening", "[")); } push({ type: "text", value, output: `\\${value}` }); continue; } decrement("brackets"); const prevValue = prev.value.slice(1); if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) { value = `/${value}`; } prev.value += value; append({ value }); if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) { continue; } const escaped = utils.escapeRegex(prev.value); state.output = state.output.slice(0, -prev.value.length); if (opts.literalBrackets === true) { state.output += escaped; prev.value = escaped; continue; } prev.value = `(${capture}${escaped}|${prev.value})`; state.output += prev.value; continue; } if (value === "{" && opts.nobrace !== true) { increment("braces"); const open = { type: "brace", value, output: "(", outputIndex: state.output.length, tokensIndex: state.tokens.length }; braces.push(open); push(open); continue; } if (value === "}") { const brace = braces[braces.length - 1]; if (opts.nobrace === true || !brace) { push({ type: "text", value, output: value }); continue; } let output = ")"; if (brace.dots === true) { const arr = tokens.slice(); const range = []; for (let i = arr.length - 1; i >= 0; i--) { tokens.pop(); if (arr[i].type === "brace") { break; } if (arr[i].type !== "dots") { range.unshift(arr[i].value); } } output = expandRange(range, opts); state.backtrack = true; } if (brace.comma !== true && brace.dots !== true) { const out = state.output.slice(0, brace.outputIndex); const toks = state.tokens.slice(brace.tokensIndex); brace.value = brace.output = "\\{"; value = output = "\\}"; state.output = out; for (const t of toks) { state.output += t.output || t.value; } } push({ type: "brace", value, output }); decrement("braces"); braces.pop(); continue; } if (value === "|") { if (extglobs.length > 0) { extglobs[extglobs.length - 1].conditions++; } push({ type: "text", value }); continue; } if (value === ",") { let output = value; const brace = braces[braces.length - 1]; if (brace && stack[stack.length - 1] === "braces") { brace.comma = true; output = "|"; } push({ type: "comma", value, output }); continue; } if (value === "/") { if (prev.type === "dot" && state.index === state.start + 1) { state.start = state.index + 1; state.consumed = ""; state.output = ""; tokens.pop(); prev = bos; continue; } push({ type: "slash", value, output: SLASH_LITERAL }); continue; } if (value === ".") { if (state.braces > 0 && prev.type === "dot") { if (prev.value === ".") prev.output = DOT_LITERAL; const brace = braces[braces.length - 1]; prev.type = "dots"; prev.output += value; prev.value += value; brace.dots = true; continue; } if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") { push({ type: "text", value, output: DOT_LITERAL }); continue; } push({ type: "dot", value, output: DOT_LITERAL }); continue; } if (value === "?") { const isGroup = prev && prev.value === "("; if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { extglobOpen("qmark", value); continue; } if (prev && prev.type === "paren") { const next = peek(); let output = value; if (next === "<" && !utils.supportsLookbehinds()) { throw new Error("Node.js v10 or higher is required for regex lookbehinds"); } if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) { output = `\\${value}`; } push({ type: "text", value, output }); continue; } if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) { push({ type: "qmark", value, output: QMARK_NO_DOT }); continue; } push({ type: "qmark", value, output: QMARK }); continue; } if (value === "!") { if (opts.noextglob !== true && peek() === "(") { if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) { extglobOpen("negate", value); continue; } } if (opts.nonegate !== true && state.index === 0) { negate(); continue; } } if (value === "+") { if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { extglobOpen("plus", value); continue; } if (prev && prev.value === "(" || opts.regex === false) { push({ type: "plus", value, output: PLUS_LITERAL }); continue; } if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) { push({ type: "plus", value }); continue; } push({ type: "plus", value: PLUS_LITERAL }); continue; } if (value === "@") { if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { push({ type: "at", extglob: true, value, output: "" }); continue; } push({ type: "text", value }); continue; } if (value !== "*") { if (value === "$" || value === "^") { value = `\\${value}`; } const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); if (match) { value += match[0]; state.index += match[0].length; } push({ type: "text", value }); continue; } if (prev && (prev.type === "globstar" || prev.star === true)) { prev.type = "star"; prev.star = true; prev.value += value; prev.output = star; state.backtrack = true; state.globstar = true; consume(value); continue; } let rest = remaining(); if (opts.noextglob !== true && /^\([^?]/.test(rest)) { extglobOpen("star", value); continue; } if (prev.type === "star") { if (opts.noglobstar === true) { consume(value); continue; } const prior = prev.prev; const before = prior.prev; const isStart = prior.type === "slash" || prior.type === "bos"; const afterStar = before && (before.type === "star" || before.type === "globstar"); if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) { push({ type: "star", value, output: "" }); continue; } const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace"); const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren"); if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) { push({ type: "star", value, output: "" }); continue; } while (rest.slice(0, 3) === "/**") { const after = input[state.index + 4]; if (after && after !== "/") { break; } rest = rest.slice(3); consume("/**", 3); } if (prior.type === "bos" && eos()) { prev.type = "globstar"; prev.value += value; prev.output = globstar(opts); state.output = prev.output; state.globstar = true; consume(value); continue; } if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) { state.output = state.output.slice(0, -(prior.output + prev.output).length); prior.output = `(?:${prior.output}`; prev.type = "globstar"; prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)"); prev.value += value; state.globstar = true; state.output += prior.output + prev.output; consume(value); continue; } if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") { const end = rest[1] !== void 0 ? "|$" : ""; state.output = state.output.slice(0, -(prior.output + prev.output).length); prior.output = `(?:${prior.output}`; prev.type = "globstar"; prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; prev.value += value; state.output += prior.output + prev.output; state.globstar = true; consume(value + advance()); push({ type: "slash", value: "/", output: "" }); continue; } if (prior.type === "bos" && rest[0] === "/") { prev.type = "globstar"; prev.value += value; prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; state.output = prev.output; state.globstar = true; consume(value + advance()); push({ type: "slash", value: "/", output: "" }); continue; } state.output = state.output.slice(0, -prev.output.length); prev.type = "globstar"; prev.output = globstar(opts); prev.value += value; state.output += prev.output; state.globstar = true; consume(value); continue; } const token = { type: "star", value, output: star }; if (opts.bash === true) { token.output = ".*?"; if (prev.type === "bos" || prev.type === "slash") { token.output = nodot + token.output; } push(token); continue; } if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) { token.output = value; push(token); continue; } if (state.index === state.start || prev.type === "slash" || prev.type === "dot") { if (prev.type === "dot") { state.output += NO_DOT_SLASH; prev.output += NO_DOT_SLASH; } else if (opts.dot === true) { state.output += NO_DOTS_SLASH; prev.output += NO_DOTS_SLASH; } else { state.output += nodot; prev.output += nodot; } if (peek() !== "*") { state.output += ONE_CHAR; prev.output += ONE_CHAR; } } push(token); } while (state.brackets > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]")); state.output = utils.escapeLast(state.output, "["); decrement("brackets"); } while (state.parens > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")")); state.output = utils.escapeLast(state.output, "("); decrement("parens"); } while (state.braces > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}")); state.output = utils.escapeLast(state.output, "{"); decrement("braces"); } if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) { push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` }); } if (state.backtrack === true) { state.output = ""; for (const token of state.tokens) { state.output += token.output != null ? token.output : token.value; if (token.suffix) { state.output += token.suffix; } } } return state; }; parse2.fastpaths = (input, options) => { const opts = { ...options }; const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; const len = input.length; if (len > max) { throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); } input = REPLACEMENTS[input] || input; const win32 = utils.isWindows(options); const { DOT_LITERAL, SLASH_LITERAL, ONE_CHAR, DOTS_SLASH, NO_DOT, NO_DOTS, NO_DOTS_SLASH, STAR, START_ANCHOR } = constants.globChars(win32); const nodot = opts.dot ? NO_DOTS : NO_DOT; const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; const capture = opts.capture ? "" : "?:"; const state = { negated: false, prefix: "" }; let star = opts.bash === true ? ".*?" : STAR; if (opts.capture) { star = `(${star})`; } const globstar = (opts2) => { if (opts2.noglobstar === true) return star; return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; }; const create = (str) => { switch (str) { case "*": return `${nodot}${ONE_CHAR}${star}`; case ".*": return `${DOT_LITERAL}${ONE_CHAR}${star}`; case "*.*": return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; case "*/*": return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; case "**": return nodot + globstar(opts); case "**/*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; case "**/*.*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; case "**/.*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; default: { const match = /^(.*?)\.(\w+)$/.exec(str); if (!match) return; const source2 = create(match[1]); if (!source2) return; return source2 + DOT_LITERAL + match[2]; } } }; const output = utils.removePrefix(input, state); let source = create(output); if (source && opts.strictSlashes !== true) { source += `${SLASH_LITERAL}?`; } return source; }; module2.exports = parse2; } }); // ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/picomatch.js var require_picomatch = __commonJS({ "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/picomatch.js"(exports2, module2) { "use strict"; var path2 = require("path"); var scan = require_scan3(); var parse2 = require_parse6(); var utils = require_utils6(); var constants = require_constants10(); var isObject = (val) => val && typeof val === "object" && !Array.isArray(val); var picomatch = (glob, options, returnState = false) => { if (Array.isArray(glob)) { const fns = glob.map((input) => picomatch(input, options, returnState)); const arrayMatcher = (str) => { for (const isMatch of fns) { const state2 = isMatch(str); if (state2) return state2; } return false; }; return arrayMatcher; } const isState = isObject(glob) && glob.tokens && glob.input; if (glob === "" || typeof glob !== "string" && !isState) { throw new TypeError("Expected pattern to be a non-empty string"); } const opts = options || {}; const posix = utils.isWindows(options); const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true); const state = regex.state; delete regex.state; let isIgnored = () => false; if (opts.ignore) { const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null }; isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); } const matcher = (input, returnObject = false) => { const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix }); const result2 = { glob, state, regex, posix, input, output, match, isMatch }; if (typeof opts.onResult === "function") { opts.onResult(result2); } if (isMatch === false) { result2.isMatch = false; return returnObject ? result2 : false; } if (isIgnored(input)) { if (typeof opts.onIgnore === "function") { opts.onIgnore(result2); } result2.isMatch = false; return returnObject ? result2 : false; } if (typeof opts.onMatch === "function") { opts.onMatch(result2); } return returnObject ? result2 : true; }; if (returnState) { matcher.state = state; } return matcher; }; picomatch.test = (input, regex, options, { glob, posix } = {}) => { if (typeof input !== "string") { throw new TypeError("Expected input to be a string"); } if (input === "") { return { isMatch: false, output: "" }; } const opts = options || {}; const format = opts.format || (posix ? utils.toPosixSlashes : null); let match = input === glob; let output = match && format ? format(input) : input; if (match === false) { output = format ? format(input) : input; match = output === glob; } if (match === false || opts.capture === true) { if (opts.matchBase === true || opts.basename === true) { match = picomatch.matchBase(input, regex, options, posix); } else { match = regex.exec(output); } } return { isMatch: Boolean(match), match, output }; }; picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => { const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); return regex.test(path2.basename(input)); }; picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); picomatch.parse = (pattern, options) => { if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options)); return parse2(pattern, { ...options, fastpaths: false }); }; picomatch.scan = (input, options) => scan(input, options); picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => { if (returnOutput === true) { return state.output; } const opts = options || {}; const prepend = opts.contains ? "" : "^"; const append = opts.contains ? "" : "$"; let source = `${prepend}(?:${state.output})${append}`; if (state && state.negated === true) { source = `^(?!${source}).*$`; } const regex = picomatch.toRegex(source, options); if (returnState === true) { regex.state = state; } return regex; }; picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { if (!input || typeof input !== "string") { throw new TypeError("Expected a non-empty string"); } let parsed = { negated: false, fastpaths: true }; if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) { parsed.output = parse2.fastpaths(input, options); } if (!parsed.output) { parsed = parse2(input, options); } return picomatch.compileRe(parsed, options, returnOutput, returnState); }; picomatch.toRegex = (source, options) => { try { const opts = options || {}; return new RegExp(source, opts.flags || (opts.nocase ? "i" : "")); } catch (err) { if (options && options.debug === true) throw err; return /$^/; } }; picomatch.constants = constants; module2.exports = picomatch; } }); // ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/index.js var require_picomatch2 = __commonJS({ "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/index.js"(exports2, module2) { "use strict"; module2.exports = require_picomatch(); } }); // ../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/index.js var require_micromatch = __commonJS({ "../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/index.js"(exports2, module2) { "use strict"; var util = require("util"); var braces = require_braces(); var picomatch = require_picomatch2(); var utils = require_utils6(); var isEmptyString = (v) => v === "" || v === "./"; var hasBraces = (v) => { const index = v.indexOf("{"); return index > -1 && v.indexOf("}", index) > -1; }; var micromatch = (list, patterns, options) => { patterns = [].concat(patterns); list = [].concat(list); let omit = /* @__PURE__ */ new Set(); let keep = /* @__PURE__ */ new Set(); let items = /* @__PURE__ */ new Set(); let negatives = 0; let onResult = (state) => { items.add(state.output); if (options && options.onResult) { options.onResult(state); } }; for (let i = 0; i < patterns.length; i++) { let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true); let negated = isMatch.state.negated || isMatch.state.negatedExtglob; if (negated) negatives++; for (let item of list) { let matched = isMatch(item, true); let match = negated ? !matched.isMatch : matched.isMatch; if (!match) continue; if (negated) { omit.add(matched.output); } else { omit.delete(matched.output); keep.add(matched.output); } } } let result2 = negatives === patterns.length ? [...items] : [...keep]; let matches = result2.filter((item) => !omit.has(item)); if (options && matches.length === 0) { if (options.failglob === true) { throw new Error(`No matches found for "${patterns.join(", ")}"`); } if (options.nonull === true || options.nullglob === true) { return options.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns; } } return matches; }; micromatch.match = micromatch; micromatch.matcher = (pattern, options) => picomatch(pattern, options); micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); micromatch.any = micromatch.isMatch; micromatch.not = (list, patterns, options = {}) => { patterns = [].concat(patterns).map(String); let result2 = /* @__PURE__ */ new Set(); let items = []; let onResult = (state) => { if (options.onResult) options.onResult(state); items.push(state.output); }; let matches = new Set(micromatch(list, patterns, { ...options, onResult })); for (let item of items) { if (!matches.has(item)) { result2.add(item); } } return [...result2]; }; micromatch.contains = (str, pattern, options) => { if (typeof str !== "string") { throw new TypeError(`Expected a string: "${util.inspect(str)}"`); } if (Array.isArray(pattern)) { return pattern.some((p) => micromatch.contains(str, p, options)); } if (typeof pattern === "string") { if (isEmptyString(str) || isEmptyString(pattern)) { return false; } if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) { return true; } } return micromatch.isMatch(str, pattern, { ...options, contains: true }); }; micromatch.matchKeys = (obj, patterns, options) => { if (!utils.isObject(obj)) { throw new TypeError("Expected the first argument to be an object"); } let keys = micromatch(Object.keys(obj), patterns, options); let res = {}; for (let key of keys) res[key] = obj[key]; return res; }; micromatch.some = (list, patterns, options) => { let items = [].concat(list); for (let pattern of [].concat(patterns)) { let isMatch = picomatch(String(pattern), options); if (items.some((item) => isMatch(item))) { return true; } } return false; }; micromatch.every = (list, patterns, options) => { let items = [].concat(list); for (let pattern of [].concat(patterns)) { let isMatch = picomatch(String(pattern), options); if (!items.every((item) => isMatch(item))) { return false; } } return true; }; micromatch.all = (str, patterns, options) => { if (typeof str !== "string") { throw new TypeError(`Expected a string: "${util.inspect(str)}"`); } return [].concat(patterns).every((p) => picomatch(p, options)(str)); }; micromatch.capture = (glob, input, options) => { let posix = utils.isWindows(options); let regex = picomatch.makeRe(String(glob), { ...options, capture: true }); let match = regex.exec(posix ? utils.toPosixSlashes(input) : input); if (match) { return match.slice(1).map((v) => v === void 0 ? "" : v); } }; micromatch.makeRe = (...args) => picomatch.makeRe(...args); micromatch.scan = (...args) => picomatch.scan(...args); micromatch.parse = (patterns, options) => { let res = []; for (let pattern of [].concat(patterns || [])) { for (let str of braces(String(pattern), options)) { res.push(picomatch.parse(str, options)); } } return res; }; micromatch.braces = (pattern, options) => { if (typeof pattern !== "string") throw new TypeError("Expected a string"); if (options && options.nobrace === true || !hasBraces(pattern)) { return [pattern]; } return braces(pattern, options); }; micromatch.braceExpand = (pattern, options) => { if (typeof pattern !== "string") throw new TypeError("Expected a string"); return micromatch.braces(pattern, { ...options, expand: true }); }; micromatch.hasBraces = hasBraces; module2.exports = micromatch; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/pattern.js var require_pattern = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/pattern.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isAbsolute = exports2.partitionAbsoluteAndRelative = exports2.removeDuplicateSlashes = exports2.matchAny = exports2.convertPatternsToRe = exports2.makeRe = exports2.getPatternParts = exports2.expandBraceExpansion = exports2.expandPatternsWithBraceExpansion = exports2.isAffectDepthOfReadingPattern = exports2.endsWithSlashGlobStar = exports2.hasGlobStar = exports2.getBaseDirectory = exports2.isPatternRelatedToParentDirectory = exports2.getPatternsOutsideCurrentDirectory = exports2.getPatternsInsideCurrentDirectory = exports2.getPositivePatterns = exports2.getNegativePatterns = exports2.isPositivePattern = exports2.isNegativePattern = exports2.convertToNegativePattern = exports2.convertToPositivePattern = exports2.isDynamicPattern = exports2.isStaticPattern = void 0; var path2 = require("path"); var globParent = require_glob_parent(); var micromatch = require_micromatch(); var GLOBSTAR = "**"; var ESCAPE_SYMBOL = "\\"; var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; var REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/; var REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/; var GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/; var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./; var DOUBLE_SLASH_RE = /(?!^)\/{2,}/g; function isStaticPattern(pattern, options = {}) { return !isDynamicPattern(pattern, options); } exports2.isStaticPattern = isStaticPattern; function isDynamicPattern(pattern, options = {}) { if (pattern === "") { return false; } if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) { return true; } if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) { return true; } if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) { return true; } if (options.braceExpansion !== false && hasBraceExpansion(pattern)) { return true; } return false; } exports2.isDynamicPattern = isDynamicPattern; function hasBraceExpansion(pattern) { const openingBraceIndex = pattern.indexOf("{"); if (openingBraceIndex === -1) { return false; } const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1); if (closingBraceIndex === -1) { return false; } const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex); return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent); } function convertToPositivePattern(pattern) { return isNegativePattern(pattern) ? pattern.slice(1) : pattern; } exports2.convertToPositivePattern = convertToPositivePattern; function convertToNegativePattern(pattern) { return "!" + pattern; } exports2.convertToNegativePattern = convertToNegativePattern; function isNegativePattern(pattern) { return pattern.startsWith("!") && pattern[1] !== "("; } exports2.isNegativePattern = isNegativePattern; function isPositivePattern(pattern) { return !isNegativePattern(pattern); } exports2.isPositivePattern = isPositivePattern; function getNegativePatterns(patterns) { return patterns.filter(isNegativePattern); } exports2.getNegativePatterns = getNegativePatterns; function getPositivePatterns(patterns) { return patterns.filter(isPositivePattern); } exports2.getPositivePatterns = getPositivePatterns; function getPatternsInsideCurrentDirectory(patterns) { return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern)); } exports2.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory; function getPatternsOutsideCurrentDirectory(patterns) { return patterns.filter(isPatternRelatedToParentDirectory); } exports2.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory; function isPatternRelatedToParentDirectory(pattern) { return pattern.startsWith("..") || pattern.startsWith("./.."); } exports2.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory; function getBaseDirectory(pattern) { return globParent(pattern, { flipBackslashes: false }); } exports2.getBaseDirectory = getBaseDirectory; function hasGlobStar(pattern) { return pattern.includes(GLOBSTAR); } exports2.hasGlobStar = hasGlobStar; function endsWithSlashGlobStar(pattern) { return pattern.endsWith("/" + GLOBSTAR); } exports2.endsWithSlashGlobStar = endsWithSlashGlobStar; function isAffectDepthOfReadingPattern(pattern) { const basename = path2.basename(pattern); return endsWithSlashGlobStar(pattern) || isStaticPattern(basename); } exports2.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern; function expandPatternsWithBraceExpansion(patterns) { return patterns.reduce((collection, pattern) => { return collection.concat(expandBraceExpansion(pattern)); }, []); } exports2.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion; function expandBraceExpansion(pattern) { const patterns = micromatch.braces(pattern, { expand: true, nodupes: true, keepEscaping: true }); patterns.sort((a, b) => a.length - b.length); return patterns.filter((pattern2) => pattern2 !== ""); } exports2.expandBraceExpansion = expandBraceExpansion; function getPatternParts(pattern, options) { let { parts } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true })); if (parts.length === 0) { parts = [pattern]; } if (parts[0].startsWith("/")) { parts[0] = parts[0].slice(1); parts.unshift(""); } return parts; } exports2.getPatternParts = getPatternParts; function makeRe(pattern, options) { return micromatch.makeRe(pattern, options); } exports2.makeRe = makeRe; function convertPatternsToRe(patterns, options) { return patterns.map((pattern) => makeRe(pattern, options)); } exports2.convertPatternsToRe = convertPatternsToRe; function matchAny(entry, patternsRe) { return patternsRe.some((patternRe) => patternRe.test(entry)); } exports2.matchAny = matchAny; function removeDuplicateSlashes(pattern) { return pattern.replace(DOUBLE_SLASH_RE, "/"); } exports2.removeDuplicateSlashes = removeDuplicateSlashes; function partitionAbsoluteAndRelative(patterns) { const absolute = []; const relative = []; for (const pattern of patterns) { if (isAbsolute(pattern)) { absolute.push(pattern); } else { relative.push(pattern); } } return [absolute, relative]; } exports2.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative; function isAbsolute(pattern) { return path2.isAbsolute(pattern); } exports2.isAbsolute = isAbsolute; } }); // ../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/index.js var require_merge22 = __commonJS({ "../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/index.js"(exports2, module2) { "use strict"; var Stream = require("stream"); var PassThrough = Stream.PassThrough; var slice = Array.prototype.slice; module2.exports = merge2; function merge2() { const streamsQueue = []; const args = slice.call(arguments); let merging = false; let options = args[args.length - 1]; if (options && !Array.isArray(options) && options.pipe == null) { args.pop(); } else { options = {}; } const doEnd = options.end !== false; const doPipeError = options.pipeError === true; if (options.objectMode == null) { options.objectMode = true; } if (options.highWaterMark == null) { options.highWaterMark = 64 * 1024; } const mergedStream = PassThrough(options); function addStream() { for (let i = 0, len = arguments.length; i < len; i++) { streamsQueue.push(pauseStreams(arguments[i], options)); } mergeStream(); return this; } function mergeStream() { if (merging) { return; } merging = true; let streams = streamsQueue.shift(); if (!streams) { process.nextTick(endStream); return; } if (!Array.isArray(streams)) { streams = [streams]; } let pipesCount = streams.length + 1; function next() { if (--pipesCount > 0) { return; } merging = false; mergeStream(); } function pipe(stream) { function onend() { stream.removeListener("merge2UnpipeEnd", onend); stream.removeListener("end", onend); if (doPipeError) { stream.removeListener("error", onerror); } next(); } function onerror(err) { mergedStream.emit("error", err); } if (stream._readableState.endEmitted) { return next(); } stream.on("merge2UnpipeEnd", onend); stream.on("end", onend); if (doPipeError) { stream.on("error", onerror); } stream.pipe(mergedStream, { end: false }); stream.resume(); } for (let i = 0; i < streams.length; i++) { pipe(streams[i]); } next(); } function endStream() { merging = false; mergedStream.emit("queueDrain"); if (doEnd) { mergedStream.end(); } } mergedStream.setMaxListeners(0); mergedStream.add = addStream; mergedStream.on("unpipe", function(stream) { stream.emit("merge2UnpipeEnd"); }); if (args.length) { addStream.apply(null, args); } return mergedStream; } function pauseStreams(streams, options) { if (!Array.isArray(streams)) { if (!streams._readableState && streams.pipe) { streams = streams.pipe(PassThrough(options)); } if (!streams._readableState || !streams.pause || !streams.pipe) { throw new Error("Only readable stream can be merged."); } streams.pause(); } else { for (let i = 0, len = streams.length; i < len; i++) { streams[i] = pauseStreams(streams[i], options); } } return streams; } } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/stream.js var require_stream3 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/stream.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.merge = void 0; var merge2 = require_merge22(); function merge(streams) { const mergedStream = merge2(streams); streams.forEach((stream) => { stream.once("error", (error) => mergedStream.emit("error", error)); }); mergedStream.once("close", () => propagateCloseEventToSources(streams)); mergedStream.once("end", () => propagateCloseEventToSources(streams)); return mergedStream; } exports2.merge = merge; function propagateCloseEventToSources(streams) { streams.forEach((stream) => stream.emit("close")); } } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/string.js var require_string = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/string.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isEmpty = exports2.isString = void 0; function isString(input) { return typeof input === "string"; } exports2.isString = isString; function isEmpty(input) { return input === ""; } exports2.isEmpty = isEmpty; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/index.js var require_utils7 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.string = exports2.stream = exports2.pattern = exports2.path = exports2.fs = exports2.errno = exports2.array = void 0; var array = require_array(); exports2.array = array; var errno = require_errno(); exports2.errno = errno; var fs = require_fs3(); exports2.fs = fs; var path2 = require_path4(); exports2.path = path2; var pattern = require_pattern(); exports2.pattern = pattern; var stream = require_stream3(); exports2.stream = stream; var string = require_string(); exports2.string = string; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/managers/tasks.js var require_tasks = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/managers/tasks.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.convertPatternGroupToTask = exports2.convertPatternGroupsToTasks = exports2.groupPatternsByBaseDirectory = exports2.getNegativePatternsAsPositive = exports2.getPositivePatterns = exports2.convertPatternsToTasks = exports2.generate = void 0; var utils = require_utils7(); function generate(input, settings) { const patterns = processPatterns(input, settings); const ignore = processPatterns(settings.ignore, settings); const positivePatterns = getPositivePatterns(patterns); const negativePatterns = getNegativePatternsAsPositive(patterns, ignore); const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings)); const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings)); const staticTasks = convertPatternsToTasks( staticPatterns, negativePatterns, /* dynamic */ false ); const dynamicTasks = convertPatternsToTasks( dynamicPatterns, negativePatterns, /* dynamic */ true ); return staticTasks.concat(dynamicTasks); } exports2.generate = generate; function processPatterns(input, settings) { let patterns = input; if (settings.braceExpansion) { patterns = utils.pattern.expandPatternsWithBraceExpansion(patterns); } if (settings.baseNameMatch) { patterns = patterns.map((pattern) => pattern.includes("/") ? pattern : `**/${pattern}`); } return patterns.map((pattern) => utils.pattern.removeDuplicateSlashes(pattern)); } function convertPatternsToTasks(positive, negative, dynamic) { const tasks = []; const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive); const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive); const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory); const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory); tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic)); if ("." in insideCurrentDirectoryGroup) { tasks.push(convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic)); } else { tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic)); } return tasks; } exports2.convertPatternsToTasks = convertPatternsToTasks; function getPositivePatterns(patterns) { return utils.pattern.getPositivePatterns(patterns); } exports2.getPositivePatterns = getPositivePatterns; function getNegativePatternsAsPositive(patterns, ignore) { const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore); const positive = negative.map(utils.pattern.convertToPositivePattern); return positive; } exports2.getNegativePatternsAsPositive = getNegativePatternsAsPositive; function groupPatternsByBaseDirectory(patterns) { const group = {}; return patterns.reduce((collection, pattern) => { const base = utils.pattern.getBaseDirectory(pattern); if (base in collection) { collection[base].push(pattern); } else { collection[base] = [pattern]; } return collection; }, group); } exports2.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory; function convertPatternGroupsToTasks(positive, negative, dynamic) { return Object.keys(positive).map((base) => { return convertPatternGroupToTask(base, positive[base], negative, dynamic); }); } exports2.convertPatternGroupsToTasks = convertPatternGroupsToTasks; function convertPatternGroupToTask(base, positive, negative, dynamic) { return { dynamic, positive, negative, base, patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern)) }; } exports2.convertPatternGroupToTask = convertPatternGroupToTask; } }); // ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.js var require_async2 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.read = void 0; function read(path2, settings, callback) { settings.fs.lstat(path2, (lstatError, lstat) => { if (lstatError !== null) { callFailureCallback(callback, lstatError); return; } if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { callSuccessCallback(callback, lstat); return; } settings.fs.stat(path2, (statError, stat) => { if (statError !== null) { if (settings.throwErrorOnBrokenSymbolicLink) { callFailureCallback(callback, statError); return; } callSuccessCallback(callback, lstat); return; } if (settings.markSymbolicLink) { stat.isSymbolicLink = () => true; } callSuccessCallback(callback, stat); }); }); } exports2.read = read; function callFailureCallback(callback, error) { callback(error); } function callSuccessCallback(callback, result2) { callback(null, result2); } } }); // ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.js var require_sync2 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.read = void 0; function read(path2, settings) { const lstat = settings.fs.lstatSync(path2); if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { return lstat; } try { const stat = settings.fs.statSync(path2); if (settings.markSymbolicLink) { stat.isSymbolicLink = () => true; } return stat; } catch (error) { if (!settings.throwErrorOnBrokenSymbolicLink) { return lstat; } throw error; } } exports2.read = read; } }); // ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.js var require_fs4 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0; var fs = require("fs"); exports2.FILE_SYSTEM_ADAPTER = { lstat: fs.lstat, stat: fs.stat, lstatSync: fs.lstatSync, statSync: fs.statSync }; function createFileSystemAdapter(fsMethods) { if (fsMethods === void 0) { return exports2.FILE_SYSTEM_ADAPTER; } return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods); } exports2.createFileSystemAdapter = createFileSystemAdapter; } }); // ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.js var require_settings = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var fs = require_fs4(); var Settings = class { constructor(_options = {}) { this._options = _options; this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); this.fs = fs.createFileSystemAdapter(this._options.fs); this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); } _getValue(option, value) { return option !== null && option !== void 0 ? option : value; } }; exports2.default = Settings; } }); // ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.js var require_out = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.statSync = exports2.stat = exports2.Settings = void 0; var async = require_async2(); var sync = require_sync2(); var settings_1 = require_settings(); exports2.Settings = settings_1.default; function stat(path2, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === "function") { async.read(path2, getSettings(), optionsOrSettingsOrCallback); return; } async.read(path2, getSettings(optionsOrSettingsOrCallback), callback); } exports2.stat = stat; function statSync(path2, optionsOrSettings) { const settings = getSettings(optionsOrSettings); return sync.read(path2, settings); } exports2.statSync = statSync; function getSettings(settingsOrOptions = {}) { if (settingsOrOptions instanceof settings_1.default) { return settingsOrOptions; } return new settings_1.default(settingsOrOptions); } } }); // ../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/index.js var require_queue_microtask = __commonJS({ "../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/index.js"(exports2, module2) { var promise; module2.exports = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : global) : (cb) => (promise || (promise = Promise.resolve())).then(cb).catch((err) => setTimeout(() => { throw err; }, 0)); } }); // ../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js var require_run_parallel = __commonJS({ "../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js"(exports2, module2) { module2.exports = runParallel; var queueMicrotask2 = require_queue_microtask(); function runParallel(tasks, cb) { let results, pending, keys; let isSync = true; if (Array.isArray(tasks)) { results = []; pending = tasks.length; } else { keys = Object.keys(tasks); results = {}; pending = keys.length; } function done(err) { function end() { if (cb) cb(err, results); cb = null; } if (isSync) queueMicrotask2(end); else end(); } function each(i, err, result2) { results[i] = result2; if (--pending === 0 || err) { done(err); } } if (!pending) { done(null); } else if (keys) { keys.forEach(function(key) { tasks[key](function(err, result2) { each(key, err, result2); }); }); } else { tasks.forEach(function(task, i) { task(function(err, result2) { each(i, err, result2); }); }); } isSync = false; } } }); // ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/constants.js var require_constants11 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/constants.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0; var NODE_PROCESS_VERSION_PARTS = process.versions.node.split("."); if (NODE_PROCESS_VERSION_PARTS[0] === void 0 || NODE_PROCESS_VERSION_PARTS[1] === void 0) { throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`); } var MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); var MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); var SUPPORTED_MAJOR_VERSION = 10; var SUPPORTED_MINOR_VERSION = 10; var IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; var IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; } }); // ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/fs.js var require_fs5 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/fs.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createDirentFromStats = void 0; var DirentFromStats = class { constructor(name, stats) { this.name = name; this.isBlockDevice = stats.isBlockDevice.bind(stats); this.isCharacterDevice = stats.isCharacterDevice.bind(stats); this.isDirectory = stats.isDirectory.bind(stats); this.isFIFO = stats.isFIFO.bind(stats); this.isFile = stats.isFile.bind(stats); this.isSocket = stats.isSocket.bind(stats); this.isSymbolicLink = stats.isSymbolicLink.bind(stats); } }; function createDirentFromStats(name, stats) { return new DirentFromStats(name, stats); } exports2.createDirentFromStats = createDirentFromStats; } }); // ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.js var require_utils8 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.fs = void 0; var fs = require_fs5(); exports2.fs = fs; } }); // ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/common.js var require_common6 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/common.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.joinPathSegments = void 0; function joinPathSegments(a, b, separator) { if (a.endsWith(separator)) { return a + b; } return a + separator + b; } exports2.joinPathSegments = joinPathSegments; } }); // ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.js var require_async3 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0; var fsStat = require_out(); var rpl = require_run_parallel(); var constants_1 = require_constants11(); var utils = require_utils8(); var common = require_common6(); function read(directory, settings, callback) { if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { readdirWithFileTypes(directory, settings, callback); return; } readdir(directory, settings, callback); } exports2.read = read; function readdirWithFileTypes(directory, settings, callback) { settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => { if (readdirError !== null) { callFailureCallback(callback, readdirError); return; } const entries = dirents.map((dirent) => ({ dirent, name: dirent.name, path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) })); if (!settings.followSymbolicLinks) { callSuccessCallback(callback, entries); return; } const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings)); rpl(tasks, (rplError, rplEntries) => { if (rplError !== null) { callFailureCallback(callback, rplError); return; } callSuccessCallback(callback, rplEntries); }); }); } exports2.readdirWithFileTypes = readdirWithFileTypes; function makeRplTaskEntry(entry, settings) { return (done) => { if (!entry.dirent.isSymbolicLink()) { done(null, entry); return; } settings.fs.stat(entry.path, (statError, stats) => { if (statError !== null) { if (settings.throwErrorOnBrokenSymbolicLink) { done(statError); return; } done(null, entry); return; } entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); done(null, entry); }); }; } function readdir(directory, settings, callback) { settings.fs.readdir(directory, (readdirError, names) => { if (readdirError !== null) { callFailureCallback(callback, readdirError); return; } const tasks = names.map((name) => { const path2 = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); return (done) => { fsStat.stat(path2, settings.fsStatSettings, (error, stats) => { if (error !== null) { done(error); return; } const entry = { name, path: path2, dirent: utils.fs.createDirentFromStats(name, stats) }; if (settings.stats) { entry.stats = stats; } done(null, entry); }); }; }); rpl(tasks, (rplError, entries) => { if (rplError !== null) { callFailureCallback(callback, rplError); return; } callSuccessCallback(callback, entries); }); }); } exports2.readdir = readdir; function callFailureCallback(callback, error) { callback(error); } function callSuccessCallback(callback, result2) { callback(null, result2); } } }); // ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/sync.js var require_sync3 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/sync.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0; var fsStat = require_out(); var constants_1 = require_constants11(); var utils = require_utils8(); var common = require_common6(); function read(directory, settings) { if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { return readdirWithFileTypes(directory, settings); } return readdir(directory, settings); } exports2.read = read; function readdirWithFileTypes(directory, settings) { const dirents = settings.fs.readdirSync(directory, { withFileTypes: true }); return dirents.map((dirent) => { const entry = { dirent, name: dirent.name, path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) }; if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { try { const stats = settings.fs.statSync(entry.path); entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); } catch (error) { if (settings.throwErrorOnBrokenSymbolicLink) { throw error; } } } return entry; }); } exports2.readdirWithFileTypes = readdirWithFileTypes; function readdir(directory, settings) { const names = settings.fs.readdirSync(directory); return names.map((name) => { const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); const stats = fsStat.statSync(entryPath, settings.fsStatSettings); const entry = { name, path: entryPath, dirent: utils.fs.createDirentFromStats(name, stats) }; if (settings.stats) { entry.stats = stats; } return entry; }); } exports2.readdir = readdir; } }); // ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.js var require_fs6 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0; var fs = require("fs"); exports2.FILE_SYSTEM_ADAPTER = { lstat: fs.lstat, stat: fs.stat, lstatSync: fs.lstatSync, statSync: fs.statSync, readdir: fs.readdir, readdirSync: fs.readdirSync }; function createFileSystemAdapter(fsMethods) { if (fsMethods === void 0) { return exports2.FILE_SYSTEM_ADAPTER; } return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods); } exports2.createFileSystemAdapter = createFileSystemAdapter; } }); // ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.js var require_settings2 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var path2 = require("path"); var fsStat = require_out(); var fs = require_fs6(); var Settings = class { constructor(_options = {}) { this._options = _options; this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); this.fs = fs.createFileSystemAdapter(this._options.fs); this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path2.sep); this.stats = this._getValue(this._options.stats, false); this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); this.fsStatSettings = new fsStat.Settings({ followSymbolicLink: this.followSymbolicLinks, fs: this.fs, throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink }); } _getValue(option, value) { return option !== null && option !== void 0 ? option : value; } }; exports2.default = Settings; } }); // ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.js var require_out2 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Settings = exports2.scandirSync = exports2.scandir = void 0; var async = require_async3(); var sync = require_sync3(); var settings_1 = require_settings2(); exports2.Settings = settings_1.default; function scandir(path2, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === "function") { async.read(path2, getSettings(), optionsOrSettingsOrCallback); return; } async.read(path2, getSettings(optionsOrSettingsOrCallback), callback); } exports2.scandir = scandir; function scandirSync(path2, optionsOrSettings) { const settings = getSettings(optionsOrSettings); return sync.read(path2, settings); } exports2.scandirSync = scandirSync; function getSettings(settingsOrOptions = {}) { if (settingsOrOptions instanceof settings_1.default) { return settingsOrOptions; } return new settings_1.default(settingsOrOptions); } } }); // ../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/reusify.js var require_reusify = __commonJS({ "../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/reusify.js"(exports2, module2) { "use strict"; function reusify(Constructor) { var head = new Constructor(); var tail = head; function get() { var current = head; if (current.next) { head = current.next; } else { head = new Constructor(); tail = head; } current.next = null; return current; } function release(obj) { tail.next = obj; tail = obj; } return { get, release }; } module2.exports = reusify; } }); // ../node_modules/.pnpm/fastq@1.19.1/node_modules/fastq/queue.js var require_queue2 = __commonJS({ "../node_modules/.pnpm/fastq@1.19.1/node_modules/fastq/queue.js"(exports2, module2) { "use strict"; var reusify = require_reusify(); function fastqueue(context, worker, _concurrency) { if (typeof context === "function") { _concurrency = worker; worker = context; context = null; } if (!(_concurrency >= 1)) { throw new Error("fastqueue concurrency must be equal to or greater than 1"); } var cache = reusify(Task); var queueHead = null; var queueTail = null; var _running = 0; var errorHandler = null; var self2 = { push, drain: noop, saturated: noop, pause, paused: false, get concurrency() { return _concurrency; }, set concurrency(value) { if (!(value >= 1)) { throw new Error("fastqueue concurrency must be equal to or greater than 1"); } _concurrency = value; if (self2.paused) return; for (; queueHead && _running < _concurrency; ) { _running++; release(); } }, running, resume, idle, length, getQueue, unshift, empty: noop, kill, killAndDrain, error }; return self2; function running() { return _running; } function pause() { self2.paused = true; } function length() { var current = queueHead; var counter = 0; while (current) { current = current.next; counter++; } return counter; } function getQueue() { var current = queueHead; var tasks = []; while (current) { tasks.push(current.value); current = current.next; } return tasks; } function resume() { if (!self2.paused) return; self2.paused = false; if (queueHead === null) { _running++; release(); return; } for (; queueHead && _running < _concurrency; ) { _running++; release(); } } function idle() { return _running === 0 && self2.length() === 0; } function push(value, done) { var current = cache.get(); current.context = context; current.release = release; current.value = value; current.callback = done || noop; current.errorHandler = errorHandler; if (_running >= _concurrency || self2.paused) { if (queueTail) { queueTail.next = current; queueTail = current; } else { queueHead = current; queueTail = current; self2.saturated(); } } else { _running++; worker.call(context, current.value, current.worked); } } function unshift(value, done) { var current = cache.get(); current.context = context; current.release = release; current.value = value; current.callback = done || noop; current.errorHandler = errorHandler; if (_running >= _concurrency || self2.paused) { if (queueHead) { current.next = queueHead; queueHead = current; } else { queueHead = current; queueTail = current; self2.saturated(); } } else { _running++; worker.call(context, current.value, current.worked); } } function release(holder) { if (holder) { cache.release(holder); } var next = queueHead; if (next && _running <= _concurrency) { if (!self2.paused) { if (queueTail === queueHead) { queueTail = null; } queueHead = next.next; next.next = null; worker.call(context, next.value, next.worked); if (queueTail === null) { self2.empty(); } } else { _running--; } } else if (--_running === 0) { self2.drain(); } } function kill() { queueHead = null; queueTail = null; self2.drain = noop; } function killAndDrain() { queueHead = null; queueTail = null; self2.drain(); self2.drain = noop; } function error(handler) { errorHandler = handler; } } function noop() { } function Task() { this.value = null; this.callback = noop; this.next = null; this.release = noop; this.context = null; this.errorHandler = null; var self2 = this; this.worked = function worked(err, result2) { var callback = self2.callback; var errorHandler = self2.errorHandler; var val = self2.value; self2.value = null; self2.callback = noop; if (self2.errorHandler) { errorHandler(err, val); } callback.call(self2.context, err, result2); self2.release(self2); }; } function queueAsPromised(context, worker, _concurrency) { if (typeof context === "function") { _concurrency = worker; worker = context; context = null; } function asyncWrapper(arg, cb) { worker.call(this, arg).then(function(res) { cb(null, res); }, cb); } var queue = fastqueue(context, asyncWrapper, _concurrency); var pushCb = queue.push; var unshiftCb = queue.unshift; queue.push = push; queue.unshift = unshift; queue.drained = drained; return queue; function push(value) { var p = new Promise(function(resolve, reject) { pushCb(value, function(err, result2) { if (err) { reject(err); return; } resolve(result2); }); }); p.catch(noop); return p; } function unshift(value) { var p = new Promise(function(resolve, reject) { unshiftCb(value, function(err, result2) { if (err) { reject(err); return; } resolve(result2); }); }); p.catch(noop); return p; } function drained() { var p = new Promise(function(resolve) { process.nextTick(function() { if (queue.idle()) { resolve(); } else { var previousDrain = queue.drain; queue.drain = function() { if (typeof previousDrain === "function") previousDrain(); resolve(); queue.drain = previousDrain; }; } }); }); return p; } } module2.exports = fastqueue; module2.exports.promise = queueAsPromised; } }); // ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/common.js var require_common7 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/common.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.joinPathSegments = exports2.replacePathSegmentSeparator = exports2.isAppliedFilter = exports2.isFatalError = void 0; function isFatalError(settings, error) { if (settings.errorFilter === null) { return true; } return !settings.errorFilter(error); } exports2.isFatalError = isFatalError; function isAppliedFilter(filter, value) { return filter === null || filter(value); } exports2.isAppliedFilter = isAppliedFilter; function replacePathSegmentSeparator(filepath, separator) { return filepath.split(/[/\\]/).join(separator); } exports2.replacePathSegmentSeparator = replacePathSegmentSeparator; function joinPathSegments(a, b, separator) { if (a === "") { return b; } if (a.endsWith(separator)) { return a + b; } return a + separator + b; } exports2.joinPathSegments = joinPathSegments; } }); // ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.js var require_reader = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var common = require_common7(); var Reader = class { constructor(_root, _settings) { this._root = _root; this._settings = _settings; this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); } }; exports2.default = Reader; } }); // ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.js var require_async4 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var events_1 = require("events"); var fsScandir = require_out2(); var fastq = require_queue2(); var common = require_common7(); var reader_1 = require_reader(); var AsyncReader = class extends reader_1.default { constructor(_root, _settings) { super(_root, _settings); this._settings = _settings; this._scandir = fsScandir.scandir; this._emitter = new events_1.EventEmitter(); this._queue = fastq(this._worker.bind(this), this._settings.concurrency); this._isFatalError = false; this._isDestroyed = false; this._queue.drain = () => { if (!this._isFatalError) { this._emitter.emit("end"); } }; } read() { this._isFatalError = false; this._isDestroyed = false; setImmediate(() => { this._pushToQueue(this._root, this._settings.basePath); }); return this._emitter; } get isDestroyed() { return this._isDestroyed; } destroy() { if (this._isDestroyed) { throw new Error("The reader is already destroyed"); } this._isDestroyed = true; this._queue.killAndDrain(); } onEntry(callback) { this._emitter.on("entry", callback); } onError(callback) { this._emitter.once("error", callback); } onEnd(callback) { this._emitter.once("end", callback); } _pushToQueue(directory, base) { const queueItem = { directory, base }; this._queue.push(queueItem, (error) => { if (error !== null) { this._handleError(error); } }); } _worker(item, done) { this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { if (error !== null) { done(error, void 0); return; } for (const entry of entries) { this._handleEntry(entry, item.base); } done(null, void 0); }); } _handleError(error) { if (this._isDestroyed || !common.isFatalError(this._settings, error)) { return; } this._isFatalError = true; this._isDestroyed = true; this._emitter.emit("error", error); } _handleEntry(entry, base) { if (this._isDestroyed || this._isFatalError) { return; } const fullpath = entry.path; if (base !== void 0) { entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); } if (common.isAppliedFilter(this._settings.entryFilter, entry)) { this._emitEntry(entry); } if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); } } _emitEntry(entry) { this._emitter.emit("entry", entry); } }; exports2.default = AsyncReader; } }); // ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.js var require_async5 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var async_1 = require_async4(); var AsyncProvider = class { constructor(_root, _settings) { this._root = _root; this._settings = _settings; this._reader = new async_1.default(this._root, this._settings); this._storage = []; } read(callback) { this._reader.onError((error) => { callFailureCallback(callback, error); }); this._reader.onEntry((entry) => { this._storage.push(entry); }); this._reader.onEnd(() => { callSuccessCallback(callback, this._storage); }); this._reader.read(); } }; exports2.default = AsyncProvider; function callFailureCallback(callback, error) { callback(error); } function callSuccessCallback(callback, entries) { callback(null, entries); } } }); // ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/stream.js var require_stream4 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/stream.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var stream_12 = require("stream"); var async_1 = require_async4(); var StreamProvider = class { constructor(_root, _settings) { this._root = _root; this._settings = _settings; this._reader = new async_1.default(this._root, this._settings); this._stream = new stream_12.Readable({ objectMode: true, read: () => { }, destroy: () => { if (!this._reader.isDestroyed) { this._reader.destroy(); } } }); } read() { this._reader.onError((error) => { this._stream.emit("error", error); }); this._reader.onEntry((entry) => { this._stream.push(entry); }); this._reader.onEnd(() => { this._stream.push(null); }); this._reader.read(); return this._stream; } }; exports2.default = StreamProvider; } }); // ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/sync.js var require_sync4 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var fsScandir = require_out2(); var common = require_common7(); var reader_1 = require_reader(); var SyncReader = class extends reader_1.default { constructor() { super(...arguments); this._scandir = fsScandir.scandirSync; this._storage = []; this._queue = /* @__PURE__ */ new Set(); } read() { this._pushToQueue(this._root, this._settings.basePath); this._handleQueue(); return this._storage; } _pushToQueue(directory, base) { this._queue.add({ directory, base }); } _handleQueue() { for (const item of this._queue.values()) { this._handleDirectory(item.directory, item.base); } } _handleDirectory(directory, base) { try { const entries = this._scandir(directory, this._settings.fsScandirSettings); for (const entry of entries) { this._handleEntry(entry, base); } } catch (error) { this._handleError(error); } } _handleError(error) { if (!common.isFatalError(this._settings, error)) { return; } throw error; } _handleEntry(entry, base) { const fullpath = entry.path; if (base !== void 0) { entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); } if (common.isAppliedFilter(this._settings.entryFilter, entry)) { this._pushToStorage(entry); } if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); } } _pushToStorage(entry) { this._storage.push(entry); } }; exports2.default = SyncReader; } }); // ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.js var require_sync5 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var sync_1 = require_sync4(); var SyncProvider = class { constructor(_root, _settings) { this._root = _root; this._settings = _settings; this._reader = new sync_1.default(this._root, this._settings); } read() { return this._reader.read(); } }; exports2.default = SyncProvider; } }); // ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.js var require_settings3 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var path2 = require("path"); var fsScandir = require_out2(); var Settings = class { constructor(_options = {}) { this._options = _options; this.basePath = this._getValue(this._options.basePath, void 0); this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY); this.deepFilter = this._getValue(this._options.deepFilter, null); this.entryFilter = this._getValue(this._options.entryFilter, null); this.errorFilter = this._getValue(this._options.errorFilter, null); this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path2.sep); this.fsScandirSettings = new fsScandir.Settings({ followSymbolicLinks: this._options.followSymbolicLinks, fs: this._options.fs, pathSegmentSeparator: this._options.pathSegmentSeparator, stats: this._options.stats, throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink }); } _getValue(option, value) { return option !== null && option !== void 0 ? option : value; } }; exports2.default = Settings; } }); // ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.js var require_out3 = __commonJS({ "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Settings = exports2.walkStream = exports2.walkSync = exports2.walk = void 0; var async_1 = require_async5(); var stream_12 = require_stream4(); var sync_1 = require_sync5(); var settings_1 = require_settings3(); exports2.Settings = settings_1.default; function walk(directory, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === "function") { new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback); return; } new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); } exports2.walk = walk; function walkSync(directory, optionsOrSettings) { const settings = getSettings(optionsOrSettings); const provider = new sync_1.default(directory, settings); return provider.read(); } exports2.walkSync = walkSync; function walkStream(directory, optionsOrSettings) { const settings = getSettings(optionsOrSettings); const provider = new stream_12.default(directory, settings); return provider.read(); } exports2.walkStream = walkStream; function getSettings(settingsOrOptions = {}) { if (settingsOrOptions instanceof settings_1.default) { return settingsOrOptions; } return new settings_1.default(settingsOrOptions); } } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/reader.js var require_reader2 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/reader.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var path2 = require("path"); var fsStat = require_out(); var utils = require_utils7(); var Reader = class { constructor(_settings) { this._settings = _settings; this._fsStatSettings = new fsStat.Settings({ followSymbolicLink: this._settings.followSymbolicLinks, fs: this._settings.fs, throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks }); } _getFullEntryPath(filepath) { return path2.resolve(this._settings.cwd, filepath); } _makeEntry(stats, pattern) { const entry = { name: pattern, path: pattern, dirent: utils.fs.createDirentFromStats(pattern, stats) }; if (this._settings.stats) { entry.stats = stats; } return entry; } _isFatalError(error) { return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; } }; exports2.default = Reader; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/stream.js var require_stream5 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/stream.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var stream_12 = require("stream"); var fsStat = require_out(); var fsWalk = require_out3(); var reader_1 = require_reader2(); var ReaderStream = class extends reader_1.default { constructor() { super(...arguments); this._walkStream = fsWalk.walkStream; this._stat = fsStat.stat; } dynamic(root, options) { return this._walkStream(root, options); } static(patterns, options) { const filepaths = patterns.map(this._getFullEntryPath, this); const stream = new stream_12.PassThrough({ objectMode: true }); stream._write = (index, _enc, done) => { return this._getEntry(filepaths[index], patterns[index], options).then((entry) => { if (entry !== null && options.entryFilter(entry)) { stream.push(entry); } if (index === filepaths.length - 1) { stream.end(); } done(); }).catch(done); }; for (let i = 0; i < filepaths.length; i++) { stream.write(i); } return stream; } _getEntry(filepath, pattern, options) { return this._getStat(filepath).then((stats) => this._makeEntry(stats, pattern)).catch((error) => { if (options.errorFilter(error)) { return null; } throw error; }); } _getStat(filepath) { return new Promise((resolve, reject) => { this._stat(filepath, this._fsStatSettings, (error, stats) => { return error === null ? resolve(stats) : reject(error); }); }); } }; exports2.default = ReaderStream; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/async.js var require_async6 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/async.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var fsWalk = require_out3(); var reader_1 = require_reader2(); var stream_12 = require_stream5(); var ReaderAsync = class extends reader_1.default { constructor() { super(...arguments); this._walkAsync = fsWalk.walk; this._readerStream = new stream_12.default(this._settings); } dynamic(root, options) { return new Promise((resolve, reject) => { this._walkAsync(root, options, (error, entries) => { if (error === null) { resolve(entries); } else { reject(error); } }); }); } async static(patterns, options) { const entries = []; const stream = this._readerStream.static(patterns, options); return new Promise((resolve, reject) => { stream.once("error", reject); stream.on("data", (entry) => entries.push(entry)); stream.once("end", () => resolve(entries)); }); } }; exports2.default = ReaderAsync; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/matcher.js var require_matcher = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/matcher.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils7(); var Matcher = class { constructor(_patterns, _settings, _micromatchOptions) { this._patterns = _patterns; this._settings = _settings; this._micromatchOptions = _micromatchOptions; this._storage = []; this._fillStorage(); } _fillStorage() { for (const pattern of this._patterns) { const segments = this._getPatternSegments(pattern); const sections = this._splitSegmentsIntoSections(segments); this._storage.push({ complete: sections.length <= 1, pattern, segments, sections }); } } _getPatternSegments(pattern) { const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions); return parts.map((part) => { const dynamic = utils.pattern.isDynamicPattern(part, this._settings); if (!dynamic) { return { dynamic: false, pattern: part }; } return { dynamic: true, pattern: part, patternRe: utils.pattern.makeRe(part, this._micromatchOptions) }; }); } _splitSegmentsIntoSections(segments) { return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern)); } }; exports2.default = Matcher; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/partial.js var require_partial = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/partial.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var matcher_1 = require_matcher(); var PartialMatcher = class extends matcher_1.default { match(filepath) { const parts = filepath.split("/"); const levels = parts.length; const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels); for (const pattern of patterns) { const section = pattern.sections[0]; if (!pattern.complete && levels > section.length) { return true; } const match = parts.every((part, index) => { const segment = pattern.segments[index]; if (segment.dynamic && segment.patternRe.test(part)) { return true; } if (!segment.dynamic && segment.pattern === part) { return true; } return false; }); if (match) { return true; } } return false; } }; exports2.default = PartialMatcher; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/deep.js var require_deep = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/deep.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils7(); var partial_1 = require_partial(); var DeepFilter = class { constructor(_settings, _micromatchOptions) { this._settings = _settings; this._micromatchOptions = _micromatchOptions; } getFilter(basePath, positive, negative) { const matcher = this._getMatcher(positive); const negativeRe = this._getNegativePatternsRe(negative); return (entry) => this._filter(basePath, entry, matcher, negativeRe); } _getMatcher(patterns) { return new partial_1.default(patterns, this._settings, this._micromatchOptions); } _getNegativePatternsRe(patterns) { const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern); return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); } _filter(basePath, entry, matcher, negativeRe) { if (this._isSkippedByDeep(basePath, entry.path)) { return false; } if (this._isSkippedSymbolicLink(entry)) { return false; } const filepath = utils.path.removeLeadingDotSegment(entry.path); if (this._isSkippedByPositivePatterns(filepath, matcher)) { return false; } return this._isSkippedByNegativePatterns(filepath, negativeRe); } _isSkippedByDeep(basePath, entryPath) { if (this._settings.deep === Infinity) { return false; } return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; } _getEntryLevel(basePath, entryPath) { const entryPathDepth = entryPath.split("/").length; if (basePath === "") { return entryPathDepth; } const basePathDepth = basePath.split("/").length; return entryPathDepth - basePathDepth; } _isSkippedSymbolicLink(entry) { return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); } _isSkippedByPositivePatterns(entryPath, matcher) { return !this._settings.baseNameMatch && !matcher.match(entryPath); } _isSkippedByNegativePatterns(entryPath, patternsRe) { return !utils.pattern.matchAny(entryPath, patternsRe); } }; exports2.default = DeepFilter; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/entry.js var require_entry2 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/entry.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils7(); var EntryFilter = class { constructor(_settings, _micromatchOptions) { this._settings = _settings; this._micromatchOptions = _micromatchOptions; this.index = /* @__PURE__ */ new Map(); } getFilter(positive, negative) { const [absoluteNegative, relativeNegative] = utils.pattern.partitionAbsoluteAndRelative(negative); const patterns = { positive: { all: utils.pattern.convertPatternsToRe(positive, this._micromatchOptions) }, negative: { absolute: utils.pattern.convertPatternsToRe(absoluteNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true })), relative: utils.pattern.convertPatternsToRe(relativeNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true })) } }; return (entry) => this._filter(entry, patterns); } _filter(entry, patterns) { const filepath = utils.path.removeLeadingDotSegment(entry.path); if (this._settings.unique && this._isDuplicateEntry(filepath)) { return false; } if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { return false; } const isMatched = this._isMatchToPatternsSet(filepath, patterns, entry.dirent.isDirectory()); if (this._settings.unique && isMatched) { this._createIndexRecord(filepath); } return isMatched; } _isDuplicateEntry(filepath) { return this.index.has(filepath); } _createIndexRecord(filepath) { this.index.set(filepath, void 0); } _onlyFileFilter(entry) { return this._settings.onlyFiles && !entry.dirent.isFile(); } _onlyDirectoryFilter(entry) { return this._settings.onlyDirectories && !entry.dirent.isDirectory(); } _isMatchToPatternsSet(filepath, patterns, isDirectory) { const isMatched = this._isMatchToPatterns(filepath, patterns.positive.all, isDirectory); if (!isMatched) { return false; } const isMatchedByRelativeNegative = this._isMatchToPatterns(filepath, patterns.negative.relative, isDirectory); if (isMatchedByRelativeNegative) { return false; } const isMatchedByAbsoluteNegative = this._isMatchToAbsoluteNegative(filepath, patterns.negative.absolute, isDirectory); if (isMatchedByAbsoluteNegative) { return false; } return true; } _isMatchToAbsoluteNegative(filepath, patternsRe, isDirectory) { if (patternsRe.length === 0) { return false; } const fullpath = utils.path.makeAbsolute(this._settings.cwd, filepath); return this._isMatchToPatterns(fullpath, patternsRe, isDirectory); } _isMatchToPatterns(filepath, patternsRe, isDirectory) { if (patternsRe.length === 0) { return false; } const isMatched = utils.pattern.matchAny(filepath, patternsRe); if (!isMatched && isDirectory) { return utils.pattern.matchAny(filepath + "/", patternsRe); } return isMatched; } }; exports2.default = EntryFilter; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/error.js var require_error2 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/error.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils7(); var ErrorFilter = class { constructor(_settings) { this._settings = _settings; } getFilter() { return (error) => this._isNonFatalError(error); } _isNonFatalError(error) { return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors; } }; exports2.default = ErrorFilter; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/transformers/entry.js var require_entry3 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/transformers/entry.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var utils = require_utils7(); var EntryTransformer = class { constructor(_settings) { this._settings = _settings; } getTransformer() { return (entry) => this._transform(entry); } _transform(entry) { let filepath = entry.path; if (this._settings.absolute) { filepath = utils.path.makeAbsolute(this._settings.cwd, filepath); filepath = utils.path.unixify(filepath); } if (this._settings.markDirectories && entry.dirent.isDirectory()) { filepath += "/"; } if (!this._settings.objectMode) { return filepath; } return Object.assign(Object.assign({}, entry), { path: filepath }); } }; exports2.default = EntryTransformer; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/provider.js var require_provider = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/provider.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var path2 = require("path"); var deep_1 = require_deep(); var entry_1 = require_entry2(); var error_1 = require_error2(); var entry_2 = require_entry3(); var Provider = class { constructor(_settings) { this._settings = _settings; this.errorFilter = new error_1.default(this._settings); this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions()); this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions()); this.entryTransformer = new entry_2.default(this._settings); } _getRootDirectory(task) { return path2.resolve(this._settings.cwd, task.base); } _getReaderOptions(task) { const basePath = task.base === "." ? "" : task.base; return { basePath, pathSegmentSeparator: "/", concurrency: this._settings.concurrency, deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), entryFilter: this.entryFilter.getFilter(task.positive, task.negative), errorFilter: this.errorFilter.getFilter(), followSymbolicLinks: this._settings.followSymbolicLinks, fs: this._settings.fs, stats: this._settings.stats, throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, transform: this.entryTransformer.getTransformer() }; } _getMicromatchOptions() { return { dot: this._settings.dot, matchBase: this._settings.baseNameMatch, nobrace: !this._settings.braceExpansion, nocase: !this._settings.caseSensitiveMatch, noext: !this._settings.extglob, noglobstar: !this._settings.globstar, posix: true, strictSlashes: false }; } }; exports2.default = Provider; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/async.js var require_async7 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/async.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var async_1 = require_async6(); var provider_1 = require_provider(); var ProviderAsync = class extends provider_1.default { constructor() { super(...arguments); this._reader = new async_1.default(this._settings); } async read(task) { const root = this._getRootDirectory(task); const options = this._getReaderOptions(task); const entries = await this.api(root, task, options); return entries.map((entry) => options.transform(entry)); } api(root, task, options) { if (task.dynamic) { return this._reader.dynamic(root, options); } return this._reader.static(task.patterns, options); } }; exports2.default = ProviderAsync; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/stream.js var require_stream6 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/stream.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var stream_12 = require("stream"); var stream_2 = require_stream5(); var provider_1 = require_provider(); var ProviderStream = class extends provider_1.default { constructor() { super(...arguments); this._reader = new stream_2.default(this._settings); } read(task) { const root = this._getRootDirectory(task); const options = this._getReaderOptions(task); const source = this.api(root, task, options); const destination = new stream_12.Readable({ objectMode: true, read: () => { } }); source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options.transform(entry))).once("end", () => destination.emit("end")); destination.once("close", () => source.destroy()); return destination; } api(root, task, options) { if (task.dynamic) { return this._reader.dynamic(root, options); } return this._reader.static(task.patterns, options); } }; exports2.default = ProviderStream; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/sync.js var require_sync6 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/sync.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var fsStat = require_out(); var fsWalk = require_out3(); var reader_1 = require_reader2(); var ReaderSync = class extends reader_1.default { constructor() { super(...arguments); this._walkSync = fsWalk.walkSync; this._statSync = fsStat.statSync; } dynamic(root, options) { return this._walkSync(root, options); } static(patterns, options) { const entries = []; for (const pattern of patterns) { const filepath = this._getFullEntryPath(pattern); const entry = this._getEntry(filepath, pattern, options); if (entry === null || !options.entryFilter(entry)) { continue; } entries.push(entry); } return entries; } _getEntry(filepath, pattern, options) { try { const stats = this._getStat(filepath); return this._makeEntry(stats, pattern); } catch (error) { if (options.errorFilter(error)) { return null; } throw error; } } _getStat(filepath) { return this._statSync(filepath, this._fsStatSettings); } }; exports2.default = ReaderSync; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/sync.js var require_sync7 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/sync.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var sync_1 = require_sync6(); var provider_1 = require_provider(); var ProviderSync = class extends provider_1.default { constructor() { super(...arguments); this._reader = new sync_1.default(this._settings); } read(task) { const root = this._getRootDirectory(task); const options = this._getReaderOptions(task); const entries = this.api(root, task, options); return entries.map(options.transform); } api(root, task, options) { if (task.dynamic) { return this._reader.dynamic(root, options); } return this._reader.static(task.patterns, options); } }; exports2.default = ProviderSync; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/settings.js var require_settings4 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/settings.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; var fs = require("fs"); var os = require("os"); var CPU_COUNT = Math.max(os.cpus().length, 1); exports2.DEFAULT_FILE_SYSTEM_ADAPTER = { lstat: fs.lstat, lstatSync: fs.lstatSync, stat: fs.stat, statSync: fs.statSync, readdir: fs.readdir, readdirSync: fs.readdirSync }; var Settings = class { constructor(_options = {}) { this._options = _options; this.absolute = this._getValue(this._options.absolute, false); this.baseNameMatch = this._getValue(this._options.baseNameMatch, false); this.braceExpansion = this._getValue(this._options.braceExpansion, true); this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true); this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT); this.cwd = this._getValue(this._options.cwd, process.cwd()); this.deep = this._getValue(this._options.deep, Infinity); this.dot = this._getValue(this._options.dot, false); this.extglob = this._getValue(this._options.extglob, true); this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true); this.fs = this._getFileSystemMethods(this._options.fs); this.globstar = this._getValue(this._options.globstar, true); this.ignore = this._getValue(this._options.ignore, []); this.markDirectories = this._getValue(this._options.markDirectories, false); this.objectMode = this._getValue(this._options.objectMode, false); this.onlyDirectories = this._getValue(this._options.onlyDirectories, false); this.onlyFiles = this._getValue(this._options.onlyFiles, true); this.stats = this._getValue(this._options.stats, false); this.suppressErrors = this._getValue(this._options.suppressErrors, false); this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false); this.unique = this._getValue(this._options.unique, true); if (this.onlyDirectories) { this.onlyFiles = false; } if (this.stats) { this.objectMode = true; } this.ignore = [].concat(this.ignore); } _getValue(option, value) { return option === void 0 ? value : option; } _getFileSystemMethods(methods = {}) { return Object.assign(Object.assign({}, exports2.DEFAULT_FILE_SYSTEM_ADAPTER), methods); } }; exports2.default = Settings; } }); // ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/index.js var require_out4 = __commonJS({ "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/index.js"(exports2, module2) { "use strict"; var taskManager = require_tasks(); var async_1 = require_async7(); var stream_12 = require_stream6(); var sync_1 = require_sync7(); var settings_1 = require_settings4(); var utils = require_utils7(); async function FastGlob(source, options) { assertPatternsInput(source); const works = getWorks(source, async_1.default, options); const result2 = await Promise.all(works); return utils.array.flatten(result2); } (function(FastGlob2) { FastGlob2.glob = FastGlob2; FastGlob2.globSync = sync; FastGlob2.globStream = stream; FastGlob2.async = FastGlob2; function sync(source, options) { assertPatternsInput(source); const works = getWorks(source, sync_1.default, options); return utils.array.flatten(works); } FastGlob2.sync = sync; function stream(source, options) { assertPatternsInput(source); const works = getWorks(source, stream_12.default, options); return utils.stream.merge(works); } FastGlob2.stream = stream; function generateTasks(source, options) { assertPatternsInput(source); const patterns = [].concat(source); const settings = new settings_1.default(options); return taskManager.generate(patterns, settings); } FastGlob2.generateTasks = generateTasks; function isDynamicPattern(source, options) { assertPatternsInput(source); const settings = new settings_1.default(options); return utils.pattern.isDynamicPattern(source, settings); } FastGlob2.isDynamicPattern = isDynamicPattern; function escapePath(source) { assertPatternsInput(source); return utils.path.escape(source); } FastGlob2.escapePath = escapePath; function convertPathToPattern(source) { assertPatternsInput(source); return utils.path.convertPathToPattern(source); } FastGlob2.convertPathToPattern = convertPathToPattern; let posix; (function(posix2) { function escapePath2(source) { assertPatternsInput(source); return utils.path.escapePosixPath(source); } posix2.escapePath = escapePath2; function convertPathToPattern2(source) { assertPatternsInput(source); return utils.path.convertPosixPathToPattern(source); } posix2.convertPathToPattern = convertPathToPattern2; })(posix = FastGlob2.posix || (FastGlob2.posix = {})); let win32; (function(win322) { function escapePath2(source) { assertPatternsInput(source); return utils.path.escapeWindowsPath(source); } win322.escapePath = escapePath2; function convertPathToPattern2(source) { assertPatternsInput(source); return utils.path.convertWindowsPathToPattern(source); } win322.convertPathToPattern = convertPathToPattern2; })(win32 = FastGlob2.win32 || (FastGlob2.win32 = {})); })(FastGlob || (FastGlob = {})); function getWorks(source, _Provider, options) { const patterns = [].concat(source); const settings = new settings_1.default(options); const tasks = taskManager.generate(patterns, settings); const provider = new _Provider(settings); return tasks.map(provider.read, provider); } function assertPatternsInput(input) { const source = [].concat(input); const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item)); if (!isValidSource) { throw new TypeError("Patterns must be a string (non empty) or an array of strings"); } } module2.exports = FastGlob; } }); // ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/globUtils.js var require_globUtils = __commonJS({ "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/globUtils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isBraceExpansion = exports2.match = exports2.isGlobPattern = exports2.fastGlobOptions = exports2.micromatchOptions = void 0; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var fslib_12 = require_lib62(); var fast_glob_1 = tslib_12.__importDefault(require_out4()); var fs_1 = tslib_12.__importDefault(require("fs")); var micromatch_12 = tslib_12.__importDefault(require_micromatch()); exports2.micromatchOptions = { // This is required because we don't want ")/*" to be a valid shell glob pattern. strictBrackets: true }; exports2.fastGlobOptions = { onlyDirectories: false, onlyFiles: false }; function isGlobPattern(pattern) { if (!micromatch_12.default.scan(pattern, exports2.micromatchOptions).isGlob) return false; try { micromatch_12.default.parse(pattern, exports2.micromatchOptions); } catch { return false; } return true; } exports2.isGlobPattern = isGlobPattern; function match(pattern, { cwd, baseFs }) { return (0, fast_glob_1.default)(pattern, { ...exports2.fastGlobOptions, cwd: fslib_12.npath.fromPortablePath(cwd), fs: (0, fslib_12.extendFs)(fs_1.default, new fslib_12.PosixFS(baseFs)) }); } exports2.match = match; function isBraceExpansion(pattern) { return micromatch_12.default.scan(pattern, exports2.micromatchOptions).isBrace; } exports2.isBraceExpansion = isBraceExpansion; } }); // ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/pipe.js var require_pipe2 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/pipe.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createOutputStreamsWithPrefix = exports2.start = exports2.Handle = exports2.ProtectedStream = exports2.makeBuiltin = exports2.makeProcess = exports2.Pipe = void 0; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var cross_spawn_1 = tslib_12.__importDefault(require_cross_spawn()); var stream_12 = require("stream"); var string_decoder_1 = require("string_decoder"); var Pipe; (function(Pipe2) { Pipe2[Pipe2["STDIN"] = 0] = "STDIN"; Pipe2[Pipe2["STDOUT"] = 1] = "STDOUT"; Pipe2[Pipe2["STDERR"] = 2] = "STDERR"; })(Pipe || (exports2.Pipe = Pipe = {})); var activeChildren = /* @__PURE__ */ new Set(); function sigintHandler() { } function sigtermHandler() { for (const child of activeChildren) { child.kill(); } } function makeProcess(name, args, opts, spawnOpts) { return (stdio) => { const stdin = stdio[0] instanceof stream_12.Transform ? `pipe` : stdio[0]; const stdout = stdio[1] instanceof stream_12.Transform ? `pipe` : stdio[1]; const stderr = stdio[2] instanceof stream_12.Transform ? `pipe` : stdio[2]; const child = (0, cross_spawn_1.default)(name, args, { ...spawnOpts, stdio: [ stdin, stdout, stderr ] }); activeChildren.add(child); if (activeChildren.size === 1) { process.on(`SIGINT`, sigintHandler); process.on(`SIGTERM`, sigtermHandler); } if (stdio[0] instanceof stream_12.Transform) stdio[0].pipe(child.stdin); if (stdio[1] instanceof stream_12.Transform) child.stdout.pipe(stdio[1], { end: false }); if (stdio[2] instanceof stream_12.Transform) child.stderr.pipe(stdio[2], { end: false }); return { stdin: child.stdin, promise: new Promise((resolve) => { child.on(`error`, (error) => { activeChildren.delete(child); if (activeChildren.size === 0) { process.off(`SIGINT`, sigintHandler); process.off(`SIGTERM`, sigtermHandler); } switch (error.code) { case `ENOENT`: { stdio[2].write(`command not found: ${name} `); resolve(127); } break; case `EACCES`: { stdio[2].write(`permission denied: ${name} `); resolve(128); } break; default: { stdio[2].write(`uncaught error: ${error.message} `); resolve(1); } break; } }); child.on(`close`, (code) => { activeChildren.delete(child); if (activeChildren.size === 0) { process.off(`SIGINT`, sigintHandler); process.off(`SIGTERM`, sigtermHandler); } if (code !== null) { resolve(code); } else { resolve(129); } }); }) }; }; } exports2.makeProcess = makeProcess; function makeBuiltin(builtin) { return (stdio) => { const stdin = stdio[0] === `pipe` ? new stream_12.PassThrough() : stdio[0]; return { stdin, promise: Promise.resolve().then(() => builtin({ stdin, stdout: stdio[1], stderr: stdio[2] })) }; }; } exports2.makeBuiltin = makeBuiltin; var ProtectedStream = class { constructor(stream) { this.stream = stream; } close() { } get() { return this.stream; } }; exports2.ProtectedStream = ProtectedStream; var PipeStream = class { constructor() { this.stream = null; } close() { if (this.stream === null) { throw new Error(`Assertion failed: No stream attached`); } else { this.stream.end(); } } attach(stream) { this.stream = stream; } get() { if (this.stream === null) { throw new Error(`Assertion failed: No stream attached`); } else { return this.stream; } } }; var Handle = class _Handle { static start(implementation, { stdin, stdout, stderr }) { const chain = new _Handle(null, implementation); chain.stdin = stdin; chain.stdout = stdout; chain.stderr = stderr; return chain; } constructor(ancestor, implementation) { this.stdin = null; this.stdout = null; this.stderr = null; this.pipe = null; this.ancestor = ancestor; this.implementation = implementation; } pipeTo(implementation, source = Pipe.STDOUT) { const next = new _Handle(this, implementation); const pipe = new PipeStream(); next.pipe = pipe; next.stdout = this.stdout; next.stderr = this.stderr; if ((source & Pipe.STDOUT) === Pipe.STDOUT) this.stdout = pipe; else if (this.ancestor !== null) this.stderr = this.ancestor.stdout; if ((source & Pipe.STDERR) === Pipe.STDERR) this.stderr = pipe; else if (this.ancestor !== null) this.stderr = this.ancestor.stderr; return next; } async exec() { const stdio = [ `ignore`, `ignore`, `ignore` ]; if (this.pipe) { stdio[0] = `pipe`; } else { if (this.stdin === null) { throw new Error(`Assertion failed: No input stream registered`); } else { stdio[0] = this.stdin.get(); } } let stdoutLock; if (this.stdout === null) { throw new Error(`Assertion failed: No output stream registered`); } else { stdoutLock = this.stdout; stdio[1] = stdoutLock.get(); } let stderrLock; if (this.stderr === null) { throw new Error(`Assertion failed: No error stream registered`); } else { stderrLock = this.stderr; stdio[2] = stderrLock.get(); } const child = this.implementation(stdio); if (this.pipe) this.pipe.attach(child.stdin); return await child.promise.then((code) => { stdoutLock.close(); stderrLock.close(); return code; }); } async run() { const promises = []; for (let handle = this; handle; handle = handle.ancestor) promises.push(handle.exec()); const exitCodes = await Promise.all(promises); return exitCodes[0]; } }; exports2.Handle = Handle; function start(p, opts) { return Handle.start(p, opts); } exports2.start = start; function createStreamReporter(reportFn, prefix = null) { const stream = new stream_12.PassThrough(); const decoder = new string_decoder_1.StringDecoder(); let buffer = ``; stream.on(`data`, (chunk) => { let chunkStr = decoder.write(chunk); let lineIndex; do { lineIndex = chunkStr.indexOf(` `); if (lineIndex !== -1) { const line = buffer + chunkStr.substring(0, lineIndex); chunkStr = chunkStr.substring(lineIndex + 1); buffer = ``; if (prefix !== null) { reportFn(`${prefix} ${line}`); } else { reportFn(line); } } } while (lineIndex !== -1); buffer += chunkStr; }); stream.on(`end`, () => { const last = decoder.end(); if (last !== ``) { if (prefix !== null) { reportFn(`${prefix} ${last}`); } else { reportFn(last); } } }); return stream; } function createOutputStreamsWithPrefix(state, { prefix }) { return { stdout: createStreamReporter((text) => state.stdout.write(`${text} `), state.stdout.isTTY ? prefix : null), stderr: createStreamReporter((text) => state.stderr.write(`${text} `), state.stderr.isTTY ? prefix : null) }; } exports2.createOutputStreamsWithPrefix = createOutputStreamsWithPrefix; } }); // ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/index.js var require_lib65 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.execute = exports2.globUtils = exports2.ShellError = exports2.EntryCommand = void 0; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var fslib_12 = require_lib62(); var parsers_1 = require_lib63(); var chalk_1 = tslib_12.__importDefault(require_source2()); var os_1 = require("os"); var stream_12 = require("stream"); var promises_1 = require("timers/promises"); var entry_1 = tslib_12.__importDefault(require_entry()); exports2.EntryCommand = entry_1.default; var errors_1 = require_errors4(); Object.defineProperty(exports2, "ShellError", { enumerable: true, get: function() { return errors_1.ShellError; } }); var globUtils = tslib_12.__importStar(require_globUtils()); exports2.globUtils = globUtils; var pipe_1 = require_pipe2(); var pipe_2 = require_pipe2(); var StreamType; (function(StreamType2) { StreamType2[StreamType2["Readable"] = 1] = "Readable"; StreamType2[StreamType2["Writable"] = 2] = "Writable"; })(StreamType || (StreamType = {})); function getFileDescriptorStream(fd, type, state) { const stream = new stream_12.PassThrough({ autoDestroy: true }); switch (fd) { case pipe_2.Pipe.STDIN: { if ((type & StreamType.Readable) === StreamType.Readable) state.stdin.pipe(stream, { end: false }); if ((type & StreamType.Writable) === StreamType.Writable && state.stdin instanceof stream_12.Writable) { stream.pipe(state.stdin, { end: false }); } } break; case pipe_2.Pipe.STDOUT: { if ((type & StreamType.Readable) === StreamType.Readable) state.stdout.pipe(stream, { end: false }); if ((type & StreamType.Writable) === StreamType.Writable) { stream.pipe(state.stdout, { end: false }); } } break; case pipe_2.Pipe.STDERR: { if ((type & StreamType.Readable) === StreamType.Readable) state.stderr.pipe(stream, { end: false }); if ((type & StreamType.Writable) === StreamType.Writable) { stream.pipe(state.stderr, { end: false }); } } break; default: { throw new errors_1.ShellError(`Bad file descriptor: "${fd}"`); } } return stream; } function cloneState(state, mergeWith = {}) { const newState = { ...state, ...mergeWith }; newState.environment = { ...state.environment, ...mergeWith.environment }; newState.variables = { ...state.variables, ...mergeWith.variables }; return newState; } var BUILTINS = /* @__PURE__ */ new Map([ [`cd`, async ([target = (0, os_1.homedir)(), ...rest], opts, state) => { const resolvedTarget = fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(target)); const stat = await opts.baseFs.statPromise(resolvedTarget).catch((error) => { throw error.code === `ENOENT` ? new errors_1.ShellError(`cd: no such file or directory: ${target}`) : error; }); if (!stat.isDirectory()) throw new errors_1.ShellError(`cd: not a directory: ${target}`); state.cwd = resolvedTarget; return 0; }], [`pwd`, async (args, opts, state) => { state.stdout.write(`${fslib_12.npath.fromPortablePath(state.cwd)} `); return 0; }], [`:`, async (args, opts, state) => { return 0; }], [`true`, async (args, opts, state) => { return 0; }], [`false`, async (args, opts, state) => { return 1; }], [`exit`, async ([code, ...rest], opts, state) => { return state.exitCode = parseInt(code ?? state.variables[`?`], 10); }], [`echo`, async (args, opts, state) => { state.stdout.write(`${args.join(` `)} `); return 0; }], [`sleep`, async ([time], opts, state) => { if (typeof time === `undefined`) throw new errors_1.ShellError(`sleep: missing operand`); const seconds = Number(time); if (Number.isNaN(seconds)) throw new errors_1.ShellError(`sleep: invalid time interval '${time}'`); return await (0, promises_1.setTimeout)(1e3 * seconds, 0); }], [`__ysh_run_procedure`, async (args, opts, state) => { const procedure = state.procedures[args[0]]; const exitCode = await (0, pipe_2.start)(procedure, { stdin: new pipe_2.ProtectedStream(state.stdin), stdout: new pipe_2.ProtectedStream(state.stdout), stderr: new pipe_2.ProtectedStream(state.stderr) }).run(); return exitCode; }], [`__ysh_set_redirects`, async (args, opts, state) => { let stdin = state.stdin; let stdout = state.stdout; let stderr = state.stderr; const inputs = []; const outputs = []; const errors = []; let t = 0; while (args[t] !== `--`) { const key = args[t++]; const { type, fd } = JSON.parse(key); const pushInput = (readableFactory) => { switch (fd) { case null: case 0: { inputs.push(readableFactory); } break; default: throw new Error(`Unsupported file descriptor: "${fd}"`); } }; const pushOutput = (writable) => { switch (fd) { case null: case 1: { outputs.push(writable); } break; case 2: { errors.push(writable); } break; default: throw new Error(`Unsupported file descriptor: "${fd}"`); } }; const count = Number(args[t++]); const last = t + count; for (let u = t; u < last; ++t, ++u) { switch (type) { case `<`: { pushInput(() => { return opts.baseFs.createReadStream(fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(args[u]))); }); } break; case `<<<`: { pushInput(() => { const input = new stream_12.PassThrough(); process.nextTick(() => { input.write(`${args[u]} `); input.end(); }); return input; }); } break; case `<&`: { pushInput(() => getFileDescriptorStream(Number(args[u]), StreamType.Readable, state)); } break; case `>`: case `>>`: { const outputPath = fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(args[u])); if (outputPath === `/dev/null`) { pushOutput(new stream_12.Writable({ autoDestroy: true, emitClose: true, write(chunk, encoding, callback) { setImmediate(callback); } })); } else { pushOutput(opts.baseFs.createWriteStream(outputPath, type === `>>` ? { flags: `a` } : void 0)); } } break; case `>&`: { pushOutput(getFileDescriptorStream(Number(args[u]), StreamType.Writable, state)); } break; default: { throw new Error(`Assertion failed: Unsupported redirection type: "${type}"`); } } } } if (inputs.length > 0) { const pipe = new stream_12.PassThrough(); stdin = pipe; const bindInput = (n) => { if (n === inputs.length) { pipe.end(); } else { const input = inputs[n](); input.pipe(pipe, { end: false }); input.on(`end`, () => { bindInput(n + 1); }); } }; bindInput(0); } if (outputs.length > 0) { const pipe = new stream_12.PassThrough(); stdout = pipe; for (const output of outputs) { pipe.pipe(output); } } if (errors.length > 0) { const pipe = new stream_12.PassThrough(); stderr = pipe; for (const error of errors) { pipe.pipe(error); } } const exitCode = await (0, pipe_2.start)(makeCommandAction(args.slice(t + 1), opts, state), { stdin: new pipe_2.ProtectedStream(stdin), stdout: new pipe_2.ProtectedStream(stdout), stderr: new pipe_2.ProtectedStream(stderr) }).run(); await Promise.all(outputs.map((output) => { return new Promise((resolve, reject) => { output.on(`error`, (error) => { reject(error); }); output.on(`close`, () => { resolve(); }); output.end(); }); })); await Promise.all(errors.map((err) => { return new Promise((resolve, reject) => { err.on(`error`, (error) => { reject(error); }); err.on(`close`, () => { resolve(); }); err.end(); }); })); return exitCode; }] ]); async function executeBufferedSubshell(ast, opts, state) { const chunks = []; const stdout = new stream_12.PassThrough(); stdout.on(`data`, (chunk) => chunks.push(chunk)); await executeShellLine(ast, opts, cloneState(state, { stdout })); return Buffer.concat(chunks).toString().replace(/[\r\n]+$/, ``); } async function applyEnvVariables(environmentSegments, opts, state) { const envPromises = environmentSegments.map(async (envSegment) => { const interpolatedArgs = await interpolateArguments(envSegment.args, opts, state); return { name: envSegment.name, value: interpolatedArgs.join(` `) }; }); const interpolatedEnvs = await Promise.all(envPromises); return interpolatedEnvs.reduce((envs, env) => { envs[env.name] = env.value; return envs; }, {}); } function split(raw) { return raw.match(/[^ \r\n\t]+/g) || []; } async function evaluateVariable(segment, opts, state, push, pushAndClose = push) { switch (segment.name) { case `$`: { push(String(process.pid)); } break; case `#`: { push(String(opts.args.length)); } break; case `@`: { if (segment.quoted) { for (const raw of opts.args) { pushAndClose(raw); } } else { for (const raw of opts.args) { const parts = split(raw); for (let t = 0; t < parts.length - 1; ++t) pushAndClose(parts[t]); push(parts[parts.length - 1]); } } } break; case `*`: { const raw = opts.args.join(` `); if (segment.quoted) { push(raw); } else { for (const part of split(raw)) { pushAndClose(part); } } } break; case `PPID`: { push(String(process.ppid)); } break; case `RANDOM`: { push(String(Math.floor(Math.random() * 32768))); } break; default: { const argIndex = parseInt(segment.name, 10); let raw; const isArgument = Number.isFinite(argIndex); if (isArgument) { if (argIndex >= 0 && argIndex < opts.args.length) { raw = opts.args[argIndex]; } } else { if (Object.hasOwn(state.variables, segment.name)) { raw = state.variables[segment.name]; } else if (Object.hasOwn(state.environment, segment.name)) { raw = state.environment[segment.name]; } } if (typeof raw !== `undefined` && segment.alternativeValue) { raw = (await interpolateArguments(segment.alternativeValue, opts, state)).join(` `); } else if (typeof raw === `undefined`) { if (segment.defaultValue) { raw = (await interpolateArguments(segment.defaultValue, opts, state)).join(` `); } else if (segment.alternativeValue) { raw = ``; } } if (typeof raw === `undefined`) { if (isArgument) throw new errors_1.ShellError(`Unbound argument #${argIndex}`); throw new errors_1.ShellError(`Unbound variable "${segment.name}"`); } if (segment.quoted) { push(raw); } else { const parts = split(raw); for (let t = 0; t < parts.length - 1; ++t) pushAndClose(parts[t]); const part = parts[parts.length - 1]; if (typeof part !== `undefined`) { push(part); } } } break; } } var operators = { addition: (left, right) => left + right, subtraction: (left, right) => left - right, multiplication: (left, right) => left * right, division: (left, right) => Math.trunc(left / right) }; async function evaluateArithmetic(arithmetic, opts, state) { if (arithmetic.type === `number`) { if (!Number.isInteger(arithmetic.value)) { throw new Error(`Invalid number: "${arithmetic.value}", only integers are allowed`); } else { return arithmetic.value; } } else if (arithmetic.type === `variable`) { const parts = []; await evaluateVariable({ ...arithmetic, quoted: true }, opts, state, (result2) => parts.push(result2)); const number = Number(parts.join(` `)); if (Number.isNaN(number)) { return evaluateArithmetic({ type: `variable`, name: parts.join(` `) }, opts, state); } else { return evaluateArithmetic({ type: `number`, value: number }, opts, state); } } else { return operators[arithmetic.type](await evaluateArithmetic(arithmetic.left, opts, state), await evaluateArithmetic(arithmetic.right, opts, state)); } } async function interpolateArguments(commandArgs, opts, state) { const redirections = /* @__PURE__ */ new Map(); const interpolated = []; let interpolatedSegments = []; const push = (segment) => { interpolatedSegments.push(segment); }; const close = () => { if (interpolatedSegments.length > 0) interpolated.push(interpolatedSegments.join(``)); interpolatedSegments = []; }; const pushAndClose = (segment) => { push(segment); close(); }; const redirect = (type, fd, target) => { const key = JSON.stringify({ type, fd }); let targets = redirections.get(key); if (typeof targets === `undefined`) redirections.set(key, targets = []); targets.push(target); }; for (const commandArg of commandArgs) { let isGlob = false; switch (commandArg.type) { case `redirection`: { const interpolatedArgs = await interpolateArguments(commandArg.args, opts, state); for (const interpolatedArg of interpolatedArgs) { redirect(commandArg.subtype, commandArg.fd, interpolatedArg); } } break; case `argument`: { for (const segment of commandArg.segments) { switch (segment.type) { case `text`: { push(segment.text); } break; case `glob`: { push(segment.pattern); isGlob = true; } break; case `shell`: { const raw = await executeBufferedSubshell(segment.shell, opts, state); if (segment.quoted) { push(raw); } else { const parts = split(raw); for (let t = 0; t < parts.length - 1; ++t) pushAndClose(parts[t]); push(parts[parts.length - 1]); } } break; case `variable`: { await evaluateVariable(segment, opts, state, push, pushAndClose); } break; case `arithmetic`: { push(String(await evaluateArithmetic(segment.arithmetic, opts, state))); } break; } } } break; } close(); if (isGlob) { const pattern = interpolated.pop(); if (typeof pattern === `undefined`) throw new Error(`Assertion failed: Expected a glob pattern to have been set`); const matches = await opts.glob.match(pattern, { cwd: state.cwd, baseFs: opts.baseFs }); if (matches.length === 0) { const braceExpansionNotice = globUtils.isBraceExpansion(pattern) ? `. Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22` : ``; throw new errors_1.ShellError(`No matches found: "${pattern}"${braceExpansionNotice}`); } for (const match of matches.sort()) { pushAndClose(match); } } } if (redirections.size > 0) { const redirectionArgs = []; for (const [key, targets] of redirections.entries()) redirectionArgs.splice(redirectionArgs.length, 0, key, String(targets.length), ...targets); interpolated.splice(0, 0, `__ysh_set_redirects`, ...redirectionArgs, `--`); } return interpolated; } function makeCommandAction(args, opts, state) { if (!opts.builtins.has(args[0])) args = [`command`, ...args]; const nativeCwd = fslib_12.npath.fromPortablePath(state.cwd); let env = state.environment; if (typeof env.PWD !== `undefined`) env = { ...env, PWD: nativeCwd }; const [name, ...rest] = args; if (name === `command`) { return (0, pipe_1.makeProcess)(rest[0], rest.slice(1), opts, { cwd: nativeCwd, env }); } const builtin = opts.builtins.get(name); if (typeof builtin === `undefined`) throw new Error(`Assertion failed: A builtin should exist for "${name}"`); return (0, pipe_1.makeBuiltin)(async ({ stdin, stdout, stderr }) => { const { stdin: initialStdin, stdout: initialStdout, stderr: initialStderr } = state; state.stdin = stdin; state.stdout = stdout; state.stderr = stderr; try { return await builtin(rest, opts, state); } finally { state.stdin = initialStdin; state.stdout = initialStdout; state.stderr = initialStderr; } }); } function makeSubshellAction(ast, opts, state) { return (stdio) => { const stdin = new stream_12.PassThrough(); const promise = executeShellLine(ast, opts, cloneState(state, { stdin })); return { stdin, promise }; }; } function makeGroupAction(ast, opts, state) { return (stdio) => { const stdin = new stream_12.PassThrough(); const promise = executeShellLine(ast, opts, state); return { stdin, promise }; }; } function makeActionFromProcedure(procedure, args, opts, activeState) { if (args.length === 0) { return procedure; } else { let key; do { key = String(Math.random()); } while (Object.hasOwn(activeState.procedures, key)); activeState.procedures = { ...activeState.procedures }; activeState.procedures[key] = procedure; return makeCommandAction([...args, `__ysh_run_procedure`, key], opts, activeState); } } async function executeCommandChainImpl(node, opts, state) { let current = node; let pipeType = null; let execution = null; while (current) { const activeState = current.then ? { ...state } : state; let action; switch (current.type) { case `command`: { const args = await interpolateArguments(current.args, opts, state); const environment = await applyEnvVariables(current.envs, opts, state); action = current.envs.length ? makeCommandAction(args, opts, cloneState(activeState, { environment })) : makeCommandAction(args, opts, activeState); } break; case `subshell`: { const args = await interpolateArguments(current.args, opts, state); const procedure = makeSubshellAction(current.subshell, opts, activeState); action = makeActionFromProcedure(procedure, args, opts, activeState); } break; case `group`: { const args = await interpolateArguments(current.args, opts, state); const procedure = makeGroupAction(current.group, opts, activeState); action = makeActionFromProcedure(procedure, args, opts, activeState); } break; case `envs`: { const environment = await applyEnvVariables(current.envs, opts, state); activeState.environment = { ...activeState.environment, ...environment }; action = makeCommandAction([`true`], opts, activeState); } break; } if (typeof action === `undefined`) throw new Error(`Assertion failed: An action should have been generated`); if (pipeType === null) { execution = (0, pipe_2.start)(action, { stdin: new pipe_2.ProtectedStream(activeState.stdin), stdout: new pipe_2.ProtectedStream(activeState.stdout), stderr: new pipe_2.ProtectedStream(activeState.stderr) }); } else { if (execution === null) throw new Error(`Assertion failed: The execution pipeline should have been setup`); switch (pipeType) { case `|`: { execution = execution.pipeTo(action, pipe_2.Pipe.STDOUT); } break; case `|&`: { execution = execution.pipeTo(action, pipe_2.Pipe.STDOUT | pipe_2.Pipe.STDERR); } break; } } if (current.then) { pipeType = current.then.type; current = current.then.chain; } else { current = null; } } if (execution === null) throw new Error(`Assertion failed: The execution pipeline should have been setup`); return await execution.run(); } async function executeCommandChain(node, opts, state, { background = false } = {}) { function getColorizer(index) { const colors = [`#2E86AB`, `#A23B72`, `#F18F01`, `#C73E1D`, `#CCE2A3`]; const colorName = colors[index % colors.length]; return chalk_1.default.hex(colorName); } if (background) { const index = state.nextBackgroundJobIndex++; const colorizer = getColorizer(index); const rawPrefix = `[${index}]`; const prefix = colorizer(rawPrefix); const { stdout, stderr } = (0, pipe_1.createOutputStreamsWithPrefix)(state, { prefix }); state.backgroundJobs.push(executeCommandChainImpl(node, opts, cloneState(state, { stdout, stderr })).catch((error) => stderr.write(`${error.message} `)).finally(() => { if (state.stdout.isTTY) { state.stdout.write(`Job ${prefix}, '${colorizer((0, parsers_1.stringifyCommandChain)(node))}' has ended `); } })); return 0; } return await executeCommandChainImpl(node, opts, state); } async function executeCommandLine(node, opts, state, { background = false } = {}) { let code; const setCode = (newCode) => { code = newCode; state.variables[`?`] = String(newCode); }; const executeChain = async (line) => { try { return await executeCommandChain(line.chain, opts, state, { background: background && typeof line.then === `undefined` }); } catch (error) { if (!(error instanceof errors_1.ShellError)) throw error; state.stderr.write(`${error.message} `); return 1; } }; setCode(await executeChain(node)); while (node.then) { if (state.exitCode !== null) return state.exitCode; switch (node.then.type) { case `&&`: { if (code === 0) { setCode(await executeChain(node.then.line)); } } break; case `||`: { if (code !== 0) { setCode(await executeChain(node.then.line)); } } break; default: { throw new Error(`Assertion failed: Unsupported command type: "${node.then.type}"`); } } node = node.then.line; } return code; } async function executeShellLine(node, opts, state) { const originalBackgroundJobs = state.backgroundJobs; state.backgroundJobs = []; let rightMostExitCode = 0; for (const { command, type } of node) { rightMostExitCode = await executeCommandLine(command, opts, state, { background: type === `&` }); if (state.exitCode !== null) return state.exitCode; state.variables[`?`] = String(rightMostExitCode); } await Promise.all(state.backgroundJobs); state.backgroundJobs = originalBackgroundJobs; return rightMostExitCode; } function locateArgsVariableInSegment(segment) { switch (segment.type) { case `variable`: { return segment.name === `@` || segment.name === `#` || segment.name === `*` || Number.isFinite(parseInt(segment.name, 10)) || `defaultValue` in segment && !!segment.defaultValue && segment.defaultValue.some((arg) => locateArgsVariableInArgument(arg)) || `alternativeValue` in segment && !!segment.alternativeValue && segment.alternativeValue.some((arg) => locateArgsVariableInArgument(arg)); } case `arithmetic`: { return locateArgsVariableInArithmetic(segment.arithmetic); } case `shell`: { return locateArgsVariable(segment.shell); } default: { return false; } } } function locateArgsVariableInArgument(arg) { switch (arg.type) { case `redirection`: { return arg.args.some((arg2) => locateArgsVariableInArgument(arg2)); } case `argument`: { return arg.segments.some((segment) => locateArgsVariableInSegment(segment)); } default: throw new Error(`Assertion failed: Unsupported argument type: "${arg.type}"`); } } function locateArgsVariableInArithmetic(arg) { switch (arg.type) { case `variable`: { return locateArgsVariableInSegment(arg); } case `number`: { return false; } default: return locateArgsVariableInArithmetic(arg.left) || locateArgsVariableInArithmetic(arg.right); } } function locateArgsVariable(node) { return node.some(({ command }) => { while (command) { let chain = command.chain; while (chain) { let hasArgs; switch (chain.type) { case `subshell`: { hasArgs = locateArgsVariable(chain.subshell); } break; case `command`: { hasArgs = chain.envs.some((env) => env.args.some((arg) => { return locateArgsVariableInArgument(arg); })) || chain.args.some((arg) => { return locateArgsVariableInArgument(arg); }); } break; } if (hasArgs) return true; if (!chain.then) break; chain = chain.then.chain; } if (!command.then) break; command = command.then.line; } return false; }); } async function execute(command, args = [], { baseFs = new fslib_12.NodeFS(), builtins = {}, cwd = fslib_12.npath.toPortablePath(process.cwd()), env = process.env, stdin = process.stdin, stdout = process.stdout, stderr = process.stderr, variables = {}, glob = globUtils } = {}) { const normalizedEnv = {}; for (const [key, value] of Object.entries(env)) if (typeof value !== `undefined`) normalizedEnv[key] = value; const normalizedBuiltins = new Map(BUILTINS); for (const [key, builtin] of Object.entries(builtins)) normalizedBuiltins.set(key, builtin); if (stdin === null) { stdin = new stream_12.PassThrough(); stdin.end(); } const ast = (0, parsers_1.parseShell)(command, glob); if (!locateArgsVariable(ast) && ast.length > 0 && args.length > 0) { let { command: command2 } = ast[ast.length - 1]; while (command2.then) command2 = command2.then.line; let chain = command2.chain; while (chain.then) chain = chain.then.chain; if (chain.type === `command`) { chain.args = chain.args.concat(args.map((arg) => { return { type: `argument`, segments: [{ type: `text`, text: arg }] }; })); } } return await executeShellLine(ast, { args, baseFs, builtins: normalizedBuiltins, initialStdin: stdin, initialStdout: stdout, initialStderr: stderr, glob }, { cwd, environment: normalizedEnv, exitCode: null, procedures: {}, stdin, stdout, stderr, variables: Object.assign({}, variables, { [`?`]: 0 }), nextBackgroundJobIndex: 1, backgroundJobs: [] }); } exports2.execute = execute; } }); // ../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/async-map.js var require_async_map = __commonJS({ "../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/async-map.js"(exports2, module2) { module2.exports = asyncMap; function asyncMap() { var steps = Array.prototype.slice.call(arguments), list = steps.shift() || [], cb_ = steps.pop(); if (typeof cb_ !== "function") throw new Error( "No callback provided to asyncMap" ); if (!list) return cb_(null, []); if (!Array.isArray(list)) list = [list]; var n = steps.length, data = [], errState = null, l = list.length, a = l * n; if (!a) return cb_(null, []); function cb(er) { if (er && !errState) errState = er; var argLen = arguments.length; for (var i = 1; i < argLen; i++) if (arguments[i] !== void 0) { data[i - 1] = (data[i - 1] || []).concat(arguments[i]); } if (list.length > l) { var newList = list.slice(l); a += (list.length - l) * n; l = list.length; process.nextTick(function() { newList.forEach(function(ar) { steps.forEach(function(fn) { fn(ar, cb); }); }); }); } if (--a === 0) cb_.apply(null, [errState].concat(data)); } list.forEach(function(ar) { steps.forEach(function(fn) { fn(ar, cb); }); }); } } }); // ../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/bind-actor.js var require_bind_actor = __commonJS({ "../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/bind-actor.js"(exports2, module2) { module2.exports = bindActor; function bindActor() { var args = Array.prototype.slice.call(arguments), obj = null, fn; if (typeof args[0] === "object") { obj = args.shift(); fn = args.shift(); if (typeof fn === "string") fn = obj[fn]; } else fn = args.shift(); return function(cb) { fn.apply(obj, args.concat(cb)); }; } } }); // ../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/chain.js var require_chain = __commonJS({ "../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/chain.js"(exports2, module2) { module2.exports = chain; var bindActor = require_bind_actor(); chain.first = {}; chain.last = {}; function chain(things, cb) { var res = []; (function LOOP(i, len) { if (i >= len) return cb(null, res); if (Array.isArray(things[i])) things[i] = bindActor.apply( null, things[i].map(function(i2) { return i2 === chain.first ? res[0] : i2 === chain.last ? res[res.length - 1] : i2; }) ); if (!things[i]) return LOOP(i + 1, len); things[i](function(er, data) { if (er) return cb(er, res); if (data !== void 0) res = res.concat(data); LOOP(i + 1, len); }); })(0, things.length); } } }); // ../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/slide.js var require_slide = __commonJS({ "../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/slide.js"(exports2) { exports2.asyncMap = require_async_map(); exports2.bindActor = require_bind_actor(); exports2.chain = require_chain(); } }); // ../node_modules/.pnpm/uid-number@0.0.6/node_modules/uid-number/uid-number.js var require_uid_number = __commonJS({ "../node_modules/.pnpm/uid-number@0.0.6/node_modules/uid-number/uid-number.js"(exports2, module2) { module2.exports = uidNumber; var child_process = require("child_process"); var path2 = require("path"); var uidSupport = process.getuid && process.setuid; var uidCache = {}; var gidCache = {}; function uidNumber(uid, gid, cb) { if (!uidSupport) return cb(); if (typeof cb !== "function") cb = gid, gid = null; if (typeof cb !== "function") cb = uid, uid = null; if (gid == null) gid = process.getgid(); if (uid == null) uid = process.getuid(); if (!isNaN(gid)) gid = gidCache[gid] = +gid; if (!isNaN(uid)) uid = uidCache[uid] = +uid; if (uidCache.hasOwnProperty(uid)) uid = uidCache[uid]; if (gidCache.hasOwnProperty(gid)) gid = gidCache[gid]; if (typeof gid === "number" && typeof uid === "number") { return process.nextTick(cb.bind(null, null, uid, gid)); } var getter = require.resolve("./get-uid-gid.js"); child_process.execFile( process.execPath, [getter, uid, gid], function(code, out, stderr) { if (code) { var er = new Error("could not get uid/gid\n" + stderr); er.code = code; return cb(er); } try { out = JSON.parse(out + ""); } catch (ex) { return cb(ex); } if (out.error) { var er = new Error(out.error); er.errno = out.errno; return cb(er); } if (isNaN(out.uid) || isNaN(out.gid)) return cb(new Error( "Could not get uid/gid: " + JSON.stringify(out) )); cb(null, uidCache[uid] = +out.uid, gidCache[gid] = +out.gid); } ); } } }); // ../node_modules/.pnpm/umask@1.1.0/node_modules/umask/index.js var require_umask = __commonJS({ "../node_modules/.pnpm/umask@1.1.0/node_modules/umask/index.js"(exports2) { "use strict"; var util = require("util"); function toString(val) { val = val.toString(8); while (val.length < 4) { val = "0" + val; } return val; } var defaultUmask = 18; var defaultUmaskString = toString(defaultUmask); function validate2(data, k, val) { if (typeof val === "number" && !isNaN(val)) { data[k] = val; return true; } if (typeof val === "string") { if (val.charAt(0) !== "0") { return false; } data[k] = parseInt(val, 8); return true; } return false; } function convert_fromString(val, cb) { if (typeof val === "string") { if (val.charAt(0) === "0" && /^[0-7]+$/.test(val)) { val = parseInt(val, 8); } else if (val.charAt(0) !== "0" && /^[0-9]+$/.test(val)) { val = parseInt(val, 10); } else { return cb( new Error(util.format( "Expected octal string, got %j, defaulting to %j", val, defaultUmaskString )), defaultUmask ); } } else if (typeof val !== "number") { return cb( new Error(util.format( "Expected number or octal string, got %j, defaulting to %j", val, defaultUmaskString )), defaultUmask ); } val = Math.floor(val); if (val < 0 || val > 511) { return cb( new Error(util.format("Must be in range 0..511 (0000..0777), got %j", val)), defaultUmask ); } cb(null, val); } function fromString(val, cb) { convert_fromString(val, cb || function(err, result2) { val = result2; }); return val; } exports2.toString = toString; exports2.fromString = fromString; exports2.validate = validate2; } }); // ../node_modules/.pnpm/@pnpm+byline@1.0.0/node_modules/@pnpm/byline/lib/byline.js var require_byline = __commonJS({ "../node_modules/.pnpm/@pnpm+byline@1.0.0/node_modules/@pnpm/byline/lib/byline.js"(exports2, module2) { var stream = require("stream"); var util = require("util"); var timers = require("timers"); module2.exports = function(readStream, options) { return module2.exports.createStream(readStream, options); }; module2.exports.createStream = function(readStream, options) { if (readStream) { return createLineStream(readStream, options); } else { return new LineStream(options); } }; module2.exports.createLineStream = function(readStream) { console.log("WARNING: byline#createLineStream is deprecated and will be removed soon"); return createLineStream(readStream); }; function createLineStream(readStream, options) { if (!readStream) { throw new Error("expected readStream"); } if (!readStream.readable) { throw new Error("readStream must be readable"); } var ls = new LineStream(options); readStream.pipe(ls); return ls; } module2.exports.LineStream = LineStream; function LineStream(options) { stream.Transform.call(this, options); options = options || {}; this._readableState.objectMode = true; this._lineBuffer = []; this._keepEmptyLines = options.keepEmptyLines || false; this._lastChunkEndedWithCR = false; var self2 = this; this.on("pipe", function(src) { if (!self2.encoding) { if (src instanceof stream.Readable) { self2.encoding = src._readableState.encoding; } } }); } util.inherits(LineStream, stream.Transform); LineStream.prototype._transform = function(chunk, encoding, done) { encoding = encoding || "utf8"; if (Buffer.isBuffer(chunk)) { if (encoding == "buffer") { chunk = chunk.toString(); encoding = "utf8"; } else { chunk = chunk.toString(encoding); } } this._chunkEncoding = encoding; var lines = chunk.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g); if (this._lastChunkEndedWithCR && chunk[0] == "\n") { lines.shift(); } if (this._lineBuffer.length > 0) { this._lineBuffer[this._lineBuffer.length - 1] += lines[0]; lines.shift(); } this._lastChunkEndedWithCR = chunk[chunk.length - 1] == "\r"; this._lineBuffer = this._lineBuffer.concat(lines); this._pushBuffer(encoding, 1, done); }; LineStream.prototype._pushBuffer = function(encoding, keep, done) { while (this._lineBuffer.length > keep) { var line = this._lineBuffer.shift(); if (this._keepEmptyLines || line.length > 0) { if (!this.push(this._reencode(line, encoding))) { var self2 = this; timers.setImmediate(function() { self2._pushBuffer(encoding, keep, done); }); return; } } } done(); }; LineStream.prototype._flush = function(done) { this._pushBuffer(this._chunkEncoding, 0, done); }; LineStream.prototype._reencode = function(line, chunkEncoding) { if (this.encoding && this.encoding != chunkEncoding) { return Buffer.from(line, chunkEncoding).toString(this.encoding); } else if (this.encoding) { return line; } else { return Buffer.from(line, chunkEncoding); } }; } }); // ../node_modules/.pnpm/resolve-from@5.0.0/node_modules/resolve-from/index.js var require_resolve_from = __commonJS({ "../node_modules/.pnpm/resolve-from@5.0.0/node_modules/resolve-from/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var Module = require("module"); var fs = require("fs"); var resolveFrom = (fromDirectory, moduleId, silent) => { if (typeof fromDirectory !== "string") { throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDirectory}\``); } if (typeof moduleId !== "string") { throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``); } try { fromDirectory = fs.realpathSync(fromDirectory); } catch (error) { if (error.code === "ENOENT") { fromDirectory = path2.resolve(fromDirectory); } else if (silent) { return; } else { throw error; } } const fromFile = path2.join(fromDirectory, "noop.js"); const resolveFileName = () => Module._resolveFilename(moduleId, { id: fromFile, filename: fromFile, paths: Module._nodeModulePaths(fromDirectory) }); if (silent) { try { return resolveFileName(); } catch (error) { return; } } return resolveFileName(); }; module2.exports = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId); module2.exports.silent = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId, true); } }); // ../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/posix.js var require_posix = __commonJS({ "../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/posix.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.sync = exports2.isexe = void 0; var fs_1 = require("fs"); var promises_1 = require("fs/promises"); var isexe = async (path2, options = {}) => { const { ignoreErrors = false } = options; try { return checkStat(await (0, promises_1.stat)(path2), options); } catch (e) { const er = e; if (ignoreErrors || er.code === "EACCES") return false; throw er; } }; exports2.isexe = isexe; var sync = (path2, options = {}) => { const { ignoreErrors = false } = options; try { return checkStat((0, fs_1.statSync)(path2), options); } catch (e) { const er = e; if (ignoreErrors || er.code === "EACCES") return false; throw er; } }; exports2.sync = sync; var checkStat = (stat, options) => stat.isFile() && checkMode(stat, options); var checkMode = (stat, options) => { const myUid = options.uid ?? process.getuid?.(); const myGroups = options.groups ?? process.getgroups?.() ?? []; const myGid = options.gid ?? process.getgid?.() ?? myGroups[0]; if (myUid === void 0 || myGid === void 0) { throw new Error("cannot get uid or gid"); } const groups = /* @__PURE__ */ new Set([myGid, ...myGroups]); const mod = stat.mode; const uid = stat.uid; const gid = stat.gid; const u = parseInt("100", 8); const g = parseInt("010", 8); const o = parseInt("001", 8); const ug = u | g; return !!(mod & o || mod & g && groups.has(gid) || mod & u && uid === myUid || mod & ug && myUid === 0); }; } }); // ../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/win32.js var require_win32 = __commonJS({ "../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/win32.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.sync = exports2.isexe = void 0; var fs_1 = require("fs"); var promises_1 = require("fs/promises"); var isexe = async (path2, options = {}) => { const { ignoreErrors = false } = options; try { return checkStat(await (0, promises_1.stat)(path2), path2, options); } catch (e) { const er = e; if (ignoreErrors || er.code === "EACCES") return false; throw er; } }; exports2.isexe = isexe; var sync = (path2, options = {}) => { const { ignoreErrors = false } = options; try { return checkStat((0, fs_1.statSync)(path2), path2, options); } catch (e) { const er = e; if (ignoreErrors || er.code === "EACCES") return false; throw er; } }; exports2.sync = sync; var checkPathExt = (path2, options) => { const { pathExt = process.env.PATHEXT || "" } = options; const peSplit = pathExt.split(";"); if (peSplit.indexOf("") !== -1) { return true; } for (let i = 0; i < peSplit.length; i++) { const p = peSplit[i].toLowerCase(); const ext = path2.substring(path2.length - p.length).toLowerCase(); if (p && ext === p) { return true; } } return false; }; var checkStat = (stat, path2, options) => stat.isFile() && checkPathExt(path2, options); } }); // ../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/options.js var require_options3 = __commonJS({ "../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/options.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); } }); // ../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/index.js var require_cjs3 = __commonJS({ "../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.sync = exports2.isexe = exports2.posix = exports2.win32 = void 0; var posix = __importStar3(require_posix()); exports2.posix = posix; var win32 = __importStar3(require_win32()); exports2.win32 = win32; __exportStar2(require_options3(), exports2); var platform = process.env._ISEXE_TEST_PLATFORM_ || process.platform; var impl = platform === "win32" ? win32 : posix; exports2.isexe = impl.isexe; exports2.sync = impl.sync; } }); // ../node_modules/.pnpm/which@4.0.0/node_modules/which/lib/index.js var require_lib66 = __commonJS({ "../node_modules/.pnpm/which@4.0.0/node_modules/which/lib/index.js"(exports2, module2) { var { isexe, sync: isexeSync } = require_cjs3(); var { join, delimiter, sep, posix } = require("path"); var isWindows = process.platform === "win32"; var rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? "" : sep}]`.replace(/(\\)/g, "\\$1")); var rRel = new RegExp(`^\\.${rSlash.source}`); var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" }); var getPathInfo = (cmd, { path: optPath = process.env.PATH, pathExt: optPathExt = process.env.PATHEXT, delimiter: optDelimiter = delimiter }) => { const pathEnv = cmd.match(rSlash) ? [""] : [ // windows always checks the cwd first ...isWindows ? [process.cwd()] : [], ...(optPath || /* istanbul ignore next: very unusual */ "").split(optDelimiter) ]; if (isWindows) { const pathExtExe = optPathExt || [".EXE", ".CMD", ".BAT", ".COM"].join(optDelimiter); const pathExt = pathExtExe.split(optDelimiter).flatMap((item) => [item, item.toLowerCase()]); if (cmd.includes(".") && pathExt[0] !== "") { pathExt.unshift(""); } return { pathEnv, pathExt, pathExtExe }; } return { pathEnv, pathExt: [""] }; }; var getPathPart = (raw, cmd) => { const pathPart = /^".*"$/.test(raw) ? raw.slice(1, -1) : raw; const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : ""; return prefix + join(pathPart, cmd); }; var which = async (cmd, opt = {}) => { const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); const found = []; for (const envPart of pathEnv) { const p = getPathPart(envPart, cmd); for (const ext of pathExt) { const withExt = p + ext; const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true }); if (is) { if (!opt.all) { return withExt; } found.push(withExt); } } } if (opt.all && found.length) { return found; } if (opt.nothrow) { return null; } throw getNotFoundError(cmd); }; var whichSync = (cmd, opt = {}) => { const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt); const found = []; for (const pathEnvPart of pathEnv) { const p = getPathPart(pathEnvPart, cmd); for (const ext of pathExt) { const withExt = p + ext; const is = isexeSync(withExt, { pathExt: pathExtExe, ignoreErrors: true }); if (is) { if (!opt.all) { return withExt; } found.push(withExt); } } } if (opt.all && found.length) { return found; } if (opt.nothrow) { return null; } throw getNotFoundError(cmd); }; module2.exports = which; which.sync = whichSync; } }); // ../node_modules/.pnpm/@pnpm+npm-lifecycle@1001.0.0_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/lib/extendPath.js var require_extendPath = __commonJS({ "../node_modules/.pnpm/@pnpm+npm-lifecycle@1001.0.0_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/lib/extendPath.js"(exports2, module2) { var fs = require("fs"); var path2 = require("path"); var which = require_lib66(); module2.exports = (wd, originalPath, nodeGyp, opts) => { const pathArr = [...opts.extraBinPaths || []]; const p = wd.split(/[\\/]node_modules[\\/]/); let acc = path2.resolve(p.shift()); pathArr.unshift(nodeGyp); p.forEach((pp) => { pathArr.unshift(path2.join(acc, "node_modules", ".bin")); acc = path2.join(acc, "node_modules", pp); }); pathArr.unshift(path2.join(acc, "node_modules", ".bin")); if (shouldPrependCurrentNodeDirToPATH(opts)) { pathArr.push(path2.dirname(process.execPath)); } if (originalPath) pathArr.push(originalPath); return pathArr.join(process.platform === "win32" ? ";" : ":"); }; function shouldPrependCurrentNodeDirToPATH(opts) { const cfgsetting = opts.scriptsPrependNodePath; if (cfgsetting === false || cfgsetting == null) return false; if (cfgsetting === true) return true; let isDifferentNodeInPath; const isWindows = process.platform === "win32"; let foundExecPath; try { foundExecPath = which.sync(path2.basename(process.execPath), { pathExt: isWindows ? ";" : ":" }); isDifferentNodeInPath = fs.realpathSync(process.execPath).toUpperCase() !== fs.realpathSync(foundExecPath).toUpperCase(); } catch (e) { isDifferentNodeInPath = true; } if (cfgsetting === "warn-only") { if (isDifferentNodeInPath && !shouldPrependCurrentNodeDirToPATH.hasWarned) { if (foundExecPath) { opts.log.warn("lifecycle", `The node binary used for scripts is ${foundExecPath} but pnpm is using ${process.execPath} itself. Use the \`--scripts-prepend-node-path\` option to include the path for the node binary pnpm was executed with.`); } else { opts.log.warn("lifecycle", `pnpm is using ${process.execPath} but there is no node binary in the current PATH. Use the \`--scripts-prepend-node-path\` option to include the path for the node binary pnpm was executed with.`); } shouldPrependCurrentNodeDirToPATH.hasWarned = true; } return false; } return isDifferentNodeInPath; } } }); // ../node_modules/.pnpm/@pnpm+npm-lifecycle@1001.0.0_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/index.js var require_npm_lifecycle = __commonJS({ "../node_modules/.pnpm/@pnpm+npm-lifecycle@1001.0.0_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/index.js"(exports2, module2) { "use strict"; exports2 = module2.exports = lifecycle; exports2.makeEnv = makeEnv; var spawn = require_spawn(); var { execute } = require_lib65(); var { npath } = require_lib62(); var path2 = require("path"); var Stream = require("stream").Stream; var fs = require("fs"); var chain = require_slide().chain; var uidNumber = require_uid_number(); var umask = require_umask(); var byline = require_byline(); var { PnpmError } = require_lib28(); var resolveFrom = require_resolve_from(); var { PassThrough } = require("stream"); var extendPath = require_extendPath(); var DEFAULT_NODE_GYP_PATH; try { DEFAULT_NODE_GYP_PATH = resolveFrom(__dirname, "node-gyp/bin/node-gyp"); } catch (err) { } var hookStatCache = /* @__PURE__ */ new Map(); var PATH = "PATH"; if (process.platform === "win32") { PATH = "Path"; Object.keys(process.env).forEach((e) => { if (e.match(/^PATH$/i)) { PATH = e; } }); } function logid(pkg, stage) { return `${pkg._id}~${stage}:`; } function hookStat(dir, stage, cb) { const hook = path2.join(dir, ".hooks", stage); const cachedStatError = hookStatCache.get(hook); if (cachedStatError === void 0) { return fs.stat(hook, (statError) => { hookStatCache.set(hook, statError); cb(statError); }); } return setImmediate(() => cb(cachedStatError)); } function lifecycle(pkg, stage, wd, opts) { return new Promise((resolve, reject) => { while (pkg && pkg._data) pkg = pkg._data; if (!pkg) return reject(new Error("Invalid package data")); opts.log.info("lifecycle", logid(pkg, stage), pkg._id); if (!pkg.scripts) pkg.scripts = {}; if (stage === "prepublish" && opts.ignorePrepublish) { opts.log.info("lifecycle", logid(pkg, stage), "ignored because ignore-prepublish is set to true", pkg._id); delete pkg.scripts.prepublish; } hookStat(opts.dir, stage, (statError) => { if (!pkg.scripts[stage] && statError) return resolve(); validWd(wd || path2.resolve(opts.dir, pkg.name), (er, wd2) => { if (er) return reject(er); const env = makeEnv(pkg, opts); env.npm_lifecycle_event = stage; env.npm_node_execpath = env.NODE = env.NODE || process.execPath; env.npm_package_json = path2.join(wd2, "package.json"); if (process.pkg != null) { env.npm_execpath = process.execPath; } else { env.npm_execpath = require.main ? require.main.filename : process.cwd(); } env.INIT_CWD = process.cwd(); env.npm_config_node_gyp = env.npm_config_node_gyp || DEFAULT_NODE_GYP_PATH; if (opts.extraEnv) { for (const [key, value] of Object.entries(opts.extraEnv)) { env[key] = value; } } if (!opts.unsafePerm) { const tmpdir = path2.join(wd2, "node_modules", ".tmp"); try { fs.mkdirSync(tmpdir, { recursive: true }); } catch (err) { if (err.code !== "EEXIST") throw err; } env.TMPDIR = tmpdir; } lifecycle_(pkg, stage, wd2, opts, env, (er2) => { if (er2) return reject(er2); return resolve(); }); }); }); }); } function lifecycle_(pkg, stage, wd, opts, env, cb) { env[PATH] = extendPath(wd, env[PATH], path2.join(__dirname, "node-gyp-bin"), opts); let packageLifecycle = pkg.scripts && Object.prototype.hasOwnProperty.call(pkg.scripts, stage); if (opts.ignoreScripts) { opts.log.info("lifecycle", logid(pkg, stage), "ignored because ignore-scripts is set to true", pkg._id); packageLifecycle = false; } else if (packageLifecycle) { env.npm_lifecycle_script = pkg.scripts[stage]; } else { opts.log.silly("lifecycle", logid(pkg, stage), `no script for ${stage}, continuing`); } function done(er) { if (er) { if (opts.force) { opts.log.info("lifecycle", logid(pkg, stage), "forced, continuing", er); er = null; } else if (opts.failOk) { opts.log.warn("lifecycle", logid(pkg, stage), "continuing anyway", er.message); er = null; } } cb(er); } chain( [ packageLifecycle && [runPackageLifecycle, pkg, stage, env, wd, opts], [runHookLifecycle, pkg, stage, env, wd, opts] ], done ); } function validWd(d, cb) { fs.stat(d, (er, st) => { if (er || !st.isDirectory()) { const p = path2.dirname(d); if (p === d) { return cb(new Error("Could not find suitable wd")); } return validWd(p, cb); } return cb(null, d); }); } function runPackageLifecycle(pkg, stage, env, wd, opts, cb) { const cmd = env.npm_lifecycle_script; const note = ` > ${pkg._id} ${stage} ${wd} > ${cmd} `; runCmd(note, cmd, pkg, env, stage, wd, opts, cb); } var running = false; var queue = []; function dequeue() { running = false; if (queue.length) { const r = queue.shift(); runCmd.apply(null, r); } } function runCmd(note, cmd, pkg, env, stage, wd, opts, cb) { if (opts.runConcurrently !== true) { if (running) { queue.push([note, cmd, pkg, env, stage, wd, opts, cb]); return; } running = true; } opts.log.pause(); let unsafe = opts.unsafePerm; const user = unsafe ? null : opts.user; const group = unsafe ? null : opts.group; if (opts.log.level !== "silent") { opts.log.clearProgress(); console.log(note); opts.log.showProgress(); } opts.log.verbose("lifecycle", logid(pkg, stage), "unsafe-perm in lifecycle", unsafe); if (process.platform === "win32") { unsafe = true; } if (unsafe) { runCmd_(cmd, pkg, env, wd, opts, stage, unsafe, 0, 0, cb); } else { uidNumber(user, group, (er, uid, gid) => { runCmd_(cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb); }); } } function runCmd_(cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb_) { function cb(er) { cb_.apply(null, arguments); opts.log.resume(); process.nextTick(dequeue); } const conf = { cwd: wd, env, stdio: opts.stdio || [0, 1, 2] }; if (!unsafe) { conf.uid = uid ^ 0; conf.gid = gid ^ 0; } let sh = "sh"; let shFlag = "-c"; const customShell = opts.scriptShell; if (customShell) { sh = customShell; } else if (process.platform === "win32") { sh = process.env.comspec || "cmd"; shFlag = "/d /s /c"; conf.windowsVerbatimArguments = true; } opts.log.verbose("lifecycle", logid(pkg, stage), "PATH:", env[PATH]); opts.log.verbose("lifecycle", logid(pkg, stage), "CWD:", wd); opts.log.silly("lifecycle", logid(pkg, stage), "Args:", [shFlag, cmd]); if (opts.shellEmulator) { const execOpts = { cwd: npath.toPortablePath(wd), env }; if (opts.stdio === "pipe") { const stdout = new PassThrough(); const stderr = new PassThrough(); byline(stdout).on("data", (data) => { opts.log.verbose("lifecycle", logid(pkg, stage), "stdout", data.toString()); }); byline(stderr).on("data", (data) => { opts.log.verbose("lifecycle", logid(pkg, stage), "stderr", data.toString()); }); execOpts.stdout = stdout; execOpts.stderr = stderr; } execute(cmd, [], execOpts).then((code) => { opts.log.silly("lifecycle", logid(pkg, stage), "Returned: code:", code); let er; if (code) { er = new Error(`Exit status ${code}`); er.errno = code; } procError(er); }).catch((err) => procError(err)); return; } const proc = spawn(sh, [shFlag, cmd], conf, opts.log); proc.on("error", procError); proc.on("close", (code, signal) => { opts.log.silly("lifecycle", logid(pkg, stage), "Returned: code:", code, " signal:", signal); let err; if (signal) { err = new PnpmError("CHILD_PROCESS_FAILED", `Command failed with signal "${signal}"`); process.kill(process.pid, signal); } else if (code) { err = new PnpmError("CHILD_PROCESS_FAILED", `Exit status ${code}`); err.errno = code; } procError(err); }); byline(proc.stdout).on("data", (data) => { opts.log.verbose("lifecycle", logid(pkg, stage), "stdout", data.toString()); }); byline(proc.stderr).on("data", (data) => { opts.log.verbose("lifecycle", logid(pkg, stage), "stderr", data.toString()); }); process.once("SIGTERM", procKill); process.once("SIGINT", procInterrupt); process.on("exit", procKill); function procError(er) { if (er) { opts.log.info("lifecycle", logid(pkg, stage), `Failed to exec ${stage} script`); er.message = `${pkg._id} ${stage}: \`${cmd}\` ${er.message}`; if (er.code !== "EPERM") { er.code = "ELIFECYCLE"; } fs.stat(opts.dir, (statError) => { if (statError && statError.code === "ENOENT" && opts.dir.split(path2.sep).slice(-1)[0] === "node_modules") { opts.log.warn("", "Local package.json exists, but node_modules missing, did you mean to install?"); } }); er.pkgid = pkg._id; er.stage = stage; er.script = cmd; er.pkgname = pkg.name; } process.removeListener("SIGTERM", procKill); process.removeListener("SIGINT", procKill); process.removeListener("SIGINT", procInterrupt); process.removeListener("exit", procKill); return cb(er); } let called = false; function procKill() { if (called) return; called = true; proc.kill(); } function procInterrupt() { proc.kill("SIGINT"); process.once("SIGINT", procKill); } } function runHookLifecycle(pkg, stage, env, wd, opts, cb) { hookStat(opts.dir, stage, (er) => { if (er) return cb(); const cmd = path2.join(opts.dir, ".hooks", stage); const note = ` > ${pkg._id} ${stage} ${wd} > ${cmd}`; runCmd(note, cmd, pkg, env, stage, wd, opts, cb); }); } function makeEnv(data, opts, prefix, env) { prefix = prefix || "npm_package_"; if (!env) { env = {}; for (const i in process.env) { if (!i.match(/^npm_/) && (!i.match(/^PATH$/i) || i === PATH)) { env[i] = process.env[i]; } } if (opts.production) env.NODE_ENV = "production"; } else if (!Object.prototype.hasOwnProperty.call(data, "_lifecycleEnv")) { Object.defineProperty( data, "_lifecycleEnv", { value: env, enumerable: false } ); } if (opts.nodeOptions) env.NODE_OPTIONS = opts.nodeOptions; for (const i in data) { if (i.charAt(0) !== "_") { const envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, "_"); if (!["name", "version", "config", "engines", "bin"].includes(i) && !prefix.startsWith("npm_package_config_") && !prefix.startsWith("npm_package_engines_") && !prefix.startsWith("npm_package_bin_")) { continue; } if (data[i] && typeof data[i] === "object") { try { JSON.stringify(data[i]); makeEnv(data[i], opts, `${envKey}_`, env); } catch (ex) { const d = data[i]; makeEnv( { name: d.name, version: d.version, path: d.path }, opts, `${envKey}_`, env ); } } else { env[envKey] = String(data[i]); env[envKey] = env[envKey].includes("\n") ? JSON.stringify(env[envKey]) : env[envKey]; } } } if (prefix !== "npm_package_") return env; prefix = "npm_config_"; const pkgConfig = {}; const pkgVerConfig = {}; const namePref = `${data.name}:`; const verPref = `${data.name}@${data.version}:`; Object.keys(opts.config).forEach((i) => { if (i.charAt(0) === "_" && i.indexOf(`_${namePref}`) !== 0 || i.match(/:_/)) { return; } let value = opts.config[i]; if (value instanceof Stream || Array.isArray(value)) return; if (i.match(/umask/)) value = umask.toString(value); if (!value) value = ""; else if (typeof value === "number") value = `${value}`; else if (typeof value !== "string") value = JSON.stringify(value); value = value.includes("\n") ? JSON.stringify(value) : value; i = i.replace(/^_+/, ""); let k; if (i.indexOf(namePref) === 0) { k = i.substring(namePref.length).replace(/[^a-zA-Z0-9_]/g, "_"); pkgConfig[k] = value; } else if (i.indexOf(verPref) === 0) { k = i.substring(verPref.length).replace(/[^a-zA-Z0-9_]/g, "_"); pkgVerConfig[k] = value; } const envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, "_"); env[envKey] = value; }); prefix = "npm_package_config_"; [pkgConfig, pkgVerConfig].forEach((conf) => { for (const i in conf) { const envKey = prefix + i; env[envKey] = conf[i]; } }); return env; } } }); // ../node_modules/.pnpm/shlex@2.1.2/node_modules/shlex/shlex.js var require_shlex = __commonJS({ "../node_modules/.pnpm/shlex@2.1.2/node_modules/shlex/shlex.js"(exports2) { "use strict"; var Shlexer = class { constructor(string) { this.i = 0; this.string = string; this.whitespace = " \r\n"; this.quotes = `'"`; this.escapes = "\\"; this.escapedQuotes = '"'; this.ansiCQuotes = true; this.localeQuotes = true; this.debug = false; } readChar() { return this.string.charAt(this.i++); } processEscapes(string, quote, isAnsiCQuote) { if (!isAnsiCQuote && !this.escapedQuotes.includes(quote)) { return string; } const anyEscape = "[" + this.escapes.replace(/(.)/g, "\\$1") + "]"; if (!isAnsiCQuote && this.escapedQuotes.includes(quote)) { const re = new RegExp( anyEscape + "(" + anyEscape + "|\\" + quote + ")", "g" ); return string.replace(re, "$1"); } if (isAnsiCQuote) { const patterns = { // Literal characters "([\\\\'\"?])": (x) => x, // Non-printable ASCII characters "a": () => "\x07", "b": () => "\b", "e|E": () => "\x1B", "f": () => "\f", "n": () => "\n", "r": () => "\r", "t": () => " ", "v": () => "\v", // Octal bytes "([0-7]{1,3})": (x) => String.fromCharCode(parseInt(x, 8)), // Hexadecimal bytes "x([0-9a-fA-F]{1,2})": (x) => String.fromCharCode(parseInt(x, 16)), // Unicode code units "u([0-9a-fA-F]{1,4})": (x) => String.fromCharCode(parseInt(x, 16)), "U([0-9a-fA-F]{1,8})": (x) => String.fromCharCode(parseInt(x, 16)), // Control characters // https://en.wikipedia.org/wiki/Control_character#How_control_characters_map_to_keyboards "c(.)": (x) => { if (x === "?") { return "\x7F"; } else if (x === "@") { return "\0"; } else { return String.fromCharCode(x.charCodeAt(0) & 31); } } }; const re = new RegExp( anyEscape + "(" + Object.keys(patterns).join("|") + ")", "g" ); return string.replace(re, function(m, p1) { for (const matched in patterns) { const mm = new RegExp("^" + matched + "$").exec(p1); if (mm === null) { continue; } return patterns[matched].apply(null, mm.slice(1)); } }); } return void 0; } *[Symbol.iterator]() { let inQuote = false; let inDollarQuote = false; let escaped = false; let lastDollar = -2; let token; if (this.debug) { console.log("full input:", ">" + this.string + "<"); } while (true) { const pos = this.i; const char = this.readChar(); if (this.debug) { console.log( "position:", pos, "input:", ">" + char + "<", "accumulated:", token, "inQuote:", inQuote, "inDollarQuote:", inDollarQuote, "lastDollar:", lastDollar, "escaped:", escaped ); } if (char === "") { if (inQuote) { throw new Error("Got EOF while in a quoted string"); } if (escaped) { throw new Error("Got EOF while in an escape sequence"); } if (token !== void 0) { yield token; } return; } if (escaped) { if (char === "\n") { } else if (inQuote) { token = (token || "") + escaped + char; } else { token = (token || "") + char; } escaped = false; continue; } if (this.escapes.includes(char)) { if (!inQuote || inDollarQuote !== false || this.escapedQuotes.includes(inQuote)) { escaped = char; continue; } else { } } if (inQuote !== false) { if (char === inQuote) { token = this.processEscapes(token, inQuote, inDollarQuote === "'"); inQuote = false; inDollarQuote = false; continue; } token = (token || "") + char; continue; } if (this.quotes.includes(char)) { inQuote = char; if (lastDollar === pos - 1) { if (char === "'" && !this.ansiCQuotes) { } else if (char === '"' && !this.localeQuotes) { } else { inDollarQuote = char; } } token = token || ""; if (inDollarQuote !== false) { token = token.slice(0, -1); } continue; } if (inQuote === false && char === "$") { lastDollar = pos; } if (this.whitespace.includes(char)) { if (token !== void 0) { yield token; } token = void 0; continue; } token = (token || "") + char; } } }; exports2.split = function(s) { return Array.from(new Shlexer(s)); }; exports2.quote = function(s) { if (s === "") { return "''"; } const unsafeRe = /[^\w@%\-+=:,./]/; if (!unsafeRe.test(s)) { return s; } return ("'" + s.replace(/('+)/g, `'"$1"'`) + "'").replace(/^''|''$/g, ""); }; exports2.join = function(args) { if (!Array.isArray(args)) { throw new TypeError("args should be an array"); } return args.map(exports2.quote).join(" "); }; } }); // ../exec/lifecycle/lib/runLifecycleHook.js var require_runLifecycleHook = __commonJS({ "../exec/lifecycle/lib/runLifecycleHook.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.runLifecycleHook = runLifecycleHook; var path_1 = __importDefault2(require("path")); var core_loggers_1 = require_lib8(); var logger_1 = require_lib(); var npm_lifecycle_1 = __importDefault2(require_npm_lifecycle()); var error_1 = require_lib6(); var fs_1 = require("fs"); var is_windows_1 = __importDefault2(require_is_windows()); var shlex_1 = require_shlex(); function noop() { } async function runLifecycleHook(stage, manifest, opts) { const optional = opts.optional === true; if (opts.scriptShell != null && typeof opts.scriptShell === "string" && isWindowsBatchFile(opts.scriptShell)) { throw new error_1.PnpmError("ERR_PNPM_INVALID_SCRIPT_SHELL_WINDOWS", "Cannot spawn .bat or .cmd as a script shell.", { hint: `The pnpm-workspace.yaml scriptShell option was configured to a .bat or .cmd file. These cannot be used as a script shell reliably. Please unset the scriptShell option, or configure it to a .exe instead. ` }); } const m = { _id: getId(manifest), ...manifest }; m.scripts = { ...m.scripts }; switch (stage) { case "start": if (!m.scripts.start) { if (!(0, fs_1.existsSync)("server.js")) { throw new error_1.PnpmError("NO_SCRIPT_OR_SERVER", "Missing script start or file server.js"); } m.scripts.start = "node server.js"; } break; case "install": if (!m.scripts.install && !m.scripts.preinstall) { checkBindingGyp(opts.pkgRoot, m.scripts); } break; } if (opts.args?.length && m.scripts?.[stage]) { const escapedArgs = (0, is_windows_1.default)() ? opts.args.map((arg) => JSON.stringify(arg)).join(" ") : (0, shlex_1.join)(opts.args); m.scripts[stage] = `${m.scripts[stage]} ${escapedArgs}`; } if (m.scripts[stage] === "npx only-allow pnpm" || !m.scripts[stage]) return false; if (opts.stdio !== "inherit") { core_loggers_1.lifecycleLogger.debug({ depPath: opts.depPath, optional, script: m.scripts[stage], stage, wd: opts.pkgRoot }); } const logLevel = opts.stdio !== "inherit" || opts.silent ? "silent" : void 0; const extraBinPaths = (await opts.prepareExecutionEnv?.({ extraBinPaths: opts.extraBinPaths, executionEnv: manifest.pnpm?.executionEnv }))?.extraBinPaths ?? opts.extraBinPaths; await (0, npm_lifecycle_1.default)(m, stage, opts.pkgRoot, { config: { ...opts.rawConfig, "frozen-lockfile": false }, dir: opts.rootModulesDir, extraBinPaths, extraEnv: { ...opts.extraEnv, INIT_CWD: opts.initCwd ?? process.cwd(), PNPM_SCRIPT_SRC_DIR: opts.pkgRoot }, log: { clearProgress: noop, info: noop, level: logLevel, pause: noop, resume: noop, showProgress: noop, silly: npmLog, verbose: npmLog, warn: (...msg) => { (0, logger_1.globalWarn)(msg.join(" ")); } }, runConcurrently: true, scriptsPrependNodePath: opts.scriptsPrependNodePath, scriptShell: opts.scriptShell, shellEmulator: opts.shellEmulator, stdio: opts.stdio ?? "pipe", unsafePerm: opts.unsafePerm }); return true; function npmLog(prefix, logId, stdtype, line) { switch (stdtype) { case "stdout": case "stderr": core_loggers_1.lifecycleLogger.debug({ depPath: opts.depPath, line: line.toString(), stage, stdio: stdtype, wd: opts.pkgRoot }); return; case "Returned: code:": { if (opts.stdio === "inherit") { return; } const code = arguments[3] ?? 1; core_loggers_1.lifecycleLogger.debug({ depPath: opts.depPath, exitCode: code, optional, stage, wd: opts.pkgRoot }); } } } } function checkBindingGyp(root, scripts) { if ((0, fs_1.existsSync)(path_1.default.join(root, "binding.gyp"))) { scripts.install = "node-gyp rebuild"; } } function getId(manifest) { return `${manifest.name ?? ""}@${manifest.version ?? ""}`; } function isWindowsBatchFile(scriptShell) { const scriptShellLower = scriptShell.toLowerCase(); return (0, is_windows_1.default)() && (scriptShellLower.endsWith(".cmd") || scriptShellLower.endsWith(".bat")); } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/utils.js var require_utils9 = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/utils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.cleanPath = cleanPath; exports2.convertSlashes = convertSlashes; exports2.isRootDirectory = isRootDirectory; exports2.normalizePath = normalizePath; var path_1 = require("path"); function cleanPath(path2) { let normalized = (0, path_1.normalize)(path2); if (normalized.length > 1 && normalized[normalized.length - 1] === path_1.sep) normalized = normalized.substring(0, normalized.length - 1); return normalized; } var SLASHES_REGEX = /[\\/]/g; function convertSlashes(path2, separator) { return path2.replace(SLASHES_REGEX, separator); } var WINDOWS_ROOT_DIR_REGEX = /^[a-z]:[\\/]$/i; function isRootDirectory(path2) { return path2 === "/" || WINDOWS_ROOT_DIR_REGEX.test(path2); } function normalizePath(path2, options) { const { resolvePaths, normalizePath: normalizePath2, pathSeparator } = options; const pathNeedsCleaning = process.platform === "win32" && path2.includes("/") || path2.startsWith("."); if (resolvePaths) path2 = (0, path_1.resolve)(path2); if (normalizePath2 || pathNeedsCleaning) path2 = cleanPath(path2); if (path2 === ".") return ""; const needsSeperator = path2[path2.length - 1] !== pathSeparator; return convertSlashes(needsSeperator ? path2 + pathSeparator : path2, pathSeparator); } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/join-path.js var require_join_path = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/join-path.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.joinPathWithBasePath = joinPathWithBasePath; exports2.joinDirectoryPath = joinDirectoryPath; exports2.build = build; var path_1 = require("path"); var utils_1 = require_utils9(); function joinPathWithBasePath(filename, directoryPath) { return directoryPath + filename; } function joinPathWithRelativePath(root, options) { return function(filename, directoryPath) { const sameRoot = directoryPath.startsWith(root); if (sameRoot) return directoryPath.replace(root, "") + filename; else return (0, utils_1.convertSlashes)((0, path_1.relative)(root, directoryPath), options.pathSeparator) + options.pathSeparator + filename; }; } function joinPath(filename) { return filename; } function joinDirectoryPath(filename, directoryPath, separator) { return directoryPath + filename + separator; } function build(root, options) { const { relativePaths, includeBasePath } = options; return relativePaths && root ? joinPathWithRelativePath(root, options) : includeBasePath ? joinPathWithBasePath : joinPath; } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/push-directory.js var require_push_directory = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/push-directory.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.build = build; function pushDirectoryWithRelativePath(root) { return function(directoryPath, paths) { paths.push(directoryPath.substring(root.length) || "."); }; } function pushDirectoryFilterWithRelativePath(root) { return function(directoryPath, paths, filters) { const relativePath = directoryPath.substring(root.length) || "."; if (filters.every((filter) => filter(relativePath, true))) { paths.push(relativePath); } }; } var pushDirectory = (directoryPath, paths) => { paths.push(directoryPath || "."); }; var pushDirectoryFilter = (directoryPath, paths, filters) => { const path2 = directoryPath || "."; if (filters.every((filter) => filter(path2, true))) { paths.push(path2); } }; var empty = () => { }; function build(root, options) { const { includeDirs, filters, relativePaths } = options; if (!includeDirs) return empty; if (relativePaths) return filters && filters.length ? pushDirectoryFilterWithRelativePath(root) : pushDirectoryWithRelativePath(root); return filters && filters.length ? pushDirectoryFilter : pushDirectory; } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/push-file.js var require_push_file = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/push-file.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.build = build; var pushFileFilterAndCount = (filename, _paths, counts, filters) => { if (filters.every((filter) => filter(filename, false))) counts.files++; }; var pushFileFilter = (filename, paths, _counts, filters) => { if (filters.every((filter) => filter(filename, false))) paths.push(filename); }; var pushFileCount = (_filename, _paths, counts, _filters) => { counts.files++; }; var pushFile = (filename, paths) => { paths.push(filename); }; var empty = () => { }; function build(options) { const { excludeFiles, filters, onlyCounts } = options; if (excludeFiles) return empty; if (filters && filters.length) { return onlyCounts ? pushFileFilterAndCount : pushFileFilter; } else if (onlyCounts) { return pushFileCount; } else { return pushFile; } } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/get-array.js var require_get_array = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/get-array.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.build = build; var getArray = (paths) => { return paths; }; var getArrayGroup = () => { return [""].slice(0, 0); }; function build(options) { return options.group ? getArrayGroup : getArray; } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/group-files.js var require_group_files = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/group-files.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.build = build; var groupFiles = (groups, directory, files) => { groups.push({ directory, files, dir: directory }); }; var empty = () => { }; function build(options) { return options.group ? groupFiles : empty; } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/resolve-symlink.js var require_resolve_symlink = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/resolve-symlink.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.build = build; var fs_1 = __importDefault2(require("fs")); var path_1 = require("path"); var resolveSymlinksAsync = function(path2, state, callback) { const { queue, options: { suppressErrors } } = state; queue.enqueue(); fs_1.default.realpath(path2, (error, resolvedPath) => { if (error) return queue.dequeue(suppressErrors ? null : error, state); fs_1.default.stat(resolvedPath, (error2, stat) => { if (error2) return queue.dequeue(suppressErrors ? null : error2, state); if (stat.isDirectory() && isRecursive(path2, resolvedPath, state)) return queue.dequeue(null, state); callback(stat, resolvedPath); queue.dequeue(null, state); }); }); }; var resolveSymlinks = function(path2, state, callback) { const { queue, options: { suppressErrors } } = state; queue.enqueue(); try { const resolvedPath = fs_1.default.realpathSync(path2); const stat = fs_1.default.statSync(resolvedPath); if (stat.isDirectory() && isRecursive(path2, resolvedPath, state)) return; callback(stat, resolvedPath); } catch (e) { if (!suppressErrors) throw e; } }; function build(options, isSynchronous) { if (!options.resolveSymlinks || options.excludeSymlinks) return null; return isSynchronous ? resolveSymlinks : resolveSymlinksAsync; } function isRecursive(path2, resolved, state) { if (state.options.useRealPaths) return isRecursiveUsingRealPaths(resolved, state); let parent = (0, path_1.dirname)(path2); let depth = 1; while (parent !== state.root && depth < 2) { const resolvedPath = state.symlinks.get(parent); const isSameRoot = !!resolvedPath && (resolvedPath === resolved || resolvedPath.startsWith(resolved) || resolved.startsWith(resolvedPath)); if (isSameRoot) depth++; else parent = (0, path_1.dirname)(parent); } state.symlinks.set(path2, resolved); return depth > 1; } function isRecursiveUsingRealPaths(resolved, state) { return state.visited.includes(resolved + state.options.pathSeparator); } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/invoke-callback.js var require_invoke_callback = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/invoke-callback.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.build = build; var onlyCountsSync = (state) => { return state.counts; }; var groupsSync = (state) => { return state.groups; }; var defaultSync = (state) => { return state.paths; }; var limitFilesSync = (state) => { return state.paths.slice(0, state.options.maxFiles); }; var onlyCountsAsync = (state, error, callback) => { report(error, callback, state.counts, state.options.suppressErrors); return null; }; var defaultAsync = (state, error, callback) => { report(error, callback, state.paths, state.options.suppressErrors); return null; }; var limitFilesAsync = (state, error, callback) => { report(error, callback, state.paths.slice(0, state.options.maxFiles), state.options.suppressErrors); return null; }; var groupsAsync = (state, error, callback) => { report(error, callback, state.groups, state.options.suppressErrors); return null; }; function report(error, callback, output, suppressErrors) { if (error && !suppressErrors) callback(error, output); else callback(null, output); } function build(options, isSynchronous) { const { onlyCounts, group, maxFiles } = options; if (onlyCounts) return isSynchronous ? onlyCountsSync : onlyCountsAsync; else if (group) return isSynchronous ? groupsSync : groupsAsync; else if (maxFiles) return isSynchronous ? limitFilesSync : limitFilesAsync; else return isSynchronous ? defaultSync : defaultAsync; } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/walk-directory.js var require_walk_directory = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/functions/walk-directory.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.build = build; var fs_1 = __importDefault2(require("fs")); var readdirOpts = { withFileTypes: true }; var walkAsync = (state, crawlPath, directoryPath, currentDepth, callback) => { state.queue.enqueue(); if (currentDepth <= 0) return state.queue.dequeue(null, state); state.visited.push(crawlPath); state.counts.directories++; fs_1.default.readdir(crawlPath || ".", readdirOpts, (error, entries = []) => { callback(entries, directoryPath, currentDepth); state.queue.dequeue(state.options.suppressErrors ? null : error, state); }); }; var walkSync = (state, crawlPath, directoryPath, currentDepth, callback) => { if (currentDepth <= 0) return; state.visited.push(crawlPath); state.counts.directories++; let entries = []; try { entries = fs_1.default.readdirSync(crawlPath || ".", readdirOpts); } catch (e) { if (!state.options.suppressErrors) throw e; } callback(entries, directoryPath, currentDepth); }; function build(isSynchronous) { return isSynchronous ? walkSync : walkAsync; } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/queue.js var require_queue3 = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/queue.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Queue = void 0; var Queue = class { onQueueEmpty; count = 0; constructor(onQueueEmpty) { this.onQueueEmpty = onQueueEmpty; } enqueue() { this.count++; return this.count; } dequeue(error, output) { if (this.onQueueEmpty && (--this.count <= 0 || error)) { this.onQueueEmpty(error, output); if (error) { output.controller.abort(); this.onQueueEmpty = void 0; } } } }; exports2.Queue = Queue; } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/counter.js var require_counter = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/counter.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Counter = void 0; var Counter = class { _files = 0; _directories = 0; set files(num) { this._files = num; } get files() { return this._files; } set directories(num) { this._directories = num; } get directories() { return this._directories; } /** * @deprecated use `directories` instead */ /* c8 ignore next 3 */ get dirs() { return this._directories; } }; exports2.Counter = Counter; } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/walker.js var require_walker = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/walker.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || /* @__PURE__ */ (function() { var ownKeys2 = function(o) { ownKeys2 = Object.getOwnPropertyNames || function(o2) { var ar = []; for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k; return ar; }; return ownKeys2(o); }; return function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k = ownKeys2(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding3(result2, mod, k[i]); } __setModuleDefault3(result2, mod); return result2; }; })(); Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Walker = void 0; var path_1 = require("path"); var utils_1 = require_utils9(); var joinPath = __importStar3(require_join_path()); var pushDirectory = __importStar3(require_push_directory()); var pushFile = __importStar3(require_push_file()); var getArray = __importStar3(require_get_array()); var groupFiles = __importStar3(require_group_files()); var resolveSymlink = __importStar3(require_resolve_symlink()); var invokeCallback = __importStar3(require_invoke_callback()); var walkDirectory = __importStar3(require_walk_directory()); var queue_1 = require_queue3(); var counter_1 = require_counter(); var Walker = class { root; isSynchronous; state; joinPath; pushDirectory; pushFile; getArray; groupFiles; resolveSymlink; walkDirectory; callbackInvoker; constructor(root, options, callback) { this.isSynchronous = !callback; this.callbackInvoker = invokeCallback.build(options, this.isSynchronous); this.root = (0, utils_1.normalizePath)(root, options); this.state = { root: (0, utils_1.isRootDirectory)(this.root) ? this.root : this.root.slice(0, -1), // Perf: we explicitly tell the compiler to optimize for String arrays paths: [""].slice(0, 0), groups: [], counts: new counter_1.Counter(), options, queue: new queue_1.Queue((error, state) => this.callbackInvoker(state, error, callback)), symlinks: /* @__PURE__ */ new Map(), visited: [""].slice(0, 0), controller: new AbortController() }; this.joinPath = joinPath.build(this.root, options); this.pushDirectory = pushDirectory.build(this.root, options); this.pushFile = pushFile.build(options); this.getArray = getArray.build(options); this.groupFiles = groupFiles.build(options); this.resolveSymlink = resolveSymlink.build(options, this.isSynchronous); this.walkDirectory = walkDirectory.build(this.isSynchronous); } start() { this.pushDirectory(this.root, this.state.paths, this.state.options.filters); this.walkDirectory(this.state, this.root, this.root, this.state.options.maxDepth, this.walk); return this.isSynchronous ? this.callbackInvoker(this.state, null) : null; } walk = (entries, directoryPath, depth) => { const { paths, options: { filters, resolveSymlinks, excludeSymlinks, exclude, maxFiles, signal, useRealPaths, pathSeparator }, controller } = this.state; if (controller.signal.aborted || signal && signal.aborted || maxFiles && paths.length > maxFiles) return; const files = this.getArray(this.state.paths); for (let i = 0; i < entries.length; ++i) { const entry = entries[i]; if (entry.isFile() || entry.isSymbolicLink() && !resolveSymlinks && !excludeSymlinks) { const filename = this.joinPath(entry.name, directoryPath); this.pushFile(filename, files, this.state.counts, filters); } else if (entry.isDirectory()) { let path2 = joinPath.joinDirectoryPath(entry.name, directoryPath, this.state.options.pathSeparator); if (exclude && exclude(entry.name, path2)) continue; this.pushDirectory(path2, paths, filters); this.walkDirectory(this.state, path2, path2, depth - 1, this.walk); } else if (this.resolveSymlink && entry.isSymbolicLink()) { let path2 = joinPath.joinPathWithBasePath(entry.name, directoryPath); this.resolveSymlink(path2, this.state, (stat, resolvedPath) => { if (stat.isDirectory()) { resolvedPath = (0, utils_1.normalizePath)(resolvedPath, this.state.options); if (exclude && exclude(entry.name, useRealPaths ? resolvedPath : path2 + pathSeparator)) return; this.walkDirectory(this.state, resolvedPath, useRealPaths ? resolvedPath : path2 + pathSeparator, depth - 1, this.walk); } else { resolvedPath = useRealPaths ? resolvedPath : path2; const filename = (0, path_1.basename)(resolvedPath); const directoryPath2 = (0, utils_1.normalizePath)((0, path_1.dirname)(resolvedPath), this.state.options); resolvedPath = this.joinPath(filename, directoryPath2); this.pushFile(resolvedPath, files, this.state.counts, filters); } }); } } this.groupFiles(this.state.groups, directoryPath, files); }; }; exports2.Walker = Walker; } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/async.js var require_async8 = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/async.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.promise = promise; exports2.callback = callback; var walker_1 = require_walker(); function promise(root, options) { return new Promise((resolve, reject) => { callback(root, options, (err, output) => { if (err) return reject(err); resolve(output); }); }); } function callback(root, options, callback2) { let walker = new walker_1.Walker(root, options, callback2); walker.start(); } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/sync.js var require_sync8 = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/api/sync.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.sync = sync; var walker_1 = require_walker(); function sync(root, options) { const walker = new walker_1.Walker(root, options); return walker.start(); } } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/builder/api-builder.js var require_api_builder = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/builder/api-builder.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.APIBuilder = void 0; var async_1 = require_async8(); var sync_1 = require_sync8(); var APIBuilder = class { root; options; constructor(root, options) { this.root = root; this.options = options; } withPromise() { return (0, async_1.promise)(this.root, this.options); } withCallback(cb) { (0, async_1.callback)(this.root, this.options, cb); } sync() { return (0, sync_1.sync)(this.root, this.options); } }; exports2.APIBuilder = APIBuilder; } }); // ../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/constants.js var require_constants12 = __commonJS({ "../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/constants.js"(exports2, module2) { "use strict"; var WIN_SLASH = "\\\\/"; var WIN_NO_SLASH = `[^${WIN_SLASH}]`; var DOT_LITERAL = "\\."; var PLUS_LITERAL = "\\+"; var QMARK_LITERAL = "\\?"; var SLASH_LITERAL = "\\/"; var ONE_CHAR = "(?=.)"; var QMARK = "[^/]"; var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; var START_ANCHOR = `(?:^|${SLASH_LITERAL})`; var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; var NO_DOT = `(?!${DOT_LITERAL})`; var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; var STAR = `${QMARK}*?`; var SEP = "/"; var POSIX_CHARS = { DOT_LITERAL, PLUS_LITERAL, QMARK_LITERAL, SLASH_LITERAL, ONE_CHAR, QMARK, END_ANCHOR, DOTS_SLASH, NO_DOT, NO_DOTS, NO_DOT_SLASH, NO_DOTS_SLASH, QMARK_NO_DOT, STAR, START_ANCHOR, SEP }; var WINDOWS_CHARS = { ...POSIX_CHARS, SLASH_LITERAL: `[${WIN_SLASH}]`, QMARK: WIN_NO_SLASH, STAR: `${WIN_NO_SLASH}*?`, DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, NO_DOT: `(?!${DOT_LITERAL})`, NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, QMARK_NO_DOT: `[^.${WIN_SLASH}]`, START_ANCHOR: `(?:^|[${WIN_SLASH}])`, END_ANCHOR: `(?:[${WIN_SLASH}]|$)`, SEP: "\\" }; var POSIX_REGEX_SOURCE = { 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" }; module2.exports = { MAX_LENGTH: 1024 * 64, POSIX_REGEX_SOURCE, // 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: { __proto__: null, "***": "*", "**/**": "**", "**/**/**": "**" }, // 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 */ /** * Create EXTGLOB_CHARS */ extglobChars(chars) { return { "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` }, "?": { type: "qmark", open: "(?:", close: ")?" }, "+": { type: "plus", open: "(?:", close: ")+" }, "*": { type: "star", open: "(?:", close: ")*" }, "@": { type: "at", open: "(?:", close: ")" } }; }, /** * Create GLOB_CHARS */ globChars(win32) { return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; } }; } }); // ../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/utils.js var require_utils10 = __commonJS({ "../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/utils.js"(exports2) { "use strict"; var { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants12(); exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); exports2.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str); exports2.isRegexChar = (str) => str.length === 1 && exports2.hasRegexChars(str); exports2.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1"); exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/"); exports2.isWindows = () => { if (typeof navigator !== "undefined" && navigator.platform) { const platform = navigator.platform.toLowerCase(); return platform === "win32" || platform === "windows"; } if (typeof process !== "undefined" && process.platform) { return process.platform === "win32"; } return false; }; exports2.removeBackslashes = (str) => { return str.replace(REGEX_REMOVE_BACKSLASH, (match) => { return match === "\\" ? "" : match; }); }; exports2.escapeLast = (input, char, lastIdx) => { const idx = input.lastIndexOf(char, lastIdx); if (idx === -1) return input; if (input[idx - 1] === "\\") return exports2.escapeLast(input, char, idx - 1); return `${input.slice(0, idx)}\\${input.slice(idx)}`; }; exports2.removePrefix = (input, state = {}) => { let output = input; if (output.startsWith("./")) { output = output.slice(2); state.prefix = "./"; } return output; }; exports2.wrapOutput = (input, state = {}, options = {}) => { const prepend = options.contains ? "" : "^"; const append = options.contains ? "" : "$"; let output = `${prepend}(?:${input})${append}`; if (state.negated === true) { output = `(?:^(?!${output}).*$)`; } return output; }; exports2.basename = (path2, { windows } = {}) => { const segs = path2.split(windows ? /[\\/]/ : "/"); const last = segs[segs.length - 1]; if (last === "") { return segs[segs.length - 2]; } return last; }; } }); // ../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/scan.js var require_scan4 = __commonJS({ "../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/scan.js"(exports2, module2) { "use strict"; var utils = require_utils10(); var { CHAR_ASTERISK, /* * */ CHAR_AT, /* @ */ CHAR_BACKWARD_SLASH, /* \ */ CHAR_COMMA, /* , */ CHAR_DOT, /* . */ CHAR_EXCLAMATION_MARK, /* ! */ CHAR_FORWARD_SLASH, /* / */ CHAR_LEFT_CURLY_BRACE, /* { */ CHAR_LEFT_PARENTHESES, /* ( */ CHAR_LEFT_SQUARE_BRACKET, /* [ */ CHAR_PLUS, /* + */ CHAR_QUESTION_MARK, /* ? */ CHAR_RIGHT_CURLY_BRACE, /* } */ CHAR_RIGHT_PARENTHESES, /* ) */ CHAR_RIGHT_SQUARE_BRACKET /* ] */ } = require_constants12(); var isPathSeparator = (code) => { return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; }; var depth = (token) => { if (token.isPrefix !== true) { token.depth = token.isGlobstar ? Infinity : 1; } }; var scan = (input, options) => { const opts = options || {}; const length = input.length - 1; const scanToEnd = opts.parts === true || opts.scanToEnd === true; const slashes = []; const tokens = []; const parts = []; let str = input; let index = -1; let start = 0; let lastIndex = 0; let isBrace = false; let isBracket = false; let isGlob = false; let isExtglob = false; let isGlobstar = false; let braceEscaped = false; let backslashes = false; let negated = false; let negatedExtglob = false; let finished = false; let braces = 0; let prev; let code; let token = { value: "", depth: 0, isGlob: false }; const eos = () => index >= length; const peek = () => str.charCodeAt(index + 1); const advance = () => { prev = code; return str.charCodeAt(++index); }; while (index < length) { code = advance(); let next; if (code === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; code = advance(); if (code === CHAR_LEFT_CURLY_BRACE) { braceEscaped = true; } continue; } if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { braces++; while (eos() !== true && (code = advance())) { if (code === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; advance(); continue; } if (code === CHAR_LEFT_CURLY_BRACE) { braces++; continue; } if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { isBrace = token.isBrace = true; isGlob = token.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (braceEscaped !== true && code === CHAR_COMMA) { isBrace = token.isBrace = true; isGlob = token.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (code === CHAR_RIGHT_CURLY_BRACE) { braces--; if (braces === 0) { braceEscaped = false; isBrace = token.isBrace = true; finished = true; break; } } } if (scanToEnd === true) { continue; } break; } if (code === CHAR_FORWARD_SLASH) { slashes.push(index); tokens.push(token); token = { value: "", depth: 0, isGlob: false }; if (finished === true) continue; if (prev === CHAR_DOT && index === start + 1) { start += 2; continue; } lastIndex = index + 1; continue; } if (opts.noext !== true) { const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { isGlob = token.isGlob = true; isExtglob = token.isExtglob = true; finished = true; if (code === CHAR_EXCLAMATION_MARK && index === start) { negatedExtglob = true; } if (scanToEnd === true) { while (eos() !== true && (code = advance())) { if (code === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; code = advance(); continue; } if (code === CHAR_RIGHT_PARENTHESES) { isGlob = token.isGlob = true; finished = true; break; } } continue; } break; } } if (code === CHAR_ASTERISK) { if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; isGlob = token.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (code === CHAR_QUESTION_MARK) { isGlob = token.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (code === CHAR_LEFT_SQUARE_BRACKET) { while (eos() !== true && (next = advance())) { if (next === CHAR_BACKWARD_SLASH) { backslashes = token.backslashes = true; advance(); continue; } if (next === CHAR_RIGHT_SQUARE_BRACKET) { isBracket = token.isBracket = true; isGlob = token.isGlob = true; finished = true; break; } } if (scanToEnd === true) { continue; } break; } if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { negated = token.negated = true; start++; continue; } if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { isGlob = token.isGlob = true; if (scanToEnd === true) { while (eos() !== true && (code = advance())) { if (code === CHAR_LEFT_PARENTHESES) { backslashes = token.backslashes = true; code = advance(); continue; } if (code === CHAR_RIGHT_PARENTHESES) { finished = true; break; } } continue; } break; } if (isGlob === true) { finished = true; if (scanToEnd === true) { continue; } break; } } if (opts.noext === true) { isExtglob = false; isGlob = false; } let base = str; let prefix = ""; let glob = ""; if (start > 0) { prefix = str.slice(0, start); str = str.slice(start); lastIndex -= start; } if (base && isGlob === true && lastIndex > 0) { base = str.slice(0, lastIndex); glob = str.slice(lastIndex); } else if (isGlob === true) { base = ""; glob = str; } else { base = str; } if (base && base !== "" && base !== "/" && base !== str) { if (isPathSeparator(base.charCodeAt(base.length - 1))) { base = base.slice(0, -1); } } if (opts.unescape === true) { if (glob) glob = utils.removeBackslashes(glob); if (base && backslashes === true) { base = utils.removeBackslashes(base); } } const state = { prefix, input, start, base, glob, isBrace, isBracket, isGlob, isExtglob, isGlobstar, negated, negatedExtglob }; if (opts.tokens === true) { state.maxDepth = 0; if (!isPathSeparator(code)) { tokens.push(token); } state.tokens = tokens; } if (opts.parts === true || opts.tokens === true) { let prevIndex; for (let idx = 0; idx < slashes.length; idx++) { const n = prevIndex ? prevIndex + 1 : start; const i = slashes[idx]; const value = input.slice(n, i); if (opts.tokens) { if (idx === 0 && start !== 0) { tokens[idx].isPrefix = true; tokens[idx].value = prefix; } else { tokens[idx].value = value; } depth(tokens[idx]); state.maxDepth += tokens[idx].depth; } if (idx !== 0 || value !== "") { parts.push(value); } prevIndex = i; } if (prevIndex && prevIndex + 1 < input.length) { const value = input.slice(prevIndex + 1); parts.push(value); if (opts.tokens) { tokens[tokens.length - 1].value = value; depth(tokens[tokens.length - 1]); state.maxDepth += tokens[tokens.length - 1].depth; } } state.slashes = slashes; state.parts = parts; } return state; }; module2.exports = scan; } }); // ../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/parse.js var require_parse7 = __commonJS({ "../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/parse.js"(exports2, module2) { "use strict"; var constants = require_constants12(); var utils = require_utils10(); var { MAX_LENGTH, POSIX_REGEX_SOURCE, REGEX_NON_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_BACKREF, REPLACEMENTS } = constants; var expandRange = (args, options) => { if (typeof options.expandRange === "function") { return options.expandRange(...args, options); } args.sort(); const value = `[${args.join("-")}]`; try { new RegExp(value); } catch (ex) { return args.map((v) => utils.escapeRegex(v)).join(".."); } return value; }; var syntaxError = (type, char) => { return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; }; var parse2 = (input, options) => { if (typeof input !== "string") { throw new TypeError("Expected a string"); } input = REPLACEMENTS[input] || input; const opts = { ...options }; const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; let len = input.length; if (len > max) { throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); } const bos = { type: "bos", value: "", output: opts.prepend || "" }; const tokens = [bos]; const capture = opts.capture ? "" : "?:"; const PLATFORM_CHARS = constants.globChars(opts.windows); const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); const { DOT_LITERAL, PLUS_LITERAL, SLASH_LITERAL, ONE_CHAR, DOTS_SLASH, NO_DOT, NO_DOT_SLASH, NO_DOTS_SLASH, QMARK, QMARK_NO_DOT, STAR, START_ANCHOR } = PLATFORM_CHARS; const globstar = (opts2) => { return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; }; const nodot = opts.dot ? "" : NO_DOT; const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; let star = opts.bash === true ? globstar(opts) : STAR; if (opts.capture) { star = `(${star})`; } if (typeof opts.noext === "boolean") { opts.noextglob = opts.noext; } const state = { input, index: -1, start: 0, dot: opts.dot === true, consumed: "", output: "", prefix: "", backtrack: false, negated: false, brackets: 0, braces: 0, parens: 0, quotes: 0, globstar: false, tokens }; input = utils.removePrefix(input, state); len = input.length; const extglobs = []; const braces = []; const stack = []; let prev = bos; let value; const eos = () => state.index === len - 1; const peek = state.peek = (n = 1) => input[state.index + n]; const advance = state.advance = () => input[++state.index] || ""; const remaining = () => input.slice(state.index + 1); const consume = (value2 = "", num = 0) => { state.consumed += value2; state.index += num; }; const append = (token) => { state.output += token.output != null ? token.output : token.value; consume(token.value); }; const negate = () => { let count = 1; while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) { advance(); state.start++; count++; } if (count % 2 === 0) { return false; } state.negated = true; state.start++; return true; }; const increment = (type) => { state[type]++; stack.push(type); }; const decrement = (type) => { state[type]--; stack.pop(); }; const push = (tok) => { if (prev.type === "globstar") { const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace"); const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren"); if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) { state.output = state.output.slice(0, -prev.output.length); prev.type = "star"; prev.value = "*"; prev.output = star; state.output += prev.output; } } if (extglobs.length && tok.type !== "paren") { extglobs[extglobs.length - 1].inner += tok.value; } if (tok.value || tok.output) append(tok); if (prev && prev.type === "text" && tok.type === "text") { prev.output = (prev.output || prev.value) + tok.value; prev.value += tok.value; return; } tok.prev = prev; tokens.push(tok); prev = tok; }; const extglobOpen = (type, value2) => { const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" }; token.prev = prev; token.parens = state.parens; token.output = state.output; const output = (opts.capture ? "(" : "") + token.open; increment("parens"); push({ type, value: value2, output: state.output ? "" : ONE_CHAR }); push({ type: "paren", extglob: true, value: advance(), output }); extglobs.push(token); }; const extglobClose = (token) => { let output = token.close + (opts.capture ? ")" : ""); let rest; if (token.type === "negate") { let extglobStar = star; if (token.inner && token.inner.length > 1 && token.inner.includes("/")) { extglobStar = globstar(opts); } if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { output = token.close = `)$))${extglobStar}`; } if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { const expression = parse2(rest, { ...options, fastpaths: false }).output; output = token.close = `)${expression})${extglobStar})`; } if (token.prev.type === "bos") { state.negatedExtglob = true; } } push({ type: "paren", extglob: true, value, output }); decrement("parens"); }; if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { let backslashes = false; let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { if (first === "\\") { backslashes = true; return m; } if (first === "?") { if (esc) { return esc + first + (rest ? QMARK.repeat(rest.length) : ""); } if (index === 0) { return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ""); } return QMARK.repeat(chars.length); } if (first === ".") { return DOT_LITERAL.repeat(chars.length); } if (first === "*") { if (esc) { return esc + first + (rest ? star : ""); } return star; } return esc ? m : `\\${m}`; }); if (backslashes === true) { if (opts.unescape === true) { output = output.replace(/\\/g, ""); } else { output = output.replace(/\\+/g, (m) => { return m.length % 2 === 0 ? "\\\\" : m ? "\\" : ""; }); } } if (output === input && opts.contains === true) { state.output = input; return state; } state.output = utils.wrapOutput(output, state, options); return state; } while (!eos()) { value = advance(); if (value === "\0") { continue; } if (value === "\\") { const next = peek(); if (next === "/" && opts.bash !== true) { continue; } if (next === "." || next === ";") { continue; } if (!next) { value += "\\"; push({ type: "text", value }); continue; } const match = /^\\+/.exec(remaining()); let slashes = 0; if (match && match[0].length > 2) { slashes = match[0].length; state.index += slashes; if (slashes % 2 !== 0) { value += "\\"; } } if (opts.unescape === true) { value = advance(); } else { value += advance(); } if (state.brackets === 0) { push({ type: "text", value }); continue; } } if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) { if (opts.posix !== false && value === ":") { const inner = prev.value.slice(1); if (inner.includes("[")) { prev.posix = true; if (inner.includes(":")) { const idx = prev.value.lastIndexOf("["); const pre = prev.value.slice(0, idx); const rest2 = prev.value.slice(idx + 2); const posix = POSIX_REGEX_SOURCE[rest2]; if (posix) { prev.value = pre + posix; state.backtrack = true; advance(); if (!bos.output && tokens.indexOf(prev) === 1) { bos.output = ONE_CHAR; } continue; } } } } if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") { value = `\\${value}`; } if (value === "]" && (prev.value === "[" || prev.value === "[^")) { value = `\\${value}`; } if (opts.posix === true && value === "!" && prev.value === "[") { value = "^"; } prev.value += value; append({ value }); continue; } if (state.quotes === 1 && value !== '"') { value = utils.escapeRegex(value); prev.value += value; append({ value }); continue; } if (value === '"') { state.quotes = state.quotes === 1 ? 0 : 1; if (opts.keepQuotes === true) { push({ type: "text", value }); } continue; } if (value === "(") { increment("parens"); push({ type: "paren", value }); continue; } if (value === ")") { if (state.parens === 0 && opts.strictBrackets === true) { throw new SyntaxError(syntaxError("opening", "(")); } const extglob = extglobs[extglobs.length - 1]; if (extglob && state.parens === extglob.parens + 1) { extglobClose(extglobs.pop()); continue; } push({ type: "paren", value, output: state.parens ? ")" : "\\)" }); decrement("parens"); continue; } if (value === "[") { if (opts.nobracket === true || !remaining().includes("]")) { if (opts.nobracket !== true && opts.strictBrackets === true) { throw new SyntaxError(syntaxError("closing", "]")); } value = `\\${value}`; } else { increment("brackets"); } push({ type: "bracket", value }); continue; } if (value === "]") { if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) { push({ type: "text", value, output: `\\${value}` }); continue; } if (state.brackets === 0) { if (opts.strictBrackets === true) { throw new SyntaxError(syntaxError("opening", "[")); } push({ type: "text", value, output: `\\${value}` }); continue; } decrement("brackets"); const prevValue = prev.value.slice(1); if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) { value = `/${value}`; } prev.value += value; append({ value }); if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) { continue; } const escaped = utils.escapeRegex(prev.value); state.output = state.output.slice(0, -prev.value.length); if (opts.literalBrackets === true) { state.output += escaped; prev.value = escaped; continue; } prev.value = `(${capture}${escaped}|${prev.value})`; state.output += prev.value; continue; } if (value === "{" && opts.nobrace !== true) { increment("braces"); const open = { type: "brace", value, output: "(", outputIndex: state.output.length, tokensIndex: state.tokens.length }; braces.push(open); push(open); continue; } if (value === "}") { const brace = braces[braces.length - 1]; if (opts.nobrace === true || !brace) { push({ type: "text", value, output: value }); continue; } let output = ")"; if (brace.dots === true) { const arr = tokens.slice(); const range = []; for (let i = arr.length - 1; i >= 0; i--) { tokens.pop(); if (arr[i].type === "brace") { break; } if (arr[i].type !== "dots") { range.unshift(arr[i].value); } } output = expandRange(range, opts); state.backtrack = true; } if (brace.comma !== true && brace.dots !== true) { const out = state.output.slice(0, brace.outputIndex); const toks = state.tokens.slice(brace.tokensIndex); brace.value = brace.output = "\\{"; value = output = "\\}"; state.output = out; for (const t of toks) { state.output += t.output || t.value; } } push({ type: "brace", value, output }); decrement("braces"); braces.pop(); continue; } if (value === "|") { if (extglobs.length > 0) { extglobs[extglobs.length - 1].conditions++; } push({ type: "text", value }); continue; } if (value === ",") { let output = value; const brace = braces[braces.length - 1]; if (brace && stack[stack.length - 1] === "braces") { brace.comma = true; output = "|"; } push({ type: "comma", value, output }); continue; } if (value === "/") { if (prev.type === "dot" && state.index === state.start + 1) { state.start = state.index + 1; state.consumed = ""; state.output = ""; tokens.pop(); prev = bos; continue; } push({ type: "slash", value, output: SLASH_LITERAL }); continue; } if (value === ".") { if (state.braces > 0 && prev.type === "dot") { if (prev.value === ".") prev.output = DOT_LITERAL; const brace = braces[braces.length - 1]; prev.type = "dots"; prev.output += value; prev.value += value; brace.dots = true; continue; } if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") { push({ type: "text", value, output: DOT_LITERAL }); continue; } push({ type: "dot", value, output: DOT_LITERAL }); continue; } if (value === "?") { const isGroup = prev && prev.value === "("; if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { extglobOpen("qmark", value); continue; } if (prev && prev.type === "paren") { const next = peek(); let output = value; if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) { output = `\\${value}`; } push({ type: "text", value, output }); continue; } if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) { push({ type: "qmark", value, output: QMARK_NO_DOT }); continue; } push({ type: "qmark", value, output: QMARK }); continue; } if (value === "!") { if (opts.noextglob !== true && peek() === "(") { if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) { extglobOpen("negate", value); continue; } } if (opts.nonegate !== true && state.index === 0) { negate(); continue; } } if (value === "+") { if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { extglobOpen("plus", value); continue; } if (prev && prev.value === "(" || opts.regex === false) { push({ type: "plus", value, output: PLUS_LITERAL }); continue; } if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) { push({ type: "plus", value }); continue; } push({ type: "plus", value: PLUS_LITERAL }); continue; } if (value === "@") { if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { push({ type: "at", extglob: true, value, output: "" }); continue; } push({ type: "text", value }); continue; } if (value !== "*") { if (value === "$" || value === "^") { value = `\\${value}`; } const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); if (match) { value += match[0]; state.index += match[0].length; } push({ type: "text", value }); continue; } if (prev && (prev.type === "globstar" || prev.star === true)) { prev.type = "star"; prev.star = true; prev.value += value; prev.output = star; state.backtrack = true; state.globstar = true; consume(value); continue; } let rest = remaining(); if (opts.noextglob !== true && /^\([^?]/.test(rest)) { extglobOpen("star", value); continue; } if (prev.type === "star") { if (opts.noglobstar === true) { consume(value); continue; } const prior = prev.prev; const before = prior.prev; const isStart = prior.type === "slash" || prior.type === "bos"; const afterStar = before && (before.type === "star" || before.type === "globstar"); if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) { push({ type: "star", value, output: "" }); continue; } const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace"); const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren"); if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) { push({ type: "star", value, output: "" }); continue; } while (rest.slice(0, 3) === "/**") { const after = input[state.index + 4]; if (after && after !== "/") { break; } rest = rest.slice(3); consume("/**", 3); } if (prior.type === "bos" && eos()) { prev.type = "globstar"; prev.value += value; prev.output = globstar(opts); state.output = prev.output; state.globstar = true; consume(value); continue; } if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) { state.output = state.output.slice(0, -(prior.output + prev.output).length); prior.output = `(?:${prior.output}`; prev.type = "globstar"; prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)"); prev.value += value; state.globstar = true; state.output += prior.output + prev.output; consume(value); continue; } if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") { const end = rest[1] !== void 0 ? "|$" : ""; state.output = state.output.slice(0, -(prior.output + prev.output).length); prior.output = `(?:${prior.output}`; prev.type = "globstar"; prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; prev.value += value; state.output += prior.output + prev.output; state.globstar = true; consume(value + advance()); push({ type: "slash", value: "/", output: "" }); continue; } if (prior.type === "bos" && rest[0] === "/") { prev.type = "globstar"; prev.value += value; prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; state.output = prev.output; state.globstar = true; consume(value + advance()); push({ type: "slash", value: "/", output: "" }); continue; } state.output = state.output.slice(0, -prev.output.length); prev.type = "globstar"; prev.output = globstar(opts); prev.value += value; state.output += prev.output; state.globstar = true; consume(value); continue; } const token = { type: "star", value, output: star }; if (opts.bash === true) { token.output = ".*?"; if (prev.type === "bos" || prev.type === "slash") { token.output = nodot + token.output; } push(token); continue; } if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) { token.output = value; push(token); continue; } if (state.index === state.start || prev.type === "slash" || prev.type === "dot") { if (prev.type === "dot") { state.output += NO_DOT_SLASH; prev.output += NO_DOT_SLASH; } else if (opts.dot === true) { state.output += NO_DOTS_SLASH; prev.output += NO_DOTS_SLASH; } else { state.output += nodot; prev.output += nodot; } if (peek() !== "*") { state.output += ONE_CHAR; prev.output += ONE_CHAR; } } push(token); } while (state.brackets > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]")); state.output = utils.escapeLast(state.output, "["); decrement("brackets"); } while (state.parens > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")")); state.output = utils.escapeLast(state.output, "("); decrement("parens"); } while (state.braces > 0) { if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}")); state.output = utils.escapeLast(state.output, "{"); decrement("braces"); } if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) { push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` }); } if (state.backtrack === true) { state.output = ""; for (const token of state.tokens) { state.output += token.output != null ? token.output : token.value; if (token.suffix) { state.output += token.suffix; } } } return state; }; parse2.fastpaths = (input, options) => { const opts = { ...options }; const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; const len = input.length; if (len > max) { throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); } input = REPLACEMENTS[input] || input; const { DOT_LITERAL, SLASH_LITERAL, ONE_CHAR, DOTS_SLASH, NO_DOT, NO_DOTS, NO_DOTS_SLASH, STAR, START_ANCHOR } = constants.globChars(opts.windows); const nodot = opts.dot ? NO_DOTS : NO_DOT; const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; const capture = opts.capture ? "" : "?:"; const state = { negated: false, prefix: "" }; let star = opts.bash === true ? ".*?" : STAR; if (opts.capture) { star = `(${star})`; } const globstar = (opts2) => { if (opts2.noglobstar === true) return star; return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; }; const create = (str) => { switch (str) { case "*": return `${nodot}${ONE_CHAR}${star}`; case ".*": return `${DOT_LITERAL}${ONE_CHAR}${star}`; case "*.*": return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; case "*/*": return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; case "**": return nodot + globstar(opts); case "**/*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; case "**/*.*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; case "**/.*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; default: { const match = /^(.*?)\.(\w+)$/.exec(str); if (!match) return; const source2 = create(match[1]); if (!source2) return; return source2 + DOT_LITERAL + match[2]; } } }; const output = utils.removePrefix(input, state); let source = create(output); if (source && opts.strictSlashes !== true) { source += `${SLASH_LITERAL}?`; } return source; }; module2.exports = parse2; } }); // ../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/picomatch.js var require_picomatch3 = __commonJS({ "../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/lib/picomatch.js"(exports2, module2) { "use strict"; var scan = require_scan4(); var parse2 = require_parse7(); var utils = require_utils10(); var constants = require_constants12(); var isObject = (val) => val && typeof val === "object" && !Array.isArray(val); var picomatch = (glob, options, returnState = false) => { if (Array.isArray(glob)) { const fns = glob.map((input) => picomatch(input, options, returnState)); const arrayMatcher = (str) => { for (const isMatch of fns) { const state2 = isMatch(str); if (state2) return state2; } return false; }; return arrayMatcher; } const isState = isObject(glob) && glob.tokens && glob.input; if (glob === "" || typeof glob !== "string" && !isState) { throw new TypeError("Expected pattern to be a non-empty string"); } const opts = options || {}; const posix = opts.windows; const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true); const state = regex.state; delete regex.state; let isIgnored = () => false; if (opts.ignore) { const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null }; isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); } const matcher = (input, returnObject = false) => { const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix }); const result2 = { glob, state, regex, posix, input, output, match, isMatch }; if (typeof opts.onResult === "function") { opts.onResult(result2); } if (isMatch === false) { result2.isMatch = false; return returnObject ? result2 : false; } if (isIgnored(input)) { if (typeof opts.onIgnore === "function") { opts.onIgnore(result2); } result2.isMatch = false; return returnObject ? result2 : false; } if (typeof opts.onMatch === "function") { opts.onMatch(result2); } return returnObject ? result2 : true; }; if (returnState) { matcher.state = state; } return matcher; }; picomatch.test = (input, regex, options, { glob, posix } = {}) => { if (typeof input !== "string") { throw new TypeError("Expected input to be a string"); } if (input === "") { return { isMatch: false, output: "" }; } const opts = options || {}; const format = opts.format || (posix ? utils.toPosixSlashes : null); let match = input === glob; let output = match && format ? format(input) : input; if (match === false) { output = format ? format(input) : input; match = output === glob; } if (match === false || opts.capture === true) { if (opts.matchBase === true || opts.basename === true) { match = picomatch.matchBase(input, regex, options, posix); } else { match = regex.exec(output); } } return { isMatch: Boolean(match), match, output }; }; picomatch.matchBase = (input, glob, options) => { const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); return regex.test(utils.basename(input)); }; picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); picomatch.parse = (pattern, options) => { if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options)); return parse2(pattern, { ...options, fastpaths: false }); }; picomatch.scan = (input, options) => scan(input, options); picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => { if (returnOutput === true) { return state.output; } const opts = options || {}; const prepend = opts.contains ? "" : "^"; const append = opts.contains ? "" : "$"; let source = `${prepend}(?:${state.output})${append}`; if (state && state.negated === true) { source = `^(?!${source}).*$`; } const regex = picomatch.toRegex(source, options); if (returnState === true) { regex.state = state; } return regex; }; picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => { if (!input || typeof input !== "string") { throw new TypeError("Expected a non-empty string"); } let parsed = { negated: false, fastpaths: true }; if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) { parsed.output = parse2.fastpaths(input, options); } if (!parsed.output) { parsed = parse2(input, options); } return picomatch.compileRe(parsed, options, returnOutput, returnState); }; picomatch.toRegex = (source, options) => { try { const opts = options || {}; return new RegExp(source, opts.flags || (opts.nocase ? "i" : "")); } catch (err) { if (options && options.debug === true) throw err; return /$^/; } }; picomatch.constants = constants; module2.exports = picomatch; } }); // ../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/index.js var require_picomatch4 = __commonJS({ "../node_modules/.pnpm/picomatch@4.0.3/node_modules/picomatch/index.js"(exports2, module2) { "use strict"; var pico = require_picomatch3(); var utils = require_utils10(); function picomatch(glob, options, returnState = false) { if (options && (options.windows === null || options.windows === void 0)) { options = { ...options, windows: utils.isWindows() }; } return pico(glob, options, returnState); } Object.assign(picomatch, pico); module2.exports = picomatch; } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/builder/index.js var require_builder = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/builder/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Builder = void 0; var path_1 = require("path"); var api_builder_1 = require_api_builder(); var pm = null; try { require.resolve("picomatch"); pm = require_picomatch4(); } catch (_e) { } var Builder = class { globCache = {}; options = { maxDepth: Infinity, suppressErrors: true, pathSeparator: path_1.sep, filters: [] }; globFunction; constructor(options) { this.options = { ...this.options, ...options }; this.globFunction = this.options.globFunction; } group() { this.options.group = true; return this; } withPathSeparator(separator) { this.options.pathSeparator = separator; return this; } withBasePath() { this.options.includeBasePath = true; return this; } withRelativePaths() { this.options.relativePaths = true; return this; } withDirs() { this.options.includeDirs = true; return this; } withMaxDepth(depth) { this.options.maxDepth = depth; return this; } withMaxFiles(limit) { this.options.maxFiles = limit; return this; } withFullPaths() { this.options.resolvePaths = true; this.options.includeBasePath = true; return this; } withErrors() { this.options.suppressErrors = false; return this; } withSymlinks({ resolvePaths = true } = {}) { this.options.resolveSymlinks = true; this.options.useRealPaths = resolvePaths; return this.withFullPaths(); } withAbortSignal(signal) { this.options.signal = signal; return this; } normalize() { this.options.normalizePath = true; return this; } filter(predicate) { this.options.filters.push(predicate); return this; } onlyDirs() { this.options.excludeFiles = true; this.options.includeDirs = true; return this; } exclude(predicate) { this.options.exclude = predicate; return this; } onlyCounts() { this.options.onlyCounts = true; return this; } crawl(root) { return new api_builder_1.APIBuilder(root || ".", this.options); } withGlobFunction(fn) { this.globFunction = fn; return this; } /** * @deprecated Pass options using the constructor instead: * ```ts * new fdir(options).crawl("/path/to/root"); * ``` * This method will be removed in v7.0 */ /* c8 ignore next 4 */ crawlWithOptions(root, options) { this.options = { ...this.options, ...options }; return new api_builder_1.APIBuilder(root || ".", this.options); } glob(...patterns) { if (this.globFunction) { return this.globWithOptions(patterns); } return this.globWithOptions(patterns, ...[{ dot: true }]); } globWithOptions(patterns, ...options) { const globFn = this.globFunction || pm; if (!globFn) { throw new Error("Please specify a glob function to use glob matching."); } var isMatch = this.globCache[patterns.join("\0")]; if (!isMatch) { isMatch = globFn(patterns, ...options); this.globCache[patterns.join("\0")] = isMatch; } this.options.filters.push((path2) => isMatch(path2)); return this; } }; exports2.Builder = Builder; } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/types.js var require_types4 = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/types.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); } }); // ../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/index.js var require_dist16 = __commonJS({ "../node_modules/.pnpm/fdir@6.4.5_picomatch@4.0.3/node_modules/fdir/dist/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.fdir = void 0; var builder_1 = require_builder(); Object.defineProperty(exports2, "fdir", { enumerable: true, get: function() { return builder_1.Builder; } }); __exportStar2(require_types4(), exports2); } }); // ../node_modules/.pnpm/tinyglobby@0.2.14/node_modules/tinyglobby/dist/index.js var require_dist17 = __commonJS({ "../node_modules/.pnpm/tinyglobby@0.2.14/node_modules/tinyglobby/dist/index.js"(exports2) { var __create2 = Object.create; var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; var __getProtoOf2 = Object.getPrototypeOf; var __hasOwnProp2 = Object.prototype.hasOwnProperty; var __copyProps2 = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames2(from), i = 0, n = keys.length, key; i < n; i++) { key = keys[i]; if (!__hasOwnProp2.call(to, key) && key !== except) __defProp2(to, key, { get: ((k) => from[k]).bind(null, key), enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } return to; }; var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, mod)); var path2 = __toESM2(require("path")); var fdir = __toESM2(require_dist16()); var picomatch = __toESM2(require_picomatch4()); var ONLY_PARENT_DIRECTORIES = /^(\/?\.\.)+$/; function getPartialMatcher(patterns, options) { const patternsCount = patterns.length; const patternsParts = Array(patternsCount); const regexes = Array(patternsCount); for (let i = 0; i < patternsCount; i++) { const parts = splitPattern(patterns[i]); patternsParts[i] = parts; const partsCount = parts.length; const partRegexes = Array(partsCount); for (let j = 0; j < partsCount; j++) partRegexes[j] = picomatch.default.makeRe(parts[j], options); regexes[i] = partRegexes; } return (input) => { const inputParts = input.split("/"); if (inputParts[0] === ".." && ONLY_PARENT_DIRECTORIES.test(input)) return true; for (let i = 0; i < patterns.length; i++) { const patternParts = patternsParts[i]; const regex = regexes[i]; const inputPatternCount = inputParts.length; const minParts = Math.min(inputPatternCount, patternParts.length); let j = 0; while (j < minParts) { const part = patternParts[j]; if (part.includes("/")) return true; const match = regex[j].test(inputParts[j]); if (!match) break; if (part === "**") return true; j++; } if (j === inputPatternCount) return true; } return false; }; } var splitPatternOptions = { parts: true }; function splitPattern(path$2) { var _result$parts; const result2 = picomatch.default.scan(path$2, splitPatternOptions); return ((_result$parts = result2.parts) === null || _result$parts === void 0 ? void 0 : _result$parts.length) ? result2.parts : [path$2]; } var isWin = process.platform === "win32"; var ESCAPED_WIN32_BACKSLASHES = /\\(?![()[\]{}!+@])/g; function convertPosixPathToPattern(path$2) { return escapePosixPath(path$2); } function convertWin32PathToPattern(path$2) { return escapeWin32Path(path$2).replace(ESCAPED_WIN32_BACKSLASHES, "/"); } var convertPathToPattern = isWin ? convertWin32PathToPattern : convertPosixPathToPattern; var POSIX_UNESCAPED_GLOB_SYMBOLS = /(? path$2.replace(POSIX_UNESCAPED_GLOB_SYMBOLS, "\\$&"); var escapeWin32Path = (path$2) => path$2.replace(WIN32_UNESCAPED_GLOB_SYMBOLS, "\\$&"); var escapePath = isWin ? escapeWin32Path : escapePosixPath; function isDynamicPattern(pattern, options) { if ((options === null || options === void 0 ? void 0 : options.caseSensitiveMatch) === false) return true; const scan = picomatch.default.scan(pattern); return scan.isGlob || scan.negated; } function log(...tasks) { console.log(`[tinyglobby ${(/* @__PURE__ */ new Date()).toLocaleTimeString("es")}]`, ...tasks); } var PARENT_DIRECTORY = /^(\/?\.\.)+/; var ESCAPING_BACKSLASHES = /\\(?=[()[\]{}!*+?@|])/g; var BACKSLASHES = /\\/g; function normalizePattern(pattern, expandDirectories, cwd, props, isIgnore) { let result2 = pattern; if (pattern.endsWith("/")) result2 = pattern.slice(0, -1); if (!result2.endsWith("*") && expandDirectories) result2 += "/**"; const escapedCwd = escapePath(cwd); if (path2.default.isAbsolute(result2.replace(ESCAPING_BACKSLASHES, ""))) result2 = path2.posix.relative(escapedCwd, result2); else result2 = path2.posix.normalize(result2); const parentDirectoryMatch = PARENT_DIRECTORY.exec(result2); const parts = splitPattern(result2); if (parentDirectoryMatch === null || parentDirectoryMatch === void 0 ? void 0 : parentDirectoryMatch[0]) { const n = (parentDirectoryMatch[0].length + 1) / 3; let i = 0; const cwdParts = escapedCwd.split("/"); while (i < n && parts[i + n] === cwdParts[cwdParts.length + i - n]) { result2 = result2.slice(0, (n - i - 1) * 3) + result2.slice((n - i) * 3 + parts[i + n].length + 1) || "."; i++; } const potentialRoot = path2.posix.join(cwd, parentDirectoryMatch[0].slice(i * 3)); if (!potentialRoot.startsWith(".") && props.root.length > potentialRoot.length) { props.root = potentialRoot; props.depthOffset = -n + i; } } if (!isIgnore && props.depthOffset >= 0) { var _props$commonPath; (_props$commonPath = props.commonPath) !== null && _props$commonPath !== void 0 || (props.commonPath = parts); const newCommonPath = []; const length = Math.min(props.commonPath.length, parts.length); for (let i = 0; i < length; i++) { const part = parts[i]; if (part === "**" && !parts[i + 1]) { newCommonPath.pop(); break; } if (part !== props.commonPath[i] || isDynamicPattern(part) || i === parts.length - 1) break; newCommonPath.push(part); } props.depthOffset = newCommonPath.length; props.commonPath = newCommonPath; props.root = newCommonPath.length > 0 ? path2.default.posix.join(cwd, ...newCommonPath) : cwd; } return result2; } function processPatterns({ patterns, ignore = [], expandDirectories = true }, cwd, props) { if (typeof patterns === "string") patterns = [patterns]; else if (!patterns) patterns = ["**/*"]; if (typeof ignore === "string") ignore = [ignore]; const matchPatterns = []; const ignorePatterns = []; for (const pattern of ignore) { if (!pattern) continue; if (pattern[0] !== "!" || pattern[1] === "(") ignorePatterns.push(normalizePattern(pattern, expandDirectories, cwd, props, true)); } for (const pattern of patterns) { if (!pattern) continue; if (pattern[0] !== "!" || pattern[1] === "(") matchPatterns.push(normalizePattern(pattern, expandDirectories, cwd, props, false)); else if (pattern[1] !== "!" || pattern[2] === "(") ignorePatterns.push(normalizePattern(pattern.slice(1), expandDirectories, cwd, props, true)); } return { match: matchPatterns, ignore: ignorePatterns }; } function getRelativePath(path$2, cwd, root) { return path2.posix.relative(cwd, `${root}/${path$2}`) || "."; } function processPath(path$2, cwd, root, isDirectory, absolute) { const relativePath = absolute ? path$2.slice(root === "/" ? 1 : root.length + 1) || "." : path$2; if (root === cwd) return isDirectory && relativePath !== "." ? relativePath.slice(0, -1) : relativePath; return getRelativePath(relativePath, cwd, root); } function formatPaths(paths, cwd, root) { for (let i = paths.length - 1; i >= 0; i--) { const path$2 = paths[i]; paths[i] = getRelativePath(path$2, cwd, root) + (!path$2 || path$2.endsWith("/") ? "/" : ""); } return paths; } function crawl(options, cwd, sync) { if (process.env.TINYGLOBBY_DEBUG) options.debug = true; if (options.debug) log("globbing with options:", options, "cwd:", cwd); if (Array.isArray(options.patterns) && options.patterns.length === 0) return sync ? [] : Promise.resolve([]); const props = { root: cwd, commonPath: null, depthOffset: 0 }; const processed = processPatterns(options, cwd, props); const nocase = options.caseSensitiveMatch === false; if (options.debug) log("internal processing patterns:", processed); const matcher = (0, picomatch.default)(processed.match, { dot: options.dot, nocase, ignore: processed.ignore }); const ignore = (0, picomatch.default)(processed.ignore, { dot: options.dot, nocase }); const partialMatcher = getPartialMatcher(processed.match, { dot: options.dot, nocase }); const fdirOptions = { filters: [options.debug ? (p, isDirectory) => { const path$2 = processPath(p, cwd, props.root, isDirectory, options.absolute); const matches = matcher(path$2); if (matches) log(`matched ${path$2}`); return matches; } : (p, isDirectory) => matcher(processPath(p, cwd, props.root, isDirectory, options.absolute))], exclude: options.debug ? (_, p) => { const relativePath = processPath(p, cwd, props.root, true, true); const skipped = relativePath !== "." && !partialMatcher(relativePath) || ignore(relativePath); if (skipped) log(`skipped ${p}`); else log(`crawling ${p}`); return skipped; } : (_, p) => { const relativePath = processPath(p, cwd, props.root, true, true); return relativePath !== "." && !partialMatcher(relativePath) || ignore(relativePath); }, pathSeparator: "/", relativePaths: true, resolveSymlinks: true }; if (options.deep !== void 0) fdirOptions.maxDepth = Math.round(options.deep - props.depthOffset); if (options.absolute) { fdirOptions.relativePaths = false; fdirOptions.resolvePaths = true; fdirOptions.includeBasePath = true; } if (options.followSymbolicLinks === false) { fdirOptions.resolveSymlinks = false; fdirOptions.excludeSymlinks = true; } if (options.onlyDirectories) { fdirOptions.excludeFiles = true; fdirOptions.includeDirs = true; } else if (options.onlyFiles === false) fdirOptions.includeDirs = true; props.root = props.root.replace(BACKSLASHES, ""); const root = props.root; if (options.debug) log("internal properties:", props); const api = new fdir.fdir(fdirOptions).crawl(root); if (cwd === root || options.absolute) return sync ? api.sync() : api.withPromise(); return sync ? formatPaths(api.sync(), cwd, root) : api.withPromise().then((paths) => formatPaths(paths, cwd, root)); } async function glob(patternsOrOptions, options) { if (patternsOrOptions && (options === null || options === void 0 ? void 0 : options.patterns)) throw new Error("Cannot pass patterns as both an argument and an option"); const opts = Array.isArray(patternsOrOptions) || typeof patternsOrOptions === "string" ? { ...options, patterns: patternsOrOptions } : patternsOrOptions; const cwd = opts.cwd ? path2.default.resolve(opts.cwd).replace(BACKSLASHES, "/") : process.cwd().replace(BACKSLASHES, "/"); return crawl(opts, cwd, false); } function globSync(patternsOrOptions, options) { if (patternsOrOptions && (options === null || options === void 0 ? void 0 : options.patterns)) throw new Error("Cannot pass patterns as both an argument and an option"); const opts = Array.isArray(patternsOrOptions) || typeof patternsOrOptions === "string" ? { ...options, patterns: patternsOrOptions } : patternsOrOptions; const cwd = opts.cwd ? path2.default.resolve(opts.cwd).replace(BACKSLASHES, "/") : process.cwd().replace(BACKSLASHES, "/"); return crawl(opts, cwd, true); } exports2.convertPathToPattern = convertPathToPattern; exports2.escapePath = escapePath; exports2.glob = glob; exports2.globSync = globSync; exports2.isDynamicPattern = isDynamicPattern; } }); // ../node_modules/.pnpm/is-subdir@1.2.0/node_modules/is-subdir/index.js var require_is_subdir = __commonJS({ "../node_modules/.pnpm/is-subdir@1.2.0/node_modules/is-subdir/index.js"(exports2, module2) { "use strict"; var betterPathResolve = require_better_path_resolve(); var path2 = require("path"); function isSubdir(parentDir, subdir) { const rParent = `${betterPathResolve(parentDir)}${path2.sep}`; const rDir = `${betterPathResolve(subdir)}${path2.sep}`; return rDir.startsWith(rParent); } isSubdir.strict = function isSubdirStrict(parentDir, subdir) { const rParent = `${betterPathResolve(parentDir)}${path2.sep}`; const rDir = `${betterPathResolve(subdir)}${path2.sep}`; return rDir !== rParent && rDir.startsWith(rParent); }; module2.exports = isSubdir; } }); // ../pkg-manager/package-bins/lib/index.js var require_lib67 = __commonJS({ "../pkg-manager/package-bins/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getBinsFromPackageManifest = getBinsFromPackageManifest; var path_1 = __importDefault2(require("path")); var tinyglobby_1 = require_dist17(); var is_subdir_1 = __importDefault2(require_is_subdir()); async function getBinsFromPackageManifest(manifest, pkgPath) { if (manifest.bin) { return commandsFromBin(manifest.bin, manifest.name, pkgPath); } if (manifest.directories?.bin) { const binDir = path_1.default.join(pkgPath, manifest.directories.bin); const files = await findFiles(binDir); return files.map((file) => ({ name: path_1.default.basename(file), path: path_1.default.join(binDir, file) })); } return []; } async function findFiles(dir) { try { return await (0, tinyglobby_1.glob)("**", { cwd: dir, onlyFiles: true, followSymbolicLinks: false, expandDirectories: false }); } catch (err) { if (err.code !== "ENOENT") { throw err; } return []; } } function commandsFromBin(bin, pkgName, pkgPath) { if (typeof bin === "string") { return [ { name: normalizeBinName(pkgName), path: path_1.default.join(pkgPath, bin) } ]; } return Object.keys(bin).filter((commandName) => encodeURIComponent(commandName) === commandName || commandName === "$" || commandName[0] === "@").map((commandName) => ({ name: normalizeBinName(commandName), path: path_1.default.join(pkgPath, bin[commandName]) })).filter((cmd) => (0, is_subdir_1.default)(pkgPath, cmd.path)); } function normalizeBinName(name) { return name[0] === "@" ? name.slice(name.indexOf("/") + 1) : name; } } }); // ../fs/read-modules-dir/lib/index.js var require_lib68 = __commonJS({ "../fs/read-modules-dir/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readModulesDir = readModulesDir; var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var graceful_fs_1 = __importDefault2(require_graceful_fs()); var readdir = util_1.default.promisify(graceful_fs_1.default.readdir); async function readModulesDir(modulesDir) { try { return await _readModulesDir(modulesDir); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") return null; throw err; } } async function _readModulesDir(modulesDir, scope) { const pkgNames = []; const parentDir = scope ? path_1.default.join(modulesDir, scope) : modulesDir; await Promise.all((await readdir(parentDir, { withFileTypes: true })).map(async (dir) => { if (dir.isFile() || dir.name[0] === ".") return; if (!scope && dir.name[0] === "@") { pkgNames.push(...await _readModulesDir(modulesDir, dir.name)); return; } const pkgName = scope ? `${scope}/${dir.name}` : dir.name; pkgNames.push(pkgName); })); return pkgNames; } } }); // ../node_modules/.pnpm/cmd-extension@1.0.2/node_modules/cmd-extension/index.js var require_cmd_extension = __commonJS({ "../node_modules/.pnpm/cmd-extension@1.0.2/node_modules/cmd-extension/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var cmdExtension; if (process.env.PATHEXT) { cmdExtension = process.env.PATHEXT.split(path2.delimiter).find((ext) => ext.toUpperCase() === ".CMD"); } module2.exports = cmdExtension || ".cmd"; } }); // ../node_modules/.pnpm/@zkochan+cmd-shim@7.0.0/node_modules/@zkochan/cmd-shim/index.js var require_cmd_shim = __commonJS({ "../node_modules/.pnpm/@zkochan+cmd-shim@7.0.0/node_modules/@zkochan/cmd-shim/index.js"(exports2, module2) { "use strict"; cmdShim.ifExists = cmdShimIfExists; var util_1 = require("util"); var path2 = require("path"); var isWindows = require_is_windows(); var isCygwin = () => isWindows() && (process.env.TERM === "CYGWIN" || process.env.MSYSTEM !== void 0); var CMD_EXTENSION = require_cmd_extension(); var shebangExpr = /^#!\s*(?:\/usr\/bin\/env(?:\s+-S\s*)?)?\s*([^ \t]+)(.*)$/; var DEFAULT_OPTIONS = { // Create PowerShell file by default if the option hasn't been specified createPwshFile: true, createCmdFile: isWindows(), fs: require_graceful_fs() }; var extensionToProgramMap = /* @__PURE__ */ new Map([ [".js", "node"], [".cjs", "node"], [".mjs", "node"], [".cmd", "cmd"], [".bat", "cmd"], [".ps1", "pwsh"], [".sh", "sh"] ]); function ingestOptions(opts) { const opts_ = { ...DEFAULT_OPTIONS, ...opts }; const fs = opts_.fs; opts_.fs_ = { chmod: fs.chmod ? (0, util_1.promisify)(fs.chmod) : (async () => { }), mkdir: (0, util_1.promisify)(fs.mkdir), readFile: (0, util_1.promisify)(fs.readFile), stat: (0, util_1.promisify)(fs.stat), unlink: (0, util_1.promisify)(fs.unlink), writeFile: (0, util_1.promisify)(fs.writeFile) }; return opts_; } async function cmdShim(src, to, opts) { const opts_ = ingestOptions(opts); await cmdShim_(src, to, opts_); } function cmdShimIfExists(src, to, opts) { return cmdShim(src, to, opts).catch(() => { }); } function rm(path3, opts) { return opts.fs_.unlink(path3).catch(() => { }); } async function cmdShim_(src, to, opts) { const srcRuntimeInfo = await searchScriptRuntime(src, opts); await writeShimsPreCommon(to, opts); return writeAllShims(src, to, srcRuntimeInfo, opts); } function writeShimsPreCommon(target, opts) { return opts.fs_.mkdir(path2.dirname(target), { recursive: true }); } function writeAllShims(src, to, srcRuntimeInfo, opts) { const opts_ = ingestOptions(opts); const generatorAndExts = [{ generator: generateShShim, extension: "" }]; if (opts_.createCmdFile) { generatorAndExts.push({ generator: generateCmdShim, extension: CMD_EXTENSION }); } if (opts_.createPwshFile) { generatorAndExts.push({ generator: generatePwshShim, extension: ".ps1" }); } return Promise.all(generatorAndExts.map((generatorAndExt) => writeShim(src, to + generatorAndExt.extension, srcRuntimeInfo, generatorAndExt.generator, opts_))); } function writeShimPre(target, opts) { return rm(target, opts); } function writeShimPost(target, opts) { return chmodShim(target, opts); } async function searchScriptRuntime(target, opts) { try { const data = await opts.fs_.readFile(target, "utf8"); const firstLine = data.trim().split(/\r*\n/)[0]; const shebang = firstLine.match(shebangExpr); if (!shebang) { const targetExtension = path2.extname(target).toLowerCase(); const program = extensionToProgramMap.get(targetExtension) || null; const additionalArgs = program === "cmd" ? "/C" : ""; return { program, additionalArgs }; } return { program: shebang[1], additionalArgs: shebang[2] }; } catch (err) { if (!isWindows() || err.code !== "ENOENT") throw err; if (await opts.fs_.stat(`${target}${getExeExtension()}`)) { return { program: null, additionalArgs: "" }; } throw err; } } function getExeExtension() { let cmdExtension; if (process.env.PATHEXT) { cmdExtension = process.env.PATHEXT.split(path2.delimiter).find((ext) => ext.toLowerCase() === ".exe"); } return cmdExtension || ".exe"; } async function writeShim(src, to, srcRuntimeInfo, generateShimScript, opts) { const defaultArgs = opts.preserveSymlinks ? "--preserve-symlinks" : ""; const args = [srcRuntimeInfo.additionalArgs, defaultArgs].filter((arg) => arg).join(" "); opts = Object.assign({}, opts, { prog: srcRuntimeInfo.program, args }); await writeShimPre(to, opts); await opts.fs_.writeFile(to, generateShimScript(src, to, opts), "utf8"); return writeShimPost(to, opts); } function generateCmdShim(src, to, opts) { const shTarget = path2.relative(path2.dirname(to), src); let target = shTarget.split("/").join("\\"); const quotedPathToTarget = path2.isAbsolute(target) ? `"${target}"` : `"%~dp0\\${target}"`; let longProg; let prog = opts.prog; let args = opts.args || ""; const nodePath = normalizePathEnvVar(opts.nodePath).win32; const prependToPath = normalizePathEnvVar(opts.prependToPath).win32; if (!prog) { prog = quotedPathToTarget; args = ""; target = ""; } else if (prog === "node" && opts.nodeExecPath) { prog = `"${opts.nodeExecPath}"`; target = quotedPathToTarget; } else { longProg = `"%~dp0\\${prog}.exe"`; target = quotedPathToTarget; } let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : ""; let cmd = "@SETLOCAL\r\n"; if (prependToPath) { cmd += `@SET "PATH=${prependToPath}:%PATH%"\r `; } if (nodePath) { cmd += `@IF NOT DEFINED NODE_PATH (\r @SET "NODE_PATH=${nodePath}"\r ) ELSE (\r @SET "NODE_PATH=${nodePath};%NODE_PATH%"\r )\r `; } if (longProg) { cmd += `@IF EXIST ${longProg} (\r ${longProg} ${args} ${target} ${progArgs}%*\r ) ELSE (\r @SET PATHEXT=%PATHEXT:;.JS;=;%\r ${prog} ${args} ${target} ${progArgs}%*\r )\r `; } else { cmd += `@${prog} ${args} ${target} ${progArgs}%*\r `; } return cmd; } function generateShShim(src, to, opts) { let shTarget = path2.relative(path2.dirname(to), src); let shProg = opts.prog && opts.prog.split("\\").join("/"); let shLongProg; shTarget = shTarget.split("\\").join("/"); const quotedPathToTarget = path2.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`; let args = opts.args || ""; const shNodePath = normalizePathEnvVar(opts.nodePath).posix; if (!shProg) { shProg = quotedPathToTarget; args = ""; shTarget = ""; } else if (opts.prog === "node" && opts.nodeExecPath) { shProg = `"${opts.nodeExecPath}"`; shTarget = quotedPathToTarget; } else { shLongProg = `"$basedir/${opts.prog}"`; shTarget = quotedPathToTarget; } let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : ""; let sh = `#!/bin/sh basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") case \`uname\` in *CYGWIN*|*MINGW*|*MSYS*) if command -v cygpath > /dev/null 2>&1; then basedir=\`cygpath -w "$basedir"\` fi ;; esac `; if (opts.prependToPath) { sh += `export PATH="${opts.prependToPath}:$PATH" `; } if (shNodePath) { sh += `if [ -z "$NODE_PATH" ]; then export NODE_PATH="${shNodePath}" else export NODE_PATH="${shNodePath}:$NODE_PATH" fi `; } if (shLongProg) { sh += `if [ -x ${shLongProg} ]; then exec ${shLongProg} ${args} ${shTarget} ${progArgs}"$@" else exec ${shProg} ${args} ${shTarget} ${progArgs}"$@" fi `; } else { sh += `${shProg} ${args} ${shTarget} ${progArgs}"$@" exit $? `; } return sh; } function generatePwshShim(src, to, opts) { let shTarget = path2.relative(path2.dirname(to), src); const shProg = opts.prog && opts.prog.split("\\").join("/"); let pwshProg = shProg && `"${shProg}$exe"`; let pwshLongProg; shTarget = shTarget.split("\\").join("/"); const quotedPathToTarget = path2.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`; let args = opts.args || ""; let normalizedNodePathEnvVar = normalizePathEnvVar(opts.nodePath); const nodePath = normalizedNodePathEnvVar.win32; const shNodePath = normalizedNodePathEnvVar.posix; let normalizedPrependPathEnvVar = normalizePathEnvVar(opts.prependToPath); const prependPath = normalizedPrependPathEnvVar.win32; const shPrependPath = normalizedPrependPathEnvVar.posix; if (!pwshProg) { pwshProg = quotedPathToTarget; args = ""; shTarget = ""; } else if (opts.prog === "node" && opts.nodeExecPath) { pwshProg = `"${opts.nodeExecPath}"`; shTarget = quotedPathToTarget; } else { pwshLongProg = `"$basedir/${opts.prog}$exe"`; shTarget = quotedPathToTarget; } let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : ""; let pwsh = `#!/usr/bin/env pwsh $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent $exe="" ${nodePath || prependPath ? '$pathsep=":"\n' : ""}${nodePath ? `$env_node_path=$env:NODE_PATH $new_node_path="${nodePath}" ` : ""}${prependPath ? `$env_path=$env:PATH $prepend_path="${prependPath}" ` : ""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { # Fix case when both the Windows and Linux builds of Node # are installed in the same directory $exe=".exe" ${nodePath || prependPath ? ' $pathsep=";"\n' : ""}}`; if (shNodePath || shPrependPath) { pwsh += ` else { ${shNodePath ? ` $new_node_path="${shNodePath}" ` : ""}${shPrependPath ? ` $prepend_path="${shPrependPath}" ` : ""}} `; } if (shNodePath) { pwsh += `if ([string]::IsNullOrEmpty($env_node_path)) { $env:NODE_PATH=$new_node_path } else { $env:NODE_PATH="$new_node_path$pathsep$env_node_path" } `; } if (opts.prependToPath) { pwsh += ` $env:PATH="$prepend_path$pathsep$env:PATH" `; } if (pwshLongProg) { pwsh += ` $ret=0 if (Test-Path ${pwshLongProg}) { # Support pipeline input if ($MyInvocation.ExpectingInput) { $input | & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args } else { & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args } $ret=$LASTEXITCODE } else { # Support pipeline input if ($MyInvocation.ExpectingInput) { $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args } else { & ${pwshProg} ${args} ${shTarget} ${progArgs}$args } $ret=$LASTEXITCODE } ${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $ret `; } else { pwsh += ` # Support pipeline input if ($MyInvocation.ExpectingInput) { $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args } else { & ${pwshProg} ${args} ${shTarget} ${progArgs}$args } ${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $LASTEXITCODE `; } return pwsh; } function chmodShim(to, opts) { return opts.fs_.chmod(to, 493); } function normalizePathEnvVar(nodePath) { if (!nodePath || !nodePath.length) { return { win32: "", posix: "" }; } let split = typeof nodePath === "string" ? nodePath.split(path2.delimiter) : Array.from(nodePath); let result2 = {}; for (let i = 0; i < split.length; i++) { const win32 = split[i].split("/").join("\\"); const posix = isWindows() ? split[i].split("\\").join("/").replace(/^([^:\\/]*):/, (_, $1) => `${isCygwin() ? "/proc/cygdrive" : "/mnt"}/${$1.toLowerCase()}`) : split[i]; result2.win32 = result2.win32 ? `${result2.win32};${win32}` : win32; result2.posix = result2.posix ? `${result2.posix}:${posix}` : posix; result2[i] = { win32, posix }; } return result2; } module2.exports = cmdShim; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isObject.js var require_isObject = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isObject.js"(exports2, module2) { function _isObject(x) { return Object.prototype.toString.call(x) === "[object Object]"; } module2.exports = _isObject; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isTypedArray.js var require_isTypedArray = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isTypedArray.js"(exports2, module2) { function _isTypedArray(val) { var type = Object.prototype.toString.call(val); return type === "[object Uint8ClampedArray]" || type === "[object Int8Array]" || type === "[object Uint8Array]" || type === "[object Int16Array]" || type === "[object Uint16Array]" || type === "[object Int32Array]" || type === "[object Uint32Array]" || type === "[object Float32Array]" || type === "[object Float64Array]" || type === "[object BigInt64Array]" || type === "[object BigUint64Array]"; } module2.exports = _isTypedArray; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/empty.js var require_empty3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/empty.js"(exports2, module2) { var _curry1 = require_curry1(); var _isArguments = require_isArguments(); var _isArray = require_isArray(); var _isObject = require_isObject(); var _isString = require_isString(); var _isTypedArray = require_isTypedArray(); var empty = /* @__PURE__ */ _curry1(function empty2(x) { return x != null && typeof x["fantasy-land/empty"] === "function" ? x["fantasy-land/empty"]() : x != null && x.constructor != null && typeof x.constructor["fantasy-land/empty"] === "function" ? x.constructor["fantasy-land/empty"]() : x != null && typeof x.empty === "function" ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === "function" ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? "" : _isObject(x) ? {} : _isArguments(x) ? /* @__PURE__ */ (function() { return arguments; })() : _isTypedArray(x) ? x.constructor.from("") : void 0; }); module2.exports = empty; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/isEmpty.js var require_isEmpty2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/isEmpty.js"(exports2, module2) { var _curry1 = require_curry1(); var empty = require_empty3(); var equals = require_equals2(); var isEmpty = /* @__PURE__ */ _curry1(function isEmpty2(x) { return x != null && equals(x, empty(x)); }); module2.exports = isEmpty; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_identity.js var require_identity2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_identity.js"(exports2, module2) { function _identity(x) { return x; } module2.exports = _identity; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_makeFlat.js var require_makeFlat = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_makeFlat.js"(exports2, module2) { var _isArrayLike = require_isArrayLike(); function _makeFlat(recursive) { return function flatt(list) { var value, jlen, j; var result2 = []; var idx = 0; var ilen = list.length; while (idx < ilen) { if (_isArrayLike(list[idx])) { value = recursive ? flatt(list[idx]) : list[idx]; j = 0; jlen = value.length; while (j < jlen) { result2[result2.length] = value[j]; j += 1; } } else { result2[result2.length] = list[idx]; } idx += 1; } return result2; }; } module2.exports = _makeFlat; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_forceReduced.js var require_forceReduced = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_forceReduced.js"(exports2, module2) { function _forceReduced(x) { return { "@@transducer/value": x, "@@transducer/reduced": true }; } module2.exports = _forceReduced; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_flatCat.js var require_flatCat = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_flatCat.js"(exports2, module2) { var _forceReduced = require_forceReduced(); var _isArrayLike = require_isArrayLike(); var _reduce = require_reduce(); var _xfBase = require_xfBase(); var preservingReduced = function(xf) { return { "@@transducer/init": _xfBase.init, "@@transducer/result": function(result2) { return xf["@@transducer/result"](result2); }, "@@transducer/step": function(result2, input) { var ret2 = xf["@@transducer/step"](result2, input); return ret2["@@transducer/reduced"] ? _forceReduced(ret2) : ret2; } }; }; var _flatCat = function _xcat(xf) { var rxf = preservingReduced(xf); return { "@@transducer/init": _xfBase.init, "@@transducer/result": function(result2) { return rxf["@@transducer/result"](result2); }, "@@transducer/step": function(result2, input) { return !_isArrayLike(input) ? _reduce(rxf, result2, [input]) : _reduce(rxf, result2, input); } }; }; module2.exports = _flatCat; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xchain.js var require_xchain = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xchain.js"(exports2, module2) { var _curry2 = require_curry2(); var _flatCat = require_flatCat(); var map = require_map3(); var _xchain = /* @__PURE__ */ _curry2(function _xchain2(f, xf) { return map(f, _flatCat(xf)); }); module2.exports = _xchain; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/chain.js var require_chain2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/chain.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _makeFlat = require_makeFlat(); var _xchain = require_xchain(); var map = require_map3(); var chain = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["fantasy-land/chain", "chain"], _xchain, function chain2(fn, monad) { if (typeof monad === "function") { return function(x) { return fn(monad(x))(x); }; } return _makeFlat(false)(map(fn, monad)); }) ); module2.exports = chain; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unnest.js var require_unnest = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unnest.js"(exports2, module2) { var _identity = require_identity2(); var chain = require_chain2(); var unnest = /* @__PURE__ */ chain(_identity); module2.exports = unnest; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_checkForMethod.js var require_checkForMethod = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_checkForMethod.js"(exports2, module2) { var _isArray = require_isArray(); function _checkForMethod(methodname, fn) { return function() { var length = arguments.length; if (length === 0) { return fn(); } var obj = arguments[length - 1]; return _isArray(obj) || typeof obj[methodname] !== "function" ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1)); }; } module2.exports = _checkForMethod; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_reduced.js var require_reduced = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_reduced.js"(exports2, module2) { function _reduced(x) { return x && x["@@transducer/reduced"] ? x : { "@@transducer/value": x, "@@transducer/reduced": true }; } module2.exports = _reduced; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xreduceBy.js var require_xreduceBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xreduceBy.js"(exports2, module2) { var _curryN = require_curryN(); var _has = require_has(); var _xfBase = require_xfBase(); var XReduceBy = /* @__PURE__ */ (function() { function XReduceBy2(valueFn, valueAcc, keyFn, xf) { this.valueFn = valueFn; this.valueAcc = valueAcc; this.keyFn = keyFn; this.xf = xf; this.inputs = {}; } XReduceBy2.prototype["@@transducer/init"] = _xfBase.init; XReduceBy2.prototype["@@transducer/result"] = function(result2) { var key; for (key in this.inputs) { if (_has(key, this.inputs)) { result2 = this.xf["@@transducer/step"](result2, this.inputs[key]); if (result2["@@transducer/reduced"]) { result2 = result2["@@transducer/value"]; break; } } } this.inputs = null; return this.xf["@@transducer/result"](result2); }; XReduceBy2.prototype["@@transducer/step"] = function(result2, input) { var key = this.keyFn(input); this.inputs[key] = this.inputs[key] || [key, this.valueAcc]; this.inputs[key][1] = this.valueFn(this.inputs[key][1], input); return result2; }; return XReduceBy2; })(); var _xreduceBy = /* @__PURE__ */ _curryN(4, [], function _xreduceBy2(valueFn, valueAcc, keyFn, xf) { return new XReduceBy(valueFn, valueAcc, keyFn, xf); }); module2.exports = _xreduceBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceBy.js var require_reduceBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceBy.js"(exports2, module2) { var _clone = require_clone4(); var _curryN = require_curryN(); var _dispatchable = require_dispatchable(); var _has = require_has(); var _reduce = require_reduce(); var _reduced = require_reduced(); var _xreduceBy = require_xreduceBy(); var reduceBy = /* @__PURE__ */ _curryN( 4, [], /* @__PURE__ */ _dispatchable([], _xreduceBy, function reduceBy2(valueFn, valueAcc, keyFn, list) { return _reduce(function(acc, elt) { var key = keyFn(elt); var value = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, [], [], false), elt); if (value && value["@@transducer/reduced"]) { return _reduced(acc); } acc[key] = value; return acc; }, {}, list); }) ); module2.exports = reduceBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/groupBy.js var require_groupBy2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/groupBy.js"(exports2, module2) { var _checkForMethod = require_checkForMethod(); var _curry2 = require_curry2(); var reduceBy = require_reduceBy(); var groupBy2 = /* @__PURE__ */ _curry2( /* @__PURE__ */ _checkForMethod( "groupBy", /* @__PURE__ */ reduceBy(function(acc, item) { acc.push(item); return acc; }, []) ) ); module2.exports = groupBy2; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_filter.js var require_filter2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_filter.js"(exports2, module2) { function _filter(fn, list) { var idx = 0; var len = list.length; var result2 = []; while (idx < len) { if (fn(list[idx])) { result2[result2.length] = list[idx]; } idx += 1; } return result2; } module2.exports = _filter; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfilter.js var require_xfilter = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfilter.js"(exports2, module2) { var _curry2 = require_curry2(); var _xfBase = require_xfBase(); var XFilter = /* @__PURE__ */ (function() { function XFilter2(f, xf) { this.xf = xf; this.f = f; } XFilter2.prototype["@@transducer/init"] = _xfBase.init; XFilter2.prototype["@@transducer/result"] = _xfBase.result; XFilter2.prototype["@@transducer/step"] = function(result2, input) { return this.f(input) ? this.xf["@@transducer/step"](result2, input) : result2; }; return XFilter2; })(); var _xfilter = /* @__PURE__ */ _curry2(function _xfilter2(f, xf) { return new XFilter(f, xf); }); module2.exports = _xfilter; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/filter.js var require_filter3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/filter.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _filter = require_filter2(); var _isObject = require_isObject(); var _reduce = require_reduce(); var _xfilter = require_xfilter(); var keys = require_keys(); var filter = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["fantasy-land/filter", "filter"], _xfilter, function(pred, filterable) { return _isObject(filterable) ? _reduce(function(acc, key) { if (pred(filterable[key])) { acc[key] = filterable[key]; } return acc; }, {}, keys(filterable)) : ( // else _filter(pred, filterable) ); }) ); module2.exports = filter; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/max.js var require_max2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/max.js"(exports2, module2) { var _curry2 = require_curry2(); var max = /* @__PURE__ */ _curry2(function max2(a, b) { return b > a ? b : a; }); module2.exports = max; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isInteger.js var require_isInteger = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isInteger.js"(exports2, module2) { module2.exports = Number.isInteger || function _isInteger(n) { return n << 0 === n; }; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nth.js var require_nth = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nth.js"(exports2, module2) { var _curry2 = require_curry2(); var _isString = require_isString(); var nth = /* @__PURE__ */ _curry2(function nth2(offset, list) { var idx = offset < 0 ? list.length + offset : offset; return _isString(list) ? list.charAt(idx) : list[idx]; }); module2.exports = nth; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/prop.js var require_prop = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/prop.js"(exports2, module2) { var _curry2 = require_curry2(); var _isInteger = require_isInteger(); var nth = require_nth(); var prop = /* @__PURE__ */ _curry2(function prop2(p, obj) { if (obj == null) { return; } return _isInteger(p) ? nth(p, obj) : obj[p]; }); module2.exports = prop; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pluck.js var require_pluck2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pluck.js"(exports2, module2) { var _curry2 = require_curry2(); var map = require_map3(); var prop = require_prop(); var pluck = /* @__PURE__ */ _curry2(function pluck2(p, list) { return map(prop(p), list); }); module2.exports = pluck; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curry3.js var require_curry3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curry3.js"(exports2, module2) { var _curry1 = require_curry1(); var _curry2 = require_curry2(); var _isPlaceholder = require_isPlaceholder(); function _curry3(fn) { return function f3(a, b, c) { switch (arguments.length) { case 0: return f3; case 1: return _isPlaceholder(a) ? f3 : _curry2(function(_b, _c) { return fn(a, _b, _c); }); case 2: return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function(_a, _c) { return fn(_a, b, _c); }) : _isPlaceholder(b) ? _curry2(function(_b, _c) { return fn(a, _b, _c); }) : _curry1(function(_c) { return fn(a, b, _c); }); default: return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function(_a, _b) { return fn(_a, _b, c); }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function(_a, _c) { return fn(_a, b, _c); }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function(_b, _c) { return fn(a, _b, _c); }) : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b, c); }) : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b, c); }) : _isPlaceholder(c) ? _curry1(function(_c) { return fn(a, b, _c); }) : fn(a, b, c); } }; } module2.exports = _curry3; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduce.js var require_reduce3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduce.js"(exports2, module2) { var _curry3 = require_curry3(); var _reduce = require_reduce(); var reduce = /* @__PURE__ */ _curry3(_reduce); module2.exports = reduce; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/converge.js var require_converge = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/converge.js"(exports2, module2) { var _curry2 = require_curry2(); var _map = require_map2(); var curryN = require_curryN2(); var max = require_max2(); var pluck = require_pluck2(); var reduce = require_reduce3(); var converge = /* @__PURE__ */ _curry2(function converge2(after, fns) { return curryN(reduce(max, 0, pluck("length", fns)), function() { var args = arguments; var context = this; return after.apply(context, _map(function(fn) { return fn.apply(context, args); }, fns)); }); }); module2.exports = converge; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/juxt.js var require_juxt = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/juxt.js"(exports2, module2) { var _curry1 = require_curry1(); var converge = require_converge(); var juxt = /* @__PURE__ */ _curry1(function juxt2(fns) { return converge(function() { return Array.prototype.slice.call(arguments, 0); }, fns); }); module2.exports = juxt; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_complement.js var require_complement = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_complement.js"(exports2, module2) { function _complement(f) { return function() { return !f.apply(this, arguments); }; } module2.exports = _complement; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reject.js var require_reject = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reject.js"(exports2, module2) { var _complement = require_complement(); var _curry2 = require_curry2(); var filter = require_filter3(); var reject = /* @__PURE__ */ _curry2(function reject2(pred, filterable) { return filter(_complement(pred), filterable); }); module2.exports = reject; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partition.js var require_partition4 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partition.js"(exports2, module2) { var filter = require_filter3(); var juxt = require_juxt(); var reject = require_reject(); var partition = /* @__PURE__ */ juxt([filter, reject]); module2.exports = partition; } }); // ../node_modules/.pnpm/symlink-dir@6.0.5/node_modules/symlink-dir/dist/index.js var require_dist18 = __commonJS({ "../node_modules/.pnpm/symlink-dir@6.0.5/node_modules/symlink-dir/dist/index.js"(exports2, module2) { "use strict"; var betterPathResolve = require_better_path_resolve(); var fs_1 = require("fs"); var util = require("util"); var pathLib = require("path"); var renameOverwrite = require_rename_overwrite(); var IS_WINDOWS = process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE); var symlinkType = IS_WINDOWS ? "junction" : "dir"; var resolveSrc = IS_WINDOWS ? resolveSrcOnWin : resolveSrcOnNonWin; function resolveSrcOnWin(src, dest) { return `${src}\\`; } function resolveSrcOnNonWin(src, dest) { return pathLib.relative(pathLib.dirname(dest), src); } function symlinkDir(target, path2, opts) { path2 = betterPathResolve(path2); target = betterPathResolve(target); if (target === path2) throw new Error(`Symlink path is the same as the target path (${target})`); target = resolveSrc(target, path2); return forceSymlink(target, path2, opts); } async function forceSymlink(target, path2, opts) { let initialErr; try { await fs_1.promises.symlink(target, path2, symlinkType); return { reused: false }; } catch (err) { switch (err.code) { case "ENOENT": try { await fs_1.promises.mkdir(pathLib.dirname(path2), { recursive: true }); } catch (mkdirError) { mkdirError.message = `Error while trying to symlink "${target}" to "${path2}". The error happened while trying to create the parent directory for the symlink target. Details: ${mkdirError}`; throw mkdirError; } await forceSymlink(target, path2, opts); return { reused: false }; case "EEXIST": case "EISDIR": initialErr = err; break; default: throw err; } } let linkString; try { linkString = await fs_1.promises.readlink(path2); } catch (err) { if ((opts === null || opts === void 0 ? void 0 : opts.overwrite) === false) { throw initialErr; } const parentDir = pathLib.dirname(path2); let warn; if (opts === null || opts === void 0 ? void 0 : opts.renameTried) { await fs_1.promises.unlink(path2); warn = `Symlink wanted name was occupied by directory or file. Old entity removed: "${parentDir}${pathLib.sep}{${pathLib.basename(path2)}".`; } else { const ignore = `.ignored_${pathLib.basename(path2)}`; try { await renameOverwrite(path2, pathLib.join(parentDir, ignore)); } catch (error) { if (util.types.isNativeError(error) && "code" in error && error.code === "ENOENT") { throw initialErr; } throw error; } warn = `Symlink wanted name was occupied by directory or file. Old entity moved: "${parentDir}${pathLib.sep}{${pathLib.basename(path2)} => ${ignore}".`; } return { ...await forceSymlink(target, path2, { ...opts, renameTried: true }), warn }; } if (pathLib.relative(target, linkString) === "") { return { reused: true }; } if ((opts === null || opts === void 0 ? void 0 : opts.overwrite) === false) { throw initialErr; } try { await fs_1.promises.unlink(path2); } catch (error) { if (!util.types.isNativeError(error) || !("code" in error) || error.code !== "ENOENT") { throw error; } } return await forceSymlink(target, path2, opts); } symlinkDir["default"] = symlinkDir; (function(symlinkDir2) { function sync(target, path2, opts) { path2 = betterPathResolve(path2); target = betterPathResolve(target); if (target === path2) throw new Error(`Symlink path is the same as the target path (${target})`); target = resolveSrc(target, path2); return forceSymlinkSync(target, path2, opts); } symlinkDir2.sync = sync; })(symlinkDir || (symlinkDir = {})); function forceSymlinkSync(target, path2, opts) { let initialErr; try { (0, fs_1.symlinkSync)(target, path2, symlinkType); return { reused: false }; } catch (err) { initialErr = err; switch (err.code) { case "ENOENT": try { (0, fs_1.mkdirSync)(pathLib.dirname(path2), { recursive: true }); } catch (mkdirError) { mkdirError.message = `Error while trying to symlink "${target}" to "${path2}". The error happened while trying to create the parent directory for the symlink target. Details: ${mkdirError}`; throw mkdirError; } forceSymlinkSync(target, path2, opts); return { reused: false }; case "EEXIST": case "EISDIR": break; default: throw err; } } let linkString; try { linkString = (0, fs_1.readlinkSync)(path2); } catch (err) { if ((opts === null || opts === void 0 ? void 0 : opts.overwrite) === false) { throw initialErr; } const parentDir = pathLib.dirname(path2); let warn; if (opts === null || opts === void 0 ? void 0 : opts.renameTried) { (0, fs_1.unlinkSync)(path2); warn = `Symlink wanted name was occupied by directory or file. Old entity removed: "${parentDir}${pathLib.sep}{${pathLib.basename(path2)}".`; } else { const ignore = `.ignored_${pathLib.basename(path2)}`; try { renameOverwrite.sync(path2, pathLib.join(parentDir, ignore)); } catch (error) { if (util.types.isNativeError(error) && "code" in error && error.code === "ENOENT") { throw initialErr; } throw error; } warn = `Symlink wanted name was occupied by directory or file. Old entity moved: "${parentDir}${pathLib.sep}{${pathLib.basename(path2)} => ${ignore}".`; } return { ...forceSymlinkSync(target, path2, { ...opts, renameTried: true }), warn }; } if (pathLib.relative(target, linkString) === "") { return { reused: true }; } if ((opts === null || opts === void 0 ? void 0 : opts.overwrite) === false) { throw initialErr; } try { (0, fs_1.unlinkSync)(path2); } catch (error) { if (!util.types.isNativeError(error) || !("code" in error) || error.code !== "ENOENT") { throw error; } } return forceSymlinkSync(target, path2, opts); } module2.exports = symlinkDir; } }); // ../node_modules/.pnpm/bin-links@4.0.4/node_modules/bin-links/lib/fix-bin.js var require_fix_bin = __commonJS({ "../node_modules/.pnpm/bin-links@4.0.4/node_modules/bin-links/lib/fix-bin.js"(exports2, module2) { var { chmod, open, readFile } = require("fs/promises"); var execMode = 511 & ~process.umask(); var writeFileAtomic = require_lib13(); var isWindowsHashBang = (buf) => buf[0] === "#".charCodeAt(0) && buf[1] === "!".charCodeAt(0) && /^#![^\n]+\r\n/.test(buf.toString()); var isWindowsHashbangFile = (file) => { const FALSE = () => false; return open(file, "r").then((fh) => { const buf = Buffer.alloc(2048); return fh.read(buf, 0, 2048, 0).then( () => { const isWHB = isWindowsHashBang(buf); return fh.close().then(() => isWHB, () => isWHB); }, // don't leak FD if read() fails () => fh.close().then(FALSE, FALSE) ); }, FALSE); }; var dos2Unix = (file) => readFile(file, "utf8").then((content) => writeFileAtomic(file, content.replace(/^(#![^\n]+)\r\n/, "$1\n"))); var fixBin = (file, mode = execMode) => chmod(file, mode).then(() => isWindowsHashbangFile(file)).then((isWHB) => isWHB ? dos2Unix(file) : null); module2.exports = fixBin; } }); // ../pkg-manager/link-bins/lib/index.js var require_lib69 = __commonJS({ "../pkg-manager/link-bins/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.linkBins = linkBins; exports2.linkBinsOfPkgsByAliases = linkBinsOfPkgsByAliases; exports2.linkBinsOfPackages = linkBinsOfPackages; var fs_1 = require("fs"); var module_1 = __importStar3(require("module")); var path_1 = __importDefault2(require("path")); var constants_1 = require_lib5(); var error_1 = require_lib6(); var logger_1 = require_lib(); var manifest_utils_1 = require_lib10(); var package_bins_1 = require_lib67(); var read_modules_dir_1 = require_lib68(); var read_package_json_1 = require_lib61(); var read_project_manifest_1 = require_lib16(); var cmd_shim_1 = __importDefault2(require_cmd_shim()); var rimraf_1 = __importDefault2(require_rimraf()); var is_subdir_1 = __importDefault2(require_is_subdir()); var is_windows_1 = __importDefault2(require_is_windows()); var normalize_path_1 = __importDefault2(require_normalize_path()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var unnest_1 = __importDefault2(require_unnest()); var groupBy_1 = __importDefault2(require_groupBy2()); var partition_1 = __importDefault2(require_partition4()); var semver_12 = __importDefault2(require_semver2()); var symlink_dir_1 = __importDefault2(require_dist18()); var fix_bin_1 = __importDefault2(require_fix_bin()); var binsConflictLogger = (0, logger_1.logger)("bins-conflict"); var IS_WINDOWS = (0, is_windows_1.default)(); var EXECUTABLE_SHEBANG_SUPPORTED = !IS_WINDOWS; var POWER_SHELL_IS_SUPPORTED = IS_WINDOWS; async function linkBins(modulesDir, binsDir, opts) { const allDeps = await (0, read_modules_dir_1.readModulesDir)(modulesDir); if (allDeps === null) return []; return linkBinsOfPkgsByAliases(allDeps, binsDir, { ...opts, modulesDir }); } async function linkBinsOfPkgsByAliases(depsAliases, binsDir, opts) { const pkgBinOpts = { allowExoticManifests: false, ...opts }; const directDependencies = opts.projectManifest == null ? void 0 : new Set(Object.keys((0, manifest_utils_1.getAllDependenciesFromManifest)(opts.projectManifest))); const allCmds = (0, unnest_1.default)((await Promise.all(depsAliases.map((alias) => ({ depDir: path_1.default.resolve(opts.modulesDir, alias), isDirectDependency: directDependencies?.has(alias), nodeExecPath: opts.nodeExecPathByAlias?.[alias] })).filter(({ depDir }) => !(0, is_subdir_1.default)(depDir, binsDir)).map(async ({ depDir, isDirectDependency, nodeExecPath }) => { const target = (0, normalize_path_1.default)(depDir); const cmds = await getPackageBins(pkgBinOpts, target, nodeExecPath); return cmds.map((cmd) => ({ ...cmd, isDirectDependency })); }))).filter((cmds) => cmds.length)); const cmdsToLink = directDependencies != null ? preferDirectCmds(allCmds) : allCmds; return _linkBins(cmdsToLink, binsDir, opts); } function preferDirectCmds(allCmds) { const [directCmds, hoistedCmds] = (0, partition_1.default)((cmd) => cmd.isDirectDependency === true, allCmds); const usedDirectCmds = new Set(directCmds.map((directCmd) => directCmd.name)); return [ ...directCmds, ...hoistedCmds.filter(({ name }) => !usedDirectCmds.has(name)) ]; } async function linkBinsOfPackages(pkgs, binsTarget, opts = {}) { if (pkgs.length === 0) return []; const allCmds = (0, unnest_1.default)((await Promise.all(pkgs.map(async (pkg) => getPackageBinsFromManifest(pkg.manifest, pkg.location, pkg.nodeExecPath)))).filter((cmds) => cmds.length)); return _linkBins(allCmds, binsTarget, opts); } async function _linkBins(allCmds, binsDir, opts) { if (allCmds.length === 0) return []; allCmds = deduplicateCommands(allCmds, binsDir); await fs_1.promises.mkdir(binsDir, { recursive: true }); const results = await Promise.allSettled(allCmds.map(async (cmd) => linkBin(cmd, binsDir, opts))); for (const result2 of results) { if (result2.status === "rejected") { throw result2.reason; } } return allCmds.map((cmd) => cmd.pkgName); } function deduplicateCommands(commands, binsDir) { const cmdGroups = (0, groupBy_1.default)((cmd) => cmd.name, commands); return Object.values(cmdGroups).filter((group) => group !== void 0 && group.length !== 0).map((group) => resolveCommandConflicts(group, binsDir)); } function resolveCommandConflicts(group, binsDir) { return group.reduce((a, b) => { const [chosen, skipped] = compareCommandsInConflict(a, b) >= 0 ? [a, b] : [b, a]; logCommandConflict(chosen, skipped, binsDir); return chosen; }); } function compareCommandsInConflict(a, b) { if (a.ownName && !b.ownName) return 1; if (!a.ownName && b.ownName) return -1; if (a.pkgName !== b.pkgName) return a.pkgName.localeCompare(b.pkgName); return semver_12.default.compare(a.pkgVersion, b.pkgVersion); } function logCommandConflict(chosen, skipped, binsDir) { binsConflictLogger.debug({ binaryName: skipped.name, binsDir, linkedPkgName: chosen.pkgName, linkedPkgVersion: chosen.pkgVersion, skippedPkgName: skipped.pkgName, skippedPkgVersion: skipped.pkgVersion }); } async function isFromModules(filename) { const real = await fs_1.promises.realpath(filename); return (0, normalize_path_1.default)(real).includes("/node_modules/"); } async function getPackageBins(opts, target, nodeExecPath) { const manifest = opts.allowExoticManifests ? await (0, read_project_manifest_1.safeReadProjectManifestOnly)(target) : await safeReadPkgJson(target); if (manifest == null) { switch (path_1.default.basename(target)) { case "node": return [{ name: "node", path: path_1.default.join(target, (0, constants_1.getNodeBinLocationForCurrentOS)()), ownName: true, pkgName: "", pkgVersion: "", makePowerShellShim: false }]; case "deno": return [{ name: "deno", path: path_1.default.join(target, (0, constants_1.getDenoBinLocationForCurrentOS)()), ownName: true, pkgName: "", pkgVersion: "", makePowerShellShim: false }]; case "bun": return [{ name: "bun", path: path_1.default.join(target, (0, constants_1.getBunBinLocationForCurrentOS)()), ownName: true, pkgName: "", pkgVersion: "", makePowerShellShim: false }]; } return []; } if ((0, isEmpty_1.default)(manifest.bin) && !await isFromModules(target)) { opts.warn(`Package in ${target} must have a non-empty bin field to get bin linked.`, "EMPTY_BIN"); } if (typeof manifest.bin === "string" && !manifest.name) { throw new error_1.PnpmError("INVALID_PACKAGE_NAME", `Package in ${target} must have a name to get bin linked.`); } return getPackageBinsFromManifest(manifest, target, nodeExecPath); } async function getPackageBinsFromManifest(manifest, pkgDir, nodeExecPath) { const cmds = await (0, package_bins_1.getBinsFromPackageManifest)(manifest, pkgDir); if (manifest.engines?.runtime && runtimeHasNodeDownloaded(manifest.engines.runtime) && !nodeExecPath) { const require2 = (0, module_1.createRequire)(__dirname); const nodeDir = path_1.default.dirname(require2.resolve("node/CHANGELOG.md", { paths: [pkgDir] })); if (nodeDir) { nodeExecPath = path_1.default.join(nodeDir, IS_WINDOWS ? "node.exe" : "bin/node"); } } return cmds.map((cmd) => ({ ...cmd, ownName: cmd.name === manifest.name, pkgName: manifest.name, pkgVersion: manifest.version, makePowerShellShim: POWER_SHELL_IS_SUPPORTED && manifest.name !== "pnpm", nodeExecPath })); } function runtimeHasNodeDownloaded(runtime) { if (!Array.isArray(runtime)) { return runtime.name === "node" && runtime.onFail === "download"; } return runtime.find(({ name }) => name === "node")?.onFail === "download"; } async function linkBin(cmd, binsDir, opts) { const externalBinPath = path_1.default.join(binsDir, cmd.name); if (IS_WINDOWS) { const exePath = path_1.default.join(binsDir, `${cmd.name}${getExeExtension()}`); if ((0, fs_1.existsSync)(exePath)) { (0, logger_1.globalWarn)(`The target bin directory already contains an exe called ${cmd.name}, so removing ${exePath}`); await (0, rimraf_1.default)(exePath); } } if (opts?.preferSymlinkedExecutables && !IS_WINDOWS && cmd.nodeExecPath == null) { try { await (0, symlink_dir_1.default)(cmd.path, externalBinPath); await (0, fix_bin_1.default)(cmd.path, 493); } catch (err) { if (err.code !== "ENOENT" && err.code !== "EISDIR") { throw err; } (0, logger_1.globalWarn)(`Failed to create bin at ${externalBinPath}. ${err.message}`); } return; } try { let nodePath; if (opts?.extraNodePaths?.length) { nodePath = []; for (const modulesPath of await getBinNodePaths(cmd.path)) { if (opts.extraNodePaths.includes(modulesPath)) break; nodePath.push(modulesPath); } nodePath.push(...opts.extraNodePaths); } await (0, cmd_shim_1.default)(cmd.path, externalBinPath, { createPwshFile: cmd.makePowerShellShim, nodePath, nodeExecPath: cmd.nodeExecPath }); } catch (err) { if (err.code !== "ENOENT" && err.code !== "EISDIR") { throw err; } (0, logger_1.globalWarn)(`Failed to create bin at ${externalBinPath}. ${err.message}`); return; } if (EXECUTABLE_SHEBANG_SUPPORTED) { await (0, fix_bin_1.default)(cmd.path, 493); } } function getExeExtension() { let cmdExtension; if (process.env.PATHEXT) { cmdExtension = process.env.PATHEXT.split(path_1.default.delimiter).find((ext) => ext.toUpperCase() === ".EXE"); } return cmdExtension ?? ".exe"; } async function getBinNodePaths(target) { const targetDir = path_1.default.dirname(target); try { const targetRealPath = await fs_1.promises.realpath(targetDir); return module_1.default["_nodeModulePaths"](targetRealPath); } catch (err) { if (err.code !== "ENOENT") { throw err; } return module_1.default["_nodeModulePaths"](targetDir); } } async function safeReadPkgJson(pkgDir) { try { return await (0, read_package_json_1.readPackageJsonFromDir)(pkgDir); } catch (err) { if (err.code === "ENOENT") { return null; } throw err; } } } }); // ../node_modules/.pnpm/run-groups@3.0.1/node_modules/run-groups/lib/index.js var require_lib70 = __commonJS({ "../node_modules/.pnpm/run-groups@3.0.1/node_modules/run-groups/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var pLimit = require_p_limit(); exports2.default = async (concurrency, groups) => { const limitRun = pLimit(concurrency); for (const tasks of groups) { await Promise.all(tasks.map((task) => limitRun(task))); } }; } }); // ../exec/lifecycle/lib/runLifecycleHooksConcurrently.js var require_runLifecycleHooksConcurrently = __commonJS({ "../exec/lifecycle/lib/runLifecycleHooksConcurrently.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.runLifecycleHooksConcurrently = runLifecycleHooksConcurrently; var fs_1 = __importDefault2(require("fs")); var link_bins_1 = require_lib69(); var logger_1 = require_lib(); var path_1 = __importDefault2(require("path")); var directory_fetcher_1 = require_lib58(); var run_groups_1 = __importDefault2(require_lib70()); var runLifecycleHook_js_1 = require_runLifecycleHook(); async function runLifecycleHooksConcurrently(stages, importers, childConcurrency, opts) { const importersByBuildIndex = /* @__PURE__ */ new Map(); for (const importer of importers) { if (!importersByBuildIndex.has(importer.buildIndex)) { importersByBuildIndex.set(importer.buildIndex, [importer]); } else { importersByBuildIndex.get(importer.buildIndex).push(importer); } } const sortedBuildIndexes = Array.from(importersByBuildIndex.keys()).sort((a, b) => a - b); const groups = sortedBuildIndexes.map((buildIndex) => { const importers2 = importersByBuildIndex.get(buildIndex); return importers2.map(({ manifest, modulesDir, rootDir, stages: importerStages, targetDirs }) => async () => { await (0, link_bins_1.linkBins)(modulesDir, path_1.default.join(modulesDir, ".bin"), { extraNodePaths: opts.extraNodePaths, allowExoticManifests: true, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, projectManifest: manifest, warn: (message) => { logger_1.logger.warn({ message, prefix: rootDir }); } }); const runLifecycleHookOpts = { ...opts, depPath: rootDir, pkgRoot: rootDir, rootModulesDir: modulesDir }; let isBuilt = false; for (const stage of importerStages ?? stages) { if (await (0, runLifecycleHook_js_1.runLifecycleHook)(stage, manifest, runLifecycleHookOpts)) { isBuilt = true; } } if (targetDirs == null || targetDirs.length === 0 || !isBuilt) return; const filesResponse = await (0, directory_fetcher_1.fetchFromDir)(rootDir, { resolveSymlinks: opts.resolveSymlinksInInjectedDirs }); await Promise.all(targetDirs.map(async (targetDir) => { const targetModulesDir = path_1.default.join(targetDir, "node_modules"); const nodeModulesIndex = {}; if (fs_1.default.existsSync(targetModulesDir)) { await scanDir("node_modules", targetModulesDir, targetModulesDir, nodeModulesIndex); } return opts.storeController.importPackage(targetDir, { filesResponse: { resolvedFrom: "local-dir", ...filesResponse, filesIndex: { ...filesResponse.filesIndex, ...nodeModulesIndex } }, force: false }); })); }); }); await (0, run_groups_1.default)(childConcurrency, groups); } async function scanDir(prefix, rootDir, currentDir, index) { const files = await fs_1.default.promises.readdir(currentDir); await Promise.all(files.map(async (file) => { const fullPath = path_1.default.join(currentDir, file); const stat = await fs_1.default.promises.stat(fullPath); if (stat.isDirectory()) { return scanDir(prefix, rootDir, fullPath, index); } if (stat.isFile()) { const relativePath = path_1.default.relative(rootDir, fullPath); index[path_1.default.join(prefix, relativePath)] = fullPath; } })); } } }); // ../exec/lifecycle/lib/index.js var require_lib71 = __commonJS({ "../exec/lifecycle/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.runLifecycleHooksConcurrently = exports2.runLifecycleHook = void 0; exports2.makeNodeRequireOption = makeNodeRequireOption; exports2.runPostinstallHooks = runPostinstallHooks; var read_package_json_1 = require_lib61(); var runLifecycleHook_js_1 = require_runLifecycleHook(); Object.defineProperty(exports2, "runLifecycleHook", { enumerable: true, get: function() { return runLifecycleHook_js_1.runLifecycleHook; } }); var runLifecycleHooksConcurrently_js_1 = require_runLifecycleHooksConcurrently(); Object.defineProperty(exports2, "runLifecycleHooksConcurrently", { enumerable: true, get: function() { return runLifecycleHooksConcurrently_js_1.runLifecycleHooksConcurrently; } }); function makeNodeRequireOption(modulePath) { let { NODE_OPTIONS } = process.env; NODE_OPTIONS = `${NODE_OPTIONS ?? ""} --require=${modulePath}`.trim(); return { NODE_OPTIONS }; } async function runPostinstallHooks(opts) { const pkg = await (0, read_package_json_1.safeReadPackageJsonFromDir)(opts.pkgRoot); if (pkg == null) return false; if (pkg.scripts == null) { pkg.scripts = {}; } if (pkg.scripts.preinstall) { await (0, runLifecycleHook_js_1.runLifecycleHook)("preinstall", pkg, opts); } const executedAnInstallScript = await (0, runLifecycleHook_js_1.runLifecycleHook)("install", pkg, opts); if (pkg.scripts.postinstall) { await (0, runLifecycleHook_js_1.runLifecycleHook)("postinstall", pkg, opts); } return pkg.scripts.preinstall != null || executedAnInstallScript || pkg.scripts.postinstall != null; } } }); // ../node_modules/.pnpm/p-try@2.2.0/node_modules/p-try/index.js var require_p_try = __commonJS({ "../node_modules/.pnpm/p-try@2.2.0/node_modules/p-try/index.js"(exports2, module2) { "use strict"; var pTry = (fn, ...arguments_) => new Promise((resolve) => { resolve(fn(...arguments_)); }); module2.exports = pTry; module2.exports.default = pTry; } }); // ../node_modules/.pnpm/p-limit@2.3.0/node_modules/p-limit/index.js var require_p_limit2 = __commonJS({ "../node_modules/.pnpm/p-limit@2.3.0/node_modules/p-limit/index.js"(exports2, module2) { "use strict"; var pTry = require_p_try(); var pLimit = (concurrency) => { if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) { return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up")); } const queue = []; let activeCount = 0; const next = () => { activeCount--; if (queue.length > 0) { queue.shift()(); } }; const run = (fn, resolve, ...args) => { activeCount++; const result2 = pTry(fn, ...args); resolve(result2); result2.then(next, next); }; const enqueue = (fn, resolve, ...args) => { if (activeCount < concurrency) { run(fn, resolve, ...args); } else { queue.push(run.bind(null, fn, resolve, ...args)); } }; const generator = (fn, ...args) => new Promise((resolve) => enqueue(fn, resolve, ...args)); Object.defineProperties(generator, { activeCount: { get: () => activeCount }, pendingCount: { get: () => queue.length }, clearQueue: { value: () => { queue.length = 0; } } }); return generator; }; module2.exports = pLimit; module2.exports.default = pLimit; } }); // ../node_modules/.pnpm/p-locate@4.1.0/node_modules/p-locate/index.js var require_p_locate = __commonJS({ "../node_modules/.pnpm/p-locate@4.1.0/node_modules/p-locate/index.js"(exports2, module2) { "use strict"; var pLimit = require_p_limit2(); var EndError = class extends Error { constructor(value) { super(); this.value = value; } }; var testElement = async (element, tester) => tester(await element); var finder = async (element) => { const values = await Promise.all(element); if (values[1] === true) { throw new EndError(values[0]); } return false; }; var pLocate = async (iterable, tester, options) => { options = { concurrency: Infinity, preserveOrder: true, ...options }; const limit = pLimit(options.concurrency); const items = [...iterable].map((element) => [element, limit(testElement, element, tester)]); const checkLimit = pLimit(options.preserveOrder ? 1 : Infinity); try { await Promise.all(items.map((element) => checkLimit(finder, element))); } catch (error) { if (error instanceof EndError) { return error.value; } throw error; } }; module2.exports = pLocate; module2.exports.default = pLocate; } }); // ../node_modules/.pnpm/locate-path@5.0.0/node_modules/locate-path/index.js var require_locate_path = __commonJS({ "../node_modules/.pnpm/locate-path@5.0.0/node_modules/locate-path/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var fs = require("fs"); var { promisify } = require("util"); var pLocate = require_p_locate(); var fsStat = promisify(fs.stat); var fsLStat = promisify(fs.lstat); var typeMappings = { directory: "isDirectory", file: "isFile" }; function checkType({ type }) { if (type in typeMappings) { return; } throw new Error(`Invalid type specified: ${type}`); } var matchType = (type, stat) => type === void 0 || stat[typeMappings[type]](); module2.exports = async (paths, options) => { options = { cwd: process.cwd(), type: "file", allowSymlinks: true, ...options }; checkType(options); const statFn = options.allowSymlinks ? fsStat : fsLStat; return pLocate(paths, async (path_) => { try { const stat = await statFn(path2.resolve(options.cwd, path_)); return matchType(options.type, stat); } catch (_) { return false; } }, options); }; module2.exports.sync = (paths, options) => { options = { cwd: process.cwd(), allowSymlinks: true, type: "file", ...options }; checkType(options); const statFn = options.allowSymlinks ? fs.statSync : fs.lstatSync; for (const path_ of paths) { try { const stat = statFn(path2.resolve(options.cwd, path_)); if (matchType(options.type, stat)) { return path_; } } catch (_) { } } }; } }); // ../node_modules/.pnpm/path-exists@4.0.0/node_modules/path-exists/index.js var require_path_exists2 = __commonJS({ "../node_modules/.pnpm/path-exists@4.0.0/node_modules/path-exists/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var { promisify } = require("util"); var pAccess = promisify(fs.access); module2.exports = async (path2) => { try { await pAccess(path2); return true; } catch (_) { return false; } }; module2.exports.sync = (path2) => { try { fs.accessSync(path2); return true; } catch (_) { return false; } }; } }); // ../node_modules/.pnpm/find-up@4.1.0/node_modules/find-up/index.js var require_find_up = __commonJS({ "../node_modules/.pnpm/find-up@4.1.0/node_modules/find-up/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var locatePath = require_locate_path(); var pathExists = require_path_exists2(); var stop = Symbol("findUp.stop"); module2.exports = async (name, options = {}) => { let directory = path2.resolve(options.cwd || ""); const { root } = path2.parse(directory); const paths = [].concat(name); const runMatcher = async (locateOptions) => { if (typeof name !== "function") { return locatePath(paths, locateOptions); } const foundPath = await name(locateOptions.cwd); if (typeof foundPath === "string") { return locatePath([foundPath], locateOptions); } return foundPath; }; while (true) { const foundPath = await runMatcher({ ...options, cwd: directory }); if (foundPath === stop) { return; } if (foundPath) { return path2.resolve(directory, foundPath); } if (directory === root) { return; } directory = path2.dirname(directory); } }; module2.exports.sync = (name, options = {}) => { let directory = path2.resolve(options.cwd || ""); const { root } = path2.parse(directory); const paths = [].concat(name); const runMatcher = (locateOptions) => { if (typeof name !== "function") { return locatePath.sync(paths, locateOptions); } const foundPath = name(locateOptions.cwd); if (typeof foundPath === "string") { return locatePath.sync([foundPath], locateOptions); } return foundPath; }; while (true) { const foundPath = runMatcher({ ...options, cwd: directory }); if (foundPath === stop) { return; } if (foundPath) { return path2.resolve(directory, foundPath); } if (directory === root) { return; } directory = path2.dirname(directory); } }; module2.exports.exists = pathExists; module2.exports.sync.exists = pathExists.sync; module2.exports.stop = stop; } }); // ../node_modules/.pnpm/pkg-dir@4.2.0/node_modules/pkg-dir/index.js var require_pkg_dir = __commonJS({ "../node_modules/.pnpm/pkg-dir@4.2.0/node_modules/pkg-dir/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var findUp = require_find_up(); var pkgDir = async (cwd) => { const filePath = await findUp("package.json", { cwd }); return filePath && path2.dirname(filePath); }; module2.exports = pkgDir; module2.exports.default = pkgDir; module2.exports.sync = (cwd) => { const filePath = findUp.sync("package.json", { cwd }); return filePath && path2.dirname(filePath); }; } }); // ../node_modules/.pnpm/find-yarn-workspace-root2@1.2.16/node_modules/find-yarn-workspace-root2/core.js var require_core6 = __commonJS({ "../node_modules/.pnpm/find-yarn-workspace-root2@1.2.16/node_modules/find-yarn-workspace-root2/core.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readPackageJSON = exports2.extractWorkspaces = exports2.isMatchWorkspaces = exports2.checkWorkspaces = exports2.findWorkspaceRoot = void 0; var path_1 = __importDefault2(require("path")); var pkg_dir_1 = __importDefault2(require_pkg_dir()); var fs_1 = require("fs"); var micromatch_12 = __importDefault2(require_micromatch()); function findWorkspaceRoot(initial) { if (!initial) { initial = process.cwd(); } let _pkg = pkg_dir_1.default.sync(initial); if (!_pkg) { return null; } initial = path_1.default.normalize(_pkg); let previous = null; let current = initial; do { const manifest = readPackageJSON(current); const workspaces = extractWorkspaces(manifest); let { done, found } = checkWorkspaces(current, initial); if (done) { return found; } previous = current; current = path_1.default.dirname(current); } while (current !== previous); return null; } exports2.findWorkspaceRoot = findWorkspaceRoot; function checkWorkspaces(current, initial) { const manifest = readPackageJSON(current); const workspaces = extractWorkspaces(manifest); let done = false; let found; let relativePath; if (workspaces) { done = true; relativePath = path_1.default.relative(current, initial); if (relativePath === "" || isMatchWorkspaces(relativePath, workspaces)) { found = current; } else { found = null; } } return { done, found, relativePath }; } exports2.checkWorkspaces = checkWorkspaces; function isMatchWorkspaces(relativePath, workspaces) { let ls = micromatch_12.default([relativePath], workspaces); return ls.length > 0; } exports2.isMatchWorkspaces = isMatchWorkspaces; function extractWorkspaces(manifest) { const workspaces = (manifest || {}).workspaces; return workspaces && workspaces.packages || (Array.isArray(workspaces) ? workspaces : null); } exports2.extractWorkspaces = extractWorkspaces; function readPackageJSON(dir) { const file = path_1.default.join(dir, "package.json"); if (fs_1.existsSync(file)) { return JSON.parse(fs_1.readFileSync(file, "utf8")); } return null; } exports2.readPackageJSON = readPackageJSON; findWorkspaceRoot.findWorkspaceRoot = findWorkspaceRoot; findWorkspaceRoot.readPackageJSON = readPackageJSON; findWorkspaceRoot.extractWorkspaces = extractWorkspaces; findWorkspaceRoot.isMatchWorkspaces = isMatchWorkspaces; findWorkspaceRoot.default = findWorkspaceRoot; exports2.default = findWorkspaceRoot; } }); // ../node_modules/.pnpm/find-yarn-workspace-root2@1.2.16/node_modules/find-yarn-workspace-root2/index.js var require_find_yarn_workspace_root2 = __commonJS({ "../node_modules/.pnpm/find-yarn-workspace-root2@1.2.16/node_modules/find-yarn-workspace-root2/index.js"(exports2, module2) { "use strict"; var core_1 = require_core6(); module2.exports = core_1.findWorkspaceRoot; } }); // ../node_modules/.pnpm/p-locate@5.0.0/node_modules/p-locate/index.js var require_p_locate2 = __commonJS({ "../node_modules/.pnpm/p-locate@5.0.0/node_modules/p-locate/index.js"(exports2, module2) { "use strict"; var pLimit = require_p_limit(); var EndError = class extends Error { constructor(value) { super(); this.value = value; } }; var testElement = async (element, tester) => tester(await element); var finder = async (element) => { const values = await Promise.all(element); if (values[1] === true) { throw new EndError(values[0]); } return false; }; var pLocate = async (iterable, tester, options) => { options = { concurrency: Infinity, preserveOrder: true, ...options }; const limit = pLimit(options.concurrency); const items = [...iterable].map((element) => [element, limit(testElement, element, tester)]); const checkLimit = pLimit(options.preserveOrder ? 1 : Infinity); try { await Promise.all(items.map((element) => checkLimit(finder, element))); } catch (error) { if (error instanceof EndError) { return error.value; } throw error; } }; module2.exports = pLocate; } }); // ../node_modules/.pnpm/locate-path@6.0.0/node_modules/locate-path/index.js var require_locate_path2 = __commonJS({ "../node_modules/.pnpm/locate-path@6.0.0/node_modules/locate-path/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var fs = require("fs"); var { promisify } = require("util"); var pLocate = require_p_locate2(); var fsStat = promisify(fs.stat); var fsLStat = promisify(fs.lstat); var typeMappings = { directory: "isDirectory", file: "isFile" }; function checkType({ type }) { if (type in typeMappings) { return; } throw new Error(`Invalid type specified: ${type}`); } var matchType = (type, stat) => type === void 0 || stat[typeMappings[type]](); module2.exports = async (paths, options) => { options = { cwd: process.cwd(), type: "file", allowSymlinks: true, ...options }; checkType(options); const statFn = options.allowSymlinks ? fsStat : fsLStat; return pLocate(paths, async (path_) => { try { const stat = await statFn(path2.resolve(options.cwd, path_)); return matchType(options.type, stat); } catch { return false; } }, options); }; module2.exports.sync = (paths, options) => { options = { cwd: process.cwd(), allowSymlinks: true, type: "file", ...options }; checkType(options); const statFn = options.allowSymlinks ? fs.statSync : fs.lstatSync; for (const path_ of paths) { try { const stat = statFn(path2.resolve(options.cwd, path_)); if (matchType(options.type, stat)) { return path_; } } catch { } } }; } }); // ../node_modules/.pnpm/find-up@5.0.0/node_modules/find-up/index.js var require_find_up2 = __commonJS({ "../node_modules/.pnpm/find-up@5.0.0/node_modules/find-up/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var locatePath = require_locate_path2(); var pathExists = require_path_exists2(); var stop = Symbol("findUp.stop"); module2.exports = async (name, options = {}) => { let directory = path2.resolve(options.cwd || ""); const { root } = path2.parse(directory); const paths = [].concat(name); const runMatcher = async (locateOptions) => { if (typeof name !== "function") { return locatePath(paths, locateOptions); } const foundPath = await name(locateOptions.cwd); if (typeof foundPath === "string") { return locatePath([foundPath], locateOptions); } return foundPath; }; while (true) { const foundPath = await runMatcher({ ...options, cwd: directory }); if (foundPath === stop) { return; } if (foundPath) { return path2.resolve(directory, foundPath); } if (directory === root) { return; } directory = path2.dirname(directory); } }; module2.exports.sync = (name, options = {}) => { let directory = path2.resolve(options.cwd || ""); const { root } = path2.parse(directory); const paths = [].concat(name); const runMatcher = (locateOptions) => { if (typeof name !== "function") { return locatePath.sync(paths, locateOptions); } const foundPath = name(locateOptions.cwd); if (typeof foundPath === "string") { return locatePath.sync([foundPath], locateOptions); } return foundPath; }; while (true) { const foundPath = runMatcher({ ...options, cwd: directory }); if (foundPath === stop) { return; } if (foundPath) { return path2.resolve(directory, foundPath); } if (directory === root) { return; } directory = path2.dirname(directory); } }; module2.exports.exists = pathExists; module2.exports.sync.exists = pathExists.sync; module2.exports.stop = stop; } }); // ../node_modules/.pnpm/pify@4.0.1/node_modules/pify/index.js var require_pify = __commonJS({ "../node_modules/.pnpm/pify@4.0.1/node_modules/pify/index.js"(exports2, module2) { "use strict"; var processFn = (fn, options) => function(...args) { const P = options.promiseModule; return new P((resolve, reject) => { if (options.multiArgs) { args.push((...result2) => { if (options.errorFirst) { if (result2[0]) { reject(result2); } else { result2.shift(); resolve(result2); } } else { resolve(result2); } }); } else if (options.errorFirst) { args.push((error, result2) => { if (error) { reject(error); } else { resolve(result2); } }); } else { args.push(resolve); } fn.apply(this, args); }); }; module2.exports = (input, options) => { options = Object.assign({ exclude: [/.+(Sync|Stream)$/], errorFirst: true, promiseModule: Promise }, options); const objType = typeof input; if (!(input !== null && (objType === "object" || objType === "function"))) { throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${input === null ? "null" : objType}\``); } const filter = (key) => { const match = (pattern) => typeof pattern === "string" ? key === pattern : pattern.test(key); return options.include ? options.include.some(match) : !options.exclude.some(match); }; let ret2; if (objType === "function") { ret2 = function(...args) { return options.excludeMain ? input(...args) : processFn(input, options).apply(this, args); }; } else { ret2 = Object.create(Object.getPrototypeOf(input)); } for (const key in input) { const property = input[key]; ret2[key] = typeof property === "function" && filter(key) ? processFn(property, options) : property; } return ret2; }; } }); // ../node_modules/.pnpm/strip-bom@3.0.0/node_modules/strip-bom/index.js var require_strip_bom2 = __commonJS({ "../node_modules/.pnpm/strip-bom@3.0.0/node_modules/strip-bom/index.js"(exports2, module2) { "use strict"; module2.exports = (x) => { if (typeof x !== "string") { throw new TypeError("Expected a string, got " + typeof x); } if (x.charCodeAt(0) === 65279) { return x.slice(1); } return x; }; } }); // ../node_modules/.pnpm/load-yaml-file@0.2.0/node_modules/load-yaml-file/index.js var require_load_yaml_file = __commonJS({ "../node_modules/.pnpm/load-yaml-file@0.2.0/node_modules/load-yaml-file/index.js"(exports2, module2) { "use strict"; var fs = require_graceful_fs(); var pify = require_pify(); var stripBom = require_strip_bom2(); var yaml = require_js_yaml3(); var parse2 = (data) => yaml.safeLoad(stripBom(data)); module2.exports = (fp) => pify(fs.readFile)(fp, "utf8").then((data) => parse2(data)); module2.exports.sync = (fp) => parse2(fs.readFileSync(fp, "utf8")); } }); // ../node_modules/.pnpm/which-pm@2.2.0/node_modules/which-pm/index.js var require_which_pm = __commonJS({ "../node_modules/.pnpm/which-pm@2.2.0/node_modules/which-pm/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var pathExists = require_path_exists2(); var loadYamlFile = require_load_yaml_file(); module2.exports = async function(pkgPath) { const modulesPath = path2.join(pkgPath, "node_modules"); const exists = await pathExists(path2.join(modulesPath, ".yarn-integrity")); if (exists) return { name: "yarn" }; if (await pathExists(path2.join(pkgPath, "bun.lockb"))) return { name: "bun" }; try { const modules = await loadYamlFile(path2.join(modulesPath, ".modules.yaml")); return toNameAndVersion(modules.packageManager); } catch (err) { if (err.code !== "ENOENT") throw err; } const modulesExists = await pathExists(modulesPath); return modulesExists ? { name: "npm" } : null; }; function toNameAndVersion(pkgSpec) { if (pkgSpec[0] === "@") { const woPrefix = pkgSpec.substr(1); const parts2 = woPrefix.split("@"); return { name: `@${parts2[0]}`, version: parts2[1] }; } const parts = pkgSpec.split("@"); return { name: parts[0], version: parts[1] }; } } }); // ../node_modules/.pnpm/preferred-pm@3.1.4/node_modules/preferred-pm/index.js var require_preferred_pm = __commonJS({ "../node_modules/.pnpm/preferred-pm@3.1.4/node_modules/preferred-pm/index.js"(exports2, module2) { "use strict"; var findYarnWorkspaceRoot = require_find_yarn_workspace_root2(); var findUp = require_find_up2(); var path2 = require("path"); var pathExists = require_path_exists2(); var whichPM = require_which_pm(); module2.exports = async function preferredPM(pkgPath) { if (typeof pkgPath !== "string") { throw new TypeError(`pkgPath should be a string, got ${typeof pkgPath}`); } if (await pathExists(path2.join(pkgPath, "package-lock.json"))) { return { name: "npm", version: ">=5" }; } if (await pathExists(path2.join(pkgPath, "yarn.lock"))) { return { name: "yarn", version: "*" }; } if (await pathExists(path2.join(pkgPath, "pnpm-lock.yaml"))) { return { name: "pnpm", version: ">=3" }; } if (await pathExists(path2.join(pkgPath, "shrinkwrap.yaml"))) { return { name: "pnpm", version: "1 || 2" }; } if (await pathExists(path2.join(pkgPath, "bun.lockb"))) { return { name: "bun", version: "*" }; } if (await findUp("pnpm-lock.yaml", { cwd: pkgPath })) { return { name: "pnpm", version: ">=3" }; } try { const workspaceRoot = findYarnWorkspaceRoot(pkgPath); if (typeof workspaceRoot === "string") { if (await pathExists(path2.join(workspaceRoot, "package-lock.json"))) { return { name: "npm", version: ">=7" }; } return { name: "yarn", version: "*" }; } } catch (err) { } const pm = await whichPM(pkgPath); return pm && { name: pm.name, version: pm.version || "*" }; }; } }); // ../exec/prepare-package/lib/index.js var require_lib72 = __commonJS({ "../exec/prepare-package/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.preparePackage = preparePackage; var assert_1 = __importDefault2(require("assert")); var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var error_1 = require_lib6(); var lifecycle_1 = require_lib71(); var read_package_json_1 = require_lib61(); var rimraf_1 = __importDefault2(require_rimraf()); var preferred_pm_1 = __importDefault2(require_preferred_pm()); var omit_1 = __importDefault2(require_omit()); var PREPUBLISH_SCRIPTS = [ "prepublish", "prepack", "publish" ]; async function preparePackage(opts, gitRootDir, subDir) { const pkgDir = safeJoinPath(gitRootDir, subDir); const manifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(pkgDir); if (manifest?.scripts == null || !packageShouldBeBuilt(manifest, pkgDir)) return { shouldBeBuilt: false, pkgDir }; if (opts.ignoreScripts) return { shouldBeBuilt: true, pkgDir }; if (!opts.allowBuild?.(manifest.name, manifest.version)) { throw new error_1.PnpmError("GIT_DEP_PREPARE_NOT_ALLOWED", `The git-hosted package "${manifest.name}@${manifest.version}" needs to execute build scripts but is not in the "onlyBuiltDependencies" allowlist.`, { hint: `Add the package to "onlyBuiltDependencies" in your project's pnpm-workspace.yaml to allow it to run scripts. For example: onlyBuiltDependencies: - "${manifest.name}"` }); } const pm = (await (0, preferred_pm_1.default)(gitRootDir))?.name ?? "npm"; const execOpts = { depPath: `${manifest.name}@${manifest.version}`, pkgRoot: pkgDir, // We can't prepare a package without running its lifecycle scripts. // An alternative solution could be to throw an exception. rawConfig: (0, omit_1.default)(["ignore-scripts"], opts.rawConfig), rootModulesDir: pkgDir, // We don't need this property but there is currently no way to not set it. unsafePerm: Boolean(opts.unsafePerm) }; try { const installScriptName = `${pm}-install`; manifest.scripts[installScriptName] = `${pm} install`; await (0, lifecycle_1.runLifecycleHook)(installScriptName, manifest, execOpts); for (const scriptName of PREPUBLISH_SCRIPTS) { if (manifest.scripts[scriptName] == null || manifest.scripts[scriptName] === "") continue; let newScriptName; if (pm !== "pnpm") { newScriptName = `${pm}-run-${scriptName}`; manifest.scripts[newScriptName] = `${pm} run ${scriptName}`; } else { newScriptName = scriptName; } await (0, lifecycle_1.runLifecycleHook)(newScriptName, manifest, execOpts); } } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); Object.assign(err, { code: "ERR_PNPM_PREPARE_PACKAGE" }); throw err; } await (0, rimraf_1.default)(path_1.default.join(pkgDir, "node_modules")); return { shouldBeBuilt: true, pkgDir }; } function packageShouldBeBuilt(manifest, pkgDir) { if (manifest.scripts == null) return false; const scripts = manifest.scripts; if (scripts.prepare != null && scripts.prepare !== "") return true; const hasPrepublishScript = PREPUBLISH_SCRIPTS.some((scriptName) => scripts[scriptName] != null && scripts[scriptName] !== ""); if (!hasPrepublishScript) return false; const mainFile = manifest.main ?? "index.js"; return !fs_1.default.existsSync(path_1.default.join(pkgDir, mainFile)); } function safeJoinPath(root, sub) { const joined = path_1.default.join(root, sub); const relative = path_1.default.relative(root, joined); if (relative.startsWith("..")) { throw new error_1.PnpmError("INVALID_PATH", `Path "${sub}" should be a sub directory`); } if (!fs_1.default.existsSync(joined) || !fs_1.default.lstatSync(joined).isDirectory()) { throw new error_1.PnpmError("INVALID_PATH", `Path "${sub}" is not a directory`); } return joined; } } }); // ../node_modules/.pnpm/@rushstack+worker-pool@0.4.9_@types+node@22.15.30/node_modules/@rushstack/worker-pool/lib/WorkerPool.js var require_WorkerPool = __commonJS({ "../node_modules/.pnpm/@rushstack+worker-pool@0.4.9_@types+node@22.15.30/node_modules/@rushstack/worker-pool/lib/WorkerPool.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.WorkerPool = exports2.WORKER_ID_SYMBOL = void 0; var worker_threads_1 = require("worker_threads"); exports2.WORKER_ID_SYMBOL = Symbol("workerId"); var WorkerPool = class { constructor(options) { const { id, maxWorkers, onWorkerDestroyed, prepareWorker, workerData, workerScriptPath } = options; this.id = id; this.maxWorkers = maxWorkers; this._alive = []; this._error = void 0; this._finishing = false; this._idle = []; this._nextId = 0; this._onComplete = []; this._onWorkerDestroyed = onWorkerDestroyed; this._pending = []; this._prepare = prepareWorker; this._workerData = workerData; this._workerScript = workerScriptPath; } /** * Gets the count of active workers. */ getActiveCount() { return this._alive.length - this._idle.length; } /** * Gets the count of idle workers. */ getIdleCount() { return this._idle.length; } /** * Gets the count of live workers. */ getLiveCount() { return this._alive.length; } /** * Tells the pool to shut down when all workers are done. * Returns a promise that will be fulfilled if all workers finish successfully, or reject with the first error. */ async finishAsync() { this._finishing = true; if (this._error) { throw this._error; } if (!this._alive.length) { return; } for (const worker of this._idle.splice(0)) { worker.postMessage(false); } await new Promise((resolve, reject) => this._onComplete.push([resolve, reject])); } /** * Resets the pool and allows more work */ reset() { this._finishing = false; this._error = void 0; } /** * Returns a worker to the pool. If the pool is finishing, deallocates the worker. * @param worker - The worker to free */ checkinWorker(worker) { if (this._error) { worker.postMessage(false); return; } const next = this._pending.shift(); if (next) { next[0](worker); } else if (this._finishing) { worker.postMessage(false); } else { this._idle.push(worker); } } /** * Checks out a currently available worker or waits for the next free worker. * @param allowCreate - If creating new workers is allowed (subject to maxSize) */ async checkoutWorkerAsync(allowCreate) { if (this._error) { throw this._error; } let worker = this._idle.shift(); if (!worker && allowCreate) { worker = this._createWorker(); } if (worker) { return worker; } return await new Promise((resolve, reject) => { this._pending.push([resolve, reject]); }); } /** * Creates a new worker if allowed by maxSize. */ _createWorker() { if (this._alive.length >= this.maxWorkers) { return; } const worker = new worker_threads_1.Worker(this._workerScript, { eval: false, workerData: this._workerData }); const id = `${this.id}#${++this._nextId}`; worker[exports2.WORKER_ID_SYMBOL] = id; this._alive.push(worker); worker.on("error", (err) => { this._onError(err); this._destroyWorker(worker); }); worker.on("exit", (exitCode) => { if (exitCode !== 0) { this._onError(new Error(`Worker ${id} exited with code ${exitCode}`)); } this._destroyWorker(worker); }); if (this._prepare) { this._prepare(worker); } return worker; } /** * Cleans up a worker */ _destroyWorker(worker) { const aliveIndex = this._alive.indexOf(worker); if (aliveIndex >= 0) { this._alive.splice(aliveIndex, 1); } const freeIndex = this._idle.indexOf(worker); if (freeIndex >= 0) { this._idle.splice(freeIndex, 1); } worker.unref(); if (this._onWorkerDestroyed) { this._onWorkerDestroyed(); } if (!this._alive.length && !this._error) { for (const [resolve] of this._onComplete.splice(0)) { resolve(); } } } /** * Notifies all pending callbacks that an error has occurred and switches this pool into error state. */ _onError(error) { this._error = error; for (const [, reject] of this._pending.splice(0)) { reject(this._error); } for (const [, reject] of this._onComplete.splice(0)) { reject(this._error); } } }; exports2.WorkerPool = WorkerPool; } }); // ../worker/lib/index.js var require_lib73 = __commonJS({ "../worker/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.TarballIntegrityError = void 0; exports2.restartWorkerPool = restartWorkerPool; exports2.finishWorkers = finishWorkers; exports2.calcMaxWorkers = calcMaxWorkers; exports2.addFilesFromDir = addFilesFromDir; exports2.addFilesFromTarball = addFilesFromTarball; exports2.readPkgFromCafs = readPkgFromCafs; exports2.importPackage = importPackage; exports2.symlinkAllModules = symlinkAllModules; exports2.hardLinkDir = hardLinkDir; exports2.initStoreDir = initStoreDir; var path_1 = __importDefault2(require("path")); var os_1 = __importDefault2(require("os")); var WorkerPool_1 = require_WorkerPool(); var error_1 = require_lib6(); var child_process_1 = require("child_process"); var is_windows_1 = __importDefault2(require_is_windows()); var p_limit_12 = __importDefault2(require_p_limit()); var workerPool; async function restartWorkerPool() { await finishWorkers(); workerPool = createTarballWorkerPool(); } async function finishWorkers() { await global.finishWorkers?.(); } function createTarballWorkerPool() { const maxWorkers = calcMaxWorkers(); const workerPool2 = new WorkerPool_1.WorkerPool({ id: "pnpm", maxWorkers, workerScriptPath: path_1.default.join(__dirname, "worker.js") }); if (global.finishWorkers) { const previous = global.finishWorkers; global.finishWorkers = async () => { await previous(); await workerPool2.finishAsync(); }; } else { global.finishWorkers = () => workerPool2.finishAsync(); } return workerPool2; } function calcMaxWorkers() { if (process.env.PNPM_MAX_WORKERS) { return parseInt(process.env.PNPM_MAX_WORKERS); } if (process.env.PNPM_WORKERS) { const idleCPUs = Math.abs(parseInt(process.env.PNPM_WORKERS)); return Math.max(2, availableParallelism() - idleCPUs) - 1; } return Math.max(1, availableParallelism() - 1); } function availableParallelism() { return os_1.default.availableParallelism?.() ?? os_1.default.cpus().length; } async function addFilesFromDir(opts) { if (!workerPool) { workerPool = createTarballWorkerPool(); } const localWorker = await workerPool.checkoutWorkerAsync(true); return new Promise((resolve, reject) => { localWorker.once("message", ({ status, error, value }) => { workerPool.checkinWorker(localWorker); if (status === "error") { reject(new error_1.PnpmError(error.code ?? "GIT_FETCH_FAILED", error.message)); return; } resolve(value); }); localWorker.postMessage({ type: "add-dir", storeDir: opts.storeDir, dir: opts.dir, filesIndexFile: opts.filesIndexFile, sideEffectsCacheKey: opts.sideEffectsCacheKey, readManifest: opts.readManifest, pkg: opts.pkg, files: opts.files }); }); } var TarballIntegrityError = class extends error_1.PnpmError { found; expected; algorithm; sri; url; constructor(opts) { super("TARBALL_INTEGRITY", `Got unexpected checksum for "${opts.url}". Wanted "${opts.expected}". Got "${opts.found}".`, { attempts: opts.attempts, hint: `This error may happen when a package is republished to the registry with the same version. In this case, the metadata in the local pnpm cache will contain the old integrity checksum. If you think that this is the case, then run "pnpm store prune" and rerun the command that failed. "pnpm store prune" will remove your local metadata cache.` }); this.found = opts.found; this.expected = opts.expected; this.algorithm = opts.algorithm; this.sri = opts.sri; this.url = opts.url; } }; exports2.TarballIntegrityError = TarballIntegrityError; async function addFilesFromTarball(opts) { if (!workerPool) { workerPool = createTarballWorkerPool(); } const localWorker = await workerPool.checkoutWorkerAsync(true); return new Promise((resolve, reject) => { localWorker.once("message", ({ status, error, value }) => { workerPool.checkinWorker(localWorker); if (status === "error") { if (error.type === "integrity_validation_failed") { reject(new TarballIntegrityError({ ...error, url: opts.url })); return; } reject(new error_1.PnpmError(error.code ?? "TARBALL_EXTRACT", `Failed to add tarball from "${opts.url}" to store: ${error.message}`)); return; } resolve(value); }); localWorker.postMessage({ type: "extract", buffer: opts.buffer, storeDir: opts.storeDir, integrity: opts.integrity, filesIndexFile: opts.filesIndexFile, readManifest: opts.readManifest, pkg: opts.pkg }); }); } async function readPkgFromCafs(storeDir, verifyStoreIntegrity, filesIndexFile, readManifest) { if (!workerPool) { workerPool = createTarballWorkerPool(); } const localWorker = await workerPool.checkoutWorkerAsync(true); return new Promise((resolve, reject) => { localWorker.once("message", ({ status, error, value }) => { workerPool.checkinWorker(localWorker); if (status === "error") { reject(new error_1.PnpmError(error.code ?? "READ_FROM_STORE", error.message)); return; } resolve(value); }); localWorker.postMessage({ type: "readPkgFromCafs", storeDir, filesIndexFile, readManifest, verifyStoreIntegrity }); }); } var limitImportingPackage = (0, p_limit_12.default)(4); async function importPackage(opts) { return limitImportingPackage(async () => { if (!workerPool) { workerPool = createTarballWorkerPool(); } const localWorker = await workerPool.checkoutWorkerAsync(true); return new Promise((resolve, reject) => { localWorker.once("message", ({ status, error, value }) => { workerPool.checkinWorker(localWorker); if (status === "error") { reject(new error_1.PnpmError(error.code ?? "LINKING_FAILED", error.message)); return; } resolve(value); }); localWorker.postMessage({ type: "link", ...opts }); }); }); } async function symlinkAllModules(opts) { if (!workerPool) { workerPool = createTarballWorkerPool(); } const localWorker = await workerPool.checkoutWorkerAsync(true); return new Promise((resolve, reject) => { localWorker.once("message", ({ status, error, value }) => { workerPool.checkinWorker(localWorker); if (status === "error") { const hint = opts.deps?.[0]?.modules != null ? createErrorHint(error, opts.deps[0].modules) : void 0; reject(new error_1.PnpmError(error.code ?? "SYMLINK_FAILED", error.message, { hint })); return; } resolve(value); }); localWorker.postMessage({ type: "symlinkAllModules", ...opts }); }); } function createErrorHint(err, checkedDir) { if ("code" in err && err.code === "EISDIR" && (0, is_windows_1.default)()) { const checkedDrive = `${checkedDir.split(":")[0]}:`; if (isDriveExFat(checkedDrive)) { return `The "${checkedDrive}" drive is exFAT, which does not support symlinks. This will cause installation to fail. You can set the node-linker to "hoisted" to avoid this issue.`; } } return void 0; } function isDriveExFat(drive) { if (!/^[a-z]:$/i.test(drive)) { throw new Error(`${drive} is not a valid disk on Windows`); } try { const output = (0, child_process_1.execSync)(`powershell -Command "Get-Volume -DriveLetter ${drive.replace(":", "")} | Select-Object -ExpandProperty FileSystem"`).toString(); const lines = output.trim().split("\n"); const name = lines[0].trim(); return name === "exFAT"; } catch { return false; } } async function hardLinkDir(src, destDirs) { if (!workerPool) { workerPool = createTarballWorkerPool(); } const localWorker = await workerPool.checkoutWorkerAsync(true); await new Promise((resolve, reject) => { localWorker.once("message", ({ status, error }) => { workerPool.checkinWorker(localWorker); if (status === "error") { reject(new error_1.PnpmError(error.code ?? "HARDLINK_FAILED", error.message)); return; } resolve(); }); localWorker.postMessage({ type: "hardLinkDir", src, destDirs }); }); } async function initStoreDir(storeDir) { if (!workerPool) { workerPool = createTarballWorkerPool(); } const localWorker = await workerPool.checkoutWorkerAsync(true); return new Promise((resolve, reject) => { localWorker.once("message", ({ status, error }) => { workerPool.checkinWorker(localWorker); if (status === "error") { reject(new error_1.PnpmError(error.code ?? "INIT_CAFS_FAILED", error.message)); return; } resolve(); }); localWorker.postMessage({ type: "init-store", storeDir }); }); } } }); // ../fetching/git-fetcher/lib/index.js var require_lib74 = __commonJS({ "../fetching/git-fetcher/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createGitFetcher = createGitFetcher; var assert_1 = __importDefault2(require("assert")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var fs_packlist_1 = require_lib59(); var logger_1 = require_lib(); var prepare_package_1 = require_lib72(); var worker_1 = require_lib73(); var error_1 = require_lib6(); var rimraf_1 = __importDefault2(require_rimraf()); var execa_1 = __importDefault2(require_lib17()); var url_1 = require("url"); function createGitFetcher(createOpts) { const allowedHosts = new Set(createOpts?.gitShallowHosts ?? []); const ignoreScripts = createOpts.ignoreScripts ?? false; const gitFetcher = async (cafs, resolution, opts) => { const tempLocation = await cafs.tempDir(); if (allowedHosts.size > 0 && shouldUseShallow(resolution.repo, allowedHosts)) { await execGit(["init"], { cwd: tempLocation }); await execGit(["remote", "add", "origin", resolution.repo], { cwd: tempLocation }); await execGit(["fetch", "--depth", "1", "origin", resolution.commit], { cwd: tempLocation }); } else { await execGit(["clone", resolution.repo, tempLocation]); } await execGit(["checkout", resolution.commit], { cwd: tempLocation }); const receivedCommit = await execGit(["rev-parse", "HEAD"], { cwd: tempLocation }); if (receivedCommit.trim() !== resolution.commit) { throw new error_1.PnpmError("GIT_CHECKOUT_FAILED", `received commit ${receivedCommit.trim()} does not match expected value ${resolution.commit}`); } let pkgDir; try { const prepareResult = await (0, prepare_package_1.preparePackage)({ allowBuild: opts.allowBuild, ignoreScripts: createOpts.ignoreScripts, rawConfig: createOpts.rawConfig, unsafePerm: createOpts.unsafePerm }, tempLocation, resolution.path ?? ""); pkgDir = prepareResult.pkgDir; if (ignoreScripts && prepareResult.shouldBeBuilt) { (0, logger_1.globalWarn)(`The git-hosted package fetched from "${resolution.repo}" has to be built but the build scripts were ignored.`); } } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); err.message = `Failed to prepare git-hosted package fetched from "${resolution.repo}": ${err.message}`; throw err; } await (0, rimraf_1.default)(path_1.default.join(tempLocation, ".git")); const files = await (0, fs_packlist_1.packlist)(pkgDir); return (0, worker_1.addFilesFromDir)({ storeDir: cafs.storeDir, dir: pkgDir, files, filesIndexFile: opts.filesIndexFile, readManifest: opts.readManifest, pkg: opts.pkg }); }; return { git: gitFetcher }; } function shouldUseShallow(repoUrl, allowedHosts) { try { const { host } = new url_1.URL(repoUrl); if (allowedHosts.has(host)) { return true; } } catch { } return false; } function prefixGitArgs() { return process.platform === "win32" ? ["-c", "core.longpaths=true"] : []; } async function execGit(args, opts) { const fullArgs = prefixGitArgs().concat(args || []); const { stdout } = await (0, execa_1.default)("git", fullArgs, opts); return stdout; } } }); // ../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js var require_lodash2 = __commonJS({ "../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js"(exports2, module2) { var FUNC_ERROR_TEXT = "Expected a function"; var NAN = 0 / 0; var symbolTag = "[object Symbol]"; var reTrim = /^\s+|\s+$/g; var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; var reIsBinary = /^0b[01]+$/i; var reIsOctal = /^0o[0-7]+$/i; var freeParseInt = parseInt; var freeGlobal = typeof global == "object" && global && global.Object === Object && global; var freeSelf = typeof self == "object" && self && self.Object === Object && self; var root = freeGlobal || freeSelf || Function("return this")(); var objectProto = Object.prototype; var objectToString = objectProto.toString; var nativeMax = Math.max; var nativeMin = Math.min; var now = function() { return root.Date.now(); }; function debounce(func, wait, options) { var lastArgs, lastThis, maxWait, result2, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true; if (typeof func != "function") { throw new TypeError(FUNC_ERROR_TEXT); } wait = toNumber(wait) || 0; if (isObject(options)) { leading = !!options.leading; maxing = "maxWait" in options; maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; trailing = "trailing" in options ? !!options.trailing : trailing; } function invokeFunc(time) { var args = lastArgs, thisArg = lastThis; lastArgs = lastThis = void 0; lastInvokeTime = time; result2 = func.apply(thisArg, args); return result2; } function leadingEdge(time) { lastInvokeTime = time; timerId = setTimeout(timerExpired, wait); return leading ? invokeFunc(time) : result2; } function remainingWait(time) { var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, result3 = wait - timeSinceLastCall; return maxing ? nativeMin(result3, maxWait - timeSinceLastInvoke) : result3; } function shouldInvoke(time) { var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime; return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait; } function timerExpired() { var time = now(); if (shouldInvoke(time)) { return trailingEdge(time); } timerId = setTimeout(timerExpired, remainingWait(time)); } function trailingEdge(time) { timerId = void 0; if (trailing && lastArgs) { return invokeFunc(time); } lastArgs = lastThis = void 0; return result2; } function cancel() { if (timerId !== void 0) { clearTimeout(timerId); } lastInvokeTime = 0; lastArgs = lastCallTime = lastThis = timerId = void 0; } function flush() { return timerId === void 0 ? result2 : trailingEdge(now()); } function debounced() { var time = now(), isInvoking = shouldInvoke(time); lastArgs = arguments; lastThis = this; lastCallTime = time; if (isInvoking) { if (timerId === void 0) { return leadingEdge(lastCallTime); } if (maxing) { timerId = setTimeout(timerExpired, wait); return invokeFunc(lastCallTime); } } if (timerId === void 0) { timerId = setTimeout(timerExpired, wait); } return result2; } debounced.cancel = cancel; debounced.flush = flush; return debounced; } function throttle(func, wait, options) { var leading = true, trailing = true; if (typeof func != "function") { throw new TypeError(FUNC_ERROR_TEXT); } if (isObject(options)) { leading = "leading" in options ? !!options.leading : leading; trailing = "trailing" in options ? !!options.trailing : trailing; } return debounce(func, wait, { "leading": leading, "maxWait": wait, "trailing": trailing }); } function isObject(value) { var type = typeof value; return !!value && (type == "object" || type == "function"); } function isObjectLike(value) { return !!value && typeof value == "object"; } function isSymbol(value) { return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag; } function toNumber(value) { if (typeof value == "number") { return value; } if (isSymbol(value)) { return NAN; } if (isObject(value)) { var other = typeof value.valueOf == "function" ? value.valueOf() : value; value = isObject(other) ? other + "" : other; } if (typeof value != "string") { return value === 0 ? value : +value; } value = value.replace(reTrim, ""); var isBinary = reIsBinary.test(value); return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; } module2.exports = throttle; } }); // ../fetching/tarball-fetcher/lib/errorTypes/BadTarballError.js var require_BadTarballError = __commonJS({ "../fetching/tarball-fetcher/lib/errorTypes/BadTarballError.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.BadTarballError = void 0; var error_1 = require_lib6(); var BadTarballError = class extends error_1.PnpmError { expectedSize; receivedSize; constructor(opts) { const message = `Actual size (${opts.receivedSize}) of tarball (${opts.tarballUrl}) did not match the one specified in 'Content-Length' header (${opts.expectedSize})`; super("BAD_TARBALL_SIZE", message, { attempts: opts?.attempts }); this.expectedSize = opts.expectedSize; this.receivedSize = opts.receivedSize; } }; exports2.BadTarballError = BadTarballError; } }); // ../fetching/tarball-fetcher/lib/errorTypes/index.js var require_errorTypes = __commonJS({ "../fetching/tarball-fetcher/lib/errorTypes/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.BadTarballError = void 0; var BadTarballError_js_1 = require_BadTarballError(); Object.defineProperty(exports2, "BadTarballError", { enumerable: true, get: function() { return BadTarballError_js_1.BadTarballError; } }); } }); // ../fetching/tarball-fetcher/lib/remoteTarballFetcher.js var require_remoteTarballFetcher = __commonJS({ "../fetching/tarball-fetcher/lib/remoteTarballFetcher.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createDownloader = createDownloader; var assert_1 = __importDefault2(require("assert")); var util_1 = __importDefault2(require("util")); var core_loggers_1 = require_lib8(); var error_1 = require_lib6(); var logger_1 = require_lib(); var worker_1 = require_lib73(); var retry = __importStar3(require_retry2()); var lodash_throttle_1 = __importDefault2(require_lodash2()); var index_js_1 = require_errorTypes(); var BIG_TARBALL_SIZE = 1024 * 1024 * 5; function createDownloader(fetchFromRegistry, gotOpts) { const retryOpts = { factor: 10, maxTimeout: 6e4, // 1 minute minTimeout: 1e4, // 10 seconds retries: 2, ...gotOpts.retry }; const fetchMinSpeedKiBps = gotOpts.fetchMinSpeedKiBps ?? 50; return async function download(url, opts) { const authHeaderValue = opts.getAuthHeaderByURI(url); const op = retry.operation(retryOpts); return new Promise((resolve, reject) => { op.attempt(async (attempt) => { try { resolve(await fetch(attempt)); } catch (error) { if (error.response?.status === 401 || error.response?.status === 403 || error.response?.status === 404 || error.code === "ERR_PNPM_PREPARE_PKG_FAILURE") { reject(error); return; } const timeout = op.retry(error); if (timeout === false) { reject(op.mainError()); return; } core_loggers_1.requestRetryLogger.debug({ attempt, error, maxRetries: retryOpts.retries, method: "GET", timeout, url }); } }); }); async function fetch(currentAttempt) { let data; try { const res = await fetchFromRegistry(url, { authHeaderValue, // The fetch library can retry requests on bad HTTP responses. // However, it is not enough to retry on bad HTTP responses only. // Requests should also be retried when the tarball's integrity check fails. // Hence, we tell fetch to not retry, // and we perform the retries from this function instead. retry: { retries: 0 }, timeout: gotOpts.timeout }); if (res.status !== 200) { throw new error_1.FetchError({ url, authHeaderValue }, res); } const contentLength = res.headers.has("content-length") && res.headers.get("content-length"); const size = typeof contentLength === "string" ? parseInt(contentLength, 10) : null; if (opts.onStart != null) { opts.onStart(size, currentAttempt); } const onProgress = size != null && size >= BIG_TARBALL_SIZE && opts.onProgress ? (0, lodash_throttle_1.default)(opts.onProgress, 500) : void 0; const startTime = Date.now(); let downloaded = 0; const chunks = []; for await (const chunk of res.body) { chunks.push(chunk); downloaded += chunk.length; onProgress?.(downloaded); } if (size !== null && size !== downloaded) { throw new index_js_1.BadTarballError({ expectedSize: size, receivedSize: downloaded, tarballUrl: url }); } const elapsedSec = (Date.now() - startTime) / 1e3; const avgKiBps = Math.floor(downloaded / elapsedSec / 1024); if (downloaded > 0 && elapsedSec > 1 && avgKiBps < fetchMinSpeedKiBps) { const sizeKb = Math.floor(downloaded / 1024); (0, logger_1.globalWarn)(`Tarball download average speed ${avgKiBps} KiB/s (size ${sizeKb} KiB) is below ${fetchMinSpeedKiBps} KiB/s: ${url} (GET)`); } data = Buffer.from(new SharedArrayBuffer(downloaded)); let offset = 0; for (const chunk of chunks) { chunk.copy(data, offset); offset += chunk.length; } } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); Object.assign(err, { attempts: currentAttempt, resource: url }); throw err; } return (0, worker_1.addFilesFromTarball)({ buffer: data, storeDir: opts.cafs.storeDir, readManifest: opts.readManifest, integrity: opts.integrity, filesIndexFile: opts.filesIndexFile, url, pkg: opts.pkg }); } }; } } }); // ../fetching/tarball-fetcher/lib/localTarballFetcher.js var require_localTarballFetcher = __commonJS({ "../fetching/tarball-fetcher/lib/localTarballFetcher.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createLocalTarballFetcher = createLocalTarballFetcher; var path_1 = __importDefault2(require("path")); var graceful_fs_1 = __importDefault2(require_lib15()); var worker_1 = require_lib73(); var isAbsolutePath = /^\/|^[A-Z]:/i; function createLocalTarballFetcher() { const fetch = (cafs, resolution, opts) => { const tarball = resolvePath(opts.lockfileDir, resolution.tarball.slice(5)); const buffer = graceful_fs_1.default.readFileSync(tarball); return (0, worker_1.addFilesFromTarball)({ storeDir: cafs.storeDir, buffer, filesIndexFile: opts.filesIndexFile, integrity: resolution.integrity, readManifest: opts.readManifest, url: tarball, pkg: opts.pkg }); }; return fetch; } function resolvePath(where, spec) { if (isAbsolutePath.test(spec)) return spec; return path_1.default.resolve(where, spec); } } }); // ../fetching/tarball-fetcher/lib/gitHostedTarballFetcher.js var require_gitHostedTarballFetcher = __commonJS({ "../fetching/tarball-fetcher/lib/gitHostedTarballFetcher.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createGitHostedTarballFetcher = createGitHostedTarballFetcher; var assert_1 = __importDefault2(require("assert")); var promises_1 = __importDefault2(require("node:fs/promises")); var util_1 = __importDefault2(require("util")); var fs_packlist_1 = require_lib59(); var logger_1 = require_lib(); var prepare_package_1 = require_lib72(); var worker_1 = require_lib73(); var rename_overwrite_1 = __importDefault2(require_rename_overwrite()); var path_temp_1 = require_path_temp(); function createGitHostedTarballFetcher(fetchRemoteTarball, fetcherOpts) { const fetch = async (cafs, resolution, opts) => { const tempIndexFile = (0, path_temp_1.fastPathTemp)(opts.filesIndexFile); const { filesIndex, manifest, requiresBuild } = await fetchRemoteTarball(cafs, resolution, { ...opts, filesIndexFile: tempIndexFile }); try { const prepareResult = await prepareGitHostedPkg(filesIndex, cafs, tempIndexFile, opts.filesIndexFile, fetcherOpts, opts, resolution); if (prepareResult.ignoredBuild) { (0, logger_1.globalWarn)(`The git-hosted package fetched from "${resolution.tarball}" has to be built but the build scripts were ignored.`); } return { filesIndex: prepareResult.filesIndex, manifest: prepareResult.manifest ?? manifest, requiresBuild }; } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); err.message = `Failed to prepare git-hosted package fetched from "${resolution.tarball}": ${err.message}`; throw err; } }; return fetch; } async function prepareGitHostedPkg(filesIndex, cafs, filesIndexFileNonBuilt, filesIndexFile, opts, fetcherOpts, resolution) { const tempLocation = await cafs.tempDir(); cafs.importPackage(tempLocation, { filesResponse: { filesIndex, resolvedFrom: "remote", requiresBuild: false }, force: true }); const { shouldBeBuilt, pkgDir } = await (0, prepare_package_1.preparePackage)({ ...opts, allowBuild: fetcherOpts.allowBuild }, tempLocation, resolution.path ?? ""); const files = await (0, fs_packlist_1.packlist)(pkgDir); if (!resolution.path && files.length === Object.keys(filesIndex).length) { if (!shouldBeBuilt) { if (filesIndexFileNonBuilt !== filesIndexFile) { await (0, rename_overwrite_1.default)(filesIndexFileNonBuilt, filesIndexFile); } return { filesIndex, ignoredBuild: false }; } if (opts.ignoreScripts) { return { filesIndex, ignoredBuild: true }; } } try { await promises_1.default.unlink(filesIndexFileNonBuilt); } catch { } return { ...await (0, worker_1.addFilesFromDir)({ storeDir: cafs.storeDir, dir: pkgDir, files, filesIndexFile, pkg: fetcherOpts.pkg, readManifest: fetcherOpts.readManifest }), ignoredBuild: Boolean(opts.ignoreScripts) }; } } }); // ../fetching/tarball-fetcher/lib/index.js var require_lib75 = __commonJS({ "../fetching/tarball-fetcher/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.TarballIntegrityError = exports2.BadTarballError = void 0; exports2.createTarballFetcher = createTarballFetcher; var error_1 = require_lib6(); var worker_1 = require_lib73(); Object.defineProperty(exports2, "TarballIntegrityError", { enumerable: true, get: function() { return worker_1.TarballIntegrityError; } }); var remoteTarballFetcher_js_1 = require_remoteTarballFetcher(); var localTarballFetcher_js_1 = require_localTarballFetcher(); var gitHostedTarballFetcher_js_1 = require_gitHostedTarballFetcher(); var index_js_1 = require_errorTypes(); Object.defineProperty(exports2, "BadTarballError", { enumerable: true, get: function() { return index_js_1.BadTarballError; } }); function createTarballFetcher(fetchFromRegistry, getAuthHeader, opts) { const download = (0, remoteTarballFetcher_js_1.createDownloader)(fetchFromRegistry, { retry: opts.retry, timeout: opts.timeout, fetchMinSpeedKiBps: opts.fetchMinSpeedKiBps }); const remoteTarballFetcher = fetchFromTarball.bind(null, { download, getAuthHeaderByURI: getAuthHeader, offline: opts.offline }); return { localTarball: (0, localTarballFetcher_js_1.createLocalTarballFetcher)(), remoteTarball: remoteTarballFetcher, gitHostedTarball: (0, gitHostedTarballFetcher_js_1.createGitHostedTarballFetcher)(remoteTarballFetcher, opts) }; } async function fetchFromTarball(ctx, cafs, resolution, opts) { if (ctx.offline) { throw new error_1.PnpmError("NO_OFFLINE_TARBALL", `A package is missing from the store but cannot download it in offline mode. The missing package may be downloaded from ${resolution.tarball}.`); } return ctx.download(resolution.tarball, { getAuthHeaderByURI: ctx.getAuthHeaderByURI, cafs, integrity: resolution.integrity, readManifest: opts.readManifest, onProgress: opts.onProgress, onStart: opts.onStart, registry: resolution.registry, filesIndexFile: opts.filesIndexFile, pkg: opts.pkg }); } } }); // ../network/auth-header/lib/getAuthHeadersFromConfig.js var require_getAuthHeadersFromConfig = __commonJS({ "../network/auth-header/lib/getAuthHeadersFromConfig.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getAuthHeadersFromConfig = getAuthHeadersFromConfig; exports2.loadToken = loadToken; var config_nerf_dart_1 = require_dist11(); var error_1 = require_lib6(); var child_process_1 = require("child_process"); var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); function getAuthHeadersFromConfig({ allSettings, userSettings }) { const authHeaderValueByURI = {}; for (const [key, value] of Object.entries(allSettings)) { const [uri, authType] = splitKey(key); switch (authType) { case "_authToken": { authHeaderValueByURI[uri] = `Bearer ${value}`; continue; } case "_auth": { authHeaderValueByURI[uri] = `Basic ${value}`; continue; } case "username": { if (`${uri}:_password` in allSettings) { const password = Buffer.from(allSettings[`${uri}:_password`], "base64").toString("utf8"); authHeaderValueByURI[uri] = `Basic ${Buffer.from(`${value}:${password}`).toString("base64")}`; } } } } for (const [key, value] of Object.entries(userSettings)) { const [uri, authType] = splitKey(key); if (authType === "tokenHelper") { authHeaderValueByURI[uri] = loadToken(value, key); } } const registry = allSettings["registry"] ? (0, config_nerf_dart_1.nerfDart)(allSettings["registry"]) : "//registry.npmjs.org/"; if (userSettings["tokenHelper"]) { authHeaderValueByURI[registry] = loadToken(userSettings["tokenHelper"], "tokenHelper"); } else if (allSettings["_authToken"]) { authHeaderValueByURI[registry] = `Bearer ${allSettings["_authToken"]}`; } else if (allSettings["_auth"]) { authHeaderValueByURI[registry] = `Basic ${allSettings["_auth"]}`; } else if (allSettings["_password"] && allSettings["username"]) { authHeaderValueByURI[registry] = `Basic ${Buffer.from(`${allSettings["username"]}:${allSettings["_password"]}`).toString("base64")}`; } return authHeaderValueByURI; } function splitKey(key) { const index = key.lastIndexOf(":"); if (index === -1) { return [key, ""]; } return [key.slice(0, index), key.slice(index + 1)]; } function loadToken(helperPath, settingName) { if (!path_1.default.isAbsolute(helperPath) || !fs_1.default.existsSync(helperPath)) { throw new error_1.PnpmError("BAD_TOKEN_HELPER_PATH", `${settingName} must be an absolute path, without arguments`); } const spawnResult = (0, child_process_1.spawnSync)(helperPath, { shell: true }); if (spawnResult.status !== 0) { throw new error_1.PnpmError("TOKEN_HELPER_ERROR_STATUS", `Error running "${helperPath}" as a token helper, configured as ${settingName}. Exit code ${spawnResult.status?.toString() ?? ""}`); } return spawnResult.stdout.toString("utf8").trimEnd(); } } }); // ../network/auth-header/lib/helpers/removePort.js var require_removePort = __commonJS({ "../network/auth-header/lib/helpers/removePort.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.removePort = removePort; function removePort(urlObj) { if (urlObj.port === "") return urlObj.href; urlObj.port = ""; return urlObj.toString(); } } }); // ../network/auth-header/lib/index.js var require_lib76 = __commonJS({ "../network/auth-header/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.loadToken = void 0; exports2.createGetAuthHeaderByURI = createGetAuthHeaderByURI; var config_nerf_dart_1 = require_dist11(); var getAuthHeadersFromConfig_js_1 = require_getAuthHeadersFromConfig(); Object.defineProperty(exports2, "loadToken", { enumerable: true, get: function() { return getAuthHeadersFromConfig_js_1.loadToken; } }); var removePort_js_1 = require_removePort(); function createGetAuthHeaderByURI(opts) { const authHeaders = (0, getAuthHeadersFromConfig_js_1.getAuthHeadersFromConfig)({ allSettings: opts.allSettings, userSettings: opts.userSettings ?? {} }); if (Object.keys(authHeaders).length === 0) return (uri) => basicAuth(new URL(uri)); return getAuthHeaderByURI.bind(null, authHeaders, getMaxParts(Object.keys(authHeaders))); } function getMaxParts(uris) { return uris.reduce((max, uri) => { const parts = uri.split("/").length; return parts > max ? parts : max; }, 0); } function getAuthHeaderByURI(authHeaders, maxParts, uri) { if (!uri.endsWith("/")) { uri += "/"; } const parsedUri = new URL(uri); const basic = basicAuth(parsedUri); if (basic) return basic; const nerfed = (0, config_nerf_dart_1.nerfDart)(uri); const parts = nerfed.split("/"); for (let i = Math.min(parts.length, maxParts) - 1; i >= 3; i--) { const key = `${parts.slice(0, i).join("/")}/`; if (authHeaders[key]) return authHeaders[key]; } const urlWithoutPort = (0, removePort_js_1.removePort)(parsedUri); if (urlWithoutPort !== uri) { return getAuthHeaderByURI(authHeaders, maxParts, urlWithoutPort); } return void 0; } function basicAuth(uri) { if (!uri.username && !uri.password) return void 0; const auth64 = btoa(`${uri.username}:${uri.password}`); return `Basic ${auth64}`; } } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/constants.js var require_constants13 = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/constants.js"(exports2, module2) { module2.exports = { /* The local file header */ LOCHDR: 30, // LOC header size LOCSIG: 67324752, // "PK\003\004" LOCVER: 4, // version needed to extract LOCFLG: 6, // general purpose bit flag LOCHOW: 8, // compression method LOCTIM: 10, // modification time (2 bytes time, 2 bytes date) LOCCRC: 14, // uncompressed file crc-32 value LOCSIZ: 18, // compressed size LOCLEN: 22, // uncompressed size LOCNAM: 26, // filename length LOCEXT: 28, // extra field length /* The Data descriptor */ EXTSIG: 134695760, // "PK\007\008" EXTHDR: 16, // EXT header size EXTCRC: 4, // uncompressed file crc-32 value EXTSIZ: 8, // compressed size EXTLEN: 12, // uncompressed size /* The central directory file header */ CENHDR: 46, // CEN header size CENSIG: 33639248, // "PK\001\002" CENVEM: 4, // version made by CENVER: 6, // version needed to extract CENFLG: 8, // encrypt, decrypt flags CENHOW: 10, // compression method CENTIM: 12, // modification time (2 bytes time, 2 bytes date) CENCRC: 16, // uncompressed file crc-32 value CENSIZ: 20, // compressed size CENLEN: 24, // uncompressed size CENNAM: 28, // filename length CENEXT: 30, // extra field length CENCOM: 32, // file comment length CENDSK: 34, // volume number start CENATT: 36, // internal file attributes CENATX: 38, // external file attributes (host system dependent) CENOFF: 42, // LOC header offset /* The entries in the end of central directory */ ENDHDR: 22, // END header size ENDSIG: 101010256, // "PK\005\006" ENDSUB: 8, // number of entries on this disk ENDTOT: 10, // total number of entries ENDSIZ: 12, // central directory size in bytes ENDOFF: 16, // offset of first CEN header ENDCOM: 20, // zip file comment length END64HDR: 20, // zip64 END header size END64SIG: 117853008, // zip64 Locator signature, "PK\006\007" END64START: 4, // number of the disk with the start of the zip64 END64OFF: 8, // relative offset of the zip64 end of central directory END64NUMDISKS: 16, // total number of disks ZIP64SIG: 101075792, // zip64 signature, "PK\006\006" ZIP64HDR: 56, // zip64 record minimum size ZIP64LEAD: 12, // leading bytes at the start of the record, not counted by the value stored in ZIP64SIZE ZIP64SIZE: 4, // zip64 size of the central directory record ZIP64VEM: 12, // zip64 version made by ZIP64VER: 14, // zip64 version needed to extract ZIP64DSK: 16, // zip64 number of this disk ZIP64DSKDIR: 20, // number of the disk with the start of the record directory ZIP64SUB: 24, // number of entries on this disk ZIP64TOT: 32, // total number of entries ZIP64SIZB: 40, // zip64 central directory size in bytes ZIP64OFF: 48, // offset of start of central directory with respect to the starting disk number ZIP64EXTRA: 56, // extensible data sector /* Compression methods */ STORED: 0, // no compression SHRUNK: 1, // shrunk REDUCED1: 2, // reduced with compression factor 1 REDUCED2: 3, // reduced with compression factor 2 REDUCED3: 4, // reduced with compression factor 3 REDUCED4: 5, // reduced with compression factor 4 IMPLODED: 6, // imploded // 7 reserved for Tokenizing compression algorithm DEFLATED: 8, // deflated ENHANCED_DEFLATED: 9, // enhanced deflated PKWARE: 10, // PKWare DCL imploded // 11 reserved by PKWARE BZIP2: 12, // compressed using BZIP2 // 13 reserved by PKWARE LZMA: 14, // LZMA // 15-17 reserved by PKWARE IBM_TERSE: 18, // compressed using IBM TERSE IBM_LZ77: 19, // IBM LZ77 z AES_ENCRYPT: 99, // WinZIP AES encryption method /* General purpose bit flag */ // values can obtained with expression 2**bitnr FLG_ENC: 1, // Bit 0: encrypted file FLG_COMP1: 2, // Bit 1, compression option FLG_COMP2: 4, // Bit 2, compression option FLG_DESC: 8, // Bit 3, data descriptor FLG_ENH: 16, // Bit 4, enhanced deflating FLG_PATCH: 32, // Bit 5, indicates that the file is compressed patched data. FLG_STR: 64, // Bit 6, strong encryption (patented) // Bits 7-10: Currently unused. FLG_EFS: 2048, // Bit 11: Language encoding flag (EFS) // Bit 12: Reserved by PKWARE for enhanced compression. // Bit 13: encrypted the Central Directory (patented). // Bits 14-15: Reserved by PKWARE. FLG_MSK: 4096, // mask header values /* Load type */ FILE: 2, BUFFER: 1, NONE: 0, /* 4.5 Extensible data fields */ EF_ID: 0, EF_SIZE: 2, /* Header IDs */ ID_ZIP64: 1, ID_AVINFO: 7, ID_PFS: 8, ID_OS2: 9, ID_NTFS: 10, ID_OPENVMS: 12, ID_UNIX: 13, ID_FORK: 14, ID_PATCH: 15, ID_X509_PKCS7: 20, ID_X509_CERTID_F: 21, ID_X509_CERTID_C: 22, ID_STRONGENC: 23, ID_RECORD_MGT: 24, ID_X509_PKCS7_RL: 25, ID_IBM1: 101, ID_IBM2: 102, ID_POSZIP: 18064, EF_ZIP64_OR_32: 4294967295, EF_ZIP64_OR_16: 65535, EF_ZIP64_SUNCOMP: 0, EF_ZIP64_SCOMP: 8, EF_ZIP64_RHO: 16, EF_ZIP64_DSN: 24 }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/errors.js var require_errors5 = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/errors.js"(exports2) { var errors = { /* Header error messages */ INVALID_LOC: "Invalid LOC header (bad signature)", INVALID_CEN: "Invalid CEN header (bad signature)", INVALID_END: "Invalid END header (bad signature)", /* Descriptor */ DESCRIPTOR_NOT_EXIST: "No descriptor present", DESCRIPTOR_UNKNOWN: "Unknown descriptor format", DESCRIPTOR_FAULTY: "Descriptor data is malformed", /* ZipEntry error messages*/ NO_DATA: "Nothing to decompress", BAD_CRC: "CRC32 checksum failed {0}", FILE_IN_THE_WAY: "There is a file in the way: {0}", UNKNOWN_METHOD: "Invalid/unsupported compression method", /* Inflater error messages */ AVAIL_DATA: "inflate::Available inflate data did not terminate", INVALID_DISTANCE: "inflate::Invalid literal/length or distance code in fixed or dynamic block", TO_MANY_CODES: "inflate::Dynamic block code description: too many length or distance codes", INVALID_REPEAT_LEN: "inflate::Dynamic block code description: repeat more than specified lengths", INVALID_REPEAT_FIRST: "inflate::Dynamic block code description: repeat lengths with no first length", INCOMPLETE_CODES: "inflate::Dynamic block code description: code lengths codes incomplete", INVALID_DYN_DISTANCE: "inflate::Dynamic block code description: invalid distance code lengths", INVALID_CODES_LEN: "inflate::Dynamic block code description: invalid literal/length code lengths", INVALID_STORE_BLOCK: "inflate::Stored block length did not match one's complement", INVALID_BLOCK_TYPE: "inflate::Invalid block type (type == 3)", /* ADM-ZIP error messages */ CANT_EXTRACT_FILE: "Could not extract the file", CANT_OVERRIDE: "Target file already exists", DISK_ENTRY_TOO_LARGE: "Number of disk entries is too large", NO_ZIP: "No zip file was loaded", NO_ENTRY: "Entry doesn't exist", DIRECTORY_CONTENT_ERROR: "A directory cannot have content", FILE_NOT_FOUND: 'File not found: "{0}"', NOT_IMPLEMENTED: "Not implemented", INVALID_FILENAME: "Invalid filename", INVALID_FORMAT: "Invalid or unsupported zip format. No END header found", INVALID_PASS_PARAM: "Incompatible password parameter", WRONG_PASSWORD: "Wrong Password", /* ADM-ZIP */ COMMENT_TOO_LONG: "Comment is too long", // Comment can be max 65535 bytes long (NOTE: some non-US characters may take more space) EXTRA_FIELD_PARSE_ERROR: "Extra field parsing error" }; function E(message) { return function(...args) { if (args.length) { message = message.replace(/\{(\d)\}/g, (_, n) => args[n] || ""); } return new Error("ADM-ZIP: " + message); }; } for (const msg of Object.keys(errors)) { exports2[msg] = E(errors[msg]); } } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/utils.js var require_utils11 = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/utils.js"(exports2, module2) { var fsystem = require("fs"); var pth = require("path"); var Constants = require_constants13(); var Errors = require_errors5(); var isWin = typeof process === "object" && "win32" === process.platform; var is_Obj = (obj) => typeof obj === "object" && obj !== null; var crcTable = new Uint32Array(256).map((t, c) => { for (let k = 0; k < 8; k++) { if ((c & 1) !== 0) { c = 3988292384 ^ c >>> 1; } else { c >>>= 1; } } return c >>> 0; }); function Utils(opts) { this.sep = pth.sep; this.fs = fsystem; if (is_Obj(opts)) { if (is_Obj(opts.fs) && typeof opts.fs.statSync === "function") { this.fs = opts.fs; } } } module2.exports = Utils; Utils.prototype.makeDir = function(folder) { const self2 = this; function mkdirSync(fpath) { let resolvedPath = fpath.split(self2.sep)[0]; fpath.split(self2.sep).forEach(function(name) { if (!name || name.substr(-1, 1) === ":") return; resolvedPath += self2.sep + name; var stat; try { stat = self2.fs.statSync(resolvedPath); } catch (e) { self2.fs.mkdirSync(resolvedPath); } if (stat && stat.isFile()) throw Errors.FILE_IN_THE_WAY(`"${resolvedPath}"`); }); } mkdirSync(folder); }; Utils.prototype.writeFileTo = function(path2, content, overwrite, attr) { const self2 = this; if (self2.fs.existsSync(path2)) { if (!overwrite) return false; var stat = self2.fs.statSync(path2); if (stat.isDirectory()) { return false; } } var folder = pth.dirname(path2); if (!self2.fs.existsSync(folder)) { self2.makeDir(folder); } var fd; try { fd = self2.fs.openSync(path2, "w", 438); } catch (e) { self2.fs.chmodSync(path2, 438); fd = self2.fs.openSync(path2, "w", 438); } if (fd) { try { self2.fs.writeSync(fd, content, 0, content.length, 0); } finally { self2.fs.closeSync(fd); } } self2.fs.chmodSync(path2, attr || 438); return true; }; Utils.prototype.writeFileToAsync = function(path2, content, overwrite, attr, callback) { if (typeof attr === "function") { callback = attr; attr = void 0; } const self2 = this; self2.fs.exists(path2, function(exist) { if (exist && !overwrite) return callback(false); self2.fs.stat(path2, function(err, stat) { if (exist && stat.isDirectory()) { return callback(false); } var folder = pth.dirname(path2); self2.fs.exists(folder, function(exists) { if (!exists) self2.makeDir(folder); self2.fs.open(path2, "w", 438, function(err2, fd) { if (err2) { self2.fs.chmod(path2, 438, function() { self2.fs.open(path2, "w", 438, function(err3, fd2) { self2.fs.write(fd2, content, 0, content.length, 0, function() { self2.fs.close(fd2, function() { self2.fs.chmod(path2, attr || 438, function() { callback(true); }); }); }); }); }); } else if (fd) { self2.fs.write(fd, content, 0, content.length, 0, function() { self2.fs.close(fd, function() { self2.fs.chmod(path2, attr || 438, function() { callback(true); }); }); }); } else { self2.fs.chmod(path2, attr || 438, function() { callback(true); }); } }); }); }); }); }; Utils.prototype.findFiles = function(path2) { const self2 = this; function findSync(dir, pattern, recursive) { if (typeof pattern === "boolean") { recursive = pattern; pattern = void 0; } let files = []; self2.fs.readdirSync(dir).forEach(function(file) { const path3 = pth.join(dir, file); const stat = self2.fs.statSync(path3); if (!pattern || pattern.test(path3)) { files.push(pth.normalize(path3) + (stat.isDirectory() ? self2.sep : "")); } if (stat.isDirectory() && recursive) files = files.concat(findSync(path3, pattern, recursive)); }); return files; } return findSync(path2, void 0, true); }; Utils.prototype.findFilesAsync = function(dir, cb) { const self2 = this; let results = []; self2.fs.readdir(dir, function(err, list) { if (err) return cb(err); let list_length = list.length; if (!list_length) return cb(null, results); list.forEach(function(file) { file = pth.join(dir, file); self2.fs.stat(file, function(err2, stat) { if (err2) return cb(err2); if (stat) { results.push(pth.normalize(file) + (stat.isDirectory() ? self2.sep : "")); if (stat.isDirectory()) { self2.findFilesAsync(file, function(err3, res) { if (err3) return cb(err3); results = results.concat(res); if (!--list_length) cb(null, results); }); } else { if (!--list_length) cb(null, results); } } }); }); }); }; Utils.prototype.getAttributes = function() { }; Utils.prototype.setAttributes = function() { }; Utils.crc32update = function(crc, byte) { return crcTable[(crc ^ byte) & 255] ^ crc >>> 8; }; Utils.crc32 = function(buf) { if (typeof buf === "string") { buf = Buffer.from(buf, "utf8"); } let len = buf.length; let crc = ~0; for (let off = 0; off < len; ) crc = Utils.crc32update(crc, buf[off++]); return ~crc >>> 0; }; Utils.methodToString = function(method) { switch (method) { case Constants.STORED: return "STORED (" + method + ")"; case Constants.DEFLATED: return "DEFLATED (" + method + ")"; default: return "UNSUPPORTED (" + method + ")"; } }; Utils.canonical = function(path2) { if (!path2) return ""; const safeSuffix = pth.posix.normalize("/" + path2.split("\\").join("/")); return pth.join(".", safeSuffix); }; Utils.zipnamefix = function(path2) { if (!path2) return ""; const safeSuffix = pth.posix.normalize("/" + path2.split("\\").join("/")); return pth.posix.join(".", safeSuffix); }; Utils.findLast = function(arr, callback) { if (!Array.isArray(arr)) throw new TypeError("arr is not array"); const len = arr.length >>> 0; for (let i = len - 1; i >= 0; i--) { if (callback(arr[i], i, arr)) { return arr[i]; } } return void 0; }; Utils.sanitize = function(prefix, name) { prefix = pth.resolve(pth.normalize(prefix)); var parts = name.split("/"); for (var i = 0, l = parts.length; i < l; i++) { var path2 = pth.normalize(pth.join(prefix, parts.slice(i, l).join(pth.sep))); if (path2.indexOf(prefix) === 0) { return path2; } } return pth.normalize(pth.join(prefix, pth.basename(name))); }; Utils.toBuffer = function toBuffer(input, encoder) { if (Buffer.isBuffer(input)) { return input; } else if (input instanceof Uint8Array) { return Buffer.from(input); } else { return typeof input === "string" ? encoder(input) : Buffer.alloc(0); } }; Utils.readBigUInt64LE = function(buffer, index) { var slice = Buffer.from(buffer.slice(index, index + 8)); slice.swap64(); return parseInt(`0x${slice.toString("hex")}`); }; Utils.fromDOS2Date = function(val) { return new Date((val >> 25 & 127) + 1980, Math.max((val >> 21 & 15) - 1, 0), Math.max(val >> 16 & 31, 1), val >> 11 & 31, val >> 5 & 63, (val & 31) << 1); }; Utils.fromDate2DOS = function(val) { let date = 0; let time = 0; if (val.getFullYear() > 1979) { date = (val.getFullYear() - 1980 & 127) << 9 | val.getMonth() + 1 << 5 | val.getDate(); time = val.getHours() << 11 | val.getMinutes() << 5 | val.getSeconds() >> 1; } return date << 16 | time; }; Utils.isWin = isWin; Utils.crcTable = crcTable; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/fattr.js var require_fattr = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/fattr.js"(exports2, module2) { var pth = require("path"); module2.exports = function(path2, { fs }) { var _path = path2 || "", _obj = newAttr(), _stat = null; function newAttr() { return { directory: false, readonly: false, hidden: false, executable: false, mtime: 0, atime: 0 }; } if (_path && fs.existsSync(_path)) { _stat = fs.statSync(_path); _obj.directory = _stat.isDirectory(); _obj.mtime = _stat.mtime; _obj.atime = _stat.atime; _obj.executable = (73 & _stat.mode) !== 0; _obj.readonly = (128 & _stat.mode) === 0; _obj.hidden = pth.basename(_path)[0] === "."; } else { console.warn("Invalid path: " + _path); } return { get directory() { return _obj.directory; }, get readOnly() { return _obj.readonly; }, get hidden() { return _obj.hidden; }, get mtime() { return _obj.mtime; }, get atime() { return _obj.atime; }, get executable() { return _obj.executable; }, decodeAttributes: function() { }, encodeAttributes: function() { }, toJSON: function() { return { path: _path, isDirectory: _obj.directory, isReadOnly: _obj.readonly, isHidden: _obj.hidden, isExecutable: _obj.executable, mTime: _obj.mtime, aTime: _obj.atime }; }, toString: function() { return JSON.stringify(this.toJSON(), null, " "); } }; }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/decoder.js var require_decoder = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/decoder.js"(exports2, module2) { module2.exports = { efs: true, encode: (data) => Buffer.from(data, "utf8"), decode: (data) => data.toString("utf8") }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/index.js var require_util7 = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/index.js"(exports2, module2) { module2.exports = require_utils11(); module2.exports.Constants = require_constants13(); module2.exports.Errors = require_errors5(); module2.exports.FileAttr = require_fattr(); module2.exports.decoder = require_decoder(); } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/entryHeader.js var require_entryHeader = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/entryHeader.js"(exports2, module2) { var Utils = require_util7(); var Constants = Utils.Constants; module2.exports = function() { var _verMade = 20, _version = 10, _flags = 0, _method = 0, _time = 0, _crc = 0, _compressedSize = 0, _size = 0, _fnameLen = 0, _extraLen = 0, _comLen = 0, _diskStart = 0, _inattr = 0, _attr = 0, _offset = 0; _verMade |= Utils.isWin ? 2560 : 768; _flags |= Constants.FLG_EFS; const _localHeader = { extraLen: 0 }; const uint32 = (val) => Math.max(0, val) >>> 0; const uint16 = (val) => Math.max(0, val) & 65535; const uint8 = (val) => Math.max(0, val) & 255; _time = Utils.fromDate2DOS(/* @__PURE__ */ new Date()); return { get made() { return _verMade; }, set made(val) { _verMade = val; }, get version() { return _version; }, set version(val) { _version = val; }, get flags() { return _flags; }, set flags(val) { _flags = val; }, get flags_efs() { return (_flags & Constants.FLG_EFS) > 0; }, set flags_efs(val) { if (val) { _flags |= Constants.FLG_EFS; } else { _flags &= ~Constants.FLG_EFS; } }, get flags_desc() { return (_flags & Constants.FLG_DESC) > 0; }, set flags_desc(val) { if (val) { _flags |= Constants.FLG_DESC; } else { _flags &= ~Constants.FLG_DESC; } }, get method() { return _method; }, set method(val) { switch (val) { case Constants.STORED: this.version = 10; case Constants.DEFLATED: default: this.version = 20; } _method = val; }, get time() { return Utils.fromDOS2Date(this.timeval); }, set time(val) { this.timeval = Utils.fromDate2DOS(val); }, get timeval() { return _time; }, set timeval(val) { _time = uint32(val); }, get timeHighByte() { return uint8(_time >>> 8); }, get crc() { return _crc; }, set crc(val) { _crc = uint32(val); }, get compressedSize() { return _compressedSize; }, set compressedSize(val) { _compressedSize = uint32(val); }, get size() { return _size; }, set size(val) { _size = uint32(val); }, get fileNameLength() { return _fnameLen; }, set fileNameLength(val) { _fnameLen = val; }, get extraLength() { return _extraLen; }, set extraLength(val) { _extraLen = val; }, get extraLocalLength() { return _localHeader.extraLen; }, set extraLocalLength(val) { _localHeader.extraLen = val; }, get commentLength() { return _comLen; }, set commentLength(val) { _comLen = val; }, get diskNumStart() { return _diskStart; }, set diskNumStart(val) { _diskStart = uint32(val); }, get inAttr() { return _inattr; }, set inAttr(val) { _inattr = uint32(val); }, get attr() { return _attr; }, set attr(val) { _attr = uint32(val); }, // get Unix file permissions get fileAttr() { return (_attr || 0) >> 16 & 4095; }, get offset() { return _offset; }, set offset(val) { _offset = uint32(val); }, get encrypted() { return (_flags & Constants.FLG_ENC) === Constants.FLG_ENC; }, get centralHeaderSize() { return Constants.CENHDR + _fnameLen + _extraLen + _comLen; }, get realDataOffset() { return _offset + Constants.LOCHDR + _localHeader.fnameLen + _localHeader.extraLen; }, get localHeader() { return _localHeader; }, loadLocalHeaderFromBinary: function(input) { var data = input.slice(_offset, _offset + Constants.LOCHDR); if (data.readUInt32LE(0) !== Constants.LOCSIG) { throw Utils.Errors.INVALID_LOC(); } _localHeader.version = data.readUInt16LE(Constants.LOCVER); _localHeader.flags = data.readUInt16LE(Constants.LOCFLG); _localHeader.method = data.readUInt16LE(Constants.LOCHOW); _localHeader.time = data.readUInt32LE(Constants.LOCTIM); _localHeader.crc = data.readUInt32LE(Constants.LOCCRC); _localHeader.compressedSize = data.readUInt32LE(Constants.LOCSIZ); _localHeader.size = data.readUInt32LE(Constants.LOCLEN); _localHeader.fnameLen = data.readUInt16LE(Constants.LOCNAM); _localHeader.extraLen = data.readUInt16LE(Constants.LOCEXT); const extraStart = _offset + Constants.LOCHDR + _localHeader.fnameLen; const extraEnd = extraStart + _localHeader.extraLen; return input.slice(extraStart, extraEnd); }, loadFromBinary: function(data) { if (data.length !== Constants.CENHDR || data.readUInt32LE(0) !== Constants.CENSIG) { throw Utils.Errors.INVALID_CEN(); } _verMade = data.readUInt16LE(Constants.CENVEM); _version = data.readUInt16LE(Constants.CENVER); _flags = data.readUInt16LE(Constants.CENFLG); _method = data.readUInt16LE(Constants.CENHOW); _time = data.readUInt32LE(Constants.CENTIM); _crc = data.readUInt32LE(Constants.CENCRC); _compressedSize = data.readUInt32LE(Constants.CENSIZ); _size = data.readUInt32LE(Constants.CENLEN); _fnameLen = data.readUInt16LE(Constants.CENNAM); _extraLen = data.readUInt16LE(Constants.CENEXT); _comLen = data.readUInt16LE(Constants.CENCOM); _diskStart = data.readUInt16LE(Constants.CENDSK); _inattr = data.readUInt16LE(Constants.CENATT); _attr = data.readUInt32LE(Constants.CENATX); _offset = data.readUInt32LE(Constants.CENOFF); }, localHeaderToBinary: function() { var data = Buffer.alloc(Constants.LOCHDR); data.writeUInt32LE(Constants.LOCSIG, 0); data.writeUInt16LE(_version, Constants.LOCVER); data.writeUInt16LE(_flags, Constants.LOCFLG); data.writeUInt16LE(_method, Constants.LOCHOW); data.writeUInt32LE(_time, Constants.LOCTIM); data.writeUInt32LE(_crc, Constants.LOCCRC); data.writeUInt32LE(_compressedSize, Constants.LOCSIZ); data.writeUInt32LE(_size, Constants.LOCLEN); data.writeUInt16LE(_fnameLen, Constants.LOCNAM); data.writeUInt16LE(_localHeader.extraLen, Constants.LOCEXT); return data; }, centralHeaderToBinary: function() { var data = Buffer.alloc(Constants.CENHDR + _fnameLen + _extraLen + _comLen); data.writeUInt32LE(Constants.CENSIG, 0); data.writeUInt16LE(_verMade, Constants.CENVEM); data.writeUInt16LE(_version, Constants.CENVER); data.writeUInt16LE(_flags, Constants.CENFLG); data.writeUInt16LE(_method, Constants.CENHOW); data.writeUInt32LE(_time, Constants.CENTIM); data.writeUInt32LE(_crc, Constants.CENCRC); data.writeUInt32LE(_compressedSize, Constants.CENSIZ); data.writeUInt32LE(_size, Constants.CENLEN); data.writeUInt16LE(_fnameLen, Constants.CENNAM); data.writeUInt16LE(_extraLen, Constants.CENEXT); data.writeUInt16LE(_comLen, Constants.CENCOM); data.writeUInt16LE(_diskStart, Constants.CENDSK); data.writeUInt16LE(_inattr, Constants.CENATT); data.writeUInt32LE(_attr, Constants.CENATX); data.writeUInt32LE(_offset, Constants.CENOFF); return data; }, toJSON: function() { const bytes = function(nr) { return nr + " bytes"; }; return { made: _verMade, version: _version, flags: _flags, method: Utils.methodToString(_method), time: this.time, crc: "0x" + _crc.toString(16).toUpperCase(), compressedSize: bytes(_compressedSize), size: bytes(_size), fileNameLength: bytes(_fnameLen), extraLength: bytes(_extraLen), commentLength: bytes(_comLen), diskNumStart: _diskStart, inAttr: _inattr, attr: _attr, offset: _offset, centralHeaderSize: bytes(Constants.CENHDR + _fnameLen + _extraLen + _comLen) }; }, toString: function() { return JSON.stringify(this.toJSON(), null, " "); } }; }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/mainHeader.js var require_mainHeader = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/mainHeader.js"(exports2, module2) { var Utils = require_util7(); var Constants = Utils.Constants; module2.exports = function() { var _volumeEntries = 0, _totalEntries = 0, _size = 0, _offset = 0, _commentLength = 0; return { get diskEntries() { return _volumeEntries; }, set diskEntries(val) { _volumeEntries = _totalEntries = val; }, get totalEntries() { return _totalEntries; }, set totalEntries(val) { _totalEntries = _volumeEntries = val; }, get size() { return _size; }, set size(val) { _size = val; }, get offset() { return _offset; }, set offset(val) { _offset = val; }, get commentLength() { return _commentLength; }, set commentLength(val) { _commentLength = val; }, get mainHeaderSize() { return Constants.ENDHDR + _commentLength; }, loadFromBinary: function(data) { if ((data.length !== Constants.ENDHDR || data.readUInt32LE(0) !== Constants.ENDSIG) && (data.length < Constants.ZIP64HDR || data.readUInt32LE(0) !== Constants.ZIP64SIG)) { throw Utils.Errors.INVALID_END(); } if (data.readUInt32LE(0) === Constants.ENDSIG) { _volumeEntries = data.readUInt16LE(Constants.ENDSUB); _totalEntries = data.readUInt16LE(Constants.ENDTOT); _size = data.readUInt32LE(Constants.ENDSIZ); _offset = data.readUInt32LE(Constants.ENDOFF); _commentLength = data.readUInt16LE(Constants.ENDCOM); } else { _volumeEntries = Utils.readBigUInt64LE(data, Constants.ZIP64SUB); _totalEntries = Utils.readBigUInt64LE(data, Constants.ZIP64TOT); _size = Utils.readBigUInt64LE(data, Constants.ZIP64SIZE); _offset = Utils.readBigUInt64LE(data, Constants.ZIP64OFF); _commentLength = 0; } }, toBinary: function() { var b = Buffer.alloc(Constants.ENDHDR + _commentLength); b.writeUInt32LE(Constants.ENDSIG, 0); b.writeUInt32LE(0, 4); b.writeUInt16LE(_volumeEntries, Constants.ENDSUB); b.writeUInt16LE(_totalEntries, Constants.ENDTOT); b.writeUInt32LE(_size, Constants.ENDSIZ); b.writeUInt32LE(_offset, Constants.ENDOFF); b.writeUInt16LE(_commentLength, Constants.ENDCOM); b.fill(" ", Constants.ENDHDR); return b; }, toJSON: function() { const offset = function(nr, len) { let offs = nr.toString(16).toUpperCase(); while (offs.length < len) offs = "0" + offs; return "0x" + offs; }; return { diskEntries: _volumeEntries, totalEntries: _totalEntries, size: _size + " bytes", offset: offset(_offset, 4), commentLength: _commentLength }; }, toString: function() { return JSON.stringify(this.toJSON(), null, " "); } }; }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/index.js var require_headers = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/index.js"(exports2) { exports2.EntryHeader = require_entryHeader(); exports2.MainHeader = require_mainHeader(); } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/deflater.js var require_deflater = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/deflater.js"(exports2, module2) { module2.exports = function(inbuf) { var zlib = require("zlib"); var opts = { chunkSize: (parseInt(inbuf.length / 1024) + 1) * 1024 }; return { deflate: function() { return zlib.deflateRawSync(inbuf, opts); }, deflateAsync: function(callback) { var tmp = zlib.createDeflateRaw(opts), parts = [], total = 0; tmp.on("data", function(data) { parts.push(data); total += data.length; }); tmp.on("end", function() { var buf = Buffer.alloc(total), written = 0; buf.fill(0); for (var i = 0; i < parts.length; i++) { var part = parts[i]; part.copy(buf, written); written += part.length; } callback && callback(buf); }); tmp.end(inbuf); } }; }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/inflater.js var require_inflater = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/inflater.js"(exports2, module2) { var version2 = +(process.versions ? process.versions.node : "").split(".")[0] || 0; module2.exports = function(inbuf, expectedLength) { var zlib = require("zlib"); const option = version2 >= 15 && expectedLength > 0 ? { maxOutputLength: expectedLength } : {}; return { inflate: function() { return zlib.inflateRawSync(inbuf, option); }, inflateAsync: function(callback) { var tmp = zlib.createInflateRaw(option), parts = [], total = 0; tmp.on("data", function(data) { parts.push(data); total += data.length; }); tmp.on("end", function() { var buf = Buffer.alloc(total), written = 0; buf.fill(0); for (var i = 0; i < parts.length; i++) { var part = parts[i]; part.copy(buf, written); written += part.length; } callback && callback(buf); }); tmp.end(inbuf); } }; }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/zipcrypto.js var require_zipcrypto = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/zipcrypto.js"(exports2, module2) { "use strict"; var { randomFillSync } = require("crypto"); var Errors = require_errors5(); var crctable = new Uint32Array(256).map((t, crc) => { for (let j = 0; j < 8; j++) { if (0 !== (crc & 1)) { crc = crc >>> 1 ^ 3988292384; } else { crc >>>= 1; } } return crc >>> 0; }); var uMul = (a, b) => Math.imul(a, b) >>> 0; var crc32update = (pCrc32, bval) => { return crctable[(pCrc32 ^ bval) & 255] ^ pCrc32 >>> 8; }; var genSalt = () => { if ("function" === typeof randomFillSync) { return randomFillSync(Buffer.alloc(12)); } else { return genSalt.node(); } }; genSalt.node = () => { const salt = Buffer.alloc(12); const len = salt.length; for (let i = 0; i < len; i++) salt[i] = Math.random() * 256 & 255; return salt; }; var config = { genSalt }; function Initkeys(pw) { const pass = Buffer.isBuffer(pw) ? pw : Buffer.from(pw); this.keys = new Uint32Array([305419896, 591751049, 878082192]); for (let i = 0; i < pass.length; i++) { this.updateKeys(pass[i]); } } Initkeys.prototype.updateKeys = function(byteValue) { const keys = this.keys; keys[0] = crc32update(keys[0], byteValue); keys[1] += keys[0] & 255; keys[1] = uMul(keys[1], 134775813) + 1; keys[2] = crc32update(keys[2], keys[1] >>> 24); return byteValue; }; Initkeys.prototype.next = function() { const k = (this.keys[2] | 2) >>> 0; return uMul(k, k ^ 1) >> 8 & 255; }; function make_decrypter(pwd) { const keys = new Initkeys(pwd); return function(data) { const result2 = Buffer.alloc(data.length); let pos = 0; for (let c of data) { result2[pos++] = keys.updateKeys(c ^ keys.next()); } return result2; }; } function make_encrypter(pwd) { const keys = new Initkeys(pwd); return function(data, result2, pos = 0) { if (!result2) result2 = Buffer.alloc(data.length); for (let c of data) { const k = keys.next(); result2[pos++] = c ^ k; keys.updateKeys(c); } return result2; }; } function decrypt(data, header, pwd) { if (!data || !Buffer.isBuffer(data) || data.length < 12) { return Buffer.alloc(0); } const decrypter = make_decrypter(pwd); const salt = decrypter(data.slice(0, 12)); const verifyByte = (header.flags & 8) === 8 ? header.timeHighByte : header.crc >>> 24; if (salt[11] !== verifyByte) { throw Errors.WRONG_PASSWORD(); } return decrypter(data.slice(12)); } function _salter(data) { if (Buffer.isBuffer(data) && data.length >= 12) { config.genSalt = function() { return data.slice(0, 12); }; } else if (data === "node") { config.genSalt = genSalt.node; } else { config.genSalt = genSalt; } } function encrypt(data, header, pwd, oldlike = false) { if (data == null) data = Buffer.alloc(0); if (!Buffer.isBuffer(data)) data = Buffer.from(data.toString()); const encrypter = make_encrypter(pwd); const salt = config.genSalt(); salt[11] = header.crc >>> 24 & 255; if (oldlike) salt[10] = header.crc >>> 16 & 255; const result2 = Buffer.alloc(data.length + 12); encrypter(salt, result2); return encrypter(data, result2, 12); } module2.exports = { decrypt, encrypt, _salter }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/index.js var require_methods = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/index.js"(exports2) { exports2.Deflater = require_deflater(); exports2.Inflater = require_inflater(); exports2.ZipCrypto = require_zipcrypto(); } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/zipEntry.js var require_zipEntry = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/zipEntry.js"(exports2, module2) { var Utils = require_util7(); var Headers = require_headers(); var Constants = Utils.Constants; var Methods = require_methods(); module2.exports = function(options, input) { var _centralHeader = new Headers.EntryHeader(), _entryName = Buffer.alloc(0), _comment = Buffer.alloc(0), _isDirectory = false, uncompressedData = null, _extra = Buffer.alloc(0), _extralocal = Buffer.alloc(0), _efs = true; const opts = options; const decoder = typeof opts.decoder === "object" ? opts.decoder : Utils.decoder; _efs = decoder.hasOwnProperty("efs") ? decoder.efs : false; function getCompressedDataFromZip() { if (!input || !(input instanceof Uint8Array)) { return Buffer.alloc(0); } _extralocal = _centralHeader.loadLocalHeaderFromBinary(input); return input.slice(_centralHeader.realDataOffset, _centralHeader.realDataOffset + _centralHeader.compressedSize); } function crc32OK(data) { if (!_centralHeader.flags_desc) { if (Utils.crc32(data) !== _centralHeader.localHeader.crc) { return false; } } else { const descriptor = {}; const dataEndOffset = _centralHeader.realDataOffset + _centralHeader.compressedSize; if (input.readUInt32LE(dataEndOffset) == Constants.LOCSIG || input.readUInt32LE(dataEndOffset) == Constants.CENSIG) { throw Utils.Errors.DESCRIPTOR_NOT_EXIST(); } if (input.readUInt32LE(dataEndOffset) == Constants.EXTSIG) { descriptor.crc = input.readUInt32LE(dataEndOffset + Constants.EXTCRC); descriptor.compressedSize = input.readUInt32LE(dataEndOffset + Constants.EXTSIZ); descriptor.size = input.readUInt32LE(dataEndOffset + Constants.EXTLEN); } else if (input.readUInt16LE(dataEndOffset + 12) === 19280) { descriptor.crc = input.readUInt32LE(dataEndOffset + Constants.EXTCRC - 4); descriptor.compressedSize = input.readUInt32LE(dataEndOffset + Constants.EXTSIZ - 4); descriptor.size = input.readUInt32LE(dataEndOffset + Constants.EXTLEN - 4); } else { throw Utils.Errors.DESCRIPTOR_UNKNOWN(); } if (descriptor.compressedSize !== _centralHeader.compressedSize || descriptor.size !== _centralHeader.size || descriptor.crc !== _centralHeader.crc) { throw Utils.Errors.DESCRIPTOR_FAULTY(); } if (Utils.crc32(data) !== descriptor.crc) { return false; } } return true; } function decompress(async, callback, pass) { if (typeof callback === "undefined" && typeof async === "string") { pass = async; async = void 0; } if (_isDirectory) { if (async && callback) { callback(Buffer.alloc(0), Utils.Errors.DIRECTORY_CONTENT_ERROR()); } return Buffer.alloc(0); } var compressedData = getCompressedDataFromZip(); if (compressedData.length === 0) { if (async && callback) callback(compressedData); return compressedData; } if (_centralHeader.encrypted) { if ("string" !== typeof pass && !Buffer.isBuffer(pass)) { throw Utils.Errors.INVALID_PASS_PARAM(); } compressedData = Methods.ZipCrypto.decrypt(compressedData, _centralHeader, pass); } var data = Buffer.alloc(_centralHeader.size); switch (_centralHeader.method) { case Utils.Constants.STORED: compressedData.copy(data); if (!crc32OK(data)) { if (async && callback) callback(data, Utils.Errors.BAD_CRC()); throw Utils.Errors.BAD_CRC(); } else { if (async && callback) callback(data); return data; } case Utils.Constants.DEFLATED: var inflater = new Methods.Inflater(compressedData, _centralHeader.size); if (!async) { const result2 = inflater.inflate(data); result2.copy(data, 0); if (!crc32OK(data)) { throw Utils.Errors.BAD_CRC(`"${decoder.decode(_entryName)}"`); } return data; } else { inflater.inflateAsync(function(result2) { result2.copy(result2, 0); if (callback) { if (!crc32OK(result2)) { callback(result2, Utils.Errors.BAD_CRC()); } else { callback(result2); } } }); } break; default: if (async && callback) callback(Buffer.alloc(0), Utils.Errors.UNKNOWN_METHOD()); throw Utils.Errors.UNKNOWN_METHOD(); } } function compress(async, callback) { if ((!uncompressedData || !uncompressedData.length) && Buffer.isBuffer(input)) { if (async && callback) callback(getCompressedDataFromZip()); return getCompressedDataFromZip(); } if (uncompressedData.length && !_isDirectory) { var compressedData; switch (_centralHeader.method) { case Utils.Constants.STORED: _centralHeader.compressedSize = _centralHeader.size; compressedData = Buffer.alloc(uncompressedData.length); uncompressedData.copy(compressedData); if (async && callback) callback(compressedData); return compressedData; default: case Utils.Constants.DEFLATED: var deflater = new Methods.Deflater(uncompressedData); if (!async) { var deflated = deflater.deflate(); _centralHeader.compressedSize = deflated.length; return deflated; } else { deflater.deflateAsync(function(data) { compressedData = Buffer.alloc(data.length); _centralHeader.compressedSize = data.length; data.copy(compressedData); callback && callback(compressedData); }); } deflater = null; break; } } else if (async && callback) { callback(Buffer.alloc(0)); } else { return Buffer.alloc(0); } } function readUInt64LE(buffer, offset) { return (buffer.readUInt32LE(offset + 4) << 4) + buffer.readUInt32LE(offset); } function parseExtra(data) { try { var offset = 0; var signature, size, part; while (offset + 4 < data.length) { signature = data.readUInt16LE(offset); offset += 2; size = data.readUInt16LE(offset); offset += 2; part = data.slice(offset, offset + size); offset += size; if (Constants.ID_ZIP64 === signature) { parseZip64ExtendedInformation(part); } } } catch (error) { throw Utils.Errors.EXTRA_FIELD_PARSE_ERROR(); } } function parseZip64ExtendedInformation(data) { var size, compressedSize, offset, diskNumStart; if (data.length >= Constants.EF_ZIP64_SCOMP) { size = readUInt64LE(data, Constants.EF_ZIP64_SUNCOMP); if (_centralHeader.size === Constants.EF_ZIP64_OR_32) { _centralHeader.size = size; } } if (data.length >= Constants.EF_ZIP64_RHO) { compressedSize = readUInt64LE(data, Constants.EF_ZIP64_SCOMP); if (_centralHeader.compressedSize === Constants.EF_ZIP64_OR_32) { _centralHeader.compressedSize = compressedSize; } } if (data.length >= Constants.EF_ZIP64_DSN) { offset = readUInt64LE(data, Constants.EF_ZIP64_RHO); if (_centralHeader.offset === Constants.EF_ZIP64_OR_32) { _centralHeader.offset = offset; } } if (data.length >= Constants.EF_ZIP64_DSN + 4) { diskNumStart = data.readUInt32LE(Constants.EF_ZIP64_DSN); if (_centralHeader.diskNumStart === Constants.EF_ZIP64_OR_16) { _centralHeader.diskNumStart = diskNumStart; } } } return { get entryName() { return decoder.decode(_entryName); }, get rawEntryName() { return _entryName; }, set entryName(val) { _entryName = Utils.toBuffer(val, decoder.encode); var lastChar = _entryName[_entryName.length - 1]; _isDirectory = lastChar === 47 || lastChar === 92; _centralHeader.fileNameLength = _entryName.length; }, get efs() { if (typeof _efs === "function") { return _efs(this.entryName); } else { return _efs; } }, get extra() { return _extra; }, set extra(val) { _extra = val; _centralHeader.extraLength = val.length; parseExtra(val); }, get comment() { return decoder.decode(_comment); }, set comment(val) { _comment = Utils.toBuffer(val, decoder.encode); _centralHeader.commentLength = _comment.length; if (_comment.length > 65535) throw Utils.Errors.COMMENT_TOO_LONG(); }, get name() { var n = decoder.decode(_entryName); return _isDirectory ? n.substr(n.length - 1).split("/").pop() : n.split("/").pop(); }, get isDirectory() { return _isDirectory; }, getCompressedData: function() { return compress(false, null); }, getCompressedDataAsync: function(callback) { compress(true, callback); }, setData: function(value) { uncompressedData = Utils.toBuffer(value, Utils.decoder.encode); if (!_isDirectory && uncompressedData.length) { _centralHeader.size = uncompressedData.length; _centralHeader.method = Utils.Constants.DEFLATED; _centralHeader.crc = Utils.crc32(value); _centralHeader.changed = true; } else { _centralHeader.method = Utils.Constants.STORED; } }, getData: function(pass) { if (_centralHeader.changed) { return uncompressedData; } else { return decompress(false, null, pass); } }, getDataAsync: function(callback, pass) { if (_centralHeader.changed) { callback(uncompressedData); } else { decompress(true, callback, pass); } }, set attr(attr) { _centralHeader.attr = attr; }, get attr() { return _centralHeader.attr; }, set header(data) { _centralHeader.loadFromBinary(data); }, get header() { return _centralHeader; }, packCentralHeader: function() { _centralHeader.flags_efs = this.efs; _centralHeader.extraLength = _extra.length; var header = _centralHeader.centralHeaderToBinary(); var addpos = Utils.Constants.CENHDR; _entryName.copy(header, addpos); addpos += _entryName.length; _extra.copy(header, addpos); addpos += _centralHeader.extraLength; _comment.copy(header, addpos); return header; }, packLocalHeader: function() { let addpos = 0; _centralHeader.flags_efs = this.efs; _centralHeader.extraLocalLength = _extralocal.length; const localHeaderBuf = _centralHeader.localHeaderToBinary(); const localHeader = Buffer.alloc(localHeaderBuf.length + _entryName.length + _centralHeader.extraLocalLength); localHeaderBuf.copy(localHeader, addpos); addpos += localHeaderBuf.length; _entryName.copy(localHeader, addpos); addpos += _entryName.length; _extralocal.copy(localHeader, addpos); addpos += _extralocal.length; return localHeader; }, toJSON: function() { const bytes = function(nr) { return "<" + (nr && nr.length + " bytes buffer" || "null") + ">"; }; return { entryName: this.entryName, name: this.name, comment: this.comment, isDirectory: this.isDirectory, header: _centralHeader.toJSON(), compressedData: bytes(input), data: bytes(uncompressedData) }; }, toString: function() { return JSON.stringify(this.toJSON(), null, " "); } }; }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/zipFile.js var require_zipFile = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/zipFile.js"(exports2, module2) { var ZipEntry = require_zipEntry(); var Headers = require_headers(); var Utils = require_util7(); module2.exports = function(inBuffer, options) { var entryList = [], entryTable = {}, _comment = Buffer.alloc(0), mainHeader = new Headers.MainHeader(), loadedEntries = false; var password = null; const temporary = /* @__PURE__ */ new Set(); const opts = options; const { noSort, decoder } = opts; if (inBuffer) { readMainHeader(opts.readEntries); } else { loadedEntries = true; } function makeTemporaryFolders() { const foldersList = /* @__PURE__ */ new Set(); for (const elem of Object.keys(entryTable)) { const elements = elem.split("/"); elements.pop(); if (!elements.length) continue; for (let i = 0; i < elements.length; i++) { const sub = elements.slice(0, i + 1).join("/") + "/"; foldersList.add(sub); } } for (const elem of foldersList) { if (!(elem in entryTable)) { const tempfolder = new ZipEntry(opts); tempfolder.entryName = elem; tempfolder.attr = 16; tempfolder.temporary = true; entryList.push(tempfolder); entryTable[tempfolder.entryName] = tempfolder; temporary.add(tempfolder); } } } function readEntries() { loadedEntries = true; entryTable = {}; if (mainHeader.diskEntries > (inBuffer.length - mainHeader.offset) / Utils.Constants.CENHDR) { throw Utils.Errors.DISK_ENTRY_TOO_LARGE(); } entryList = new Array(mainHeader.diskEntries); var index = mainHeader.offset; for (var i = 0; i < entryList.length; i++) { var tmp = index, entry = new ZipEntry(opts, inBuffer); entry.header = inBuffer.slice(tmp, tmp += Utils.Constants.CENHDR); entry.entryName = inBuffer.slice(tmp, tmp += entry.header.fileNameLength); if (entry.header.extraLength) { entry.extra = inBuffer.slice(tmp, tmp += entry.header.extraLength); } if (entry.header.commentLength) entry.comment = inBuffer.slice(tmp, tmp + entry.header.commentLength); index += entry.header.centralHeaderSize; entryList[i] = entry; entryTable[entry.entryName] = entry; } temporary.clear(); makeTemporaryFolders(); } function readMainHeader(readNow) { var i = inBuffer.length - Utils.Constants.ENDHDR, max = Math.max(0, i - 65535), n = max, endStart = inBuffer.length, endOffset = -1, commentEnd = 0; const trailingSpace = typeof opts.trailingSpace === "boolean" ? opts.trailingSpace : false; if (trailingSpace) max = 0; for (i; i >= n; i--) { if (inBuffer[i] !== 80) continue; if (inBuffer.readUInt32LE(i) === Utils.Constants.ENDSIG) { endOffset = i; commentEnd = i; endStart = i + Utils.Constants.ENDHDR; n = i - Utils.Constants.END64HDR; continue; } if (inBuffer.readUInt32LE(i) === Utils.Constants.END64SIG) { n = max; continue; } if (inBuffer.readUInt32LE(i) === Utils.Constants.ZIP64SIG) { endOffset = i; endStart = i + Utils.readBigUInt64LE(inBuffer, i + Utils.Constants.ZIP64SIZE) + Utils.Constants.ZIP64LEAD; break; } } if (endOffset == -1) throw Utils.Errors.INVALID_FORMAT(); mainHeader.loadFromBinary(inBuffer.slice(endOffset, endStart)); if (mainHeader.commentLength) { _comment = inBuffer.slice(commentEnd + Utils.Constants.ENDHDR); } if (readNow) readEntries(); } function sortEntries() { if (entryList.length > 1 && !noSort) { entryList.sort((a, b) => a.entryName.toLowerCase().localeCompare(b.entryName.toLowerCase())); } } return { /** * Returns an array of ZipEntry objects existent in the current opened archive * @return Array */ get entries() { if (!loadedEntries) { readEntries(); } return entryList.filter((e) => !temporary.has(e)); }, /** * Archive comment * @return {String} */ get comment() { return decoder.decode(_comment); }, set comment(val) { _comment = Utils.toBuffer(val, decoder.encode); mainHeader.commentLength = _comment.length; }, getEntryCount: function() { if (!loadedEntries) { return mainHeader.diskEntries; } return entryList.length; }, forEach: function(callback) { this.entries.forEach(callback); }, /** * Returns a reference to the entry with the given name or null if entry is inexistent * * @param entryName * @return ZipEntry */ getEntry: function(entryName) { if (!loadedEntries) { readEntries(); } return entryTable[entryName] || null; }, /** * Adds the given entry to the entry list * * @param entry */ setEntry: function(entry) { if (!loadedEntries) { readEntries(); } entryList.push(entry); entryTable[entry.entryName] = entry; mainHeader.totalEntries = entryList.length; }, /** * Removes the file with the given name from the entry list. * * If the entry is a directory, then all nested files and directories will be removed * @param entryName * @returns {void} */ deleteFile: function(entryName, withsubfolders = true) { if (!loadedEntries) { readEntries(); } const entry = entryTable[entryName]; const list = this.getEntryChildren(entry, withsubfolders).map((child) => child.entryName); list.forEach(this.deleteEntry); }, /** * Removes the entry with the given name from the entry list. * * @param {string} entryName * @returns {void} */ deleteEntry: function(entryName) { if (!loadedEntries) { readEntries(); } const entry = entryTable[entryName]; const index = entryList.indexOf(entry); if (index >= 0) { entryList.splice(index, 1); delete entryTable[entryName]; mainHeader.totalEntries = entryList.length; } }, /** * Iterates and returns all nested files and directories of the given entry * * @param entry * @return Array */ getEntryChildren: function(entry, subfolders = true) { if (!loadedEntries) { readEntries(); } if (typeof entry === "object") { if (entry.isDirectory && subfolders) { const list = []; const name = entry.entryName; for (const zipEntry of entryList) { if (zipEntry.entryName.startsWith(name)) { list.push(zipEntry); } } return list; } else { return [entry]; } } return []; }, /** * How many child elements entry has * * @param {ZipEntry} entry * @return {integer} */ getChildCount: function(entry) { if (entry && entry.isDirectory) { const list = this.getEntryChildren(entry); return list.includes(entry) ? list.length - 1 : list.length; } return 0; }, /** * Returns the zip file * * @return Buffer */ compressToBuffer: function() { if (!loadedEntries) { readEntries(); } sortEntries(); const dataBlock = []; const headerBlocks = []; let totalSize = 0; let dindex = 0; mainHeader.size = 0; mainHeader.offset = 0; let totalEntries = 0; for (const entry of this.entries) { const compressedData = entry.getCompressedData(); entry.header.offset = dindex; const localHeader = entry.packLocalHeader(); const dataLength = localHeader.length + compressedData.length; dindex += dataLength; dataBlock.push(localHeader); dataBlock.push(compressedData); const centralHeader = entry.packCentralHeader(); headerBlocks.push(centralHeader); mainHeader.size += centralHeader.length; totalSize += dataLength + centralHeader.length; totalEntries++; } totalSize += mainHeader.mainHeaderSize; mainHeader.offset = dindex; mainHeader.totalEntries = totalEntries; dindex = 0; const outBuffer = Buffer.alloc(totalSize); for (const content of dataBlock) { content.copy(outBuffer, dindex); dindex += content.length; } for (const content of headerBlocks) { content.copy(outBuffer, dindex); dindex += content.length; } const mh = mainHeader.toBinary(); if (_comment) { _comment.copy(mh, Utils.Constants.ENDHDR); } mh.copy(outBuffer, dindex); inBuffer = outBuffer; loadedEntries = false; return outBuffer; }, toAsyncBuffer: function(onSuccess, onFail, onItemStart, onItemEnd) { try { if (!loadedEntries) { readEntries(); } sortEntries(); const dataBlock = []; const centralHeaders = []; let totalSize = 0; let dindex = 0; let totalEntries = 0; mainHeader.size = 0; mainHeader.offset = 0; const compress2Buffer = function(entryLists) { if (entryLists.length > 0) { const entry = entryLists.shift(); const name = entry.entryName + entry.extra.toString(); if (onItemStart) onItemStart(name); entry.getCompressedDataAsync(function(compressedData) { if (onItemEnd) onItemEnd(name); entry.header.offset = dindex; const localHeader = entry.packLocalHeader(); const dataLength = localHeader.length + compressedData.length; dindex += dataLength; dataBlock.push(localHeader); dataBlock.push(compressedData); const centalHeader = entry.packCentralHeader(); centralHeaders.push(centalHeader); mainHeader.size += centalHeader.length; totalSize += dataLength + centalHeader.length; totalEntries++; compress2Buffer(entryLists); }); } else { totalSize += mainHeader.mainHeaderSize; mainHeader.offset = dindex; mainHeader.totalEntries = totalEntries; dindex = 0; const outBuffer = Buffer.alloc(totalSize); dataBlock.forEach(function(content) { content.copy(outBuffer, dindex); dindex += content.length; }); centralHeaders.forEach(function(content) { content.copy(outBuffer, dindex); dindex += content.length; }); const mh = mainHeader.toBinary(); if (_comment) { _comment.copy(mh, Utils.Constants.ENDHDR); } mh.copy(outBuffer, dindex); inBuffer = outBuffer; loadedEntries = false; onSuccess(outBuffer); } }; compress2Buffer(Array.from(this.entries)); } catch (e) { onFail(e); } } }; }; } }); // ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/adm-zip.js var require_adm_zip = __commonJS({ "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/adm-zip.js"(exports2, module2) { var Utils = require_util7(); var pth = require("path"); var ZipEntry = require_zipEntry(); var ZipFile = require_zipFile(); var get_Bool = (...val) => Utils.findLast(val, (c) => typeof c === "boolean"); var get_Str = (...val) => Utils.findLast(val, (c) => typeof c === "string"); var get_Fun = (...val) => Utils.findLast(val, (c) => typeof c === "function"); var defaultOptions = { // option "noSort" : if true it disables files sorting noSort: false, // read entries during load (initial loading may be slower) readEntries: false, // default method is none method: Utils.Constants.NONE, // file system fs: null }; module2.exports = function(input, options) { let inBuffer = null; const opts = Object.assign(/* @__PURE__ */ Object.create(null), defaultOptions); if (input && "object" === typeof input) { if (!(input instanceof Uint8Array)) { Object.assign(opts, input); input = opts.input ? opts.input : void 0; if (opts.input) delete opts.input; } if (Buffer.isBuffer(input)) { inBuffer = input; opts.method = Utils.Constants.BUFFER; input = void 0; } } Object.assign(opts, options); const filetools = new Utils(opts); if (typeof opts.decoder !== "object" || typeof opts.decoder.encode !== "function" || typeof opts.decoder.decode !== "function") { opts.decoder = Utils.decoder; } if (input && "string" === typeof input) { if (filetools.fs.existsSync(input)) { opts.method = Utils.Constants.FILE; opts.filename = input; inBuffer = filetools.fs.readFileSync(input); } else { throw Utils.Errors.INVALID_FILENAME(); } } const _zip = new ZipFile(inBuffer, opts); const { canonical, sanitize, zipnamefix } = Utils; function getEntry(entry) { if (entry && _zip) { var item; if (typeof entry === "string") item = _zip.getEntry(pth.posix.normalize(entry)); if (typeof entry === "object" && typeof entry.entryName !== "undefined" && typeof entry.header !== "undefined") item = _zip.getEntry(entry.entryName); if (item) { return item; } } return null; } function fixPath(zipPath) { const { join, normalize, sep } = pth.posix; return join(".", normalize(sep + zipPath.split("\\").join(sep) + sep)); } function filenameFilter(filterfn) { if (filterfn instanceof RegExp) { return /* @__PURE__ */ (function(rx) { return function(filename) { return rx.test(filename); }; })(filterfn); } else if ("function" !== typeof filterfn) { return () => true; } return filterfn; } const relativePath = (local, entry) => { let lastChar = entry.slice(-1); lastChar = lastChar === filetools.sep ? filetools.sep : ""; return pth.relative(local, entry) + lastChar; }; return { /** * Extracts the given entry from the archive and returns the content as a Buffer object * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry * @param {Buffer|string} [pass] - password * @return Buffer or Null in case of error */ readFile: function(entry, pass) { var item = getEntry(entry); return item && item.getData(pass) || null; }, /** * Returns how many child elements has on entry (directories) on files it is always 0 * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry * @returns {integer} */ childCount: function(entry) { const item = getEntry(entry); if (item) { return _zip.getChildCount(item); } }, /** * Asynchronous readFile * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry * @param {callback} callback * * @return Buffer or Null in case of error */ readFileAsync: function(entry, callback) { var item = getEntry(entry); if (item) { item.getDataAsync(callback); } else { callback(null, "getEntry failed for:" + entry); } }, /** * Extracts the given entry from the archive and returns the content as plain text in the given encoding * @param {ZipEntry|string} entry - ZipEntry object or String with the full path of the entry * @param {string} encoding - Optional. If no encoding is specified utf8 is used * * @return String */ readAsText: function(entry, encoding) { var item = getEntry(entry); if (item) { var data = item.getData(); if (data && data.length) { return data.toString(encoding || "utf8"); } } return ""; }, /** * Asynchronous readAsText * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry * @param {callback} callback * @param {string} [encoding] - Optional. If no encoding is specified utf8 is used * * @return String */ readAsTextAsync: function(entry, callback, encoding) { var item = getEntry(entry); if (item) { item.getDataAsync(function(data, err) { if (err) { callback(data, err); return; } if (data && data.length) { callback(data.toString(encoding || "utf8")); } else { callback(""); } }); } else { callback(""); } }, /** * Remove the entry from the file or the entry and all it's nested directories and files if the given entry is a directory * * @param {ZipEntry|string} entry * @returns {void} */ deleteFile: function(entry, withsubfolders = true) { var item = getEntry(entry); if (item) { _zip.deleteFile(item.entryName, withsubfolders); } }, /** * Remove the entry from the file or directory without affecting any nested entries * * @param {ZipEntry|string} entry * @returns {void} */ deleteEntry: function(entry) { var item = getEntry(entry); if (item) { _zip.deleteEntry(item.entryName); } }, /** * Adds a comment to the zip. The zip must be rewritten after adding the comment. * * @param {string} comment */ addZipComment: function(comment) { _zip.comment = comment; }, /** * Returns the zip comment * * @return String */ getZipComment: function() { return _zip.comment || ""; }, /** * Adds a comment to a specified zipEntry. The zip must be rewritten after adding the comment * The comment cannot exceed 65535 characters in length * * @param {ZipEntry} entry * @param {string} comment */ addZipEntryComment: function(entry, comment) { var item = getEntry(entry); if (item) { item.comment = comment; } }, /** * Returns the comment of the specified entry * * @param {ZipEntry} entry * @return String */ getZipEntryComment: function(entry) { var item = getEntry(entry); if (item) { return item.comment || ""; } return ""; }, /** * Updates the content of an existing entry inside the archive. The zip must be rewritten after updating the content * * @param {ZipEntry} entry * @param {Buffer} content */ updateFile: function(entry, content) { var item = getEntry(entry); if (item) { item.setData(content); } }, /** * Adds a file from the disk to the archive * * @param {string} localPath File to add to zip * @param {string} [zipPath] Optional path inside the zip * @param {string} [zipName] Optional name for the file * @param {string} [comment] Optional file comment */ addLocalFile: function(localPath2, zipPath, zipName, comment) { if (filetools.fs.existsSync(localPath2)) { zipPath = zipPath ? fixPath(zipPath) : ""; const p = pth.win32.basename(pth.win32.normalize(localPath2)); zipPath += zipName ? zipName : p; const _attr = filetools.fs.statSync(localPath2); const data = _attr.isFile() ? filetools.fs.readFileSync(localPath2) : Buffer.alloc(0); if (_attr.isDirectory()) zipPath += filetools.sep; this.addFile(zipPath, data, comment, _attr); } else { throw Utils.Errors.FILE_NOT_FOUND(localPath2); } }, /** * Callback for showing if everything was done. * * @callback doneCallback * @param {Error} err - Error object * @param {boolean} done - was request fully completed */ /** * Adds a file from the disk to the archive * * @param {(object|string)} options - options object, if it is string it us used as localPath. * @param {string} options.localPath - Local path to the file. * @param {string} [options.comment] - Optional file comment. * @param {string} [options.zipPath] - Optional path inside the zip * @param {string} [options.zipName] - Optional name for the file * @param {doneCallback} callback - The callback that handles the response. */ addLocalFileAsync: function(options2, callback) { options2 = typeof options2 === "object" ? options2 : { localPath: options2 }; const localPath2 = pth.resolve(options2.localPath); const { comment } = options2; let { zipPath, zipName } = options2; const self2 = this; filetools.fs.stat(localPath2, function(err, stats) { if (err) return callback(err, false); zipPath = zipPath ? fixPath(zipPath) : ""; const p = pth.win32.basename(pth.win32.normalize(localPath2)); zipPath += zipName ? zipName : p; if (stats.isFile()) { filetools.fs.readFile(localPath2, function(err2, data) { if (err2) return callback(err2, false); self2.addFile(zipPath, data, comment, stats); return setImmediate(callback, void 0, true); }); } else if (stats.isDirectory()) { zipPath += filetools.sep; self2.addFile(zipPath, Buffer.alloc(0), comment, stats); return setImmediate(callback, void 0, true); } }); }, /** * Adds a local directory and all its nested files and directories to the archive * * @param {string} localPath - local path to the folder * @param {string} [zipPath] - optional path inside zip * @param {(RegExp|function)} [filter] - optional RegExp or Function if files match will be included. */ addLocalFolder: function(localPath2, zipPath, filter) { filter = filenameFilter(filter); zipPath = zipPath ? fixPath(zipPath) : ""; localPath2 = pth.normalize(localPath2); if (filetools.fs.existsSync(localPath2)) { const items = filetools.findFiles(localPath2); const self2 = this; if (items.length) { for (const filepath of items) { const p = pth.join(zipPath, relativePath(localPath2, filepath)); if (filter(p)) { self2.addLocalFile(filepath, pth.dirname(p)); } } } } else { throw Utils.Errors.FILE_NOT_FOUND(localPath2); } }, /** * Asynchronous addLocalFolder * @param {string} localPath * @param {callback} callback * @param {string} [zipPath] optional path inside zip * @param {RegExp|function} [filter] optional RegExp or Function if files match will * be included. */ addLocalFolderAsync: function(localPath2, callback, zipPath, filter) { filter = filenameFilter(filter); zipPath = zipPath ? fixPath(zipPath) : ""; localPath2 = pth.normalize(localPath2); var self2 = this; filetools.fs.open(localPath2, "r", function(err) { if (err && err.code === "ENOENT") { callback(void 0, Utils.Errors.FILE_NOT_FOUND(localPath2)); } else if (err) { callback(void 0, err); } else { var items = filetools.findFiles(localPath2); var i = -1; var next = function() { i += 1; if (i < items.length) { var filepath = items[i]; var p = relativePath(localPath2, filepath).split("\\").join("/"); p = p.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^\x20-\x7E]/g, ""); if (filter(p)) { filetools.fs.stat(filepath, function(er0, stats) { if (er0) callback(void 0, er0); if (stats.isFile()) { filetools.fs.readFile(filepath, function(er1, data) { if (er1) { callback(void 0, er1); } else { self2.addFile(zipPath + p, data, "", stats); next(); } }); } else { self2.addFile(zipPath + p + "/", Buffer.alloc(0), "", stats); next(); } }); } else { process.nextTick(() => { next(); }); } } else { callback(true, void 0); } }; next(); } }); }, /** * Adds a local directory and all its nested files and directories to the archive * * @param {object | string} options - options object, if it is string it us used as localPath. * @param {string} options.localPath - Local path to the folder. * @param {string} [options.zipPath] - optional path inside zip. * @param {RegExp|function} [options.filter] - optional RegExp or Function if files match will be included. * @param {function|string} [options.namefix] - optional function to help fix filename * @param {doneCallback} callback - The callback that handles the response. * */ addLocalFolderAsync2: function(options2, callback) { const self2 = this; options2 = typeof options2 === "object" ? options2 : { localPath: options2 }; localPath = pth.resolve(fixPath(options2.localPath)); let { zipPath, filter, namefix } = options2; if (filter instanceof RegExp) { filter = /* @__PURE__ */ (function(rx) { return function(filename) { return rx.test(filename); }; })(filter); } else if ("function" !== typeof filter) { filter = function() { return true; }; } zipPath = zipPath ? fixPath(zipPath) : ""; if (namefix == "latin1") { namefix = (str) => str.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^\x20-\x7E]/g, ""); } if (typeof namefix !== "function") namefix = (str) => str; const relPathFix = (entry) => pth.join(zipPath, namefix(relativePath(localPath, entry))); const fileNameFix = (entry) => pth.win32.basename(pth.win32.normalize(namefix(entry))); filetools.fs.open(localPath, "r", function(err) { if (err && err.code === "ENOENT") { callback(void 0, Utils.Errors.FILE_NOT_FOUND(localPath)); } else if (err) { callback(void 0, err); } else { filetools.findFilesAsync(localPath, function(err2, fileEntries) { if (err2) return callback(err2); fileEntries = fileEntries.filter((dir) => filter(relPathFix(dir))); if (!fileEntries.length) callback(void 0, false); setImmediate( fileEntries.reverse().reduce(function(next, entry) { return function(err3, done) { if (err3 || done === false) return setImmediate(next, err3, false); self2.addLocalFileAsync( { localPath: entry, zipPath: pth.dirname(relPathFix(entry)), zipName: fileNameFix(entry) }, next ); }; }, callback) ); }); } }); }, /** * Adds a local directory and all its nested files and directories to the archive * * @param {string} localPath - path where files will be extracted * @param {object} props - optional properties * @param {string} [props.zipPath] - optional path inside zip * @param {RegExp|function} [props.filter] - optional RegExp or Function if files match will be included. * @param {function|string} [props.namefix] - optional function to help fix filename */ addLocalFolderPromise: function(localPath2, props) { return new Promise((resolve, reject) => { this.addLocalFolderAsync2(Object.assign({ localPath: localPath2 }, props), (err, done) => { if (err) reject(err); if (done) resolve(this); }); }); }, /** * Allows you to create a entry (file or directory) in the zip file. * If you want to create a directory the entryName must end in / and a null buffer should be provided. * Comment and attributes are optional * * @param {string} entryName * @param {Buffer | string} content - file content as buffer or utf8 coded string * @param {string} [comment] - file comment * @param {number | object} [attr] - number as unix file permissions, object as filesystem Stats object */ addFile: function(entryName, content, comment, attr) { entryName = zipnamefix(entryName); let entry = getEntry(entryName); const update = entry != null; if (!update) { entry = new ZipEntry(opts); entry.entryName = entryName; } entry.comment = comment || ""; const isStat = "object" === typeof attr && attr instanceof filetools.fs.Stats; if (isStat) { entry.header.time = attr.mtime; } var fileattr = entry.isDirectory ? 16 : 0; let unix = entry.isDirectory ? 16384 : 32768; if (isStat) { unix |= 4095 & attr.mode; } else if ("number" === typeof attr) { unix |= 4095 & attr; } else { unix |= entry.isDirectory ? 493 : 420; } fileattr = (fileattr | unix << 16) >>> 0; entry.attr = fileattr; entry.setData(content); if (!update) _zip.setEntry(entry); return entry; }, /** * Returns an array of ZipEntry objects representing the files and folders inside the archive * * @param {string} [password] * @returns Array */ getEntries: function(password) { _zip.password = password; return _zip ? _zip.entries : []; }, /** * Returns a ZipEntry object representing the file or folder specified by ``name``. * * @param {string} name * @return ZipEntry */ getEntry: function(name) { return getEntry(name); }, getEntryCount: function() { return _zip.getEntryCount(); }, forEach: function(callback) { return _zip.forEach(callback); }, /** * Extracts the given entry to the given targetPath * If the entry is a directory inside the archive, the entire directory and it's subdirectories will be extracted * * @param {string|ZipEntry} entry - ZipEntry object or String with the full path of the entry * @param {string} targetPath - Target folder where to write the file * @param {boolean} [maintainEntryPath=true] - If maintainEntryPath is true and the entry is inside a folder, the entry folder will be created in targetPath as well. Default is TRUE * @param {boolean} [overwrite=false] - If the file already exists at the target path, the file will be overwriten if this is true. * @param {boolean} [keepOriginalPermission=false] - The file will be set as the permission from the entry if this is true. * @param {string} [outFileName] - String If set will override the filename of the extracted file (Only works if the entry is a file) * * @return Boolean */ extractEntryTo: function(entry, targetPath, maintainEntryPath, overwrite, keepOriginalPermission, outFileName) { overwrite = get_Bool(false, overwrite); keepOriginalPermission = get_Bool(false, keepOriginalPermission); maintainEntryPath = get_Bool(true, maintainEntryPath); outFileName = get_Str(keepOriginalPermission, outFileName); var item = getEntry(entry); if (!item) { throw Utils.Errors.NO_ENTRY(); } var entryName = canonical(item.entryName); var target = sanitize(targetPath, outFileName && !item.isDirectory ? outFileName : maintainEntryPath ? entryName : pth.basename(entryName)); if (item.isDirectory) { var children = _zip.getEntryChildren(item); children.forEach(function(child) { if (child.isDirectory) return; var content2 = child.getData(); if (!content2) { throw Utils.Errors.CANT_EXTRACT_FILE(); } var name = canonical(child.entryName); var childName = sanitize(targetPath, maintainEntryPath ? name : pth.basename(name)); const fileAttr2 = keepOriginalPermission ? child.header.fileAttr : void 0; filetools.writeFileTo(childName, content2, overwrite, fileAttr2); }); return true; } var content = item.getData(_zip.password); if (!content) throw Utils.Errors.CANT_EXTRACT_FILE(); if (filetools.fs.existsSync(target) && !overwrite) { throw Utils.Errors.CANT_OVERRIDE(); } const fileAttr = keepOriginalPermission ? entry.header.fileAttr : void 0; filetools.writeFileTo(target, content, overwrite, fileAttr); return true; }, /** * Test the archive * @param {string} [pass] */ test: function(pass) { if (!_zip) { return false; } for (var entry in _zip.entries) { try { if (entry.isDirectory) { continue; } var content = _zip.entries[entry].getData(pass); if (!content) { return false; } } catch (err) { return false; } } return true; }, /** * Extracts the entire archive to the given location * * @param {string} targetPath Target location * @param {boolean} [overwrite=false] If the file already exists at the target path, the file will be overwriten if this is true. * Default is FALSE * @param {boolean} [keepOriginalPermission=false] The file will be set as the permission from the entry if this is true. * Default is FALSE * @param {string|Buffer} [pass] password */ extractAllTo: function(targetPath, overwrite, keepOriginalPermission, pass) { keepOriginalPermission = get_Bool(false, keepOriginalPermission); pass = get_Str(keepOriginalPermission, pass); overwrite = get_Bool(false, overwrite); if (!_zip) throw Utils.Errors.NO_ZIP(); _zip.entries.forEach(function(entry) { var entryName = sanitize(targetPath, canonical(entry.entryName)); if (entry.isDirectory) { filetools.makeDir(entryName); return; } var content = entry.getData(pass); if (!content) { throw Utils.Errors.CANT_EXTRACT_FILE(); } const fileAttr = keepOriginalPermission ? entry.header.fileAttr : void 0; filetools.writeFileTo(entryName, content, overwrite, fileAttr); try { filetools.fs.utimesSync(entryName, entry.header.time, entry.header.time); } catch (err) { throw Utils.Errors.CANT_EXTRACT_FILE(); } }); }, /** * Asynchronous extractAllTo * * @param {string} targetPath Target location * @param {boolean} [overwrite=false] If the file already exists at the target path, the file will be overwriten if this is true. * Default is FALSE * @param {boolean} [keepOriginalPermission=false] The file will be set as the permission from the entry if this is true. * Default is FALSE * @param {function} callback The callback will be executed when all entries are extracted successfully or any error is thrown. */ extractAllToAsync: function(targetPath, overwrite, keepOriginalPermission, callback) { callback = get_Fun(overwrite, keepOriginalPermission, callback); keepOriginalPermission = get_Bool(false, keepOriginalPermission); overwrite = get_Bool(false, overwrite); if (!callback) { return new Promise((resolve, reject) => { this.extractAllToAsync(targetPath, overwrite, keepOriginalPermission, function(err) { if (err) { reject(err); } else { resolve(this); } }); }); } if (!_zip) { callback(Utils.Errors.NO_ZIP()); return; } targetPath = pth.resolve(targetPath); const getPath = (entry) => sanitize(targetPath, pth.normalize(canonical(entry.entryName))); const getError = (msg, file) => new Error(msg + ': "' + file + '"'); const dirEntries = []; const fileEntries = []; _zip.entries.forEach((e) => { if (e.isDirectory) { dirEntries.push(e); } else { fileEntries.push(e); } }); for (const entry of dirEntries) { const dirPath = getPath(entry); const dirAttr = keepOriginalPermission ? entry.header.fileAttr : void 0; try { filetools.makeDir(dirPath); if (dirAttr) filetools.fs.chmodSync(dirPath, dirAttr); filetools.fs.utimesSync(dirPath, entry.header.time, entry.header.time); } catch (er) { callback(getError("Unable to create folder", dirPath)); } } fileEntries.reverse().reduce(function(next, entry) { return function(err) { if (err) { next(err); } else { const entryName = pth.normalize(canonical(entry.entryName)); const filePath = sanitize(targetPath, entryName); entry.getDataAsync(function(content, err_1) { if (err_1) { next(err_1); } else if (!content) { next(Utils.Errors.CANT_EXTRACT_FILE()); } else { const fileAttr = keepOriginalPermission ? entry.header.fileAttr : void 0; filetools.writeFileToAsync(filePath, content, overwrite, fileAttr, function(succ) { if (!succ) { next(getError("Unable to write file", filePath)); } filetools.fs.utimes(filePath, entry.header.time, entry.header.time, function(err_2) { if (err_2) { next(getError("Unable to set times", filePath)); } else { next(); } }); }); } }); } }; }, callback)(); }, /** * Writes the newly created zip file to disk at the specified location or if a zip was opened and no ``targetFileName`` is provided, it will overwrite the opened zip * * @param {string} targetFileName * @param {function} callback */ writeZip: function(targetFileName, callback) { if (arguments.length === 1) { if (typeof targetFileName === "function") { callback = targetFileName; targetFileName = ""; } } if (!targetFileName && opts.filename) { targetFileName = opts.filename; } if (!targetFileName) return; var zipData = _zip.compressToBuffer(); if (zipData) { var ok = filetools.writeFileTo(targetFileName, zipData, true); if (typeof callback === "function") callback(!ok ? new Error("failed") : null, ""); } }, /** * * @param {string} targetFileName * @param {object} [props] * @param {boolean} [props.overwrite=true] If the file already exists at the target path, the file will be overwriten if this is true. * @param {boolean} [props.perm] The file will be set as the permission from the entry if this is true. * @returns {Promise} */ writeZipPromise: function(targetFileName, props) { const { overwrite, perm } = Object.assign({ overwrite: true }, props); return new Promise((resolve, reject) => { if (!targetFileName && opts.filename) targetFileName = opts.filename; if (!targetFileName) reject("ADM-ZIP: ZIP File Name Missing"); this.toBufferPromise().then((zipData) => { const ret2 = (done) => done ? resolve(done) : reject("ADM-ZIP: Wasn't able to write zip file"); filetools.writeFileToAsync(targetFileName, zipData, overwrite, perm, ret2); }, reject); }); }, /** * @returns {Promise} A promise to the Buffer. */ toBufferPromise: function() { return new Promise((resolve, reject) => { _zip.toAsyncBuffer(resolve, reject); }); }, /** * Returns the content of the entire zip file as a Buffer object * * @prop {function} [onSuccess] * @prop {function} [onFail] * @prop {function} [onItemStart] * @prop {function} [onItemEnd] * @returns {Buffer} */ toBuffer: function(onSuccess, onFail, onItemStart, onItemEnd) { if (typeof onSuccess === "function") { _zip.toAsyncBuffer(onSuccess, onFail, onItemStart, onItemEnd); return null; } return _zip.compressToBuffer(); } }; }; } }); // ../node_modules/.pnpm/temp-dir@2.0.0/node_modules/temp-dir/index.js var require_temp_dir = __commonJS({ "../node_modules/.pnpm/temp-dir@2.0.0/node_modules/temp-dir/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var os = require("os"); var tempDirectorySymbol = Symbol.for("__RESOLVED_TEMP_DIRECTORY__"); if (!global[tempDirectorySymbol]) { Object.defineProperty(global, tempDirectorySymbol, { value: fs.realpathSync(os.tmpdir()) }); } module2.exports = global[tempDirectorySymbol]; } }); // ../node_modules/.pnpm/array-union@2.1.0/node_modules/array-union/index.js var require_array_union = __commonJS({ "../node_modules/.pnpm/array-union@2.1.0/node_modules/array-union/index.js"(exports2, module2) { "use strict"; module2.exports = (...arguments_) => { return [...new Set([].concat(...arguments_))]; }; } }); // ../node_modules/.pnpm/path-type@4.0.0/node_modules/path-type/index.js var require_path_type = __commonJS({ "../node_modules/.pnpm/path-type@4.0.0/node_modules/path-type/index.js"(exports2) { "use strict"; var { promisify } = require("util"); var fs = require("fs"); async function isType(fsStatType, statsMethodName, filePath) { if (typeof filePath !== "string") { throw new TypeError(`Expected a string, got ${typeof filePath}`); } try { const stats = await promisify(fs[fsStatType])(filePath); return stats[statsMethodName](); } catch (error) { if (error.code === "ENOENT") { return false; } throw error; } } function isTypeSync(fsStatType, statsMethodName, filePath) { if (typeof filePath !== "string") { throw new TypeError(`Expected a string, got ${typeof filePath}`); } try { return fs[fsStatType](filePath)[statsMethodName](); } catch (error) { if (error.code === "ENOENT") { return false; } throw error; } } exports2.isFile = isType.bind(null, "stat", "isFile"); exports2.isDirectory = isType.bind(null, "stat", "isDirectory"); exports2.isSymlink = isType.bind(null, "lstat", "isSymbolicLink"); exports2.isFileSync = isTypeSync.bind(null, "statSync", "isFile"); exports2.isDirectorySync = isTypeSync.bind(null, "statSync", "isDirectory"); exports2.isSymlinkSync = isTypeSync.bind(null, "lstatSync", "isSymbolicLink"); } }); // ../node_modules/.pnpm/dir-glob@3.0.1/node_modules/dir-glob/index.js var require_dir_glob = __commonJS({ "../node_modules/.pnpm/dir-glob@3.0.1/node_modules/dir-glob/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var pathType = require_path_type(); var getExtensions = (extensions) => extensions.length > 1 ? `{${extensions.join(",")}}` : extensions[0]; var getPath = (filepath, cwd) => { const pth = filepath[0] === "!" ? filepath.slice(1) : filepath; return path2.isAbsolute(pth) ? pth : path2.join(cwd, pth); }; var addExtensions = (file, extensions) => { if (path2.extname(file)) { return `**/${file}`; } return `**/${file}.${getExtensions(extensions)}`; }; var getGlob = (directory, options) => { if (options.files && !Array.isArray(options.files)) { throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof options.files}\``); } if (options.extensions && !Array.isArray(options.extensions)) { throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof options.extensions}\``); } if (options.files && options.extensions) { return options.files.map((x) => path2.posix.join(directory, addExtensions(x, options.extensions))); } if (options.files) { return options.files.map((x) => path2.posix.join(directory, `**/${x}`)); } if (options.extensions) { return [path2.posix.join(directory, `**/*.${getExtensions(options.extensions)}`)]; } return [path2.posix.join(directory, "**")]; }; module2.exports = async (input, options) => { options = { cwd: process.cwd(), ...options }; if (typeof options.cwd !== "string") { throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``); } const globs = await Promise.all([].concat(input).map(async (x) => { const isDirectory = await pathType.isDirectory(getPath(x, options.cwd)); return isDirectory ? getGlob(x, options) : x; })); return [].concat.apply([], globs); }; module2.exports.sync = (input, options) => { options = { cwd: process.cwd(), ...options }; if (typeof options.cwd !== "string") { throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``); } const globs = [].concat(input).map((x) => pathType.isDirectorySync(getPath(x, options.cwd)) ? getGlob(x, options) : x); return [].concat.apply([], globs); }; } }); // ../node_modules/.pnpm/ignore@5.3.2/node_modules/ignore/index.js var require_ignore = __commonJS({ "../node_modules/.pnpm/ignore@5.3.2/node_modules/ignore/index.js"(exports2, module2) { function makeArray(subject) { return Array.isArray(subject) ? subject : [subject]; } var EMPTY = ""; var SPACE = " "; var ESCAPE = "\\"; var REGEX_TEST_BLANK_LINE = /^\s+$/; var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/; var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/; var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/; var REGEX_SPLITALL_CRLF = /\r?\n/g; var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/; var SLASH = "/"; var TMP_KEY_IGNORE = "node-ignore"; if (typeof Symbol !== "undefined") { TMP_KEY_IGNORE = Symbol.for("node-ignore"); } var KEY_IGNORE = TMP_KEY_IGNORE; var define2 = (object, key, value) => Object.defineProperty(object, key, { value }); var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; var RETURN_FALSE = () => false; var sanitizeRange = (range) => range.replace( REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY ); var cleanRangeBackSlash = (slashes) => { const { length } = slashes; return slashes.slice(0, length - length % 2); }; var REPLACERS = [ [ // remove BOM // TODO: // Other similar zero-width characters? /^\uFEFF/, () => EMPTY ], // > Trailing spaces are ignored unless they are quoted with backslash ("\") [ // (a\ ) -> (a ) // (a ) -> (a) // (a ) -> (a) // (a \ ) -> (a ) /((?:\\\\)*?)(\\?\s+)$/, (_, m1, m2) => m1 + (m2.indexOf("\\") === 0 ? SPACE : EMPTY) ], // replace (\ ) with ' ' // (\ ) -> ' ' // (\\ ) -> '\\ ' // (\\\ ) -> '\\ ' [ /(\\+?)\s/g, (_, m1) => { const { length } = m1; return m1.slice(0, length - length % 2) + SPACE; } ], // Escape metacharacters // which is written down by users but means special for regular expressions. // > There are 12 characters with special meanings: // > - the backslash \, // > - the caret ^, // > - the dollar sign $, // > - the period or dot ., // > - the vertical bar or pipe symbol |, // > - the question mark ?, // > - the asterisk or star *, // > - the plus sign +, // > - the opening parenthesis (, // > - the closing parenthesis ), // > - and the opening square bracket [, // > - the opening curly brace {, // > These special characters are often called "metacharacters". [ /[\\$.|*+(){^]/g, (match) => `\\${match}` ], [ // > a question mark (?) matches a single character /(?!\\)\?/g, () => "[^/]" ], // leading slash [ // > A leading slash matches the beginning of the pathname. // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c". // A leading slash matches the beginning of the pathname /^\//, () => "^" ], // replace special metacharacter slash after the leading slash [ /\//g, () => "\\/" ], [ // > A leading "**" followed by a slash means match in all directories. // > For example, "**/foo" matches file or directory "foo" anywhere, // > the same as pattern "foo". // > "**/foo/bar" matches file or directory "bar" anywhere that is directly // > under directory "foo". // Notice that the '*'s have been replaced as '\\*' /^\^*\\\*\\\*\\\//, // '**/foo' <-> 'foo' () => "^(?:.*\\/)?" ], // starting [ // there will be no leading '/' // (which has been replaced by section "leading slash") // If starts with '**', adding a '^' to the regular expression also works /^(?=[^^])/, function startingReplacer() { return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^"; } ], // two globstars [ // Use lookahead assertions so that we could match more than one `'/**'` /\\\/\\\*\\\*(?=\\\/|$)/g, // Zero, one or several directories // should not use '*', or it will be replaced by the next replacer // Check if it is not the last `'/**'` (_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" ], // normal intermediate wildcards [ // Never replace escaped '*' // ignore rule '\*' will match the path '*' // 'abc.*/' -> go // 'abc.*' -> skip this rule, // coz trailing single wildcard will be handed by [trailing wildcard] /(^|[^\\]+)(\\\*)+(?=.+)/g, // '*.js' matches '.js' // '*.js' doesn't match 'abc' (_, p1, p2) => { const unescaped = p2.replace(/\\\*/g, "[^\\/]*"); return p1 + unescaped; } ], [ // unescape, revert step 3 except for back slash // For example, if a user escape a '\\*', // after step 3, the result will be '\\\\\\*' /\\\\\\(?=[$.|*+(){^])/g, () => ESCAPE ], [ // '\\\\' -> '\\' /\\\\/g, () => ESCAPE ], [ // > The range notation, e.g. [a-zA-Z], // > can be used to match one of the characters in a range. // `\` is escaped by step 3 /(\\)?\[([^\]/]*?)(\\*)($|\])/g, (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]" ], // ending [ // 'js' will not match 'js.' // 'ab' will not match 'abc' /(?:[^*])$/, // WTF! // https://git-scm.com/docs/gitignore // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1) // which re-fixes #24, #38 // > If there is a separator at the end of the pattern then the pattern // > will only match directories, otherwise the pattern can match both // > files and directories. // 'js*' will not match 'a.js' // 'js/' will not match 'a.js' // 'js' will match 'a.js' and 'a.js/' (match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)` ], // trailing wildcard [ /(\^|\\\/)?\\\*$/, (_, p1) => { const prefix = p1 ? `${p1}[^/]+` : "[^/]*"; return `${prefix}(?=$|\\/$)`; } ] ]; var regexCache = /* @__PURE__ */ Object.create(null); var makeRegex = (pattern, ignoreCase) => { let source = regexCache[pattern]; if (!source) { source = REPLACERS.reduce( (prev, [matcher, replacer]) => prev.replace(matcher, replacer.bind(pattern)), pattern ); regexCache[pattern] = source; } return ignoreCase ? new RegExp(source, "i") : new RegExp(source); }; var isString = (subject) => typeof subject === "string"; var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0; var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF); var IgnoreRule = class { constructor(origin, pattern, negative, regex) { this.origin = origin; this.pattern = pattern; this.negative = negative; this.regex = regex; } }; var createRule = (pattern, ignoreCase) => { const origin = pattern; let negative = false; if (pattern.indexOf("!") === 0) { negative = true; pattern = pattern.substr(1); } pattern = pattern.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#"); const regex = makeRegex(pattern, ignoreCase); return new IgnoreRule( origin, pattern, negative, regex ); }; var throwError = (message, Ctor) => { throw new Ctor(message); }; var checkPath = (path2, originalPath, doThrow) => { if (!isString(path2)) { return doThrow( `path must be a string, but got \`${originalPath}\``, TypeError ); } if (!path2) { return doThrow(`path must not be empty`, TypeError); } if (checkPath.isNotRelative(path2)) { const r = "`path.relative()`d"; return doThrow( `path should be a ${r} string, but got "${originalPath}"`, RangeError ); } return true; }; var isNotRelative = (path2) => REGEX_TEST_INVALID_PATH.test(path2); checkPath.isNotRelative = isNotRelative; checkPath.convert = (p) => p; var Ignore = class { constructor({ ignorecase = true, ignoreCase = ignorecase, allowRelativePaths = false } = {}) { define2(this, KEY_IGNORE, true); this._rules = []; this._ignoreCase = ignoreCase; this._allowRelativePaths = allowRelativePaths; this._initCache(); } _initCache() { this._ignoreCache = /* @__PURE__ */ Object.create(null); this._testCache = /* @__PURE__ */ Object.create(null); } _addPattern(pattern) { if (pattern && pattern[KEY_IGNORE]) { this._rules = this._rules.concat(pattern._rules); this._added = true; return; } if (checkPattern(pattern)) { const rule = createRule(pattern, this._ignoreCase); this._added = true; this._rules.push(rule); } } // @param {Array | string | Ignore} pattern add(pattern) { this._added = false; makeArray( isString(pattern) ? splitPattern(pattern) : pattern ).forEach(this._addPattern, this); if (this._added) { this._initCache(); } return this; } // legacy addPattern(pattern) { return this.add(pattern); } // | ignored : unignored // negative | 0:0 | 0:1 | 1:0 | 1:1 // -------- | ------- | ------- | ------- | -------- // 0 | TEST | TEST | SKIP | X // 1 | TESTIF | SKIP | TEST | X // - SKIP: always skip // - TEST: always test // - TESTIF: only test if checkUnignored // - X: that never happen // @param {boolean} whether should check if the path is unignored, // setting `checkUnignored` to `false` could reduce additional // path matching. // @returns {TestResult} true if a file is ignored _testOne(path2, checkUnignored) { let ignored = false; let unignored = false; this._rules.forEach((rule) => { const { negative } = rule; if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) { return; } const matched = rule.regex.test(path2); if (matched) { ignored = !negative; unignored = negative; } }); return { ignored, unignored }; } // @returns {TestResult} _test(originalPath, cache, checkUnignored, slices) { const path2 = originalPath && checkPath.convert(originalPath); checkPath( path2, originalPath, this._allowRelativePaths ? RETURN_FALSE : throwError ); return this._t(path2, cache, checkUnignored, slices); } _t(path2, cache, checkUnignored, slices) { if (path2 in cache) { return cache[path2]; } if (!slices) { slices = path2.split(SLASH); } slices.pop(); if (!slices.length) { return cache[path2] = this._testOne(path2, checkUnignored); } const parent = this._t( slices.join(SLASH) + SLASH, cache, checkUnignored, slices ); return cache[path2] = parent.ignored ? parent : this._testOne(path2, checkUnignored); } ignores(path2) { return this._test(path2, this._ignoreCache, false).ignored; } createFilter() { return (path2) => !this.ignores(path2); } filter(paths) { return makeArray(paths).filter(this.createFilter()); } // @returns {TestResult} test(path2) { return this._test(path2, this._testCache, true); } }; var factory = (options) => new Ignore(options); var isPathValid = (path2) => checkPath(path2 && checkPath.convert(path2), path2, RETURN_FALSE); factory.isPathValid = isPathValid; factory.default = factory; module2.exports = factory; if ( // Detect `process` so that it can run in browsers. typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32") ) { const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/"); checkPath.convert = makePosix; const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i; checkPath.isNotRelative = (path2) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path2) || isNotRelative(path2); } } }); // ../node_modules/.pnpm/slash@3.0.0/node_modules/slash/index.js var require_slash = __commonJS({ "../node_modules/.pnpm/slash@3.0.0/node_modules/slash/index.js"(exports2, module2) { "use strict"; module2.exports = (path2) => { const isExtendedLengthPath = /^\\\\\?\\/.test(path2); const hasNonAscii = /[^\u0000-\u0080]+/.test(path2); if (isExtendedLengthPath || hasNonAscii) { return path2; } return path2.replace(/\\/g, "/"); }; } }); // ../node_modules/.pnpm/globby@11.1.0/node_modules/globby/gitignore.js var require_gitignore = __commonJS({ "../node_modules/.pnpm/globby@11.1.0/node_modules/globby/gitignore.js"(exports2, module2) { "use strict"; var { promisify } = require("util"); var fs = require("fs"); var path2 = require("path"); var fastGlob = require_out4(); var gitIgnore = require_ignore(); var slash = require_slash(); var DEFAULT_IGNORE = [ "**/node_modules/**", "**/flow-typed/**", "**/coverage/**", "**/.git" ]; var readFileP = promisify(fs.readFile); var mapGitIgnorePatternTo = (base) => (ignore) => { if (ignore.startsWith("!")) { return "!" + path2.posix.join(base, ignore.slice(1)); } return path2.posix.join(base, ignore); }; var parseGitIgnore = (content, options) => { const base = slash(path2.relative(options.cwd, path2.dirname(options.fileName))); return content.split(/\r?\n/).filter(Boolean).filter((line) => !line.startsWith("#")).map(mapGitIgnorePatternTo(base)); }; var reduceIgnore = (files) => { const ignores = gitIgnore(); for (const file of files) { ignores.add(parseGitIgnore(file.content, { cwd: file.cwd, fileName: file.filePath })); } return ignores; }; var ensureAbsolutePathForCwd = (cwd, p) => { cwd = slash(cwd); if (path2.isAbsolute(p)) { if (slash(p).startsWith(cwd)) { return p; } throw new Error(`Path ${p} is not in cwd ${cwd}`); } return path2.join(cwd, p); }; var getIsIgnoredPredecate = (ignores, cwd) => { return (p) => ignores.ignores(slash(path2.relative(cwd, ensureAbsolutePathForCwd(cwd, p.path || p)))); }; var getFile = async (file, cwd) => { const filePath = path2.join(cwd, file); const content = await readFileP(filePath, "utf8"); return { cwd, filePath, content }; }; var getFileSync = (file, cwd) => { const filePath = path2.join(cwd, file); const content = fs.readFileSync(filePath, "utf8"); return { cwd, filePath, content }; }; var normalizeOptions = ({ ignore = [], cwd = slash(process.cwd()) } = {}) => { return { ignore, cwd }; }; module2.exports = async (options) => { options = normalizeOptions(options); const paths = await fastGlob("**/.gitignore", { ignore: DEFAULT_IGNORE.concat(options.ignore), cwd: options.cwd }); const files = await Promise.all(paths.map((file) => getFile(file, options.cwd))); const ignores = reduceIgnore(files); return getIsIgnoredPredecate(ignores, options.cwd); }; module2.exports.sync = (options) => { options = normalizeOptions(options); const paths = fastGlob.sync("**/.gitignore", { ignore: DEFAULT_IGNORE.concat(options.ignore), cwd: options.cwd }); const files = paths.map((file) => getFileSync(file, options.cwd)); const ignores = reduceIgnore(files); return getIsIgnoredPredecate(ignores, options.cwd); }; } }); // ../node_modules/.pnpm/globby@11.1.0/node_modules/globby/stream-utils.js var require_stream_utils = __commonJS({ "../node_modules/.pnpm/globby@11.1.0/node_modules/globby/stream-utils.js"(exports2, module2) { "use strict"; var { Transform } = require("stream"); var ObjectTransform = class extends Transform { constructor() { super({ objectMode: true }); } }; var FilterStream = class extends ObjectTransform { constructor(filter) { super(); this._filter = filter; } _transform(data, encoding, callback) { if (this._filter(data)) { this.push(data); } callback(); } }; var UniqueStream = class extends ObjectTransform { constructor() { super(); this._pushed = /* @__PURE__ */ new Set(); } _transform(data, encoding, callback) { if (!this._pushed.has(data)) { this.push(data); this._pushed.add(data); } callback(); } }; module2.exports = { FilterStream, UniqueStream }; } }); // ../node_modules/.pnpm/globby@11.1.0/node_modules/globby/index.js var require_globby = __commonJS({ "../node_modules/.pnpm/globby@11.1.0/node_modules/globby/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var arrayUnion = require_array_union(); var merge2 = require_merge22(); var fastGlob = require_out4(); var dirGlob = require_dir_glob(); var gitignore = require_gitignore(); var { FilterStream, UniqueStream } = require_stream_utils(); var DEFAULT_FILTER = () => false; var isNegative = (pattern) => pattern[0] === "!"; var assertPatternsInput = (patterns) => { if (!patterns.every((pattern) => typeof pattern === "string")) { throw new TypeError("Patterns must be a string or an array of strings"); } }; var checkCwdOption = (options = {}) => { if (!options.cwd) { return; } let stat; try { stat = fs.statSync(options.cwd); } catch { return; } if (!stat.isDirectory()) { throw new Error("The `cwd` option must be a path to a directory"); } }; var getPathString = (p) => p.stats instanceof fs.Stats ? p.path : p; var generateGlobTasks = (patterns, taskOptions) => { patterns = arrayUnion([].concat(patterns)); assertPatternsInput(patterns); checkCwdOption(taskOptions); const globTasks = []; taskOptions = { ignore: [], expandDirectories: true, ...taskOptions }; for (const [index, pattern] of patterns.entries()) { if (isNegative(pattern)) { continue; } const ignore = patterns.slice(index).filter((pattern2) => isNegative(pattern2)).map((pattern2) => pattern2.slice(1)); const options = { ...taskOptions, ignore: taskOptions.ignore.concat(ignore) }; globTasks.push({ pattern, options }); } return globTasks; }; var globDirs = (task, fn) => { let options = {}; if (task.options.cwd) { options.cwd = task.options.cwd; } if (Array.isArray(task.options.expandDirectories)) { options = { ...options, files: task.options.expandDirectories }; } else if (typeof task.options.expandDirectories === "object") { options = { ...options, ...task.options.expandDirectories }; } return fn(task.pattern, options); }; var getPattern = (task, fn) => task.options.expandDirectories ? globDirs(task, fn) : [task.pattern]; var getFilterSync = (options) => { return options && options.gitignore ? gitignore.sync({ cwd: options.cwd, ignore: options.ignore }) : DEFAULT_FILTER; }; var globToTask = (task) => (glob) => { const { options } = task; if (options.ignore && Array.isArray(options.ignore) && options.expandDirectories) { options.ignore = dirGlob.sync(options.ignore); } return { pattern: glob, options }; }; module2.exports = async (patterns, options) => { const globTasks = generateGlobTasks(patterns, options); const getFilter = async () => { return options && options.gitignore ? gitignore({ cwd: options.cwd, ignore: options.ignore }) : DEFAULT_FILTER; }; const getTasks = async () => { const tasks2 = await Promise.all(globTasks.map(async (task) => { const globs = await getPattern(task, dirGlob); return Promise.all(globs.map(globToTask(task))); })); return arrayUnion(...tasks2); }; const [filter, tasks] = await Promise.all([getFilter(), getTasks()]); const paths = await Promise.all(tasks.map((task) => fastGlob(task.pattern, task.options))); return arrayUnion(...paths).filter((path_) => !filter(getPathString(path_))); }; module2.exports.sync = (patterns, options) => { const globTasks = generateGlobTasks(patterns, options); const tasks = []; for (const task of globTasks) { const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); tasks.push(...newTask); } const filter = getFilterSync(options); let matches = []; for (const task of tasks) { matches = arrayUnion(matches, fastGlob.sync(task.pattern, task.options)); } return matches.filter((path_) => !filter(path_)); }; module2.exports.stream = (patterns, options) => { const globTasks = generateGlobTasks(patterns, options); const tasks = []; for (const task of globTasks) { const newTask = getPattern(task, dirGlob.sync).map(globToTask(task)); tasks.push(...newTask); } const filter = getFilterSync(options); const filterStream = new FilterStream((p) => !filter(p)); const uniqueStream = new UniqueStream(); return merge2(tasks.map((task) => fastGlob.stream(task.pattern, task.options))).pipe(filterStream).pipe(uniqueStream); }; module2.exports.generateGlobTasks = generateGlobTasks; module2.exports.hasMagic = (patterns, options) => [].concat(patterns).some((pattern) => fastGlob.isDynamicPattern(pattern, options)); module2.exports.gitignore = gitignore; } }); // ../node_modules/.pnpm/is-path-cwd@2.2.0/node_modules/is-path-cwd/index.js var require_is_path_cwd = __commonJS({ "../node_modules/.pnpm/is-path-cwd@2.2.0/node_modules/is-path-cwd/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); module2.exports = (path_) => { let cwd = process.cwd(); path_ = path2.resolve(path_); if (process.platform === "win32") { cwd = cwd.toLowerCase(); path_ = path_.toLowerCase(); } return path_ === cwd; }; } }); // ../node_modules/.pnpm/is-path-inside@3.0.3/node_modules/is-path-inside/index.js var require_is_path_inside = __commonJS({ "../node_modules/.pnpm/is-path-inside@3.0.3/node_modules/is-path-inside/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); module2.exports = (childPath, parentPath) => { const relation = path2.relative(parentPath, childPath); return Boolean( relation && relation !== ".." && !relation.startsWith(`..${path2.sep}`) && relation !== path2.resolve(childPath) ); }; } }); // ../node_modules/.pnpm/concat-map@0.0.1/node_modules/concat-map/index.js var require_concat_map = __commonJS({ "../node_modules/.pnpm/concat-map@0.0.1/node_modules/concat-map/index.js"(exports2, module2) { module2.exports = function(xs, fn) { var res = []; for (var i = 0; i < xs.length; i++) { var x = fn(xs[i], i); if (isArray(x)) res.push.apply(res, x); else res.push(x); } return res; }; var isArray = Array.isArray || function(xs) { return Object.prototype.toString.call(xs) === "[object Array]"; }; } }); // ../node_modules/.pnpm/brace-expansion@1.1.12/node_modules/brace-expansion/index.js var require_brace_expansion2 = __commonJS({ "../node_modules/.pnpm/brace-expansion@1.1.12/node_modules/brace-expansion/index.js"(exports2, module2) { var concatMap = require_concat_map(); var balanced = require_balanced_match(); module2.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("."); } 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 []; 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 || /\$$/.test(m.pre)) return [str]; 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) { 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) { n = expand(n[0], false).map(embrace); if (n.length === 1) { var post = m.post.length ? expand(m.post, false) : [""]; return post.map(function(p) { return m.pre + n[0] + p; }); } } } var pre = m.pre; var post = m.post.length ? expand(m.post, false) : [""]; 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 = concatMap(n, function(el) { return expand(el, 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; } } }); // ../node_modules/.pnpm/minimatch@3.1.2/node_modules/minimatch/minimatch.js var require_minimatch2 = __commonJS({ "../node_modules/.pnpm/minimatch@3.1.2/node_modules/minimatch/minimatch.js"(exports2, module2) { module2.exports = minimatch; minimatch.Minimatch = Minimatch; var path2 = (function() { try { return require("path"); } catch (e) { } })() || { sep: "/" }; minimatch.sep = path2.sep; var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}; var expand = require_brace_expansion2(); var plTypes = { "!": { open: "(?:(?!(?:", close: "))[^/]*?)" }, "?": { open: "(?:", close: ")?" }, "+": { open: "(?:", close: ")+" }, "*": { open: "(?:", close: ")*" }, "@": { open: "(?:", close: ")" } }; var qmark = "[^/]"; var star = qmark + "*?"; var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; var reSpecials = charSet("().*{}+?[]^$\\!"); function charSet(s) { return s.split("").reduce(function(set, c) { set[c] = true; return set; }, {}); } var slashSplit = /\/+/; minimatch.filter = filter; function filter(pattern, options) { options = options || {}; return function(p, i, list) { return minimatch(p, pattern, options); }; } function ext(a, b) { b = b || {}; var t = {}; Object.keys(a).forEach(function(k) { t[k] = a[k]; }); Object.keys(b).forEach(function(k) { t[k] = b[k]; }); return t; } minimatch.defaults = function(def) { if (!def || typeof def !== "object" || !Object.keys(def).length) { return minimatch; } var orig = minimatch; var m = function minimatch2(p, pattern, options) { return orig(p, pattern, ext(def, options)); }; m.Minimatch = function Minimatch2(pattern, options) { return new orig.Minimatch(pattern, ext(def, options)); }; m.Minimatch.defaults = function defaults(options) { return orig.defaults(ext(def, options)).Minimatch; }; m.filter = function filter2(pattern, options) { return orig.filter(pattern, ext(def, options)); }; m.defaults = function defaults(options) { return orig.defaults(ext(def, options)); }; m.makeRe = function makeRe2(pattern, options) { return orig.makeRe(pattern, ext(def, options)); }; m.braceExpand = function braceExpand2(pattern, options) { return orig.braceExpand(pattern, ext(def, options)); }; m.match = function(list, pattern, options) { return orig.match(list, pattern, ext(def, options)); }; return m; }; Minimatch.defaults = function(def) { return minimatch.defaults(def).Minimatch; }; function minimatch(p, pattern, options) { assertValidPattern(pattern); if (!options) options = {}; if (!options.nocomment && pattern.charAt(0) === "#") { return false; } return new Minimatch(pattern, options).match(p); } function Minimatch(pattern, options) { if (!(this instanceof Minimatch)) { return new Minimatch(pattern, options); } assertValidPattern(pattern); if (!options) options = {}; pattern = pattern.trim(); if (!options.allowWindowsEscape && path2.sep !== "/") { pattern = pattern.split(path2.sep).join("/"); } this.options = options; this.set = []; this.pattern = pattern; this.regexp = null; this.negate = false; this.comment = false; this.empty = false; this.partial = !!options.partial; this.make(); } Minimatch.prototype.debug = function() { }; Minimatch.prototype.make = make; function make() { var pattern = this.pattern; var options = this.options; if (!options.nocomment && pattern.charAt(0) === "#") { this.comment = true; return; } if (!pattern) { this.empty = true; return; } this.parseNegate(); var set = this.globSet = this.braceExpand(); if (options.debug) this.debug = function debug() { console.error.apply(console, arguments); }; this.debug(this.pattern, set); set = this.globParts = set.map(function(s) { return s.split(slashSplit); }); this.debug(this.pattern, set); set = set.map(function(s, si, set2) { return s.map(this.parse, this); }, this); this.debug(this.pattern, set); set = set.filter(function(s) { return s.indexOf(false) === -1; }); this.debug(this.pattern, set); this.set = set; } Minimatch.prototype.parseNegate = parseNegate; function parseNegate() { var pattern = this.pattern; var negate = false; var options = this.options; var negateOffset = 0; if (options.nonegate) return; for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) { negate = !negate; negateOffset++; } if (negateOffset) this.pattern = pattern.substr(negateOffset); this.negate = negate; } minimatch.braceExpand = function(pattern, options) { return braceExpand(pattern, options); }; Minimatch.prototype.braceExpand = braceExpand; function braceExpand(pattern, options) { if (!options) { if (this instanceof Minimatch) { options = this.options; } else { options = {}; } } pattern = typeof pattern === "undefined" ? this.pattern : pattern; assertValidPattern(pattern); if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { return [pattern]; } return expand(pattern); } var MAX_PATTERN_LENGTH = 1024 * 64; var assertValidPattern = function(pattern) { if (typeof pattern !== "string") { throw new TypeError("invalid pattern"); } if (pattern.length > MAX_PATTERN_LENGTH) { throw new TypeError("pattern is too long"); } }; Minimatch.prototype.parse = parse2; var SUBPARSE = {}; function parse2(pattern, isSub) { assertValidPattern(pattern); var options = this.options; if (pattern === "**") { if (!options.noglobstar) return GLOBSTAR; else pattern = "*"; } if (pattern === "") return ""; var re = ""; var hasMagic = !!options.nocase; var escaping = false; var patternListStack = []; var negativeLists = []; var stateChar; var inClass = false; var reClassStart = -1; var classStart = -1; var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; var self2 = this; function clearStateChar() { if (stateChar) { switch (stateChar) { case "*": re += star; hasMagic = true; break; case "?": re += qmark; hasMagic = true; break; default: re += "\\" + stateChar; break; } self2.debug("clearStateChar %j %j", stateChar, re); stateChar = false; } } for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) { this.debug("%s %s %s %j", pattern, i, re, c); if (escaping && reSpecials[c]) { re += "\\" + c; escaping = false; continue; } switch (c) { /* istanbul ignore next */ case "/": { return false; } case "\\": clearStateChar(); escaping = true; continue; // the various stateChar values // for the "extglob" stuff. case "?": case "*": case "+": case "@": case "!": this.debug("%s %s %s %j <-- stateChar", pattern, i, re, c); if (inClass) { this.debug(" in class"); if (c === "!" && i === classStart + 1) c = "^"; re += c; continue; } self2.debug("call clearStateChar %j", stateChar); clearStateChar(); stateChar = c; if (options.noext) clearStateChar(); continue; case "(": if (inClass) { re += "("; continue; } if (!stateChar) { re += "\\("; continue; } patternListStack.push({ type: stateChar, start: i - 1, reStart: re.length, open: plTypes[stateChar].open, close: plTypes[stateChar].close }); re += stateChar === "!" ? "(?:(?!(?:" : "(?:"; this.debug("plType %j %j", stateChar, re); stateChar = false; continue; case ")": if (inClass || !patternListStack.length) { re += "\\)"; continue; } clearStateChar(); hasMagic = true; var pl = patternListStack.pop(); re += pl.close; if (pl.type === "!") { negativeLists.push(pl); } pl.reEnd = re.length; continue; case "|": if (inClass || !patternListStack.length || escaping) { re += "\\|"; escaping = false; continue; } clearStateChar(); re += "|"; continue; // these are mostly the same in regexp and glob case "[": clearStateChar(); if (inClass) { re += "\\" + c; continue; } inClass = true; classStart = i; reClassStart = re.length; re += c; continue; case "]": if (i === classStart + 1 || !inClass) { re += "\\" + c; escaping = false; continue; } var cs = pattern.substring(classStart + 1, i); try { RegExp("[" + cs + "]"); } catch (er) { var sp = this.parse(cs, SUBPARSE); re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]"; hasMagic = hasMagic || sp[1]; inClass = false; continue; } hasMagic = true; inClass = false; re += c; continue; default: clearStateChar(); if (escaping) { escaping = false; } else if (reSpecials[c] && !(c === "^" && inClass)) { re += "\\"; } re += c; } } if (inClass) { cs = pattern.substr(classStart + 1); sp = this.parse(cs, SUBPARSE); re = re.substr(0, reClassStart) + "\\[" + sp[0]; hasMagic = hasMagic || sp[1]; } for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { var tail = re.slice(pl.reStart + pl.open.length); this.debug("setting tail", re, pl); tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_, $1, $2) { if (!$2) { $2 = "\\"; } return $1 + $1 + $2 + "|"; }); this.debug("tail=%j\n %s", tail, tail, pl, re); var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type; hasMagic = true; re = re.slice(0, pl.reStart) + t + "\\(" + tail; } clearStateChar(); if (escaping) { re += "\\\\"; } var addPatternStart = false; switch (re.charAt(0)) { case "[": case ".": case "(": addPatternStart = true; } for (var n = negativeLists.length - 1; n > -1; n--) { var nl = negativeLists[n]; var nlBefore = re.slice(0, nl.reStart); var nlFirst = re.slice(nl.reStart, nl.reEnd - 8); var nlLast = re.slice(nl.reEnd - 8, nl.reEnd); var nlAfter = re.slice(nl.reEnd); nlLast += nlAfter; var openParensBefore = nlBefore.split("(").length - 1; var cleanAfter = nlAfter; for (i = 0; i < openParensBefore; i++) { cleanAfter = cleanAfter.replace(/\)[+*?]?/, ""); } nlAfter = cleanAfter; var dollar = ""; if (nlAfter === "" && isSub !== SUBPARSE) { dollar = "$"; } var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast; re = newRe; } if (re !== "" && hasMagic) { re = "(?=.)" + re; } if (addPatternStart) { re = patternStart + re; } if (isSub === SUBPARSE) { return [re, hasMagic]; } if (!hasMagic) { return globUnescape(pattern); } var flags = options.nocase ? "i" : ""; try { var regExp = new RegExp("^" + re + "$", flags); } catch (er) { return new RegExp("$."); } regExp._glob = pattern; regExp._src = re; return regExp; } minimatch.makeRe = function(pattern, options) { return new Minimatch(pattern, options || {}).makeRe(); }; Minimatch.prototype.makeRe = makeRe; function makeRe() { if (this.regexp || this.regexp === false) return this.regexp; var set = this.set; if (!set.length) { this.regexp = false; return this.regexp; } var options = this.options; var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot; var flags = options.nocase ? "i" : ""; var re = set.map(function(pattern) { return pattern.map(function(p) { return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src; }).join("\\/"); }).join("|"); re = "^(?:" + re + ")$"; if (this.negate) re = "^(?!" + re + ").*$"; try { this.regexp = new RegExp(re, flags); } catch (ex) { this.regexp = false; } return this.regexp; } minimatch.match = function(list, pattern, options) { options = options || {}; var mm = new Minimatch(pattern, options); list = list.filter(function(f) { return mm.match(f); }); if (mm.options.nonull && !list.length) { list.push(pattern); } return list; }; Minimatch.prototype.match = function match(f, partial) { if (typeof partial === "undefined") partial = this.partial; this.debug("match", f, this.pattern); if (this.comment) return false; if (this.empty) return f === ""; if (f === "/" && partial) return true; var options = this.options; if (path2.sep !== "/") { f = f.split(path2.sep).join("/"); } f = f.split(slashSplit); this.debug(this.pattern, "split", f); var set = this.set; this.debug(this.pattern, "set", set); var filename; var i; for (i = f.length - 1; i >= 0; i--) { filename = f[i]; if (filename) break; } for (i = 0; i < set.length; i++) { var pattern = set[i]; var file = f; if (options.matchBase && pattern.length === 1) { file = [filename]; } var hit = this.matchOne(file, pattern, partial); if (hit) { if (options.flipNegate) return true; return !this.negate; } } if (options.flipNegate) return false; return this.negate; }; Minimatch.prototype.matchOne = function(file, pattern, partial) { var options = this.options; this.debug( "matchOne", { "this": this, file, pattern } ); this.debug("matchOne", file.length, pattern.length); for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) { this.debug("matchOne loop"); var p = pattern[pi]; var f = file[fi]; this.debug(pattern, p, f); if (p === false) return false; if (p === GLOBSTAR) { this.debug("GLOBSTAR", [pattern, p, f]); var fr = fi; var pr = pi + 1; if (pr === pl) { this.debug("** at the end"); for (; fi < fl; fi++) { if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false; } return true; } while (fr < fl) { var swallowee = file[fr]; this.debug("\nglobstar while", file, fr, pattern, pr, swallowee); if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { this.debug("globstar found match!", fr, fl, swallowee); return true; } else { if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") { this.debug("dot detected!", file, fr, pattern, pr); break; } this.debug("globstar swallow a segment, and continue"); fr++; } } if (partial) { this.debug("\n>>> no match, partial?", file, fr, pattern, pr); if (fr === fl) return true; } return false; } var hit; if (typeof p === "string") { hit = f === p; this.debug("string match", p, f, hit); } else { hit = f.match(p); this.debug("pattern match", p, f, hit); } if (!hit) return false; } if (fi === fl && pi === pl) { return true; } else if (fi === fl) { return partial; } else if (pi === pl) { return fi === fl - 1 && file[fi] === ""; } throw new Error("wtf?"); }; function globUnescape(s) { return s.replace(/\\(.)/g, "$1"); } function regExpEscape(s) { return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); } } }); // ../node_modules/.pnpm/path-is-absolute@1.0.1/node_modules/path-is-absolute/index.js var require_path_is_absolute = __commonJS({ "../node_modules/.pnpm/path-is-absolute@1.0.1/node_modules/path-is-absolute/index.js"(exports2, module2) { "use strict"; function posix(path2) { return path2.charAt(0) === "/"; } function win32(path2) { var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; var result2 = splitDeviceRe.exec(path2); var device = result2[1] || ""; var isUnc = Boolean(device && device.charAt(1) !== ":"); return Boolean(result2[2] || isUnc); } module2.exports = process.platform === "win32" ? win32 : posix; module2.exports.posix = posix; module2.exports.win32 = win32; } }); // ../node_modules/.pnpm/glob@7.2.3/node_modules/glob/common.js var require_common8 = __commonJS({ "../node_modules/.pnpm/glob@7.2.3/node_modules/glob/common.js"(exports2) { exports2.setopts = setopts; exports2.ownProp = ownProp; exports2.makeAbs = makeAbs; exports2.finish = finish; exports2.mark = mark; exports2.isIgnored = isIgnored; exports2.childrenIgnored = childrenIgnored; function ownProp(obj, field) { return Object.prototype.hasOwnProperty.call(obj, field); } var fs = require("fs"); var path2 = require("path"); var minimatch = require_minimatch2(); var isAbsolute = require_path_is_absolute(); var Minimatch = minimatch.Minimatch; function alphasort(a, b) { return a.localeCompare(b, "en"); } function setupIgnores(self2, options) { self2.ignore = options.ignore || []; if (!Array.isArray(self2.ignore)) self2.ignore = [self2.ignore]; if (self2.ignore.length) { self2.ignore = self2.ignore.map(ignoreMap); } } function ignoreMap(pattern) { var gmatcher = null; if (pattern.slice(-3) === "/**") { var gpattern = pattern.replace(/(\/\*\*)+$/, ""); gmatcher = new Minimatch(gpattern, { dot: true }); } return { matcher: new Minimatch(pattern, { dot: true }), gmatcher }; } function setopts(self2, pattern, options) { if (!options) options = {}; if (options.matchBase && -1 === pattern.indexOf("/")) { if (options.noglobstar) { throw new Error("base matching requires globstar"); } pattern = "**/" + pattern; } self2.silent = !!options.silent; self2.pattern = pattern; self2.strict = options.strict !== false; self2.realpath = !!options.realpath; self2.realpathCache = options.realpathCache || /* @__PURE__ */ Object.create(null); self2.follow = !!options.follow; self2.dot = !!options.dot; self2.mark = !!options.mark; self2.nodir = !!options.nodir; if (self2.nodir) self2.mark = true; self2.sync = !!options.sync; self2.nounique = !!options.nounique; self2.nonull = !!options.nonull; self2.nosort = !!options.nosort; self2.nocase = !!options.nocase; self2.stat = !!options.stat; self2.noprocess = !!options.noprocess; self2.absolute = !!options.absolute; self2.fs = options.fs || fs; self2.maxLength = options.maxLength || Infinity; self2.cache = options.cache || /* @__PURE__ */ Object.create(null); self2.statCache = options.statCache || /* @__PURE__ */ Object.create(null); self2.symlinks = options.symlinks || /* @__PURE__ */ Object.create(null); setupIgnores(self2, options); self2.changedCwd = false; var cwd = process.cwd(); if (!ownProp(options, "cwd")) self2.cwd = cwd; else { self2.cwd = path2.resolve(options.cwd); self2.changedCwd = self2.cwd !== cwd; } self2.root = options.root || path2.resolve(self2.cwd, "/"); self2.root = path2.resolve(self2.root); if (process.platform === "win32") self2.root = self2.root.replace(/\\/g, "/"); self2.cwdAbs = isAbsolute(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd); if (process.platform === "win32") self2.cwdAbs = self2.cwdAbs.replace(/\\/g, "/"); self2.nomount = !!options.nomount; options.nonegate = true; options.nocomment = true; options.allowWindowsEscape = false; self2.minimatch = new Minimatch(pattern, options); self2.options = self2.minimatch.options; } function finish(self2) { var nou = self2.nounique; var all = nou ? [] : /* @__PURE__ */ Object.create(null); for (var i = 0, l = self2.matches.length; i < l; i++) { var matches = self2.matches[i]; if (!matches || Object.keys(matches).length === 0) { if (self2.nonull) { var literal = self2.minimatch.globSet[i]; if (nou) all.push(literal); else all[literal] = true; } } else { var m = Object.keys(matches); if (nou) all.push.apply(all, m); else m.forEach(function(m2) { all[m2] = true; }); } } if (!nou) all = Object.keys(all); if (!self2.nosort) all = all.sort(alphasort); if (self2.mark) { for (var i = 0; i < all.length; i++) { all[i] = self2._mark(all[i]); } if (self2.nodir) { all = all.filter(function(e) { var notDir = !/\/$/.test(e); var c = self2.cache[e] || self2.cache[makeAbs(self2, e)]; if (notDir && c) notDir = c !== "DIR" && !Array.isArray(c); return notDir; }); } } if (self2.ignore.length) all = all.filter(function(m2) { return !isIgnored(self2, m2); }); self2.found = all; } function mark(self2, p) { var abs = makeAbs(self2, p); var c = self2.cache[abs]; var m = p; if (c) { var isDir = c === "DIR" || Array.isArray(c); var slash = p.slice(-1) === "/"; if (isDir && !slash) m += "/"; else if (!isDir && slash) m = m.slice(0, -1); if (m !== p) { var mabs = makeAbs(self2, m); self2.statCache[mabs] = self2.statCache[abs]; self2.cache[mabs] = self2.cache[abs]; } } return m; } function makeAbs(self2, f) { var abs = f; if (f.charAt(0) === "/") { abs = path2.join(self2.root, f); } else if (isAbsolute(f) || f === "") { abs = f; } else if (self2.changedCwd) { abs = path2.resolve(self2.cwd, f); } else { abs = path2.resolve(f); } if (process.platform === "win32") abs = abs.replace(/\\/g, "/"); return abs; } function isIgnored(self2, path3) { if (!self2.ignore.length) return false; return self2.ignore.some(function(item) { return item.matcher.match(path3) || !!(item.gmatcher && item.gmatcher.match(path3)); }); } function childrenIgnored(self2, path3) { if (!self2.ignore.length) return false; return self2.ignore.some(function(item) { return !!(item.gmatcher && item.gmatcher.match(path3)); }); } } }); // ../node_modules/.pnpm/glob@7.2.3/node_modules/glob/sync.js var require_sync9 = __commonJS({ "../node_modules/.pnpm/glob@7.2.3/node_modules/glob/sync.js"(exports2, module2) { module2.exports = globSync; globSync.GlobSync = GlobSync; var rp = require_fs2(); var minimatch = require_minimatch2(); var Minimatch = minimatch.Minimatch; var Glob = require_glob2().Glob; var util = require("util"); var path2 = require("path"); var assert = require("assert"); var isAbsolute = require_path_is_absolute(); var common = require_common8(); var setopts = common.setopts; var ownProp = common.ownProp; var childrenIgnored = common.childrenIgnored; var isIgnored = common.isIgnored; function globSync(pattern, options) { if (typeof options === "function" || arguments.length === 3) throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167"); return new GlobSync(pattern, options).found; } function GlobSync(pattern, options) { if (!pattern) throw new Error("must provide pattern"); if (typeof options === "function" || arguments.length === 3) throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167"); if (!(this instanceof GlobSync)) return new GlobSync(pattern, options); setopts(this, pattern, options); if (this.noprocess) return this; var n = this.minimatch.set.length; this.matches = new Array(n); for (var i = 0; i < n; i++) { this._process(this.minimatch.set[i], i, false); } this._finish(); } GlobSync.prototype._finish = function() { assert.ok(this instanceof GlobSync); if (this.realpath) { var self2 = this; this.matches.forEach(function(matchset, index) { var set = self2.matches[index] = /* @__PURE__ */ Object.create(null); for (var p in matchset) { try { p = self2._makeAbs(p); var real = rp.realpathSync(p, self2.realpathCache); set[real] = true; } catch (er) { if (er.syscall === "stat") set[self2._makeAbs(p)] = true; else throw er; } } }); } common.finish(this); }; GlobSync.prototype._process = function(pattern, index, inGlobStar) { assert.ok(this instanceof GlobSync); var n = 0; while (typeof pattern[n] === "string") { n++; } var prefix; switch (n) { // if not, then this is rather simple case pattern.length: this._processSimple(pattern.join("/"), index); return; case 0: prefix = null; break; default: prefix = pattern.slice(0, n).join("/"); break; } var remain = pattern.slice(n); var read; if (prefix === null) read = "."; else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) { return typeof p === "string" ? p : "[*]"; }).join("/"))) { if (!prefix || !isAbsolute(prefix)) prefix = "/" + prefix; read = prefix; } else read = prefix; var abs = this._makeAbs(read); if (childrenIgnored(this, read)) return; var isGlobStar = remain[0] === minimatch.GLOBSTAR; if (isGlobStar) this._processGlobStar(prefix, read, abs, remain, index, inGlobStar); else this._processReaddir(prefix, read, abs, remain, index, inGlobStar); }; GlobSync.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar) { var entries = this._readdir(abs, inGlobStar); if (!entries) return; var pn = remain[0]; var negate = !!this.minimatch.negate; var rawGlob = pn._glob; var dotOk = this.dot || rawGlob.charAt(0) === "."; var matchedEntries = []; for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (e.charAt(0) !== "." || dotOk) { var m; if (negate && !prefix) { m = !e.match(pn); } else { m = e.match(pn); } if (m) matchedEntries.push(e); } } var len = matchedEntries.length; if (len === 0) return; if (remain.length === 1 && !this.mark && !this.stat) { if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; if (prefix) { if (prefix.slice(-1) !== "/") e = prefix + "/" + e; else e = prefix + e; } if (e.charAt(0) === "/" && !this.nomount) { e = path2.join(this.root, e); } this._emitMatch(index, e); } return; } remain.shift(); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; var newPattern; if (prefix) newPattern = [prefix, e]; else newPattern = [e]; this._process(newPattern.concat(remain), index, inGlobStar); } }; GlobSync.prototype._emitMatch = function(index, e) { if (isIgnored(this, e)) return; var abs = this._makeAbs(e); if (this.mark) e = this._mark(e); if (this.absolute) { e = abs; } if (this.matches[index][e]) return; if (this.nodir) { var c = this.cache[abs]; if (c === "DIR" || Array.isArray(c)) return; } this.matches[index][e] = true; if (this.stat) this._stat(e); }; GlobSync.prototype._readdirInGlobStar = function(abs) { if (this.follow) return this._readdir(abs, false); var entries; var lstat; var stat; try { lstat = this.fs.lstatSync(abs); } catch (er) { if (er.code === "ENOENT") { return null; } } var isSym = lstat && lstat.isSymbolicLink(); this.symlinks[abs] = isSym; if (!isSym && lstat && !lstat.isDirectory()) this.cache[abs] = "FILE"; else entries = this._readdir(abs, false); return entries; }; GlobSync.prototype._readdir = function(abs, inGlobStar) { var entries; if (inGlobStar && !ownProp(this.symlinks, abs)) return this._readdirInGlobStar(abs); if (ownProp(this.cache, abs)) { var c = this.cache[abs]; if (!c || c === "FILE") return null; if (Array.isArray(c)) return c; } try { return this._readdirEntries(abs, this.fs.readdirSync(abs)); } catch (er) { this._readdirError(abs, er); return null; } }; GlobSync.prototype._readdirEntries = function(abs, entries) { if (!this.mark && !this.stat) { for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (abs === "/") e = abs + e; else e = abs + "/" + e; this.cache[e] = true; } } this.cache[abs] = entries; return entries; }; GlobSync.prototype._readdirError = function(f, er) { switch (er.code) { case "ENOTSUP": // https://github.com/isaacs/node-glob/issues/205 case "ENOTDIR": var abs = this._makeAbs(f); this.cache[abs] = "FILE"; if (abs === this.cwdAbs) { var error = new Error(er.code + " invalid cwd " + this.cwd); error.path = this.cwd; error.code = er.code; throw error; } break; case "ENOENT": // not terribly unusual case "ELOOP": case "ENAMETOOLONG": case "UNKNOWN": this.cache[this._makeAbs(f)] = false; break; default: this.cache[this._makeAbs(f)] = false; if (this.strict) throw er; if (!this.silent) console.error("glob error", er); break; } }; GlobSync.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar) { var entries = this._readdir(abs, inGlobStar); if (!entries) return; var remainWithoutGlobStar = remain.slice(1); var gspref = prefix ? [prefix] : []; var noGlobStar = gspref.concat(remainWithoutGlobStar); this._process(noGlobStar, index, false); var len = entries.length; var isSym = this.symlinks[abs]; if (isSym && inGlobStar) return; for (var i = 0; i < len; i++) { var e = entries[i]; if (e.charAt(0) === "." && !this.dot) continue; var instead = gspref.concat(entries[i], remainWithoutGlobStar); this._process(instead, index, true); var below = gspref.concat(entries[i], remain); this._process(below, index, true); } }; GlobSync.prototype._processSimple = function(prefix, index) { var exists = this._stat(prefix); if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); if (!exists) return; if (prefix && isAbsolute(prefix) && !this.nomount) { var trail = /[\/\\]$/.test(prefix); if (prefix.charAt(0) === "/") { prefix = path2.join(this.root, prefix); } else { prefix = path2.resolve(this.root, prefix); if (trail) prefix += "/"; } } if (process.platform === "win32") prefix = prefix.replace(/\\/g, "/"); this._emitMatch(index, prefix); }; GlobSync.prototype._stat = function(f) { var abs = this._makeAbs(f); var needDir = f.slice(-1) === "/"; if (f.length > this.maxLength) return false; if (!this.stat && ownProp(this.cache, abs)) { var c = this.cache[abs]; if (Array.isArray(c)) c = "DIR"; if (!needDir || c === "DIR") return c; if (needDir && c === "FILE") return false; } var exists; var stat = this.statCache[abs]; if (!stat) { var lstat; try { lstat = this.fs.lstatSync(abs); } catch (er) { if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) { this.statCache[abs] = false; return false; } } if (lstat && lstat.isSymbolicLink()) { try { stat = this.fs.statSync(abs); } catch (er) { stat = lstat; } } else { stat = lstat; } } this.statCache[abs] = stat; var c = true; if (stat) c = stat.isDirectory() ? "DIR" : "FILE"; this.cache[abs] = this.cache[abs] || c; if (needDir && c === "FILE") return false; return c; }; GlobSync.prototype._mark = function(p) { return common.mark(this, p); }; GlobSync.prototype._makeAbs = function(f) { return common.makeAbs(this, f); }; } }); // ../node_modules/.pnpm/glob@7.2.3/node_modules/glob/glob.js var require_glob2 = __commonJS({ "../node_modules/.pnpm/glob@7.2.3/node_modules/glob/glob.js"(exports2, module2) { module2.exports = glob; var rp = require_fs2(); var minimatch = require_minimatch2(); var Minimatch = minimatch.Minimatch; var inherits = require_inherits(); var EE = require("events").EventEmitter; var path2 = require("path"); var assert = require("assert"); var isAbsolute = require_path_is_absolute(); var globSync = require_sync9(); var common = require_common8(); var setopts = common.setopts; var ownProp = common.ownProp; var inflight = require_inflight(); var util = require("util"); var childrenIgnored = common.childrenIgnored; var isIgnored = common.isIgnored; var once = require_once(); function glob(pattern, options, cb) { if (typeof options === "function") cb = options, options = {}; if (!options) options = {}; if (options.sync) { if (cb) throw new TypeError("callback provided to sync glob"); return globSync(pattern, options); } return new Glob(pattern, options, cb); } glob.sync = globSync; var GlobSync = glob.GlobSync = globSync.GlobSync; glob.glob = glob; function extend(origin, add) { if (add === null || typeof add !== "object") { return origin; } var keys = Object.keys(add); var i = keys.length; while (i--) { origin[keys[i]] = add[keys[i]]; } return origin; } glob.hasMagic = function(pattern, options_) { var options = extend({}, options_); options.noprocess = true; var g = new Glob(pattern, options); var set = g.minimatch.set; if (!pattern) return false; if (set.length > 1) return true; for (var j = 0; j < set[0].length; j++) { if (typeof set[0][j] !== "string") return true; } return false; }; glob.Glob = Glob; inherits(Glob, EE); function Glob(pattern, options, cb) { if (typeof options === "function") { cb = options; options = null; } if (options && options.sync) { if (cb) throw new TypeError("callback provided to sync glob"); return new GlobSync(pattern, options); } if (!(this instanceof Glob)) return new Glob(pattern, options, cb); setopts(this, pattern, options); this._didRealPath = false; var n = this.minimatch.set.length; this.matches = new Array(n); if (typeof cb === "function") { cb = once(cb); this.on("error", cb); this.on("end", function(matches) { cb(null, matches); }); } var self2 = this; this._processing = 0; this._emitQueue = []; this._processQueue = []; this.paused = false; if (this.noprocess) return this; if (n === 0) return done(); var sync = true; for (var i = 0; i < n; i++) { this._process(this.minimatch.set[i], i, false, done); } sync = false; function done() { --self2._processing; if (self2._processing <= 0) { if (sync) { process.nextTick(function() { self2._finish(); }); } else { self2._finish(); } } } } Glob.prototype._finish = function() { assert(this instanceof Glob); if (this.aborted) return; if (this.realpath && !this._didRealpath) return this._realpath(); common.finish(this); this.emit("end", this.found); }; Glob.prototype._realpath = function() { if (this._didRealpath) return; this._didRealpath = true; var n = this.matches.length; if (n === 0) return this._finish(); var self2 = this; for (var i = 0; i < this.matches.length; i++) this._realpathSet(i, next); function next() { if (--n === 0) self2._finish(); } }; Glob.prototype._realpathSet = function(index, cb) { var matchset = this.matches[index]; if (!matchset) return cb(); var found = Object.keys(matchset); var self2 = this; var n = found.length; if (n === 0) return cb(); var set = this.matches[index] = /* @__PURE__ */ Object.create(null); found.forEach(function(p, i) { p = self2._makeAbs(p); rp.realpath(p, self2.realpathCache, function(er, real) { if (!er) set[real] = true; else if (er.syscall === "stat") set[p] = true; else self2.emit("error", er); if (--n === 0) { self2.matches[index] = set; cb(); } }); }); }; Glob.prototype._mark = function(p) { return common.mark(this, p); }; Glob.prototype._makeAbs = function(f) { return common.makeAbs(this, f); }; Glob.prototype.abort = function() { this.aborted = true; this.emit("abort"); }; Glob.prototype.pause = function() { if (!this.paused) { this.paused = true; this.emit("pause"); } }; Glob.prototype.resume = function() { if (this.paused) { this.emit("resume"); this.paused = false; if (this._emitQueue.length) { var eq = this._emitQueue.slice(0); this._emitQueue.length = 0; for (var i = 0; i < eq.length; i++) { var e = eq[i]; this._emitMatch(e[0], e[1]); } } if (this._processQueue.length) { var pq = this._processQueue.slice(0); this._processQueue.length = 0; for (var i = 0; i < pq.length; i++) { var p = pq[i]; this._processing--; this._process(p[0], p[1], p[2], p[3]); } } } }; Glob.prototype._process = function(pattern, index, inGlobStar, cb) { assert(this instanceof Glob); assert(typeof cb === "function"); if (this.aborted) return; this._processing++; if (this.paused) { this._processQueue.push([pattern, index, inGlobStar, cb]); return; } var n = 0; while (typeof pattern[n] === "string") { n++; } var prefix; switch (n) { // if not, then this is rather simple case pattern.length: this._processSimple(pattern.join("/"), index, cb); return; case 0: prefix = null; break; default: prefix = pattern.slice(0, n).join("/"); break; } var remain = pattern.slice(n); var read; if (prefix === null) read = "."; else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) { return typeof p === "string" ? p : "[*]"; }).join("/"))) { if (!prefix || !isAbsolute(prefix)) prefix = "/" + prefix; read = prefix; } else read = prefix; var abs = this._makeAbs(read); if (childrenIgnored(this, read)) return cb(); var isGlobStar = remain[0] === minimatch.GLOBSTAR; if (isGlobStar) this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb); else this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb); }; Glob.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar, cb) { var self2 = this; this._readdir(abs, inGlobStar, function(er, entries) { return self2._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb); }); }; Glob.prototype._processReaddir2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) { if (!entries) return cb(); var pn = remain[0]; var negate = !!this.minimatch.negate; var rawGlob = pn._glob; var dotOk = this.dot || rawGlob.charAt(0) === "."; var matchedEntries = []; for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (e.charAt(0) !== "." || dotOk) { var m; if (negate && !prefix) { m = !e.match(pn); } else { m = e.match(pn); } if (m) matchedEntries.push(e); } } var len = matchedEntries.length; if (len === 0) return cb(); if (remain.length === 1 && !this.mark && !this.stat) { if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; if (prefix) { if (prefix !== "/") e = prefix + "/" + e; else e = prefix + e; } if (e.charAt(0) === "/" && !this.nomount) { e = path2.join(this.root, e); } this._emitMatch(index, e); } return cb(); } remain.shift(); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; var newPattern; if (prefix) { if (prefix !== "/") e = prefix + "/" + e; else e = prefix + e; } this._process([e].concat(remain), index, inGlobStar, cb); } cb(); }; Glob.prototype._emitMatch = function(index, e) { if (this.aborted) return; if (isIgnored(this, e)) return; if (this.paused) { this._emitQueue.push([index, e]); return; } var abs = isAbsolute(e) ? e : this._makeAbs(e); if (this.mark) e = this._mark(e); if (this.absolute) e = abs; if (this.matches[index][e]) return; if (this.nodir) { var c = this.cache[abs]; if (c === "DIR" || Array.isArray(c)) return; } this.matches[index][e] = true; var st = this.statCache[abs]; if (st) this.emit("stat", e, st); this.emit("match", e); }; Glob.prototype._readdirInGlobStar = function(abs, cb) { if (this.aborted) return; if (this.follow) return this._readdir(abs, false, cb); var lstatkey = "lstat\0" + abs; var self2 = this; var lstatcb = inflight(lstatkey, lstatcb_); if (lstatcb) self2.fs.lstat(abs, lstatcb); function lstatcb_(er, lstat) { if (er && er.code === "ENOENT") return cb(); var isSym = lstat && lstat.isSymbolicLink(); self2.symlinks[abs] = isSym; if (!isSym && lstat && !lstat.isDirectory()) { self2.cache[abs] = "FILE"; cb(); } else self2._readdir(abs, false, cb); } }; Glob.prototype._readdir = function(abs, inGlobStar, cb) { if (this.aborted) return; cb = inflight("readdir\0" + abs + "\0" + inGlobStar, cb); if (!cb) return; if (inGlobStar && !ownProp(this.symlinks, abs)) return this._readdirInGlobStar(abs, cb); if (ownProp(this.cache, abs)) { var c = this.cache[abs]; if (!c || c === "FILE") return cb(); if (Array.isArray(c)) return cb(null, c); } var self2 = this; self2.fs.readdir(abs, readdirCb(this, abs, cb)); }; function readdirCb(self2, abs, cb) { return function(er, entries) { if (er) self2._readdirError(abs, er, cb); else self2._readdirEntries(abs, entries, cb); }; } Glob.prototype._readdirEntries = function(abs, entries, cb) { if (this.aborted) return; if (!this.mark && !this.stat) { for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (abs === "/") e = abs + e; else e = abs + "/" + e; this.cache[e] = true; } } this.cache[abs] = entries; return cb(null, entries); }; Glob.prototype._readdirError = function(f, er, cb) { if (this.aborted) return; switch (er.code) { case "ENOTSUP": // https://github.com/isaacs/node-glob/issues/205 case "ENOTDIR": var abs = this._makeAbs(f); this.cache[abs] = "FILE"; if (abs === this.cwdAbs) { var error = new Error(er.code + " invalid cwd " + this.cwd); error.path = this.cwd; error.code = er.code; this.emit("error", error); this.abort(); } break; case "ENOENT": // not terribly unusual case "ELOOP": case "ENAMETOOLONG": case "UNKNOWN": this.cache[this._makeAbs(f)] = false; break; default: this.cache[this._makeAbs(f)] = false; if (this.strict) { this.emit("error", er); this.abort(); } if (!this.silent) console.error("glob error", er); break; } return cb(); }; Glob.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar, cb) { var self2 = this; this._readdir(abs, inGlobStar, function(er, entries) { self2._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb); }); }; Glob.prototype._processGlobStar2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) { if (!entries) return cb(); var remainWithoutGlobStar = remain.slice(1); var gspref = prefix ? [prefix] : []; var noGlobStar = gspref.concat(remainWithoutGlobStar); this._process(noGlobStar, index, false, cb); var isSym = this.symlinks[abs]; var len = entries.length; if (isSym && inGlobStar) return cb(); for (var i = 0; i < len; i++) { var e = entries[i]; if (e.charAt(0) === "." && !this.dot) continue; var instead = gspref.concat(entries[i], remainWithoutGlobStar); this._process(instead, index, true, cb); var below = gspref.concat(entries[i], remain); this._process(below, index, true, cb); } cb(); }; Glob.prototype._processSimple = function(prefix, index, cb) { var self2 = this; this._stat(prefix, function(er, exists) { self2._processSimple2(prefix, index, er, exists, cb); }); }; Glob.prototype._processSimple2 = function(prefix, index, er, exists, cb) { if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); if (!exists) return cb(); if (prefix && isAbsolute(prefix) && !this.nomount) { var trail = /[\/\\]$/.test(prefix); if (prefix.charAt(0) === "/") { prefix = path2.join(this.root, prefix); } else { prefix = path2.resolve(this.root, prefix); if (trail) prefix += "/"; } } if (process.platform === "win32") prefix = prefix.replace(/\\/g, "/"); this._emitMatch(index, prefix); cb(); }; Glob.prototype._stat = function(f, cb) { var abs = this._makeAbs(f); var needDir = f.slice(-1) === "/"; if (f.length > this.maxLength) return cb(); if (!this.stat && ownProp(this.cache, abs)) { var c = this.cache[abs]; if (Array.isArray(c)) c = "DIR"; if (!needDir || c === "DIR") return cb(null, c); if (needDir && c === "FILE") return cb(); } var exists; var stat = this.statCache[abs]; if (stat !== void 0) { if (stat === false) return cb(null, stat); else { var type = stat.isDirectory() ? "DIR" : "FILE"; if (needDir && type === "FILE") return cb(); else return cb(null, type, stat); } } var self2 = this; var statcb = inflight("stat\0" + abs, lstatcb_); if (statcb) self2.fs.lstat(abs, statcb); function lstatcb_(er, lstat) { if (lstat && lstat.isSymbolicLink()) { return self2.fs.stat(abs, function(er2, stat2) { if (er2) self2._stat2(f, abs, null, lstat, cb); else self2._stat2(f, abs, er2, stat2, cb); }); } else { self2._stat2(f, abs, er, lstat, cb); } } }; Glob.prototype._stat2 = function(f, abs, er, stat, cb) { if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) { this.statCache[abs] = false; return cb(); } var needDir = f.slice(-1) === "/"; this.statCache[abs] = stat; if (abs.slice(-1) === "/" && stat && !stat.isDirectory()) return cb(null, false, stat); var c = true; if (stat) c = stat.isDirectory() ? "DIR" : "FILE"; this.cache[abs] = this.cache[abs] || c; if (needDir && c === "FILE") return cb(); return cb(null, c, stat); }; } }); // ../node_modules/.pnpm/rimraf@3.0.2/node_modules/rimraf/rimraf.js var require_rimraf2 = __commonJS({ "../node_modules/.pnpm/rimraf@3.0.2/node_modules/rimraf/rimraf.js"(exports2, module2) { var assert = require("assert"); var path2 = require("path"); var fs = require("fs"); var glob = void 0; try { glob = require_glob2(); } catch (_err) { } var defaultGlobOpts = { nosort: true, silent: true }; var timeout = 0; var isWindows = process.platform === "win32"; var defaults = (options) => { const methods = [ "unlink", "chmod", "stat", "lstat", "rmdir", "readdir" ]; methods.forEach((m) => { options[m] = options[m] || fs[m]; m = m + "Sync"; options[m] = options[m] || fs[m]; }); options.maxBusyTries = options.maxBusyTries || 3; options.emfileWait = options.emfileWait || 1e3; if (options.glob === false) { options.disableGlob = true; } if (options.disableGlob !== true && glob === void 0) { throw Error("glob dependency not found, set `options.disableGlob = true` if intentional"); } options.disableGlob = options.disableGlob || false; options.glob = options.glob || defaultGlobOpts; }; var rimraf = (p, options, cb) => { if (typeof options === "function") { cb = options; options = {}; } assert(p, "rimraf: missing path"); assert.equal(typeof p, "string", "rimraf: path should be a string"); assert.equal(typeof cb, "function", "rimraf: callback function required"); assert(options, "rimraf: invalid options argument provided"); assert.equal(typeof options, "object", "rimraf: options should be object"); defaults(options); let busyTries = 0; let errState = null; let n = 0; const next = (er) => { errState = errState || er; if (--n === 0) cb(errState); }; const afterGlob = (er, results) => { if (er) return cb(er); n = results.length; if (n === 0) return cb(); results.forEach((p2) => { const CB = (er2) => { if (er2) { if ((er2.code === "EBUSY" || er2.code === "ENOTEMPTY" || er2.code === "EPERM") && busyTries < options.maxBusyTries) { busyTries++; return setTimeout(() => rimraf_(p2, options, CB), busyTries * 100); } if (er2.code === "EMFILE" && timeout < options.emfileWait) { return setTimeout(() => rimraf_(p2, options, CB), timeout++); } if (er2.code === "ENOENT") er2 = null; } timeout = 0; next(er2); }; rimraf_(p2, options, CB); }); }; if (options.disableGlob || !glob.hasMagic(p)) return afterGlob(null, [p]); options.lstat(p, (er, stat) => { if (!er) return afterGlob(null, [p]); glob(p, options.glob, afterGlob); }); }; var rimraf_ = (p, options, cb) => { assert(p); assert(options); assert(typeof cb === "function"); options.lstat(p, (er, st) => { if (er && er.code === "ENOENT") return cb(null); if (er && er.code === "EPERM" && isWindows) fixWinEPERM(p, options, er, cb); if (st && st.isDirectory()) return rmdir(p, options, er, cb); options.unlink(p, (er2) => { if (er2) { if (er2.code === "ENOENT") return cb(null); if (er2.code === "EPERM") return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb); if (er2.code === "EISDIR") return rmdir(p, options, er2, cb); } return cb(er2); }); }); }; var fixWinEPERM = (p, options, er, cb) => { assert(p); assert(options); assert(typeof cb === "function"); options.chmod(p, 438, (er2) => { if (er2) cb(er2.code === "ENOENT" ? null : er); else options.stat(p, (er3, stats) => { if (er3) cb(er3.code === "ENOENT" ? null : er); else if (stats.isDirectory()) rmdir(p, options, er, cb); else options.unlink(p, cb); }); }); }; var fixWinEPERMSync = (p, options, er) => { assert(p); assert(options); try { options.chmodSync(p, 438); } catch (er2) { if (er2.code === "ENOENT") return; else throw er; } let stats; try { stats = options.statSync(p); } catch (er3) { if (er3.code === "ENOENT") return; else throw er; } if (stats.isDirectory()) rmdirSync(p, options, er); else options.unlinkSync(p); }; var rmdir = (p, options, originalEr, cb) => { assert(p); assert(options); assert(typeof cb === "function"); options.rmdir(p, (er) => { if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) rmkids(p, options, cb); else if (er && er.code === "ENOTDIR") cb(originalEr); else cb(er); }); }; var rmkids = (p, options, cb) => { assert(p); assert(options); assert(typeof cb === "function"); options.readdir(p, (er, files) => { if (er) return cb(er); let n = files.length; if (n === 0) return options.rmdir(p, cb); let errState; files.forEach((f) => { rimraf(path2.join(p, f), options, (er2) => { if (errState) return; if (er2) return cb(errState = er2); if (--n === 0) options.rmdir(p, cb); }); }); }); }; var rimrafSync = (p, options) => { options = options || {}; defaults(options); assert(p, "rimraf: missing path"); assert.equal(typeof p, "string", "rimraf: path should be a string"); assert(options, "rimraf: missing options"); assert.equal(typeof options, "object", "rimraf: options should be object"); let results; if (options.disableGlob || !glob.hasMagic(p)) { results = [p]; } else { try { options.lstatSync(p); results = [p]; } catch (er) { results = glob.sync(p, options.glob); } } if (!results.length) return; for (let i = 0; i < results.length; i++) { const p2 = results[i]; let st; try { st = options.lstatSync(p2); } catch (er) { if (er.code === "ENOENT") return; if (er.code === "EPERM" && isWindows) fixWinEPERMSync(p2, options, er); } try { if (st && st.isDirectory()) rmdirSync(p2, options, null); else options.unlinkSync(p2); } catch (er) { if (er.code === "ENOENT") return; if (er.code === "EPERM") return isWindows ? fixWinEPERMSync(p2, options, er) : rmdirSync(p2, options, er); if (er.code !== "EISDIR") throw er; rmdirSync(p2, options, er); } } }; var rmdirSync = (p, options, originalEr) => { assert(p); assert(options); try { options.rmdirSync(p); } catch (er) { if (er.code === "ENOENT") return; if (er.code === "ENOTDIR") throw originalEr; if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") rmkidsSync(p, options); } }; var rmkidsSync = (p, options) => { assert(p); assert(options); options.readdirSync(p).forEach((f) => rimrafSync(path2.join(p, f), options)); const retries = isWindows ? 100 : 1; let i = 0; do { let threw = true; try { const ret2 = options.rmdirSync(p, options); threw = false; return ret2; } finally { if (++i < retries && threw) continue; } } while (true); }; module2.exports = rimraf; rimraf.sync = rimrafSync; } }); // ../node_modules/.pnpm/indent-string@4.0.0/node_modules/indent-string/index.js var require_indent_string = __commonJS({ "../node_modules/.pnpm/indent-string@4.0.0/node_modules/indent-string/index.js"(exports2, module2) { "use strict"; module2.exports = (string, count = 1, options) => { options = { indent: " ", includeEmptyLines: false, ...options }; if (typeof string !== "string") { throw new TypeError( `Expected \`input\` to be a \`string\`, got \`${typeof string}\`` ); } if (typeof count !== "number") { throw new TypeError( `Expected \`count\` to be a \`number\`, got \`${typeof count}\`` ); } if (typeof options.indent !== "string") { throw new TypeError( `Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\`` ); } if (count === 0) { return string; } const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm; return string.replace(regex, options.indent.repeat(count)); }; } }); // ../node_modules/.pnpm/clean-stack@2.2.0/node_modules/clean-stack/index.js var require_clean_stack = __commonJS({ "../node_modules/.pnpm/clean-stack@2.2.0/node_modules/clean-stack/index.js"(exports2, module2) { "use strict"; var os = require("os"); var extractPathRegex = /\s+at.*(?:\(|\s)(.*)\)?/; var pathRegex = /^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/; var homeDir = typeof os.homedir === "undefined" ? "" : os.homedir(); module2.exports = (stack, options) => { options = Object.assign({ pretty: false }, options); return stack.replace(/\\/g, "/").split("\n").filter((line) => { const pathMatches = line.match(extractPathRegex); if (pathMatches === null || !pathMatches[1]) { return true; } const match = pathMatches[1]; if (match.includes(".app/Contents/Resources/electron.asar") || match.includes(".app/Contents/Resources/default_app.asar")) { return false; } return !pathRegex.test(match); }).filter((line) => line.trim() !== "").map((line) => { if (options.pretty) { return line.replace(extractPathRegex, (m, p1) => m.replace(p1, p1.replace(homeDir, "~"))); } return line; }).join("\n"); }; } }); // ../node_modules/.pnpm/aggregate-error@3.1.0/node_modules/aggregate-error/index.js var require_aggregate_error = __commonJS({ "../node_modules/.pnpm/aggregate-error@3.1.0/node_modules/aggregate-error/index.js"(exports2, module2) { "use strict"; var indentString = require_indent_string(); var cleanStack = require_clean_stack(); var cleanInternalStack = (stack) => stack.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, ""); var AggregateError2 = class extends Error { constructor(errors) { if (!Array.isArray(errors)) { throw new TypeError(`Expected input to be an Array, got ${typeof errors}`); } errors = [...errors].map((error) => { if (error instanceof Error) { return error; } if (error !== null && typeof error === "object") { return Object.assign(new Error(error.message), error); } return new Error(error); }); let message = errors.map((error) => { return typeof error.stack === "string" ? cleanInternalStack(cleanStack(error.stack)) : String(error); }).join("\n"); message = "\n" + indentString(message, 4); super(message); this.name = "AggregateError"; Object.defineProperty(this, "_errors", { value: errors }); } *[Symbol.iterator]() { for (const error of this._errors) { yield error; } } }; module2.exports = AggregateError2; } }); // ../node_modules/.pnpm/p-map@4.0.0/node_modules/p-map/index.js var require_p_map = __commonJS({ "../node_modules/.pnpm/p-map@4.0.0/node_modules/p-map/index.js"(exports2, module2) { "use strict"; var AggregateError2 = require_aggregate_error(); module2.exports = async (iterable, mapper, { concurrency = Infinity, stopOnError = true } = {}) => { return new Promise((resolve, reject) => { if (typeof mapper !== "function") { throw new TypeError("Mapper function is required"); } if (!((Number.isSafeInteger(concurrency) || concurrency === Infinity) && concurrency >= 1)) { throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${concurrency}\` (${typeof concurrency})`); } const result2 = []; const errors = []; const iterator = iterable[Symbol.iterator](); let isRejected = false; let isIterableDone = false; let resolvingCount = 0; let currentIndex = 0; const next = () => { if (isRejected) { return; } const nextItem = iterator.next(); const index = currentIndex; currentIndex++; if (nextItem.done) { isIterableDone = true; if (resolvingCount === 0) { if (!stopOnError && errors.length !== 0) { reject(new AggregateError2(errors)); } else { resolve(result2); } } return; } resolvingCount++; (async () => { try { const element = await nextItem.value; result2[index] = await mapper(element, index); resolvingCount--; next(); } catch (error) { if (stopOnError) { isRejected = true; reject(error); } else { errors.push(error); resolvingCount--; next(); } } })(); }; for (let i = 0; i < concurrency; i++) { next(); if (isIterableDone) { break; } } }); }; } }); // ../node_modules/.pnpm/del@6.1.1/node_modules/del/index.js var require_del = __commonJS({ "../node_modules/.pnpm/del@6.1.1/node_modules/del/index.js"(exports2, module2) { "use strict"; var { promisify } = require("util"); var path2 = require("path"); var globby = require_globby(); var isGlob = require_is_glob(); var slash = require_slash(); var gracefulFs = require_graceful_fs(); var isPathCwd = require_is_path_cwd(); var isPathInside = require_is_path_inside(); var rimraf = require_rimraf2(); var pMap = require_p_map(); var rimrafP = promisify(rimraf); var rimrafOptions = { glob: false, unlink: gracefulFs.unlink, unlinkSync: gracefulFs.unlinkSync, chmod: gracefulFs.chmod, chmodSync: gracefulFs.chmodSync, stat: gracefulFs.stat, statSync: gracefulFs.statSync, lstat: gracefulFs.lstat, lstatSync: gracefulFs.lstatSync, rmdir: gracefulFs.rmdir, rmdirSync: gracefulFs.rmdirSync, readdir: gracefulFs.readdir, readdirSync: gracefulFs.readdirSync }; function safeCheck(file, cwd) { if (isPathCwd(file)) { throw new Error("Cannot delete the current working directory. Can be overridden with the `force` option."); } if (!isPathInside(file, cwd)) { throw new Error("Cannot delete files/directories outside the current working directory. Can be overridden with the `force` option."); } } function normalizePatterns(patterns) { patterns = Array.isArray(patterns) ? patterns : [patterns]; patterns = patterns.map((pattern) => { if (process.platform === "win32" && isGlob(pattern) === false) { return slash(pattern); } return pattern; }); return patterns; } module2.exports = async (patterns, { force, dryRun, cwd = process.cwd(), onProgress = () => { }, ...options } = {}) => { options = { expandDirectories: false, onlyFiles: false, followSymbolicLinks: false, cwd, ...options }; patterns = normalizePatterns(patterns); const files = (await globby(patterns, options)).sort((a, b) => b.localeCompare(a)); if (files.length === 0) { onProgress({ totalCount: 0, deletedCount: 0, percent: 1 }); } let deletedCount = 0; const mapper = async (file) => { file = path2.resolve(cwd, file); if (!force) { safeCheck(file, cwd); } if (!dryRun) { await rimrafP(file, rimrafOptions); } deletedCount += 1; onProgress({ totalCount: files.length, deletedCount, percent: deletedCount / files.length }); return file; }; const removedFiles = await pMap(files, mapper, options); removedFiles.sort((a, b) => a.localeCompare(b)); return removedFiles; }; module2.exports.sync = (patterns, { force, dryRun, cwd = process.cwd(), ...options } = {}) => { options = { expandDirectories: false, onlyFiles: false, followSymbolicLinks: false, cwd, ...options }; patterns = normalizePatterns(patterns); const files = globby.sync(patterns, options).sort((a, b) => b.localeCompare(a)); const removedFiles = files.map((file) => { file = path2.resolve(cwd, file); if (!force) { safeCheck(file, cwd); } if (!dryRun) { rimraf.sync(file, rimrafOptions); } return file; }); removedFiles.sort((a, b) => a.localeCompare(b)); return removedFiles; }; } }); // ../node_modules/.pnpm/tempy@1.0.1/node_modules/tempy/index.js var require_tempy = __commonJS({ "../node_modules/.pnpm/tempy@1.0.1/node_modules/tempy/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var path2 = require("path"); var uniqueString = require_unique_string(); var tempDir = require_temp_dir(); var isStream = require_is_stream(); var del = require_del(); var stream = require("stream"); var { promisify } = require("util"); var pipeline = promisify(stream.pipeline); var { writeFile } = fs.promises; var getPath = (prefix = "") => path2.join(tempDir, prefix + uniqueString()); var writeStream = async (filePath, data) => pipeline(data, fs.createWriteStream(filePath)); var createTask = (tempyFunction, { extraArguments = 0 } = {}) => async (...arguments_) => { const [callback, options] = arguments_.slice(extraArguments); const result2 = await tempyFunction(...arguments_.slice(0, extraArguments), options); try { return await callback(result2); } finally { await del(result2, { force: true }); } }; module2.exports.file = (options) => { options = { ...options }; if (options.name) { if (options.extension !== void 0 && options.extension !== null) { throw new Error("The `name` and `extension` options are mutually exclusive"); } return path2.join(module2.exports.directory(), options.name); } return getPath() + (options.extension === void 0 || options.extension === null ? "" : "." + options.extension.replace(/^\./, "")); }; module2.exports.file.task = createTask(module2.exports.file); module2.exports.directory = ({ prefix = "" } = {}) => { const directory = getPath(prefix); fs.mkdirSync(directory); return directory; }; module2.exports.directory.task = createTask(module2.exports.directory); module2.exports.write = async (data, options) => { const filename = module2.exports.file(options); const write = isStream(data) ? writeStream : writeFile; await write(filename, data); return filename; }; module2.exports.write.task = createTask(module2.exports.write, { extraArguments: 1 }); module2.exports.writeSync = (data, options) => { const filename = module2.exports.file(options); fs.writeFileSync(filename, data); return filename; }; Object.defineProperty(module2.exports, "root", { get() { return tempDir; } }); } }); // ../fetching/binary-fetcher/lib/index.js var require_lib77 = __commonJS({ "../fetching/binary-fetcher/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createBinaryFetcher = createBinaryFetcher; exports2.downloadAndUnpackZip = downloadAndUnpackZip; var path_1 = __importDefault2(require("path")); var promises_1 = __importDefault2(require("fs/promises")); var error_1 = require_lib6(); var worker_1 = require_lib73(); var adm_zip_1 = __importDefault2(require_adm_zip()); var rename_overwrite_1 = __importDefault2(require_rename_overwrite()); var tempy_1 = __importDefault2(require_tempy()); var ssri_1 = __importDefault2(require_lib35()); function createBinaryFetcher(ctx) { const fetchBinary = async (cafs, resolution, opts) => { if (ctx.offline) { throw new error_1.PnpmError("CANNOT_DOWNLOAD_BINARY_OFFLINE", `Cannot download binary "${resolution.url}" because offline mode is enabled.`); } const version2 = opts.pkg.version; const manifest = { name: opts.pkg.name, version: version2, bin: resolution.bin }; if (resolution.archive === "tarball") { return { ...await ctx.fetchFromRemoteTarball(cafs, { tarball: resolution.url, integrity: resolution.integrity }, opts), manifest }; } if (resolution.archive === "zip") { const tempLocation = await cafs.tempDir(); await downloadAndUnpackZip(ctx.fetch, { url: resolution.url, integrity: resolution.integrity, basename: resolution.prefix ?? "" }, tempLocation); return { ...await (0, worker_1.addFilesFromDir)({ storeDir: cafs.storeDir, dir: tempLocation, filesIndexFile: opts.filesIndexFile, readManifest: false }), manifest }; } throw new error_1.PnpmError("NOT_SUPPORTED_ARCHIVE", `The binary fetcher doesn't support archive type ${resolution.archive}`); }; return { binary: fetchBinary }; } async function downloadAndUnpackZip(fetchFromRegistry, assetInfo, targetDir) { const tmp = path_1.default.join(tempy_1.default.directory(), "pnpm.zip"); try { await downloadWithIntegrityCheck(fetchFromRegistry, assetInfo, tmp); await extractZipToTarget(tmp, assetInfo.basename, targetDir); } finally { try { await promises_1.default.unlink(tmp); } catch { } } } async function downloadWithIntegrityCheck(fetchFromRegistry, { url, integrity }, tmpPath) { const response = await fetchFromRegistry(url); const chunks = []; for await (const chunk of response.body) { chunks.push(chunk); } const data = Buffer.concat(chunks); try { ssri_1.default.checkData(data, integrity, { error: true }); } catch (err) { if (!(err instanceof Error) || !("expected" in err) || !("found" in err)) { throw err; } throw new error_1.PnpmError("TARBALL_INTEGRITY", `Got unexpected checksum for "${url}". Wanted "${err.expected}". Got "${err.found}".`); } await promises_1.default.writeFile(tmpPath, data); } async function extractZipToTarget(zipPath, basename, targetDir) { const zip = new adm_zip_1.default(zipPath); const nodeDir = basename === "" ? targetDir : path_1.default.dirname(targetDir); const extractedDir = path_1.default.join(nodeDir, basename); zip.extractAllTo(nodeDir, true); await (0, rename_overwrite_1.default)(extractedDir, targetDir); } } }); // ../pkg-manager/client/lib/index.js var require_lib78 = __commonJS({ "../pkg-manager/client/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createClient = createClient; exports2.createResolver = createResolver; var default_resolver_1 = require_lib51(); var fetch_1 = require_lib29(); var directory_fetcher_1 = require_lib58(); var git_fetcher_1 = require_lib74(); var tarball_fetcher_1 = require_lib75(); var network_auth_header_1 = require_lib76(); var fetching_binary_fetcher_1 = require_lib77(); var map_1 = __importDefault2(require_map3()); function createClient(opts) { const fetchFromRegistry = (0, fetch_1.createFetchFromRegistry)(opts); const getAuthHeader = (0, network_auth_header_1.createGetAuthHeaderByURI)({ allSettings: opts.authConfig, userSettings: opts.userConfig }); const { resolve, clearCache: clearResolutionCache } = (0, default_resolver_1.createResolver)(fetchFromRegistry, getAuthHeader, opts); return { fetchers: createFetchers(fetchFromRegistry, getAuthHeader, opts, opts.customFetchers), resolve, clearResolutionCache }; } function createResolver(opts) { const fetchFromRegistry = (0, fetch_1.createFetchFromRegistry)(opts); const getAuthHeader = (0, network_auth_header_1.createGetAuthHeaderByURI)({ allSettings: opts.authConfig, userSettings: opts.userConfig }); return (0, default_resolver_1.createResolver)(fetchFromRegistry, getAuthHeader, opts); } function createFetchers(fetchFromRegistry, getAuthHeader, opts, customFetchers) { const tarballFetchers = (0, tarball_fetcher_1.createTarballFetcher)(fetchFromRegistry, getAuthHeader, opts); const defaultFetchers = { ...tarballFetchers, ...(0, git_fetcher_1.createGitFetcher)(opts), ...(0, directory_fetcher_1.createDirectoryFetcher)({ resolveSymlinks: opts.resolveSymlinksInInjectedDirs, includeOnlyPackageFiles: opts.includeOnlyPackageFiles }), ...(0, fetching_binary_fetcher_1.createBinaryFetcher)({ fetch: fetchFromRegistry, fetchFromRemoteTarball: tarballFetchers.remoteTarball, offline: opts.offline, rawConfig: opts.rawConfig }) }; const overwrites = (0, map_1.default)( (factory) => factory({ defaultFetchers }), // eslint-disable-line @typescript-eslint/no-explicit-any customFetchers ?? {} // eslint-disable-line @typescript-eslint/no-explicit-any ); return { ...defaultFetchers, ...overwrites }; } } }); // ../store/cafs/lib/parseJson.js var require_parseJson = __commonJS({ "../store/cafs/lib/parseJson.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseJsonBufferSync = parseJsonBufferSync; var strip_bom_1 = __importDefault2(require_strip_bom()); function parseJsonBufferSync(buffer) { return JSON.parse((0, strip_bom_1.default)(buffer.toString())); } } }); // ../store/cafs/lib/addFilesFromDir.js var require_addFilesFromDir = __commonJS({ "../store/cafs/lib/addFilesFromDir.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.addFilesFromDir = addFilesFromDir; var util_1 = __importDefault2(require("util")); var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var graceful_fs_1 = __importDefault2(require_lib15()); var parseJson_js_1 = require_parseJson(); function addFilesFromDir(addBuffer, dirname, opts = {}) { const filesIndex = {}; let manifest; let files; if (opts.files) { files = []; for (const file of opts.files) { const absolutePath = path_1.default.join(dirname, file); let stat; try { stat = fs_1.default.statSync(absolutePath); } catch (err) { if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")) { throw err; } continue; } files.push({ absolutePath, relativePath: file, stat }); } } else { files = findFilesInDir(dirname); } for (const { absolutePath, relativePath, stat } of files) { const buffer = graceful_fs_1.default.readFileSync(absolutePath); if (opts.readManifest && relativePath === "package.json") { manifest = (0, parseJson_js_1.parseJsonBufferSync)(buffer); } const mode = stat.mode & 511; filesIndex[relativePath] = { mode, size: stat.size, ...addBuffer(buffer, mode) }; } return { manifest, filesIndex }; } function findFilesInDir(dir) { const files = []; findFiles(files, dir); return files; } function findFiles(filesList, dir, relativeDir = "") { const files = fs_1.default.readdirSync(dir, { withFileTypes: true }); for (const file of files) { const relativeSubdir = `${relativeDir}${relativeDir ? "/" : ""}${file.name}`; if (file.isDirectory()) { if (relativeDir !== "" || file.name !== "node_modules") { findFiles(filesList, path_1.default.join(dir, file.name), relativeSubdir); } continue; } const absolutePath = path_1.default.join(dir, file.name); let stat; try { stat = fs_1.default.statSync(absolutePath); } catch (err) { if (err.code !== "ENOENT") { throw err; } continue; } if (stat.isDirectory()) { findFiles(filesList, path_1.default.join(dir, file.name), relativeSubdir); continue; } filesList.push({ relativePath: relativeSubdir, absolutePath, stat }); } } } }); // ../node_modules/.pnpm/is-gzip@2.0.0/node_modules/is-gzip/index.js var require_is_gzip = __commonJS({ "../node_modules/.pnpm/is-gzip@2.0.0/node_modules/is-gzip/index.js"(exports2, module2) { "use strict"; module2.exports = (buf) => { if (!buf || buf.length < 3) { return false; } return buf[0] === 31 && buf[1] === 139 && buf[2] === 8; }; } }); // ../store/cafs/lib/parseTarball.js var require_parseTarball = __commonJS({ "../store/cafs/lib/parseTarball.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseTarball = parseTarball; var path_1 = __importDefault2(require("path")); var ZERO = "0".charCodeAt(0); var FILE_TYPE_HARD_LINK = "1".charCodeAt(0); var FILE_TYPE_SYMLINK = "2".charCodeAt(0); var FILE_TYPE_DIRECTORY = "5".charCodeAt(0); var SPACE = " ".charCodeAt(0); var SLASH = "/".charCodeAt(0); var BACKSLASH = "\\".charCodeAt(0); var FILE_TYPE_PAX_HEADER = "x".charCodeAt(0); var FILE_TYPE_PAX_GLOBAL_HEADER = "g".charCodeAt(0); var FILE_TYPE_LONGLINK = "L".charCodeAt(0); var MODE_OFFSET = 100; var FILE_SIZE_OFFSET = 124; var CHECKSUM_OFFSET = 148; var FILE_TYPE_OFFSET = 156; var PREFIX_OFFSET = 345; function parseTarball(buffer) { const files = /* @__PURE__ */ new Map(); let pathTrimmed = false; let mode = 0; let fileSize = 0; let fileType = 0; let prefix = ""; let fileName = ""; let longLinkPath = ""; let paxHeaderPath = ""; let paxHeaderFileSize; let blockBytes = 0; let blockStart = 0; while (buffer[blockStart] !== 0) { fileType = buffer[blockStart + FILE_TYPE_OFFSET]; if (paxHeaderFileSize !== void 0) { fileSize = paxHeaderFileSize; paxHeaderFileSize = void 0; } else { fileSize = parseOctal(blockStart + FILE_SIZE_OFFSET, 12); } blockBytes = (fileSize & ~511) + (fileSize & 511 ? 1024 : 512); const expectedCheckSum = parseOctal(blockStart + CHECKSUM_OFFSET, 8); const actualCheckSum = checkSum(blockStart); if (expectedCheckSum !== actualCheckSum) { throw new Error(`Invalid checksum for TAR header at offset ${blockStart}. Expected ${expectedCheckSum}, got ${actualCheckSum}`); } pathTrimmed = false; if (longLinkPath) { fileName = longLinkPath; longLinkPath = ""; } else if (paxHeaderPath) { fileName = paxHeaderPath; paxHeaderPath = ""; } else { prefix = parseString(blockStart + PREFIX_OFFSET, 155); if (prefix && !pathTrimmed) { pathTrimmed = true; prefix = ""; } fileName = parseString(blockStart, MODE_OFFSET); if (prefix) { fileName = `${prefix}/${fileName}`; } } if (fileName.includes("./")) { fileName = path_1.default.posix.join("/", fileName).slice(1); } switch (fileType) { case 0: case ZERO: case FILE_TYPE_HARD_LINK: mode = parseOctal(blockStart + MODE_OFFSET, 8); files.set(fileName.replaceAll("//", "/"), { offset: blockStart + 512, mode, size: fileSize }); break; case FILE_TYPE_DIRECTORY: case FILE_TYPE_SYMLINK: break; case FILE_TYPE_PAX_HEADER: parsePaxHeader(blockStart + 512, fileSize, false); break; case FILE_TYPE_PAX_GLOBAL_HEADER: parsePaxHeader(blockStart + 512, fileSize, true); break; case FILE_TYPE_LONGLINK: { longLinkPath = buffer.toString("utf8", blockStart + 512, blockStart + 512 + fileSize).replace(/\0.*/, ""); const slashIndex = longLinkPath.indexOf("/"); if (slashIndex >= 0) { longLinkPath = longLinkPath.slice(slashIndex + 1); } break; } default: throw new Error(`Unsupported file type ${fileType} for file ${fileName}.`); } blockStart += blockBytes; } return { files, buffer: buffer.buffer }; function checkSum(offset) { let sum = 256; let i = offset; const checksumStart = offset + 148; const checksumEnd = offset + 156; const blockEnd = offset + 512; for (; i < checksumStart; i++) { sum += buffer[i]; } for (i = checksumEnd; i < blockEnd; i++) { sum += buffer[i]; } return sum; } function parsePaxHeader(offset, length, global2) { const end = offset + length; let i = offset; while (i < end) { const lineStart = i; while (i < end && buffer[i] !== SPACE) { i++; } const strLen = buffer.toString("utf-8", lineStart, i); const len = parseInt(strLen, 10); if (!len) { throw new Error(`Invalid length in PAX record: ${strLen}`); } i++; const lineEnd = lineStart + len; const record = buffer.toString("utf-8", i, lineEnd - 1); i = lineEnd; const equalSign = record.indexOf("="); const keyword = record.slice(0, equalSign); if (keyword === "path") { const slashIndex = record.indexOf("/", equalSign + 1); if (global2) { throw new Error(`Unexpected global PAX path: ${record}`); } paxHeaderPath = record.slice(slashIndex >= 0 ? slashIndex + 1 : equalSign + 1); } else if (keyword === "size") { const size = parseInt(record.slice(equalSign + 1), 10); if (isNaN(size) || size < 0) { throw new Error(`Invalid size in PAX record: ${record}`); } if (global2) { throw new Error(`Unexpected global PAX file size: ${record}`); } paxHeaderFileSize = size; } else { continue; } } } function parseString(offset, length) { let end = offset; const max = length + offset; for (let char = buffer[end]; char !== 0 && end !== max; char = buffer[++end]) { if (!pathTrimmed && (char === SLASH || char === BACKSLASH)) { pathTrimmed = true; offset = end + 1; } } return buffer.toString("utf8", offset, end); } function parseOctal(offset, length) { const val = buffer.subarray(offset, offset + length); offset = 0; while (offset < val.length && val[offset] === SPACE) offset++; const end = clamp(indexOf(val, SPACE, offset, val.length), val.length, val.length); while (offset < end && val[offset] === 0) offset++; if (end === offset) return 0; return parseInt(val.slice(offset, end).toString(), 8); } } function indexOf(block, num, offset, end) { for (; offset < end; offset++) { if (block[offset] === num) return offset; } return end; } function clamp(index, len, defaultValue) { if (typeof index !== "number") return defaultValue; index = ~~index; if (index >= len) return len; if (index >= 0) return index; index += len; if (index >= 0) return index; return 0; } } }); // ../store/cafs/lib/addFilesFromTarball.js var require_addFilesFromTarball = __commonJS({ "../store/cafs/lib/addFilesFromTarball.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.addFilesFromTarball = addFilesFromTarball; var is_gzip_1 = __importDefault2(require_is_gzip()); var zlib_1 = require("zlib"); var parseJson_js_1 = require_parseJson(); var parseTarball_js_1 = require_parseTarball(); function addFilesFromTarball(addBufferToCafs, _ignore, tarballBuffer, readManifest) { const ignore = _ignore ?? (() => false); const tarContent = (0, is_gzip_1.default)(tarballBuffer) ? (0, zlib_1.gunzipSync)(tarballBuffer) : Buffer.isBuffer(tarballBuffer) ? tarballBuffer : Buffer.from(tarballBuffer); const { files } = (0, parseTarball_js_1.parseTarball)(tarContent); const filesIndex = {}; let manifestBuffer; for (const [relativePath, { mode, offset, size }] of files) { if (ignore(relativePath)) continue; const fileBuffer = tarContent.subarray(offset, offset + size); if (readManifest && relativePath === "package.json") { manifestBuffer = fileBuffer; } filesIndex[relativePath] = { mode, size, ...addBufferToCafs(fileBuffer, mode) }; } return { filesIndex, manifest: manifestBuffer ? (0, parseJson_js_1.parseJsonBufferSync)(manifestBuffer) : void 0 }; } } }); // ../store/cafs/lib/getFilePathInCafs.js var require_getFilePathInCafs = __commonJS({ "../store/cafs/lib/getFilePathInCafs.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.modeIsExecutable = void 0; exports2.getFilePathByModeInCafs = getFilePathByModeInCafs; exports2.getIndexFilePathInCafs = getIndexFilePathInCafs; exports2.contentPathFromHex = contentPathFromHex; var path_1 = __importDefault2(require("path")); var ssri_1 = __importDefault2(require_lib35()); var modeIsExecutable = (mode) => (mode & 73) !== 0; exports2.modeIsExecutable = modeIsExecutable; function getFilePathByModeInCafs(storeDir, integrity, mode) { const fileType = (0, exports2.modeIsExecutable)(mode) ? "exec" : "nonexec"; return path_1.default.join(storeDir, contentPathFromIntegrity(integrity, fileType)); } function getIndexFilePathInCafs(storeDir, integrity, pkgId) { const hex = ssri_1.default.parse(integrity, { single: true }).hexDigest().substring(0, 64); return path_1.default.join(storeDir, `index/${path_1.default.join(hex.slice(0, 2), hex.slice(2))}-${pkgId.replace(/[\\/:*?"<>|]/g, "+")}.json`); } function contentPathFromIntegrity(integrity, fileType) { const sri = ssri_1.default.parse(integrity, { single: true }); return contentPathFromHex(fileType, sri.hexDigest()); } function contentPathFromHex(fileType, hex) { const p = path_1.default.join("files", hex.slice(0, 2), hex.slice(2)); switch (fileType) { case "exec": return `${p}-exec`; case "nonexec": return p; case "index": return `${p}-index.json`; } } } }); // ../store/cafs/lib/checkPkgFilesIntegrity.js var require_checkPkgFilesIntegrity = __commonJS({ "../store/cafs/lib/checkPkgFilesIntegrity.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.checkPkgFilesIntegrity = checkPkgFilesIntegrity; exports2.verifyFileIntegrity = verifyFileIntegrity; var fs_1 = __importDefault2(require("fs")); var util_1 = __importDefault2(require("util")); var graceful_fs_1 = __importDefault2(require_lib15()); var rimraf_1 = __importDefault2(require_rimraf()); var ssri_1 = __importDefault2(require_lib35()); var getFilePathInCafs_js_1 = require_getFilePathInCafs(); var parseJson_js_1 = require_parseJson(); global["verifiedFileIntegrity"] = 0; function checkPkgFilesIntegrity(storeDir, pkgIndex, readManifest) { const verifiedFilesCache = /* @__PURE__ */ new Set(); const _checkFilesIntegrity = checkFilesIntegrity.bind(null, verifiedFilesCache, storeDir); const verified = _checkFilesIntegrity(pkgIndex.files, readManifest); if (!verified) return { passed: false }; if (pkgIndex.sideEffects) { for (const [sideEffectName, { added }] of Object.entries(pkgIndex.sideEffects)) { if (added) { const { passed } = _checkFilesIntegrity(added); if (!passed) { delete pkgIndex.sideEffects[sideEffectName]; } } } } return verified; } function checkFilesIntegrity(verifiedFilesCache, storeDir, files, readManifest) { let allVerified = true; let manifest; for (const [f, fstat] of Object.entries(files)) { if (!fstat.integrity) { throw new Error(`Integrity checksum is missing for ${f}`); } const filename = (0, getFilePathInCafs_js_1.getFilePathByModeInCafs)(storeDir, fstat.integrity, fstat.mode); const readFile = readManifest && f === "package.json"; if (!readFile && verifiedFilesCache.has(filename)) continue; const verifyResult = verifyFile(filename, fstat, readFile); if (readFile) { manifest = verifyResult.manifest; } if (verifyResult.passed) { verifiedFilesCache.add(filename); } else { allVerified = false; } } return { passed: allVerified, manifest }; } function verifyFile(filename, fstat, readManifest) { const currentFile = checkFile(filename, fstat.checkedAt); if (currentFile == null) return { passed: false }; if (currentFile.isModified) { if (currentFile.size !== fstat.size) { rimraf_1.default.sync(filename); return { passed: false }; } return verifyFileIntegrity(filename, fstat, readManifest); } if (readManifest) { return { passed: true, manifest: (0, parseJson_js_1.parseJsonBufferSync)(graceful_fs_1.default.readFileSync(filename)) }; } return { passed: true }; } function verifyFileIntegrity(filename, expectedFile, readManifest) { global["verifiedFileIntegrity"]++; try { const data = graceful_fs_1.default.readFileSync(filename); const passed = Boolean(ssri_1.default.checkData(data, expectedFile.integrity)); if (!passed) { graceful_fs_1.default.unlinkSync(filename); return { passed }; } else if (readManifest) { return { passed, manifest: (0, parseJson_js_1.parseJsonBufferSync)(data) }; } return { passed }; } catch (err) { switch (util_1.default.types.isNativeError(err) && "code" in err && err.code) { case "ENOENT": return { passed: false }; case "EINTEGRITY": { graceful_fs_1.default.unlinkSync(filename); return { passed: false }; } } throw err; } } function checkFile(filename, checkedAt) { try { const { mtimeMs, size } = fs_1.default.statSync(filename); return { isModified: mtimeMs - (checkedAt ?? 0) > 100, size }; } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") return null; throw err; } } } }); // ../store/cafs/lib/readManifestFromStore.js var require_readManifestFromStore = __commonJS({ "../store/cafs/lib/readManifestFromStore.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readManifestFromStore = readManifestFromStore; var graceful_fs_1 = __importDefault2(require_lib15()); var getFilePathInCafs_js_1 = require_getFilePathInCafs(); var parseJson_js_1 = require_parseJson(); function readManifestFromStore(storeDir, pkgIndex) { const pkg = pkgIndex.files["package.json"]; if (pkg) { const fileName = (0, getFilePathInCafs_js_1.getFilePathByModeInCafs)(storeDir, pkg.integrity, pkg.mode); return (0, parseJson_js_1.parseJsonBufferSync)(graceful_fs_1.default.readFileSync(fileName)); } return void 0; } } }); // ../store/cafs/lib/writeFile.js var require_writeFile = __commonJS({ "../store/cafs/lib/writeFile.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.writeFile = writeFile; var path_1 = __importDefault2(require("path")); var graceful_fs_1 = __importDefault2(require_lib15()); var dirs = /* @__PURE__ */ new Set(); function writeFile(fileDest, buffer, mode) { makeDirForFile(fileDest); graceful_fs_1.default.writeFileSync(fileDest, buffer, { mode }); } function makeDirForFile(fileDest) { const dir = path_1.default.dirname(fileDest); if (!dirs.has(dir)) { graceful_fs_1.default.mkdirSync(dir, { recursive: true }); dirs.add(dir); } } } }); // ../store/cafs/lib/writeBufferToCafs.js var require_writeBufferToCafs = __commonJS({ "../store/cafs/lib/writeBufferToCafs.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.writeBufferToCafs = writeBufferToCafs; exports2.optimisticRenameOverwrite = optimisticRenameOverwrite; exports2.pathTemp = pathTemp; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var worker_threads_1 = __importDefault2(require("worker_threads")); var util_1 = __importDefault2(require("util")); var rename_overwrite_1 = __importDefault2(require_rename_overwrite()); var checkPkgFilesIntegrity_js_1 = require_checkPkgFilesIntegrity(); var writeFile_js_1 = require_writeFile(); function writeBufferToCafs(locker, storeDir, buffer, fileDest, mode, integrity) { fileDest = path_1.default.join(storeDir, fileDest); if (locker.has(fileDest)) { return { checkedAt: locker.get(fileDest), filePath: fileDest }; } if (existsSame(fileDest, integrity)) { return { checkedAt: Date.now(), filePath: fileDest }; } const temp = pathTemp(fileDest); (0, writeFile_js_1.writeFile)(temp, buffer, mode); const birthtimeMs = Date.now(); optimisticRenameOverwrite(temp, fileDest); locker.set(fileDest, birthtimeMs); return { checkedAt: birthtimeMs, filePath: fileDest }; } function optimisticRenameOverwrite(temp, fileDest) { try { rename_overwrite_1.default.sync(temp, fileDest); } catch (err) { if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") || !fs_1.default.existsSync(fileDest)) throw err; } } function pathTemp(file) { const basename = removeSuffix(path_1.default.basename(file)); return path_1.default.join(path_1.default.dirname(file), `${basename}${process.pid}${worker_threads_1.default.threadId}`); } function removeSuffix(filePath) { const dashPosition = filePath.indexOf("-"); if (dashPosition === -1) return filePath; const withoutSuffix = filePath.substring(0, dashPosition); if (filePath.substring(dashPosition) === "-exec") { return `${withoutSuffix}x`; } return withoutSuffix; } function existsSame(filename, integrity) { const existingFile = fs_1.default.statSync(filename, { throwIfNoEntry: false }); if (!existingFile) return false; return (0, checkPkgFilesIntegrity_js_1.verifyFileIntegrity)(filename, { size: existingFile.size, integrity }).passed; } } }); // ../store/cafs/lib/index.js var require_lib79 = __commonJS({ "../store/cafs/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.optimisticRenameOverwrite = exports2.getIndexFilePathInCafs = exports2.getFilePathByModeInCafs = exports2.readManifestFromStore = exports2.checkPkgFilesIntegrity = void 0; exports2.createCafs = createCafs; var ssri_1 = __importDefault2(require_lib35()); var addFilesFromDir_js_1 = require_addFilesFromDir(); var addFilesFromTarball_js_1 = require_addFilesFromTarball(); var checkPkgFilesIntegrity_js_1 = require_checkPkgFilesIntegrity(); Object.defineProperty(exports2, "checkPkgFilesIntegrity", { enumerable: true, get: function() { return checkPkgFilesIntegrity_js_1.checkPkgFilesIntegrity; } }); var readManifestFromStore_js_1 = require_readManifestFromStore(); Object.defineProperty(exports2, "readManifestFromStore", { enumerable: true, get: function() { return readManifestFromStore_js_1.readManifestFromStore; } }); var getFilePathInCafs_js_1 = require_getFilePathInCafs(); Object.defineProperty(exports2, "getIndexFilePathInCafs", { enumerable: true, get: function() { return getFilePathInCafs_js_1.getIndexFilePathInCafs; } }); Object.defineProperty(exports2, "getFilePathByModeInCafs", { enumerable: true, get: function() { return getFilePathInCafs_js_1.getFilePathByModeInCafs; } }); var writeBufferToCafs_js_1 = require_writeBufferToCafs(); Object.defineProperty(exports2, "optimisticRenameOverwrite", { enumerable: true, get: function() { return writeBufferToCafs_js_1.optimisticRenameOverwrite; } }); function createCafs(storeDir, { ignoreFile, cafsLocker } = {}) { const _writeBufferToCafs = writeBufferToCafs_js_1.writeBufferToCafs.bind(null, cafsLocker ?? /* @__PURE__ */ new Map(), storeDir); const addBuffer = addBufferToCafs.bind(null, _writeBufferToCafs); return { addFilesFromDir: addFilesFromDir_js_1.addFilesFromDir.bind(null, addBuffer), addFilesFromTarball: addFilesFromTarball_js_1.addFilesFromTarball.bind(null, addBuffer, ignoreFile ?? null), getIndexFilePathInCafs: getFilePathInCafs_js_1.getIndexFilePathInCafs.bind(null, storeDir), getFilePathByModeInCafs: getFilePathInCafs_js_1.getFilePathByModeInCafs.bind(null, storeDir) }; } function addBufferToCafs(writeBufferToCafs, buffer, mode) { const integrity = ssri_1.default.fromData(buffer); const isExecutable = (0, getFilePathInCafs_js_1.modeIsExecutable)(mode); const fileDest = (0, getFilePathInCafs_js_1.contentPathFromHex)(isExecutable ? "exec" : "nonexec", integrity.hexDigest()); const { checkedAt, filePath } = writeBufferToCafs(buffer, fileDest, isExecutable ? 493 : void 0, integrity); return { checkedAt, integrity, filePath }; } } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/fs/index.js var require_fs7 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/fs/index.js"(exports2) { "use strict"; var u = require_universalify().fromCallback; var fs = require_graceful_fs(); var api = [ "access", "appendFile", "chmod", "chown", "close", "copyFile", "cp", "fchmod", "fchown", "fdatasync", "fstat", "fsync", "ftruncate", "futimes", "glob", "lchmod", "lchown", "lutimes", "link", "lstat", "mkdir", "mkdtemp", "open", "opendir", "readdir", "readFile", "readlink", "realpath", "rename", "rm", "rmdir", "stat", "statfs", "symlink", "truncate", "unlink", "utimes", "writeFile" ].filter((key) => { return typeof fs[key] === "function"; }); Object.assign(exports2, fs); api.forEach((method) => { exports2[method] = u(fs[method]); }); exports2.exists = function(filename, callback) { if (typeof callback === "function") { return fs.exists(filename, callback); } return new Promise((resolve) => { return fs.exists(filename, resolve); }); }; exports2.read = function(fd, buffer, offset, length, position, callback) { if (typeof callback === "function") { return fs.read(fd, buffer, offset, length, position, callback); } return new Promise((resolve, reject) => { fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => { if (err) return reject(err); resolve({ bytesRead, buffer: buffer2 }); }); }); }; exports2.write = function(fd, buffer, ...args) { if (typeof args[args.length - 1] === "function") { return fs.write(fd, buffer, ...args); } return new Promise((resolve, reject) => { fs.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => { if (err) return reject(err); resolve({ bytesWritten, buffer: buffer2 }); }); }); }; exports2.readv = function(fd, buffers, ...args) { if (typeof args[args.length - 1] === "function") { return fs.readv(fd, buffers, ...args); } return new Promise((resolve, reject) => { fs.readv(fd, buffers, ...args, (err, bytesRead, buffers2) => { if (err) return reject(err); resolve({ bytesRead, buffers: buffers2 }); }); }); }; exports2.writev = function(fd, buffers, ...args) { if (typeof args[args.length - 1] === "function") { return fs.writev(fd, buffers, ...args); } return new Promise((resolve, reject) => { fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers2) => { if (err) return reject(err); resolve({ bytesWritten, buffers: buffers2 }); }); }); }; if (typeof fs.realpath.native === "function") { exports2.realpath.native = u(fs.realpath.native); } else { process.emitWarning( "fs.realpath.native is not a function. Is fs being monkey-patched?", "Warning", "fs-extra-WARN0003" ); } } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/mkdirs/utils.js var require_utils12 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/mkdirs/utils.js"(exports2, module2) { "use strict"; var path2 = require("path"); module2.exports.checkPath = function checkPath(pth) { if (process.platform === "win32") { const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path2.parse(pth).root, "")); if (pathHasInvalidWinCharacters) { const error = new Error(`Path contains invalid characters: ${pth}`); error.code = "EINVAL"; throw error; } } }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/mkdirs/make-dir.js var require_make_dir2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports2, module2) { "use strict"; var fs = require_fs7(); var { checkPath } = require_utils12(); var getMode = (options) => { const defaults = { mode: 511 }; if (typeof options === "number") return options; return { ...defaults, ...options }.mode; }; module2.exports.makeDir = async (dir, options) => { checkPath(dir); return fs.mkdir(dir, { mode: getMode(options), recursive: true }); }; module2.exports.makeDirSync = (dir, options) => { checkPath(dir); return fs.mkdirSync(dir, { mode: getMode(options), recursive: true }); }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/mkdirs/index.js var require_mkdirs2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/mkdirs/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var { makeDir: _makeDir, makeDirSync } = require_make_dir2(); var makeDir = u(_makeDir); module2.exports = { mkdirs: makeDir, mkdirsSync: makeDirSync, // alias mkdirp: makeDir, mkdirpSync: makeDirSync, ensureDir: makeDir, ensureDirSync: makeDirSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/path-exists/index.js var require_path_exists3 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/path-exists/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var fs = require_fs7(); function pathExists(path2) { return fs.access(path2).then(() => true).catch(() => false); } module2.exports = { pathExists: u(pathExists), pathExistsSync: fs.existsSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/util/utimes.js var require_utimes2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/util/utimes.js"(exports2, module2) { "use strict"; var fs = require_fs7(); var u = require_universalify().fromPromise; async function utimesMillis(path2, atime, mtime) { const fd = await fs.open(path2, "r+"); let closeErr = null; try { await fs.futimes(fd, atime, mtime); } finally { try { await fs.close(fd); } catch (e) { closeErr = e; } } if (closeErr) { throw closeErr; } } function utimesMillisSync(path2, atime, mtime) { const fd = fs.openSync(path2, "r+"); fs.futimesSync(fd, atime, mtime); return fs.closeSync(fd); } module2.exports = { utimesMillis: u(utimesMillis), utimesMillisSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/util/stat.js var require_stat2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/util/stat.js"(exports2, module2) { "use strict"; var fs = require_fs7(); var path2 = require("path"); var u = require_universalify().fromPromise; function getStats(src, dest, opts) { const statFunc = opts.dereference ? (file) => fs.stat(file, { bigint: true }) : (file) => fs.lstat(file, { bigint: true }); return Promise.all([ statFunc(src), statFunc(dest).catch((err) => { if (err.code === "ENOENT") return null; throw err; }) ]).then(([srcStat, destStat]) => ({ srcStat, destStat })); } function getStatsSync(src, dest, opts) { let destStat; const statFunc = opts.dereference ? (file) => fs.statSync(file, { bigint: true }) : (file) => fs.lstatSync(file, { bigint: true }); const srcStat = statFunc(src); try { destStat = statFunc(dest); } catch (err) { if (err.code === "ENOENT") return { srcStat, destStat: null }; throw err; } return { srcStat, destStat }; } async function checkPaths(src, dest, funcName, opts) { const { srcStat, destStat } = await getStats(src, dest, opts); if (destStat) { if (areIdentical(srcStat, destStat)) { const srcBaseName = path2.basename(src); const destBaseName = path2.basename(dest); if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) { return { srcStat, destStat, isChangingCase: true }; } throw new Error("Source and destination must not be the same."); } if (srcStat.isDirectory() && !destStat.isDirectory()) { throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`); } if (!srcStat.isDirectory() && destStat.isDirectory()) { throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`); } } if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { throw new Error(errMsg(src, dest, funcName)); } return { srcStat, destStat }; } function checkPathsSync(src, dest, funcName, opts) { const { srcStat, destStat } = getStatsSync(src, dest, opts); if (destStat) { if (areIdentical(srcStat, destStat)) { const srcBaseName = path2.basename(src); const destBaseName = path2.basename(dest); if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) { return { srcStat, destStat, isChangingCase: true }; } throw new Error("Source and destination must not be the same."); } if (srcStat.isDirectory() && !destStat.isDirectory()) { throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`); } if (!srcStat.isDirectory() && destStat.isDirectory()) { throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`); } } if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { throw new Error(errMsg(src, dest, funcName)); } return { srcStat, destStat }; } async function checkParentPaths(src, srcStat, dest, funcName) { const srcParent = path2.resolve(path2.dirname(src)); const destParent = path2.resolve(path2.dirname(dest)); if (destParent === srcParent || destParent === path2.parse(destParent).root) return; let destStat; try { destStat = await fs.stat(destParent, { bigint: true }); } catch (err) { if (err.code === "ENOENT") return; throw err; } if (areIdentical(srcStat, destStat)) { throw new Error(errMsg(src, dest, funcName)); } return checkParentPaths(src, srcStat, destParent, funcName); } function checkParentPathsSync(src, srcStat, dest, funcName) { const srcParent = path2.resolve(path2.dirname(src)); const destParent = path2.resolve(path2.dirname(dest)); if (destParent === srcParent || destParent === path2.parse(destParent).root) return; let destStat; try { destStat = fs.statSync(destParent, { bigint: true }); } catch (err) { if (err.code === "ENOENT") return; throw err; } if (areIdentical(srcStat, destStat)) { throw new Error(errMsg(src, dest, funcName)); } return checkParentPathsSync(src, srcStat, destParent, funcName); } function areIdentical(srcStat, destStat) { return destStat.ino !== void 0 && destStat.dev !== void 0 && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev; } function isSrcSubdir(src, dest) { const srcArr = path2.resolve(src).split(path2.sep).filter((i) => i); const destArr = path2.resolve(dest).split(path2.sep).filter((i) => i); return srcArr.every((cur, i) => destArr[i] === cur); } function errMsg(src, dest, funcName) { return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`; } module2.exports = { // checkPaths checkPaths: u(checkPaths), checkPathsSync, // checkParent checkParentPaths: u(checkParentPaths), checkParentPathsSync, // Misc isSrcSubdir, areIdentical }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/util/async.js var require_async9 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/util/async.js"(exports2, module2) { "use strict"; async function asyncIteratorConcurrentProcess(iterator, fn) { const promises = []; for await (const item of iterator) { promises.push( fn(item).then( () => null, (err) => err ?? new Error("unknown error") ) ); } await Promise.all( promises.map( (promise) => promise.then((possibleErr) => { if (possibleErr !== null) throw possibleErr; }) ) ); } module2.exports = { asyncIteratorConcurrentProcess }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/copy/copy.js var require_copy3 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/copy/copy.js"(exports2, module2) { "use strict"; var fs = require_fs7(); var path2 = require("path"); var { mkdirs } = require_mkdirs2(); var { pathExists } = require_path_exists3(); var { utimesMillis } = require_utimes2(); var stat = require_stat2(); var { asyncIteratorConcurrentProcess } = require_async9(); async function copy(src, dest, opts = {}) { if (typeof opts === "function") { opts = { filter: opts }; } opts.clobber = "clobber" in opts ? !!opts.clobber : true; opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; if (opts.preserveTimestamps && process.arch === "ia32") { process.emitWarning( "Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269", "Warning", "fs-extra-WARN0001" ); } const { srcStat, destStat } = await stat.checkPaths(src, dest, "copy", opts); await stat.checkParentPaths(src, srcStat, dest, "copy"); const include = await runFilter(src, dest, opts); if (!include) return; const destParent = path2.dirname(dest); const dirExists = await pathExists(destParent); if (!dirExists) { await mkdirs(destParent); } await getStatsAndPerformCopy(destStat, src, dest, opts); } async function runFilter(src, dest, opts) { if (!opts.filter) return true; return opts.filter(src, dest); } async function getStatsAndPerformCopy(destStat, src, dest, opts) { const statFn = opts.dereference ? fs.stat : fs.lstat; const srcStat = await statFn(src); if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts); if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts); if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts); if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`); if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`); throw new Error(`Unknown file: ${src}`); } async function onFile(srcStat, destStat, src, dest, opts) { if (!destStat) return copyFile(srcStat, src, dest, opts); if (opts.overwrite) { await fs.unlink(dest); return copyFile(srcStat, src, dest, opts); } if (opts.errorOnExist) { throw new Error(`'${dest}' already exists`); } } async function copyFile(srcStat, src, dest, opts) { await fs.copyFile(src, dest); if (opts.preserveTimestamps) { if (fileIsNotWritable(srcStat.mode)) { await makeFileWritable(dest, srcStat.mode); } const updatedSrcStat = await fs.stat(src); await utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime); } return fs.chmod(dest, srcStat.mode); } function fileIsNotWritable(srcMode) { return (srcMode & 128) === 0; } function makeFileWritable(dest, srcMode) { return fs.chmod(dest, srcMode | 128); } async function onDir(srcStat, destStat, src, dest, opts) { if (!destStat) { await fs.mkdir(dest); } await asyncIteratorConcurrentProcess(await fs.opendir(src), async (item) => { const srcItem = path2.join(src, item.name); const destItem = path2.join(dest, item.name); const include = await runFilter(srcItem, destItem, opts); if (include) { const { destStat: destStat2 } = await stat.checkPaths(srcItem, destItem, "copy", opts); await getStatsAndPerformCopy(destStat2, srcItem, destItem, opts); } }); if (!destStat) { await fs.chmod(dest, srcStat.mode); } } async function onLink(destStat, src, dest, opts) { let resolvedSrc = await fs.readlink(src); if (opts.dereference) { resolvedSrc = path2.resolve(process.cwd(), resolvedSrc); } if (!destStat) { return fs.symlink(resolvedSrc, dest); } let resolvedDest = null; try { resolvedDest = await fs.readlink(dest); } catch (e) { if (e.code === "EINVAL" || e.code === "UNKNOWN") return fs.symlink(resolvedSrc, dest); throw e; } if (opts.dereference) { resolvedDest = path2.resolve(process.cwd(), resolvedDest); } if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`); } if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) { throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`); } await fs.unlink(dest); return fs.symlink(resolvedSrc, dest); } module2.exports = copy; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/copy/copy-sync.js var require_copy_sync2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/copy/copy-sync.js"(exports2, module2) { "use strict"; var fs = require_graceful_fs(); var path2 = require("path"); var mkdirsSync = require_mkdirs2().mkdirsSync; var utimesMillisSync = require_utimes2().utimesMillisSync; var stat = require_stat2(); function copySync(src, dest, opts) { if (typeof opts === "function") { opts = { filter: opts }; } opts = opts || {}; opts.clobber = "clobber" in opts ? !!opts.clobber : true; opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber; if (opts.preserveTimestamps && process.arch === "ia32") { process.emitWarning( "Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269", "Warning", "fs-extra-WARN0002" ); } const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy", opts); stat.checkParentPathsSync(src, srcStat, dest, "copy"); if (opts.filter && !opts.filter(src, dest)) return; const destParent = path2.dirname(dest); if (!fs.existsSync(destParent)) mkdirsSync(destParent); return getStats(destStat, src, dest, opts); } function getStats(destStat, src, dest, opts) { const statSync = opts.dereference ? fs.statSync : fs.lstatSync; const srcStat = statSync(src); if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts); else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts); else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts); else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`); else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`); throw new Error(`Unknown file: ${src}`); } function onFile(srcStat, destStat, src, dest, opts) { if (!destStat) return copyFile(srcStat, src, dest, opts); return mayCopyFile(srcStat, src, dest, opts); } function mayCopyFile(srcStat, src, dest, opts) { if (opts.overwrite) { fs.unlinkSync(dest); return copyFile(srcStat, src, dest, opts); } else if (opts.errorOnExist) { throw new Error(`'${dest}' already exists`); } } function copyFile(srcStat, src, dest, opts) { fs.copyFileSync(src, dest); if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest); return setDestMode(dest, srcStat.mode); } function handleTimestamps(srcMode, src, dest) { if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode); return setDestTimestamps(src, dest); } function fileIsNotWritable(srcMode) { return (srcMode & 128) === 0; } function makeFileWritable(dest, srcMode) { return setDestMode(dest, srcMode | 128); } function setDestMode(dest, srcMode) { return fs.chmodSync(dest, srcMode); } function setDestTimestamps(src, dest) { const updatedSrcStat = fs.statSync(src); return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime); } function onDir(srcStat, destStat, src, dest, opts) { if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts); return copyDir(src, dest, opts); } function mkDirAndCopy(srcMode, src, dest, opts) { fs.mkdirSync(dest); copyDir(src, dest, opts); return setDestMode(dest, srcMode); } function copyDir(src, dest, opts) { const dir = fs.opendirSync(src); try { let dirent; while ((dirent = dir.readSync()) !== null) { copyDirItem(dirent.name, src, dest, opts); } } finally { dir.closeSync(); } } function copyDirItem(item, src, dest, opts) { const srcItem = path2.join(src, item); const destItem = path2.join(dest, item); if (opts.filter && !opts.filter(srcItem, destItem)) return; const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy", opts); return getStats(destStat, srcItem, destItem, opts); } function onLink(destStat, src, dest, opts) { let resolvedSrc = fs.readlinkSync(src); if (opts.dereference) { resolvedSrc = path2.resolve(process.cwd(), resolvedSrc); } if (!destStat) { return fs.symlinkSync(resolvedSrc, dest); } else { let resolvedDest; try { resolvedDest = fs.readlinkSync(dest); } catch (err) { if (err.code === "EINVAL" || err.code === "UNKNOWN") return fs.symlinkSync(resolvedSrc, dest); throw err; } if (opts.dereference) { resolvedDest = path2.resolve(process.cwd(), resolvedDest); } if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`); } if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) { throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`); } return copyLink(resolvedSrc, dest); } } function copyLink(resolvedSrc, dest) { fs.unlinkSync(dest); return fs.symlinkSync(resolvedSrc, dest); } module2.exports = copySync; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/copy/index.js var require_copy4 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/copy/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; module2.exports = { copy: u(require_copy3()), copySync: require_copy_sync2() }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/remove/index.js var require_remove2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/remove/index.js"(exports2, module2) { "use strict"; var fs = require_graceful_fs(); var u = require_universalify().fromCallback; function remove(path2, callback) { fs.rm(path2, { recursive: true, force: true }, callback); } function removeSync(path2) { fs.rmSync(path2, { recursive: true, force: true }); } module2.exports = { remove: u(remove), removeSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/empty/index.js var require_empty4 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/empty/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var fs = require_fs7(); var path2 = require("path"); var mkdir = require_mkdirs2(); var remove = require_remove2(); var emptyDir = u(async function emptyDir2(dir) { let items; try { items = await fs.readdir(dir); } catch { return mkdir.mkdirs(dir); } return Promise.all(items.map((item) => remove.remove(path2.join(dir, item)))); }); function emptyDirSync(dir) { let items; try { items = fs.readdirSync(dir); } catch { return mkdir.mkdirsSync(dir); } items.forEach((item) => { item = path2.join(dir, item); remove.removeSync(item); }); } module2.exports = { emptyDirSync, emptydirSync: emptyDirSync, emptyDir, emptydir: emptyDir }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/file.js var require_file2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/file.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var path2 = require("path"); var fs = require_fs7(); var mkdir = require_mkdirs2(); async function createFile(file) { let stats; try { stats = await fs.stat(file); } catch { } if (stats && stats.isFile()) return; const dir = path2.dirname(file); let dirStats = null; try { dirStats = await fs.stat(dir); } catch (err) { if (err.code === "ENOENT") { await mkdir.mkdirs(dir); await fs.writeFile(file, ""); return; } else { throw err; } } if (dirStats.isDirectory()) { await fs.writeFile(file, ""); } else { await fs.readdir(dir); } } function createFileSync(file) { let stats; try { stats = fs.statSync(file); } catch { } if (stats && stats.isFile()) return; const dir = path2.dirname(file); try { if (!fs.statSync(dir).isDirectory()) { fs.readdirSync(dir); } } catch (err) { if (err && err.code === "ENOENT") mkdir.mkdirsSync(dir); else throw err; } fs.writeFileSync(file, ""); } module2.exports = { createFile: u(createFile), createFileSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/link.js var require_link2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/link.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var path2 = require("path"); var fs = require_fs7(); var mkdir = require_mkdirs2(); var { pathExists } = require_path_exists3(); var { areIdentical } = require_stat2(); async function createLink(srcpath, dstpath) { let dstStat; try { dstStat = await fs.lstat(dstpath); } catch { } let srcStat; try { srcStat = await fs.lstat(srcpath); } catch (err) { err.message = err.message.replace("lstat", "ensureLink"); throw err; } if (dstStat && areIdentical(srcStat, dstStat)) return; const dir = path2.dirname(dstpath); const dirExists = await pathExists(dir); if (!dirExists) { await mkdir.mkdirs(dir); } await fs.link(srcpath, dstpath); } function createLinkSync(srcpath, dstpath) { let dstStat; try { dstStat = fs.lstatSync(dstpath); } catch { } try { const srcStat = fs.lstatSync(srcpath); if (dstStat && areIdentical(srcStat, dstStat)) return; } catch (err) { err.message = err.message.replace("lstat", "ensureLink"); throw err; } const dir = path2.dirname(dstpath); const dirExists = fs.existsSync(dir); if (dirExists) return fs.linkSync(srcpath, dstpath); mkdir.mkdirsSync(dir); return fs.linkSync(srcpath, dstpath); } module2.exports = { createLink: u(createLink), createLinkSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/symlink-paths.js var require_symlink_paths2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports2, module2) { "use strict"; var path2 = require("path"); var fs = require_fs7(); var { pathExists } = require_path_exists3(); var u = require_universalify().fromPromise; async function symlinkPaths(srcpath, dstpath) { if (path2.isAbsolute(srcpath)) { try { await fs.lstat(srcpath); } catch (err) { err.message = err.message.replace("lstat", "ensureSymlink"); throw err; } return { toCwd: srcpath, toDst: srcpath }; } const dstdir = path2.dirname(dstpath); const relativeToDst = path2.join(dstdir, srcpath); const exists = await pathExists(relativeToDst); if (exists) { return { toCwd: relativeToDst, toDst: srcpath }; } try { await fs.lstat(srcpath); } catch (err) { err.message = err.message.replace("lstat", "ensureSymlink"); throw err; } return { toCwd: srcpath, toDst: path2.relative(dstdir, srcpath) }; } function symlinkPathsSync(srcpath, dstpath) { if (path2.isAbsolute(srcpath)) { const exists2 = fs.existsSync(srcpath); if (!exists2) throw new Error("absolute srcpath does not exist"); return { toCwd: srcpath, toDst: srcpath }; } const dstdir = path2.dirname(dstpath); const relativeToDst = path2.join(dstdir, srcpath); const exists = fs.existsSync(relativeToDst); if (exists) { return { toCwd: relativeToDst, toDst: srcpath }; } const srcExists = fs.existsSync(srcpath); if (!srcExists) throw new Error("relative srcpath does not exist"); return { toCwd: srcpath, toDst: path2.relative(dstdir, srcpath) }; } module2.exports = { symlinkPaths: u(symlinkPaths), symlinkPathsSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/symlink-type.js var require_symlink_type2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/symlink-type.js"(exports2, module2) { "use strict"; var fs = require_fs7(); var u = require_universalify().fromPromise; async function symlinkType(srcpath, type) { if (type) return type; let stats; try { stats = await fs.lstat(srcpath); } catch { return "file"; } return stats && stats.isDirectory() ? "dir" : "file"; } function symlinkTypeSync(srcpath, type) { if (type) return type; let stats; try { stats = fs.lstatSync(srcpath); } catch { return "file"; } return stats && stats.isDirectory() ? "dir" : "file"; } module2.exports = { symlinkType: u(symlinkType), symlinkTypeSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/symlink.js var require_symlink2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/symlink.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var path2 = require("path"); var fs = require_fs7(); var { mkdirs, mkdirsSync } = require_mkdirs2(); var { symlinkPaths, symlinkPathsSync } = require_symlink_paths2(); var { symlinkType, symlinkTypeSync } = require_symlink_type2(); var { pathExists } = require_path_exists3(); var { areIdentical } = require_stat2(); async function createSymlink(srcpath, dstpath, type) { let stats; try { stats = await fs.lstat(dstpath); } catch { } if (stats && stats.isSymbolicLink()) { const [srcStat, dstStat] = await Promise.all([ fs.stat(srcpath), fs.stat(dstpath) ]); if (areIdentical(srcStat, dstStat)) return; } const relative = await symlinkPaths(srcpath, dstpath); srcpath = relative.toDst; const toType = await symlinkType(relative.toCwd, type); const dir = path2.dirname(dstpath); if (!await pathExists(dir)) { await mkdirs(dir); } return fs.symlink(srcpath, dstpath, toType); } function createSymlinkSync(srcpath, dstpath, type) { let stats; try { stats = fs.lstatSync(dstpath); } catch { } if (stats && stats.isSymbolicLink()) { const srcStat = fs.statSync(srcpath); const dstStat = fs.statSync(dstpath); if (areIdentical(srcStat, dstStat)) return; } const relative = symlinkPathsSync(srcpath, dstpath); srcpath = relative.toDst; type = symlinkTypeSync(relative.toCwd, type); const dir = path2.dirname(dstpath); const exists = fs.existsSync(dir); if (exists) return fs.symlinkSync(srcpath, dstpath, type); mkdirsSync(dir); return fs.symlinkSync(srcpath, dstpath, type); } module2.exports = { createSymlink: u(createSymlink), createSymlinkSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/index.js var require_ensure2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/ensure/index.js"(exports2, module2) { "use strict"; var { createFile, createFileSync } = require_file2(); var { createLink, createLinkSync } = require_link2(); var { createSymlink, createSymlinkSync } = require_symlink2(); module2.exports = { // file createFile, createFileSync, ensureFile: createFile, ensureFileSync: createFileSync, // link createLink, createLinkSync, ensureLink: createLink, ensureLinkSync: createLinkSync, // symlink createSymlink, createSymlinkSync, ensureSymlink: createSymlink, ensureSymlinkSync: createSymlinkSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/json/jsonfile.js var require_jsonfile3 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/json/jsonfile.js"(exports2, module2) { "use strict"; var jsonFile = require_jsonfile(); module2.exports = { // jsonfile exports readJson: jsonFile.readFile, readJsonSync: jsonFile.readFileSync, writeJson: jsonFile.writeFile, writeJsonSync: jsonFile.writeFileSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/output-file/index.js var require_output_file2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/output-file/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var fs = require_fs7(); var path2 = require("path"); var mkdir = require_mkdirs2(); var pathExists = require_path_exists3().pathExists; async function outputFile(file, data, encoding = "utf-8") { const dir = path2.dirname(file); if (!await pathExists(dir)) { await mkdir.mkdirs(dir); } return fs.writeFile(file, data, encoding); } function outputFileSync(file, ...args) { const dir = path2.dirname(file); if (!fs.existsSync(dir)) { mkdir.mkdirsSync(dir); } fs.writeFileSync(file, ...args); } module2.exports = { outputFile: u(outputFile), outputFileSync }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/json/output-json.js var require_output_json2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/json/output-json.js"(exports2, module2) { "use strict"; var { stringify: stringify2 } = require_utils3(); var { outputFile } = require_output_file2(); async function outputJson(file, data, options = {}) { const str = stringify2(data, options); await outputFile(file, str, options); } module2.exports = outputJson; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/json/output-json-sync.js var require_output_json_sync2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/json/output-json-sync.js"(exports2, module2) { "use strict"; var { stringify: stringify2 } = require_utils3(); var { outputFileSync } = require_output_file2(); function outputJsonSync(file, data, options) { const str = stringify2(data, options); outputFileSync(file, str, options); } module2.exports = outputJsonSync; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/json/index.js var require_json4 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/json/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; var jsonFile = require_jsonfile3(); jsonFile.outputJson = u(require_output_json2()); jsonFile.outputJsonSync = require_output_json_sync2(); jsonFile.outputJSON = jsonFile.outputJson; jsonFile.outputJSONSync = jsonFile.outputJsonSync; jsonFile.writeJSON = jsonFile.writeJson; jsonFile.writeJSONSync = jsonFile.writeJsonSync; jsonFile.readJSON = jsonFile.readJson; jsonFile.readJSONSync = jsonFile.readJsonSync; module2.exports = jsonFile; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/move/move.js var require_move3 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/move/move.js"(exports2, module2) { "use strict"; var fs = require_fs7(); var path2 = require("path"); var { copy } = require_copy4(); var { remove } = require_remove2(); var { mkdirp } = require_mkdirs2(); var { pathExists } = require_path_exists3(); var stat = require_stat2(); async function move(src, dest, opts = {}) { const overwrite = opts.overwrite || opts.clobber || false; const { srcStat, isChangingCase = false } = await stat.checkPaths(src, dest, "move", opts); await stat.checkParentPaths(src, srcStat, dest, "move"); const destParent = path2.dirname(dest); const parsedParentPath = path2.parse(destParent); if (parsedParentPath.root !== destParent) { await mkdirp(destParent); } return doRename(src, dest, overwrite, isChangingCase); } async function doRename(src, dest, overwrite, isChangingCase) { if (!isChangingCase) { if (overwrite) { await remove(dest); } else if (await pathExists(dest)) { throw new Error("dest already exists."); } } try { await fs.rename(src, dest); } catch (err) { if (err.code !== "EXDEV") { throw err; } await moveAcrossDevice(src, dest, overwrite); } } async function moveAcrossDevice(src, dest, overwrite) { const opts = { overwrite, errorOnExist: true, preserveTimestamps: true }; await copy(src, dest, opts); return remove(src); } module2.exports = move; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/move/move-sync.js var require_move_sync2 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/move/move-sync.js"(exports2, module2) { "use strict"; var fs = require_graceful_fs(); var path2 = require("path"); var copySync = require_copy4().copySync; var removeSync = require_remove2().removeSync; var mkdirpSync = require_mkdirs2().mkdirpSync; var stat = require_stat2(); function moveSync(src, dest, opts) { opts = opts || {}; const overwrite = opts.overwrite || opts.clobber || false; const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, "move", opts); stat.checkParentPathsSync(src, srcStat, dest, "move"); if (!isParentRoot(dest)) mkdirpSync(path2.dirname(dest)); return doRename(src, dest, overwrite, isChangingCase); } function isParentRoot(dest) { const parent = path2.dirname(dest); const parsedPath = path2.parse(parent); return parsedPath.root === parent; } function doRename(src, dest, overwrite, isChangingCase) { if (isChangingCase) return rename(src, dest, overwrite); if (overwrite) { removeSync(dest); return rename(src, dest, overwrite); } if (fs.existsSync(dest)) throw new Error("dest already exists."); return rename(src, dest, overwrite); } function rename(src, dest, overwrite) { try { fs.renameSync(src, dest); } catch (err) { if (err.code !== "EXDEV") throw err; return moveAcrossDevice(src, dest, overwrite); } } function moveAcrossDevice(src, dest, overwrite) { const opts = { overwrite, errorOnExist: true, preserveTimestamps: true }; copySync(src, dest, opts); return removeSync(src); } module2.exports = moveSync; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/move/index.js var require_move4 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/move/index.js"(exports2, module2) { "use strict"; var u = require_universalify().fromPromise; module2.exports = { move: u(require_move3()), moveSync: require_move_sync2() }; } }); // ../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/index.js var require_lib80 = __commonJS({ "../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/index.js"(exports2, module2) { "use strict"; module2.exports = { // Export promiseified graceful-fs: ...require_fs7(), // Export extra methods: ...require_copy4(), ...require_empty4(), ...require_ensure2(), ...require_json4(), ...require_mkdirs2(), ...require_move4(), ...require_output_file2(), ...require_path_exists3(), ...require_remove2() }; } }); // ../node_modules/.pnpm/make-empty-dir@3.0.2/node_modules/make-empty-dir/index.js var require_make_empty_dir = __commonJS({ "../node_modules/.pnpm/make-empty-dir@3.0.2/node_modules/make-empty-dir/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var path2 = require("path"); var rimraf = require_rimraf(); module2.exports = async function makeEmptyDir(dir, opts) { if (opts && opts.recursive) { await fs.promises.mkdir(path2.dirname(dir), { recursive: true }); } try { await fs.promises.mkdir(dir); return "created"; } catch (err) { if (err.code === "EEXIST") { await removeContentsOfDir(dir); return "emptied"; } throw err; } }; async function removeContentsOfDir(dir) { const items = await fs.promises.readdir(dir); for (const item of items) { await rimraf(path2.join(dir, item)); } } module2.exports.sync = function makeEmptyDirSync(dir, opts) { if (opts && opts.recursive) { fs.mkdirSync(path2.dirname(dir), { recursive: true }); } try { fs.mkdirSync(dir); return "created"; } catch (err) { if (err.code === "EEXIST") { removeContentsOfDirSync(dir); return "emptied"; } throw err; } }; function removeContentsOfDirSync(dir) { const items = fs.readdirSync(dir); for (const item of items) { rimraf.sync(path2.join(dir, item)); } } } }); // ../node_modules/.pnpm/truncate-utf8-bytes@1.0.2/node_modules/truncate-utf8-bytes/lib/truncate.js var require_truncate = __commonJS({ "../node_modules/.pnpm/truncate-utf8-bytes@1.0.2/node_modules/truncate-utf8-bytes/lib/truncate.js"(exports2, module2) { "use strict"; function isHighSurrogate(codePoint) { return codePoint >= 55296 && codePoint <= 56319; } function isLowSurrogate(codePoint) { return codePoint >= 56320 && codePoint <= 57343; } module2.exports = function truncate(getLength, string, byteLength) { if (typeof string !== "string") { throw new Error("Input must be string"); } var charLength = string.length; var curByteLength = 0; var codePoint; var segment; for (var i = 0; i < charLength; i += 1) { codePoint = string.charCodeAt(i); segment = string[i]; if (isHighSurrogate(codePoint) && isLowSurrogate(string.charCodeAt(i + 1))) { i += 1; segment += string[i]; } curByteLength += getLength(segment); if (curByteLength === byteLength) { return string.slice(0, i + 1); } else if (curByteLength > byteLength) { return string.slice(0, i - segment.length + 1); } } return string; }; } }); // ../node_modules/.pnpm/truncate-utf8-bytes@1.0.2/node_modules/truncate-utf8-bytes/index.js var require_truncate_utf8_bytes = __commonJS({ "../node_modules/.pnpm/truncate-utf8-bytes@1.0.2/node_modules/truncate-utf8-bytes/index.js"(exports2, module2) { "use strict"; var truncate = require_truncate(); var getLength = Buffer.byteLength.bind(Buffer); module2.exports = truncate.bind(null, getLength); } }); // ../node_modules/.pnpm/sanitize-filename@1.6.3/node_modules/sanitize-filename/index.js var require_sanitize_filename = __commonJS({ "../node_modules/.pnpm/sanitize-filename@1.6.3/node_modules/sanitize-filename/index.js"(exports2, module2) { "use strict"; var truncate = require_truncate_utf8_bytes(); var illegalRe = /[\/\?<>\\:\*\|"]/g; var controlRe = /[\x00-\x1f\x80-\x9f]/g; var reservedRe = /^\.+$/; var windowsReservedRe = /^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i; var windowsTrailingRe = /[\. ]+$/; function sanitize(input, replacement) { if (typeof input !== "string") { throw new Error("Input must be string"); } var sanitized = input.replace(illegalRe, replacement).replace(controlRe, replacement).replace(reservedRe, replacement).replace(windowsReservedRe, replacement).replace(windowsTrailingRe, replacement); return truncate(sanitized, 255); } module2.exports = function(input, options) { var replacement = options && options.replacement || ""; var output = sanitize(input, replacement); if (replacement === "") { return output; } return sanitize(output, ""); }; } }); // ../fs/indexed-pkg-importer/lib/importIndexedDir.js var require_importIndexedDir = __commonJS({ "../fs/indexed-pkg-importer/lib/importIndexedDir.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.importIndexedDir = importIndexedDir; var fs_1 = __importDefault2(require("fs")); var util_1 = __importDefault2(require("util")); var fs_extra_1 = require_lib80(); var path_1 = __importDefault2(require("path")); var logger_1 = require_lib(); var rimraf_1 = require_rimraf(); var make_empty_dir_1 = require_make_empty_dir(); var sanitize_filename_1 = __importDefault2(require_sanitize_filename()); var path_temp_1 = require_path_temp(); var rename_overwrite_1 = __importDefault2(require_rename_overwrite()); var graceful_fs_1 = __importDefault2(require_lib15()); var filenameConflictsLogger = (0, logger_1.logger)("_filename-conflicts"); function importIndexedDir(importFile, newDir, filenames, opts) { const stage = (0, path_temp_1.fastPathTemp)(newDir); try { tryImportIndexedDir(importFile, stage, filenames); if (opts.keepModulesDir) { moveOrMergeModulesDirs(path_1.default.join(newDir, "node_modules"), path_1.default.join(stage, "node_modules")); } rename_overwrite_1.default.sync(stage, newDir); } catch (err) { try { (0, rimraf_1.sync)(stage); } catch { } if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "EEXIST") { const { uniqueFileMap, conflictingFileNames } = getUniqueFileMap(filenames); if (Object.keys(conflictingFileNames).length === 0) throw err; filenameConflictsLogger.debug({ conflicts: conflictingFileNames, writingTo: newDir }); (0, logger_1.globalWarn)(`Not all files were linked to "${path_1.default.relative(process.cwd(), newDir)}". Some of the files have equal names in different case, which is an issue on case-insensitive filesystems. The conflicting file names are: ${JSON.stringify(conflictingFileNames)}`); importIndexedDir(importFile, newDir, uniqueFileMap, opts); return; } if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { const { sanitizedFilenames, invalidFilenames } = sanitizeFilenames(filenames); if (invalidFilenames.length === 0) throw err; (0, logger_1.globalWarn)(`The package linked to "${path_1.default.relative(process.cwd(), newDir)}" had files with invalid names: ${invalidFilenames.join(", ")}. They were renamed.`); importIndexedDir(importFile, newDir, sanitizedFilenames, opts); return; } throw err; } } function sanitizeFilenames(filenames) { const sanitizedFilenames = {}; const invalidFilenames = []; for (const [filename, src] of Object.entries(filenames)) { const sanitizedFilename = filename.split("/").map((f) => (0, sanitize_filename_1.default)(f)).join("/"); if (sanitizedFilename !== filename) { invalidFilenames.push(filename); } sanitizedFilenames[sanitizedFilename] = src; } return { sanitizedFilenames, invalidFilenames }; } function tryImportIndexedDir(importFile, newDir, filenames) { (0, make_empty_dir_1.sync)(newDir, { recursive: true }); const allDirs = /* @__PURE__ */ new Set(); for (const f in filenames) { const dir = path_1.default.dirname(f); if (dir === ".") continue; allDirs.add(dir); } Array.from(allDirs).sort((d1, d2) => d1.length - d2.length).forEach((dir) => fs_1.default.mkdirSync(path_1.default.join(newDir, dir), { recursive: true })); for (const [f, src] of Object.entries(filenames)) { const dest = path_1.default.join(newDir, f); importFile(src, dest); } } function getUniqueFileMap(fileMap) { const lowercaseFiles = /* @__PURE__ */ new Map(); const conflictingFileNames = {}; const uniqueFileMap = {}; for (const filename of Object.keys(fileMap).sort()) { const lowercaseFilename = filename.toLowerCase(); if (lowercaseFiles.has(lowercaseFilename)) { conflictingFileNames[filename] = lowercaseFiles.get(lowercaseFilename); continue; } lowercaseFiles.set(lowercaseFilename, filename); uniqueFileMap[filename] = fileMap[filename]; } return { conflictingFileNames, uniqueFileMap }; } function moveOrMergeModulesDirs(src, dest) { try { renameEvenAcrossDevices(src, dest); } catch (err) { switch (util_1.default.types.isNativeError(err) && "code" in err && err.code) { case "ENOENT": return; case "ENOTEMPTY": case "EPERM": mergeModulesDirs(src, dest); return; default: throw err; } } } function renameEvenAcrossDevices(src, dest) { try { graceful_fs_1.default.renameSync(src, dest); } catch (err) { if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "EXDEV")) throw err; (0, fs_extra_1.copySync)(src, dest); } } function mergeModulesDirs(src, dest) { const srcFiles = fs_1.default.readdirSync(src); const destFiles = new Set(fs_1.default.readdirSync(dest)); const filesToMove = srcFiles.filter((file) => !destFiles.has(file)); for (const file of filesToMove) { renameEvenAcrossDevices(path_1.default.join(src, file), path_1.default.join(dest, file)); } } } }); // ../node_modules/.pnpm/@reflink+reflink@0.1.19/node_modules/@reflink/reflink/binding.js var require_binding = __commonJS({ "../node_modules/.pnpm/@reflink+reflink@0.1.19/node_modules/@reflink/reflink/binding.js"(exports2, module2) { var { existsSync, readFileSync } = require("fs"); var { join } = require("path"); var { platform, arch } = process; var nativeBinding = null; var localFileExisted = false; var loadError = null; function isMusl() { if (!process.report || typeof process.report.getReport !== "function") { try { const lddPath = require("child_process").execSync("which ldd").toString().trim(); return readFileSync(lddPath, "utf8").includes("musl"); } catch (e) { return true; } } else { const { glibcVersionRuntime } = process.report.getReport().header; return !glibcVersionRuntime; } } switch (platform) { case "android": switch (arch) { case "arm64": localFileExisted = existsSync(join(__dirname, "reflink.android-arm64.node")); try { if (localFileExisted) { nativeBinding = require("./reflink.android-arm64.node"); } else { nativeBinding = require("@reflink/reflink-android-arm64"); } } catch (e) { loadError = e; } break; case "arm": localFileExisted = existsSync(join(__dirname, "reflink.android-arm-eabi.node")); try { if (localFileExisted) { nativeBinding = require("./reflink.android-arm-eabi.node"); } else { nativeBinding = require("@reflink/reflink-android-arm-eabi"); } } catch (e) { loadError = e; } break; default: throw new Error(`Unsupported architecture on Android ${arch}`); } break; case "win32": switch (arch) { case "x64": localFileExisted = existsSync( join(__dirname, "reflink.win32-x64-msvc.node") ); try { if (localFileExisted) { nativeBinding = require("./reflink.win32-x64-msvc.node"); } else { nativeBinding = require("./reflink.win32-x64-msvc-J2TZHRQI.node"); } } catch (e) { loadError = e; } break; case "ia32": localFileExisted = existsSync( join(__dirname, "reflink.win32-ia32-msvc.node") ); try { if (localFileExisted) { nativeBinding = require("./reflink.win32-ia32-msvc.node"); } else { nativeBinding = require("@reflink/reflink-win32-ia32-msvc"); } } catch (e) { loadError = e; } break; case "arm64": localFileExisted = existsSync( join(__dirname, "reflink.win32-arm64-msvc.node") ); try { if (localFileExisted) { nativeBinding = require("./reflink.win32-arm64-msvc.node"); } else { nativeBinding = require("./reflink.win32-arm64-msvc-Q6BARPPB.node"); } } catch (e) { loadError = e; } break; default: throw new Error(`Unsupported architecture on Windows: ${arch}`); } break; case "darwin": localFileExisted = existsSync(join(__dirname, "reflink.darwin-universal.node")); try { if (localFileExisted) { nativeBinding = require("./reflink.darwin-universal.node"); } else { nativeBinding = require("@reflink/reflink-darwin-universal"); } break; } catch { } switch (arch) { case "x64": localFileExisted = existsSync(join(__dirname, "reflink.darwin-x64.node")); try { if (localFileExisted) { nativeBinding = require("./reflink.darwin-x64.node"); } else { nativeBinding = require("./reflink.darwin-x64-3G3H6IW4.node"); } } catch (e) { loadError = e; } break; case "arm64": localFileExisted = existsSync( join(__dirname, "reflink.darwin-arm64.node") ); try { if (localFileExisted) { nativeBinding = require("./reflink.darwin-arm64.node"); } else { nativeBinding = require("./reflink.darwin-arm64-2HJ4WGO6.node"); } } catch (e) { loadError = e; } break; default: throw new Error(`Unsupported architecture on macOS: ${arch}`); } break; case "freebsd": if (arch !== "x64") { throw new Error(`Unsupported architecture on FreeBSD: ${arch}`); } localFileExisted = existsSync(join(__dirname, "reflink.freebsd-x64.node")); try { if (localFileExisted) { nativeBinding = require("./reflink.freebsd-x64.node"); } else { nativeBinding = require("@reflink/reflink-freebsd-x64"); } } catch (e) { loadError = e; } break; case "linux": switch (arch) { case "x64": if (isMusl()) { localFileExisted = existsSync( join(__dirname, "reflink.linux-x64-musl.node") ); try { if (localFileExisted) { nativeBinding = require("./reflink.linux-x64-musl.node"); } else { nativeBinding = require("@reflink/reflink-linux-x64-musl"); } } catch (e) { loadError = e; } } else { localFileExisted = existsSync( join(__dirname, "reflink.linux-x64-gnu.node") ); try { if (localFileExisted) { nativeBinding = require("./reflink.linux-x64-gnu.node"); } else { nativeBinding = require("@reflink/reflink-linux-x64-gnu"); } } catch (e) { loadError = e; } } break; case "arm64": if (isMusl()) { localFileExisted = existsSync( join(__dirname, "reflink.linux-arm64-musl.node") ); try { if (localFileExisted) { nativeBinding = require("./reflink.linux-arm64-musl.node"); } else { nativeBinding = require("@reflink/reflink-linux-arm64-musl"); } } catch (e) { loadError = e; } } else { localFileExisted = existsSync( join(__dirname, "reflink.linux-arm64-gnu.node") ); try { if (localFileExisted) { nativeBinding = require("./reflink.linux-arm64-gnu.node"); } else { nativeBinding = require("@reflink/reflink-linux-arm64-gnu"); } } catch (e) { loadError = e; } } break; case "arm": localFileExisted = existsSync( join(__dirname, "reflink.linux-arm-gnueabihf.node") ); try { if (localFileExisted) { nativeBinding = require("./reflink.linux-arm-gnueabihf.node"); } else { nativeBinding = require("@reflink/reflink-linux-arm-gnueabihf"); } } catch (e) { loadError = e; } break; default: throw new Error(`Unsupported architecture on Linux: ${arch}`); } break; default: throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`); } if (!nativeBinding) { if (loadError) { throw loadError; } throw new Error(`Failed to load native binding`); } var { ReflinkError, reflinkFile, reflinkFileSync } = nativeBinding; module2.exports.ReflinkError = ReflinkError; module2.exports.reflinkFile = reflinkFile; module2.exports.reflinkFileSync = reflinkFileSync; } }); // ../node_modules/.pnpm/@reflink+reflink@0.1.19/node_modules/@reflink/reflink/index.js var require_reflink = __commonJS({ "../node_modules/.pnpm/@reflink+reflink@0.1.19/node_modules/@reflink/reflink/index.js"(exports2, module2) { var binding = require_binding(); function createReflinkError(reflinkError) { const error = new Error(reflinkError.message); return Object.assign(error, { path: reflinkError.path, dest: reflinkError.dest, code: reflinkError.code, errno: reflinkError.errno }); } function handleReflinkResult(result2) { if (typeof result2 === "number") { return result2; } else { throw createReflinkError(result2); } } var reflinkFile = (src, dst) => binding.reflinkFile(src, dst).then(handleReflinkResult); var reflinkFileSync = (src, dst) => handleReflinkResult(binding.reflinkFileSync(src, dst)); module2.exports = { reflinkFile, reflinkFileSync }; } }); // ../fs/indexed-pkg-importer/lib/index.js var require_lib81 = __commonJS({ "../fs/indexed-pkg-importer/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createIndexedPkgImporter = createIndexedPkgImporter; exports2.copyPkg = copyPkg; var assert_1 = __importDefault2(require("assert")); var fs_1 = require("fs"); var util_1 = __importDefault2(require("util")); var graceful_fs_1 = __importDefault2(require_lib15()); var path_1 = __importDefault2(require("path")); var logger_1 = require_lib(); var core_loggers_1 = require_lib8(); var importIndexedDir_js_1 = require_importIndexedDir(); function createIndexedPkgImporter(packageImportMethod) { const importPackage = createImportPackage(packageImportMethod); return importPackage; } function createImportPackage(packageImportMethod) { switch (packageImportMethod ?? "auto") { case "clone": core_loggers_1.packageImportMethodLogger.debug({ method: "clone" }); return clonePkg.bind(null, createCloneFunction()); case "hardlink": core_loggers_1.packageImportMethodLogger.debug({ method: "hardlink" }); return hardlinkPkg.bind(null, linkOrCopy); case "auto": { return createAutoImporter(); } case "clone-or-copy": return createCloneOrCopyImporter(); case "copy": core_loggers_1.packageImportMethodLogger.debug({ method: "copy" }); return copyPkg; default: throw new Error(`Unknown package import method ${packageImportMethod}`); } } function createAutoImporter() { let auto = initialAuto; return (to, opts) => auto(to, opts); function initialAuto(to, opts) { if (process.platform !== "win32") { try { const _clonePkg = clonePkg.bind(null, createCloneFunction()); if (!_clonePkg(to, opts)) return void 0; core_loggers_1.packageImportMethodLogger.debug({ method: "clone" }); auto = _clonePkg; return "clone"; } catch { } } try { if (!hardlinkPkg(graceful_fs_1.default.linkSync, to, opts)) return void 0; core_loggers_1.packageImportMethodLogger.debug({ method: "hardlink" }); auto = hardlinkPkg.bind(null, linkOrCopy); return "hardlink"; } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); if (err.message.startsWith("EXDEV: cross-device link not permitted")) { (0, logger_1.globalWarn)(err.message); (0, logger_1.globalInfo)("Falling back to copying packages from store"); core_loggers_1.packageImportMethodLogger.debug({ method: "copy" }); auto = copyPkg; return auto(to, opts); } core_loggers_1.packageImportMethodLogger.debug({ method: "hardlink" }); auto = hardlinkPkg.bind(null, linkOrCopy); return auto(to, opts); } } } function createCloneOrCopyImporter() { let auto = initialAuto; return (to, opts) => auto(to, opts); function initialAuto(to, opts) { try { const _clonePkg = clonePkg.bind(null, createCloneFunction()); if (!_clonePkg(to, opts)) return void 0; core_loggers_1.packageImportMethodLogger.debug({ method: "clone" }); auto = _clonePkg; return "clone"; } catch { } core_loggers_1.packageImportMethodLogger.debug({ method: "copy" }); auto = copyPkg; return auto(to, opts); } } function clonePkg(clone, to, opts) { if (opts.resolvedFrom !== "store" || opts.force || !pkgExistsAtTargetDir(to, opts.filesMap)) { (0, importIndexedDir_js_1.importIndexedDir)(clone, to, opts.filesMap, opts); return "clone"; } return void 0; } function pkgExistsAtTargetDir(targetDir, filesMap) { return (0, fs_1.existsSync)(path_1.default.join(targetDir, pickFileFromFilesMap(filesMap))); } function pickFileFromFilesMap(filesMap) { if (filesMap["package.json"]) { return "package.json"; } const files = Object.keys(filesMap); if (files.length === 0) { throw new Error("pickFileFromFilesMap cannot pick a file from an empty FilesMap"); } return files[0]; } function createCloneFunction() { if (process.platform === "darwin" || process.platform === "win32") { const { reflinkFileSync } = require_reflink(); return (fr, to) => { try { reflinkFileSync(fr, to); } catch (err) { if (!util_1.default.types.isNativeError(err) || !("code" in err) || err.code !== "EEXIST") throw err; } }; } return (src, dest) => { try { graceful_fs_1.default.copyFileSync(src, dest, fs_1.constants.COPYFILE_FICLONE_FORCE); } catch (err) { if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "EEXIST")) throw err; } }; } function hardlinkPkg(importFile, to, opts) { if (opts.force || shouldRelinkPkg(to, opts)) { (0, importIndexedDir_js_1.importIndexedDir)(importFile, to, opts.filesMap, opts); return "hardlink"; } return void 0; } function shouldRelinkPkg(to, opts) { if (opts.disableRelinkLocalDirDeps && opts.resolvedFrom === "local-dir") { try { const files = graceful_fs_1.default.readdirSync(to); return files.length === 0 || files.length === 1 && files[0] === "node_modules"; } catch { return true; } } return opts.resolvedFrom !== "store" || !pkgLinkedToStore(opts.filesMap, to); } function linkOrCopy(existingPath, newPath) { try { graceful_fs_1.default.linkSync(existingPath, newPath); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "EEXIST") return; graceful_fs_1.default.copyFileSync(existingPath, newPath); } } function pkgLinkedToStore(filesMap, linkedPkgDir) { const filename = pickFileFromFilesMap(filesMap); const linkedFile = path_1.default.join(linkedPkgDir, filename); let stats0; try { stats0 = graceful_fs_1.default.statSync(linkedFile); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") return false; } const stats1 = graceful_fs_1.default.statSync(filesMap[filename]); if (stats0.ino === stats1.ino) return true; (0, logger_1.globalInfo)(`Relinking ${linkedPkgDir} from the store`); return false; } function copyPkg(to, opts) { if (opts.resolvedFrom !== "store" || opts.force || !pkgExistsAtTargetDir(to, opts.filesMap)) { (0, importIndexedDir_js_1.importIndexedDir)(graceful_fs_1.default.copyFileSync, to, opts.filesMap, opts); return "copy"; } return void 0; } } }); // ../store/create-cafs-store/lib/index.js var require_lib82 = __commonJS({ "../store/create-cafs-store/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPackageImporterAsync = createPackageImporterAsync; exports2.createCafsStore = createCafsStore; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var store_cafs_1 = require_lib79(); var fs_indexed_pkg_importer_1 = require_lib81(); var mem_1 = __importDefault2(require_dist15()); var path_temp_1 = __importDefault2(require_path_temp()); var map_1 = __importDefault2(require_map3()); function createPackageImporterAsync(opts) { const cachedImporterCreator = opts.importIndexedPackage ? () => opts.importIndexedPackage : (0, mem_1.default)(fs_indexed_pkg_importer_1.createIndexedPkgImporter); const packageImportMethod = opts.packageImportMethod; const gfm = getFlatMap.bind(null, opts.storeDir); return async (to, opts2) => { const { filesMap, isBuilt } = gfm(opts2.filesResponse, opts2.sideEffectsCacheKey); const willBeBuilt = !isBuilt && opts2.requiresBuild; const pkgImportMethod = willBeBuilt ? "clone-or-copy" : opts2.filesResponse.packageImportMethod ?? packageImportMethod; const impPkg = cachedImporterCreator(pkgImportMethod); const importMethod = await impPkg(to, { disableRelinkLocalDirDeps: opts2.disableRelinkLocalDirDeps, filesMap, resolvedFrom: opts2.filesResponse.resolvedFrom, force: opts2.force, keepModulesDir: Boolean(opts2.keepModulesDir) }); return { importMethod, isBuilt }; }; } function createPackageImporter(opts) { const cachedImporterCreator = opts.importIndexedPackage ? () => opts.importIndexedPackage : (0, mem_1.default)(fs_indexed_pkg_importer_1.createIndexedPkgImporter); const packageImportMethod = opts.packageImportMethod; const gfm = getFlatMap.bind(null, opts.storeDir); return (to, opts2) => { const { filesMap, isBuilt } = gfm(opts2.filesResponse, opts2.sideEffectsCacheKey); const willBeBuilt = !isBuilt && opts2.requiresBuild; const pkgImportMethod = willBeBuilt ? "clone-or-copy" : opts2.filesResponse.packageImportMethod ?? packageImportMethod; const impPkg = cachedImporterCreator(pkgImportMethod); const importMethod = impPkg(to, { disableRelinkLocalDirDeps: opts2.disableRelinkLocalDirDeps, filesMap, resolvedFrom: opts2.filesResponse.resolvedFrom, force: opts2.force, keepModulesDir: Boolean(opts2.keepModulesDir) }); return { importMethod, isBuilt }; }; } function getFlatMap(storeDir, filesResponse, targetEngine) { let isBuilt; let filesIndex; if (targetEngine && filesResponse.sideEffects?.[targetEngine] != null) { filesIndex = applySideEffectsDiff(filesResponse.filesIndex, filesResponse.sideEffects?.[targetEngine]); isBuilt = true; } else if (!filesResponse.unprocessed) { return { filesMap: filesResponse.filesIndex, isBuilt: false }; } else { filesIndex = filesResponse.filesIndex; isBuilt = false; } const filesMap = (0, map_1.default)(({ integrity, mode }) => (0, store_cafs_1.getFilePathByModeInCafs)(storeDir, integrity, mode), filesIndex); return { filesMap, isBuilt }; } function applySideEffectsDiff(baseFiles, { added, deleted }) { const filesWithSideEffects = { ...added }; for (const fileName in baseFiles) { if (!deleted?.includes(fileName) && !filesWithSideEffects[fileName]) { filesWithSideEffects[fileName] = baseFiles[fileName]; } } return filesWithSideEffects; } function createCafsStore(storeDir, opts) { const baseTempDir = path_1.default.join(storeDir, "tmp"); const importPackage = createPackageImporter({ importIndexedPackage: opts?.importPackage, packageImportMethod: opts?.packageImportMethod, storeDir }); return { ...(0, store_cafs_1.createCafs)(storeDir, opts), storeDir, importPackage, tempDir: async () => { const tmpDir = (0, path_temp_1.default)(baseTempDir); await fs_1.promises.mkdir(tmpDir, { recursive: true }); return tmpDir; } }; } } }); // ../fetching/pick-fetcher/lib/index.js var require_lib83 = __commonJS({ "../fetching/pick-fetcher/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pickFetcher = pickFetcher; exports2.isGitHostedPkgUrl = isGitHostedPkgUrl; function pickFetcher(fetcherByHostingType, resolution) { let fetcherType = resolution.type; if (resolution.type == null) { if (resolution.tarball.startsWith("file:")) { fetcherType = "localTarball"; } else if (isGitHostedPkgUrl(resolution.tarball)) { fetcherType = "gitHostedTarball"; } else { fetcherType = "remoteTarball"; } } const fetch = fetcherByHostingType[fetcherType]; if (!fetch) { throw new Error(`Fetching for dependency type "${resolution.type ?? "undefined"}" is not supported`); } return fetch; } function isGitHostedPkgUrl(url) { return (url.startsWith("https://codeload.github.com/") || url.startsWith("https://bitbucket.org/") || url.startsWith("https://gitlab.com/")) && url.includes("tar.gz"); } } }); // ../env/system-node-version/lib/index.js var require_lib84 = __commonJS({ "../env/system-node-version/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getSystemNodeVersion = void 0; exports2.getSystemNodeVersionNonCached = getSystemNodeVersionNonCached; var cli_meta_1 = require_lib4(); var mem_1 = __importDefault2(require_dist15()); var execa = __importStar3(require_lib17()); function getSystemNodeVersionNonCached() { if ((0, cli_meta_1.detectIfCurrentPkgIsExecutable)()) { try { return execa.sync("node", ["--version"]).stdout.toString(); } catch { return void 0; } } return process.version; } exports2.getSystemNodeVersion = (0, mem_1.default)(getSystemNodeVersionNonCached); } }); // ../config/package-is-installable/lib/checkEngine.js var require_checkEngine = __commonJS({ "../config/package-is-installable/lib/checkEngine.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.UnsupportedEngineError = void 0; exports2.checkEngine = checkEngine; var error_1 = require_lib6(); var semver_12 = __importDefault2(require_semver2()); var UnsupportedEngineError = class extends error_1.PnpmError { wanted; current; packageId; constructor(packageId, wanted, current) { super("UNSUPPORTED_ENGINE", `Unsupported engine for ${packageId}: wanted: ${JSON.stringify(wanted)} (current: ${JSON.stringify(current)})`); this.packageId = packageId; this.wanted = wanted; this.current = current; } }; exports2.UnsupportedEngineError = UnsupportedEngineError; function checkEngine(packageId, wantedEngine, currentEngine) { if (!wantedEngine) return null; const unsatisfiedWanted = {}; if (wantedEngine.node && !semver_12.default.satisfies(currentEngine.node, wantedEngine.node, { includePrerelease: true })) { if (!semver_12.default.valid(currentEngine.node)) { throw new error_1.PnpmError("INVALID_NODE_VERSION", `The nodeVersion setting is "${currentEngine.node}", which is not exact semver version`); } unsatisfiedWanted.node = wantedEngine.node; } if (currentEngine.pnpm && wantedEngine.pnpm && !semver_12.default.satisfies(currentEngine.pnpm, wantedEngine.pnpm, { includePrerelease: true })) { unsatisfiedWanted.pnpm = wantedEngine.pnpm; } if (Object.keys(unsatisfiedWanted).length > 0) { return new UnsupportedEngineError(packageId, unsatisfiedWanted, currentEngine); } return null; } } }); // ../node_modules/.pnpm/detect-libc@2.0.4/node_modules/detect-libc/lib/process.js var require_process = __commonJS({ "../node_modules/.pnpm/detect-libc@2.0.4/node_modules/detect-libc/lib/process.js"(exports2, module2) { "use strict"; var isLinux = () => process.platform === "linux"; var report = null; var getReport = () => { if (!report) { if (isLinux() && process.report) { const orig = process.report.excludeNetwork; process.report.excludeNetwork = true; report = process.report.getReport(); process.report.excludeNetwork = orig; } else { report = {}; } } return report; }; module2.exports = { isLinux, getReport }; } }); // ../node_modules/.pnpm/detect-libc@2.0.4/node_modules/detect-libc/lib/filesystem.js var require_filesystem = __commonJS({ "../node_modules/.pnpm/detect-libc@2.0.4/node_modules/detect-libc/lib/filesystem.js"(exports2, module2) { "use strict"; var fs = require("fs"); var LDD_PATH = "/usr/bin/ldd"; var readFileSync = (path2) => fs.readFileSync(path2, "utf-8"); var readFile = (path2) => new Promise((resolve, reject) => { fs.readFile(path2, "utf-8", (err, data) => { if (err) { reject(err); } else { resolve(data); } }); }); module2.exports = { LDD_PATH, readFileSync, readFile }; } }); // ../node_modules/.pnpm/detect-libc@2.0.4/node_modules/detect-libc/lib/detect-libc.js var require_detect_libc = __commonJS({ "../node_modules/.pnpm/detect-libc@2.0.4/node_modules/detect-libc/lib/detect-libc.js"(exports2, module2) { "use strict"; var childProcess = require("child_process"); var { isLinux, getReport } = require_process(); var { LDD_PATH, readFile, readFileSync } = require_filesystem(); var cachedFamilyFilesystem; var cachedVersionFilesystem; var command = "getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true"; var commandOut = ""; var safeCommand = () => { if (!commandOut) { return new Promise((resolve) => { childProcess.exec(command, (err, out) => { commandOut = err ? " " : out; resolve(commandOut); }); }); } return commandOut; }; var safeCommandSync = () => { if (!commandOut) { try { commandOut = childProcess.execSync(command, { encoding: "utf8" }); } catch (_err) { commandOut = " "; } } return commandOut; }; var GLIBC = "glibc"; var RE_GLIBC_VERSION = /LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i; var MUSL = "musl"; var isFileMusl = (f) => f.includes("libc.musl-") || f.includes("ld-musl-"); var familyFromReport = () => { const report = getReport(); if (report.header && report.header.glibcVersionRuntime) { return GLIBC; } if (Array.isArray(report.sharedObjects)) { if (report.sharedObjects.some(isFileMusl)) { return MUSL; } } return null; }; var familyFromCommand = (out) => { const [getconf, ldd1] = out.split(/[\r\n]+/); if (getconf && getconf.includes(GLIBC)) { return GLIBC; } if (ldd1 && ldd1.includes(MUSL)) { return MUSL; } return null; }; var getFamilyFromLddContent = (content) => { if (content.includes("musl")) { return MUSL; } if (content.includes("GNU C Library")) { return GLIBC; } return null; }; var familyFromFilesystem = async () => { if (cachedFamilyFilesystem !== void 0) { return cachedFamilyFilesystem; } cachedFamilyFilesystem = null; try { const lddContent = await readFile(LDD_PATH); cachedFamilyFilesystem = getFamilyFromLddContent(lddContent); } catch (e) { } return cachedFamilyFilesystem; }; var familyFromFilesystemSync = () => { if (cachedFamilyFilesystem !== void 0) { return cachedFamilyFilesystem; } cachedFamilyFilesystem = null; try { const lddContent = readFileSync(LDD_PATH); cachedFamilyFilesystem = getFamilyFromLddContent(lddContent); } catch (e) { } return cachedFamilyFilesystem; }; var family = async () => { let family2 = null; if (isLinux()) { family2 = await familyFromFilesystem(); if (!family2) { family2 = familyFromReport(); } if (!family2) { const out = await safeCommand(); family2 = familyFromCommand(out); } } return family2; }; var familySync = () => { let family2 = null; if (isLinux()) { family2 = familyFromFilesystemSync(); if (!family2) { family2 = familyFromReport(); } if (!family2) { const out = safeCommandSync(); family2 = familyFromCommand(out); } } return family2; }; var isNonGlibcLinux = async () => isLinux() && await family() !== GLIBC; var isNonGlibcLinuxSync = () => isLinux() && familySync() !== GLIBC; var versionFromFilesystem = async () => { if (cachedVersionFilesystem !== void 0) { return cachedVersionFilesystem; } cachedVersionFilesystem = null; try { const lddContent = await readFile(LDD_PATH); const versionMatch = lddContent.match(RE_GLIBC_VERSION); if (versionMatch) { cachedVersionFilesystem = versionMatch[1]; } } catch (e) { } return cachedVersionFilesystem; }; var versionFromFilesystemSync = () => { if (cachedVersionFilesystem !== void 0) { return cachedVersionFilesystem; } cachedVersionFilesystem = null; try { const lddContent = readFileSync(LDD_PATH); const versionMatch = lddContent.match(RE_GLIBC_VERSION); if (versionMatch) { cachedVersionFilesystem = versionMatch[1]; } } catch (e) { } return cachedVersionFilesystem; }; var versionFromReport = () => { const report = getReport(); if (report.header && report.header.glibcVersionRuntime) { return report.header.glibcVersionRuntime; } return null; }; var versionSuffix = (s) => s.trim().split(/\s+/)[1]; var versionFromCommand = (out) => { const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/); if (getconf && getconf.includes(GLIBC)) { return versionSuffix(getconf); } if (ldd1 && ldd2 && ldd1.includes(MUSL)) { return versionSuffix(ldd2); } return null; }; var version2 = async () => { let version3 = null; if (isLinux()) { version3 = await versionFromFilesystem(); if (!version3) { version3 = versionFromReport(); } if (!version3) { const out = await safeCommand(); version3 = versionFromCommand(out); } } return version3; }; var versionSync = () => { let version3 = null; if (isLinux()) { version3 = versionFromFilesystemSync(); if (!version3) { version3 = versionFromReport(); } if (!version3) { const out = safeCommandSync(); version3 = versionFromCommand(out); } } return version3; }; module2.exports = { GLIBC, MUSL, family, familySync, isNonGlibcLinux, isNonGlibcLinuxSync, version: version2, versionSync }; } }); // ../config/package-is-installable/lib/checkPlatform.js var require_checkPlatform = __commonJS({ "../config/package-is-installable/lib/checkPlatform.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.UnsupportedPlatformError = void 0; exports2.checkPlatform = checkPlatform; var error_1 = require_lib6(); var detect_libc_1 = require_detect_libc(); var currentLibc = (0, detect_libc_1.familySync)() ?? "unknown"; var UnsupportedPlatformError = class extends error_1.PnpmError { wanted; current; constructor(packageId, wanted, current) { super("UNSUPPORTED_PLATFORM", `Unsupported platform for ${packageId}: wanted ${JSON.stringify(wanted)} (current: ${JSON.stringify(current)})`); this.wanted = wanted; this.current = current; } }; exports2.UnsupportedPlatformError = UnsupportedPlatformError; function checkPlatform(packageId, wantedPlatform, supportedArchitectures) { const current = { os: dedupeCurrent(process.platform, supportedArchitectures?.os ?? ["current"]), cpu: dedupeCurrent(process.arch, supportedArchitectures?.cpu ?? ["current"]), libc: dedupeCurrent(currentLibc, supportedArchitectures?.libc ?? ["current"]) }; const { platform, arch } = process; let osOk = true; let cpuOk = true; let libcOk = true; if (wantedPlatform.os) { osOk = checkList(current.os, wantedPlatform.os); } if (wantedPlatform.cpu) { cpuOk = checkList(current.cpu, wantedPlatform.cpu); } if (wantedPlatform.libc && currentLibc !== "unknown") { libcOk = checkList(current.libc, wantedPlatform.libc); } if (!osOk || !cpuOk || !libcOk) { return new UnsupportedPlatformError(packageId, wantedPlatform, { os: platform, cpu: arch, libc: currentLibc }); } return null; } function checkList(value, list) { let tmp; let match = false; let blc = 0; if (typeof list === "string") { list = [list]; } list = list.filter((value2) => typeof value2 === "string"); if (list.length === 1 && list[0] === "any") { return true; } const values = Array.isArray(value) ? value : [value]; for (const value2 of values) { for (let i = 0; i < list.length; ++i) { tmp = list[i]; if (tmp[0] === "!") { tmp = tmp.slice(1); if (tmp === value2) { return false; } ++blc; } else { match = match || tmp === value2; } } } return match || blc === list.length; } function dedupeCurrent(current, supported) { return supported.map((supported2) => supported2 === "current" ? current : supported2); } } }); // ../config/package-is-installable/lib/index.js var require_lib85 = __commonJS({ "../config/package-is-installable/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.UnsupportedPlatformError = exports2.UnsupportedEngineError = void 0; exports2.packageIsInstallable = packageIsInstallable; exports2.checkPackage = checkPackage; var core_loggers_1 = require_lib8(); var env_system_node_version_1 = require_lib84(); var checkEngine_js_1 = require_checkEngine(); Object.defineProperty(exports2, "UnsupportedEngineError", { enumerable: true, get: function() { return checkEngine_js_1.UnsupportedEngineError; } }); var checkPlatform_js_1 = require_checkPlatform(); Object.defineProperty(exports2, "UnsupportedPlatformError", { enumerable: true, get: function() { return checkPlatform_js_1.UnsupportedPlatformError; } }); function packageIsInstallable(pkgId, pkg, options) { const warn = checkPackage(pkgId, pkg, options); if (warn == null) return true; core_loggers_1.installCheckLogger.warn({ message: warn.message, prefix: options.lockfileDir }); if (options.optional) { core_loggers_1.skippedOptionalDependencyLogger.debug({ details: warn.toString(), package: { id: pkgId, name: pkg.name, version: pkg.version }, prefix: options.lockfileDir, reason: warn.code === "ERR_PNPM_UNSUPPORTED_ENGINE" ? "unsupported_engine" : "unsupported_platform" }); return false; } if (options.engineStrict) throw warn; return null; } function checkPackage(pkgId, manifest, options) { return (0, checkPlatform_js_1.checkPlatform)(pkgId, { cpu: manifest.cpu ?? ["any"], os: manifest.os ?? ["any"], libc: manifest.libc ?? ["any"] }, options.supportedArchitectures) ?? (manifest.engines == null ? null : (0, checkEngine_js_1.checkEngine)(pkgId, manifest.engines, { node: options.nodeVersion ?? (0, env_system_node_version_1.getSystemNodeVersion)() ?? process.version, pnpm: options.pnpmVersion })); } } }); // ../packages/dependency-path/lib/index.js var require_lib86 = __commonJS({ "../packages/dependency-path/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isAbsolute = isAbsolute; exports2.indexOfDepPathSuffix = indexOfDepPathSuffix; exports2.parseDepPath = parseDepPath; exports2.removeSuffix = removeSuffix; exports2.getPkgIdWithPatchHash = getPkgIdWithPatchHash; exports2.tryGetPackageId = tryGetPackageId; exports2.getRegistryByPackageName = getRegistryByPackageName; exports2.refToRelative = refToRelative; exports2.parse = parse2; exports2.depPathToFilename = depPathToFilename; exports2.createPeerDepGraphHash = createPeerDepGraphHash; var crypto_hash_1 = require_lib36(); var semver_12 = __importDefault2(require_semver2()); function isAbsolute(dependencyPath) { return dependencyPath[0] !== "/"; } function indexOfDepPathSuffix(depPath) { if (!depPath.endsWith(")")) return { peersIndex: -1, patchHashIndex: -1 }; let open = 1; for (let i = depPath.length - 2; i >= 0; i--) { if (depPath[i] === "(") { open--; } else if (depPath[i] === ")") { open++; } else if (!open) { if (depPath.substring(i + 1).startsWith("(patch_hash=")) { return { patchHashIndex: i + 1, peersIndex: depPath.indexOf("(", i + 2) }; } return { patchHashIndex: -1, peersIndex: i + 1 }; } } return { peersIndex: -1, patchHashIndex: -1 }; } function parseDepPath(relDepPath) { const { peersIndex } = indexOfDepPathSuffix(relDepPath); if (peersIndex !== -1) { return { id: relDepPath.substring(0, peersIndex), peerDepGraphHash: relDepPath.substring(peersIndex) }; } return { id: relDepPath, peerDepGraphHash: "" }; } function removeSuffix(relDepPath) { const { peersIndex, patchHashIndex } = indexOfDepPathSuffix(relDepPath); if (patchHashIndex !== -1) { return relDepPath.substring(0, patchHashIndex); } if (peersIndex !== -1) { return relDepPath.substring(0, peersIndex); } return relDepPath; } function getPkgIdWithPatchHash(depPath) { let pkgId = depPath; const { peersIndex: sepIndex } = indexOfDepPathSuffix(pkgId); if (sepIndex !== -1) { pkgId = pkgId.substring(0, sepIndex); } return pkgId; } function tryGetPackageId(relDepPath) { let pkgId = relDepPath; const { peersIndex, patchHashIndex } = indexOfDepPathSuffix(pkgId); const sepIndex = patchHashIndex === -1 ? peersIndex : patchHashIndex; if (sepIndex !== -1) { pkgId = pkgId.substring(0, sepIndex); } if (pkgId.includes(":")) { const newPkgId = pkgId.substring(pkgId.indexOf("@", 1) + 1); if (!newPkgId.startsWith("runtime:")) { pkgId = newPkgId; } } return pkgId; } function getRegistryByPackageName(registries, packageName) { if (packageName[0] !== "@") return registries.default; const scope = packageName.substring(0, packageName.indexOf("/")); return registries[scope] || registries.default; } function refToRelative(reference, pkgName) { if (reference.startsWith("link:")) { return null; } if (reference[0] === "@") return reference; const atIndex = reference.indexOf("@"); if (atIndex === -1) return `${pkgName}@${reference}`; const colonIndex = reference.indexOf(":"); const bracketIndex = reference.indexOf("("); if ((colonIndex === -1 || atIndex < colonIndex) && (bracketIndex === -1 || atIndex < bracketIndex)) return reference; return `${pkgName}@${reference}`; } function parse2(dependencyPath) { if (typeof dependencyPath !== "string") { throw new TypeError(`Expected \`dependencyPath\` to be of type \`string\`, got \`${// eslint-disable-next-line: strict-type-predicates dependencyPath === null ? "null" : typeof dependencyPath}\``); } const sepIndex = dependencyPath.indexOf("@", 1); if (sepIndex === -1) { return {}; } const name = dependencyPath.substring(0, sepIndex); let version2 = dependencyPath.substring(sepIndex + 1); if (version2) { let peerDepGraphHash; let patchHash; const { peersIndex, patchHashIndex } = indexOfDepPathSuffix(version2); if (peersIndex !== -1 || patchHashIndex !== -1) { if (peersIndex === -1) { patchHash = version2.substring(patchHashIndex); version2 = version2.substring(0, patchHashIndex); } else if (patchHashIndex === -1) { peerDepGraphHash = version2.substring(peersIndex); version2 = version2.substring(0, peersIndex); } else { patchHash = version2.substring(patchHashIndex, peersIndex); peerDepGraphHash = version2.substring(peersIndex); version2 = version2.substring(0, patchHashIndex); } } if (semver_12.default.valid(version2)) { return { name, peerDepGraphHash, version: version2, patchHash }; } return { name, nonSemverVersion: version2, peerDepGraphHash, patchHash }; } return {}; } function depPathToFilename(depPath, maxLengthWithoutHash) { let filename = depPathToFilenameUnescaped(depPath).replace(/[\\/:*?"<>|#]/g, "+"); if (filename.includes("(")) { filename = filename.replace(/\)$/, "").replace(/\)\(|\(|\)/g, "_"); } if (filename.length > maxLengthWithoutHash || filename !== filename.toLowerCase() && !filename.startsWith("file+")) { return `${filename.substring(0, maxLengthWithoutHash - 33)}_${(0, crypto_hash_1.createShortHash)(filename)}`; } return filename; } function depPathToFilenameUnescaped(depPath) { if (!depPath.startsWith("file:")) { if (depPath[0] === "/") { depPath = depPath.substring(1); } const index = depPath.indexOf("@", 1); if (index === -1) return depPath; return `${depPath.substring(0, index)}@${depPath.slice(index + 1)}`; } return depPath.replace(":", "+"); } function createPeerDepGraphHash(peerIds, maxLength = 1e3) { let dirName = peerIds.map((peerId) => { if (typeof peerId !== "string") { return `${peerId.name}@${peerId.version}`; } if (peerId[0] === "/") { return peerId.substring(1); } return peerId; }).sort().join(")("); if (dirName.length > maxLength) { dirName = (0, crypto_hash_1.createShortHash)(dirName); } return `(${dirName})`; } } }); // ../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js var require_eventemitter3 = __commonJS({ "../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"(exports2, module2) { "use strict"; var has = Object.prototype.hasOwnProperty; var prefix = "~"; function Events() { } if (Object.create) { Events.prototype = /* @__PURE__ */ Object.create(null); if (!new Events().__proto__) prefix = false; } function EE(fn, context, once) { this.fn = fn; this.context = context; this.once = once || false; } function addListener(emitter, event, fn, context, once) { if (typeof fn !== "function") { throw new TypeError("The listener must be a function"); } var listener = new EE(fn, context || emitter, once), evt = prefix ? prefix + event : event; if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++; else if (!emitter._events[evt].fn) emitter._events[evt].push(listener); else emitter._events[evt] = [emitter._events[evt], listener]; return emitter; } function clearEvent(emitter, evt) { if (--emitter._eventsCount === 0) emitter._events = new Events(); else delete emitter._events[evt]; } function EventEmitter() { this._events = new Events(); this._eventsCount = 0; } EventEmitter.prototype.eventNames = function eventNames() { var names = [], events, name; if (this._eventsCount === 0) return names; for (name in events = this._events) { if (has.call(events, name)) names.push(prefix ? name.slice(1) : name); } if (Object.getOwnPropertySymbols) { return names.concat(Object.getOwnPropertySymbols(events)); } return names; }; EventEmitter.prototype.listeners = function listeners(event) { var evt = prefix ? prefix + event : event, handlers = this._events[evt]; if (!handlers) return []; if (handlers.fn) return [handlers.fn]; for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) { ee[i] = handlers[i].fn; } return ee; }; EventEmitter.prototype.listenerCount = function listenerCount(event) { var evt = prefix ? prefix + event : event, listeners = this._events[evt]; if (!listeners) return 0; if (listeners.fn) return 1; return listeners.length; }; EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) { var evt = prefix ? prefix + event : event; if (!this._events[evt]) return false; var listeners = this._events[evt], len = arguments.length, args, i; if (listeners.fn) { if (listeners.once) this.removeListener(event, listeners.fn, void 0, true); switch (len) { case 1: return listeners.fn.call(listeners.context), true; case 2: return listeners.fn.call(listeners.context, a1), true; case 3: return listeners.fn.call(listeners.context, a1, a2), true; case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true; case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true; case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true; } for (i = 1, args = new Array(len - 1); i < len; i++) { args[i - 1] = arguments[i]; } listeners.fn.apply(listeners.context, args); } else { var length = listeners.length, j; for (i = 0; i < length; i++) { if (listeners[i].once) this.removeListener(event, listeners[i].fn, void 0, true); switch (len) { case 1: listeners[i].fn.call(listeners[i].context); break; case 2: listeners[i].fn.call(listeners[i].context, a1); break; case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break; case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break; default: if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) { args[j - 1] = arguments[j]; } listeners[i].fn.apply(listeners[i].context, args); } } } return true; }; EventEmitter.prototype.on = function on(event, fn, context) { return addListener(this, event, fn, context, false); }; EventEmitter.prototype.once = function once(event, fn, context) { return addListener(this, event, fn, context, true); }; EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) { var evt = prefix ? prefix + event : event; if (!this._events[evt]) return this; if (!fn) { clearEvent(this, evt); return this; } var listeners = this._events[evt]; if (listeners.fn) { if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) { clearEvent(this, evt); } } else { for (var i = 0, events = [], length = listeners.length; i < length; i++) { if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) { events.push(listeners[i]); } } if (events.length) this._events[evt] = events.length === 1 ? events[0] : events; else clearEvent(this, evt); } return this; }; EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) { var evt; if (event) { evt = prefix ? prefix + event : event; if (this._events[evt]) clearEvent(this, evt); } else { this._events = new Events(); this._eventsCount = 0; } return this; }; EventEmitter.prototype.off = EventEmitter.prototype.removeListener; EventEmitter.prototype.addListener = EventEmitter.prototype.on; EventEmitter.prefixed = prefix; EventEmitter.EventEmitter = EventEmitter; if ("undefined" !== typeof module2) { module2.exports = EventEmitter; } } }); // ../node_modules/.pnpm/p-finally@1.0.0/node_modules/p-finally/index.js var require_p_finally = __commonJS({ "../node_modules/.pnpm/p-finally@1.0.0/node_modules/p-finally/index.js"(exports2, module2) { "use strict"; module2.exports = (promise, onFinally) => { onFinally = onFinally || (() => { }); return promise.then( (val) => new Promise((resolve) => { resolve(onFinally()); }).then(() => val), (err) => new Promise((resolve) => { resolve(onFinally()); }).then(() => { throw err; }) ); }; } }); // ../node_modules/.pnpm/p-timeout@3.2.0/node_modules/p-timeout/index.js var require_p_timeout = __commonJS({ "../node_modules/.pnpm/p-timeout@3.2.0/node_modules/p-timeout/index.js"(exports2, module2) { "use strict"; var pFinally = require_p_finally(); var TimeoutError = class extends Error { constructor(message) { super(message); this.name = "TimeoutError"; } }; var pTimeout = (promise, milliseconds, fallback) => new Promise((resolve, reject) => { if (typeof milliseconds !== "number" || milliseconds < 0) { throw new TypeError("Expected `milliseconds` to be a positive number"); } if (milliseconds === Infinity) { resolve(promise); return; } const timer = setTimeout(() => { if (typeof fallback === "function") { try { resolve(fallback()); } catch (error) { reject(error); } return; } const message = typeof fallback === "string" ? fallback : `Promise timed out after ${milliseconds} milliseconds`; const timeoutError = fallback instanceof Error ? fallback : new TimeoutError(message); if (typeof promise.cancel === "function") { promise.cancel(); } reject(timeoutError); }, milliseconds); pFinally( // eslint-disable-next-line promise/prefer-await-to-then promise.then(resolve, reject), () => { clearTimeout(timer); } ); }); module2.exports = pTimeout; module2.exports.default = pTimeout; module2.exports.TimeoutError = TimeoutError; } }); // ../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/lower-bound.js var require_lower_bound = __commonJS({ "../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/lower-bound.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); function lowerBound(array, value, comparator) { let first = 0; let count = array.length; while (count > 0) { const step = count / 2 | 0; let it = first + step; if (comparator(array[it], value) <= 0) { first = ++it; count -= step + 1; } else { count = step; } } return first; } exports2.default = lowerBound; } }); // ../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/priority-queue.js var require_priority_queue = __commonJS({ "../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/priority-queue.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var lower_bound_1 = require_lower_bound(); var PriorityQueue = class { constructor() { this._queue = []; } enqueue(run, options) { options = Object.assign({ priority: 0 }, options); const element = { priority: options.priority, run }; if (this.size && this._queue[this.size - 1].priority >= options.priority) { this._queue.push(element); return; } const index = lower_bound_1.default(this._queue, element, (a, b) => b.priority - a.priority); this._queue.splice(index, 0, element); } dequeue() { const item = this._queue.shift(); return item === null || item === void 0 ? void 0 : item.run; } filter(options) { return this._queue.filter((element) => element.priority === options.priority).map((element) => element.run); } get size() { return this._queue.length; } }; exports2.default = PriorityQueue; } }); // ../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.js var require_dist19 = __commonJS({ "../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var EventEmitter = require_eventemitter3(); var p_timeout_1 = require_p_timeout(); var priority_queue_1 = require_priority_queue(); var empty = () => { }; var timeoutError = new p_timeout_1.TimeoutError(); var PQueue = class extends EventEmitter { constructor(options) { var _a, _b, _c, _d; super(); this._intervalCount = 0; this._intervalEnd = 0; this._pendingCount = 0; this._resolveEmpty = empty; this._resolveIdle = empty; options = Object.assign({ carryoverConcurrencyCount: false, intervalCap: Infinity, interval: 0, concurrency: Infinity, autoStart: true, queueClass: priority_queue_1.default }, options); if (!(typeof options.intervalCap === "number" && options.intervalCap >= 1)) { throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(_b = (_a = options.intervalCap) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : ""}\` (${typeof options.intervalCap})`); } if (options.interval === void 0 || !(Number.isFinite(options.interval) && options.interval >= 0)) { throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(_d = (_c = options.interval) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : ""}\` (${typeof options.interval})`); } this._carryoverConcurrencyCount = options.carryoverConcurrencyCount; this._isIntervalIgnored = options.intervalCap === Infinity || options.interval === 0; this._intervalCap = options.intervalCap; this._interval = options.interval; this._queue = new options.queueClass(); this._queueClass = options.queueClass; this.concurrency = options.concurrency; this._timeout = options.timeout; this._throwOnTimeout = options.throwOnTimeout === true; this._isPaused = options.autoStart === false; } get _doesIntervalAllowAnother() { return this._isIntervalIgnored || this._intervalCount < this._intervalCap; } get _doesConcurrentAllowAnother() { return this._pendingCount < this._concurrency; } _next() { this._pendingCount--; this._tryToStartAnother(); this.emit("next"); } _resolvePromises() { this._resolveEmpty(); this._resolveEmpty = empty; if (this._pendingCount === 0) { this._resolveIdle(); this._resolveIdle = empty; this.emit("idle"); } } _onResumeInterval() { this._onInterval(); this._initializeIntervalIfNeeded(); this._timeoutId = void 0; } _isIntervalPaused() { const now = Date.now(); if (this._intervalId === void 0) { const delay = this._intervalEnd - now; if (delay < 0) { this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0; } else { if (this._timeoutId === void 0) { this._timeoutId = setTimeout(() => { this._onResumeInterval(); }, delay); } return true; } } return false; } _tryToStartAnother() { if (this._queue.size === 0) { if (this._intervalId) { clearInterval(this._intervalId); } this._intervalId = void 0; this._resolvePromises(); return false; } if (!this._isPaused) { const canInitializeInterval = !this._isIntervalPaused(); if (this._doesIntervalAllowAnother && this._doesConcurrentAllowAnother) { const job = this._queue.dequeue(); if (!job) { return false; } this.emit("active"); job(); if (canInitializeInterval) { this._initializeIntervalIfNeeded(); } return true; } } return false; } _initializeIntervalIfNeeded() { if (this._isIntervalIgnored || this._intervalId !== void 0) { return; } this._intervalId = setInterval(() => { this._onInterval(); }, this._interval); this._intervalEnd = Date.now() + this._interval; } _onInterval() { if (this._intervalCount === 0 && this._pendingCount === 0 && this._intervalId) { clearInterval(this._intervalId); this._intervalId = void 0; } this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0; this._processQueue(); } /** Executes all queued functions until it reaches the limit. */ _processQueue() { while (this._tryToStartAnother()) { } } get concurrency() { return this._concurrency; } set concurrency(newConcurrency) { if (!(typeof newConcurrency === "number" && newConcurrency >= 1)) { throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${newConcurrency}\` (${typeof newConcurrency})`); } this._concurrency = newConcurrency; this._processQueue(); } /** Adds a sync or async task to the queue. Always returns a promise. */ async add(fn, options = {}) { return new Promise((resolve, reject) => { const run = async () => { this._pendingCount++; this._intervalCount++; try { const operation = this._timeout === void 0 && options.timeout === void 0 ? fn() : p_timeout_1.default(Promise.resolve(fn()), options.timeout === void 0 ? this._timeout : options.timeout, () => { if (options.throwOnTimeout === void 0 ? this._throwOnTimeout : options.throwOnTimeout) { reject(timeoutError); } return void 0; }); resolve(await operation); } catch (error) { reject(error); } this._next(); }; this._queue.enqueue(run, options); this._tryToStartAnother(); this.emit("add"); }); } /** Same as `.add()`, but accepts an array of sync or async functions. @returns A promise that resolves when all functions are resolved. */ async addAll(functions, options) { return Promise.all(functions.map(async (function_) => this.add(function_, options))); } /** Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.) */ start() { if (!this._isPaused) { return this; } this._isPaused = false; this._processQueue(); return this; } /** Put queue execution on hold. */ pause() { this._isPaused = true; } /** Clear the queue. */ clear() { this._queue = new this._queueClass(); } /** Can be called multiple times. Useful if you for example add additional items at a later time. @returns A promise that settles when the queue becomes empty. */ async onEmpty() { if (this._queue.size === 0) { return; } return new Promise((resolve) => { const existingResolve = this._resolveEmpty; this._resolveEmpty = () => { existingResolve(); resolve(); }; }); } /** The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet. @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`. */ async onIdle() { if (this._pendingCount === 0 && this._queue.size === 0) { return; } return new Promise((resolve) => { const existingResolve = this._resolveIdle; this._resolveIdle = () => { existingResolve(); resolve(); }; }); } /** Size of the queue. */ get size() { return this._queue.size; } /** Size of the queue, filtered by the given options. For example, this can be used to find the number of items remaining in the queue with a specific priority level. */ sizeBy(options) { return this._queue.filter(options).length; } /** Number of pending promises. */ get pending() { return this._pendingCount; } /** Whether the queue is currently paused. */ get isPaused() { return this._isPaused; } get timeout() { return this._timeout; } /** Set the timeout for future operations. */ set timeout(milliseconds) { this._timeout = milliseconds; } }; exports2.default = PQueue; } }); // ../node_modules/.pnpm/p-defer@3.0.0/node_modules/p-defer/index.js var require_p_defer2 = __commonJS({ "../node_modules/.pnpm/p-defer@3.0.0/node_modules/p-defer/index.js"(exports2, module2) { "use strict"; var pDefer = () => { const deferred = {}; deferred.promise = new Promise((resolve, reject) => { deferred.resolve = resolve; deferred.reject = reject; }); return deferred; }; module2.exports = pDefer; } }); // ../pkg-manager/package-requester/lib/equalOrSemverEqual.js var require_equalOrSemverEqual = __commonJS({ "../pkg-manager/package-requester/lib/equalOrSemverEqual.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.equalOrSemverEqual = equalOrSemverEqual; var semver_12 = __importDefault2(require_semver2()); function equalOrSemverEqual(version1, version2) { if (version1 === version2) return true; try { return semver_12.default.eq(version1, version2, { loose: true }); } catch { return false; } } } }); // ../pkg-manager/package-requester/lib/packageRequester.js var require_packageRequester = __commonJS({ "../pkg-manager/package-requester/lib/packageRequester.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPackageRequester = createPackageRequester; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var store_cafs_1 = require_lib79(); var core_loggers_1 = require_lib8(); var pick_fetcher_1 = require_lib83(); var error_1 = require_lib6(); var graceful_fs_1 = __importDefault2(require_lib15()); var logger_1 = require_lib(); var package_is_installable_1 = require_lib85(); var read_package_json_1 = require_lib61(); var dependency_path_1 = require_lib86(); var worker_1 = require_lib73(); var detect_libc_1 = require_detect_libc(); var p_queue_1 = __importDefault2(require_dist19()); var p_defer_1 = __importDefault2(require_p_defer2()); var promise_share_1 = __importDefault2(require_promise_share()); var pick_1 = __importDefault2(require_pick()); var semver_12 = __importDefault2(require_semver2()); var ssri_1 = __importDefault2(require_lib35()); var equalOrSemverEqual_js_1 = require_equalOrSemverEqual(); var currentLibc; function getLibcFamilySync() { if (currentLibc === void 0) { currentLibc = (0, detect_libc_1.familySync)(); } return currentLibc; } var TARBALL_INTEGRITY_FILENAME = "tarball-integrity"; var packageRequestLogger = (0, logger_1.logger)("package-requester"); var pickBundledManifest = (0, pick_1.default)([ "bin", "bundledDependencies", "bundleDependencies", "cpu", "dependencies", "directories", "engines", "name", "optionalDependencies", "os", "peerDependencies", "peerDependenciesMeta", "scripts", "version" ]); function normalizeBundledManifest(manifest) { return { ...pickBundledManifest(manifest), version: semver_12.default.clean(manifest.version ?? "0.0.0", { loose: true }) ?? manifest.version }; } function createPackageRequester(opts) { opts = opts || {}; const networkConcurrency = opts.networkConcurrency ?? Math.min(64, Math.max((0, worker_1.calcMaxWorkers)() * 3, 16)); const requestsQueue = new p_queue_1.default({ concurrency: networkConcurrency }); const getIndexFilePathInCafs = store_cafs_1.getIndexFilePathInCafs.bind(null, opts.storeDir); const fetch = fetcher.bind(null, opts.fetchers, opts.cafs); const fetchPackageToStore = fetchToStore.bind(null, { readPkgFromCafs: worker_1.readPkgFromCafs.bind(null, opts.storeDir, opts.verifyStoreIntegrity), fetch, fetchingLocker: /* @__PURE__ */ new Map(), getFilePathByModeInCafs: store_cafs_1.getFilePathByModeInCafs.bind(null, opts.storeDir), getIndexFilePathInCafs, requestsQueue: Object.assign(requestsQueue, { counter: 0, concurrency: networkConcurrency }), storeDir: opts.storeDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, strictStorePkgContentCheck: opts.strictStorePkgContentCheck }); const requestPackage = resolveAndFetch.bind(null, { engineStrict: opts.engineStrict, nodeVersion: opts.nodeVersion, pnpmVersion: opts.pnpmVersion, force: opts.force, fetchPackageToStore, requestsQueue, resolve: opts.resolve, storeDir: opts.storeDir }); return Object.assign(requestPackage, { fetchPackageToStore, getFilesIndexFilePath: getFilesIndexFilePath.bind(null, { getIndexFilePathInCafs, storeDir: opts.storeDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }), requestPackage }); } async function resolveAndFetch(ctx, wantedDependency, options) { let latest; let manifest; let normalizedBareSpecifier; let alias; let resolution = options.currentPkg?.resolution; let pkgId = options.currentPkg?.id; const skipResolution = resolution && !options.update; let forceFetch = false; let updated = false; let resolvedVia; let publishedAt; if (!skipResolution || options.skipFetch === true || Boolean(pkgId?.startsWith("file:")) || wantedDependency.optional === true) { const preferredVersions = skipResolution && options.currentPkg?.name != null && options.currentPkg?.version != null ? { ...options.preferredVersions, [options.currentPkg.name]: { [options.currentPkg.version]: "version" } } : options.preferredVersions; const resolveResult = await ctx.requestsQueue.add(async () => ctx.resolve(wantedDependency, { alwaysTryWorkspacePackages: options.alwaysTryWorkspacePackages, defaultTag: options.defaultTag, trustPolicy: options.trustPolicy, trustPolicyExclude: options.trustPolicyExclude, publishedBy: options.publishedBy, publishedByExclude: options.publishedByExclude, pickLowestVersion: options.pickLowestVersion, lockfileDir: options.lockfileDir, preferredVersions, preferWorkspacePackages: options.preferWorkspacePackages, projectDir: options.projectDir, workspacePackages: options.workspacePackages, update: options.update, injectWorkspacePackages: options.injectWorkspacePackages, calcSpecifier: options.calcSpecifier, pinnedVersion: options.pinnedVersion }), { priority: options.downloadPriority }); manifest = resolveResult.manifest; latest = resolveResult.latest; resolvedVia = resolveResult.resolvedVia; publishedAt = resolveResult.publishedAt; forceFetch = Boolean(options.currentPkg?.resolution != null && pkgId?.startsWith("file:") && (options.currentPkg?.resolution).integrity !== resolveResult.resolution.integrity); updated = pkgId !== resolveResult.id || !resolution || forceFetch; resolution = resolveResult.resolution; pkgId = resolveResult.id; normalizedBareSpecifier = resolveResult.normalizedBareSpecifier; alias = resolveResult.alias; } const id = pkgId; if ("type" in resolution && resolution.type === "directory" && !id.startsWith("file:")) { if (manifest == null) { throw new Error(`Couldn't read package.json of local dependency ${wantedDependency.alias ? wantedDependency.alias + "@" : ""}${wantedDependency.bareSpecifier ?? ""}`); } return { body: { id, isLocal: true, manifest, resolution, resolvedVia, updated, normalizedBareSpecifier, alias } }; } const isInstallable = ctx.force === true || (manifest == null ? void 0 : (0, package_is_installable_1.packageIsInstallable)(id, manifest, { engineStrict: ctx.engineStrict, lockfileDir: options.lockfileDir, nodeVersion: ctx.nodeVersion, optional: wantedDependency.optional === true, supportedArchitectures: options.supportedArchitectures })); if ((options.skipFetch === true || isInstallable === false) && manifest != null) { return { body: { id, isLocal: false, isInstallable: isInstallable ?? void 0, latest, manifest, normalizedBareSpecifier, resolution, resolvedVia, updated, publishedAt, alias } }; } const pkg = manifest != null ? (0, pick_1.default)(["name", "version"], manifest) : {}; const fetchResult = ctx.fetchPackageToStore({ allowBuild: options.allowBuild, fetchRawManifest: true, force: forceFetch, ignoreScripts: options.ignoreScripts, lockfileDir: options.lockfileDir, pkg: { ...options.expectedPkg?.name != null ? updated ? { name: options.expectedPkg.name, version: pkg.version } : options.expectedPkg : pkg, id, resolution }, onFetchError: options.onFetchError, supportedArchitectures: options.supportedArchitectures }); if (!manifest) { const fetchedResult = await fetchResult.fetching(); manifest = fetchedResult.bundledManifest; if (fetchedResult.integrity && !resolution.type && !resolution.integrity) { resolution.integrity = fetchedResult.integrity; } } return { body: { id, isLocal: false, isInstallable: isInstallable ?? void 0, latest, manifest, normalizedBareSpecifier, resolution, resolvedVia, updated, publishedAt, alias }, fetching: fetchResult.fetching, filesIndexFile: fetchResult.filesIndexFile }; } function getFilesIndexFilePath(ctx, opts) { const targetRelative = (0, dependency_path_1.depPathToFilename)(opts.pkg.id, ctx.virtualStoreDirMaxLength); const target = path_1.default.join(ctx.storeDir, targetRelative); if (opts.pkg.resolution.integrity) { return { target, filesIndexFile: ctx.getIndexFilePathInCafs(opts.pkg.resolution.integrity, opts.pkg.id), resolution: opts.pkg.resolution }; } let resolution; if (opts.pkg.resolution.type === "variations") { resolution = findResolution(opts.pkg.resolution.variants, opts.supportedArchitectures); if (resolution.integrity) { return { target, filesIndexFile: ctx.getIndexFilePathInCafs(resolution.integrity, opts.pkg.id), resolution }; } } else { resolution = opts.pkg.resolution; } const filesIndexFile = path_1.default.join(target, opts.ignoreScripts ? "integrity-not-built.json" : "integrity.json"); return { filesIndexFile, target, resolution }; } function findResolution(resolutionVariants, supportedArchitectures) { const platform = getOneIfNonCurrent(supportedArchitectures?.os) ?? process.platform; const cpu = getOneIfNonCurrent(supportedArchitectures?.cpu) ?? process.arch; const libc = getOneIfNonCurrent(supportedArchitectures?.libc) ?? getLibcFamilySync(); const resolutionVariant = resolutionVariants.find((resolutionVariant2) => resolutionVariant2.targets.some((target) => target.os === platform && target.cpu === cpu && (target.libc == null || target.libc === libc))); if (!resolutionVariant) { const resolutionTargets = resolutionVariants.map((variant) => variant.targets); throw new error_1.PnpmError("NO_RESOLUTION_MATCHED", `Cannot find a resolution variant for the current platform in these resolutions: ${JSON.stringify(resolutionTargets)}`); } return resolutionVariant.resolution; } function getOneIfNonCurrent(requirements) { if (requirements?.length && requirements[0] !== "current") { return requirements[0]; } return void 0; } function fetchToStore(ctx, opts) { if (!opts.pkg.name) { opts.fetchRawManifest = true; } if (!ctx.fetchingLocker.has(opts.pkg.id)) { const fetching = (0, p_defer_1.default)(); const { filesIndexFile, target, resolution } = getFilesIndexFilePath(ctx, opts); doFetchToStore(filesIndexFile, fetching, target, resolution); ctx.fetchingLocker.set(opts.pkg.id, { fetching: removeKeyOnFail(fetching.promise), filesIndexFile, fetchRawManifest: opts.fetchRawManifest }); fetching.promise.then((cache) => { core_loggers_1.progressLogger.debug({ packageId: opts.pkg.id, requester: opts.lockfileDir, status: cache.files.resolvedFrom === "remote" ? "fetched" : "found_in_store" }); if (cache.files.resolvedFrom !== "remote") { return; } const tmp = ctx.fetchingLocker.get(opts.pkg.id); if (tmp == null) return; ctx.fetchingLocker.set(opts.pkg.id, { ...tmp, fetching: Promise.resolve({ ...cache, files: { ...cache.files, resolvedFrom: "store" } }) }); }).catch(() => { ctx.fetchingLocker.delete(opts.pkg.id); }); } const result2 = ctx.fetchingLocker.get(opts.pkg.id); if (opts.fetchRawManifest && !result2.fetchRawManifest) { result2.fetching = removeKeyOnFail(result2.fetching.then(async ({ files }) => { if (!files.filesIndex["package.json"]) return { files, bundledManifest: void 0 }; if (files.unprocessed) { const { integrity, mode } = files.filesIndex["package.json"]; const manifestPath = ctx.getFilePathByModeInCafs(integrity, mode); return { files, bundledManifest: await readBundledManifest(manifestPath) }; } return { files, bundledManifest: await readBundledManifest(files.filesIndex["package.json"]) }; })); result2.fetchRawManifest = true; } return { fetching: (0, promise_share_1.default)(result2.fetching), filesIndexFile: result2.filesIndexFile }; async function removeKeyOnFail(p) { try { return await p; } catch (err) { ctx.fetchingLocker.delete(opts.pkg.id); if (opts.onFetchError) { throw opts.onFetchError(err); } throw err; } } async function doFetchToStore(filesIndexFile, fetching, target, resolution) { try { const isLocalTarballDep = opts.pkg.id.startsWith("file:"); const isLocalPkg = resolution.type === "directory"; if (!opts.force && (!isLocalTarballDep || await tarballIsUpToDate(opts.pkg.resolution, target, opts.lockfileDir)) && !isLocalPkg) { const { verified, pkgFilesIndex, manifest, requiresBuild } = await ctx.readPkgFromCafs(filesIndexFile, opts.fetchRawManifest); if (verified) { if (pkgFilesIndex.name != null && opts.pkg?.name != null && pkgFilesIndex.name.toLowerCase() !== opts.pkg.name.toLowerCase() || pkgFilesIndex.version != null && opts.pkg?.version != null && // We used to not normalize the package versions before writing them to the lockfile and store. // So it may happen that the version will be in different formats. // For instance, v1.0.0 and 1.0.0 // Hence, we need to use semver.eq() to compare them. !(0, equalOrSemverEqual_js_1.equalOrSemverEqual)(pkgFilesIndex.version, opts.pkg.version)) { const msg = `Package name mismatch found while reading ${JSON.stringify(opts.pkg.resolution)} from the store.`; const hint = `This means that either the lockfile is broken or the package metadata (name and version) inside the package's package.json file doesn't match the metadata in the registry. Expected package: ${opts.pkg.name}@${opts.pkg.version}. Actual package in the store with the given integrity: ${pkgFilesIndex.name}@${pkgFilesIndex.version}.`; if (ctx.strictStorePkgContentCheck ?? true) { throw new error_1.PnpmError("UNEXPECTED_PKG_CONTENT_IN_STORE", msg, { hint: `${hint} If you want to ignore this issue, set the strict-store-pkg-content-check to false.` }); } else { (0, logger_1.globalWarn)(`${msg} ${hint}`); } } fetching.resolve({ files: { unprocessed: true, filesIndex: pkgFilesIndex.files, resolvedFrom: "store", sideEffects: pkgFilesIndex.sideEffects, requiresBuild }, bundledManifest: manifest == null ? manifest : normalizeBundledManifest(manifest) }); return; } if (pkgFilesIndex?.files != null) { packageRequestLogger.warn({ message: `Refetching ${target} to store. It was either modified or had no integrity checksums`, prefix: opts.lockfileDir }); } } const priority = (++ctx.requestsQueue.counter % ctx.requestsQueue.concurrency === 0 ? -1 : 1) * 1e3; const fetchedPackage = await ctx.requestsQueue.add(async () => ctx.fetch(opts.pkg.id, resolution, { allowBuild: opts.allowBuild, filesIndexFile, lockfileDir: opts.lockfileDir, readManifest: opts.fetchRawManifest, onProgress: (downloaded) => { core_loggers_1.fetchingProgressLogger.debug({ downloaded, packageId: opts.pkg.id, status: "in_progress" }); }, onStart: (size, attempt) => { core_loggers_1.fetchingProgressLogger.debug({ attempt, packageId: opts.pkg.id, size, status: "started" }); }, pkg: { name: opts.pkg.name, version: opts.pkg.version } }), { priority }); const integrity = opts.pkg.resolution.integrity ?? fetchedPackage.integrity; if (isLocalTarballDep && integrity) { await fs_1.promises.mkdir(target, { recursive: true }); await graceful_fs_1.default.writeFile(path_1.default.join(target, TARBALL_INTEGRITY_FILENAME), integrity, "utf8"); } fetching.resolve({ files: { resolvedFrom: fetchedPackage.local ? "local-dir" : "remote", filesIndex: fetchedPackage.filesIndex, packageImportMethod: fetchedPackage.packageImportMethod, requiresBuild: fetchedPackage.requiresBuild }, bundledManifest: fetchedPackage.manifest == null ? fetchedPackage.manifest : normalizeBundledManifest(fetchedPackage.manifest), integrity }); } catch (err) { fetching.reject(err); } } } async function readBundledManifest(pkgJsonPath) { return pickBundledManifest(await (0, read_package_json_1.readPackageJson)(pkgJsonPath)); } async function tarballIsUpToDate(resolution, pkgInStoreLocation, lockfileDir) { let currentIntegrity; try { currentIntegrity = await graceful_fs_1.default.readFile(path_1.default.join(pkgInStoreLocation, TARBALL_INTEGRITY_FILENAME), "utf8"); } catch (err) { return false; } if (resolution.integrity && currentIntegrity !== resolution.integrity) return false; const tarball = path_1.default.join(lockfileDir, resolution.tarball.slice(5)); const tarballStream = (0, fs_1.createReadStream)(tarball); try { return Boolean(await ssri_1.default.checkStream(tarballStream, currentIntegrity)); } catch (err) { return false; } } async function fetcher(fetcherByHostingType, cafs, packageId, resolution, opts) { const fetch = (0, pick_fetcher_1.pickFetcher)(fetcherByHostingType, resolution); try { return await fetch(cafs, resolution, opts); } catch (err) { packageRequestLogger.warn({ message: `Fetching ${packageId} failed!`, prefix: opts.lockfileDir }); throw err; } } } }); // ../pkg-manager/package-requester/lib/index.js var require_lib87 = __commonJS({ "../pkg-manager/package-requester/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPackageRequester = void 0; var packageRequester_js_1 = require_packageRequester(); Object.defineProperty(exports2, "createPackageRequester", { enumerable: true, get: function() { return packageRequester_js_1.createPackageRequester; } }); } }); // ../store/package-store/lib/storeController/prune.js var require_prune = __commonJS({ "../store/package-store/lib/storeController/prune.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.prune = prune; var fs_1 = require("fs"); var util_1 = __importDefault2(require("util")); var path_1 = __importDefault2(require("path")); var logger_1 = require_lib(); var rimraf_1 = __importDefault2(require_rimraf()); var load_json_file_1 = __importDefault2(require_load_json_file()); var ssri_1 = __importDefault2(require_lib35()); var BIG_ONE = BigInt(1); async function prune({ cacheDir, storeDir }, removeAlienFiles) { const cafsDir = path_1.default.join(storeDir, "files"); const metadataDirs = await getSubdirsSafely(cacheDir); await Promise.all(metadataDirs.map(async (metadataDir) => { if (!metadataDir.startsWith("metadata")) return; try { await (0, rimraf_1.default)(path_1.default.join(cacheDir, metadataDir)); } catch (err) { if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")) { throw err; } } })); await (0, rimraf_1.default)(path_1.default.join(storeDir, "tmp")); (0, logger_1.globalInfo)("Removed all cached metadata files"); const pkgIndexFiles = []; const indexDir = path_1.default.join(storeDir, "index"); await Promise.all((await getSubdirsSafely(indexDir)).map(async (dir) => { const subdir = path_1.default.join(indexDir, dir); await Promise.all((await fs_1.promises.readdir(subdir)).map(async (fileName) => { const filePath = path_1.default.join(subdir, fileName); if (fileName.endsWith(".json")) { pkgIndexFiles.push(filePath); } })); })); const removedHashes = /* @__PURE__ */ new Set(); const dirs = await getSubdirsSafely(cafsDir); let fileCounter = 0; await Promise.all(dirs.map(async (dir) => { const subdir = path_1.default.join(cafsDir, dir); await Promise.all((await fs_1.promises.readdir(subdir)).map(async (fileName) => { const filePath = path_1.default.join(subdir, fileName); if (fileName.endsWith(".json")) { pkgIndexFiles.push(filePath); return; } const stat = await fs_1.promises.stat(filePath); if (stat.isDirectory()) { if (removeAlienFiles) { await (0, rimraf_1.default)(filePath); (0, logger_1.globalWarn)(`An alien directory has been removed from the store: ${filePath}`); fileCounter++; return; } else { (0, logger_1.globalWarn)(`An alien directory is present in the store: ${filePath}`); return; } } if (stat.nlink === 1 || stat.nlink === BIG_ONE) { await fs_1.promises.unlink(filePath); fileCounter++; removedHashes.add(ssri_1.default.fromHex(`${dir}${fileName}`, "sha512").toString()); } })); })); (0, logger_1.globalInfo)(`Removed ${fileCounter} file${fileCounter === 1 ? "" : "s"}`); let pkgCounter = 0; await Promise.all(pkgIndexFiles.map(async (pkgIndexFilePath) => { const { files: pkgFilesIndex } = await (0, load_json_file_1.default)(pkgIndexFilePath); if (pkgFilesIndex["package.json"] && removedHashes.has(pkgFilesIndex["package.json"].integrity)) { await fs_1.promises.unlink(pkgIndexFilePath); pkgCounter++; } })); (0, logger_1.globalInfo)(`Removed ${pkgCounter} package${pkgCounter === 1 ? "" : "s"}`); } async function getSubdirsSafely(dir) { let entries; try { entries = await fs_1.promises.readdir(dir, { withFileTypes: true }); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { return []; } throw err; } return entries.filter((entry) => entry.isDirectory()).map((dir2) => dir2.name); } } }); // ../store/package-store/lib/storeController/index.js var require_storeController = __commonJS({ "../store/package-store/lib/storeController/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPackageStore = createPackageStore; var path_1 = __importDefault2(require("path")); var fs_1 = __importDefault2(require("fs")); var create_cafs_store_1 = require_lib82(); var package_requester_1 = require_lib87(); var worker_1 = require_lib73(); var prune_js_1 = require_prune(); function createPackageStore(resolve, fetchers, initOpts) { const storeDir = initOpts.storeDir; if (!fs_1.default.existsSync(path_1.default.join(storeDir, "files"))) { (0, worker_1.initStoreDir)(storeDir).catch(); } const cafs = (0, create_cafs_store_1.createCafsStore)(storeDir, { cafsLocker: initOpts.cafsLocker, packageImportMethod: initOpts.packageImportMethod }); const packageRequester = (0, package_requester_1.createPackageRequester)({ force: initOpts.force, engineStrict: initOpts.engineStrict, nodeVersion: initOpts.nodeVersion, pnpmVersion: initOpts.pnpmVersion, resolve, fetchers, cafs, ignoreFile: initOpts.ignoreFile, networkConcurrency: initOpts.networkConcurrency, storeDir: initOpts.storeDir, verifyStoreIntegrity: initOpts.verifyStoreIntegrity, virtualStoreDirMaxLength: initOpts.virtualStoreDirMaxLength, strictStorePkgContentCheck: initOpts.strictStorePkgContentCheck }); return { close: async () => { }, // eslint-disable-line:no-empty fetchPackage: packageRequester.fetchPackageToStore, getFilesIndexFilePath: packageRequester.getFilesIndexFilePath, importPackage: initOpts.importPackage ? (0, create_cafs_store_1.createPackageImporterAsync)({ importIndexedPackage: initOpts.importPackage, storeDir: cafs.storeDir }) : (targetDir, opts) => (0, worker_1.importPackage)({ ...opts, packageImportMethod: initOpts.packageImportMethod, storeDir: initOpts.storeDir, targetDir }), prune: prune_js_1.prune.bind(null, { storeDir, cacheDir: initOpts.cacheDir }), requestPackage: packageRequester.requestPackage, upload, clearResolutionCache: initOpts.clearResolutionCache }; async function upload(builtPkgLocation, opts) { await (0, worker_1.addFilesFromDir)({ storeDir: cafs.storeDir, dir: builtPkgLocation, sideEffectsCacheKey: opts.sideEffectsCacheKey, filesIndexFile: opts.filesIndexFile, pkg: {} }); } } } }); // ../resolving/resolver-base/lib/index.js var require_lib88 = __commonJS({ "../resolving/resolver-base/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DIRECT_DEP_SELECTOR_WEIGHT = void 0; exports2.DIRECT_DEP_SELECTOR_WEIGHT = 1e3; } }); // ../store/store-controller-types/lib/index.js var require_lib89 = __commonJS({ "../store/store-controller-types/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); __exportStar2(require_lib88(), exports2); } }); // ../store/package-store/lib/index.js var require_lib90 = __commonJS({ "../store/package-store/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPackageStore = void 0; var index_js_1 = require_storeController(); Object.defineProperty(exports2, "createPackageStore", { enumerable: true, get: function() { return index_js_1.createPackageStore; } }); __exportStar2(require_lib89(), exports2); } }); // ../store/store-connection-manager/lib/createNewStoreController.js var require_createNewStoreController = __commonJS({ "../store/store-connection-manager/lib/createNewStoreController.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createNewStoreController = createNewStoreController; var fs_1 = require("fs"); var client_1 = require_lib78(); var package_store_1 = require_lib90(); var cli_meta_1 = require_lib4(); async function createNewStoreController(opts) { const fullMetadata = opts.fetchFullMetadata ?? ((opts.resolutionMode === "time-based" || Boolean(opts.minimumReleaseAge) || opts.trustPolicy === "no-downgrade") && !opts.registrySupportsTimeField); const { resolve, fetchers, clearResolutionCache } = (0, client_1.createClient)({ customFetchers: opts.hooks?.fetchers, userConfig: opts.userConfig, unsafePerm: opts.unsafePerm, authConfig: opts.rawConfig, ca: opts.ca, cacheDir: opts.cacheDir, cert: opts.cert, fetchWarnTimeoutMs: opts.fetchWarnTimeoutMs, fetchMinSpeedKiBps: opts.fetchMinSpeedKiBps, fullMetadata, filterMetadata: fullMetadata, httpProxy: opts.httpProxy, httpsProxy: opts.httpsProxy, ignoreScripts: opts.ignoreScripts, key: opts.key, localAddress: opts.localAddress, noProxy: opts.noProxy, offline: opts.offline, preferOffline: opts.preferOffline, rawConfig: opts.rawConfig, sslConfigs: opts.sslConfigs, registries: opts.registries, retry: { factor: opts.fetchRetryFactor, maxTimeout: opts.fetchRetryMaxtimeout, minTimeout: opts.fetchRetryMintimeout, retries: opts.fetchRetries }, strictSsl: opts.strictSsl ?? true, timeout: opts.fetchTimeout, userAgent: opts.userAgent, maxSockets: opts.maxSockets ?? (opts.networkConcurrency != null ? opts.networkConcurrency * 3 : void 0), gitShallowHosts: opts.gitShallowHosts, resolveSymlinksInInjectedDirs: opts.resolveSymlinksInInjectedDirs, includeOnlyPackageFiles: !opts.deployAllFiles, saveWorkspaceProtocol: opts.saveWorkspaceProtocol, preserveAbsolutePaths: opts.preserveAbsolutePaths, strictPublishedByCheck: Boolean(opts.minimumReleaseAge) }); await fs_1.promises.mkdir(opts.storeDir, { recursive: true }); return { ctrl: (0, package_store_1.createPackageStore)(resolve, fetchers, { cafsLocker: opts.cafsLocker, engineStrict: opts.engineStrict, force: opts.force, nodeVersion: opts.nodeVersion, pnpmVersion: cli_meta_1.packageManager.version, ignoreFile: opts.ignoreFile, importPackage: opts.hooks?.importPackage, networkConcurrency: opts.networkConcurrency, packageImportMethod: opts.packageImportMethod, cacheDir: opts.cacheDir, storeDir: opts.storeDir, verifyStoreIntegrity: typeof opts.verifyStoreIntegrity === "boolean" ? opts.verifyStoreIntegrity : true, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, strictStorePkgContentCheck: opts.strictStorePkgContentCheck, clearResolutionCache }), dir: opts.storeDir }; } } }); // ../node_modules/.pnpm/proc-output@1.0.9/node_modules/proc-output/lib/index.js var require_lib91 = __commonJS({ "../node_modules/.pnpm/proc-output@1.0.9/node_modules/proc-output/lib/index.js"(exports2, module2) { "use strict"; module2.exports = function procOutput(proc, cb) { var stdout = "", stderr = ""; proc.on("error", function(err) { cb(err); }); proc.stdout.on("data", function(chunk) { return stdout += chunk; }); proc.stderr.on("data", function(chunk) { return stderr += chunk; }); proc.on("close", function(code) { return cb(null, stdout, stderr, code); }); return proc; }; } }); // ../node_modules/.pnpm/spawno@2.1.2/node_modules/spawno/lib/index.js var require_lib92 = __commonJS({ "../node_modules/.pnpm/spawno@2.1.2/node_modules/spawno/lib/index.js"(exports2, module2) { "use strict"; var spawn = require("child_process").spawn; var procOutput = require_lib91(); module2.exports = function spawno(command, args, options, cb) { if (typeof args === "function") { cb = args; args = []; options = {}; } if (typeof options === "function") { cb = options; if (!Array.isArray(args)) { options = args; args = []; } else { options = {}; } } options = options || {}; if (options.input !== false) { options.input = options.input || ""; } var showOutput = options.output, inputData = options.input; delete options.output; delete options.input; var proc = spawn(command, args, options); if (showOutput) { proc.stdout.pipe(process.stdout); proc.stderr.pipe(process.stderr); } if (inputData !== false) { proc.stdin && proc.stdin.end(inputData); } if (cb) { procOutput(proc, cb); } return proc; }; module2.exports.promise = function(command, args, options) { return new Promise(function(resolve, reject) { module2.exports(command, args, options, function(err, stdout, stderr, code) { if (err) { return reject(err); } resolve({ code, stdout, stderr }); }); }); }; } }); // ../node_modules/.pnpm/@zkochan+diable@1.0.2/node_modules/@zkochan/diable/lib/index.js var require_lib93 = __commonJS({ "../node_modules/.pnpm/@zkochan+diable@1.0.2/node_modules/@zkochan/diable/lib/index.js"(exports2, module2) { "use strict"; var spawn = require_lib92(); function Diable(opts) { if (Diable.isDaemon()) { return false; } opts = opts || {}; const args = [].concat(process.argv); args.shift(); const script = args.shift(), env = opts.env || process.env; Diable.daemonize(script, args, opts); return process.exit(); } Diable.isDaemon = function() { return !!process.env.__is_daemon; }; Diable.daemonize = function(script, args, opts) { opts = opts || {}; const stdout = opts.stdout || "ignore", stderr = opts.stderr || "ignore", env = opts.env || process.env, cwd = opts.cwd || process.cwd(); env.__is_daemon = true; const spawnOptions = { stdio: ["inherit", stdout, stderr], env, cwd, detached: true, input: false }; const cmd = opts.command || process.execPath; delete opts.command; const child = spawn(cmd, [script].concat(args).filter(Boolean), spawnOptions); child.unref(); return child; }; module2.exports = Diable; } }); // ../store/store-connection-manager/lib/runServerInBackground.js var require_runServerInBackground = __commonJS({ "../store/store-connection-manager/lib/runServerInBackground.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.runServerInBackground = runServerInBackground; var error_1 = require_lib6(); var diable_1 = __importDefault2(require_lib93()); function runServerInBackground(storePath) { if (require.main == null) { throw new error_1.PnpmError("CANNOT_START_SERVER", "pnpm server cannot be started when pnpm is streamed to Node.js"); } return diable_1.default.daemonize(require.main.filename, ["server", "start", "--store-dir", storePath], { stdio: "inherit" }); } } }); // ../store/store-connection-manager/lib/serverConnectionInfoDir.js var require_serverConnectionInfoDir = __commonJS({ "../store/store-connection-manager/lib/serverConnectionInfoDir.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.serverConnectionInfoDir = serverConnectionInfoDir; var path_1 = __importDefault2(require("path")); function serverConnectionInfoDir(storePath) { return path_1.default.join(storePath, "server"); } } }); // ../store/store-connection-manager/lib/index.js var require_lib94 = __commonJS({ "../store/store-connection-manager/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.serverConnectionInfoDir = exports2.createNewStoreController = void 0; exports2.createOrConnectStoreControllerCached = createOrConnectStoreControllerCached; exports2.createOrConnectStoreController = createOrConnectStoreController; exports2.tryLoadServerJson = tryLoadServerJson; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var cli_meta_1 = require_lib4(); var error_1 = require_lib6(); var logger_1 = require_lib(); var server_1 = require_lib30(); var store_path_1 = require_lib31(); var delay_1 = __importDefault2(require_delay2()); var createNewStoreController_js_1 = require_createNewStoreController(); Object.defineProperty(exports2, "createNewStoreController", { enumerable: true, get: function() { return createNewStoreController_js_1.createNewStoreController; } }); var runServerInBackground_js_1 = require_runServerInBackground(); var serverConnectionInfoDir_js_1 = require_serverConnectionInfoDir(); Object.defineProperty(exports2, "serverConnectionInfoDir", { enumerable: true, get: function() { return serverConnectionInfoDir_js_1.serverConnectionInfoDir; } }); async function createOrConnectStoreControllerCached(storeControllerCache, opts) { const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: opts.dir, storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); if (!storeControllerCache.has(storeDir)) { storeControllerCache.set(storeDir, createOrConnectStoreController(opts)); } return await storeControllerCache.get(storeDir); } async function createOrConnectStoreController(opts) { const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: opts.workspaceDir ?? opts.dir, storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); const connectionInfoDir = (0, serverConnectionInfoDir_js_1.serverConnectionInfoDir)(storeDir); const serverJsonPath = path_1.default.join(connectionInfoDir, "server.json"); let serverJson = await tryLoadServerJson({ serverJsonPath, shouldRetryOnNoent: false }); if (serverJson !== null) { if (serverJson.pnpmVersion !== cli_meta_1.packageManager.version) { logger_1.logger.warn({ message: `The store server runs on pnpm v${serverJson.pnpmVersion}. It is recommended to connect with the same version (current is v${cli_meta_1.packageManager.version})`, prefix: opts.dir }); } logger_1.logger.info({ message: "A store server is running. All store manipulations are delegated to it.", prefix: opts.dir }); return { ctrl: await (0, server_1.connectStoreController)(serverJson.connectionOptions), dir: storeDir }; } if (opts.useRunningStoreServer) { throw new error_1.PnpmError("NO_STORE_SERVER", "No store server is running."); } if (opts.useStoreServer) { (0, runServerInBackground_js_1.runServerInBackground)(storeDir); serverJson = await tryLoadServerJson({ serverJsonPath, shouldRetryOnNoent: true }); logger_1.logger.info({ message: "A store server has been started. To stop it, use `pnpm server stop`", prefix: opts.dir }); return { ctrl: await (0, server_1.connectStoreController)(serverJson.connectionOptions), dir: storeDir }; } return (0, createNewStoreController_js_1.createNewStoreController)(Object.assign(opts, { storeDir })); } async function tryLoadServerJson(options) { let beforeFirstAttempt = true; const startHRTime = process.hrtime(); while (true) { if (!beforeFirstAttempt) { const elapsedHRTime = process.hrtime(startHRTime); if (elapsedHRTime[0] >= 10) { try { await fs_1.promises.unlink(options.serverJsonPath); } catch (error) { if (error.code !== "ENOENT") { throw error; } } return null; } await (0, delay_1.default)(200); } beforeFirstAttempt = false; let serverJsonStr; try { serverJsonStr = await fs_1.promises.readFile(options.serverJsonPath, "utf8"); } catch (error) { if (error.code !== "ENOENT") { throw error; } if (!options.shouldRetryOnNoent) { return null; } continue; } let serverJson; try { serverJson = JSON.parse(serverJsonStr); } catch (error) { continue; } if (serverJson === null) { throw new Error("server.json was modified by a third party"); } return serverJson; } } } }); // ../node_modules/.pnpm/get-npm-tarball-url@2.1.0/node_modules/get-npm-tarball-url/lib/index.js var require_lib95 = __commonJS({ "../node_modules/.pnpm/get-npm-tarball-url@2.1.0/node_modules/get-npm-tarball-url/lib/index.js"(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; var __hasOwnProp2 = Object.prototype.hasOwnProperty; var __export2 = (target, all) => { for (var name in all) __defProp2(target, name, { get: all[name], enumerable: true }); }; var __copyProps2 = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); var src_exports = {}; __export2(src_exports, { default: () => src_default }); module2.exports = __toCommonJS2(src_exports); function src_default(pkgName, pkgVersion, opts) { let registry; if (opts == null ? void 0 : opts.registry) { registry = opts.registry.endsWith("/") ? opts.registry : `${opts.registry}/`; } else { registry = "https://registry.npmjs.org/"; } const scopelessName = getScopelessName(pkgName); return `${registry}${pkgName}/-/${scopelessName}-${removeBuildMetadataFromVersion(pkgVersion)}.tgz`; } function removeBuildMetadataFromVersion(version2) { const plusPos = version2.indexOf("+"); if (plusPos === -1) return version2; return version2.substring(0, plusPos); } function getScopelessName(name) { if (name[0] !== "@") { return name; } return name.split("/")[1]; } } }); // ../config/deps-installer/lib/installConfigDeps.js var require_installConfigDeps = __commonJS({ "../config/deps-installer/lib/installConfigDeps.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.installConfigDeps = installConfigDeps; var path_1 = __importDefault2(require("path")); var get_npm_tarball_url_1 = __importDefault2(require_lib95()); var core_loggers_1 = require_lib8(); var error_1 = require_lib6(); var pick_registry_for_package_1 = require_lib42(); var read_modules_dir_1 = require_lib68(); var rimraf_1 = __importDefault2(require_rimraf()); var read_package_json_1 = require_lib61(); async function installConfigDeps(configDeps, opts) { const configModulesDir = path_1.default.join(opts.rootDir, "node_modules/.pnpm-config"); const existingConfigDeps = await (0, read_modules_dir_1.readModulesDir)(configModulesDir) ?? []; await Promise.all(existingConfigDeps.map(async (existingConfigDep) => { if (!configDeps[existingConfigDep]) { await (0, rimraf_1.default)(path_1.default.join(configModulesDir, existingConfigDep)); } })); const installedConfigDeps = []; await Promise.all(Object.entries(configDeps).map(async ([pkgName, pkgSpec]) => { const configDepPath = path_1.default.join(configModulesDir, pkgName); const sepIndex = pkgSpec.indexOf("+"); if (sepIndex === -1) { throw new error_1.PnpmError("CONFIG_DEP_NO_INTEGRITY", `Your config dependency called "${pkgName}" at "pnpm.configDependencies" doesn't have an integrity checksum`, { hint: `All config dependencies should have their integrity checksum inlined in the version specifier. For example: pnpm-workspace.yaml: configDependencies: my-config: "1.0.0+sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==" ` }); } const version2 = pkgSpec.substring(0, sepIndex); const integrity = pkgSpec.substring(sepIndex + 1); if (existingConfigDeps.includes(pkgName)) { const configDepPkgJson = await (0, read_package_json_1.safeReadPackageJsonFromDir)(configDepPath); if (configDepPkgJson == null || configDepPkgJson.name !== pkgName || configDepPkgJson.version !== version2) { await (0, rimraf_1.default)(configDepPath); } else { return; } } core_loggers_1.installingConfigDepsLogger.debug({ status: "started" }); const registry = (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, pkgName); const { fetching } = await opts.store.fetchPackage({ force: true, lockfileDir: opts.rootDir, pkg: { id: `${pkgName}@${version2}`, resolution: { tarball: (0, get_npm_tarball_url_1.default)(pkgName, version2, { registry }), integrity } } }); const { files: filesResponse } = await fetching(); await opts.store.importPackage(configDepPath, { force: true, requiresBuild: false, filesResponse }); installedConfigDeps.push({ name: pkgName, version: version2 }); })); if (installedConfigDeps.length) { core_loggers_1.installingConfigDepsLogger.debug({ status: "done", deps: installedConfigDeps }); } } } }); // ../node_modules/.pnpm/is-plain-obj@2.1.0/node_modules/is-plain-obj/index.js var require_is_plain_obj = __commonJS({ "../node_modules/.pnpm/is-plain-obj@2.1.0/node_modules/is-plain-obj/index.js"(exports2, module2) { "use strict"; module2.exports = (value) => { if (Object.prototype.toString.call(value) !== "[object Object]") { return false; } const prototype = Object.getPrototypeOf(value); return prototype === null || prototype === Object.prototype; }; } }); // ../node_modules/.pnpm/sort-keys@4.2.0/node_modules/sort-keys/index.js var require_sort_keys = __commonJS({ "../node_modules/.pnpm/sort-keys@4.2.0/node_modules/sort-keys/index.js"(exports2, module2) { "use strict"; var isPlainObject = require_is_plain_obj(); module2.exports = (object, options = {}) => { if (!isPlainObject(object) && !Array.isArray(object)) { throw new TypeError("Expected a plain object or array"); } const { deep } = options; const seenInput = []; const seenOutput = []; const deepSortArray = (array) => { const seenIndex = seenInput.indexOf(array); if (seenIndex !== -1) { return seenOutput[seenIndex]; } const result2 = []; seenInput.push(array); seenOutput.push(result2); result2.push(...array.map((item) => { if (Array.isArray(item)) { return deepSortArray(item); } if (isPlainObject(item)) { return sortKeys(item); } return item; })); return result2; }; const sortKeys = (object2) => { const seenIndex = seenInput.indexOf(object2); if (seenIndex !== -1) { return seenOutput[seenIndex]; } const result2 = {}; const keys = Object.keys(object2).sort(options.compare); seenInput.push(object2); seenOutput.push(result2); for (const key of keys) { const value = object2[key]; let newValue; if (deep && Array.isArray(value)) { newValue = deepSortArray(value); } else { newValue = deep && isPlainObject(value) ? sortKeys(value) : value; } Object.defineProperty(result2, key, { ...Object.getOwnPropertyDescriptor(object2, key), value: newValue }); } return result2; }; if (Array.isArray(object)) { return deep ? deepSortArray(object) : object.slice(); } return sortKeys(object); }; } }); // ../object/key-sorting/lib/index.js var require_lib96 = __commonJS({ "../object/key-sorting/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.sortDirectKeys = sortDirectKeys; exports2.sortDeepKeys = sortDeepKeys; exports2.sortKeysByPriority = sortKeysByPriority; var util_lex_comparator_1 = require_dist4(); var sort_keys_1 = __importDefault2(require_sort_keys()); function sortDirectKeys(obj) { return (0, sort_keys_1.default)(obj, { compare: util_lex_comparator_1.lexCompare, deep: false }); } function sortDeepKeys(obj) { return (0, sort_keys_1.default)(obj, { compare: util_lex_comparator_1.lexCompare, deep: true }); } function sortKeysByPriority(opts, obj) { const compare = compareWithPriority.bind(null, opts.priority); return (0, sort_keys_1.default)(obj, { compare, deep: opts.deep }); } function compareWithPriority(priority, left, right) { const leftPriority = priority[left]; const rightPriority = priority[right]; if (leftPriority != null && rightPriority != null) return leftPriority - rightPriority; if (leftPriority != null) return -1; if (rightPriority != null) return 1; return (0, util_lex_comparator_1.lexCompare)(left, right); } } }); // ../workspace/manifest-writer/lib/index.js var require_lib97 = __commonJS({ "../workspace/manifest-writer/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.updateWorkspaceManifest = updateWorkspaceManifest; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var workspace_read_manifest_1 = require_lib21(); var constants_1 = require_lib5(); var write_yaml_file_1 = __importDefault2(require_write_yaml_file()); var equals_1 = __importDefault2(require_equals2()); var object_key_sorting_1 = require_lib96(); async function writeManifestFile(dir, manifest) { manifest = (0, object_key_sorting_1.sortKeysByPriority)({ priority: { packages: 0 }, deep: true }, manifest); return (0, write_yaml_file_1.default)(path_1.default.join(dir, constants_1.WORKSPACE_MANIFEST_FILENAME), manifest, { lineWidth: -1, // This is setting line width to never wrap blankLines: true, noCompatMode: true, noRefs: true, sortKeys: false }); } async function updateWorkspaceManifest(dir, opts) { const manifest = await (0, workspace_read_manifest_1.readWorkspaceManifest)(dir) ?? {}; let shouldBeUpdated = opts.updatedCatalogs != null && addCatalogs(manifest, opts.updatedCatalogs); if (opts.cleanupUnusedCatalogs) { shouldBeUpdated = removePackagesFromWorkspaceCatalog(manifest, opts.allProjects ?? []) || shouldBeUpdated; } const updatedFields = { ...opts.updatedFields }; if (manifest.allowBuilds != null && (updatedFields.onlyBuiltDependencies != null || updatedFields.ignoredBuiltDependencies != null)) { const allowBuilds = { ...manifest.allowBuilds }; if (updatedFields.onlyBuiltDependencies != null) { for (const pattern of updatedFields.onlyBuiltDependencies) { allowBuilds[pattern] = true; } } if (updatedFields.ignoredBuiltDependencies != null) { for (const pattern of updatedFields.ignoredBuiltDependencies) { allowBuilds[pattern] = false; } } updatedFields.allowBuilds = allowBuilds; delete updatedFields.onlyBuiltDependencies; delete updatedFields.ignoredBuiltDependencies; } for (const [key, value] of Object.entries(updatedFields)) { if (!(0, equals_1.default)(manifest[key], value)) { shouldBeUpdated = true; if (value == null) { delete manifest[key]; } else { manifest[key] = value; } } } if (!shouldBeUpdated) { return; } if (Object.keys(manifest).length === 0) { await fs_1.default.promises.rm(path_1.default.join(dir, constants_1.WORKSPACE_MANIFEST_FILENAME)); return; } await writeManifestFile(dir, manifest); } function addCatalogs(manifest, newCatalogs) { let shouldBeUpdated = false; for (const catalogName in newCatalogs) { let targetCatalog = catalogName === "default" ? manifest.catalog ?? manifest.catalogs?.default : manifest.catalogs?.[catalogName]; const targetCatalogWasNil = targetCatalog == null; for (const [dependencyName, specifier] of Object.entries(newCatalogs[catalogName] ?? {})) { if (specifier == null) { continue; } targetCatalog ??= {}; targetCatalog[dependencyName] = specifier; } if (targetCatalog == null) continue; shouldBeUpdated = true; if (targetCatalogWasNil) { if (catalogName === "default") { manifest.catalog = targetCatalog; } else { manifest.catalogs ??= {}; manifest.catalogs[catalogName] = targetCatalog; } } } return shouldBeUpdated; } function removePackagesFromWorkspaceCatalog(manifest, packagesJson) { let shouldBeUpdated = false; if (packagesJson.length === 0 || manifest.catalog == null && manifest.catalogs == null) { return shouldBeUpdated; } const packageReferences = {}; for (const pkg of packagesJson) { const pkgManifest = pkg.manifest; const dependencyTypes = [ pkgManifest.dependencies, pkgManifest.devDependencies, pkgManifest.optionalDependencies, pkgManifest.peerDependencies ]; for (const deps of dependencyTypes) { if (!deps) continue; for (const [pkgName, version2] of Object.entries(deps)) { if (!packageReferences[pkgName]) { packageReferences[pkgName] = /* @__PURE__ */ new Set(); } packageReferences[pkgName].add(version2); } } } if (manifest.catalog) { const packagesToRemove = Object.keys(manifest.catalog).filter((pkg) => !packageReferences[pkg]?.has("catalog:")); for (const pkg of packagesToRemove) { delete manifest.catalog[pkg]; shouldBeUpdated = true; } if (Object.keys(manifest.catalog).length === 0) { delete manifest.catalog; shouldBeUpdated = true; } } if (manifest.catalogs) { const catalogsToRemove = []; for (const [catalogName, catalog] of Object.entries(manifest.catalogs)) { if (!catalog) continue; const packagesToRemove = Object.keys(catalog).filter((pkg) => { const references = packageReferences[pkg]; return !references?.has(`catalog:${catalogName}`) && !references?.has("catalog:"); }); for (const pkg of packagesToRemove) { delete catalog[pkg]; shouldBeUpdated = true; } if (Object.keys(catalog).length === 0) { catalogsToRemove.push(catalogName); shouldBeUpdated = true; } } for (const catalogName of catalogsToRemove) { delete manifest.catalogs[catalogName]; } if (Object.keys(manifest.catalogs).length === 0) { delete manifest.catalogs; shouldBeUpdated = true; } } return shouldBeUpdated; } } }); // ../config/config-writer/lib/index.js var require_lib98 = __commonJS({ "../config/config-writer/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.writeSettings = writeSettings; var read_project_manifest_1 = require_lib16(); var workspace_manifest_writer_1 = require_lib97(); var equals_1 = __importDefault2(require_equals2()); async function writeSettings(opts) { if (opts.rootProjectManifest?.pnpm != null) { const { manifest, writeProjectManifest } = await (0, read_project_manifest_1.tryReadProjectManifest)(opts.rootProjectManifestDir); if (manifest) { manifest.pnpm ??= {}; let shouldBeUpdated = false; for (const [key, value] of Object.entries(opts.updatedSettings)) { if (!(0, equals_1.default)(manifest.pnpm[key], value)) { shouldBeUpdated = true; if (value == null) { delete manifest.pnpm[key]; } else { manifest.pnpm[key] = value; } } } if (Object.keys(manifest.pnpm).length === 0) { delete manifest.pnpm; } if (shouldBeUpdated) { await writeProjectManifest(manifest); } return; } } await (0, workspace_manifest_writer_1.updateWorkspaceManifest)(opts.workspaceDir, { updatedFields: opts.updatedSettings }); } } }); // ../node_modules/.pnpm/builtins@5.1.0/node_modules/builtins/index.js var require_builtins2 = __commonJS({ "../node_modules/.pnpm/builtins@5.1.0/node_modules/builtins/index.js"(exports2, module2) { "use strict"; var satisfies = require_satisfies(); var permanentModules = [ "assert", "buffer", "child_process", "cluster", "console", "constants", "crypto", "dgram", "dns", "domain", "events", "fs", "http", "https", "module", "net", "os", "path", "punycode", "querystring", "readline", "repl", "stream", "string_decoder", "sys", "timers", "tls", "tty", "url", "util", "vm", "zlib" ]; var versionLockedModules = { freelist: "<6.0.0", v8: ">=1.0.0", process: ">=1.1.0", inspector: ">=8.0.0", async_hooks: ">=8.1.0", http2: ">=8.4.0", perf_hooks: ">=8.5.0", trace_events: ">=10.0.0", worker_threads: ">=12.0.0", "node:test": ">=18.0.0" }; var experimentalModules = { worker_threads: ">=10.5.0", wasi: ">=12.16.0", diagnostics_channel: "^14.17.0 || >=15.1.0" }; module2.exports = ({ version: version2 = process.version, experimental = false } = {}) => { const builtins = [...permanentModules]; for (const [name, semverRange] of Object.entries(versionLockedModules)) { if (version2 === "*" || satisfies(version2, semverRange)) { builtins.push(name); } } if (experimental) { for (const [name, semverRange] of Object.entries(experimentalModules)) { if (!builtins.includes(name) && (version2 === "*" || satisfies(version2, semverRange))) { builtins.push(name); } } } return builtins; }; } }); // ../node_modules/.pnpm/validate-npm-package-name@5.0.0/node_modules/validate-npm-package-name/lib/index.js var require_lib99 = __commonJS({ "../node_modules/.pnpm/validate-npm-package-name@5.0.0/node_modules/validate-npm-package-name/lib/index.js"(exports2, module2) { "use strict"; var scopedPackagePattern = new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$"); var builtins = require_builtins2(); var blacklist = [ "node_modules", "favicon.ico" ]; function validate2(name) { var warnings = []; var errors = []; if (name === null) { errors.push("name cannot be null"); return done(warnings, errors); } if (name === void 0) { errors.push("name cannot be undefined"); return done(warnings, errors); } if (typeof name !== "string") { errors.push("name must be a string"); return done(warnings, errors); } if (!name.length) { errors.push("name length must be greater than zero"); } if (name.match(/^\./)) { errors.push("name cannot start with a period"); } if (name.match(/^_/)) { errors.push("name cannot start with an underscore"); } if (name.trim() !== name) { errors.push("name cannot contain leading or trailing spaces"); } blacklist.forEach(function(blacklistedName) { if (name.toLowerCase() === blacklistedName) { errors.push(blacklistedName + " is a blacklisted name"); } }); builtins({ version: "*" }).forEach(function(builtin) { if (name.toLowerCase() === builtin) { warnings.push(builtin + " is a core module name"); } }); if (name.length > 214) { warnings.push("name can no longer contain more than 214 characters"); } if (name.toLowerCase() !== name) { warnings.push("name can no longer contain capital letters"); } if (/[~'!()*]/.test(name.split("/").slice(-1)[0])) { warnings.push(`name can no longer contain special characters ("~'!()*")`); } if (encodeURIComponent(name) !== name) { var nameMatch = name.match(scopedPackagePattern); if (nameMatch) { var user = nameMatch[1]; var pkg = nameMatch[2]; if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) { return done(warnings, errors); } } errors.push("name can only contain URL-friendly characters"); } return done(warnings, errors); } var done = function(warnings, errors) { var result2 = { validForNewPackages: errors.length === 0 && warnings.length === 0, validForOldPackages: errors.length === 0, warnings, errors }; if (!result2.warnings.length) { delete result2.warnings; } if (!result2.errors.length) { delete result2.errors; } return result2; }; module2.exports = validate2; } }); // ../packages/parse-wanted-dependency/lib/index.js var require_lib100 = __commonJS({ "../packages/parse-wanted-dependency/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseWantedDependency = parseWantedDependency; var validate_npm_package_name_1 = __importDefault2(require_lib99()); function parseWantedDependency(rawWantedDependency) { const versionDelimiter = rawWantedDependency.indexOf("@", 1); if (versionDelimiter !== -1) { const alias = rawWantedDependency.slice(0, versionDelimiter); if ((0, validate_npm_package_name_1.default)(alias).validForOldPackages) { return { alias, bareSpecifier: rawWantedDependency.slice(versionDelimiter + 1) }; } return { bareSpecifier: rawWantedDependency }; } if ((0, validate_npm_package_name_1.default)(rawWantedDependency).validForOldPackages) { return { alias: rawWantedDependency }; } return { bareSpecifier: rawWantedDependency }; } } }); // ../config/deps-installer/lib/resolveConfigDeps.js var require_resolveConfigDeps = __commonJS({ "../config/deps-installer/lib/resolveConfigDeps.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveConfigDeps = resolveConfigDeps; var error_1 = require_lib6(); var config_config_writer_1 = require_lib98(); var fetch_1 = require_lib29(); var npm_resolver_1 = require_lib49(); var network_auth_header_1 = require_lib76(); var parse_wanted_dependency_1 = require_lib100(); var installConfigDeps_js_1 = require_installConfigDeps(); async function resolveConfigDeps(configDeps, opts) { const fetch = (0, fetch_1.createFetchFromRegistry)(opts); const getAuthHeader = (0, network_auth_header_1.createGetAuthHeaderByURI)({ allSettings: opts.userConfig, userSettings: opts.userConfig }); const { resolveFromNpm } = (0, npm_resolver_1.createNpmResolver)(fetch, getAuthHeader, opts); const configDependencies = opts.configDependencies ?? {}; await Promise.all(configDeps.map(async (configDep) => { const wantedDep = (0, parse_wanted_dependency_1.parseWantedDependency)(configDep); if (!wantedDep.alias) { throw new error_1.PnpmError("BAD_CONFIG_DEP", `Cannot install ${configDep} as configuration dependency`); } const resolution = await resolveFromNpm(wantedDep, { lockfileDir: opts.rootDir, preferredVersions: {}, projectDir: opts.rootDir }); if (resolution?.resolution == null || !("integrity" in resolution?.resolution)) { throw new error_1.PnpmError("BAD_CONFIG_DEP", `Cannot install ${configDep} as configuration dependency because it has no integrity`); } configDependencies[wantedDep.alias] = `${resolution?.manifest?.version}+${resolution.resolution.integrity}`; })); await (0, config_config_writer_1.writeSettings)({ ...opts, rootProjectManifestDir: opts.rootDir, workspaceDir: opts.rootDir, updatedSettings: { configDependencies } }); await (0, installConfigDeps_js_1.installConfigDeps)(configDependencies, opts); } } }); // ../config/deps-installer/lib/index.js var require_lib101 = __commonJS({ "../config/deps-installer/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveConfigDeps = exports2.installConfigDeps = void 0; var installConfigDeps_js_1 = require_installConfigDeps(); Object.defineProperty(exports2, "installConfigDeps", { enumerable: true, get: function() { return installConfigDeps_js_1.installConfigDeps; } }); var resolveConfigDeps_js_1 = require_resolveConfigDeps(); Object.defineProperty(exports2, "resolveConfigDeps", { enumerable: true, get: function() { return resolveConfigDeps_js_1.resolveConfigDeps; } }); } }); // ../hooks/pnpmfile/lib/requirePnpmfile.js var require_requirePnpmfile = __commonJS({ "../hooks/pnpmfile/lib/requirePnpmfile.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.BadReadPackageHookError = void 0; exports2.requirePnpmfile = requirePnpmfile; var assert_1 = __importDefault2(require("assert")); var fs_1 = __importDefault2(require("fs")); var util_1 = __importDefault2(require("util")); var error_1 = require_lib6(); var logger_1 = require_lib(); var chalk_1 = __importDefault2(require_source()); var BadReadPackageHookError = class extends error_1.PnpmError { pnpmfile; constructor(pnpmfile, message) { super("BAD_READ_PACKAGE_HOOK_RESULT", `${message} Hook imported via ${pnpmfile}`); this.pnpmfile = pnpmfile; } }; exports2.BadReadPackageHookError = BadReadPackageHookError; var PnpmFileFailError = class extends error_1.PnpmError { pnpmfile; originalError; constructor(pnpmfile, originalError) { super("PNPMFILE_FAIL", `Error during pnpmfile execution. pnpmfile: "${pnpmfile}". Error: "${originalError.message}".`); this.pnpmfile = pnpmfile; this.originalError = originalError; } }; function requirePnpmfile(pnpmFilePath, prefix) { try { const pnpmfile = require(pnpmFilePath); if (typeof pnpmfile === "undefined") { logger_1.logger.warn({ message: `Ignoring the pnpmfile at "${pnpmFilePath}". It exports "undefined".`, prefix }); return { pnpmfileModule: void 0 }; } if (pnpmfile?.hooks?.readPackage && typeof pnpmfile.hooks.readPackage !== "function") { throw new TypeError("hooks.readPackage should be a function"); } if (pnpmfile?.hooks?.readPackage) { const readPackage = pnpmfile.hooks.readPackage; pnpmfile.hooks.readPackage = async function(pkg, ...args) { pkg.dependencies = pkg.dependencies ?? {}; pkg.devDependencies = pkg.devDependencies ?? {}; pkg.optionalDependencies = pkg.optionalDependencies ?? {}; pkg.peerDependencies = pkg.peerDependencies ?? {}; const newPkg = await readPackage(pkg, ...args); if (!newPkg) { throw new BadReadPackageHookError(pnpmFilePath, "readPackage hook did not return a package manifest object."); } const dependencies = ["dependencies", "optionalDependencies", "peerDependencies"]; for (const dep of dependencies) { if (newPkg[dep] && typeof newPkg[dep] !== "object") { throw new BadReadPackageHookError(pnpmFilePath, `readPackage hook returned package manifest object's property '${dep}' must be an object.`); } } return newPkg; }; } return { pnpmfileModule: pnpmfile }; } catch (err) { if (err instanceof SyntaxError) { console.error(chalk_1.default.red(`A syntax error in the "${pnpmFilePath}" `)); console.error(err); process.exit(1); } (0, assert_1.default)(util_1.default.types.isNativeError(err)); if (!("code" in err && err.code === "MODULE_NOT_FOUND") || pnpmFileExistsSync(pnpmFilePath)) { throw new PnpmFileFailError(pnpmFilePath, err); } return void 0; } } function pnpmFileExistsSync(pnpmFilePath) { const pnpmFileRealName = pnpmFilePath.endsWith(".cjs") ? pnpmFilePath : `${pnpmFilePath}.cjs`; return fs_1.default.existsSync(pnpmFileRealName); } } }); // ../hooks/pnpmfile/lib/requireHooks.js var require_requireHooks = __commonJS({ "../hooks/pnpmfile/lib/requireHooks.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.requireHooks = requireHooks; var error_1 = require_lib6(); var core_loggers_1 = require_lib8(); var crypto_hash_1 = require_lib36(); var path_absolute_1 = __importDefault2(require_path_absolute()); var requirePnpmfile_js_1 = require_requirePnpmfile(); function requireHooks(prefix, opts) { const pnpmfiles = []; if (opts.globalPnpmfile) { pnpmfiles.push({ path: opts.globalPnpmfile, includeInChecksum: false }); } if (opts.tryLoadDefaultPnpmfile) { pnpmfiles.push({ path: ".pnpmfile.cjs", includeInChecksum: true, optional: true }); } if (opts.pnpmfiles) { for (const pnpmfile of opts.pnpmfiles) { pnpmfiles.push({ path: pnpmfile, includeInChecksum: true }); } } const entries = []; const loadedFiles = []; for (const { path: path2, includeInChecksum, optional } of pnpmfiles) { const file = (0, path_absolute_1.default)(path2, prefix); if (!loadedFiles.includes(file)) { loadedFiles.push(file); const requirePnpmfileResult = (0, requirePnpmfile_js_1.requirePnpmfile)(file, prefix); if (requirePnpmfileResult != null) { entries.push({ file, includeInChecksum, hooks: requirePnpmfileResult.pnpmfileModule?.hooks, finders: requirePnpmfileResult.pnpmfileModule?.finders }); } else if (!optional) { throw new error_1.PnpmError("PNPMFILE_NOT_FOUND", `pnpmfile at "${file}" is not found`); } } } const mergedFinders = {}; const cookedHooks = { readPackage: [], preResolution: [], afterAllResolved: [], filterLog: [], updateConfig: [] }; if (entries.some((entry) => entry.hooks != null)) { cookedHooks.calculatePnpmfileChecksum = async () => { const filesToIncludeInHash = []; for (const { includeInChecksum, file } of entries) { if (includeInChecksum) { filesToIncludeInHash.push(file); } } filesToIncludeInHash.sort(); return (0, crypto_hash_1.createHashFromMultipleFiles)(filesToIncludeInHash); }; } let importProvider; let fetchersProvider; const finderProviders = {}; for (const { hooks, file, finders } of entries) { if (finders != null) { for (const [finderName, finder] of Object.entries(finders)) { if (mergedFinders[finderName] != null) { const firstDefinedIn = finderProviders[finderName]; throw new error_1.PnpmError("DUPLICATE_FINDER", `Finder "${finderName}" defined in both ${firstDefinedIn} and ${file}`); } mergedFinders[finderName] = finder; finderProviders[finderName] = file; } } const fileHooks = hooks ?? {}; for (const hookName of ["readPackage", "afterAllResolved"]) { const fn = fileHooks[hookName]; if (fn) { const context = createReadPackageHookContext(file, prefix, hookName); cookedHooks[hookName].push((pkg) => fn(pkg, context)); } } if (fileHooks.filterLog) { cookedHooks.filterLog.push(fileHooks.filterLog); } if (fileHooks.updateConfig) { const updateConfig = fileHooks.updateConfig; cookedHooks.updateConfig.push((config) => { const updated = updateConfig(config); if (updated == null) { throw new error_1.PnpmError("CONFIG_IS_UNDEFINED", "The updateConfig hook returned undefined"); } return updated; }); } if (fileHooks.preResolution) { const preRes = fileHooks.preResolution; cookedHooks.preResolution.push((ctx) => preRes(ctx, createPreResolutionHookLogger(prefix))); } if (fileHooks.importPackage) { if (importProvider) { throw new error_1.PnpmError("MULTIPLE_IMPORT_PACKAGE", `importPackage hook defined in both ${importProvider} and ${file}`); } importProvider = file; cookedHooks.importPackage = fileHooks.importPackage; } if (fileHooks.fetchers) { if (fetchersProvider) { throw new error_1.PnpmError("MULTIPLE_FETCHERS", `fetchers hook defined in both ${fetchersProvider} and ${file}`); } fetchersProvider = file; cookedHooks.fetchers = fileHooks.fetchers; } } return { hooks: cookedHooks, finders: mergedFinders, resolvedPnpmfilePaths: entries.map(({ file }) => file) }; } function createReadPackageHookContext(calledFrom, prefix, hook) { return { log: (message) => { core_loggers_1.hookLogger.debug({ from: calledFrom, hook, message, prefix }); } }; } function createPreResolutionHookLogger(prefix) { const hook = "preResolution"; return { info: (message) => { core_loggers_1.hookLogger.info({ message, prefix, hook }); }, warn: (message) => { core_loggers_1.hookLogger.warn({ message, prefix, hook }); } }; } } }); // ../hooks/pnpmfile/lib/index.js var require_lib102 = __commonJS({ "../hooks/pnpmfile/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.BadReadPackageHookError = exports2.requireHooks = void 0; var requireHooks_js_1 = require_requireHooks(); Object.defineProperty(exports2, "requireHooks", { enumerable: true, get: function() { return requireHooks_js_1.requireHooks; } }); var requirePnpmfile_js_1 = require_requirePnpmfile(); Object.defineProperty(exports2, "BadReadPackageHookError", { enumerable: true, get: function() { return requirePnpmfile_js_1.BadReadPackageHookError; } }); } }); // ../cli/cli-utils/lib/getConfig.js var require_getConfig = __commonJS({ "../cli/cli-utils/lib/getConfig.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getConfig = getConfig; var path_1 = __importDefault2(require("path")); var cli_meta_1 = require_lib4(); var config_1 = require_lib23(); var default_reporter_1 = require_lib26(); var store_connection_manager_1 = require_lib94(); var config_deps_installer_1 = require_lib101(); var pnpmfile_1 = require_lib102(); var util_lex_comparator_1 = require_dist4(); async function getConfig(cliOptions, opts) { let { config, warnings } = await (0, config_1.getConfig)({ cliOptions, globalDirShouldAllowWrite: opts.globalDirShouldAllowWrite, packageManager: cli_meta_1.packageManager, rcOptionsTypes: opts.rcOptionsTypes, workspaceDir: opts.workspaceDir, checkUnknownSetting: opts.checkUnknownSetting, ignoreNonAuthSettingsFromLocal: opts.ignoreNonAuthSettingsFromLocal }); config.cliOptions = cliOptions; if (config.configDependencies) { const store = await (0, store_connection_manager_1.createOrConnectStoreController)(config); await (0, config_deps_installer_1.installConfigDeps)(config.configDependencies, { registries: config.registries, rootDir: config.lockfileDir ?? config.rootProjectManifestDir, store: store.ctrl }); } if (!config.ignorePnpmfile) { config.tryLoadDefaultPnpmfile = config.pnpmfile == null; const pnpmfiles = config.pnpmfile == null ? [] : Array.isArray(config.pnpmfile) ? config.pnpmfile : [config.pnpmfile]; if (config.configDependencies) { const configModulesDir = path_1.default.join(config.lockfileDir ?? config.rootProjectManifestDir, "node_modules/.pnpm-config"); pnpmfiles.unshift(...calcPnpmfilePathsOfPluginDeps(configModulesDir, config.configDependencies)); } const { hooks, finders, resolvedPnpmfilePaths } = (0, pnpmfile_1.requireHooks)(config.lockfileDir ?? config.dir, { globalPnpmfile: config.globalPnpmfile, pnpmfiles, tryLoadDefaultPnpmfile: config.tryLoadDefaultPnpmfile }); config.hooks = hooks; config.finders = finders; config.pnpmfile = resolvedPnpmfilePaths; if (config.hooks?.updateConfig) { for (const updateConfig of config.hooks.updateConfig) { const updateConfigResult = updateConfig(config); config = updateConfigResult instanceof Promise ? await updateConfigResult : updateConfigResult; } } } if (opts.excludeReporter) { delete config.reporter; } if (warnings.length > 0) { console.warn(warnings.map((warning) => (0, default_reporter_1.formatWarn)(warning)).join("\n")); } return config; } function* calcPnpmfilePathsOfPluginDeps(configModulesDir, configDependencies) { for (const configDepName of Object.keys(configDependencies).sort(util_lex_comparator_1.lexCompare)) { if (isPluginName(configDepName)) { yield path_1.default.join(configModulesDir, configDepName, "pnpmfile.cjs"); } } } function isPluginName(configDepName) { if (configDepName.startsWith("pnpm-plugin-")) return true; if (configDepName[0] !== "@") return false; return configDepName.startsWith("@pnpm/plugin-") || configDepName.includes("/pnpm-plugin-"); } } }); // ../cli/cli-utils/lib/packageIsInstallable.js var require_packageIsInstallable = __commonJS({ "../cli/cli-utils/lib/packageIsInstallable.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.packageIsInstallable = packageIsInstallable; var cli_meta_1 = require_lib4(); var logger_1 = require_lib(); var package_is_installable_1 = require_lib85(); function packageIsInstallable(pkgPath, pkg, opts) { const currentPnpmVersion = cli_meta_1.packageManager.name === "pnpm" ? cli_meta_1.packageManager.version : void 0; const err = (0, package_is_installable_1.checkPackage)(pkgPath, pkg, { nodeVersion: opts.nodeVersion, pnpmVersion: currentPnpmVersion, supportedArchitectures: opts.supportedArchitectures ?? { os: ["current"], cpu: ["current"], libc: ["current"] } }); if (err === null) return; if ((err instanceof package_is_installable_1.UnsupportedEngineError && err.wanted.pnpm) ?? opts.engineStrict) throw err; logger_1.logger.warn({ message: `Unsupported ${err instanceof package_is_installable_1.UnsupportedEngineError ? "engine" : "platform"}: wanted: ${JSON.stringify(err.wanted)} (current: ${JSON.stringify(err.current)})`, prefix: pkgPath }); } } }); // ../cli/cli-utils/lib/readDepNameCompletions.js var require_readDepNameCompletions = __commonJS({ "../cli/cli-utils/lib/readDepNameCompletions.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readDepNameCompletions = readDepNameCompletions; var manifest_utils_1 = require_lib10(); var read_project_manifest_1 = require_lib16(); async function readDepNameCompletions(dir) { const { manifest } = await (0, read_project_manifest_1.readProjectManifest)(dir ?? process.cwd()); return Object.keys((0, manifest_utils_1.getAllDependenciesFromManifest)(manifest)).map((name) => ({ name })); } } }); // ../cli/cli-utils/lib/readProjectManifest.js var require_readProjectManifest = __commonJS({ "../cli/cli-utils/lib/readProjectManifest.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readProjectManifest = readProjectManifest; exports2.readProjectManifestOnly = readProjectManifestOnly; exports2.tryReadProjectManifest = tryReadProjectManifest; var utils = __importStar3(require_lib16()); var packageIsInstallable_js_1 = require_packageIsInstallable(); async function readProjectManifest(projectDir, opts = {}) { const { fileName, manifest, writeProjectManifest } = await utils.readProjectManifest(projectDir); (0, packageIsInstallable_js_1.packageIsInstallable)(projectDir, manifest, opts); return { fileName, manifest, writeProjectManifest }; } async function readProjectManifestOnly(projectDir, opts = {}) { const manifest = await utils.readProjectManifestOnly(projectDir); (0, packageIsInstallable_js_1.packageIsInstallable)(projectDir, manifest, opts); return manifest; } async function tryReadProjectManifest(projectDir, opts) { const { fileName, manifest, writeProjectManifest } = await utils.tryReadProjectManifest(projectDir); if (manifest == null) return { fileName, manifest, writeProjectManifest }; (0, packageIsInstallable_js_1.packageIsInstallable)(projectDir, manifest, opts); return { fileName, manifest, writeProjectManifest }; } } }); // ../cli/cli-utils/lib/recursiveSummary.js var require_recursiveSummary = __commonJS({ "../cli/cli-utils/lib/recursiveSummary.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.throwOnCommandFail = throwOnCommandFail; var error_1 = require_lib6(); var RecursiveFailError = class extends error_1.PnpmError { failures; passes; constructor(command, recursiveSummary, failures) { super("RECURSIVE_FAIL", `"${command}" failed in ${failures.length} packages`); this.failures = failures; this.passes = Object.values(recursiveSummary).filter(({ status }) => status === "passed").length; } }; function throwOnCommandFail(command, recursiveSummary) { const failures = Object.values(recursiveSummary).filter(({ status }) => status === "failure"); if (failures.length > 0) { throw new RecursiveFailError(command, recursiveSummary, failures); } } } }); // ../cli/cli-utils/lib/style.js var require_style = __commonJS({ "../cli/cli-utils/lib/style.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.TABLE_OPTIONS = void 0; var chalk_1 = __importDefault2(require_source()); exports2.TABLE_OPTIONS = { border: { topBody: "\u2500", topJoin: "\u252C", topLeft: "\u250C", topRight: "\u2510", bottomBody: "\u2500", bottomJoin: "\u2534", bottomLeft: "\u2514", bottomRight: "\u2518", bodyJoin: "\u2502", bodyLeft: "\u2502", bodyRight: "\u2502", joinBody: "\u2500", joinJoin: "\u253C", joinLeft: "\u251C", joinRight: "\u2524" }, columns: {} }; for (const [key, value] of Object.entries(exports2.TABLE_OPTIONS.border)) { exports2.TABLE_OPTIONS.border[key] = chalk_1.default.grey(value); } } }); // ../cli/cli-utils/lib/index.js var require_lib103 = __commonJS({ "../cli/cli-utils/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getConfig = void 0; exports2.docsUrl = docsUrl; var cli_meta_1 = require_lib4(); var getConfig_js_1 = require_getConfig(); Object.defineProperty(exports2, "getConfig", { enumerable: true, get: function() { return getConfig_js_1.getConfig; } }); __exportStar2(require_packageIsInstallable(), exports2); __exportStar2(require_readDepNameCompletions(), exports2); __exportStar2(require_readProjectManifest(), exports2); __exportStar2(require_recursiveSummary(), exports2); __exportStar2(require_style(), exports2); function docsUrl(cmd) { const [pnpmMajorVersion] = cli_meta_1.packageManager.version.split("."); return `https://pnpm.io/${pnpmMajorVersion}.x/cli/${cmd}`; } } }); // ../node_modules/.pnpm/p-map@2.1.0/node_modules/p-map/index.js var require_p_map2 = __commonJS({ "../node_modules/.pnpm/p-map@2.1.0/node_modules/p-map/index.js"(exports2, module2) { "use strict"; var pMap = (iterable, mapper, options) => new Promise((resolve, reject) => { options = Object.assign({ concurrency: Infinity }, options); if (typeof mapper !== "function") { throw new TypeError("Mapper function is required"); } const { concurrency } = options; if (!(typeof concurrency === "number" && concurrency >= 1)) { throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${concurrency}\` (${typeof concurrency})`); } const ret2 = []; const iterator = iterable[Symbol.iterator](); let isRejected = false; let isIterableDone = false; let resolvingCount = 0; let currentIndex = 0; const next = () => { if (isRejected) { return; } const nextItem = iterator.next(); const i = currentIndex; currentIndex++; if (nextItem.done) { isIterableDone = true; if (resolvingCount === 0) { resolve(ret2); } return; } resolvingCount++; Promise.resolve(nextItem.value).then((element) => mapper(element, i)).then( (value) => { ret2[i] = value; resolvingCount--; next(); }, (error) => { isRejected = true; reject(error); } ); }; for (let i = 0; i < concurrency; i++) { next(); if (isIterableDone) { break; } } }); module2.exports = pMap; module2.exports.default = pMap; } }); // ../node_modules/.pnpm/p-filter@2.1.0/node_modules/p-filter/index.js var require_p_filter = __commonJS({ "../node_modules/.pnpm/p-filter@2.1.0/node_modules/p-filter/index.js"(exports2, module2) { "use strict"; var pMap = require_p_map2(); var pFilter = async (iterable, filterer, options) => { const values = await pMap( iterable, (element, index) => Promise.all([filterer(element, index), element]), options ); return values.filter((value) => Boolean(value[0])).map((value) => value[1]); }; module2.exports = pFilter; module2.exports.default = pFilter; } }); // ../fs/find-packages/lib/index.js var require_lib104 = __commonJS({ "../fs/find-packages/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.findPackages = findPackages; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var read_project_manifest_1 = require_lib16(); var util_lex_comparator_1 = require_dist4(); var tinyglobby_1 = require_dist17(); var p_filter_1 = __importDefault2(require_p_filter()); var DEFAULT_IGNORE = [ "**/node_modules/**", "**/bower_components/**", "**/test/**", "**/tests/**" ]; async function findPackages(root, opts) { opts = opts ?? {}; const globOpts = { ...opts, cwd: root, expandDirectories: false }; globOpts.ignore = opts.ignore ?? DEFAULT_IGNORE; const patterns = normalizePatterns(opts.patterns ?? [".", "**"]); delete globOpts.patterns; const paths = await (0, tinyglobby_1.glob)(patterns, globOpts); if (opts.includeRoot) { paths.push(...await (0, tinyglobby_1.glob)(normalizePatterns(["."]), globOpts)); } return (0, p_filter_1.default)( // `Array.from()` doesn't create an intermediate instance, // unlike `array.map()` Array.from( // Remove duplicate paths using `Set` new Set(paths.map((manifestPath) => path_1.default.join(root, manifestPath)).sort((path1, path2) => (0, util_lex_comparator_1.lexCompare)(path_1.default.dirname(path1), path_1.default.dirname(path2)))), async (manifestPath) => { try { const rootDir = path_1.default.dirname(manifestPath); return { rootDir, rootDirRealPath: await fs_1.promises.realpath(rootDir), ...await (0, read_project_manifest_1.readExactProjectManifest)(manifestPath) }; } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { return null; } throw err; } } ), Boolean ); } function normalizePatterns(patterns) { const normalizedPatterns = []; for (const pattern of patterns) { normalizedPatterns.push(pattern.replace(/\/?$/, "/package.{json,yaml,json5}")); } return normalizedPatterns; } } }); // ../workspace/find-packages/lib/index.js var require_lib105 = __commonJS({ "../workspace/find-packages/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.findWorkspacePackages = findWorkspacePackages; exports2.findWorkspacePackagesNoCheck = findWorkspacePackagesNoCheck; var cli_utils_1 = require_lib103(); var constants_1 = require_lib5(); var util_lex_comparator_1 = require_dist4(); var fs_find_packages_1 = require_lib104(); var logger_1 = require_lib(); async function findWorkspacePackages(workspaceRoot, opts) { const pkgs = await findWorkspacePackagesNoCheck(workspaceRoot, opts); for (const pkg of pkgs) { (0, cli_utils_1.packageIsInstallable)(pkg.rootDir, pkg.manifest, { ...opts, supportedArchitectures: opts?.supportedArchitectures ?? { os: ["current"], cpu: ["current"], libc: ["current"] } }); if (opts?.sharedWorkspaceLockfile && pkg.rootDir !== workspaceRoot) { checkNonRootProjectManifest(pkg); } } return pkgs; } async function findWorkspacePackagesNoCheck(workspaceRoot, opts) { const pkgs = await (0, fs_find_packages_1.findPackages)(workspaceRoot, { ignore: [ "**/node_modules/**", "**/bower_components/**" ], includeRoot: true, patterns: opts?.patterns }); pkgs.sort((pkg1, pkg2) => (0, util_lex_comparator_1.lexCompare)(pkg1.rootDir, pkg2.rootDir)); return pkgs; } var uselessNonRootManifestFields = ["resolutions"]; var usefulNonRootPnpmFields = constants_1.USEFUL_NON_ROOT_PNPM_FIELDS; function checkNonRootProjectManifest({ manifest, rootDir }) { const warn = printNonRootFieldWarning.bind(null, rootDir); for (const field of uselessNonRootManifestFields) { if (field in manifest) { warn(field); } } for (const field in manifest.pnpm) { if (!usefulNonRootPnpmFields.includes(field)) { warn(`pnpm.${field}`); } } } function printNonRootFieldWarning(prefix, propertyPath) { logger_1.logger.warn({ message: `The field "${propertyPath}" was found in ${prefix}/package.json. This will not take effect. You should configure "${propertyPath}" at the root of the workspace instead.`, prefix }); } } }); // ../node_modules/.pnpm/validate-npm-package-name@4.0.0/node_modules/validate-npm-package-name/lib/index.js var require_lib106 = __commonJS({ "../node_modules/.pnpm/validate-npm-package-name@4.0.0/node_modules/validate-npm-package-name/lib/index.js"(exports2, module2) { "use strict"; var scopedPackagePattern = new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$"); var builtins = require_builtins2(); var blacklist = [ "node_modules", "favicon.ico" ]; function validate2(name) { var warnings = []; var errors = []; if (name === null) { errors.push("name cannot be null"); return done(warnings, errors); } if (name === void 0) { errors.push("name cannot be undefined"); return done(warnings, errors); } if (typeof name !== "string") { errors.push("name must be a string"); return done(warnings, errors); } if (!name.length) { errors.push("name length must be greater than zero"); } if (name.match(/^\./)) { errors.push("name cannot start with a period"); } if (name.match(/^_/)) { errors.push("name cannot start with an underscore"); } if (name.trim() !== name) { errors.push("name cannot contain leading or trailing spaces"); } blacklist.forEach(function(blacklistedName) { if (name.toLowerCase() === blacklistedName) { errors.push(blacklistedName + " is a blacklisted name"); } }); builtins({ version: "*" }).forEach(function(builtin) { if (name.toLowerCase() === builtin) { warnings.push(builtin + " is a core module name"); } }); if (name.length > 214) { warnings.push("name can no longer contain more than 214 characters"); } if (name.toLowerCase() !== name) { warnings.push("name can no longer contain capital letters"); } if (/[~'!()*]/.test(name.split("/").slice(-1)[0])) { warnings.push(`name can no longer contain special characters ("~'!()*")`); } if (encodeURIComponent(name) !== name) { var nameMatch = name.match(scopedPackagePattern); if (nameMatch) { var user = nameMatch[1]; var pkg = nameMatch[2]; if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) { return done(warnings, errors); } } errors.push("name can only contain URL-friendly characters"); } return done(warnings, errors); } var done = function(warnings, errors) { var result2 = { validForNewPackages: errors.length === 0 && warnings.length === 0, validForOldPackages: errors.length === 0, warnings, errors }; if (!result2.warnings.length) { delete result2.warnings; } if (!result2.errors.length) { delete result2.errors; } return result2; }; module2.exports = validate2; } }); // ../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/git-host-info.js var require_git_host_info2 = __commonJS({ "../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/git-host-info.js"(exports2, module2) { "use strict"; var maybeJoin = (...args) => args.every((arg) => arg) ? args.join("") : ""; var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : ""; var defaults = { sshtemplate: ({ domain, user, project, committish }) => `git@${domain}:${user}/${project}.git${maybeJoin("#", committish)}`, sshurltemplate: ({ domain, user, project, committish }) => `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, browsetemplate: ({ domain, user, project, committish, treepath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`, browsefiletemplate: ({ domain, user, project, committish, treepath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "master")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`, docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`, httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/raw/${maybeEncode(committish) || "master"}/${path2}`, shortcuttemplate: ({ type, user, project, committish }) => `${type}:${user}/${project}${maybeJoin("#", committish)}`, pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`, bugstemplate: ({ domain, user, project }) => `https://${domain}/${user}/${project}/issues`, hashformat: formatHashFragment }; var gitHosts = {}; gitHosts.github = Object.assign({}, defaults, { // First two are insecure and generally shouldn't be used any more, but // they are still supported. protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"], domain: "github.com", treepath: "tree", filetemplate: ({ auth, user, project, committish, path: path2 }) => `https://${maybeJoin(auth, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish) || "master"}/${path2}`, gittemplate: ({ auth, domain, user, project, committish }) => `git://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ domain, user, project, committish }) => `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish) || "master"}`, extract: (url) => { let [, user, project, type, committish] = url.pathname.split("/", 5); if (type && type !== "tree") { return; } if (!type) { committish = url.hash.slice(1); } if (project && project.endsWith(".git")) { project = project.slice(0, -4); } if (!user || !project) { return; } return { user, project, committish }; } }); gitHosts.bitbucket = Object.assign({}, defaults, { protocols: ["git+ssh:", "git+https:", "ssh:", "https:"], domain: "bitbucket.org", treepath: "src", tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/get/${maybeEncode(committish) || "master"}.tar.gz`, extract: (url) => { let [, user, project, aux] = url.pathname.split("/", 4); if (["get"].includes(aux)) { return; } if (project && project.endsWith(".git")) { project = project.slice(0, -4); } if (!user || !project) { return; } return { user, project, committish: url.hash.slice(1) }; } }); gitHosts.gitlab = Object.assign({}, defaults, { protocols: ["git+ssh:", "git+https:", "ssh:", "https:"], domain: "gitlab.com", treepath: "tree", httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/repository/archive.tar.gz?ref=${maybeEncode(committish) || "master"}`, extract: (url) => { const path2 = url.pathname.slice(1); if (path2.includes("/-/") || path2.includes("/archive.tar.gz")) { return; } const segments = path2.split("/"); let project = segments.pop(); if (project.endsWith(".git")) { project = project.slice(0, -4); } const user = segments.join("/"); if (!user || !project) { return; } return { user, project, committish: url.hash.slice(1) }; } }); gitHosts.gist = Object.assign({}, defaults, { protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"], domain: "gist.github.com", sshtemplate: ({ domain, project, committish }) => `git@${domain}:${project}.git${maybeJoin("#", committish)}`, sshurltemplate: ({ domain, project, committish }) => `git+ssh://git@${domain}/${project}.git${maybeJoin("#", committish)}`, browsetemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`, browsefiletemplate: ({ domain, project, committish, path: path2, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path2))}`, docstemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`, httpstemplate: ({ domain, project, committish }) => `git+https://${domain}/${project}.git${maybeJoin("#", committish)}`, filetemplate: ({ user, project, committish, path: path2 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path2}`, shortcuttemplate: ({ type, project, committish }) => `${type}:${project}${maybeJoin("#", committish)}`, pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`, bugstemplate: ({ domain, project }) => `https://${domain}/${project}`, gittemplate: ({ domain, project, committish }) => `git://${domain}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish) || "master"}`, extract: (url) => { let [, user, project, aux] = url.pathname.split("/", 4); if (aux === "raw") { return; } if (!project) { if (!user) { return; } project = user; user = null; } if (project.endsWith(".git")) { project = project.slice(0, -4); } return { user, project, committish: url.hash.slice(1) }; }, hashformat: function(fragment) { return fragment && "file-" + formatHashFragment(fragment); } }); gitHosts.sourcehut = Object.assign({}, defaults, { protocols: ["git+ssh:", "https:"], domain: "git.sr.ht", treepath: "tree", browsefiletemplate: ({ domain, user, project, committish, treepath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "main")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`, filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/blob/${maybeEncode(committish) || "main"}/${path2}`, httpstemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}.git${maybeJoin("#", committish)}`, tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/archive/${maybeEncode(committish) || "main"}.tar.gz`, bugstemplate: ({ domain, user, project }) => `https://todo.sr.ht/${user}/${project}`, docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`, extract: (url) => { let [, user, project, aux] = url.pathname.split("/", 4); if (["archive"].includes(aux)) { return; } if (project && project.endsWith(".git")) { project = project.slice(0, -4); } if (!user || !project) { return; } return { user, project, committish: url.hash.slice(1) }; } }); var names = Object.keys(gitHosts); gitHosts.byShortcut = {}; gitHosts.byDomain = {}; for (const name of names) { gitHosts.byShortcut[`${name}:`] = name; gitHosts.byDomain[gitHosts[name].domain] = name; } function formatHashFragment(fragment) { return fragment.toLowerCase().replace(/^\W+|\/|\W+$/g, "").replace(/\W+/g, "-"); } module2.exports = gitHosts; } }); // ../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/git-host.js var require_git_host2 = __commonJS({ "../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/git-host.js"(exports2, module2) { "use strict"; var gitHosts = require_git_host_info2(); var GitHost = class { constructor(type, user, auth, project, committish, defaultRepresentation, opts = {}) { Object.assign(this, gitHosts[type]); this.type = type; this.user = user; this.auth = auth; this.project = project; this.committish = committish; this.default = defaultRepresentation; this.opts = opts; } hash() { return this.committish ? `#${this.committish}` : ""; } ssh(opts) { return this._fill(this.sshtemplate, opts); } _fill(template, opts) { if (typeof template === "function") { const options = { ...this, ...this.opts, ...opts }; if (!options.path) { options.path = ""; } if (options.path.startsWith("/")) { options.path = options.path.slice(1); } if (options.noCommittish) { options.committish = null; } const result2 = template(options); return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2; } return null; } sshurl(opts) { return this._fill(this.sshurltemplate, opts); } browse(path2, fragment, opts) { if (typeof path2 !== "string") { return this._fill(this.browsetemplate, path2); } if (typeof fragment !== "string") { opts = fragment; fragment = null; } return this._fill(this.browsefiletemplate, { ...opts, fragment, path: path2 }); } docs(opts) { return this._fill(this.docstemplate, opts); } bugs(opts) { return this._fill(this.bugstemplate, opts); } https(opts) { return this._fill(this.httpstemplate, opts); } git(opts) { return this._fill(this.gittemplate, opts); } shortcut(opts) { return this._fill(this.shortcuttemplate, opts); } path(opts) { return this._fill(this.pathtemplate, opts); } tarball(opts) { return this._fill(this.tarballtemplate, { ...opts, noCommittish: false }); } file(path2, opts) { return this._fill(this.filetemplate, { ...opts, path: path2 }); } getDefaultRepresentation() { return this.default; } toString(opts) { if (this.default && typeof this[this.default] === "function") { return this[this.default](opts); } return this.sshurl(opts); } }; module2.exports = GitHost; } }); // ../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/index.js var require_hosted_git_info2 = __commonJS({ "../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/index.js"(exports2, module2) { "use strict"; var url = require("url"); var gitHosts = require_git_host_info2(); var GitHost = module2.exports = require_git_host2(); var LRU = require_lru_cache2(); var cache = new LRU({ max: 1e3 }); var protocolToRepresentationMap = { "git+ssh:": "sshurl", "git+https:": "https", "ssh:": "sshurl", "git:": "git" }; function protocolToRepresentation(protocol) { return protocolToRepresentationMap[protocol] || protocol.slice(0, -1); } var authProtocols = { "git:": true, "https:": true, "git+https:": true, "http:": true, "git+http:": true }; var knownProtocols = Object.keys(gitHosts.byShortcut).concat(["http:", "https:", "git:", "git+ssh:", "git+https:", "ssh:"]); module2.exports.fromUrl = function(giturl, opts) { if (typeof giturl !== "string") { return; } const key = giturl + JSON.stringify(opts || {}); if (!cache.has(key)) { cache.set(key, fromUrl(giturl, opts)); } return cache.get(key); }; function fromUrl(giturl, opts) { if (!giturl) { return; } const url2 = isGitHubShorthand(giturl) ? "github:" + giturl : correctProtocol(giturl); const parsed = parseGitUrl(url2); if (!parsed) { return parsed; } const gitHostShortcut = gitHosts.byShortcut[parsed.protocol]; const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname]; const gitHostName = gitHostShortcut || gitHostDomain; if (!gitHostName) { return; } const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain]; let auth = null; if (authProtocols[parsed.protocol] && (parsed.username || parsed.password)) { auth = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`; } let committish = null; let user = null; let project = null; let defaultRepresentation = null; try { if (gitHostShortcut) { let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname; const firstAt = pathname.indexOf("@"); if (firstAt > -1) { pathname = pathname.slice(firstAt + 1); } const lastSlash = pathname.lastIndexOf("/"); if (lastSlash > -1) { user = decodeURIComponent(pathname.slice(0, lastSlash)); if (!user) { user = null; } project = decodeURIComponent(pathname.slice(lastSlash + 1)); } else { project = decodeURIComponent(pathname); } if (project.endsWith(".git")) { project = project.slice(0, -4); } if (parsed.hash) { committish = decodeURIComponent(parsed.hash.slice(1)); } defaultRepresentation = "shortcut"; } else { if (!gitHostInfo.protocols.includes(parsed.protocol)) { return; } const segments = gitHostInfo.extract(parsed); if (!segments) { return; } user = segments.user && decodeURIComponent(segments.user); project = decodeURIComponent(segments.project); committish = decodeURIComponent(segments.committish); defaultRepresentation = protocolToRepresentation(parsed.protocol); } } catch (err) { if (err instanceof URIError) { return; } else { throw err; } } return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation, opts); } var correctProtocol = (arg) => { const firstColon = arg.indexOf(":"); const proto = arg.slice(0, firstColon + 1); if (knownProtocols.includes(proto)) { return arg; } const firstAt = arg.indexOf("@"); if (firstAt > -1) { if (firstAt > firstColon) { return `git+ssh://${arg}`; } else { return arg; } } const doubleSlash = arg.indexOf("//"); if (doubleSlash === firstColon + 1) { return arg; } return arg.slice(0, firstColon + 1) + "//" + arg.slice(firstColon + 1); }; var isGitHubShorthand = (arg) => { const firstHash = arg.indexOf("#"); const firstSlash = arg.indexOf("/"); const secondSlash = arg.indexOf("/", firstSlash + 1); const firstColon = arg.indexOf(":"); const firstSpace = /\s/.exec(arg); const firstAt = arg.indexOf("@"); const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash; const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash; const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash; const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash; const hasSlash = firstSlash > 0; const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/"); const doesNotStartWithDot = !arg.startsWith("."); return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash; }; var correctUrl = (giturl) => { const firstAt = giturl.indexOf("@"); const lastHash = giturl.lastIndexOf("#"); let firstColon = giturl.indexOf(":"); let lastColon = giturl.lastIndexOf(":", lastHash > -1 ? lastHash : Infinity); let corrected; if (lastColon > firstAt) { corrected = giturl.slice(0, lastColon) + "/" + giturl.slice(lastColon + 1); firstColon = corrected.indexOf(":"); lastColon = corrected.lastIndexOf(":"); } if (firstColon === -1 && giturl.indexOf("//") === -1) { corrected = `git+ssh://${corrected}`; } return corrected; }; var parseGitUrl = (giturl) => { let result2; try { result2 = new url.URL(giturl); } catch (err) { } if (result2) { return result2; } const correctedUrl = correctUrl(giturl); try { result2 = new url.URL(correctedUrl); } catch (err) { } return result2; }; } }); // ../node_modules/.pnpm/@pnpm+npm-package-arg@2.0.0/node_modules/@pnpm/npm-package-arg/npa.js var require_npa = __commonJS({ "../node_modules/.pnpm/@pnpm+npm-package-arg@2.0.0/node_modules/@pnpm/npm-package-arg/npa.js"(exports2, module2) { "use strict"; module2.exports = npa; module2.exports.resolve = resolve; module2.exports.Result = Result; var HostedGit; var semver; var path2; var validatePackageName; var os; var isWindows = process.platform === "win32" || global.FAKE_WINDOWS; var hasSlashes = isWindows ? /\\|[/]/ : /[/]/; var isURL = /^(?:git[+])?[a-z]+:/i; var isFilename = /[.](?:tgz|tar.gz|tar)$/i; function npa(arg, where) { let name; let spec; if (typeof arg === "object") { if (arg instanceof Result && (!where || where === arg.where)) { return arg; } else if (arg.name && arg.rawSpec) { return npa.resolve(arg.name, arg.rawSpec, where || arg.where); } else { return npa(arg.raw, where || arg.where); } } const nameEndsAt = arg[0] === "@" ? arg.slice(1).indexOf("@") + 1 : arg.indexOf("@"); const namePart = nameEndsAt > 0 ? arg.slice(0, nameEndsAt) : arg; if (isURL.test(arg)) { spec = arg; } else if (namePart[0] !== "@" && (hasSlashes.test(namePart) || isFilename.test(namePart))) { spec = arg; } else if (nameEndsAt > 0) { name = namePart; spec = arg.slice(nameEndsAt + 1); } else { if (!validatePackageName) validatePackageName = require_lib106(); const valid = validatePackageName(arg); if (valid.validForOldPackages) { name = arg; } else { spec = arg; } } return resolve(name, spec, where, arg); } var isFilespec = isWindows ? /^(?:[.]|~[/]|[/\\]|[a-zA-Z]:)/ : /^(?:[.]|~[/]|[/]|[a-zA-Z]:)/; function resolve(name, spec, where, arg) { const res = new Result({ raw: arg, name, rawSpec: spec, fromArgument: arg != null }); if (name) res.setName(name); if (spec && (isFilespec.test(spec) || /^file:/i.test(spec))) { return fromFile(res, where); } if (spec && spec.startsWith("npm:")) { return Object.assign(npa(spec.substr(4), where), { alias: name, raw: res.raw, rawSpec: res.rawSpec }); } if (!HostedGit) HostedGit = require_hosted_git_info2(); const hosted = HostedGit.fromUrl(spec, { noGitPlus: true, noCommittish: true }); if (hosted) { return fromHostedGit(res, hosted); } else if (spec && isURL.test(spec)) { return fromURL(res); } else if (spec && (hasSlashes.test(spec) || isFilename.test(spec))) { return fromFile(res, where); } else { return fromRegistry(res); } } function invalidPackageName(name, valid) { const err = new Error(`Invalid package name "${name}": ${valid.errors.join("; ")}`); err.code = "EINVALIDPACKAGENAME"; return err; } function invalidTagName(name) { const err = new Error(`Invalid tag name "${name}": Tags may not have any characters that encodeURIComponent encodes.`); err.code = "EINVALIDTAGNAME"; return err; } function Result(opts) { this.type = opts.type; this.registry = opts.registry; this.where = opts.where; if (opts.raw == null) { this.raw = opts.name ? opts.name + "@" + opts.rawSpec : opts.rawSpec; } else { this.raw = opts.raw; } this.name = void 0; this.escapedName = void 0; this.scope = void 0; this.rawSpec = opts.rawSpec == null ? "" : opts.rawSpec; this.saveSpec = opts.saveSpec; this.fetchSpec = opts.fetchSpec; if (opts.name) this.setName(opts.name); this.gitRange = opts.gitRange; this.gitCommittish = opts.gitCommittish; this.hosted = opts.hosted; } Result.prototype = {}; Result.prototype.setName = function(name) { if (!validatePackageName) validatePackageName = require_lib106(); const valid = validatePackageName(name); if (!valid.validForOldPackages) { throw invalidPackageName(name, valid); } this.name = name; this.scope = name[0] === "@" ? name.slice(0, name.indexOf("/")) : void 0; this.escapedName = name.replace("/", "%2f"); return this; }; Result.prototype.toString = function() { const full = []; if (this.name != null && this.name !== "") full.push(this.name); const spec = this.saveSpec || this.fetchSpec || this.rawSpec; if (spec != null && spec !== "") full.push(spec); return full.length ? full.join("@") : this.raw; }; Result.prototype.toJSON = function() { const result2 = Object.assign({}, this); delete result2.hosted; return result2; }; function setGitAttrs(res, committish) { if (!committish) { res.gitCommittish = null; return; } for (const part of committish.split("::")) { if (!part.includes(":")) { if (res.gitRange) { throw new Error("cannot override existing semver range with a committish"); } if (res.gitCommittish) { throw new Error("cannot override existing committish with a second committish"); } res.gitCommittish = part; continue; } const [name, value] = part.split(":"); if (name === "semver") { if (res.gitCommittish) { throw new Error("cannot override existing committish with a semver range"); } if (res.gitRange) { throw new Error("cannot override existing semver range with a second semver range"); } res.gitRange = decodeURIComponent(value); continue; } if (name === "path") { if (res.gitSubdir) { throw new Error("cannot override existing path with a second path"); } res.gitSubdir = `/${value}`; continue; } } } var isAbsolutePath = /^[/]|^[A-Za-z]:/; function resolvePath(where, spec) { if (isAbsolutePath.test(spec)) return spec; if (!path2) path2 = require("path"); return path2.resolve(where, spec); } function isAbsolute(dir) { if (dir[0] === "/") return true; if (/^[A-Za-z]:/.test(dir)) return true; return false; } function fromFile(res, where) { if (!where) where = process.cwd(); res.type = isFilename.test(res.rawSpec) ? "file" : "directory"; res.where = where; const spec = res.rawSpec.replace(/\\/g, "/").replace(/^file:[/]*([A-Za-z]:)/, "$1").replace(/^file:(?:[/]*([~./]))?/, "$1"); if (/^~[/]/.test(spec)) { if (!os) os = require("os"); res.fetchSpec = resolvePath(os.homedir(), spec.slice(2)); res.saveSpec = "file:" + spec; } else { res.fetchSpec = resolvePath(where, spec); if (isAbsolute(spec)) { res.saveSpec = "file:" + spec; } else { if (!path2) path2 = require("path"); res.saveSpec = "file:" + path2.relative(where, res.fetchSpec); } } return res; } function fromHostedGit(res, hosted) { res.type = "git"; res.hosted = hosted; res.saveSpec = hosted.toString({ noGitPlus: false, noCommittish: false }); res.fetchSpec = hosted.getDefaultRepresentation() === "shortcut" ? null : hosted.toString(); setGitAttrs(res, hosted.committish); return res; } function unsupportedURLType(protocol, spec) { const err = new Error(`Unsupported URL Type "${protocol}": ${spec}`); err.code = "EUNSUPPORTEDPROTOCOL"; return err; } function fromURL(res) { let rawSpec = res.rawSpec; res.saveSpec = rawSpec; if (rawSpec.startsWith("git+ssh:")) { const matched = rawSpec.match(/^git\+ssh:\/\/([^:#]+:[^#]+(?:\.git)?)(?:#(.*))?$/i); if (matched && !matched[1].match(/:[0-9]+\/?.*$/i)) { res.type = "git"; setGitAttrs(res, matched[2]); res.fetchSpec = matched[1]; return res; } } else if (rawSpec.startsWith("git+file://")) { rawSpec = rawSpec.replace(/\\/g, "/"); } const parsedUrl = new URL(rawSpec); switch (parsedUrl.protocol) { case "git:": case "git+http:": case "git+https:": case "git+rsync:": case "git+ftp:": case "git+file:": case "git+ssh:": res.type = "git"; setGitAttrs(res, parsedUrl.hash.slice(1)); if (parsedUrl.protocol === "git+file:" && /^git\+file:\/\/[a-z]:/i.test(rawSpec)) { res.fetchSpec = `git+file://${parsedUrl.host.toLowerCase()}:${parsedUrl.pathname}`; } else { parsedUrl.hash = ""; res.fetchSpec = parsedUrl.toString(); } if (res.fetchSpec.startsWith("git+")) { res.fetchSpec = res.fetchSpec.slice(4); } break; case "http:": case "https:": res.type = "remote"; res.fetchSpec = res.saveSpec; break; default: throw unsupportedURLType(parsedUrl.protocol, rawSpec); } return res; } function fromRegistry(res) { res.registry = true; const spec = res.rawSpec === "" ? "latest" : res.rawSpec; res.saveSpec = null; res.fetchSpec = spec; if (!semver) semver = require_semver2(); const version2 = semver.valid(spec, true); const range = semver.validRange(spec, true); if (version2) { res.type = "version"; } else if (range) { res.type = "range"; } else { if (encodeURIComponent(spec) !== spec) { throw invalidTagName(spec); } res.type = "tag"; } return res; } } }); // ../workspace/pkgs-graph/lib/index.js var require_lib107 = __commonJS({ "../workspace/pkgs-graph/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPkgGraph = createPkgGraph; var path_1 = __importDefault2(require("path")); var npm_package_arg_1 = __importDefault2(require_npa()); var resolve_workspace_range_1 = require_lib43(); var npm_resolver_1 = require_lib49(); var map_1 = __importDefault2(require_map3()); function createPkgGraph(pkgs, opts) { const pkgMap = createPkgMap(pkgs); const pkgMapValues = Object.values(pkgMap); let pkgMapByManifestName; let pkgMapByDir; const unmatched = []; const graph = (0, map_1.default)((pkg) => ({ dependencies: createNode(pkg), package: pkg }), pkgMap); return { graph, unmatched }; function createNode(pkg) { const dependencies = { ...pkg.manifest.peerDependencies, ...!opts?.ignoreDevDeps && pkg.manifest.devDependencies, ...pkg.manifest.optionalDependencies, ...pkg.manifest.dependencies }; return Object.entries(dependencies).map(([depName, rawSpec]) => { let spec; const isWorkspaceSpec = rawSpec.startsWith("workspace:"); try { if (isWorkspaceSpec) { const { fetchSpec, name } = (0, npm_resolver_1.parseBareSpecifier)((0, npm_resolver_1.workspacePrefToNpm)(rawSpec), depName, "latest", ""); rawSpec = fetchSpec; depName = name; } spec = npm_package_arg_1.default.resolve(depName, rawSpec, pkg.rootDir); } catch { return ""; } if (spec.type === "directory") { pkgMapByDir ??= getPkgMapByDir(pkgMapValues); const resolvedPath = path_1.default.resolve(pkg.rootDir, spec.fetchSpec); const found = pkgMapByDir[resolvedPath]; if (found) { return found.rootDir; } const matchedPkg2 = pkgMapValues.find((pkg2) => path_1.default.relative(pkg2.rootDir, spec.fetchSpec) === ""); if (matchedPkg2 == null) { return ""; } pkgMapByDir[resolvedPath] = matchedPkg2; return matchedPkg2.rootDir; } if (spec.type !== "version" && spec.type !== "range") return ""; pkgMapByManifestName ??= getPkgMapByManifestName(pkgMapValues); const pkgs2 = pkgMapByManifestName[depName]; if (!pkgs2 || pkgs2.length === 0) return ""; const versions = pkgs2.filter(({ manifest }) => manifest.version).map((pkg2) => pkg2.manifest.version); const strictWorkspaceMatching = opts?.linkWorkspacePackages === false && !isWorkspaceSpec; if (strictWorkspaceMatching) { unmatched.push({ pkgName: depName, range: rawSpec }); return ""; } if (isWorkspaceSpec && versions.length === 0) { const matchedPkg2 = pkgs2.find((pkg2) => pkg2.manifest.name === depName); return matchedPkg2.rootDir; } if (versions.includes(rawSpec)) { const matchedPkg2 = pkgs2.find((pkg2) => pkg2.manifest.name === depName && pkg2.manifest.version === rawSpec); return matchedPkg2.rootDir; } const matched = (0, resolve_workspace_range_1.resolveWorkspaceRange)(rawSpec, versions); if (!matched) { unmatched.push({ pkgName: depName, range: rawSpec }); return ""; } const matchedPkg = pkgs2.find((pkg2) => pkg2.manifest.name === depName && pkg2.manifest.version === matched); return matchedPkg.rootDir; }).filter(Boolean); } } function createPkgMap(pkgs) { const pkgMap = {}; for (const pkg of pkgs) { pkgMap[pkg.rootDir] = pkg; } return pkgMap; } function getPkgMapByManifestName(pkgMapValues) { const pkgMapByManifestName = {}; for (const pkg of pkgMapValues) { if (pkg.manifest.name) { (pkgMapByManifestName[pkg.manifest.name] ??= []).push(pkg); } } return pkgMapByManifestName; } function getPkgMapByDir(pkgMapValues) { const pkgMapByDir = {}; for (const pkg of pkgMapValues) { pkgMapByDir[path_1.default.resolve(pkg.rootDir)] = pkg; } return pkgMapByDir; } } }); // ../workspace/filter-workspace-packages/lib/getChangedPackages.js var require_getChangedPackages = __commonJS({ "../workspace/filter-workspace-packages/lib/getChangedPackages.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getChangedPackages = getChangedPackages; var assert_1 = __importDefault2(require("assert")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var error_1 = require_lib6(); var micromatch = __importStar3(require_micromatch()); var execa_1 = __importDefault2(require_lib17()); var find_up_1 = __importDefault2(require_find_up2()); async function getChangedPackages(packageDirs, commit, opts) { const repoRoot = path_1.default.resolve(await (0, find_up_1.default)(".git", { cwd: opts.workspaceDir, type: "directory" }) ?? opts.workspaceDir, ".."); const changedDirs = (await getChangedDirsSinceCommit(commit, opts.workspaceDir, opts.testPattern ?? [], opts.changedFilesIgnorePattern ?? [])).map((changedDir) => ({ ...changedDir, dir: path_1.default.join(repoRoot, changedDir.dir) })); const pkgChangeTypes = /* @__PURE__ */ new Map(); for (const pkgDir of packageDirs) { pkgChangeTypes.set(pkgDir, void 0); } for (const changedDir of changedDirs) { let currentDir = changedDir.dir; while (!pkgChangeTypes.has(currentDir)) { const nextDir = path_1.default.dirname(currentDir); if (nextDir === currentDir) break; currentDir = nextDir; } if (pkgChangeTypes.get(currentDir) === "source") continue; pkgChangeTypes.set(currentDir, changedDir.changeType); } const changedPkgs = []; const ignoreDependentForPkgs = []; for (const [changedDir, changeType] of pkgChangeTypes.entries()) { switch (changeType) { case "source": changedPkgs.push(changedDir); break; case "test": ignoreDependentForPkgs.push(changedDir); break; } } return [changedPkgs, ignoreDependentForPkgs]; } async function getChangedDirsSinceCommit(commit, workingDir, testPattern, changedFilesIgnorePattern) { let diff; try { diff = (await (0, execa_1.default)("git", [ "diff", "--name-only", commit, "--", workingDir ], { cwd: workingDir })).stdout; } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); throw new error_1.PnpmError("FILTER_CHANGED", `Filtering by changed packages failed. ${"stderr" in err ? err.stderr : ""}`); } const changedDirs = /* @__PURE__ */ new Map(); if (!diff) { return []; } const allChangedFiles = diff.split("\n").map((line) => line.replace(/^"/, "").replace(/"$/, "")); const patterns = changedFilesIgnorePattern.filter((pattern) => pattern.length); const changedFiles = patterns.length > 0 ? micromatch.not(allChangedFiles, patterns, { dot: true }) : allChangedFiles; for (const changedFile of changedFiles) { const dir = path_1.default.dirname(changedFile); if (changedDirs.get(dir) === "source") continue; const changeType = testPattern.some((pattern) => micromatch.isMatch(changedFile, pattern)) ? "test" : "source"; changedDirs.set(dir, changeType); } return Array.from(changedDirs.entries()).map(([dir, changeType]) => ({ dir, changeType })); } } }); // ../workspace/filter-workspace-packages/lib/parsePackageSelector.js var require_parsePackageSelector = __commonJS({ "../workspace/filter-workspace-packages/lib/parsePackageSelector.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parsePackageSelector = parsePackageSelector; var path_1 = __importDefault2(require("path")); function parsePackageSelector(rawSelector, prefix) { let exclude = false; if (rawSelector[0] === "!") { exclude = true; rawSelector = rawSelector.substring(1); } let excludeSelf = false; const includeDependencies = rawSelector.endsWith("..."); if (includeDependencies) { rawSelector = rawSelector.slice(0, -3); if (rawSelector.endsWith("^")) { excludeSelf = true; rawSelector = rawSelector.slice(0, -1); } } const includeDependents = rawSelector.startsWith("..."); if (includeDependents) { rawSelector = rawSelector.substring(3); if (rawSelector[0] === "^") { excludeSelf = true; rawSelector = rawSelector.slice(1); } } const matches = rawSelector.match(/^([^.][^{}[\]]*)?(\{[^}]+\})?(\[[^\]]+\])?$/); if (matches === null) { if (isSelectorByLocation(rawSelector)) { return { exclude, excludeSelf: false, parentDir: path_1.default.join(prefix, rawSelector) }; } return { excludeSelf: false, namePattern: rawSelector }; } return { diff: matches[3]?.slice(1, -1), exclude, excludeSelf, includeDependencies, includeDependents, namePattern: matches[1], parentDir: matches[2] && path_1.default.join(prefix, matches[2].slice(1, -1)) }; } function isSelectorByLocation(rawSelector) { if (rawSelector[0] !== ".") return false; if (rawSelector.length === 1 || rawSelector[1] === "/" || rawSelector[1] === "\\") return true; if (rawSelector[1] !== ".") return false; return rawSelector.length === 2 || rawSelector[2] === "/" || rawSelector[2] === "\\"; } } }); // ../workspace/filter-workspace-packages/lib/index.js var require_lib108 = __commonJS({ "../workspace/filter-workspace-packages/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parsePackageSelector = void 0; exports2.filterPackagesFromDir = filterPackagesFromDir; exports2.filterPackages = filterPackages; exports2.filterPkgsBySelectorObjects = filterPkgsBySelectorObjects; exports2.filterWorkspacePackages = filterWorkspacePackages; var matcher_1 = require_lib19(); var workspace_find_packages_1 = require_lib105(); var workspace_pkgs_graph_1 = require_lib107(); var is_subdir_1 = __importDefault2(require_is_subdir()); var difference_1 = __importDefault2(require_difference()); var partition_1 = __importDefault2(require_partition4()); var pick_1 = __importDefault2(require_pick()); var micromatch = __importStar3(require_micromatch()); var getChangedPackages_js_1 = require_getChangedPackages(); var parsePackageSelector_js_1 = require_parsePackageSelector(); Object.defineProperty(exports2, "parsePackageSelector", { enumerable: true, get: function() { return parsePackageSelector_js_1.parsePackageSelector; } }); async function filterPackagesFromDir(workspaceDir, filter, opts) { const allProjects = await (0, workspace_find_packages_1.findWorkspacePackages)(workspaceDir, { engineStrict: opts?.engineStrict, patterns: opts.patterns, sharedWorkspaceLockfile: opts.sharedWorkspaceLockfile, nodeVersion: opts.nodeVersion, supportedArchitectures: opts.supportedArchitectures }); return { allProjects, ...await filterPackages(allProjects, filter, opts) }; } async function filterPackages(pkgs, filter, opts) { const packageSelectors = filter.map(({ filter: f, followProdDepsOnly }) => ({ ...(0, parsePackageSelector_js_1.parsePackageSelector)(f, opts.prefix), followProdDepsOnly })); return filterPkgsBySelectorObjects(pkgs, packageSelectors, opts); } async function filterPkgsBySelectorObjects(pkgs, packageSelectors, opts) { const [prodPackageSelectors, allPackageSelectors] = (0, partition_1.default)(({ followProdDepsOnly }) => !!followProdDepsOnly, packageSelectors); if (allPackageSelectors.length > 0 || prodPackageSelectors.length > 0) { let filteredGraph; const { graph } = (0, workspace_pkgs_graph_1.createPkgGraph)(pkgs, { linkWorkspacePackages: opts.linkWorkspacePackages }); if (allPackageSelectors.length > 0) { filteredGraph = await filterWorkspacePackages(graph, allPackageSelectors, { workspaceDir: opts.workspaceDir, testPattern: opts.testPattern, changedFilesIgnorePattern: opts.changedFilesIgnorePattern, useGlobDirFiltering: opts.useGlobDirFiltering }); } let prodFilteredGraph; if (prodPackageSelectors.length > 0) { const { graph: graph2 } = (0, workspace_pkgs_graph_1.createPkgGraph)(pkgs, { ignoreDevDeps: true, linkWorkspacePackages: opts.linkWorkspacePackages }); prodFilteredGraph = await filterWorkspacePackages(graph2, prodPackageSelectors, { workspaceDir: opts.workspaceDir, testPattern: opts.testPattern, changedFilesIgnorePattern: opts.changedFilesIgnorePattern, useGlobDirFiltering: opts.useGlobDirFiltering }); } return { allProjectsGraph: graph, selectedProjectsGraph: { ...prodFilteredGraph?.selectedProjectsGraph, ...filteredGraph?.selectedProjectsGraph }, unmatchedFilters: [ ...prodFilteredGraph !== void 0 ? prodFilteredGraph.unmatchedFilters : [], ...filteredGraph !== void 0 ? filteredGraph.unmatchedFilters : [] ] }; } else { const { graph } = (0, workspace_pkgs_graph_1.createPkgGraph)(pkgs, { linkWorkspacePackages: opts.linkWorkspacePackages }); return { allProjectsGraph: graph, selectedProjectsGraph: graph, unmatchedFilters: [] }; } } async function filterWorkspacePackages(pkgGraph, packageSelectors, opts) { const [excludeSelectors, includeSelectors] = (0, partition_1.default)((selector) => selector.exclude === true, packageSelectors); const fg = _filterGraph.bind(null, pkgGraph, opts); const include = includeSelectors.length === 0 ? { selected: Object.keys(pkgGraph), unmatchedFilters: [] } : await fg(includeSelectors); const exclude = await fg(excludeSelectors); return { selectedProjectsGraph: (0, pick_1.default)((0, difference_1.default)(include.selected, exclude.selected), pkgGraph), unmatchedFilters: [...include.unmatchedFilters, ...exclude.unmatchedFilters] }; } async function _filterGraph(pkgGraph, opts, packageSelectors) { const cherryPickedPackages = []; const walkedDependencies = /* @__PURE__ */ new Set(); const walkedDependents = /* @__PURE__ */ new Set(); const walkedDependentsDependencies = /* @__PURE__ */ new Set(); const graph = pkgGraphToGraph(pkgGraph); const unmatchedFilters = []; let reversedGraph; const matchPackagesByPath = opts.useGlobDirFiltering === true ? matchPackagesByGlob : matchPackagesByExactPath; for (const selector of packageSelectors) { let entryPackages = null; if (selector.diff) { let ignoreDependentForPkgs = []; [entryPackages, ignoreDependentForPkgs] = await (0, getChangedPackages_js_1.getChangedPackages)(Object.keys(pkgGraph), selector.diff, { changedFilesIgnorePattern: opts.changedFilesIgnorePattern, testPattern: opts.testPattern, workspaceDir: selector.parentDir ?? opts.workspaceDir }); selectEntries({ ...selector, includeDependents: false }, ignoreDependentForPkgs); } else if (selector.parentDir) { entryPackages = matchPackagesByPath(pkgGraph, selector.parentDir); } if (selector.namePattern) { if (entryPackages == null) { entryPackages = matchPackages(pkgGraph, selector.namePattern); } else { entryPackages = matchPackages((0, pick_1.default)(entryPackages, pkgGraph), selector.namePattern); } } if (entryPackages == null) { throw new Error(`Unsupported package selector: ${JSON.stringify(selector)}`); } if (entryPackages.length === 0) { if (selector.namePattern) { unmatchedFilters.push(selector.namePattern); } if (selector.parentDir) { unmatchedFilters.push(selector.parentDir); } } selectEntries(selector, entryPackages); } const walked = /* @__PURE__ */ new Set([...walkedDependencies, ...walkedDependents, ...walkedDependentsDependencies]); cherryPickedPackages.forEach((cherryPickedPackage) => walked.add(cherryPickedPackage)); return { selected: Array.from(walked), unmatchedFilters }; function selectEntries(selector, entryPackages) { if (selector.includeDependencies) { pickSubgraph(graph, entryPackages, walkedDependencies, { includeRoot: !selector.excludeSelf }); } if (selector.includeDependents) { if (reversedGraph == null) { reversedGraph = reverseGraph(graph); } pickSubgraph(reversedGraph, entryPackages, walkedDependents, { includeRoot: !selector.excludeSelf }); } if (selector.includeDependencies && selector.includeDependents) { pickSubgraph(graph, Array.from(walkedDependents), walkedDependentsDependencies, { includeRoot: false }); } if (!selector.includeDependencies && !selector.includeDependents) { cherryPickedPackages.push(...entryPackages); } } } function pkgGraphToGraph(pkgGraph) { const graph = {}; for (const nodeId of Object.keys(pkgGraph)) { graph[nodeId] = pkgGraph[nodeId].dependencies; } return graph; } function reverseGraph(graph) { const reversedGraph = {}; for (const dependentNodeId of Object.keys(graph)) { for (const dependencyNodeId of graph[dependentNodeId]) { if (!reversedGraph[dependencyNodeId]) { reversedGraph[dependencyNodeId] = [dependentNodeId]; } else { reversedGraph[dependencyNodeId].push(dependentNodeId); } } } return reversedGraph; } function matchPackages(graph, pattern) { const match = (0, matcher_1.createMatcher)(pattern); const matches = Object.keys(graph).filter((id) => graph[id].package.manifest.name && match(graph[id].package.manifest.name)); if (matches.length === 0 && !(pattern[0] === "@") && !pattern.includes("/")) { const scopedMatches = matchPackages(graph, `@*/${pattern}`); return scopedMatches.length !== 1 ? [] : scopedMatches; } return matches; } function matchPackagesByExactPath(graph, pathStartsWith) { return Object.keys(graph).filter((parentDir) => (0, is_subdir_1.default)(pathStartsWith, parentDir)); } function matchPackagesByGlob(graph, pathStartsWith) { const format = (str) => str.replace(/\/$/, ""); const formattedFilter = pathStartsWith.replace(/\\/g, "/").replace(/\/$/, ""); return Object.keys(graph).filter((parentDir) => micromatch.isMatch(parentDir, formattedFilter, { format })); } function pickSubgraph(graph, nextNodeIds, walked, opts) { for (const nextNodeId of nextNodeIds) { if (!walked.has(nextNodeId)) { if (opts.includeRoot) { walked.add(nextNodeId); } if (graph[nextNodeId]) pickSubgraph(graph, graph[nextNodeId], walked, { includeRoot: true }); } } } } }); // ../node_modules/.pnpm/slice-ansi@4.0.0/node_modules/slice-ansi/index.js var require_slice_ansi2 = __commonJS({ "../node_modules/.pnpm/slice-ansi@4.0.0/node_modules/slice-ansi/index.js"(exports2, module2) { "use strict"; var isFullwidthCodePoint = require_is_fullwidth_code_point(); var astralRegex = require_astral_regex(); var ansiStyles = require_ansi_styles(); var ESCAPES = [ "\x1B", "\x9B" ]; var wrapAnsi = (code) => `${ESCAPES[0]}[${code}m`; var checkAnsi = (ansiCodes, isEscapes, endAnsiCode) => { let output = []; ansiCodes = [...ansiCodes]; for (let ansiCode of ansiCodes) { const ansiCodeOrigin = ansiCode; if (ansiCode.includes(";")) { ansiCode = ansiCode.split(";")[0][0] + "0"; } const item = ansiStyles.codes.get(Number.parseInt(ansiCode, 10)); if (item) { const indexEscape = ansiCodes.indexOf(item.toString()); if (indexEscape === -1) { output.push(wrapAnsi(isEscapes ? item : ansiCodeOrigin)); } else { ansiCodes.splice(indexEscape, 1); } } else if (isEscapes) { output.push(wrapAnsi(0)); break; } else { output.push(wrapAnsi(ansiCodeOrigin)); } } if (isEscapes) { output = output.filter((element, index) => output.indexOf(element) === index); if (endAnsiCode !== void 0) { const fistEscapeCode = wrapAnsi(ansiStyles.codes.get(Number.parseInt(endAnsiCode, 10))); output = output.reduce((current, next) => next === fistEscapeCode ? [next, ...current] : [...current, next], []); } } return output.join(""); }; module2.exports = (string, begin, end) => { const characters = [...string]; const ansiCodes = []; let stringEnd = typeof end === "number" ? end : characters.length; let isInsideEscape = false; let ansiCode; let visible = 0; let output = ""; for (const [index, character] of characters.entries()) { let leftEscape = false; if (ESCAPES.includes(character)) { const code = /\d[^m]*/.exec(string.slice(index, index + 18)); ansiCode = code && code.length > 0 ? code[0] : void 0; if (visible < stringEnd) { isInsideEscape = true; if (ansiCode !== void 0) { ansiCodes.push(ansiCode); } } } else if (isInsideEscape && character === "m") { isInsideEscape = false; leftEscape = true; } if (!isInsideEscape && !leftEscape) { visible++; } if (!astralRegex({ exact: true }).test(character) && isFullwidthCodePoint(character.codePointAt())) { visible++; if (typeof end !== "number") { stringEnd++; } } if (visible > begin && visible <= stringEnd) { output += character; } else if (visible === begin && !isInsideEscape && ansiCode !== void 0) { output = checkAnsi(ansiCodes); } else if (visible >= stringEnd) { output += checkAnsi(ansiCodes, true, ansiCode); break; } } return output; }; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/getBorderCharacters.js var require_getBorderCharacters = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/getBorderCharacters.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getBorderCharacters = void 0; var getBorderCharacters = (name) => { if (name === "honeywell") { return { topBody: "\u2550", topJoin: "\u2564", topLeft: "\u2554", topRight: "\u2557", bottomBody: "\u2550", bottomJoin: "\u2567", bottomLeft: "\u255A", bottomRight: "\u255D", bodyLeft: "\u2551", bodyRight: "\u2551", bodyJoin: "\u2502", headerJoin: "\u252C", joinBody: "\u2500", joinLeft: "\u255F", joinRight: "\u2562", joinJoin: "\u253C", joinMiddleDown: "\u252C", joinMiddleUp: "\u2534", joinMiddleLeft: "\u2524", joinMiddleRight: "\u251C" }; } if (name === "norc") { return { topBody: "\u2500", topJoin: "\u252C", topLeft: "\u250C", topRight: "\u2510", bottomBody: "\u2500", bottomJoin: "\u2534", bottomLeft: "\u2514", bottomRight: "\u2518", bodyLeft: "\u2502", bodyRight: "\u2502", bodyJoin: "\u2502", headerJoin: "\u252C", joinBody: "\u2500", joinLeft: "\u251C", joinRight: "\u2524", joinJoin: "\u253C", joinMiddleDown: "\u252C", joinMiddleUp: "\u2534", joinMiddleLeft: "\u2524", joinMiddleRight: "\u251C" }; } if (name === "ramac") { return { topBody: "-", topJoin: "+", topLeft: "+", topRight: "+", bottomBody: "-", bottomJoin: "+", bottomLeft: "+", bottomRight: "+", bodyLeft: "|", bodyRight: "|", bodyJoin: "|", headerJoin: "+", joinBody: "-", joinLeft: "|", joinRight: "|", joinJoin: "|", joinMiddleDown: "+", joinMiddleUp: "+", joinMiddleLeft: "+", joinMiddleRight: "+" }; } if (name === "void") { return { topBody: "", topJoin: "", topLeft: "", topRight: "", bottomBody: "", bottomJoin: "", bottomLeft: "", bottomRight: "", bodyLeft: "", bodyRight: "", bodyJoin: "", headerJoin: "", joinBody: "", joinLeft: "", joinRight: "", joinJoin: "", joinMiddleDown: "", joinMiddleUp: "", joinMiddleLeft: "", joinMiddleRight: "" }; } throw new Error('Unknown border template "' + name + '".'); }; exports2.getBorderCharacters = getBorderCharacters; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/utils.js var require_utils13 = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/utils.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isCellInRange = exports2.areCellEqual = exports2.calculateRangeCoordinate = exports2.flatten = exports2.extractTruncates = exports2.sumArray = exports2.sequence = exports2.distributeUnevenly = exports2.countSpaceSequence = exports2.groupBySizes = exports2.makeBorderConfig = exports2.splitAnsi = exports2.normalizeString = void 0; var slice_ansi_1 = __importDefault2(require_slice_ansi2()); var string_width_1 = __importDefault2(require_string_width()); var strip_ansi_1 = __importDefault2(require_strip_ansi()); var getBorderCharacters_1 = require_getBorderCharacters(); var normalizeString = (input) => { return input.replace(/\r\n/g, "\n"); }; exports2.normalizeString = normalizeString; var splitAnsi = (input) => { const lengths = (0, strip_ansi_1.default)(input).split("\n").map(string_width_1.default); const result2 = []; let startIndex = 0; lengths.forEach((length) => { result2.push(length === 0 ? "" : (0, slice_ansi_1.default)(input, startIndex, startIndex + length)); startIndex += length + 1; }); return result2; }; exports2.splitAnsi = splitAnsi; var makeBorderConfig = (border) => { return { ...(0, getBorderCharacters_1.getBorderCharacters)("honeywell"), ...border }; }; exports2.makeBorderConfig = makeBorderConfig; var groupBySizes = (array, sizes) => { let startIndex = 0; return sizes.map((size) => { const group = array.slice(startIndex, startIndex + size); startIndex += size; return group; }); }; exports2.groupBySizes = groupBySizes; var countSpaceSequence = (input) => { var _a, _b; return (_b = (_a = input.match(/\s+/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; }; exports2.countSpaceSequence = countSpaceSequence; var distributeUnevenly = (sum, length) => { const result2 = Array.from({ length }).fill(Math.floor(sum / length)); return result2.map((element, index) => { return element + (index < sum % length ? 1 : 0); }); }; exports2.distributeUnevenly = distributeUnevenly; var sequence = (start, end) => { return Array.from({ length: end - start + 1 }, (_, index) => { return index + start; }); }; exports2.sequence = sequence; var sumArray = (array) => { return array.reduce((accumulator, element) => { return accumulator + element; }, 0); }; exports2.sumArray = sumArray; var extractTruncates = (config) => { return config.columns.map(({ truncate }) => { return truncate; }); }; exports2.extractTruncates = extractTruncates; var flatten = (array) => { return [].concat(...array); }; exports2.flatten = flatten; var calculateRangeCoordinate = (spanningCellConfig) => { const { row, col, colSpan = 1, rowSpan = 1 } = spanningCellConfig; return { bottomRight: { col: col + colSpan - 1, row: row + rowSpan - 1 }, topLeft: { col, row } }; }; exports2.calculateRangeCoordinate = calculateRangeCoordinate; var areCellEqual = (cell1, cell2) => { return cell1.row === cell2.row && cell1.col === cell2.col; }; exports2.areCellEqual = areCellEqual; var isCellInRange = (cell, { topLeft, bottomRight }) => { return topLeft.row <= cell.row && cell.row <= bottomRight.row && topLeft.col <= cell.col && cell.col <= bottomRight.col; }; exports2.isCellInRange = isCellInRange; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignString.js var require_alignString = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignString.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.alignString = void 0; var string_width_1 = __importDefault2(require_string_width()); var utils_1 = require_utils13(); var alignLeft = (subject, width) => { return subject + " ".repeat(width); }; var alignRight = (subject, width) => { return " ".repeat(width) + subject; }; var alignCenter = (subject, width) => { return " ".repeat(Math.floor(width / 2)) + subject + " ".repeat(Math.ceil(width / 2)); }; var alignJustify = (subject, width) => { const spaceSequenceCount = (0, utils_1.countSpaceSequence)(subject); if (spaceSequenceCount === 0) { return alignLeft(subject, width); } const addingSpaces = (0, utils_1.distributeUnevenly)(width, spaceSequenceCount); if (Math.max(...addingSpaces) > 3) { return alignLeft(subject, width); } let spaceSequenceIndex = 0; return subject.replace(/\s+/g, (groupSpace) => { return groupSpace + " ".repeat(addingSpaces[spaceSequenceIndex++]); }); }; var alignString = (subject, containerWidth, alignment) => { const subjectWidth = (0, string_width_1.default)(subject); if (subjectWidth === containerWidth) { return subject; } if (subjectWidth > containerWidth) { throw new Error("Subject parameter value width cannot be greater than the container width."); } if (subjectWidth === 0) { return " ".repeat(containerWidth); } const availableWidth = containerWidth - subjectWidth; if (alignment === "left") { return alignLeft(subject, availableWidth); } if (alignment === "right") { return alignRight(subject, availableWidth); } if (alignment === "justify") { return alignJustify(subject, availableWidth); } return alignCenter(subject, availableWidth); }; exports2.alignString = alignString; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignTableData.js var require_alignTableData = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignTableData.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.alignTableData = void 0; var alignString_1 = require_alignString(); var alignTableData = (rows, config) => { return rows.map((row, rowIndex) => { return row.map((cell, cellIndex) => { var _a; const { width, alignment } = config.columns[cellIndex]; const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({ col: cellIndex, row: rowIndex }, { mapped: true }); if (containingRange) { return cell; } return (0, alignString_1.alignString)(cell, width, alignment); }); }); }; exports2.alignTableData = alignTableData; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapString.js var require_wrapString = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapString.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.wrapString = void 0; var slice_ansi_1 = __importDefault2(require_slice_ansi2()); var string_width_1 = __importDefault2(require_string_width()); var wrapString = (subject, size) => { let subjectSlice = subject; const chunks = []; do { chunks.push((0, slice_ansi_1.default)(subjectSlice, 0, size)); subjectSlice = (0, slice_ansi_1.default)(subjectSlice, size).trim(); } while ((0, string_width_1.default)(subjectSlice)); return chunks; }; exports2.wrapString = wrapString; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapWord.js var require_wrapWord = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapWord.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.wrapWord = void 0; var slice_ansi_1 = __importDefault2(require_slice_ansi2()); var strip_ansi_1 = __importDefault2(require_strip_ansi()); var calculateStringLengths = (input, size) => { let subject = (0, strip_ansi_1.default)(input); const chunks = []; const re = new RegExp("(^.{1," + String(Math.max(size, 1)) + "}(\\s+|$))|(^.{1," + String(Math.max(size - 1, 1)) + "}(\\\\|/|_|\\.|,|;|-))"); do { let chunk; const match = re.exec(subject); if (match) { chunk = match[0]; subject = subject.slice(chunk.length); const trimmedLength = chunk.trim().length; const offset = chunk.length - trimmedLength; chunks.push([trimmedLength, offset]); } else { chunk = subject.slice(0, size); subject = subject.slice(size); chunks.push([chunk.length, 0]); } } while (subject.length); return chunks; }; var wrapWord = (input, size) => { const result2 = []; let startIndex = 0; calculateStringLengths(input, size).forEach(([length, offset]) => { result2.push((0, slice_ansi_1.default)(input, startIndex, startIndex + length)); startIndex += length + offset; }); return result2; }; exports2.wrapWord = wrapWord; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapCell.js var require_wrapCell = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapCell.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.wrapCell = void 0; var utils_1 = require_utils13(); var wrapString_1 = require_wrapString(); var wrapWord_1 = require_wrapWord(); var wrapCell = (cellValue, cellWidth, useWrapWord) => { const cellLines = (0, utils_1.splitAnsi)(cellValue); for (let lineNr = 0; lineNr < cellLines.length; ) { let lineChunks; if (useWrapWord) { lineChunks = (0, wrapWord_1.wrapWord)(cellLines[lineNr], cellWidth); } else { lineChunks = (0, wrapString_1.wrapString)(cellLines[lineNr], cellWidth); } cellLines.splice(lineNr, 1, ...lineChunks); lineNr += lineChunks.length; } return cellLines; }; exports2.wrapCell = wrapCell; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateCellHeight.js var require_calculateCellHeight = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateCellHeight.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateCellHeight = void 0; var wrapCell_1 = require_wrapCell(); var calculateCellHeight = (value, columnWidth, useWrapWord = false) => { return (0, wrapCell_1.wrapCell)(value, columnWidth, useWrapWord).length; }; exports2.calculateCellHeight = calculateCellHeight; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateRowHeights.js var require_calculateRowHeights = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateRowHeights.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateRowHeights = void 0; var calculateCellHeight_1 = require_calculateCellHeight(); var utils_1 = require_utils13(); var calculateRowHeights = (rows, config) => { const rowHeights = []; for (const [rowIndex, row] of rows.entries()) { let rowHeight = 1; row.forEach((cell, cellIndex) => { var _a; const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({ col: cellIndex, row: rowIndex }); if (!containingRange) { const cellHeight = (0, calculateCellHeight_1.calculateCellHeight)(cell, config.columns[cellIndex].width, config.columns[cellIndex].wrapWord); rowHeight = Math.max(rowHeight, cellHeight); return; } const { topLeft, bottomRight, height } = containingRange; if (rowIndex === bottomRight.row) { const totalOccupiedSpanningCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row)); const totalHorizontalBorderHeight = bottomRight.row - topLeft.row; const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => { var _a2; return !((_a2 = config.drawHorizontalLine) === null || _a2 === void 0 ? void 0 : _a2.call(config, horizontalBorderIndex, rows.length)); }).length; const cellHeight = height - totalOccupiedSpanningCellHeight - totalHorizontalBorderHeight + totalHiddenHorizontalBorderHeight; rowHeight = Math.max(rowHeight, cellHeight); } }); rowHeights.push(rowHeight); } return rowHeights; }; exports2.calculateRowHeights = calculateRowHeights; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawContent.js var require_drawContent = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawContent.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.drawContent = void 0; var drawContent = (parameters) => { const { contents, separatorGetter, drawSeparator, spanningCellManager, rowIndex, elementType } = parameters; const contentSize = contents.length; const result2 = []; if (drawSeparator(0, contentSize)) { result2.push(separatorGetter(0, contentSize)); } contents.forEach((content, contentIndex) => { if (!elementType || elementType === "border" || elementType === "row") { result2.push(content); } if (elementType === "cell" && rowIndex === void 0) { result2.push(content); } if (elementType === "cell" && rowIndex !== void 0) { const containingRange = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.getContainingRange({ col: contentIndex, row: rowIndex }); if (!containingRange || contentIndex === containingRange.topLeft.col) { result2.push(content); } } if (contentIndex + 1 < contentSize && drawSeparator(contentIndex + 1, contentSize)) { const separator = separatorGetter(contentIndex + 1, contentSize); if (elementType === "cell" && rowIndex !== void 0) { const currentCell = { col: contentIndex + 1, row: rowIndex }; const containingRange = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.getContainingRange(currentCell); if (!containingRange || containingRange.topLeft.col === currentCell.col) { result2.push(separator); } } else { result2.push(separator); } } }); if (drawSeparator(contentSize, contentSize)) { result2.push(separatorGetter(contentSize, contentSize)); } return result2.join(""); }; exports2.drawContent = drawContent; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawBorder.js var require_drawBorder = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawBorder.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createTableBorderGetter = exports2.drawBorderBottom = exports2.drawBorderJoin = exports2.drawBorderTop = exports2.drawBorder = exports2.createSeparatorGetter = exports2.drawBorderSegments = void 0; var drawContent_1 = require_drawContent(); var drawBorderSegments = (columnWidths, parameters) => { const { separator, horizontalBorderIndex, spanningCellManager } = parameters; return columnWidths.map((columnWidth, columnIndex) => { const normalSegment = separator.body.repeat(columnWidth); if (horizontalBorderIndex === void 0) { return normalSegment; } const range = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.getContainingRange({ col: columnIndex, row: horizontalBorderIndex }); if (!range) { return normalSegment; } const { topLeft } = range; if (horizontalBorderIndex === topLeft.row) { return normalSegment; } if (columnIndex !== topLeft.col) { return ""; } return range.extractBorderContent(horizontalBorderIndex); }); }; exports2.drawBorderSegments = drawBorderSegments; var createSeparatorGetter = (dependencies) => { const { separator, spanningCellManager, horizontalBorderIndex, rowCount } = dependencies; return (verticalBorderIndex, columnCount) => { const inSameRange = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.inSameRange; if (horizontalBorderIndex !== void 0 && inSameRange) { const topCell = { col: verticalBorderIndex, row: horizontalBorderIndex - 1 }; const leftCell = { col: verticalBorderIndex - 1, row: horizontalBorderIndex }; const oppositeCell = { col: verticalBorderIndex - 1, row: horizontalBorderIndex - 1 }; const currentCell = { col: verticalBorderIndex, row: horizontalBorderIndex }; const pairs = [ [oppositeCell, topCell], [topCell, currentCell], [currentCell, leftCell], [leftCell, oppositeCell] ]; if (verticalBorderIndex === 0) { if (inSameRange(currentCell, topCell) && separator.bodyJoinOuter) { return separator.bodyJoinOuter; } return separator.left; } if (verticalBorderIndex === columnCount) { if (inSameRange(oppositeCell, leftCell) && separator.bodyJoinOuter) { return separator.bodyJoinOuter; } return separator.right; } if (horizontalBorderIndex === 0) { if (inSameRange(currentCell, leftCell)) { return separator.body; } return separator.join; } if (horizontalBorderIndex === rowCount) { if (inSameRange(topCell, oppositeCell)) { return separator.body; } return separator.join; } const sameRangeCount = pairs.map((pair) => { return inSameRange(...pair); }).filter(Boolean).length; if (sameRangeCount === 0) { return separator.join; } if (sameRangeCount === 4) { return ""; } if (sameRangeCount === 2) { if (inSameRange(...pairs[1]) && inSameRange(...pairs[3]) && separator.bodyJoinInner) { return separator.bodyJoinInner; } return separator.body; } if (sameRangeCount === 1) { if (!separator.joinRight || !separator.joinLeft || !separator.joinUp || !separator.joinDown) { throw new Error(`Can not get border separator for position [${horizontalBorderIndex}, ${verticalBorderIndex}]`); } if (inSameRange(...pairs[0])) { return separator.joinDown; } if (inSameRange(...pairs[1])) { return separator.joinLeft; } if (inSameRange(...pairs[2])) { return separator.joinUp; } return separator.joinRight; } throw new Error("Invalid case"); } if (verticalBorderIndex === 0) { return separator.left; } if (verticalBorderIndex === columnCount) { return separator.right; } return separator.join; }; }; exports2.createSeparatorGetter = createSeparatorGetter; var drawBorder = (columnWidths, parameters) => { const borderSegments = (0, exports2.drawBorderSegments)(columnWidths, parameters); const { drawVerticalLine, horizontalBorderIndex, spanningCellManager } = parameters; return (0, drawContent_1.drawContent)({ contents: borderSegments, drawSeparator: drawVerticalLine, elementType: "border", rowIndex: horizontalBorderIndex, separatorGetter: (0, exports2.createSeparatorGetter)(parameters), spanningCellManager }) + "\n"; }; exports2.drawBorder = drawBorder; var drawBorderTop = (columnWidths, parameters) => { const { border } = parameters; const result2 = (0, exports2.drawBorder)(columnWidths, { ...parameters, separator: { body: border.topBody, join: border.topJoin, left: border.topLeft, right: border.topRight } }); if (result2 === "\n") { return ""; } return result2; }; exports2.drawBorderTop = drawBorderTop; var drawBorderJoin = (columnWidths, parameters) => { const { border } = parameters; return (0, exports2.drawBorder)(columnWidths, { ...parameters, separator: { body: border.joinBody, bodyJoinInner: border.bodyJoin, bodyJoinOuter: border.bodyLeft, join: border.joinJoin, joinDown: border.joinMiddleDown, joinLeft: border.joinMiddleLeft, joinRight: border.joinMiddleRight, joinUp: border.joinMiddleUp, left: border.joinLeft, right: border.joinRight } }); }; exports2.drawBorderJoin = drawBorderJoin; var drawBorderBottom = (columnWidths, parameters) => { const { border } = parameters; return (0, exports2.drawBorder)(columnWidths, { ...parameters, separator: { body: border.bottomBody, join: border.bottomJoin, left: border.bottomLeft, right: border.bottomRight } }); }; exports2.drawBorderBottom = drawBorderBottom; var createTableBorderGetter = (columnWidths, parameters) => { return (index, size) => { const drawBorderParameters = { ...parameters, horizontalBorderIndex: index }; if (index === 0) { return (0, exports2.drawBorderTop)(columnWidths, drawBorderParameters); } else if (index === size) { return (0, exports2.drawBorderBottom)(columnWidths, drawBorderParameters); } return (0, exports2.drawBorderJoin)(columnWidths, drawBorderParameters); }; }; exports2.createTableBorderGetter = createTableBorderGetter; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawRow.js var require_drawRow = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawRow.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.drawRow = void 0; var drawContent_1 = require_drawContent(); var drawRow = (row, config) => { const { border, drawVerticalLine, rowIndex, spanningCellManager } = config; return (0, drawContent_1.drawContent)({ contents: row, drawSeparator: drawVerticalLine, elementType: "cell", rowIndex, separatorGetter: (index, columnCount) => { if (index === 0) { return border.bodyLeft; } if (index === columnCount) { return border.bodyRight; } return border.bodyJoin; }, spanningCellManager }) + "\n"; }; exports2.drawRow = drawRow; } }); // ../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js var require_equal = __commonJS({ "../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var equal = require_fast_deep_equal(); equal.code = 'require("ajv/dist/runtime/equal").default'; exports2.default = equal; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/generated/validators.js var require_validators = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/generated/validators.js"(exports2) { "use strict"; exports2["config.json"] = validate43; var schema13 = { "$id": "config.json", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "border": { "$ref": "shared.json#/definitions/borders" }, "header": { "type": "object", "properties": { "content": { "type": "string" }, "alignment": { "$ref": "shared.json#/definitions/alignment" }, "wrapWord": { "type": "boolean" }, "truncate": { "type": "integer" }, "paddingLeft": { "type": "integer" }, "paddingRight": { "type": "integer" } }, "required": ["content"], "additionalProperties": false }, "columns": { "$ref": "shared.json#/definitions/columns" }, "columnDefault": { "$ref": "shared.json#/definitions/column" }, "drawVerticalLine": { "typeof": "function" }, "drawHorizontalLine": { "typeof": "function" }, "singleLine": { "typeof": "boolean" }, "spanningCells": { "type": "array", "items": { "type": "object", "properties": { "col": { "type": "integer", "minimum": 0 }, "row": { "type": "integer", "minimum": 0 }, "colSpan": { "type": "integer", "minimum": 1 }, "rowSpan": { "type": "integer", "minimum": 1 }, "alignment": { "$ref": "shared.json#/definitions/alignment" }, "verticalAlignment": { "$ref": "shared.json#/definitions/verticalAlignment" }, "wrapWord": { "type": "boolean" }, "truncate": { "type": "integer" }, "paddingLeft": { "type": "integer" }, "paddingRight": { "type": "integer" } }, "required": ["row", "col"], "additionalProperties": false } } }, "additionalProperties": false }; var schema15 = { "type": "object", "properties": { "topBody": { "$ref": "#/definitions/border" }, "topJoin": { "$ref": "#/definitions/border" }, "topLeft": { "$ref": "#/definitions/border" }, "topRight": { "$ref": "#/definitions/border" }, "bottomBody": { "$ref": "#/definitions/border" }, "bottomJoin": { "$ref": "#/definitions/border" }, "bottomLeft": { "$ref": "#/definitions/border" }, "bottomRight": { "$ref": "#/definitions/border" }, "bodyLeft": { "$ref": "#/definitions/border" }, "bodyRight": { "$ref": "#/definitions/border" }, "bodyJoin": { "$ref": "#/definitions/border" }, "headerJoin": { "$ref": "#/definitions/border" }, "joinBody": { "$ref": "#/definitions/border" }, "joinLeft": { "$ref": "#/definitions/border" }, "joinRight": { "$ref": "#/definitions/border" }, "joinJoin": { "$ref": "#/definitions/border" }, "joinMiddleUp": { "$ref": "#/definitions/border" }, "joinMiddleDown": { "$ref": "#/definitions/border" }, "joinMiddleLeft": { "$ref": "#/definitions/border" }, "joinMiddleRight": { "$ref": "#/definitions/border" } }, "additionalProperties": false }; var func8 = Object.prototype.hasOwnProperty; function validate46(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } validate46.errors = vErrors; return errors === 0; } function validate45(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!func8.call(schema15.properties, key0)) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.topBody !== void 0) { if (!validate46(data.topBody, { instancePath: instancePath + "/topBody", parentData: data, parentDataProperty: "topBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topJoin !== void 0) { if (!validate46(data.topJoin, { instancePath: instancePath + "/topJoin", parentData: data, parentDataProperty: "topJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topLeft !== void 0) { if (!validate46(data.topLeft, { instancePath: instancePath + "/topLeft", parentData: data, parentDataProperty: "topLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topRight !== void 0) { if (!validate46(data.topRight, { instancePath: instancePath + "/topRight", parentData: data, parentDataProperty: "topRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomBody !== void 0) { if (!validate46(data.bottomBody, { instancePath: instancePath + "/bottomBody", parentData: data, parentDataProperty: "bottomBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomJoin !== void 0) { if (!validate46(data.bottomJoin, { instancePath: instancePath + "/bottomJoin", parentData: data, parentDataProperty: "bottomJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomLeft !== void 0) { if (!validate46(data.bottomLeft, { instancePath: instancePath + "/bottomLeft", parentData: data, parentDataProperty: "bottomLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomRight !== void 0) { if (!validate46(data.bottomRight, { instancePath: instancePath + "/bottomRight", parentData: data, parentDataProperty: "bottomRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyLeft !== void 0) { if (!validate46(data.bodyLeft, { instancePath: instancePath + "/bodyLeft", parentData: data, parentDataProperty: "bodyLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyRight !== void 0) { if (!validate46(data.bodyRight, { instancePath: instancePath + "/bodyRight", parentData: data, parentDataProperty: "bodyRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyJoin !== void 0) { if (!validate46(data.bodyJoin, { instancePath: instancePath + "/bodyJoin", parentData: data, parentDataProperty: "bodyJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.headerJoin !== void 0) { if (!validate46(data.headerJoin, { instancePath: instancePath + "/headerJoin", parentData: data, parentDataProperty: "headerJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinBody !== void 0) { if (!validate46(data.joinBody, { instancePath: instancePath + "/joinBody", parentData: data, parentDataProperty: "joinBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinLeft !== void 0) { if (!validate46(data.joinLeft, { instancePath: instancePath + "/joinLeft", parentData: data, parentDataProperty: "joinLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinRight !== void 0) { if (!validate46(data.joinRight, { instancePath: instancePath + "/joinRight", parentData: data, parentDataProperty: "joinRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinJoin !== void 0) { if (!validate46(data.joinJoin, { instancePath: instancePath + "/joinJoin", parentData: data, parentDataProperty: "joinJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleUp !== void 0) { if (!validate46(data.joinMiddleUp, { instancePath: instancePath + "/joinMiddleUp", parentData: data, parentDataProperty: "joinMiddleUp", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleDown !== void 0) { if (!validate46(data.joinMiddleDown, { instancePath: instancePath + "/joinMiddleDown", parentData: data, parentDataProperty: "joinMiddleDown", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleLeft !== void 0) { if (!validate46(data.joinMiddleLeft, { instancePath: instancePath + "/joinMiddleLeft", parentData: data, parentDataProperty: "joinMiddleLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleRight !== void 0) { if (!validate46(data.joinMiddleRight, { instancePath: instancePath + "/joinMiddleRight", parentData: data, parentDataProperty: "joinMiddleRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } } else { const err1 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate45.errors = vErrors; return errors === 0; } var schema17 = { "type": "string", "enum": ["left", "right", "center", "justify"] }; var func0 = require_equal().default; function validate68(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (!(data === "left" || data === "right" || data === "center" || data === "justify")) { const err1 = { instancePath, schemaPath: "#/enum", keyword: "enum", params: { allowedValues: schema17.enum }, message: "must be equal to one of the allowed values" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate68.errors = vErrors; return errors === 0; } var pattern0 = new RegExp("^[0-9]+$", "u"); function validate72(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (!(data === "left" || data === "right" || data === "center" || data === "justify")) { const err1 = { instancePath, schemaPath: "#/enum", keyword: "enum", params: { allowedValues: schema17.enum }, message: "must be equal to one of the allowed values" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate72.errors = vErrors; return errors === 0; } var schema21 = { "type": "string", "enum": ["top", "middle", "bottom"] }; function validate74(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (!(data === "top" || data === "middle" || data === "bottom")) { const err1 = { instancePath, schemaPath: "#/enum", keyword: "enum", params: { allowedValues: schema21.enum }, message: "must be equal to one of the allowed values" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate74.errors = vErrors; return errors === 0; } function validate71(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.alignment !== void 0) { if (!validate72(data.alignment, { instancePath: instancePath + "/alignment", parentData: data, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors); errors = vErrors.length; } } if (data.verticalAlignment !== void 0) { if (!validate74(data.verticalAlignment, { instancePath: instancePath + "/verticalAlignment", parentData: data, parentDataProperty: "verticalAlignment", rootData })) { vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors); errors = vErrors.length; } } if (data.width !== void 0) { let data2 = data.width; if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) { const err1 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } if (typeof data2 == "number" && isFinite(data2)) { if (data2 < 1 || isNaN(data2)) { const err2 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } } if (data.wrapWord !== void 0) { if (typeof data.wrapWord !== "boolean") { const err3 = { instancePath: instancePath + "/wrapWord", schemaPath: "#/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } } if (data.truncate !== void 0) { let data4 = data.truncate; if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) { const err4 = { instancePath: instancePath + "/truncate", schemaPath: "#/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } if (data.paddingLeft !== void 0) { let data5 = data.paddingLeft; if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) { const err5 = { instancePath: instancePath + "/paddingLeft", schemaPath: "#/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } if (data.paddingRight !== void 0) { let data6 = data.paddingRight; if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) { const err6 = { instancePath: instancePath + "/paddingRight", schemaPath: "#/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } } } else { const err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err7]; } else { vErrors.push(err7); } errors++; } validate71.errors = vErrors; return errors === 0; } function validate70(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; const _errs0 = errors; let valid0 = false; let passing0 = null; const _errs1 = errors; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!pattern0.test(key0)) { const err0 = { instancePath, schemaPath: "#/oneOf/0/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } for (const key1 in data) { if (pattern0.test(key1)) { if (!validate71(data[key1], { instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), parentData: data, parentDataProperty: key1, rootData })) { vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors); errors = vErrors.length; } } } } else { const err1 = { instancePath, schemaPath: "#/oneOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } var _valid0 = _errs1 === errors; if (_valid0) { valid0 = true; passing0 = 0; } const _errs5 = errors; if (Array.isArray(data)) { const len0 = data.length; for (let i0 = 0; i0 < len0; i0++) { if (!validate71(data[i0], { instancePath: instancePath + "/" + i0, parentData: data, parentDataProperty: i0, rootData })) { vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors); errors = vErrors.length; } } } else { const err2 = { instancePath, schemaPath: "#/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } var _valid0 = _errs5 === errors; if (_valid0 && valid0) { valid0 = false; passing0 = [passing0, 1]; } else { if (_valid0) { valid0 = true; passing0 = 1; } } if (!valid0) { const err3 = { instancePath, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } else { errors = _errs0; if (vErrors !== null) { if (_errs0) { vErrors.length = _errs0; } else { vErrors = null; } } } validate70.errors = vErrors; return errors === 0; } function validate79(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.alignment !== void 0) { if (!validate72(data.alignment, { instancePath: instancePath + "/alignment", parentData: data, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors); errors = vErrors.length; } } if (data.verticalAlignment !== void 0) { if (!validate74(data.verticalAlignment, { instancePath: instancePath + "/verticalAlignment", parentData: data, parentDataProperty: "verticalAlignment", rootData })) { vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors); errors = vErrors.length; } } if (data.width !== void 0) { let data2 = data.width; if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) { const err1 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } if (typeof data2 == "number" && isFinite(data2)) { if (data2 < 1 || isNaN(data2)) { const err2 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } } if (data.wrapWord !== void 0) { if (typeof data.wrapWord !== "boolean") { const err3 = { instancePath: instancePath + "/wrapWord", schemaPath: "#/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } } if (data.truncate !== void 0) { let data4 = data.truncate; if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) { const err4 = { instancePath: instancePath + "/truncate", schemaPath: "#/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } if (data.paddingLeft !== void 0) { let data5 = data.paddingLeft; if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) { const err5 = { instancePath: instancePath + "/paddingLeft", schemaPath: "#/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } if (data.paddingRight !== void 0) { let data6 = data.paddingRight; if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) { const err6 = { instancePath: instancePath + "/paddingRight", schemaPath: "#/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } } } else { const err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err7]; } else { vErrors.push(err7); } errors++; } validate79.errors = vErrors; return errors === 0; } function validate84(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (!(data === "top" || data === "middle" || data === "bottom")) { const err1 = { instancePath, schemaPath: "#/enum", keyword: "enum", params: { allowedValues: schema21.enum }, message: "must be equal to one of the allowed values" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate84.errors = vErrors; return errors === 0; } function validate43(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { ; let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!(key0 === "border" || key0 === "header" || key0 === "columns" || key0 === "columnDefault" || key0 === "drawVerticalLine" || key0 === "drawHorizontalLine" || key0 === "singleLine" || key0 === "spanningCells")) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.border !== void 0) { if (!validate45(data.border, { instancePath: instancePath + "/border", parentData: data, parentDataProperty: "border", rootData })) { vErrors = vErrors === null ? validate45.errors : vErrors.concat(validate45.errors); errors = vErrors.length; } } if (data.header !== void 0) { let data1 = data.header; if (data1 && typeof data1 == "object" && !Array.isArray(data1)) { if (data1.content === void 0) { const err1 = { instancePath: instancePath + "/header", schemaPath: "#/properties/header/required", keyword: "required", params: { missingProperty: "content" }, message: "must have required property 'content'" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } for (const key1 in data1) { if (!(key1 === "content" || key1 === "alignment" || key1 === "wrapWord" || key1 === "truncate" || key1 === "paddingLeft" || key1 === "paddingRight")) { const err2 = { instancePath: instancePath + "/header", schemaPath: "#/properties/header/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } if (data1.content !== void 0) { if (typeof data1.content !== "string") { const err3 = { instancePath: instancePath + "/header/content", schemaPath: "#/properties/header/properties/content/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } } if (data1.alignment !== void 0) { if (!validate68(data1.alignment, { instancePath: instancePath + "/header/alignment", parentData: data1, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors); errors = vErrors.length; } } if (data1.wrapWord !== void 0) { if (typeof data1.wrapWord !== "boolean") { const err4 = { instancePath: instancePath + "/header/wrapWord", schemaPath: "#/properties/header/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } if (data1.truncate !== void 0) { let data5 = data1.truncate; if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) { const err5 = { instancePath: instancePath + "/header/truncate", schemaPath: "#/properties/header/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } if (data1.paddingLeft !== void 0) { let data6 = data1.paddingLeft; if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) { const err6 = { instancePath: instancePath + "/header/paddingLeft", schemaPath: "#/properties/header/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } } if (data1.paddingRight !== void 0) { let data7 = data1.paddingRight; if (!(typeof data7 == "number" && (!(data7 % 1) && !isNaN(data7)) && isFinite(data7))) { const err7 = { instancePath: instancePath + "/header/paddingRight", schemaPath: "#/properties/header/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err7]; } else { vErrors.push(err7); } errors++; } } } else { const err8 = { instancePath: instancePath + "/header", schemaPath: "#/properties/header/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err8]; } else { vErrors.push(err8); } errors++; } } if (data.columns !== void 0) { if (!validate70(data.columns, { instancePath: instancePath + "/columns", parentData: data, parentDataProperty: "columns", rootData })) { vErrors = vErrors === null ? validate70.errors : vErrors.concat(validate70.errors); errors = vErrors.length; } } if (data.columnDefault !== void 0) { if (!validate79(data.columnDefault, { instancePath: instancePath + "/columnDefault", parentData: data, parentDataProperty: "columnDefault", rootData })) { vErrors = vErrors === null ? validate79.errors : vErrors.concat(validate79.errors); errors = vErrors.length; } } if (data.drawVerticalLine !== void 0) { if (typeof data.drawVerticalLine != "function") { const err9 = { instancePath: instancePath + "/drawVerticalLine", schemaPath: "#/properties/drawVerticalLine/typeof", keyword: "typeof", params: {}, message: 'must pass "typeof" keyword validation' }; if (vErrors === null) { vErrors = [err9]; } else { vErrors.push(err9); } errors++; } } if (data.drawHorizontalLine !== void 0) { if (typeof data.drawHorizontalLine != "function") { const err10 = { instancePath: instancePath + "/drawHorizontalLine", schemaPath: "#/properties/drawHorizontalLine/typeof", keyword: "typeof", params: {}, message: 'must pass "typeof" keyword validation' }; if (vErrors === null) { vErrors = [err10]; } else { vErrors.push(err10); } errors++; } } if (data.singleLine !== void 0) { if (typeof data.singleLine != "boolean") { const err11 = { instancePath: instancePath + "/singleLine", schemaPath: "#/properties/singleLine/typeof", keyword: "typeof", params: {}, message: 'must pass "typeof" keyword validation' }; if (vErrors === null) { vErrors = [err11]; } else { vErrors.push(err11); } errors++; } } if (data.spanningCells !== void 0) { let data13 = data.spanningCells; if (Array.isArray(data13)) { const len0 = data13.length; for (let i0 = 0; i0 < len0; i0++) { let data14 = data13[i0]; if (data14 && typeof data14 == "object" && !Array.isArray(data14)) { if (data14.row === void 0) { const err12 = { instancePath: instancePath + "/spanningCells/" + i0, schemaPath: "#/properties/spanningCells/items/required", keyword: "required", params: { missingProperty: "row" }, message: "must have required property 'row'" }; if (vErrors === null) { vErrors = [err12]; } else { vErrors.push(err12); } errors++; } if (data14.col === void 0) { const err13 = { instancePath: instancePath + "/spanningCells/" + i0, schemaPath: "#/properties/spanningCells/items/required", keyword: "required", params: { missingProperty: "col" }, message: "must have required property 'col'" }; if (vErrors === null) { vErrors = [err13]; } else { vErrors.push(err13); } errors++; } for (const key2 in data14) { if (!func8.call(schema13.properties.spanningCells.items.properties, key2)) { const err14 = { instancePath: instancePath + "/spanningCells/" + i0, schemaPath: "#/properties/spanningCells/items/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err14]; } else { vErrors.push(err14); } errors++; } } if (data14.col !== void 0) { let data15 = data14.col; if (!(typeof data15 == "number" && (!(data15 % 1) && !isNaN(data15)) && isFinite(data15))) { const err15 = { instancePath: instancePath + "/spanningCells/" + i0 + "/col", schemaPath: "#/properties/spanningCells/items/properties/col/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err15]; } else { vErrors.push(err15); } errors++; } if (typeof data15 == "number" && isFinite(data15)) { if (data15 < 0 || isNaN(data15)) { const err16 = { instancePath: instancePath + "/spanningCells/" + i0 + "/col", schemaPath: "#/properties/spanningCells/items/properties/col/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }; if (vErrors === null) { vErrors = [err16]; } else { vErrors.push(err16); } errors++; } } } if (data14.row !== void 0) { let data16 = data14.row; if (!(typeof data16 == "number" && (!(data16 % 1) && !isNaN(data16)) && isFinite(data16))) { const err17 = { instancePath: instancePath + "/spanningCells/" + i0 + "/row", schemaPath: "#/properties/spanningCells/items/properties/row/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err17]; } else { vErrors.push(err17); } errors++; } if (typeof data16 == "number" && isFinite(data16)) { if (data16 < 0 || isNaN(data16)) { const err18 = { instancePath: instancePath + "/spanningCells/" + i0 + "/row", schemaPath: "#/properties/spanningCells/items/properties/row/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }; if (vErrors === null) { vErrors = [err18]; } else { vErrors.push(err18); } errors++; } } } if (data14.colSpan !== void 0) { let data17 = data14.colSpan; if (!(typeof data17 == "number" && (!(data17 % 1) && !isNaN(data17)) && isFinite(data17))) { const err19 = { instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan", schemaPath: "#/properties/spanningCells/items/properties/colSpan/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err19]; } else { vErrors.push(err19); } errors++; } if (typeof data17 == "number" && isFinite(data17)) { if (data17 < 1 || isNaN(data17)) { const err20 = { instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan", schemaPath: "#/properties/spanningCells/items/properties/colSpan/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err20]; } else { vErrors.push(err20); } errors++; } } } if (data14.rowSpan !== void 0) { let data18 = data14.rowSpan; if (!(typeof data18 == "number" && (!(data18 % 1) && !isNaN(data18)) && isFinite(data18))) { const err21 = { instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan", schemaPath: "#/properties/spanningCells/items/properties/rowSpan/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err21]; } else { vErrors.push(err21); } errors++; } if (typeof data18 == "number" && isFinite(data18)) { if (data18 < 1 || isNaN(data18)) { const err22 = { instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan", schemaPath: "#/properties/spanningCells/items/properties/rowSpan/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err22]; } else { vErrors.push(err22); } errors++; } } } if (data14.alignment !== void 0) { if (!validate68(data14.alignment, { instancePath: instancePath + "/spanningCells/" + i0 + "/alignment", parentData: data14, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors); errors = vErrors.length; } } if (data14.verticalAlignment !== void 0) { if (!validate84(data14.verticalAlignment, { instancePath: instancePath + "/spanningCells/" + i0 + "/verticalAlignment", parentData: data14, parentDataProperty: "verticalAlignment", rootData })) { vErrors = vErrors === null ? validate84.errors : vErrors.concat(validate84.errors); errors = vErrors.length; } } if (data14.wrapWord !== void 0) { if (typeof data14.wrapWord !== "boolean") { const err23 = { instancePath: instancePath + "/spanningCells/" + i0 + "/wrapWord", schemaPath: "#/properties/spanningCells/items/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err23]; } else { vErrors.push(err23); } errors++; } } if (data14.truncate !== void 0) { let data22 = data14.truncate; if (!(typeof data22 == "number" && (!(data22 % 1) && !isNaN(data22)) && isFinite(data22))) { const err24 = { instancePath: instancePath + "/spanningCells/" + i0 + "/truncate", schemaPath: "#/properties/spanningCells/items/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err24]; } else { vErrors.push(err24); } errors++; } } if (data14.paddingLeft !== void 0) { let data23 = data14.paddingLeft; if (!(typeof data23 == "number" && (!(data23 % 1) && !isNaN(data23)) && isFinite(data23))) { const err25 = { instancePath: instancePath + "/spanningCells/" + i0 + "/paddingLeft", schemaPath: "#/properties/spanningCells/items/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err25]; } else { vErrors.push(err25); } errors++; } } if (data14.paddingRight !== void 0) { let data24 = data14.paddingRight; if (!(typeof data24 == "number" && (!(data24 % 1) && !isNaN(data24)) && isFinite(data24))) { const err26 = { instancePath: instancePath + "/spanningCells/" + i0 + "/paddingRight", schemaPath: "#/properties/spanningCells/items/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err26]; } else { vErrors.push(err26); } errors++; } } } else { const err27 = { instancePath: instancePath + "/spanningCells/" + i0, schemaPath: "#/properties/spanningCells/items/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err27]; } else { vErrors.push(err27); } errors++; } } } else { const err28 = { instancePath: instancePath + "/spanningCells", schemaPath: "#/properties/spanningCells/type", keyword: "type", params: { type: "array" }, message: "must be array" }; if (vErrors === null) { vErrors = [err28]; } else { vErrors.push(err28); } errors++; } } } else { const err29 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err29]; } else { vErrors.push(err29); } errors++; } validate43.errors = vErrors; return errors === 0; } exports2["streamConfig.json"] = validate86; function validate87(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!func8.call(schema15.properties, key0)) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.topBody !== void 0) { if (!validate46(data.topBody, { instancePath: instancePath + "/topBody", parentData: data, parentDataProperty: "topBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topJoin !== void 0) { if (!validate46(data.topJoin, { instancePath: instancePath + "/topJoin", parentData: data, parentDataProperty: "topJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topLeft !== void 0) { if (!validate46(data.topLeft, { instancePath: instancePath + "/topLeft", parentData: data, parentDataProperty: "topLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topRight !== void 0) { if (!validate46(data.topRight, { instancePath: instancePath + "/topRight", parentData: data, parentDataProperty: "topRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomBody !== void 0) { if (!validate46(data.bottomBody, { instancePath: instancePath + "/bottomBody", parentData: data, parentDataProperty: "bottomBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomJoin !== void 0) { if (!validate46(data.bottomJoin, { instancePath: instancePath + "/bottomJoin", parentData: data, parentDataProperty: "bottomJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomLeft !== void 0) { if (!validate46(data.bottomLeft, { instancePath: instancePath + "/bottomLeft", parentData: data, parentDataProperty: "bottomLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomRight !== void 0) { if (!validate46(data.bottomRight, { instancePath: instancePath + "/bottomRight", parentData: data, parentDataProperty: "bottomRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyLeft !== void 0) { if (!validate46(data.bodyLeft, { instancePath: instancePath + "/bodyLeft", parentData: data, parentDataProperty: "bodyLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyRight !== void 0) { if (!validate46(data.bodyRight, { instancePath: instancePath + "/bodyRight", parentData: data, parentDataProperty: "bodyRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyJoin !== void 0) { if (!validate46(data.bodyJoin, { instancePath: instancePath + "/bodyJoin", parentData: data, parentDataProperty: "bodyJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.headerJoin !== void 0) { if (!validate46(data.headerJoin, { instancePath: instancePath + "/headerJoin", parentData: data, parentDataProperty: "headerJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinBody !== void 0) { if (!validate46(data.joinBody, { instancePath: instancePath + "/joinBody", parentData: data, parentDataProperty: "joinBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinLeft !== void 0) { if (!validate46(data.joinLeft, { instancePath: instancePath + "/joinLeft", parentData: data, parentDataProperty: "joinLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinRight !== void 0) { if (!validate46(data.joinRight, { instancePath: instancePath + "/joinRight", parentData: data, parentDataProperty: "joinRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinJoin !== void 0) { if (!validate46(data.joinJoin, { instancePath: instancePath + "/joinJoin", parentData: data, parentDataProperty: "joinJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleUp !== void 0) { if (!validate46(data.joinMiddleUp, { instancePath: instancePath + "/joinMiddleUp", parentData: data, parentDataProperty: "joinMiddleUp", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleDown !== void 0) { if (!validate46(data.joinMiddleDown, { instancePath: instancePath + "/joinMiddleDown", parentData: data, parentDataProperty: "joinMiddleDown", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleLeft !== void 0) { if (!validate46(data.joinMiddleLeft, { instancePath: instancePath + "/joinMiddleLeft", parentData: data, parentDataProperty: "joinMiddleLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleRight !== void 0) { if (!validate46(data.joinMiddleRight, { instancePath: instancePath + "/joinMiddleRight", parentData: data, parentDataProperty: "joinMiddleRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } } else { const err1 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate87.errors = vErrors; return errors === 0; } function validate109(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; const _errs0 = errors; let valid0 = false; let passing0 = null; const _errs1 = errors; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!pattern0.test(key0)) { const err0 = { instancePath, schemaPath: "#/oneOf/0/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } for (const key1 in data) { if (pattern0.test(key1)) { if (!validate71(data[key1], { instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), parentData: data, parentDataProperty: key1, rootData })) { vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors); errors = vErrors.length; } } } } else { const err1 = { instancePath, schemaPath: "#/oneOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } var _valid0 = _errs1 === errors; if (_valid0) { valid0 = true; passing0 = 0; } const _errs5 = errors; if (Array.isArray(data)) { const len0 = data.length; for (let i0 = 0; i0 < len0; i0++) { if (!validate71(data[i0], { instancePath: instancePath + "/" + i0, parentData: data, parentDataProperty: i0, rootData })) { vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors); errors = vErrors.length; } } } else { const err2 = { instancePath, schemaPath: "#/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } var _valid0 = _errs5 === errors; if (_valid0 && valid0) { valid0 = false; passing0 = [passing0, 1]; } else { if (_valid0) { valid0 = true; passing0 = 1; } } if (!valid0) { const err3 = { instancePath, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } else { errors = _errs0; if (vErrors !== null) { if (_errs0) { vErrors.length = _errs0; } else { vErrors = null; } } } validate109.errors = vErrors; return errors === 0; } function validate113(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.alignment !== void 0) { if (!validate72(data.alignment, { instancePath: instancePath + "/alignment", parentData: data, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors); errors = vErrors.length; } } if (data.verticalAlignment !== void 0) { if (!validate74(data.verticalAlignment, { instancePath: instancePath + "/verticalAlignment", parentData: data, parentDataProperty: "verticalAlignment", rootData })) { vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors); errors = vErrors.length; } } if (data.width !== void 0) { let data2 = data.width; if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) { const err1 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } if (typeof data2 == "number" && isFinite(data2)) { if (data2 < 1 || isNaN(data2)) { const err2 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } } if (data.wrapWord !== void 0) { if (typeof data.wrapWord !== "boolean") { const err3 = { instancePath: instancePath + "/wrapWord", schemaPath: "#/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } } if (data.truncate !== void 0) { let data4 = data.truncate; if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) { const err4 = { instancePath: instancePath + "/truncate", schemaPath: "#/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } if (data.paddingLeft !== void 0) { let data5 = data.paddingLeft; if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) { const err5 = { instancePath: instancePath + "/paddingLeft", schemaPath: "#/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } if (data.paddingRight !== void 0) { let data6 = data.paddingRight; if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) { const err6 = { instancePath: instancePath + "/paddingRight", schemaPath: "#/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } } } else { const err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err7]; } else { vErrors.push(err7); } errors++; } validate113.errors = vErrors; return errors === 0; } function validate86(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { ; let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { if (data.columnDefault === void 0) { const err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "columnDefault" }, message: "must have required property 'columnDefault'" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (data.columnCount === void 0) { const err1 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "columnCount" }, message: "must have required property 'columnCount'" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } for (const key0 in data) { if (!(key0 === "border" || key0 === "columns" || key0 === "columnDefault" || key0 === "columnCount" || key0 === "drawVerticalLine")) { const err2 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } if (data.border !== void 0) { if (!validate87(data.border, { instancePath: instancePath + "/border", parentData: data, parentDataProperty: "border", rootData })) { vErrors = vErrors === null ? validate87.errors : vErrors.concat(validate87.errors); errors = vErrors.length; } } if (data.columns !== void 0) { if (!validate109(data.columns, { instancePath: instancePath + "/columns", parentData: data, parentDataProperty: "columns", rootData })) { vErrors = vErrors === null ? validate109.errors : vErrors.concat(validate109.errors); errors = vErrors.length; } } if (data.columnDefault !== void 0) { if (!validate113(data.columnDefault, { instancePath: instancePath + "/columnDefault", parentData: data, parentDataProperty: "columnDefault", rootData })) { vErrors = vErrors === null ? validate113.errors : vErrors.concat(validate113.errors); errors = vErrors.length; } } if (data.columnCount !== void 0) { let data3 = data.columnCount; if (!(typeof data3 == "number" && (!(data3 % 1) && !isNaN(data3)) && isFinite(data3))) { const err3 = { instancePath: instancePath + "/columnCount", schemaPath: "#/properties/columnCount/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } if (typeof data3 == "number" && isFinite(data3)) { if (data3 < 1 || isNaN(data3)) { const err4 = { instancePath: instancePath + "/columnCount", schemaPath: "#/properties/columnCount/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } } if (data.drawVerticalLine !== void 0) { if (typeof data.drawVerticalLine != "function") { const err5 = { instancePath: instancePath + "/drawVerticalLine", schemaPath: "#/properties/drawVerticalLine/typeof", keyword: "typeof", params: {}, message: 'must pass "typeof" keyword validation' }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } } else { const err6 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } validate86.errors = vErrors; return errors === 0; } } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateConfig.js var require_validateConfig = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateConfig.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateConfig = void 0; var validators_1 = __importDefault2(require_validators()); var validateConfig = (schemaId, config) => { const validate2 = validators_1.default[schemaId]; if (!validate2(config) && validate2.errors) { const errors = validate2.errors.map((error) => { return { message: error.message, params: error.params, schemaPath: error.schemaPath }; }); console.log("config", config); console.log("errors", errors); throw new Error("Invalid config."); } }; exports2.validateConfig = validateConfig; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeStreamConfig.js var require_makeStreamConfig = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeStreamConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.makeStreamConfig = void 0; var utils_1 = require_utils13(); var validateConfig_1 = require_validateConfig(); var makeColumnsConfig = (columnCount, columns = {}, columnDefault) => { return Array.from({ length: columnCount }).map((_, index) => { return { alignment: "left", paddingLeft: 1, paddingRight: 1, truncate: Number.POSITIVE_INFINITY, verticalAlignment: "top", wrapWord: false, ...columnDefault, ...columns[index] }; }); }; var makeStreamConfig = (config) => { (0, validateConfig_1.validateConfig)("streamConfig.json", config); if (config.columnDefault.width === void 0) { throw new Error("Must provide config.columnDefault.width when creating a stream."); } return { drawVerticalLine: () => { return true; }, ...config, border: (0, utils_1.makeBorderConfig)(config.border), columns: makeColumnsConfig(config.columnCount, config.columns, config.columnDefault) }; }; exports2.makeStreamConfig = makeStreamConfig; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/mapDataUsingRowHeights.js var require_mapDataUsingRowHeights = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/mapDataUsingRowHeights.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.mapDataUsingRowHeights = exports2.padCellVertically = void 0; var utils_1 = require_utils13(); var wrapCell_1 = require_wrapCell(); var createEmptyStrings = (length) => { return new Array(length).fill(""); }; var padCellVertically = (lines, rowHeight, verticalAlignment) => { const availableLines = rowHeight - lines.length; if (verticalAlignment === "top") { return [...lines, ...createEmptyStrings(availableLines)]; } if (verticalAlignment === "bottom") { return [...createEmptyStrings(availableLines), ...lines]; } return [ ...createEmptyStrings(Math.floor(availableLines / 2)), ...lines, ...createEmptyStrings(Math.ceil(availableLines / 2)) ]; }; exports2.padCellVertically = padCellVertically; var mapDataUsingRowHeights = (unmappedRows, rowHeights, config) => { const nColumns = unmappedRows[0].length; const mappedRows = unmappedRows.map((unmappedRow, unmappedRowIndex) => { const outputRowHeight = rowHeights[unmappedRowIndex]; const outputRow = Array.from({ length: outputRowHeight }, () => { return new Array(nColumns).fill(""); }); unmappedRow.forEach((cell, cellIndex) => { var _a; const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({ col: cellIndex, row: unmappedRowIndex }); if (containingRange) { containingRange.extractCellContent(unmappedRowIndex).forEach((cellLine, cellLineIndex) => { outputRow[cellLineIndex][cellIndex] = cellLine; }); return; } const cellLines = (0, wrapCell_1.wrapCell)(cell, config.columns[cellIndex].width, config.columns[cellIndex].wrapWord); const paddedCellLines = (0, exports2.padCellVertically)(cellLines, outputRowHeight, config.columns[cellIndex].verticalAlignment); paddedCellLines.forEach((cellLine, cellLineIndex) => { outputRow[cellLineIndex][cellIndex] = cellLine; }); }); return outputRow; }); return (0, utils_1.flatten)(mappedRows); }; exports2.mapDataUsingRowHeights = mapDataUsingRowHeights; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/padTableData.js var require_padTableData = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/padTableData.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.padTableData = exports2.padString = void 0; var padString = (input, paddingLeft, paddingRight) => { return " ".repeat(paddingLeft) + input + " ".repeat(paddingRight); }; exports2.padString = padString; var padTableData = (rows, config) => { return rows.map((cells, rowIndex) => { return cells.map((cell, cellIndex) => { var _a; const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({ col: cellIndex, row: rowIndex }, { mapped: true }); if (containingRange) { return cell; } const { paddingLeft, paddingRight } = config.columns[cellIndex]; return (0, exports2.padString)(cell, paddingLeft, paddingRight); }); }); }; exports2.padTableData = padTableData; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/stringifyTableData.js var require_stringifyTableData = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/stringifyTableData.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.stringifyTableData = void 0; var utils_1 = require_utils13(); var stringifyTableData = (rows) => { return rows.map((cells) => { return cells.map((cell) => { return (0, utils_1.normalizeString)(String(cell)); }); }); }; exports2.stringifyTableData = stringifyTableData; } }); // ../node_modules/.pnpm/lodash.truncate@4.4.2/node_modules/lodash.truncate/index.js var require_lodash3 = __commonJS({ "../node_modules/.pnpm/lodash.truncate@4.4.2/node_modules/lodash.truncate/index.js"(exports2, module2) { var DEFAULT_TRUNC_LENGTH = 30; var DEFAULT_TRUNC_OMISSION = "..."; var INFINITY = 1 / 0; var MAX_INTEGER = 17976931348623157e292; var NAN = 0 / 0; var regexpTag = "[object RegExp]"; var symbolTag = "[object Symbol]"; var reTrim = /^\s+|\s+$/g; var reFlags = /\w*$/; var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; var reIsBinary = /^0b[01]+$/i; var reIsOctal = /^0o[0-7]+$/i; var rsAstralRange = "\\ud800-\\udfff"; var rsComboMarksRange = "\\u0300-\\u036f\\ufe20-\\ufe23"; var rsComboSymbolsRange = "\\u20d0-\\u20f0"; var rsVarRange = "\\ufe0e\\ufe0f"; var rsAstral = "[" + rsAstralRange + "]"; var rsCombo = "[" + rsComboMarksRange + rsComboSymbolsRange + "]"; var rsFitz = "\\ud83c[\\udffb-\\udfff]"; var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")"; var rsNonAstral = "[^" + rsAstralRange + "]"; var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}"; var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]"; var rsZWJ = "\\u200d"; var reOptMod = rsModifier + "?"; var rsOptVar = "[" + rsVarRange + "]?"; var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*"; var rsSeq = rsOptVar + reOptMod + rsOptJoin; var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")"; var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g"); var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + "]"); var freeParseInt = parseInt; var freeGlobal = typeof global == "object" && global && global.Object === Object && global; var freeSelf = typeof self == "object" && self && self.Object === Object && self; var root = freeGlobal || freeSelf || Function("return this")(); var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; var moduleExports = freeModule && freeModule.exports === freeExports; var freeProcess = moduleExports && freeGlobal.process; var nodeUtil = (function() { try { return freeProcess && freeProcess.binding("util"); } catch (e) { } })(); var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp; var asciiSize = baseProperty("length"); function asciiToArray(string) { return string.split(""); } function baseProperty(key) { return function(object) { return object == null ? void 0 : object[key]; }; } function baseUnary(func) { return function(value) { return func(value); }; } function hasUnicode(string) { return reHasUnicode.test(string); } function stringSize(string) { return hasUnicode(string) ? unicodeSize(string) : asciiSize(string); } function stringToArray(string) { return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string); } function unicodeSize(string) { var result2 = reUnicode.lastIndex = 0; while (reUnicode.test(string)) { result2++; } return result2; } function unicodeToArray(string) { return string.match(reUnicode) || []; } var objectProto = Object.prototype; var objectToString = objectProto.toString; var Symbol2 = root.Symbol; var symbolProto = Symbol2 ? Symbol2.prototype : void 0; var symbolToString = symbolProto ? symbolProto.toString : void 0; function baseIsRegExp(value) { return isObject(value) && objectToString.call(value) == regexpTag; } function baseSlice(array, start, end) { var index = -1, length = array.length; if (start < 0) { start = -start > length ? 0 : length + start; } end = end > length ? length : end; if (end < 0) { end += length; } length = start > end ? 0 : end - start >>> 0; start >>>= 0; var result2 = Array(length); while (++index < length) { result2[index] = array[index + start]; } return result2; } function baseToString(value) { if (typeof value == "string") { return value; } if (isSymbol(value)) { return symbolToString ? symbolToString.call(value) : ""; } var result2 = value + ""; return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2; } function castSlice(array, start, end) { var length = array.length; end = end === void 0 ? length : end; return !start && end >= length ? array : baseSlice(array, start, end); } function isObject(value) { var type = typeof value; return !!value && (type == "object" || type == "function"); } function isObjectLike(value) { return !!value && typeof value == "object"; } var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; function isSymbol(value) { return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag; } function toFinite(value) { if (!value) { return value === 0 ? value : 0; } value = toNumber(value); if (value === INFINITY || value === -INFINITY) { var sign = value < 0 ? -1 : 1; return sign * MAX_INTEGER; } return value === value ? value : 0; } function toInteger(value) { var result2 = toFinite(value), remainder = result2 % 1; return result2 === result2 ? remainder ? result2 - remainder : result2 : 0; } function toNumber(value) { if (typeof value == "number") { return value; } if (isSymbol(value)) { return NAN; } if (isObject(value)) { var other = typeof value.valueOf == "function" ? value.valueOf() : value; value = isObject(other) ? other + "" : other; } if (typeof value != "string") { return value === 0 ? value : +value; } value = value.replace(reTrim, ""); var isBinary = reIsBinary.test(value); return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; } function toString(value) { return value == null ? "" : baseToString(value); } function truncate(string, options) { var length = DEFAULT_TRUNC_LENGTH, omission = DEFAULT_TRUNC_OMISSION; if (isObject(options)) { var separator = "separator" in options ? options.separator : separator; length = "length" in options ? toInteger(options.length) : length; omission = "omission" in options ? baseToString(options.omission) : omission; } string = toString(string); var strLength = string.length; if (hasUnicode(string)) { var strSymbols = stringToArray(string); strLength = strSymbols.length; } if (length >= strLength) { return string; } var end = length - stringSize(omission); if (end < 1) { return omission; } var result2 = strSymbols ? castSlice(strSymbols, 0, end).join("") : string.slice(0, end); if (separator === void 0) { return result2 + omission; } if (strSymbols) { end += result2.length - end; } if (isRegExp(separator)) { if (string.slice(end).search(separator)) { var match, substring = result2; if (!separator.global) { separator = RegExp(separator.source, toString(reFlags.exec(separator)) + "g"); } separator.lastIndex = 0; while (match = separator.exec(substring)) { var newEnd = match.index; } result2 = result2.slice(0, newEnd === void 0 ? end : newEnd); } } else if (string.indexOf(baseToString(separator), end) != end) { var index = result2.lastIndexOf(separator); if (index > -1) { result2 = result2.slice(0, index); } } return result2 + omission; } module2.exports = truncate; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/truncateTableData.js var require_truncateTableData = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/truncateTableData.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.truncateTableData = exports2.truncateString = void 0; var lodash_truncate_1 = __importDefault2(require_lodash3()); var truncateString = (input, length) => { return (0, lodash_truncate_1.default)(input, { length, omission: "\u2026" }); }; exports2.truncateString = truncateString; var truncateTableData = (rows, truncates) => { return rows.map((cells) => { return cells.map((cell, cellIndex) => { return (0, exports2.truncateString)(cell, truncates[cellIndex]); }); }); }; exports2.truncateTableData = truncateTableData; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/createStream.js var require_createStream = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/createStream.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createStream = void 0; var alignTableData_1 = require_alignTableData(); var calculateRowHeights_1 = require_calculateRowHeights(); var drawBorder_1 = require_drawBorder(); var drawRow_1 = require_drawRow(); var makeStreamConfig_1 = require_makeStreamConfig(); var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights(); var padTableData_1 = require_padTableData(); var stringifyTableData_1 = require_stringifyTableData(); var truncateTableData_1 = require_truncateTableData(); var utils_1 = require_utils13(); var prepareData = (data, config) => { let rows = (0, stringifyTableData_1.stringifyTableData)(data); rows = (0, truncateTableData_1.truncateTableData)(rows, (0, utils_1.extractTruncates)(config)); const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config); rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config); rows = (0, alignTableData_1.alignTableData)(rows, config); rows = (0, padTableData_1.padTableData)(rows, config); return rows; }; var create = (row, columnWidths, config) => { const rows = prepareData([row], config); const body = rows.map((literalRow) => { return (0, drawRow_1.drawRow)(literalRow, config); }).join(""); let output; output = ""; output += (0, drawBorder_1.drawBorderTop)(columnWidths, config); output += body; output += (0, drawBorder_1.drawBorderBottom)(columnWidths, config); output = output.trimEnd(); process.stdout.write(output); }; var append = (row, columnWidths, config) => { const rows = prepareData([row], config); const body = rows.map((literalRow) => { return (0, drawRow_1.drawRow)(literalRow, config); }).join(""); let output = ""; const bottom = (0, drawBorder_1.drawBorderBottom)(columnWidths, config); if (bottom !== "\n") { output = "\r\x1B[K"; } output += (0, drawBorder_1.drawBorderJoin)(columnWidths, config); output += body; output += bottom; output = output.trimEnd(); process.stdout.write(output); }; var createStream = (userConfig) => { const config = (0, makeStreamConfig_1.makeStreamConfig)(userConfig); const columnWidths = Object.values(config.columns).map((column) => { return column.width + column.paddingLeft + column.paddingRight; }); let empty = true; return { write: (row) => { if (row.length !== config.columnCount) { throw new Error("Row cell count does not match the config.columnCount."); } if (empty) { empty = false; create(row, columnWidths, config); } else { append(row, columnWidths, config); } } }; }; exports2.createStream = createStream; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateOutputColumnWidths.js var require_calculateOutputColumnWidths = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateOutputColumnWidths.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateOutputColumnWidths = void 0; var calculateOutputColumnWidths = (config) => { return config.columns.map((col) => { return col.paddingLeft + col.width + col.paddingRight; }); }; exports2.calculateOutputColumnWidths = calculateOutputColumnWidths; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawTable.js var require_drawTable = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawTable.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.drawTable = void 0; var drawBorder_1 = require_drawBorder(); var drawContent_1 = require_drawContent(); var drawRow_1 = require_drawRow(); var utils_1 = require_utils13(); var drawTable = (rows, outputColumnWidths, rowHeights, config) => { const { drawHorizontalLine, singleLine } = config; const contents = (0, utils_1.groupBySizes)(rows, rowHeights).map((group, groupIndex) => { return group.map((row) => { return (0, drawRow_1.drawRow)(row, { ...config, rowIndex: groupIndex }); }).join(""); }); return (0, drawContent_1.drawContent)({ contents, drawSeparator: (index, size) => { if (index === 0 || index === size) { return drawHorizontalLine(index, size); } return !singleLine && drawHorizontalLine(index, size); }, elementType: "row", rowIndex: -1, separatorGetter: (0, drawBorder_1.createTableBorderGetter)(outputColumnWidths, { ...config, rowCount: contents.length }), spanningCellManager: config.spanningCellManager }); }; exports2.drawTable = drawTable; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/injectHeaderConfig.js var require_injectHeaderConfig = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/injectHeaderConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.injectHeaderConfig = void 0; var injectHeaderConfig = (rows, config) => { var _a; let spanningCellConfig = (_a = config.spanningCells) !== null && _a !== void 0 ? _a : []; const headerConfig = config.header; const adjustedRows = [...rows]; if (headerConfig) { spanningCellConfig = spanningCellConfig.map(({ row, ...rest }) => { return { ...rest, row: row + 1 }; }); const { content, ...headerStyles } = headerConfig; spanningCellConfig.unshift({ alignment: "center", col: 0, colSpan: rows[0].length, paddingLeft: 1, paddingRight: 1, row: 0, wrapWord: false, ...headerStyles }); adjustedRows.unshift([content, ...Array.from({ length: rows[0].length - 1 }).fill("")]); } return [ adjustedRows, spanningCellConfig ]; }; exports2.injectHeaderConfig = injectHeaderConfig; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateMaximumColumnWidths.js var require_calculateMaximumColumnWidths = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateMaximumColumnWidths.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateMaximumColumnWidths = exports2.calculateMaximumCellWidth = void 0; var string_width_1 = __importDefault2(require_string_width()); var utils_1 = require_utils13(); var calculateMaximumCellWidth = (cell) => { return Math.max(...cell.split("\n").map(string_width_1.default)); }; exports2.calculateMaximumCellWidth = calculateMaximumCellWidth; var calculateMaximumColumnWidths = (rows, spanningCellConfigs = []) => { const columnWidths = new Array(rows[0].length).fill(0); const rangeCoordinates = spanningCellConfigs.map(utils_1.calculateRangeCoordinate); const isSpanningCell = (rowIndex, columnIndex) => { return rangeCoordinates.some((rangeCoordinate) => { return (0, utils_1.isCellInRange)({ col: columnIndex, row: rowIndex }, rangeCoordinate); }); }; rows.forEach((row, rowIndex) => { row.forEach((cell, cellIndex) => { if (isSpanningCell(rowIndex, cellIndex)) { return; } columnWidths[cellIndex] = Math.max(columnWidths[cellIndex], (0, exports2.calculateMaximumCellWidth)(cell)); }); }); return columnWidths; }; exports2.calculateMaximumColumnWidths = calculateMaximumColumnWidths; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignSpanningCell.js var require_alignSpanningCell = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignSpanningCell.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.alignVerticalRangeContent = exports2.wrapRangeContent = void 0; var string_width_1 = __importDefault2(require_string_width()); var alignString_1 = require_alignString(); var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights(); var padTableData_1 = require_padTableData(); var truncateTableData_1 = require_truncateTableData(); var utils_1 = require_utils13(); var wrapCell_1 = require_wrapCell(); var wrapRangeContent = (rangeConfig, rangeWidth, context) => { const { topLeft, paddingRight, paddingLeft, truncate, wrapWord, alignment } = rangeConfig; const originalContent = context.rows[topLeft.row][topLeft.col]; const contentWidth = rangeWidth - paddingLeft - paddingRight; return (0, wrapCell_1.wrapCell)((0, truncateTableData_1.truncateString)(originalContent, truncate), contentWidth, wrapWord).map((line) => { const alignedLine = (0, alignString_1.alignString)(line, contentWidth, alignment); return (0, padTableData_1.padString)(alignedLine, paddingLeft, paddingRight); }); }; exports2.wrapRangeContent = wrapRangeContent; var alignVerticalRangeContent = (range, content, context) => { const { rows, drawHorizontalLine, rowHeights } = context; const { topLeft, bottomRight, verticalAlignment } = range; if (rowHeights.length === 0) { return []; } const totalCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, bottomRight.row + 1)); const totalBorderHeight = bottomRight.row - topLeft.row; const hiddenHorizontalBorderCount = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => { return !drawHorizontalLine(horizontalBorderIndex, rows.length); }).length; const availableRangeHeight = totalCellHeight + totalBorderHeight - hiddenHorizontalBorderCount; return (0, mapDataUsingRowHeights_1.padCellVertically)(content, availableRangeHeight, verticalAlignment).map((line) => { if (line.length === 0) { return " ".repeat((0, string_width_1.default)(content[0])); } return line; }); }; exports2.alignVerticalRangeContent = alignVerticalRangeContent; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateSpanningCellWidth.js var require_calculateSpanningCellWidth = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateSpanningCellWidth.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateSpanningCellWidth = void 0; var utils_1 = require_utils13(); var calculateSpanningCellWidth = (rangeConfig, dependencies) => { const { columnsConfig, drawVerticalLine } = dependencies; const { topLeft, bottomRight } = rangeConfig; const totalWidth = (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ width }) => { return width; })); const totalPadding = topLeft.col === bottomRight.col ? columnsConfig[topLeft.col].paddingRight + columnsConfig[bottomRight.col].paddingLeft : (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ paddingLeft, paddingRight }) => { return paddingLeft + paddingRight; })); const totalBorderWidths = bottomRight.col - topLeft.col; const totalHiddenVerticalBorders = (0, utils_1.sequence)(topLeft.col + 1, bottomRight.col).filter((verticalBorderIndex) => { return !drawVerticalLine(verticalBorderIndex, columnsConfig.length); }).length; return totalWidth + totalPadding + totalBorderWidths - totalHiddenVerticalBorders; }; exports2.calculateSpanningCellWidth = calculateSpanningCellWidth; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeRangeConfig.js var require_makeRangeConfig = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeRangeConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.makeRangeConfig = void 0; var utils_1 = require_utils13(); var makeRangeConfig = (spanningCellConfig, columnsConfig) => { var _a; const { topLeft, bottomRight } = (0, utils_1.calculateRangeCoordinate)(spanningCellConfig); const cellConfig = { ...columnsConfig[topLeft.col], ...spanningCellConfig, paddingRight: (_a = spanningCellConfig.paddingRight) !== null && _a !== void 0 ? _a : columnsConfig[bottomRight.col].paddingRight }; return { ...cellConfig, bottomRight, topLeft }; }; exports2.makeRangeConfig = makeRangeConfig; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/spanningCellManager.js var require_spanningCellManager = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/spanningCellManager.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createSpanningCellManager = void 0; var alignSpanningCell_1 = require_alignSpanningCell(); var calculateSpanningCellWidth_1 = require_calculateSpanningCellWidth(); var makeRangeConfig_1 = require_makeRangeConfig(); var utils_1 = require_utils13(); var findRangeConfig = (cell, rangeConfigs) => { return rangeConfigs.find((rangeCoordinate) => { return (0, utils_1.isCellInRange)(cell, rangeCoordinate); }); }; var getContainingRange = (rangeConfig, context) => { const width = (0, calculateSpanningCellWidth_1.calculateSpanningCellWidth)(rangeConfig, context); const wrappedContent = (0, alignSpanningCell_1.wrapRangeContent)(rangeConfig, width, context); const alignedContent = (0, alignSpanningCell_1.alignVerticalRangeContent)(rangeConfig, wrappedContent, context); const getCellContent = (rowIndex) => { const { topLeft } = rangeConfig; const { drawHorizontalLine, rowHeights } = context; const totalWithinHorizontalBorderHeight = rowIndex - topLeft.row; const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, rowIndex).filter((index) => { return !(drawHorizontalLine === null || drawHorizontalLine === void 0 ? void 0 : drawHorizontalLine(index, rowHeights.length)); }).length; const offset = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, rowIndex)) + totalWithinHorizontalBorderHeight - totalHiddenHorizontalBorderHeight; return alignedContent.slice(offset, offset + rowHeights[rowIndex]); }; const getBorderContent = (borderIndex) => { const { topLeft } = rangeConfig; const offset = (0, utils_1.sumArray)(context.rowHeights.slice(topLeft.row, borderIndex)) + (borderIndex - topLeft.row - 1); return alignedContent[offset]; }; return { ...rangeConfig, extractBorderContent: getBorderContent, extractCellContent: getCellContent, height: wrappedContent.length, width }; }; var inSameRange = (cell1, cell2, ranges) => { const range1 = findRangeConfig(cell1, ranges); const range2 = findRangeConfig(cell2, ranges); if (range1 && range2) { return (0, utils_1.areCellEqual)(range1.topLeft, range2.topLeft); } return false; }; var hashRange = (range) => { const { row, col } = range.topLeft; return `${row}/${col}`; }; var createSpanningCellManager = (parameters) => { const { spanningCellConfigs, columnsConfig } = parameters; const ranges = spanningCellConfigs.map((config) => { return (0, makeRangeConfig_1.makeRangeConfig)(config, columnsConfig); }); const rangeCache = {}; let rowHeights = []; let rowIndexMapping = []; return { getContainingRange: (cell, options) => { var _a; const originalRow = (options === null || options === void 0 ? void 0 : options.mapped) ? rowIndexMapping[cell.row] : cell.row; const range = findRangeConfig({ ...cell, row: originalRow }, ranges); if (!range) { return void 0; } if (rowHeights.length === 0) { return getContainingRange(range, { ...parameters, rowHeights }); } const hash = hashRange(range); (_a = rangeCache[hash]) !== null && _a !== void 0 ? _a : rangeCache[hash] = getContainingRange(range, { ...parameters, rowHeights }); return rangeCache[hash]; }, inSameRange: (cell1, cell2) => { return inSameRange(cell1, cell2, ranges); }, rowHeights, rowIndexMapping, setRowHeights: (_rowHeights) => { rowHeights = _rowHeights; }, setRowIndexMapping: (mappedRowHeights) => { rowIndexMapping = (0, utils_1.flatten)(mappedRowHeights.map((height, index) => { return Array.from({ length: height }, () => { return index; }); })); } }; }; exports2.createSpanningCellManager = createSpanningCellManager; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateSpanningCellConfig.js var require_validateSpanningCellConfig = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateSpanningCellConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateSpanningCellConfig = void 0; var utils_1 = require_utils13(); var inRange = (start, end, value) => { return start <= value && value <= end; }; var validateSpanningCellConfig = (rows, configs) => { const [nRow, nCol] = [rows.length, rows[0].length]; configs.forEach((config, configIndex) => { const { colSpan, rowSpan } = config; if (colSpan === void 0 && rowSpan === void 0) { throw new Error(`Expect at least colSpan or rowSpan is provided in config.spanningCells[${configIndex}]`); } if (colSpan !== void 0 && colSpan < 1) { throw new Error(`Expect colSpan is not equal zero, instead got: ${colSpan} in config.spanningCells[${configIndex}]`); } if (rowSpan !== void 0 && rowSpan < 1) { throw new Error(`Expect rowSpan is not equal zero, instead got: ${rowSpan} in config.spanningCells[${configIndex}]`); } }); const rangeCoordinates = configs.map(utils_1.calculateRangeCoordinate); rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => { if (!inRange(0, nCol - 1, topLeft.col) || !inRange(0, nRow - 1, topLeft.row) || !inRange(0, nCol - 1, bottomRight.col) || !inRange(0, nRow - 1, bottomRight.row)) { throw new Error(`Some cells in config.spanningCells[${rangeIndex}] are out of the table`); } }); const configOccupy = Array.from({ length: nRow }, () => { return Array.from({ length: nCol }); }); rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => { (0, utils_1.sequence)(topLeft.row, bottomRight.row).forEach((row) => { (0, utils_1.sequence)(topLeft.col, bottomRight.col).forEach((col) => { if (configOccupy[row][col] !== void 0) { throw new Error(`Spanning cells in config.spanningCells[${configOccupy[row][col]}] and config.spanningCells[${rangeIndex}] are overlap each other`); } configOccupy[row][col] = rangeIndex; }); }); }); }; exports2.validateSpanningCellConfig = validateSpanningCellConfig; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeTableConfig.js var require_makeTableConfig = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeTableConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.makeTableConfig = void 0; var calculateMaximumColumnWidths_1 = require_calculateMaximumColumnWidths(); var spanningCellManager_1 = require_spanningCellManager(); var utils_1 = require_utils13(); var validateConfig_1 = require_validateConfig(); var validateSpanningCellConfig_1 = require_validateSpanningCellConfig(); var makeColumnsConfig = (rows, columns, columnDefault, spanningCellConfigs) => { const columnWidths = (0, calculateMaximumColumnWidths_1.calculateMaximumColumnWidths)(rows, spanningCellConfigs); return rows[0].map((_, columnIndex) => { return { alignment: "left", paddingLeft: 1, paddingRight: 1, truncate: Number.POSITIVE_INFINITY, verticalAlignment: "top", width: columnWidths[columnIndex], wrapWord: false, ...columnDefault, ...columns === null || columns === void 0 ? void 0 : columns[columnIndex] }; }); }; var makeTableConfig = (rows, config = {}, injectedSpanningCellConfig) => { var _a, _b, _c, _d, _e; (0, validateConfig_1.validateConfig)("config.json", config); (0, validateSpanningCellConfig_1.validateSpanningCellConfig)(rows, (_a = config.spanningCells) !== null && _a !== void 0 ? _a : []); const spanningCellConfigs = (_b = injectedSpanningCellConfig !== null && injectedSpanningCellConfig !== void 0 ? injectedSpanningCellConfig : config.spanningCells) !== null && _b !== void 0 ? _b : []; const columnsConfig = makeColumnsConfig(rows, config.columns, config.columnDefault, spanningCellConfigs); const drawVerticalLine = (_c = config.drawVerticalLine) !== null && _c !== void 0 ? _c : (() => { return true; }); const drawHorizontalLine = (_d = config.drawHorizontalLine) !== null && _d !== void 0 ? _d : (() => { return true; }); return { ...config, border: (0, utils_1.makeBorderConfig)(config.border), columns: columnsConfig, drawHorizontalLine, drawVerticalLine, singleLine: (_e = config.singleLine) !== null && _e !== void 0 ? _e : false, spanningCellManager: (0, spanningCellManager_1.createSpanningCellManager)({ columnsConfig, drawHorizontalLine, drawVerticalLine, rows, spanningCellConfigs }) }; }; exports2.makeTableConfig = makeTableConfig; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateTableData.js var require_validateTableData = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateTableData.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateTableData = void 0; var utils_1 = require_utils13(); var validateTableData = (rows) => { if (!Array.isArray(rows)) { throw new TypeError("Table data must be an array."); } if (rows.length === 0) { throw new Error("Table must define at least one row."); } if (rows[0].length === 0) { throw new Error("Table must define at least one column."); } const columnNumber = rows[0].length; for (const row of rows) { if (!Array.isArray(row)) { throw new TypeError("Table row data must be an array."); } if (row.length !== columnNumber) { throw new Error("Table must have a consistent number of cells."); } for (const cell of row) { if (/[\u0001-\u0006\u0008\u0009\u000B-\u001A]/.test((0, utils_1.normalizeString)(String(cell)))) { throw new Error("Table data must not contain control characters."); } } } }; exports2.validateTableData = validateTableData; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/table.js var require_table = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/table.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.table = void 0; var alignTableData_1 = require_alignTableData(); var calculateOutputColumnWidths_1 = require_calculateOutputColumnWidths(); var calculateRowHeights_1 = require_calculateRowHeights(); var drawTable_1 = require_drawTable(); var injectHeaderConfig_1 = require_injectHeaderConfig(); var makeTableConfig_1 = require_makeTableConfig(); var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights(); var padTableData_1 = require_padTableData(); var stringifyTableData_1 = require_stringifyTableData(); var truncateTableData_1 = require_truncateTableData(); var utils_1 = require_utils13(); var validateTableData_1 = require_validateTableData(); var table = (data, userConfig = {}) => { (0, validateTableData_1.validateTableData)(data); let rows = (0, stringifyTableData_1.stringifyTableData)(data); const [injectedRows, injectedSpanningCellConfig] = (0, injectHeaderConfig_1.injectHeaderConfig)(rows, userConfig); const config = (0, makeTableConfig_1.makeTableConfig)(injectedRows, userConfig, injectedSpanningCellConfig); rows = (0, truncateTableData_1.truncateTableData)(injectedRows, (0, utils_1.extractTruncates)(config)); const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config); config.spanningCellManager.setRowHeights(rowHeights); config.spanningCellManager.setRowIndexMapping(rowHeights); rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config); rows = (0, alignTableData_1.alignTableData)(rows, config); rows = (0, padTableData_1.padTableData)(rows, config); const outputColumnWidths = (0, calculateOutputColumnWidths_1.calculateOutputColumnWidths)(config); return (0, drawTable_1.drawTable)(rows, outputColumnWidths, rowHeights, config); }; exports2.table = table; } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/types/api.js var require_api = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/types/api.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); } }); // ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/index.js var require_src3 = __commonJS({ "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getBorderCharacters = exports2.createStream = exports2.table = void 0; var createStream_1 = require_createStream(); Object.defineProperty(exports2, "createStream", { enumerable: true, get: function() { return createStream_1.createStream; } }); var getBorderCharacters_1 = require_getBorderCharacters(); Object.defineProperty(exports2, "getBorderCharacters", { enumerable: true, get: function() { return getBorderCharacters_1.getBorderCharacters; } }); var table_1 = require_table(); Object.defineProperty(exports2, "table", { enumerable: true, get: function() { return table_1.table; } }); __exportStar2(require_api(), exports2); } }); // ../node_modules/.pnpm/render-help@1.0.3/node_modules/render-help/lib/index.js var require_lib109 = __commonJS({ "../node_modules/.pnpm/render-help@1.0.3/node_modules/render-help/lib/index.js"(exports2, module2) { "use strict"; var table_1 = require_src3(); var NO_BORDERS = { topBody: "", topJoin: "", topLeft: "", topRight: "", bottomBody: "", bottomJoin: "", bottomLeft: "", bottomRight: "", bodyJoin: "", bodyLeft: "", bodyRight: "", joinBody: "", joinLeft: "", joinRight: "" }; var TABLE_OPTIONS = { border: NO_BORDERS, singleLine: true }; var FIRST_COLUMN = { paddingLeft: 2, paddingRight: 0 }; var SHORT_OPTION_COLUMN = { alignment: "right" }; var LONG_OPTION_COLUMN = { paddingLeft: 1, paddingRight: 2 }; var DESCRIPTION_COLUMN = { paddingLeft: 0, paddingRight: 0, wrapWord: true }; function renderDescriptionList(descriptionItems, width) { const data = descriptionItems.sort((item1, item2) => item1.name.localeCompare(item2.name)).map(({ shortAlias, name, description }) => [shortAlias && `${shortAlias},` || " ", name, description || ""]); const firstColumnMaxWidth = Math.max(getColumnMaxWidth(data, 0), 3); const nameColumnMaxWidth = Math.max(getColumnMaxWidth(data, 1), 19); const descriptionColumnWidth = Math.max(width - (FIRST_COLUMN.paddingLeft + firstColumnMaxWidth + FIRST_COLUMN.paddingRight + LONG_OPTION_COLUMN.paddingLeft + nameColumnMaxWidth + LONG_OPTION_COLUMN.paddingRight + DESCRIPTION_COLUMN.paddingLeft + DESCRIPTION_COLUMN.paddingRight), 2); return multiTrim((0, table_1.table)(data, Object.assign(Object.assign({}, TABLE_OPTIONS), { columns: { 0: Object.assign(Object.assign({ width: firstColumnMaxWidth }, SHORT_OPTION_COLUMN), FIRST_COLUMN), 1: Object.assign({ width: nameColumnMaxWidth }, LONG_OPTION_COLUMN), 2: Object.assign({ width: descriptionColumnWidth }, DESCRIPTION_COLUMN) } }))); } function multiTrim(str) { return str.split("\n").map((line) => line.trimRight()).filter(Boolean).join("\n"); } function getColumnMaxWidth(data, columnNumber) { return data.reduce((maxWidth, row) => Math.max(maxWidth, row[columnNumber].length), 0); } module2.exports = function renderHelp(config) { var _a, _b; const width = (_b = (_a = config.width) !== null && _a !== void 0 ? _a : process.stdout.columns) !== null && _b !== void 0 ? _b : 80; let outputSections = []; if (config.usages.length > 0) { const [firstUsage, ...restUsages] = config.usages; let usageOutput = `Usage: ${firstUsage}`; for (let usage of restUsages) { usageOutput += ` ${usage}`; } outputSections.push(usageOutput); } if (config.aliases && config.aliases.length) { outputSections.push(`${config.aliases.length === 1 ? "Alias" : "Aliases"}: ${config.aliases.join(", ")}`); } if (config.description) outputSections.push(`${config.description}`); if (config.descriptionLists) { for (let { title, list } of config.descriptionLists) { outputSections.push(`${title}: ` + renderDescriptionList(list, width)); } } if (config.url) { outputSections.push(`Visit ${config.url} for documentation about this command.`); } return outputSections.join("\n\n"); }; } }); // ../pkg-manager/remove-bins/lib/removeBins.js var require_removeBins = __commonJS({ "../pkg-manager/remove-bins/lib/removeBins.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.removeBin = void 0; exports2.removeBinsOfDependency = removeBinsOfDependency; var path_1 = __importDefault2(require("path")); var core_loggers_1 = require_lib8(); var package_bins_1 = require_lib67(); var read_package_json_1 = require_lib61(); var rimraf_1 = __importDefault2(require_rimraf()); var cmd_extension_1 = __importDefault2(require_cmd_extension()); var is_windows_1 = __importDefault2(require_is_windows()); async function removeOnWin(cmd) { core_loggers_1.removalLogger.debug(cmd); await Promise.all([ (0, rimraf_1.default)(cmd), (0, rimraf_1.default)(`${cmd}.ps1`), (0, rimraf_1.default)(`${cmd}${cmd_extension_1.default}`) ]); } async function removeOnNonWin(p) { core_loggers_1.removalLogger.debug(p); return (0, rimraf_1.default)(p); } exports2.removeBin = (0, is_windows_1.default)() ? removeOnWin : removeOnNonWin; async function removeBinsOfDependency(dependencyDir, opts) { const uninstalledPkgJson = await (0, read_package_json_1.safeReadPackageJsonFromDir)(dependencyDir); if (!uninstalledPkgJson) return; const cmds = await (0, package_bins_1.getBinsFromPackageManifest)(uninstalledPkgJson, dependencyDir); if (!opts.dryRun) { await Promise.all(cmds.map((cmd) => path_1.default.join(opts.binsDir, cmd.name)).map(exports2.removeBin)); } return uninstalledPkgJson; } } }); // ../pkg-manager/remove-bins/lib/index.js var require_lib110 = __commonJS({ "../pkg-manager/remove-bins/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.removeBinsOfDependency = exports2.removeBin = void 0; var removeBins_js_1 = require_removeBins(); Object.defineProperty(exports2, "removeBin", { enumerable: true, get: function() { return removeBins_js_1.removeBin; } }); Object.defineProperty(exports2, "removeBinsOfDependency", { enumerable: true, get: function() { return removeBins_js_1.removeBinsOfDependency; } }); } }); // ../env/node.fetcher/lib/index.js var require_lib111 = __commonJS({ "../env/node.fetcher/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.fetchNode = fetchNode; var path_1 = __importDefault2(require("path")); var error_1 = require_lib6(); var crypto_shasums_file_1 = require_lib38(); var create_cafs_store_1 = require_lib82(); var tarball_fetcher_1 = require_lib75(); var node_resolver_1 = require_lib39(); var fetching_binary_fetcher_1 = require_lib77(); var detect_libc_1 = require_detect_libc(); var DEFAULT_NODE_MIRROR_BASE_URL = "https://nodejs.org/download/release/"; async function fetchNode(fetch, version2, targetDir, opts) { await validateSystemCompatibility(); const nodeMirrorBaseUrl = opts.nodeMirrorBaseUrl ?? DEFAULT_NODE_MIRROR_BASE_URL; const artifactInfo = await getNodeArtifactInfo(fetch, version2, { nodeMirrorBaseUrl }); if (artifactInfo.isZip) { await (0, fetching_binary_fetcher_1.downloadAndUnpackZip)(fetch, artifactInfo, targetDir); return; } await downloadAndUnpackTarballToDir(fetch, artifactInfo, targetDir, opts); } async function validateSystemCompatibility() { if (await (0, detect_libc_1.isNonGlibcLinux)()) { throw new error_1.PnpmError("MUSL", 'The current system uses the "MUSL" C standard library. Node.js currently has prebuilt artifacts only for the "glibc" libc, so we can install Node.js only for glibc'); } } async function getNodeArtifactInfo(fetch, version2, opts) { const tarball = (0, node_resolver_1.getNodeArtifactAddress)({ version: version2, baseUrl: opts.nodeMirrorBaseUrl, platform: process.platform, arch: process.arch }); const tarballFileName = `${tarball.basename}${tarball.extname}`; const shasumsFileUrl = `${tarball.dirname}/SHASUMS256.txt`; const url = `${tarball.dirname}/${tarballFileName}`; const integrity = opts.integrities ? opts.integrities[`${process.platform}-${process.arch}`] : await loadArtifactIntegrity(fetch, tarballFileName, shasumsFileUrl); return { url, integrity, isZip: tarball.extname === ".zip", basename: tarball.basename }; } async function loadArtifactIntegrity(fetch, fileName, shasumsUrl) { const body = await (0, crypto_shasums_file_1.fetchShasumsFileRaw)(fetch, shasumsUrl); return (0, crypto_shasums_file_1.pickFileChecksumFromShasumsFile)(body, fileName); } async function downloadAndUnpackTarballToDir(fetch, artifactInfo, targetDir, opts) { const getAuthHeader = () => void 0; const fetchers = (0, tarball_fetcher_1.createTarballFetcher)(fetch, getAuthHeader, { retry: opts.retry, timeout: opts.fetchTimeout, // These are not needed for fetching Node.js rawConfig: {}, unsafePerm: false }); const cafs = (0, create_cafs_store_1.createCafsStore)(opts.storeDir); const indexFileName = `node-${encodeURIComponent(artifactInfo.url)}`; const filesIndexFile = path_1.default.join(opts.storeDir, indexFileName); const { filesIndex } = await fetchers.remoteTarball(cafs, { tarball: artifactInfo.url, integrity: artifactInfo.integrity }, { filesIndexFile, lockfileDir: process.cwd(), pkg: {} }); cafs.importPackage(targetDir, { filesResponse: { filesIndex, resolvedFrom: "remote", requiresBuild: false }, force: true }); } } }); // ../node_modules/.pnpm/is-typedarray@1.0.0/node_modules/is-typedarray/index.js var require_is_typedarray = __commonJS({ "../node_modules/.pnpm/is-typedarray@1.0.0/node_modules/is-typedarray/index.js"(exports2, module2) { module2.exports = isTypedArray; isTypedArray.strict = isStrictTypedArray; isTypedArray.loose = isLooseTypedArray; var toString = Object.prototype.toString; var names = { "[object Int8Array]": true, "[object Int16Array]": true, "[object Int32Array]": true, "[object Uint8Array]": true, "[object Uint8ClampedArray]": true, "[object Uint16Array]": true, "[object Uint32Array]": true, "[object Float32Array]": true, "[object Float64Array]": true }; function isTypedArray(arr) { return isStrictTypedArray(arr) || isLooseTypedArray(arr); } function isStrictTypedArray(arr) { return arr instanceof Int8Array || arr instanceof Int16Array || arr instanceof Int32Array || arr instanceof Uint8Array || arr instanceof Uint8ClampedArray || arr instanceof Uint16Array || arr instanceof Uint32Array || arr instanceof Float32Array || arr instanceof Float64Array; } function isLooseTypedArray(arr) { return names[toString.call(arr)]; } } }); // ../node_modules/.pnpm/typedarray-to-buffer@3.1.5/node_modules/typedarray-to-buffer/index.js var require_typedarray_to_buffer = __commonJS({ "../node_modules/.pnpm/typedarray-to-buffer@3.1.5/node_modules/typedarray-to-buffer/index.js"(exports2, module2) { var isTypedArray = require_is_typedarray().strict; module2.exports = function typedarrayToBuffer(arr) { if (isTypedArray(arr)) { var buf = Buffer.from(arr.buffer); if (arr.byteLength !== arr.buffer.byteLength) { buf = buf.slice(arr.byteOffset, arr.byteOffset + arr.byteLength); } return buf; } else { return Buffer.from(arr); } }; } }); // ../node_modules/.pnpm/write-file-atomic@3.0.3/node_modules/write-file-atomic/index.js var require_write_file_atomic = __commonJS({ "../node_modules/.pnpm/write-file-atomic@3.0.3/node_modules/write-file-atomic/index.js"(exports2, module2) { "use strict"; module2.exports = writeFile; module2.exports.sync = writeFileSync; module2.exports._getTmpname = getTmpname; module2.exports._cleanupOnExit = cleanupOnExit; var fs = require("fs"); var MurmurHash3 = require_imurmurhash(); var onExit = require_signal_exit(); var path2 = require("path"); var isTypedArray = require_is_typedarray(); var typedArrayToBuffer = require_typedarray_to_buffer(); var { promisify } = require("util"); var activeFiles = {}; var threadId = (function getId() { try { const workerThreads = require("worker_threads"); return workerThreads.threadId; } catch (e) { return 0; } })(); var invocations = 0; function getTmpname(filename) { return filename + "." + MurmurHash3(__filename).hash(String(process.pid)).hash(String(threadId)).hash(String(++invocations)).result(); } function cleanupOnExit(tmpfile) { return () => { try { fs.unlinkSync(typeof tmpfile === "function" ? tmpfile() : tmpfile); } catch (_) { } }; } function serializeActiveFile(absoluteName) { return new Promise((resolve) => { if (!activeFiles[absoluteName]) activeFiles[absoluteName] = []; activeFiles[absoluteName].push(resolve); if (activeFiles[absoluteName].length === 1) resolve(); }); } function isChownErrOk(err) { if (err.code === "ENOSYS") { return true; } const nonroot = !process.getuid || process.getuid() !== 0; if (nonroot) { if (err.code === "EINVAL" || err.code === "EPERM") { return true; } } return false; } async function writeFileAsync(filename, data, options = {}) { if (typeof options === "string") { options = { encoding: options }; } let fd; let tmpfile; const removeOnExitHandler = onExit(cleanupOnExit(() => tmpfile)); const absoluteName = path2.resolve(filename); try { await serializeActiveFile(absoluteName); const truename = await promisify(fs.realpath)(filename).catch(() => filename); tmpfile = getTmpname(truename); if (!options.mode || !options.chown) { const stats = await promisify(fs.stat)(truename).catch(() => { }); if (stats) { if (options.mode == null) { options.mode = stats.mode; } if (options.chown == null && process.getuid) { options.chown = { uid: stats.uid, gid: stats.gid }; } } } fd = await promisify(fs.open)(tmpfile, "w", options.mode); if (options.tmpfileCreated) { await options.tmpfileCreated(tmpfile); } if (isTypedArray(data)) { data = typedArrayToBuffer(data); } if (Buffer.isBuffer(data)) { await promisify(fs.write)(fd, data, 0, data.length, 0); } else if (data != null) { await promisify(fs.write)(fd, String(data), 0, String(options.encoding || "utf8")); } if (options.fsync !== false) { await promisify(fs.fsync)(fd); } await promisify(fs.close)(fd); fd = null; if (options.chown) { await promisify(fs.chown)(tmpfile, options.chown.uid, options.chown.gid).catch((err) => { if (!isChownErrOk(err)) { throw err; } }); } if (options.mode) { await promisify(fs.chmod)(tmpfile, options.mode).catch((err) => { if (!isChownErrOk(err)) { throw err; } }); } await promisify(fs.rename)(tmpfile, truename); } finally { if (fd) { await promisify(fs.close)(fd).catch( /* istanbul ignore next */ () => { } ); } removeOnExitHandler(); await promisify(fs.unlink)(tmpfile).catch(() => { }); activeFiles[absoluteName].shift(); if (activeFiles[absoluteName].length > 0) { activeFiles[absoluteName][0](); } else delete activeFiles[absoluteName]; } } function writeFile(filename, data, options, callback) { if (options instanceof Function) { callback = options; options = {}; } const promise = writeFileAsync(filename, data, options); if (callback) { promise.then(callback, callback); } return promise; } function writeFileSync(filename, data, options) { if (typeof options === "string") options = { encoding: options }; else if (!options) options = {}; try { filename = fs.realpathSync(filename); } catch (ex) { } const tmpfile = getTmpname(filename); if (!options.mode || !options.chown) { try { const stats = fs.statSync(filename); options = Object.assign({}, options); if (!options.mode) { options.mode = stats.mode; } if (!options.chown && process.getuid) { options.chown = { uid: stats.uid, gid: stats.gid }; } } catch (ex) { } } let fd; const cleanup = cleanupOnExit(tmpfile); const removeOnExitHandler = onExit(cleanup); let threw = true; try { fd = fs.openSync(tmpfile, "w", options.mode || 438); if (options.tmpfileCreated) { options.tmpfileCreated(tmpfile); } if (isTypedArray(data)) { data = typedArrayToBuffer(data); } if (Buffer.isBuffer(data)) { fs.writeSync(fd, data, 0, data.length, 0); } else if (data != null) { fs.writeSync(fd, String(data), 0, String(options.encoding || "utf8")); } if (options.fsync !== false) { fs.fsyncSync(fd); } fs.closeSync(fd); fd = null; if (options.chown) { try { fs.chownSync(tmpfile, options.chown.uid, options.chown.gid); } catch (err) { if (!isChownErrOk(err)) { throw err; } } } if (options.mode) { try { fs.chmodSync(tmpfile, options.mode); } catch (err) { if (!isChownErrOk(err)) { throw err; } } } fs.renameSync(tmpfile, filename); threw = false; } finally { if (fd) { try { fs.closeSync(fd); } catch (ex) { } } removeOnExitHandler(); if (threw) { cleanup(); } } } } }); // ../node_modules/.pnpm/make-dir@3.1.0/node_modules/make-dir/index.js var require_make_dir3 = __commonJS({ "../node_modules/.pnpm/make-dir@3.1.0/node_modules/make-dir/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var path2 = require("path"); var { promisify } = require("util"); var semver = require_semver2(); var useNativeRecursiveOption = semver.satisfies(process.version, ">=10.12.0"); var checkPath = (pth) => { if (process.platform === "win32") { const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path2.parse(pth).root, "")); if (pathHasInvalidWinCharacters) { const error = new Error(`Path contains invalid characters: ${pth}`); error.code = "EINVAL"; throw error; } } }; var processOptions = (options) => { const defaults = { mode: 511, fs }; return { ...defaults, ...options }; }; var permissionError = (pth) => { const error = new Error(`operation not permitted, mkdir '${pth}'`); error.code = "EPERM"; error.errno = -4048; error.path = pth; error.syscall = "mkdir"; return error; }; var makeDir = async (input, options) => { checkPath(input); options = processOptions(options); const mkdir = promisify(options.fs.mkdir); const stat = promisify(options.fs.stat); if (useNativeRecursiveOption && options.fs.mkdir === fs.mkdir) { const pth = path2.resolve(input); await mkdir(pth, { mode: options.mode, recursive: true }); return pth; } const make = async (pth) => { try { await mkdir(pth, options.mode); return pth; } catch (error) { if (error.code === "EPERM") { throw error; } if (error.code === "ENOENT") { if (path2.dirname(pth) === pth) { throw permissionError(pth); } if (error.message.includes("null bytes")) { throw error; } await make(path2.dirname(pth)); return make(pth); } try { const stats = await stat(pth); if (!stats.isDirectory()) { throw new Error("The path is not a directory"); } } catch (_) { throw error; } return pth; } }; return make(path2.resolve(input)); }; module2.exports = makeDir; module2.exports.sync = (input, options) => { checkPath(input); options = processOptions(options); if (useNativeRecursiveOption && options.fs.mkdirSync === fs.mkdirSync) { const pth = path2.resolve(input); fs.mkdirSync(pth, { mode: options.mode, recursive: true }); return pth; } const make = (pth) => { try { options.fs.mkdirSync(pth, options.mode); } catch (error) { if (error.code === "EPERM") { throw error; } if (error.code === "ENOENT") { if (path2.dirname(pth) === pth) { throw permissionError(pth); } if (error.message.includes("null bytes")) { throw error; } make(path2.dirname(pth)); return make(pth); } try { if (!options.fs.statSync(pth).isDirectory()) { throw new Error("The path is not a directory"); } } catch (_) { throw error; } } return pth; }; return make(path2.resolve(input)); }; } }); // ../node_modules/.pnpm/detect-indent@6.1.0/node_modules/detect-indent/index.js var require_detect_indent2 = __commonJS({ "../node_modules/.pnpm/detect-indent@6.1.0/node_modules/detect-indent/index.js"(exports2, module2) { "use strict"; var INDENT_REGEX = /^(?:( )+|\t+)/; var INDENT_TYPE_SPACE = "space"; var INDENT_TYPE_TAB = "tab"; function makeIndentsMap(string, ignoreSingleSpaces) { const indents = /* @__PURE__ */ new Map(); let previousSize = 0; let previousIndentType; let key; for (const line of string.split(/\n/g)) { if (!line) { continue; } let indent; let indentType; let weight; let entry; const matches = line.match(INDENT_REGEX); if (matches === null) { previousSize = 0; previousIndentType = ""; } else { indent = matches[0].length; if (matches[1]) { indentType = INDENT_TYPE_SPACE; } else { indentType = INDENT_TYPE_TAB; } if (ignoreSingleSpaces && indentType === INDENT_TYPE_SPACE && indent === 1) { continue; } if (indentType !== previousIndentType) { previousSize = 0; } previousIndentType = indentType; weight = 0; const indentDifference = indent - previousSize; previousSize = indent; if (indentDifference === 0) { weight++; } else { const absoluteIndentDifference = indentDifference > 0 ? indentDifference : -indentDifference; key = encodeIndentsKey(indentType, absoluteIndentDifference); } entry = indents.get(key); if (entry === void 0) { entry = [1, 0]; } else { entry = [++entry[0], entry[1] + weight]; } indents.set(key, entry); } } return indents; } function encodeIndentsKey(indentType, indentAmount) { const typeCharacter = indentType === INDENT_TYPE_SPACE ? "s" : "t"; return typeCharacter + String(indentAmount); } function decodeIndentsKey(indentsKey) { const keyHasTypeSpace = indentsKey[0] === "s"; const type = keyHasTypeSpace ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB; const amount = Number(indentsKey.slice(1)); return { type, amount }; } function getMostUsedKey(indents) { let result2; let maxUsed = 0; let maxWeight = 0; for (const [key, [usedCount, weight]] of indents) { if (usedCount > maxUsed || usedCount === maxUsed && weight > maxWeight) { maxUsed = usedCount; maxWeight = weight; result2 = key; } } return result2; } function makeIndentString(type, amount) { const indentCharacter = type === INDENT_TYPE_SPACE ? " " : " "; return indentCharacter.repeat(amount); } module2.exports = (string) => { if (typeof string !== "string") { throw new TypeError("Expected a string"); } let indents = makeIndentsMap(string, true); if (indents.size === 0) { indents = makeIndentsMap(string, false); } const keyOfMostUsedIndent = getMostUsedKey(indents); let type; let amount = 0; let indent = ""; if (keyOfMostUsedIndent !== void 0) { ({ type, amount } = decodeIndentsKey(keyOfMostUsedIndent)); indent = makeIndentString(type, amount); } return { amount, type, indent }; }; } }); // ../node_modules/.pnpm/write-json-file@4.3.0/node_modules/write-json-file/index.js var require_write_json_file = __commonJS({ "../node_modules/.pnpm/write-json-file@4.3.0/node_modules/write-json-file/index.js"(exports2, module2) { "use strict"; var { promisify } = require("util"); var path2 = require("path"); var fs = require_graceful_fs(); var writeFileAtomic = require_write_file_atomic(); var sortKeys = require_sort_keys(); var makeDir = require_make_dir3(); var detectIndent = require_detect_indent2(); var isPlainObj = require_is_plain_obj(); var readFile = promisify(fs.readFile); var init = (fn, filePath, data, options) => { if (!filePath) { throw new TypeError("Expected a filepath"); } if (data === void 0) { throw new TypeError("Expected data to stringify"); } options = { indent: " ", sortKeys: false, ...options }; if (options.sortKeys && isPlainObj(data)) { data = sortKeys(data, { deep: true, compare: typeof options.sortKeys === "function" ? options.sortKeys : void 0 }); } return fn(filePath, data, options); }; var main = async (filePath, data, options) => { let { indent } = options; let trailingNewline = "\n"; try { const file = await readFile(filePath, "utf8"); if (!file.endsWith("\n")) { trailingNewline = ""; } if (options.detectIndent) { indent = detectIndent(file).indent; } } catch (error) { if (error.code !== "ENOENT") { throw error; } } const json = JSON.stringify(data, options.replacer, indent); return writeFileAtomic(filePath, `${json}${trailingNewline}`, { mode: options.mode, chown: false }); }; var mainSync = (filePath, data, options) => { let { indent } = options; let trailingNewline = "\n"; try { const file = fs.readFileSync(filePath, "utf8"); if (!file.endsWith("\n")) { trailingNewline = ""; } if (options.detectIndent) { indent = detectIndent(file).indent; } } catch (error) { if (error.code !== "ENOENT") { throw error; } } const json = JSON.stringify(data, options.replacer, indent); return writeFileAtomic.sync(filePath, `${json}${trailingNewline}`, { mode: options.mode, chown: false }); }; module2.exports = async (filePath, data, options) => { await makeDir(path2.dirname(filePath), { fs }); return init(main, filePath, data, options); }; module2.exports.sync = (filePath, data, options) => { makeDir.sync(path2.dirname(filePath), { fs }); init(mainSync, filePath, data, options); }; } }); // ../env/plugin-commands-env/lib/parseNodeSpecifier.js var require_parseNodeSpecifier = __commonJS({ "../env/plugin-commands-env/lib/parseNodeSpecifier.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isValidVersion = isValidVersion; exports2.parseNodeSpecifier = parseNodeSpecifier; var error_1 = require_lib6(); var isStableVersion = (version2) => /^\d+\.\d+\.\d+$/.test(version2); var matchPrereleaseVersion = (version2) => version2.match(/^\d+\.\d+\.\d+-((rc)(\..+)|(test|v8-canary|nightly)(.+))$/); var STABLE_RELEASE_ERROR_HINT = "The correct syntax for stable release is strictly X.Y.Z or release/X.Y.Z"; function isValidVersion(specifier) { if (specifier.includes("/")) { const [releaseChannel, useNodeVersion] = specifier.split("/"); if (releaseChannel === "release") { return isStableVersion(useNodeVersion); } return useNodeVersion.includes(releaseChannel); } return isStableVersion(specifier) || matchPrereleaseVersion(specifier) != null; } function parseNodeSpecifier(specifier) { if (specifier.includes("/")) { const [releaseChannel, useNodeVersion] = specifier.split("/"); if (releaseChannel === "release") { if (!isStableVersion(useNodeVersion)) { throw new error_1.PnpmError("INVALID_NODE_VERSION", `"${specifier}" is not a valid Node.js version`, { hint: STABLE_RELEASE_ERROR_HINT }); } } else if (!useNodeVersion.includes(releaseChannel)) { throw new error_1.PnpmError("MISMATCHED_RELEASE_CHANNEL", `Node.js version (${useNodeVersion}) must contain the release channel (${releaseChannel})`); } return { releaseChannel, useNodeVersion }; } const prereleaseMatch = matchPrereleaseVersion(specifier); if (prereleaseMatch != null) { return { releaseChannel: prereleaseMatch[2], useNodeVersion: specifier }; } if (isStableVersion(specifier)) { return { releaseChannel: "release", useNodeVersion: specifier }; } let hint; if (["nightly", "rc", "test", "v8-canary"].includes(specifier)) { hint = `The correct syntax for ${specifier} release is strictly X.Y.Z-${specifier}.W`; } else if (/^\d+\.\d+$/.test(specifier) || /^\d+$/.test(specifier) || ["release", "stable", "latest"].includes(specifier)) { hint = STABLE_RELEASE_ERROR_HINT; } throw new error_1.PnpmError("INVALID_NODE_VERSION", `"${specifier}" is not a valid Node.js version`, { hint }); } } }); // ../env/plugin-commands-env/lib/node.js var require_node3 = __commonJS({ "../env/plugin-commands-env/lib/node.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.prepareExecutionEnv = prepareExecutionEnv; exports2.getNodeBinDir = getNodeBinDir; exports2.getNodeVersionsBaseDir = getNodeVersionsBaseDir; exports2.getNodeDir = getNodeDir; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var env_system_node_version_1 = require_lib84(); var fetch_1 = require_lib29(); var logger_1 = require_lib(); var node_fetcher_1 = require_lib111(); var node_resolver_1 = require_lib39(); var store_path_1 = require_lib31(); var load_json_file_1 = __importDefault2(require_load_json_file()); var write_json_file_1 = __importDefault2(require_write_json_file()); var parseNodeSpecifier_js_1 = require_parseNodeSpecifier(); var nodeFetchPromises = {}; async function prepareExecutionEnv(config, { extraBinPaths, executionEnv }) { if (!executionEnv?.nodeVersion || `v${executionEnv.nodeVersion}` === (0, env_system_node_version_1.getSystemNodeVersion)()) { return { extraBinPaths: extraBinPaths ?? [] }; } let nodePathPromise = nodeFetchPromises[executionEnv.nodeVersion]; if (!nodePathPromise) { nodePathPromise = getNodeBinDir({ ...config, useNodeVersion: executionEnv.nodeVersion }); nodeFetchPromises[executionEnv.nodeVersion] = nodePathPromise; } return { extraBinPaths: [await nodePathPromise, ...extraBinPaths ?? []] }; } async function getNodeBinDir(opts) { const fetch = (0, fetch_1.createFetchFromRegistry)(opts); const nodesDir = getNodeVersionsBaseDir(opts.pnpmHomeDir); const manifestNodeVersion = (await readNodeVersionsManifest(nodesDir))?.default; let wantedNodeVersion = opts.useNodeVersion ?? manifestNodeVersion; if (opts.useNodeVersion != null) { if (!(0, parseNodeSpecifier_js_1.isValidVersion)(opts.useNodeVersion)) { (0, logger_1.globalWarn)(`"${opts.useNodeVersion}" is not a valid Node.js version.`); wantedNodeVersion = manifestNodeVersion; } } if (wantedNodeVersion == null) { const response = await fetch("https://registry.npmjs.org/node"); wantedNodeVersion = (await response.json())["dist-tags"].lts; if (wantedNodeVersion == null) { throw new Error("Could not resolve LTS version of Node.js"); } await (0, write_json_file_1.default)(path_1.default.join(nodesDir, "versions.json"), { default: wantedNodeVersion }); } const { useNodeVersion, releaseChannel } = (0, parseNodeSpecifier_js_1.parseNodeSpecifier)(wantedNodeVersion); const nodeMirrorBaseUrl = (0, node_resolver_1.getNodeMirror)(opts.rawConfig, releaseChannel); const nodeDir = await getNodeDir(fetch, { ...opts, useNodeVersion, nodeMirrorBaseUrl }); return process.platform === "win32" ? nodeDir : path_1.default.join(nodeDir, "bin"); } function getNodeVersionsBaseDir(pnpmHomeDir) { return path_1.default.join(pnpmHomeDir, "nodejs"); } async function getNodeDir(fetch, opts) { const nodesDir = getNodeVersionsBaseDir(opts.pnpmHomeDir); await fs_1.default.promises.mkdir(nodesDir, { recursive: true }); const versionDir = path_1.default.join(nodesDir, opts.useNodeVersion); if (!fs_1.default.existsSync(versionDir)) { const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: process.cwd(), storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); (0, logger_1.globalInfo)(`Fetching Node.js ${opts.useNodeVersion} ...`); await (0, node_fetcher_1.fetchNode)(fetch, opts.useNodeVersion, versionDir, { ...opts, storeDir, retry: { maxTimeout: opts.fetchRetryMaxtimeout, minTimeout: opts.fetchRetryMintimeout, retries: opts.fetchRetries, factor: opts.fetchRetryFactor } }); } return versionDir; } async function readNodeVersionsManifest(nodesDir) { try { return await (0, load_json_file_1.default)(path_1.default.join(nodesDir, "versions.json")); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { return {}; } throw err; } } } }); // ../env/plugin-commands-env/lib/downloadNodeVersion.js var require_downloadNodeVersion = __commonJS({ "../env/plugin-commands-env/lib/downloadNodeVersion.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getNodeVersion = getNodeVersion; exports2.downloadNodeVersion = downloadNodeVersion; var node_resolver_1 = require_lib39(); var node_js_1 = require_node3(); var fetch_1 = require_lib29(); var logger_1 = require_lib(); async function getNodeVersion(opts, envSpecifier) { const fetch = (0, fetch_1.createFetchFromRegistry)(opts); const { releaseChannel, versionSpecifier } = (0, node_resolver_1.parseEnvSpecifier)(envSpecifier); const nodeMirrorBaseUrl = (0, node_resolver_1.getNodeMirror)(opts.rawConfig, releaseChannel); const nodeVersion = await (0, node_resolver_1.resolveNodeVersion)(fetch, versionSpecifier, nodeMirrorBaseUrl); return { nodeVersion, nodeMirrorBaseUrl, releaseChannel, versionSpecifier }; } async function downloadNodeVersion(opts, envSpecifier) { const fetch = (0, fetch_1.createFetchFromRegistry)(opts); const { nodeVersion, nodeMirrorBaseUrl } = await getNodeVersion(opts, envSpecifier); if (!nodeVersion) { return null; } const nodeDir = await (0, node_js_1.getNodeDir)(fetch, { ...opts, useNodeVersion: nodeVersion, nodeMirrorBaseUrl }); (0, logger_1.globalInfo)(`Node.js ${nodeVersion} was installed ${nodeDir}`); return { nodeVersion, nodeDir, nodeMirrorBaseUrl }; } } }); // ../env/plugin-commands-env/lib/utils.js var require_utils14 = __commonJS({ "../env/plugin-commands-env/lib/utils.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CURRENT_NODE_DIRNAME = void 0; exports2.getNodeExecPathAndTargetDir = getNodeExecPathAndTargetDir; exports2.getNodeExecPathInBinDir = getNodeExecPathInBinDir; exports2.getNodeExecPathInNodeDir = getNodeExecPathInNodeDir; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); exports2.CURRENT_NODE_DIRNAME = "nodejs_current"; async function getNodeExecPathAndTargetDir(pnpmHomeDir) { const nodePath = getNodeExecPathInBinDir(pnpmHomeDir); const nodeCurrentDirLink = path_1.default.join(pnpmHomeDir, exports2.CURRENT_NODE_DIRNAME); let nodeCurrentDir; try { nodeCurrentDir = await fs_1.promises.readlink(nodeCurrentDirLink); } catch { nodeCurrentDir = void 0; } return { nodePath, nodeLink: nodeCurrentDir ? getNodeExecPathInNodeDir(nodeCurrentDir) : void 0 }; } function getNodeExecPathInBinDir(pnpmHomeDir) { return path_1.default.resolve(pnpmHomeDir, process.platform === "win32" ? "node.exe" : "node"); } function getNodeExecPathInNodeDir(nodeDir) { return path_1.default.join(nodeDir, process.platform === "win32" ? "node.exe" : "bin/node"); } } }); // ../env/plugin-commands-env/lib/envRemove.js var require_envRemove = __commonJS({ "../env/plugin-commands-env/lib/envRemove.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.envRemove = envRemove; var util_1 = __importDefault2(require("util")); var assert_1 = __importDefault2(require("assert")); var error_1 = require_lib6(); var logger_1 = require_lib(); var remove_bins_1 = require_lib110(); var rimraf_1 = __importDefault2(require_rimraf()); var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var downloadNodeVersion_js_1 = require_downloadNodeVersion(); var node_js_1 = require_node3(); var utils_js_1 = require_utils14(); async function envRemove(opts, params) { if (!opts.global) { throw new error_1.PnpmError("NOT_IMPLEMENTED_YET", '"pnpm env remove " can only be used with the "--global" option currently'); } let failed = false; for (const version2 of params) { const err = await removeNodeVersion(opts, version2); if (err) { logger_1.logger.error(err); failed = true; } } return { exitCode: failed ? 1 : 0 }; } async function removeNodeVersion(opts, version2) { const { nodeVersion } = await (0, downloadNodeVersion_js_1.getNodeVersion)(opts, version2); const nodeDir = (0, node_js_1.getNodeVersionsBaseDir)(opts.pnpmHomeDir); if (!nodeVersion) { return new error_1.PnpmError("COULD_NOT_RESOLVE_NODEJS", `Couldn't find Node.js version matching ${version2}`); } const versionDir = path_1.default.resolve(nodeDir, nodeVersion); if (!(0, fs_1.existsSync)(versionDir)) { return new error_1.PnpmError("ENV_NO_NODE_DIRECTORY", `Couldn't find Node.js directory in ${versionDir}`); } const { nodePath, nodeLink } = await (0, utils_js_1.getNodeExecPathAndTargetDir)(opts.pnpmHomeDir); if (nodeLink?.includes(versionDir)) { (0, logger_1.globalInfo)(`Node.js ${nodeVersion} was detected as the default one, removing ...`); const npmPath = path_1.default.resolve(opts.pnpmHomeDir, "npm"); const npxPath = path_1.default.resolve(opts.pnpmHomeDir, "npx"); try { await Promise.all([ (0, remove_bins_1.removeBin)(nodePath), (0, remove_bins_1.removeBin)(npmPath), (0, remove_bins_1.removeBin)(npxPath) ]); } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); if (!("code" in err && err.code === "ENOENT")) return err; } } await (0, rimraf_1.default)(versionDir); (0, logger_1.globalInfo)(`Node.js ${nodeVersion} was removed ${versionDir}`); return void 0; } } }); // ../env/plugin-commands-env/lib/envUse.js var require_envUse = __commonJS({ "../env/plugin-commands-env/lib/envUse.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.envUse = envUse; var fs_1 = require("fs"); var util_1 = __importDefault2(require("util")); var graceful_fs_1 = __importDefault2(require_graceful_fs()); var path_1 = __importDefault2(require("path")); var error_1 = require_lib6(); var cmd_shim_1 = __importDefault2(require_cmd_shim()); var is_windows_1 = __importDefault2(require_is_windows()); var symlink_dir_1 = __importDefault2(require_dist18()); var utils_js_1 = require_utils14(); var downloadNodeVersion_js_1 = require_downloadNodeVersion(); async function envUse(opts, params) { if (!opts.global) { throw new error_1.PnpmError("NOT_IMPLEMENTED_YET", '"pnpm env use " can only be used with the "--global" option currently'); } const nodeInfo = await (0, downloadNodeVersion_js_1.downloadNodeVersion)(opts, params[0]); if (!nodeInfo) { throw new error_1.PnpmError("COULD_NOT_RESOLVE_NODEJS", `Couldn't find Node.js version matching ${params[0]}`); } const { nodeDir, nodeVersion } = nodeInfo; const src = (0, utils_js_1.getNodeExecPathInNodeDir)(nodeDir); const dest = (0, utils_js_1.getNodeExecPathInBinDir)(opts.bin); await (0, symlink_dir_1.default)(nodeDir, path_1.default.join(opts.pnpmHomeDir, utils_js_1.CURRENT_NODE_DIRNAME)); try { graceful_fs_1.default.unlinkSync(dest); } catch (err) { if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")) throw err; } await symlinkOrHardLink(src, dest); try { let npmDir = nodeDir; if (process.platform !== "win32") { npmDir = path_1.default.join(npmDir, "lib"); } npmDir = path_1.default.join(npmDir, "node_modules/npm"); if (opts.configDir) { await fs_1.promises.writeFile(path_1.default.join(npmDir, "npmrc"), `globalconfig=${path_1.default.join(opts.configDir, "npmrc")}`, "utf-8"); } const npmBinDir = path_1.default.join(npmDir, "bin"); const cmdShimOpts = { createPwshFile: false }; await (0, cmd_shim_1.default)(path_1.default.join(npmBinDir, "npm-cli.js"), path_1.default.join(opts.bin, "npm"), cmdShimOpts); await (0, cmd_shim_1.default)(path_1.default.join(npmBinDir, "npx-cli.js"), path_1.default.join(opts.bin, "npx"), cmdShimOpts); } catch { } return `Node.js ${nodeVersion} was activated ${dest} -> ${src}`; } async function symlinkOrHardLink(existingPath, newPath) { if ((0, is_windows_1.default)()) { return fs_1.promises.link(existingPath, newPath); } return fs_1.promises.symlink(existingPath, newPath, "file"); } } }); // ../env/plugin-commands-env/lib/envList.js var require_envList = __commonJS({ "../env/plugin-commands-env/lib/envList.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.envList = envList; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var fetch_1 = require_lib29(); var node_resolver_1 = require_lib39(); var error_1 = require_lib6(); var semver_12 = __importDefault2(require_semver2()); var node_js_1 = require_node3(); var utils_js_1 = require_utils14(); async function envList(opts, params) { if (opts.remote) { const nodeVersionList = await listRemoteVersions(opts, params[0]); return nodeVersionList.reverse().join("\n"); } const { currentVersion, versions } = await listLocalVersions(opts); return versions.map((nodeVersion) => `${nodeVersion === currentVersion ? "*" : " "} ${nodeVersion}`).join("\n"); } async function listLocalVersions(opts) { const nodeBaseDir = (0, node_js_1.getNodeVersionsBaseDir)(opts.pnpmHomeDir); if (!(0, fs_1.existsSync)(nodeBaseDir)) { throw new error_1.PnpmError("ENV_NO_NODE_DIRECTORY", `Couldn't find Node.js directory in ${nodeBaseDir}`); } const { nodeLink } = await (0, utils_js_1.getNodeExecPathAndTargetDir)(opts.pnpmHomeDir); const nodeVersionDirs = await fs_1.promises.readdir(nodeBaseDir); let currentVersion; const versions = []; for (const nodeVersion of nodeVersionDirs) { const nodeVersionDir = path_1.default.join(nodeBaseDir, nodeVersion); const nodeExec = (0, utils_js_1.getNodeExecPathInNodeDir)(nodeVersionDir); if (nodeLink?.startsWith(nodeVersionDir)) { currentVersion = nodeVersion; } if (semver_12.default.valid(nodeVersion) && (0, fs_1.existsSync)(nodeExec)) { versions.push(nodeVersion); } } return { currentVersion, versions }; } async function listRemoteVersions(opts, versionSpec) { const fetch = (0, fetch_1.createFetchFromRegistry)(opts); const { releaseChannel, versionSpecifier } = (0, node_resolver_1.parseEnvSpecifier)(versionSpec ?? ""); const nodeMirrorBaseUrl = (0, node_resolver_1.getNodeMirror)(opts.rawConfig, releaseChannel); const nodeVersionList = await (0, node_resolver_1.resolveNodeVersions)(fetch, versionSpecifier, nodeMirrorBaseUrl); return nodeVersionList; } } }); // ../env/plugin-commands-env/lib/envAdd.js var require_envAdd = __commonJS({ "../env/plugin-commands-env/lib/envAdd.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.envAdd = envAdd; var error_1 = require_lib6(); var downloadNodeVersion_js_1 = require_downloadNodeVersion(); async function envAdd(opts, params) { if (!opts.global) { throw new error_1.PnpmError("NOT_IMPLEMENTED_YET", '"pnpm env add " can only be used with the "--global" option currently'); } const failed = []; for (const envSpecifier of params) { const result2 = await (0, downloadNodeVersion_js_1.downloadNodeVersion)(opts, envSpecifier); if (!result2) { failed.push(envSpecifier); } } if (failed.length > 0) { throw new error_1.PnpmError("COULD_NOT_RESOLVE_NODEJS", `Couldn't find Node.js version matching ${failed.join(", ")}`); } return "All specified Node.js versions were installed"; } } }); // ../env/plugin-commands-env/lib/env.js var require_env2 = __commonJS({ "../env/plugin-commands-env/lib/env.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.skipPackageManagerCheck = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var error_1 = require_lib6(); var render_help_1 = __importDefault2(require_lib109()); var envRemove_js_1 = require_envRemove(); var envUse_js_1 = require_envUse(); var envList_js_1 = require_envList(); var envAdd_js_1 = require_envAdd(); exports2.skipPackageManagerCheck = true; function rcOptionsTypes() { return {}; } function cliOptionsTypes() { return { global: Boolean, remote: Boolean }; } exports2.commandNames = ["env"]; function help() { return (0, render_help_1.default)({ description: "Manage Node.js versions.", descriptionLists: [ { title: "Commands", list: [ { description: "Installs the specified version of Node.js. The npm CLI bundled with the given Node.js version gets installed as well. This sets this version of Node.js as the current version.", name: "use" }, { description: "Installs the specified version(s) of Node.js without activating them as the current version.", name: "add" }, { description: "Removes the specified version(s) of Node.js.", name: "remove", shortAlias: "rm" }, { description: "List Node.js versions available locally or remotely", name: "list", shortAlias: "ls" } ] }, { title: "Options", list: [ { description: "Manages Node.js versions globally", name: "--global", shortAlias: "-g" }, { description: "List the remote versions of Node.js", name: "--remote" } ] } ], url: (0, cli_utils_1.docsUrl)("env"), usages: [ "pnpm env [command] [options] [...]", "pnpm env use --global 18", "pnpm env use --global lts", "pnpm env use --global argon", "pnpm env use --global latest", "pnpm env use --global rc/18", "pnpm env add --global 18", "pnpm env add --global 18 19 20.6.0", "pnpm env remove --global 18 lts", "pnpm env remove --global argon", "pnpm env remove --global latest", "pnpm env remove --global rc/18 18 20.6.0", "pnpm env list", "pnpm env list --remote", "pnpm env list --remote 18", "pnpm env list --remote lts", "pnpm env list --remote argon", "pnpm env list --remote latest", "pnpm env list --remote rc/18" ] }); } async function handler(opts, params) { if (params.length === 0) { throw new error_1.PnpmError("ENV_NO_SUBCOMMAND", "Please specify the subcommand", { hint: help() }); } if (opts.global && !opts.bin) { throw new error_1.PnpmError("CANNOT_MANAGE_NODE", "Unable to manage Node.js because pnpm was not installed using the standalone installation script", { hint: "If you want to manage Node.js with pnpm, you need to remove any Node.js that was installed by other tools, then install pnpm using one of the standalone scripts that are provided on the installation page: https://pnpm.io/installation" }); } switch (params[0]) { case "add": { return (0, envAdd_js_1.envAdd)(opts, params.slice(1)); } case "use": { return (0, envUse_js_1.envUse)(opts, params.slice(1)); } case "remove": case "rm": case "uninstall": case "un": { return (0, envRemove_js_1.envRemove)(opts, params.slice(1)); } case "list": case "ls": { return (0, envList_js_1.envList)(opts, params.slice(1)); } default: { throw new error_1.PnpmError("ENV_UNKNOWN_SUBCOMMAND", "This subcommand is not known"); } } } } }); // ../env/plugin-commands-env/lib/index.js var require_lib112 = __commonJS({ "../env/plugin-commands-env/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.prepareExecutionEnv = exports2.env = void 0; var env = __importStar3(require_env2()); exports2.env = env; var node_js_1 = require_node3(); Object.defineProperty(exports2, "prepareExecutionEnv", { enumerable: true, get: function() { return node_js_1.prepareExecutionEnv; } }); } }); // lib/checkForUpdates.js var require_checkForUpdates = __commonJS({ "lib/checkForUpdates.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.checkForUpdates = checkForUpdates; var path_1 = __importDefault2(require("path")); var cli_meta_1 = require_lib4(); var client_1 = require_lib78(); var core_loggers_1 = require_lib8(); var load_json_file_1 = __importDefault2(require_load_json_file()); var write_json_file_1 = __importDefault2(require_write_json_file()); var UPDATE_CHECK_FREQUENCY = 24 * 60 * 60 * 1e3; async function checkForUpdates(config) { const stateFile = path_1.default.join(config.stateDir, "pnpm-state.json"); let state; try { state = await (0, load_json_file_1.default)(stateFile); } catch { } if (state?.lastUpdateCheck && Date.now() - new Date(state.lastUpdateCheck).valueOf() < UPDATE_CHECK_FREQUENCY) return; const { resolve } = (0, client_1.createResolver)({ ...config, authConfig: config.rawConfig, retry: { retries: 0 } }); const resolution = await resolve({ alias: cli_meta_1.packageManager.name, bareSpecifier: "latest" }, { lockfileDir: config.lockfileDir ?? config.dir, preferredVersions: {}, projectDir: config.dir }); if (resolution?.manifest?.version) { core_loggers_1.updateCheckLogger.debug({ currentVersion: cli_meta_1.packageManager.version, latestVersion: resolution?.manifest.version }); } await (0, write_json_file_1.default)(stateFile, { ...state, lastUpdateCheck: (/* @__PURE__ */ new Date()).toUTCString() }); } } }); // ../cache/api/lib/cacheList.js var require_cacheList = __commonJS({ "../cache/api/lib/cacheList.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.cacheListRegistries = cacheListRegistries; exports2.cacheList = cacheList; exports2.findMetadataFiles = findMetadataFiles; var fs_1 = __importDefault2(require("fs")); var encode_registry_1 = __importDefault2(require_encode_registry()); var tinyglobby_1 = require_dist17(); async function cacheListRegistries(opts) { return fs_1.default.readdirSync(opts.cacheDir).sort().join("\n"); } async function cacheList(opts, filter) { const metaFiles = await findMetadataFiles(opts, filter); return metaFiles.sort().join("\n"); } async function findMetadataFiles(opts, filter) { const prefix = opts.registry ? `${(0, encode_registry_1.default)(opts.registry)}` : "*"; const patterns = filter.length ? filter.map((filter2) => `${prefix}/${filter2}.json`) : [`${prefix}/**`]; const metaFiles = await (0, tinyglobby_1.glob)(patterns, { cwd: opts.cacheDir, expandDirectories: false }); return metaFiles; } } }); // ../cache/api/lib/cacheDelete.js var require_cacheDelete = __commonJS({ "../cache/api/lib/cacheDelete.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.cacheDelete = cacheDelete; var path_1 = __importDefault2(require("path")); var fs_1 = __importDefault2(require("fs")); var cacheList_js_1 = require_cacheList(); async function cacheDelete(opts, filter) { const metaFiles = await (0, cacheList_js_1.findMetadataFiles)(opts, filter); for (const metaFile of metaFiles) { fs_1.default.unlinkSync(path_1.default.join(opts.cacheDir, metaFile)); } return metaFiles.sort().join("\n"); } } }); // ../cache/api/lib/cacheView.js var require_cacheView = __commonJS({ "../cache/api/lib/cacheView.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.cacheView = cacheView; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var tinyglobby_1 = require_dist17(); var store_cafs_1 = require_lib79(); var encode_registry_1 = __importDefault2(require_encode_registry()); async function cacheView(opts, packageName) { const prefix = opts.registry ? `${(0, encode_registry_1.default)(opts.registry)}` : "*"; const metaFilePaths = (await (0, tinyglobby_1.glob)(`${prefix}/${packageName}.json`, { cwd: opts.cacheDir, expandDirectories: false })).sort(); const metaFilesByPath = {}; for (const filePath of metaFilePaths) { const metaObject = JSON.parse(fs_1.default.readFileSync(path_1.default.join(opts.cacheDir, filePath), "utf8")); const cachedVersions = []; const nonCachedVersions = []; for (const [version2, manifest] of Object.entries(metaObject.versions)) { if (!manifest.dist.integrity) continue; const indexFilePath = (0, store_cafs_1.getIndexFilePathInCafs)(opts.storeDir, manifest.dist.integrity, `${manifest.name}@${manifest.version}`); if (fs_1.default.existsSync(indexFilePath)) { cachedVersions.push(version2); } else { nonCachedVersions.push(version2); } } let registryName = filePath; while (path_1.default.dirname(registryName) !== ".") { registryName = path_1.default.dirname(registryName); } metaFilesByPath[registryName.replaceAll("+", ":")] = { cachedVersions, nonCachedVersions, cachedAt: metaObject.cachedAt ? new Date(metaObject.cachedAt).toString() : void 0, distTags: metaObject["dist-tags"] }; } return JSON.stringify(metaFilesByPath, null, 2); } } }); // ../cache/api/lib/index.js var require_lib113 = __commonJS({ "../cache/api/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); __exportStar2(require_cacheList(), exports2); __exportStar2(require_cacheDelete(), exports2); __exportStar2(require_cacheView(), exports2); } }); // ../cache/commands/lib/cache.cmd.js var require_cache_cmd = __commonJS({ "../cache/commands/lib/cache.cmd.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var constants_1 = require_lib5(); var store_path_1 = require_lib31(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var cache_api_1 = require_lib113(); var error_1 = require_lib6(); exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return { ...(0, pick_1.default)([ "registry", "store-dir" ], config_1.types) }; } exports2.commandNames = ["cache"]; function help() { return (0, render_help_1.default)({ description: "Inspect and manage the metadata cache", descriptionLists: [ { title: "Commands", list: [ { description: "Lists the available packages metadata cache. Supports filtering by glob", name: "list" }, { description: "Lists all registries that have their metadata cache locally", name: "list-registries" }, { description: "Views information from the specified package's cache", name: "view" }, { description: "Deletes metadata cache for the specified package(s). Supports patterns", name: "delete" } ] } ], url: (0, cli_utils_1.docsUrl)("cache"), usages: ["pnpm cache "] }); } async function handler(opts, params) { const cacheType = opts.resolutionMode === "time-based" && !opts.registrySupportsTimeField ? constants_1.FULL_FILTERED_META_DIR : constants_1.ABBREVIATED_META_DIR; const cacheDir = path_1.default.join(opts.cacheDir, cacheType); switch (params[0]) { case "list-registries": return (0, cache_api_1.cacheListRegistries)({ ...opts, cacheDir }); case "list": return (0, cache_api_1.cacheList)({ ...opts, cacheDir, registry: opts.cliOptions["registry"] }, params.slice(1)); case "delete": return (0, cache_api_1.cacheDelete)({ ...opts, cacheDir, registry: opts.cliOptions["registry"] }, params.slice(1)); case "view": { if (!params[1]) { throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "`pnpm cache view` requires the package name"); } if (params.length > 2) { throw new error_1.PnpmError("TOO_MANY_PARAMS", "`pnpm cache view` only accepts one package name"); } const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: process.cwd(), storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); return (0, cache_api_1.cacheView)({ ...opts, cacheDir, storeDir, registry: opts.cliOptions["registry"] }, params[1]); } default: return help(); } } } }); // ../cache/commands/lib/index.js var require_lib114 = __commonJS({ "../cache/commands/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.cache = void 0; var cache = __importStar3(require_cache_cmd()); exports2.cache = cache; } }); // ../pkg-manager/modules-yaml/lib/index.js var require_lib115 = __commonJS({ "../pkg-manager/modules-yaml/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readModulesManifest = readModulesManifest; exports2.writeModulesManifest = writeModulesManifest; var path_1 = __importDefault2(require("path")); var read_yaml_file_1 = __importDefault2(require_read_yaml_file()); var map_1 = __importDefault2(require_map3()); var is_windows_1 = __importDefault2(require_is_windows()); var write_yaml_file_1 = __importDefault2(require_write_yaml_file()); var MODULES_FILENAME = ".modules.yaml"; async function readModulesManifest(modulesDir) { const modulesYamlPath = path_1.default.join(modulesDir, MODULES_FILENAME); let modulesRaw; try { modulesRaw = await (0, read_yaml_file_1.default)(modulesYamlPath); if (!modulesRaw) return modulesRaw; } catch (err) { if (err.code !== "ENOENT") { throw err; } return null; } const modules = { ...modulesRaw, ignoredBuilds: modulesRaw.ignoredBuilds ? new Set(modulesRaw.ignoredBuilds) : void 0 }; if (!modules.virtualStoreDir) { modules.virtualStoreDir = path_1.default.join(modulesDir, ".pnpm"); } else if (!path_1.default.isAbsolute(modules.virtualStoreDir)) { modules.virtualStoreDir = path_1.default.join(modulesDir, modules.virtualStoreDir); } switch (modules.shamefullyHoist) { case true: if (modules.publicHoistPattern == null) { modules.publicHoistPattern = ["*"]; } if (modules.hoistedAliases != null && !modules.hoistedDependencies) { modules.hoistedDependencies = (0, map_1.default)((aliases) => Object.fromEntries(aliases.map((alias) => [alias, "public"])), modules.hoistedAliases); } break; case false: if (modules.publicHoistPattern == null) { modules.publicHoistPattern = []; } if (modules.hoistedAliases != null && !modules.hoistedDependencies) { modules.hoistedDependencies = {}; for (const depPath of Object.keys(modules.hoistedAliases)) { modules.hoistedDependencies[depPath] = {}; for (const alias of modules.hoistedAliases[depPath]) { modules.hoistedDependencies[depPath][alias] = "private"; } } } break; } if (!modules.prunedAt) { modules.prunedAt = (/* @__PURE__ */ new Date()).toUTCString(); } if (!modules.virtualStoreDirMaxLength) { modules.virtualStoreDirMaxLength = 120; } return modules; } var YAML_OPTS = { lineWidth: 1e3, noCompatMode: true, noRefs: true, sortKeys: true }; async function writeModulesManifest(modulesDir, modules, opts) { const modulesYamlPath = path_1.default.join(modulesDir, MODULES_FILENAME); const saveModules = { ...modules, ignoredBuilds: modules.ignoredBuilds ? Array.from(modules.ignoredBuilds) : void 0 }; if (saveModules.skipped) saveModules.skipped.sort(); if (saveModules.hoistPattern == null || saveModules.hoistPattern === "") { delete saveModules.hoistPattern; } if (saveModules.publicHoistPattern == null) { delete saveModules.publicHoistPattern; } if (saveModules.hoistedAliases == null || saveModules.hoistPattern == null && saveModules.publicHoistPattern == null) { delete saveModules.hoistedAliases; } if (!(0, is_windows_1.default)()) { saveModules.virtualStoreDir = path_1.default.relative(modulesDir, saveModules.virtualStoreDir); } try { await (0, write_yaml_file_1.default)(modulesYamlPath, saveModules, { ...YAML_OPTS, makeDir: opts?.makeModulesDir ?? false }); } catch (err) { if (err.code !== "ENOENT") throw err; } } } }); // ../node_modules/.pnpm/ansi-colors@4.1.3/node_modules/ansi-colors/symbols.js var require_symbols = __commonJS({ "../node_modules/.pnpm/ansi-colors@4.1.3/node_modules/ansi-colors/symbols.js"(exports2, module2) { "use strict"; var isHyper = typeof process !== "undefined" && process.env.TERM_PROGRAM === "Hyper"; var isWindows = typeof process !== "undefined" && process.platform === "win32"; var isLinux = typeof process !== "undefined" && process.platform === "linux"; var common = { ballotDisabled: "\u2612", ballotOff: "\u2610", ballotOn: "\u2611", bullet: "\u2022", bulletWhite: "\u25E6", fullBlock: "\u2588", heart: "\u2764", identicalTo: "\u2261", line: "\u2500", mark: "\u203B", middot: "\xB7", minus: "\uFF0D", multiplication: "\xD7", obelus: "\xF7", pencilDownRight: "\u270E", pencilRight: "\u270F", pencilUpRight: "\u2710", percent: "%", pilcrow2: "\u2761", pilcrow: "\xB6", plusMinus: "\xB1", question: "?", section: "\xA7", starsOff: "\u2606", starsOn: "\u2605", upDownArrow: "\u2195" }; var windows = Object.assign({}, common, { check: "\u221A", cross: "\xD7", ellipsisLarge: "...", ellipsis: "...", info: "i", questionSmall: "?", pointer: ">", pointerSmall: "\xBB", radioOff: "( )", radioOn: "(*)", warning: "\u203C" }); var other = Object.assign({}, common, { ballotCross: "\u2718", check: "\u2714", cross: "\u2716", ellipsisLarge: "\u22EF", ellipsis: "\u2026", info: "\u2139", questionFull: "\uFF1F", questionSmall: "\uFE56", pointer: isLinux ? "\u25B8" : "\u276F", pointerSmall: isLinux ? "\u2023" : "\u203A", radioOff: "\u25EF", radioOn: "\u25C9", warning: "\u26A0" }); module2.exports = isWindows && !isHyper ? windows : other; Reflect.defineProperty(module2.exports, "common", { enumerable: false, value: common }); Reflect.defineProperty(module2.exports, "windows", { enumerable: false, value: windows }); Reflect.defineProperty(module2.exports, "other", { enumerable: false, value: other }); } }); // ../node_modules/.pnpm/ansi-colors@4.1.3/node_modules/ansi-colors/index.js var require_ansi_colors = __commonJS({ "../node_modules/.pnpm/ansi-colors@4.1.3/node_modules/ansi-colors/index.js"(exports2, module2) { "use strict"; var isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); var ANSI_REGEX = /[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g; var hasColor = () => { if (typeof process !== "undefined") { return process.env.FORCE_COLOR !== "0"; } return false; }; var create = () => { const colors = { enabled: hasColor(), visible: true, styles: {}, keys: {} }; const ansi = (style2) => { let open = style2.open = `\x1B[${style2.codes[0]}m`; let close = style2.close = `\x1B[${style2.codes[1]}m`; let regex = style2.regex = new RegExp(`\\u001b\\[${style2.codes[1]}m`, "g"); style2.wrap = (input, newline) => { if (input.includes(close)) input = input.replace(regex, close + open); let output = open + input + close; return newline ? output.replace(/\r*\n/g, `${close}$&${open}`) : output; }; return style2; }; const wrap = (style2, input, newline) => { return typeof style2 === "function" ? style2(input) : style2.wrap(input, newline); }; const style = (input, stack) => { if (input === "" || input == null) return ""; if (colors.enabled === false) return input; if (colors.visible === false) return ""; let str = "" + input; let nl = str.includes("\n"); let n = stack.length; if (n > 0 && stack.includes("unstyle")) { stack = [.../* @__PURE__ */ new Set(["unstyle", ...stack])].reverse(); } while (n-- > 0) str = wrap(colors.styles[stack[n]], str, nl); return str; }; const define2 = (name, codes, type) => { colors.styles[name] = ansi({ name, codes }); let keys = colors.keys[type] || (colors.keys[type] = []); keys.push(name); Reflect.defineProperty(colors, name, { configurable: true, enumerable: true, set(value) { colors.alias(name, value); }, get() { let color = (input) => style(input, color.stack); Reflect.setPrototypeOf(color, colors); color.stack = this.stack ? this.stack.concat(name) : [name]; return color; } }); }; define2("reset", [0, 0], "modifier"); define2("bold", [1, 22], "modifier"); define2("dim", [2, 22], "modifier"); define2("italic", [3, 23], "modifier"); define2("underline", [4, 24], "modifier"); define2("inverse", [7, 27], "modifier"); define2("hidden", [8, 28], "modifier"); define2("strikethrough", [9, 29], "modifier"); define2("black", [30, 39], "color"); define2("red", [31, 39], "color"); define2("green", [32, 39], "color"); define2("yellow", [33, 39], "color"); define2("blue", [34, 39], "color"); define2("magenta", [35, 39], "color"); define2("cyan", [36, 39], "color"); define2("white", [37, 39], "color"); define2("gray", [90, 39], "color"); define2("grey", [90, 39], "color"); define2("bgBlack", [40, 49], "bg"); define2("bgRed", [41, 49], "bg"); define2("bgGreen", [42, 49], "bg"); define2("bgYellow", [43, 49], "bg"); define2("bgBlue", [44, 49], "bg"); define2("bgMagenta", [45, 49], "bg"); define2("bgCyan", [46, 49], "bg"); define2("bgWhite", [47, 49], "bg"); define2("blackBright", [90, 39], "bright"); define2("redBright", [91, 39], "bright"); define2("greenBright", [92, 39], "bright"); define2("yellowBright", [93, 39], "bright"); define2("blueBright", [94, 39], "bright"); define2("magentaBright", [95, 39], "bright"); define2("cyanBright", [96, 39], "bright"); define2("whiteBright", [97, 39], "bright"); define2("bgBlackBright", [100, 49], "bgBright"); define2("bgRedBright", [101, 49], "bgBright"); define2("bgGreenBright", [102, 49], "bgBright"); define2("bgYellowBright", [103, 49], "bgBright"); define2("bgBlueBright", [104, 49], "bgBright"); define2("bgMagentaBright", [105, 49], "bgBright"); define2("bgCyanBright", [106, 49], "bgBright"); define2("bgWhiteBright", [107, 49], "bgBright"); colors.ansiRegex = ANSI_REGEX; colors.hasColor = colors.hasAnsi = (str) => { colors.ansiRegex.lastIndex = 0; return typeof str === "string" && str !== "" && colors.ansiRegex.test(str); }; colors.alias = (name, color) => { let fn = typeof color === "string" ? colors[color] : color; if (typeof fn !== "function") { throw new TypeError("Expected alias to be the name of an existing color (string) or a function"); } if (!fn.stack) { Reflect.defineProperty(fn, "name", { value: name }); colors.styles[name] = fn; fn.stack = [name]; } Reflect.defineProperty(colors, name, { configurable: true, enumerable: true, set(value) { colors.alias(name, value); }, get() { let color2 = (input) => style(input, color2.stack); Reflect.setPrototypeOf(color2, colors); color2.stack = this.stack ? this.stack.concat(fn.stack) : fn.stack; return color2; } }); }; colors.theme = (custom) => { if (!isObject(custom)) throw new TypeError("Expected theme to be an object"); for (let name of Object.keys(custom)) { colors.alias(name, custom[name]); } return colors; }; colors.alias("unstyle", (str) => { if (typeof str === "string" && str !== "") { colors.ansiRegex.lastIndex = 0; return str.replace(colors.ansiRegex, ""); } return ""; }); colors.alias("noop", (str) => str); colors.none = colors.clear = colors.noop; colors.stripColor = colors.unstyle; colors.symbols = require_symbols(); colors.define = define2; return colors; }; module2.exports = create(); module2.exports.create = create; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/utils.js var require_utils15 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/utils.js"(exports2) { "use strict"; var toString = Object.prototype.toString; var colors = require_ansi_colors(); var onExitCalled = false; var onExitCallbacks = /* @__PURE__ */ new Set(); var complements = { "yellow": "blue", "cyan": "red", "green": "magenta", "black": "white", "blue": "yellow", "red": "cyan", "magenta": "green", "white": "black" }; exports2.longest = (arr, prop) => { return arr.reduce((a, v) => Math.max(a, prop ? v[prop].length : v.length), 0); }; exports2.hasColor = (str) => !!str && colors.hasColor(str); var isObject = exports2.isObject = (val) => { return val !== null && typeof val === "object" && !Array.isArray(val); }; exports2.nativeType = (val) => { return toString.call(val).slice(8, -1).toLowerCase().replace(/\s/g, ""); }; exports2.isAsyncFn = (val) => { return exports2.nativeType(val) === "asyncfunction"; }; exports2.isPrimitive = (val) => { return val != null && typeof val !== "object" && typeof val !== "function"; }; exports2.resolve = (context, value, ...rest) => { if (typeof value === "function") { return value.call(context, ...rest); } return value; }; exports2.scrollDown = (choices = []) => [...choices.slice(1), choices[0]]; exports2.scrollUp = (choices = []) => [choices.pop(), ...choices]; exports2.reorder = (arr = []) => { let res = arr.slice(); res.sort((a, b) => { if (a.index > b.index) return 1; if (a.index < b.index) return -1; return 0; }); return res; }; exports2.swap = (arr, index, pos) => { let len = arr.length; let idx = pos === len ? 0 : pos < 0 ? len - 1 : pos; let choice = arr[index]; arr[index] = arr[idx]; arr[idx] = choice; }; exports2.width = (stream, fallback = 80) => { let columns = stream && stream.columns ? stream.columns : fallback; if (stream && typeof stream.getWindowSize === "function") { columns = stream.getWindowSize()[0]; } if (process.platform === "win32") { return columns - 1; } return columns; }; exports2.height = (stream, fallback = 20) => { let rows = stream && stream.rows ? stream.rows : fallback; if (stream && typeof stream.getWindowSize === "function") { rows = stream.getWindowSize()[1]; } return rows; }; exports2.wordWrap = (str, options = {}) => { if (!str) return str; if (typeof options === "number") { options = { width: options }; } let { indent = "", newline = "\n" + indent, width = 80 } = options; let spaces = (newline + indent).match(/[^\S\n]/g) || []; width -= spaces.length; let source = `.{1,${width}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`; let output = str.trim(); let regex = new RegExp(source, "g"); let lines = output.match(regex) || []; lines = lines.map((line) => line.replace(/\n$/, "")); if (options.padEnd) lines = lines.map((line) => line.padEnd(width, " ")); if (options.padStart) lines = lines.map((line) => line.padStart(width, " ")); return indent + lines.join(newline); }; exports2.unmute = (color) => { let name = color.stack.find((n) => colors.keys.color.includes(n)); if (name) { return colors[name]; } let bg = color.stack.find((n) => n.slice(2) === "bg"); if (bg) { return colors[name.slice(2)]; } return (str) => str; }; exports2.pascal = (str) => str ? str[0].toUpperCase() + str.slice(1) : ""; exports2.inverse = (color) => { if (!color || !color.stack) return color; let name = color.stack.find((n) => colors.keys.color.includes(n)); if (name) { let col = colors["bg" + exports2.pascal(name)]; return col ? col.black : color; } let bg = color.stack.find((n) => n.slice(0, 2) === "bg"); if (bg) { return colors[bg.slice(2).toLowerCase()] || color; } return colors.none; }; exports2.complement = (color) => { if (!color || !color.stack) return color; let name = color.stack.find((n) => colors.keys.color.includes(n)); let bg = color.stack.find((n) => n.slice(0, 2) === "bg"); if (name && !bg) { return colors[complements[name] || name]; } if (bg) { let lower = bg.slice(2).toLowerCase(); let comp = complements[lower]; if (!comp) return color; return colors["bg" + exports2.pascal(comp)] || color; } return colors.none; }; exports2.meridiem = (date) => { let hours = date.getHours(); let minutes = date.getMinutes(); let ampm = hours >= 12 ? "pm" : "am"; hours = hours % 12; let hrs = hours === 0 ? 12 : hours; let min = minutes < 10 ? "0" + minutes : minutes; return hrs + ":" + min + " " + ampm; }; exports2.set = (obj = {}, prop = "", val) => { return prop.split(".").reduce((acc, k, i, arr) => { let value = arr.length - 1 > i ? acc[k] || {} : val; if (!exports2.isObject(value) && i < arr.length - 1) value = {}; return acc[k] = value; }, obj); }; exports2.get = (obj = {}, prop = "", fallback) => { let value = obj[prop] == null ? prop.split(".").reduce((acc, k) => acc && acc[k], obj) : obj[prop]; return value == null ? fallback : value; }; exports2.mixin = (target, b) => { if (!isObject(target)) return b; if (!isObject(b)) return target; for (let key of Object.keys(b)) { let desc = Object.getOwnPropertyDescriptor(b, key); if (hasOwnProperty.call(desc, "value")) { if (hasOwnProperty.call(target, key) && isObject(desc.value)) { let existing = Object.getOwnPropertyDescriptor(target, key); if (isObject(existing.value) && existing.value !== desc.value) { target[key] = exports2.merge({}, target[key], b[key]); } else { Reflect.defineProperty(target, key, desc); } } else { Reflect.defineProperty(target, key, desc); } } else { Reflect.defineProperty(target, key, desc); } } return target; }; exports2.merge = (...args) => { let target = {}; for (let ele of args) exports2.mixin(target, ele); return target; }; exports2.mixinEmitter = (obj, emitter) => { let proto = emitter.constructor.prototype; for (let key of Object.keys(proto)) { let val = proto[key]; if (typeof val === "function") { exports2.define(obj, key, val.bind(emitter)); } else { exports2.define(obj, key, val); } } }; var onExit = (quit, code) => { if (onExitCalled) return; onExitCalled = true; onExitCallbacks.forEach((fn) => fn()); if (quit === true) { process.exit(128 + code); } }; var onSigTerm = onExit.bind(null, true, 15); var onSigInt = onExit.bind(null, true, 2); exports2.onExit = (callback) => { if (onExitCallbacks.size === 0) { process.once("SIGTERM", onSigTerm); process.once("SIGINT", onSigInt); process.once("exit", onExit); } onExitCallbacks.add(callback); return () => { onExitCallbacks.delete(callback); if (onExitCallbacks.size === 0) { process.off("SIGTERM", onSigTerm); process.off("SIGINT", onSigInt); process.off("exit", onExit); } }; }; exports2.define = (obj, key, value) => { Reflect.defineProperty(obj, key, { value }); }; exports2.defineExport = (obj, key, fn) => { let custom; Reflect.defineProperty(obj, key, { enumerable: true, configurable: true, set(val) { custom = val; }, get() { return custom ? custom() : fn(); } }); }; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/combos.js var require_combos = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/combos.js"(exports2) { "use strict"; exports2.ctrl = { a: "first", b: "backward", c: "cancel", d: "deleteForward", e: "last", f: "forward", g: "reset", i: "tab", k: "cutForward", l: "reset", n: "newItem", m: "cancel", j: "submit", p: "search", r: "remove", s: "save", u: "undo", w: "cutLeft", x: "toggleCursor", v: "paste" }; exports2.shift = { up: "shiftUp", down: "shiftDown", left: "shiftLeft", right: "shiftRight", tab: "prev" }; exports2.fn = { up: "pageUp", down: "pageDown", left: "pageLeft", right: "pageRight", delete: "deleteForward" }; exports2.option = { b: "backward", f: "forward", d: "cutRight", left: "cutLeft", up: "altUp", down: "altDown" }; exports2.keys = { pageup: "pageUp", // + (mac), (windows) pagedown: "pageDown", // + (mac), (windows) home: "home", // + (mac), (windows) end: "end", // + (mac), (windows) cancel: "cancel", delete: "deleteForward", backspace: "delete", down: "down", enter: "submit", escape: "cancel", left: "left", space: "space", number: "number", return: "submit", right: "right", tab: "next", up: "up" }; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/queue.js var require_queue4 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/queue.js"(exports2, module2) { "use strict"; module2.exports = class Queue { _queue = []; _executing = false; _jobRunner = null; constructor(jobRunner) { this._jobRunner = jobRunner; } enqueue = (...args) => { this._queue.push(args); this._dequeue(); }; destroy() { this._queue.length = 0; this._jobRunner = null; } _dequeue() { if (this._executing || !this._queue.length) return; this._executing = true; this._jobRunner(...this._queue.shift()); setTimeout(() => { this._executing = false; this._dequeue(); }); } }; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/keypress.js var require_keypress = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/keypress.js"(exports2, module2) { "use strict"; var readline = require("readline"); var combos = require_combos(); var Queue = require_queue4(); var metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/; var fnKeyRe = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/; var keyName = { /* xterm/gnome ESC O letter */ "OP": "f1", "OQ": "f2", "OR": "f3", "OS": "f4", /* xterm/rxvt ESC [ number ~ */ "[11~": "f1", "[12~": "f2", "[13~": "f3", "[14~": "f4", /* from Cygwin and used in libuv */ "[[A": "f1", "[[B": "f2", "[[C": "f3", "[[D": "f4", "[[E": "f5", /* common */ "[15~": "f5", "[17~": "f6", "[18~": "f7", "[19~": "f8", "[20~": "f9", "[21~": "f10", "[23~": "f11", "[24~": "f12", /* xterm ESC [ letter */ "[A": "up", "[B": "down", "[C": "right", "[D": "left", "[E": "clear", "[F": "end", "[H": "home", /* xterm/gnome ESC O letter */ "OA": "up", "OB": "down", "OC": "right", "OD": "left", "OE": "clear", "OF": "end", "OH": "home", /* xterm/rxvt ESC [ number ~ */ "[1~": "home", "[2~": "insert", "[3~": "delete", "[4~": "end", "[5~": "pageup", "[6~": "pagedown", /* putty */ "[[5~": "pageup", "[[6~": "pagedown", /* rxvt */ "[7~": "home", "[8~": "end", /* rxvt keys with modifiers */ "[a": "up", "[b": "down", "[c": "right", "[d": "left", "[e": "clear", "[2$": "insert", "[3$": "delete", "[5$": "pageup", "[6$": "pagedown", "[7$": "home", "[8$": "end", "Oa": "up", "Ob": "down", "Oc": "right", "Od": "left", "Oe": "clear", "[2^": "insert", "[3^": "delete", "[5^": "pageup", "[6^": "pagedown", "[7^": "home", "[8^": "end", /* misc. */ "[Z": "tab" }; function isShiftKey(code) { return ["[a", "[b", "[c", "[d", "[e", "[2$", "[3$", "[5$", "[6$", "[7$", "[8$", "[Z"].includes(code); } function isCtrlKey(code) { return ["Oa", "Ob", "Oc", "Od", "Oe", "[2^", "[3^", "[5^", "[6^", "[7^", "[8^"].includes(code); } var keypress = (s = "", event = {}) => { let parts; let key = { name: event.name, ctrl: false, meta: false, shift: false, option: false, sequence: s, raw: s, ...event }; if (Buffer.isBuffer(s)) { if (s[0] > 127 && s[1] === void 0) { s[0] -= 128; s = "\x1B" + String(s); } else { s = String(s); } } else if (s !== void 0 && typeof s !== "string") { s = String(s); } else if (!s) { s = key.sequence || ""; } key.sequence = key.sequence || s || key.name; if (s === "\r") { key.raw = void 0; key.name = "return"; } else if (s === "\n") { key.name = "enter"; } else if (s === " ") { key.name = "tab"; } else if (s === "\b" || s === "\x7F" || s === "\x1B\x7F" || s === "\x1B\b") { key.name = "backspace"; key.meta = s.charAt(0) === "\x1B"; } else if (s === "\x1B" || s === "\x1B\x1B") { key.name = "escape"; key.meta = s.length === 2; } else if (s === " " || s === "\x1B ") { key.name = "space"; key.meta = s.length === 2; } else if (s <= "") { key.name = String.fromCharCode(s.charCodeAt(0) + "a".charCodeAt(0) - 1); key.ctrl = true; } else if (s.length === 1 && s >= "0" && s <= "9") { key.name = "number"; } else if (s.length === 1 && s >= "a" && s <= "z") { key.name = s; } else if (s.length === 1 && s >= "A" && s <= "Z") { key.name = s.toLowerCase(); key.shift = true; } else if (parts = metaKeyCodeRe.exec(s)) { key.meta = true; key.shift = /^[A-Z]$/.test(parts[1]); } else if (parts = fnKeyRe.exec(s)) { let segs = [...s]; if (segs[0] === "\x1B" && segs[1] === "\x1B") { key.option = true; } let code = [parts[1], parts[2], parts[4], parts[6]].filter(Boolean).join(""); let modifier = (parts[3] || parts[5] || 1) - 1; key.ctrl = !!(modifier & 4); key.meta = !!(modifier & 10); key.shift = !!(modifier & 1); key.code = code; key.name = keyName[code]; key.shift = isShiftKey(code) || key.shift; key.ctrl = isCtrlKey(code) || key.ctrl; } return key; }; keypress.listen = (options = {}, onKeypress) => { let { stdin } = options; if (!stdin || stdin !== process.stdin && !stdin.isTTY) { throw new Error("Invalid stream passed"); } let rl = readline.createInterface({ terminal: true, input: stdin }); readline.emitKeypressEvents(stdin, rl); const queue = new Queue((buf, key) => onKeypress(buf, keypress(buf, key), rl)); let isRaw = stdin.isRaw; if (stdin.isTTY) stdin.setRawMode(true); stdin.on("keypress", queue.enqueue); rl.resume(); let off = () => { if (stdin.isTTY) stdin.setRawMode(isRaw); stdin.removeListener("keypress", queue.enqueue); queue.destroy(); rl.pause(); rl.close(); }; return off; }; keypress.action = (buf, key, customActions) => { let obj = { ...combos, ...customActions }; if (key.ctrl) { key.action = obj.ctrl[key.name]; return key; } if (key.option && obj.option) { key.action = obj.option[key.name]; return key; } if (key.shift) { key.action = obj.shift[key.name]; return key; } key.action = obj.keys[key.name]; return key; }; module2.exports = keypress; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/timer.js var require_timer2 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/timer.js"(exports2, module2) { "use strict"; module2.exports = (prompt) => { prompt.timers = prompt.timers || {}; let timers = prompt.options.timers; if (!timers) return; for (let key of Object.keys(timers)) { let opts = timers[key]; if (typeof opts === "number") { opts = { interval: opts }; } create(prompt, key, opts); } }; function create(prompt, name, options = {}) { let timer = prompt.timers[name] = { name, start: Date.now(), ms: 0, tick: 0 }; let ms = options.interval || 120; timer.frames = options.frames || []; timer.loading = true; let interval = setInterval(() => { timer.ms = Date.now() - timer.start; timer.tick++; prompt.render(); }, ms); timer.stop = () => { timer.loading = false; clearInterval(interval); }; Reflect.defineProperty(timer, "interval", { value: interval }); prompt.once("close", () => timer.stop()); return timer.stop; } } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/state.js var require_state2 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/state.js"(exports2, module2) { "use strict"; var { define: define2, width } = require_utils15(); var State = class { constructor(prompt) { let options = prompt.options; define2(this, "_prompt", prompt); this.type = prompt.type; this.name = prompt.name; this.message = ""; this.header = ""; this.footer = ""; this.error = ""; this.hint = ""; this.input = ""; this.cursor = 0; this.index = 0; this.lines = 0; this.tick = 0; this.prompt = ""; this.buffer = ""; this.width = width(options.stdout || process.stdout); Object.assign(this, options); this.name = this.name || this.message; this.message = this.message || this.name; this.symbols = prompt.symbols; this.styles = prompt.styles; this.required = /* @__PURE__ */ new Set(); this.cancelled = false; this.submitted = false; } clone() { let state = { ...this }; state.status = this.status; state.buffer = Buffer.from(state.buffer); delete state.clone; return state; } set color(val) { this._color = val; } get color() { let styles = this.prompt.styles; if (this.cancelled) return styles.cancelled; if (this.submitted) return styles.submitted; let color = this._color || styles[this.status]; return typeof color === "function" ? color : styles.pending; } set loading(value) { this._loading = value; } get loading() { if (typeof this._loading === "boolean") return this._loading; if (this.loadingChoices) return "choices"; return false; } get status() { if (this.cancelled) return "cancelled"; if (this.submitted) return "submitted"; return "pending"; } }; module2.exports = State; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/styles.js var require_styles = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/styles.js"(exports2, module2) { "use strict"; var utils = require_utils15(); var colors = require_ansi_colors(); var styles = { default: colors.noop, noop: colors.noop, /** * Modifiers */ set inverse(custom) { this._inverse = custom; }, get inverse() { return this._inverse || utils.inverse(this.primary); }, set complement(custom) { this._complement = custom; }, get complement() { return this._complement || utils.complement(this.primary); }, /** * Main color */ primary: colors.cyan, /** * Main palette */ success: colors.green, danger: colors.magenta, strong: colors.bold, warning: colors.yellow, muted: colors.dim, disabled: colors.gray, dark: colors.dim.gray, underline: colors.underline, set info(custom) { this._info = custom; }, get info() { return this._info || this.primary; }, set em(custom) { this._em = custom; }, get em() { return this._em || this.primary.underline; }, set heading(custom) { this._heading = custom; }, get heading() { return this._heading || this.muted.underline; }, /** * Statuses */ set pending(custom) { this._pending = custom; }, get pending() { return this._pending || this.primary; }, set submitted(custom) { this._submitted = custom; }, get submitted() { return this._submitted || this.success; }, set cancelled(custom) { this._cancelled = custom; }, get cancelled() { return this._cancelled || this.danger; }, /** * Special styling */ set typing(custom) { this._typing = custom; }, get typing() { return this._typing || this.dim; }, set placeholder(custom) { this._placeholder = custom; }, get placeholder() { return this._placeholder || this.primary.dim; }, set highlight(custom) { this._highlight = custom; }, get highlight() { return this._highlight || this.inverse; } }; styles.merge = (options = {}) => { if (options.styles && typeof options.styles.enabled === "boolean") { colors.enabled = options.styles.enabled; } if (options.styles && typeof options.styles.visible === "boolean") { colors.visible = options.styles.visible; } let result2 = utils.merge({}, styles, options.styles); delete result2.merge; for (let key of Object.keys(colors)) { if (!hasOwnProperty.call(result2, key)) { Reflect.defineProperty(result2, key, { get: () => colors[key] }); } } for (let key of Object.keys(colors.styles)) { if (!hasOwnProperty.call(result2, key)) { Reflect.defineProperty(result2, key, { get: () => colors[key] }); } } return result2; }; module2.exports = styles; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/symbols.js var require_symbols2 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/symbols.js"(exports2, module2) { "use strict"; var isWindows = process.platform === "win32"; var colors = require_ansi_colors(); var utils = require_utils15(); var symbols = { ...colors.symbols, upDownDoubleArrow: "\u21D5", upDownDoubleArrow2: "\u2B0D", upDownArrow: "\u2195", asterisk: "*", asterism: "\u2042", bulletWhite: "\u25E6", electricArrow: "\u2301", ellipsisLarge: "\u22EF", ellipsisSmall: "\u2026", fullBlock: "\u2588", identicalTo: "\u2261", indicator: colors.symbols.check, leftAngle: "\u2039", mark: "\u203B", minus: "\u2212", multiplication: "\xD7", obelus: "\xF7", percent: "%", pilcrow: "\xB6", pilcrow2: "\u2761", pencilUpRight: "\u2710", pencilDownRight: "\u270E", pencilRight: "\u270F", plus: "+", plusMinus: "\xB1", pointRight: "\u261E", rightAngle: "\u203A", section: "\xA7", hexagon: { off: "\u2B21", on: "\u2B22", disabled: "\u2B22" }, ballot: { on: "\u2611", off: "\u2610", disabled: "\u2612" }, stars: { on: "\u2605", off: "\u2606", disabled: "\u2606" }, folder: { on: "\u25BC", off: "\u25B6", disabled: "\u25B6" }, prefix: { pending: colors.symbols.question, submitted: colors.symbols.check, cancelled: colors.symbols.cross }, separator: { pending: colors.symbols.pointerSmall, submitted: colors.symbols.middot, cancelled: colors.symbols.middot }, radio: { off: isWindows ? "( )" : "\u25EF", on: isWindows ? "(*)" : "\u25C9", disabled: isWindows ? "(|)" : "\u24BE" }, numbers: ["\u24EA", "\u2460", "\u2461", "\u2462", "\u2463", "\u2464", "\u2465", "\u2466", "\u2467", "\u2468", "\u2469", "\u246A", "\u246B", "\u246C", "\u246D", "\u246E", "\u246F", "\u2470", "\u2471", "\u2472", "\u2473", "\u3251", "\u3252", "\u3253", "\u3254", "\u3255", "\u3256", "\u3257", "\u3258", "\u3259", "\u325A", "\u325B", "\u325C", "\u325D", "\u325E", "\u325F", "\u32B1", "\u32B2", "\u32B3", "\u32B4", "\u32B5", "\u32B6", "\u32B7", "\u32B8", "\u32B9", "\u32BA", "\u32BB", "\u32BC", "\u32BD", "\u32BE", "\u32BF"] }; symbols.merge = (options) => { let result2 = utils.merge({}, colors.symbols, symbols, options.symbols); delete result2.merge; return result2; }; module2.exports = symbols; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/theme.js var require_theme = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/theme.js"(exports2, module2) { "use strict"; var styles = require_styles(); var symbols = require_symbols2(); var utils = require_utils15(); module2.exports = (prompt) => { prompt.options = utils.merge({}, prompt.options.theme, prompt.options); prompt.symbols = symbols.merge(prompt.options); prompt.styles = styles.merge(prompt.options); }; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/ansi.js var require_ansi = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/ansi.js"(exports2, module2) { "use strict"; var isTerm = process.env.TERM_PROGRAM === "Apple_Terminal"; var stripAnsi = require_strip_ansi(); var utils = require_utils15(); var ansi = module2.exports = exports2; var ESC = "\x1B["; var BEL = "\x07"; var hidden = false; var code = ansi.code = { bell: BEL, beep: BEL, beginning: `${ESC}G`, down: `${ESC}J`, esc: ESC, getPosition: `${ESC}6n`, hide: `${ESC}?25l`, line: `${ESC}2K`, lineEnd: `${ESC}K`, lineStart: `${ESC}1K`, restorePosition: ESC + (isTerm ? "8" : "u"), savePosition: ESC + (isTerm ? "7" : "s"), screen: `${ESC}2J`, show: `${ESC}?25h`, up: `${ESC}1J` }; var cursor = ansi.cursor = { get hidden() { return hidden; }, hide() { hidden = true; return code.hide; }, show() { hidden = false; return code.show; }, forward: (count = 1) => `${ESC}${count}C`, backward: (count = 1) => `${ESC}${count}D`, nextLine: (count = 1) => `${ESC}E`.repeat(count), prevLine: (count = 1) => `${ESC}F`.repeat(count), up: (count = 1) => count ? `${ESC}${count}A` : "", down: (count = 1) => count ? `${ESC}${count}B` : "", right: (count = 1) => count ? `${ESC}${count}C` : "", left: (count = 1) => count ? `${ESC}${count}D` : "", to(x, y) { return y ? `${ESC}${y + 1};${x + 1}H` : `${ESC}${x + 1}G`; }, move(x = 0, y = 0) { let res = ""; res += x < 0 ? cursor.left(-x) : x > 0 ? cursor.right(x) : ""; res += y < 0 ? cursor.up(-y) : y > 0 ? cursor.down(y) : ""; return res; }, strLen(str) { var realLength = 0, len = str.length, charCode = -1; for (var i = 0; i < len; i++) { charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <= 128) realLength += 1; else realLength += 2; } return realLength; }, restore(state = {}) { let { after, cursor: cursor2, initial, input, prompt, size, value } = state; initial = utils.isPrimitive(initial) ? String(initial) : ""; input = utils.isPrimitive(input) ? String(input) : ""; value = utils.isPrimitive(value) ? String(value) : ""; if (size) { let codes = ansi.cursor.up(size) + ansi.cursor.to(this.strLen(prompt)); let diff = input.length - cursor2; if (diff > 0) { codes += ansi.cursor.left(diff); } return codes; } if (value || after) { let pos = !input && !!initial ? -this.strLen(initial) : -this.strLen(input) + cursor2; if (after) pos -= this.strLen(after); if (input === "" && initial && !prompt.includes(initial)) { pos += this.strLen(initial); } return ansi.cursor.move(pos); } } }; var erase = ansi.erase = { screen: code.screen, up: code.up, down: code.down, line: code.line, lineEnd: code.lineEnd, lineStart: code.lineStart, lines(n) { let str = ""; for (let i = 0; i < n; i++) { str += ansi.erase.line + (i < n - 1 ? ansi.cursor.up(1) : ""); } if (n) str += ansi.code.beginning; return str; } }; ansi.clear = (input = "", columns = process.stdout.columns) => { if (!columns) return erase.line + cursor.to(0); let width = (str) => [...stripAnsi(str)].length; let lines = input.split(/\r?\n/); let rows = 0; for (let line of lines) { rows += 1 + Math.floor(Math.max(width(line) - 1, 0) / columns); } return (erase.line + cursor.prevLine()).repeat(rows - 1) + erase.line + cursor.to(0); }; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompt.js var require_prompt = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompt.js"(exports2, module2) { "use strict"; var Events = require("events"); var stripAnsi = require_strip_ansi(); var keypress = require_keypress(); var timer = require_timer2(); var State = require_state2(); var theme = require_theme(); var utils = require_utils15(); var ansi = require_ansi(); var Prompt = class _Prompt extends Events { constructor(options = {}) { super(); this.name = options.name; this.type = options.type; this.options = options; theme(this); timer(this); this.state = new State(this); this.initial = [options.initial, options.default].find((v) => v != null); this.stdout = options.stdout || process.stdout; this.stdin = options.stdin || process.stdin; this.scale = options.scale || 1; this.term = this.options.term || process.env.TERM_PROGRAM; this.margin = margin(this.options.margin); this.setMaxListeners(0); setOptions(this); } async keypress(input, event = {}) { this.keypressed = true; let key = keypress.action(input, keypress(input, event), this.options.actions); this.state.keypress = key; this.emit("keypress", input, key); this.emit("state", this.state.clone()); const fn = this.options[key.action] || this[key.action] || this.dispatch; if (typeof fn === "function") { return await fn.call(this, input, key); } this.alert(); } alert() { delete this.state.alert; if (this.options.show === false) { this.emit("alert"); } else { this.stdout.write(ansi.code.beep); } } cursorHide() { this.stdout.write(ansi.cursor.hide()); const releaseOnExit = utils.onExit(() => this.cursorShow()); this.on("close", () => { this.cursorShow(); releaseOnExit(); }); } cursorShow() { this.stdout.write(ansi.cursor.show()); } write(str) { if (!str) return; if (this.stdout && this.state.show !== false) { this.stdout.write(str); } this.state.buffer += str; } clear(lines = 0) { let buffer = this.state.buffer; this.state.buffer = ""; if (!buffer && !lines || this.options.show === false) return; this.stdout.write(ansi.cursor.down(lines) + ansi.clear(buffer, this.width)); } restore() { if (this.state.closed || this.options.show === false) return; let { prompt, after, rest } = this.sections(); let { cursor, initial = "", input = "", value = "" } = this; let size = this.state.size = rest.length; let state = { after, cursor, initial, input, prompt, size, value }; let codes = ansi.cursor.restore(state); if (codes) { this.stdout.write(codes); } } sections() { let { buffer, input, prompt } = this.state; prompt = stripAnsi(prompt); let buf = stripAnsi(buffer); let idx = buf.indexOf(prompt); let header = buf.slice(0, idx); let rest = buf.slice(idx); let lines = rest.split("\n"); let first = lines[0]; let last = lines[lines.length - 1]; let promptLine = prompt + (input ? " " + input : ""); let len = promptLine.length; let after = len < first.length ? first.slice(len + 1) : ""; return { header, prompt: first, after, rest: lines.slice(1), last }; } async submit() { this.state.submitted = true; this.state.validating = true; if (this.options.onSubmit) { await this.options.onSubmit.call(this, this.name, this.value, this); } let result2 = this.state.error || await this.validate(this.value, this.state); if (result2 !== true) { let error = "\n" + this.symbols.pointer + " "; if (typeof result2 === "string") { error += result2.trim(); } else { error += "Invalid input"; } this.state.error = "\n" + this.styles.danger(error); this.state.submitted = false; await this.render(); await this.alert(); this.state.validating = false; this.state.error = void 0; return; } this.state.validating = false; await this.render(); await this.close(); this.value = await this.result(this.value); this.emit("submit", this.value); } async cancel(err) { this.state.cancelled = this.state.submitted = true; await this.render(); await this.close(); if (typeof this.options.onCancel === "function") { await this.options.onCancel.call(this, this.name, this.value, this); } this.emit("cancel", await this.error(err)); } async close() { this.state.closed = true; try { let sections = this.sections(); let lines = Math.ceil(sections.prompt.length / this.width); if (sections.rest) { this.write(ansi.cursor.down(sections.rest.length)); } this.write("\n".repeat(lines)); } catch (err) { } this.emit("close"); } start() { if (!this.stop && this.options.show !== false) { this.stop = keypress.listen(this, this.keypress.bind(this)); this.once("close", this.stop); this.emit("start", this); } } async skip() { this.skipped = this.options.skip === true; if (typeof this.options.skip === "function") { this.skipped = await this.options.skip.call(this, this.name, this.value); } return this.skipped; } async initialize() { let { format, options, result: result2 } = this; this.format = () => format.call(this, this.value); this.result = () => result2.call(this, this.value); if (typeof options.initial === "function") { this.initial = await options.initial.call(this, this); } if (typeof options.onRun === "function") { await options.onRun.call(this, this); } if (typeof options.onSubmit === "function") { let onSubmit = options.onSubmit.bind(this); let submit = this.submit.bind(this); delete this.options.onSubmit; this.submit = async () => { await onSubmit(this.name, this.value, this); return submit(); }; } await this.start(); await this.render(); } render() { throw new Error("expected prompt to have a custom render method"); } run() { return new Promise(async (resolve, reject) => { this.once("submit", resolve); this.once("cancel", reject); if (await this.skip()) { this.render = () => { }; return this.submit(); } await this.initialize(); this.emit("run"); }); } async element(name, choice, i) { let { options, state, symbols, timers } = this; let timer2 = timers && timers[name]; state.timer = timer2; let value = options[name] || state[name] || symbols[name]; let val = choice && choice[name] != null ? choice[name] : await value; if (val === "") return val; let res = await this.resolve(val, state, choice, i); if (!res && choice && choice[name]) { return this.resolve(value, state, choice, i); } return res; } async prefix() { let element = await this.element("prefix") || this.symbols; let timer2 = this.timers && this.timers.prefix; let state = this.state; state.timer = timer2; if (utils.isObject(element)) element = element[state.status] || element.pending; if (!utils.hasColor(element)) { let style = this.styles[state.status] || this.styles.pending; return style(element); } return element; } async message() { let message = await this.element("message"); if (!utils.hasColor(message)) { return this.styles.strong(message); } return message; } async separator() { let element = await this.element("separator") || this.symbols; let timer2 = this.timers && this.timers.separator; let state = this.state; state.timer = timer2; let value = element[state.status] || element.pending || state.separator; let ele = await this.resolve(value, state); if (utils.isObject(ele)) ele = ele[state.status] || ele.pending; if (!utils.hasColor(ele)) { return this.styles.muted(ele); } return ele; } async pointer(choice, i) { let val = await this.element("pointer", choice, i); if (typeof val === "string" && utils.hasColor(val)) { return val; } if (val) { let styles = this.styles; let focused = this.index === i; let style = focused ? styles.primary : (val2) => val2; let ele = await this.resolve(val[focused ? "on" : "off"] || val, this.state); let styled = !utils.hasColor(ele) ? style(ele) : ele; return focused ? styled : " ".repeat(ele.length); } } async indicator(choice, i) { let val = await this.element("indicator", choice, i); if (typeof val === "string" && utils.hasColor(val)) { return val; } if (val) { let styles = this.styles; let enabled = choice.enabled === true; let style = enabled ? styles.success : styles.dark; let ele = val[enabled ? "on" : "off"] || val; return !utils.hasColor(ele) ? style(ele) : ele; } return ""; } body() { return null; } footer() { if (this.state.status === "pending") { return this.element("footer"); } } header() { if (this.state.status === "pending") { return this.element("header"); } } async hint() { if (this.state.status === "pending" && !this.isValue(this.state.input)) { let hint = await this.element("hint"); if (!utils.hasColor(hint)) { return this.styles.muted(hint); } return hint; } } error(err) { return !this.state.submitted ? err || this.state.error : ""; } format(value) { return value; } result(value) { return value; } validate(value) { if (this.options.required === true) { return this.isValue(value); } return true; } isValue(value) { return value != null && value !== ""; } resolve(value, ...args) { return utils.resolve(this, value, ...args); } get base() { return _Prompt.prototype; } get style() { return this.styles[this.state.status]; } get height() { return this.options.rows || utils.height(this.stdout, 25); } get width() { return this.options.columns || utils.width(this.stdout, 80); } get size() { return { width: this.width, height: this.height }; } set cursor(value) { this.state.cursor = value; } get cursor() { return this.state.cursor; } set input(value) { this.state.input = value; } get input() { return this.state.input; } set value(value) { this.state.value = value; } get value() { let { input, value } = this.state; let result2 = [value, input].find(this.isValue.bind(this)); return this.isValue(result2) ? result2 : this.initial; } static get prompt() { return (options) => new this(options).run(); } }; function setOptions(prompt) { let isValidKey = (key) => { return prompt[key] === void 0 || typeof prompt[key] === "function"; }; let ignore = [ "actions", "choices", "initial", "margin", "roles", "styles", "symbols", "theme", "timers", "value" ]; let ignoreFn = [ "body", "footer", "error", "header", "hint", "indicator", "message", "prefix", "separator", "skip" ]; for (let key of Object.keys(prompt.options)) { if (ignore.includes(key)) continue; if (/^on[A-Z]/.test(key)) continue; let option = prompt.options[key]; if (typeof option === "function" && isValidKey(key)) { if (!ignoreFn.includes(key)) { prompt[key] = option.bind(prompt); } } else if (typeof prompt[key] !== "function") { prompt[key] = option; } } } function margin(value) { if (typeof value === "number") { value = [value, value, value, value]; } let arr = [].concat(value || []); let pad = (i) => i % 2 === 0 ? "\n" : " "; let res = []; for (let i = 0; i < 4; i++) { let char = pad(i); if (arr[i]) { res.push(char.repeat(arr[i])); } else { res.push(""); } } return res; } module2.exports = Prompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/roles.js var require_roles = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/roles.js"(exports2, module2) { "use strict"; var utils = require_utils15(); var roles = { default(prompt, choice) { return choice; }, checkbox(prompt, choice) { throw new Error("checkbox role is not implemented yet"); }, editable(prompt, choice) { throw new Error("editable role is not implemented yet"); }, expandable(prompt, choice) { throw new Error("expandable role is not implemented yet"); }, heading(prompt, choice) { choice.disabled = ""; choice.indicator = [choice.indicator, " "].find((v) => v != null); choice.message = choice.message || ""; return choice; }, input(prompt, choice) { throw new Error("input role is not implemented yet"); }, option(prompt, choice) { return roles.default(prompt, choice); }, radio(prompt, choice) { throw new Error("radio role is not implemented yet"); }, separator(prompt, choice) { choice.disabled = ""; choice.indicator = [choice.indicator, " "].find((v) => v != null); choice.message = choice.message || prompt.symbols.line.repeat(5); return choice; }, spacer(prompt, choice) { return choice; } }; module2.exports = (name, options = {}) => { let role = utils.merge({}, roles, options.roles); return role[name] || role.default; }; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/array.js var require_array2 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/array.js"(exports2, module2) { "use strict"; var stripAnsi = require_strip_ansi(); var Prompt = require_prompt(); var roles = require_roles(); var utils = require_utils15(); var { reorder, scrollUp, scrollDown, isObject, swap } = utils; var ArrayPrompt = class extends Prompt { constructor(options) { super(options); this.cursorHide(); this.maxSelected = options.maxSelected || Infinity; this.multiple = options.multiple || false; this.initial = options.initial || 0; this.delay = options.delay || 0; this.longest = 0; this.num = ""; } async initialize() { if (typeof this.options.initial === "function") { this.initial = await this.options.initial.call(this); } await this.reset(true); await super.initialize(); } async reset() { let { choices, initial, autofocus, suggest } = this.options; this.state._choices = []; this.state.choices = []; this.choices = await Promise.all(await this.toChoices(choices)); this.choices.forEach((ch) => ch.enabled = false); if (typeof suggest !== "function" && this.selectable.length === 0) { throw new Error("At least one choice must be selectable"); } if (isObject(initial)) initial = Object.keys(initial); if (Array.isArray(initial)) { if (autofocus != null) this.index = this.findIndex(autofocus); initial.forEach((v) => this.enable(this.find(v))); await this.render(); } else { if (autofocus != null) initial = autofocus; if (typeof initial === "string") initial = this.findIndex(initial); if (typeof initial === "number" && initial > -1) { this.index = Math.max(0, Math.min(initial, this.choices.length)); this.enable(this.find(this.index)); } } if (this.isDisabled(this.focused)) { await this.down(); } } async toChoices(value, parent) { this.state.loadingChoices = true; let choices = []; let index = 0; let toChoices = async (items, parent2) => { if (typeof items === "function") items = await items.call(this); if (items instanceof Promise) items = await items; for (let i = 0; i < items.length; i++) { let choice = items[i] = await this.toChoice(items[i], index++, parent2); choices.push(choice); if (choice.choices) { await toChoices(choice.choices, choice); } } return choices; }; return toChoices(value, parent).then((choices2) => { this.state.loadingChoices = false; return choices2; }); } async toChoice(ele, i, parent) { if (typeof ele === "function") ele = await ele.call(this, this); if (ele instanceof Promise) ele = await ele; if (typeof ele === "string") ele = { name: ele }; if (ele.normalized) return ele; ele.normalized = true; let origVal = ele.value; let role = roles(ele.role, this.options); ele = role(this, ele); if (typeof ele.disabled === "string" && !ele.hint) { ele.hint = ele.disabled; ele.disabled = true; } if (ele.disabled === true && ele.hint == null) { ele.hint = "(disabled)"; } if (ele.index != null) return ele; ele.name = ele.name || ele.key || ele.title || ele.value || ele.message; ele.message = ele.message || ele.name || ""; ele.value = [ele.value, ele.name].find(this.isValue.bind(this)); ele.input = ""; ele.index = i; ele.cursor = 0; utils.define(ele, "parent", parent); ele.level = parent ? parent.level + 1 : 1; if (ele.indent == null) { ele.indent = parent ? parent.indent + " " : ele.indent || ""; } ele.path = parent ? parent.path + "." + ele.name : ele.name; ele.enabled = !!(this.multiple && !this.isDisabled(ele) && (ele.enabled || this.isSelected(ele))); if (!this.isDisabled(ele)) { this.longest = Math.max(this.longest, stripAnsi(ele.message).length); } let choice = { ...ele }; ele.reset = (input = choice.input, value = choice.value) => { for (let key of Object.keys(choice)) ele[key] = choice[key]; ele.input = input; ele.value = value; }; if (origVal == null && typeof ele.initial === "function") { ele.input = await ele.initial.call(this, this.state, ele, i); } return ele; } async onChoice(choice, i) { this.emit("choice", choice, i, this); if (typeof choice.onChoice === "function") { await choice.onChoice.call(this, this.state, choice, i); } } async addChoice(ele, i, parent) { let choice = await this.toChoice(ele, i, parent); this.choices.push(choice); this.index = this.choices.length - 1; this.limit = this.choices.length; return choice; } async newItem(item, i, parent) { let ele = { name: "New choice name?", editable: true, newChoice: true, ...item }; let choice = await this.addChoice(ele, i, parent); choice.updateChoice = () => { delete choice.newChoice; choice.name = choice.message = choice.input; choice.input = ""; choice.cursor = 0; }; return this.render(); } indent(choice) { if (choice.indent == null) { return choice.level > 1 ? " ".repeat(choice.level - 1) : ""; } return choice.indent; } dispatch(s, key) { if (this.multiple && this[key.name]) return this[key.name](); this.alert(); } focus(choice, enabled) { if (typeof enabled !== "boolean") enabled = choice.enabled; if (enabled && !choice.enabled && this.selected.length >= this.maxSelected) { return this.alert(); } this.index = choice.index; choice.enabled = enabled && !this.isDisabled(choice); return choice; } space() { if (!this.multiple) return this.alert(); if (!this.focused) return; this.toggle(this.focused); return this.render(); } a() { if (this.maxSelected < this.choices.length) return this.alert(); let enabled = this.selectable.every((ch) => ch.enabled); this.choices.forEach((ch) => ch.enabled = !enabled); return this.render(); } i() { if (this.choices.length - this.selected.length > this.maxSelected) { return this.alert(); } this.choices.forEach((ch) => ch.enabled = !ch.enabled); return this.render(); } g() { if (!this.choices.some((ch) => !!ch.parent)) return this.a(); const focused = this.focused; this.toggle(focused.parent && !focused.choices ? focused.parent : focused); return this.render(); } toggle(choice, enabled) { if (!choice.enabled && this.selected.length >= this.maxSelected) { return this.alert(); } if (typeof enabled !== "boolean") enabled = !choice.enabled; choice.enabled = enabled; if (choice.choices) { choice.choices.forEach((ch) => this.toggle(ch, enabled)); } let parent = choice.parent; while (parent) { let choices = parent.choices.filter((ch) => this.isDisabled(ch)); parent.enabled = choices.every((ch) => ch.enabled === true); parent = parent.parent; } reset(this, this.choices); this.emit("toggle", choice, this); return choice; } enable(choice) { if (this.selected.length >= this.maxSelected) return this.alert(); choice.enabled = !this.isDisabled(choice); choice.choices && choice.choices.forEach(this.enable.bind(this)); return choice; } disable(choice) { choice.enabled = false; choice.choices && choice.choices.forEach(this.disable.bind(this)); return choice; } number(n) { this.num += n; let number = (num) => { let i = Number(num); if (i > this.choices.length - 1) return this.alert(); let focused = this.focused; let choice = this.choices.find((ch) => i === ch.index); if (!choice.enabled && this.selected.length >= this.maxSelected) { return this.alert(); } if (this.visible.indexOf(choice) === -1) { let choices = reorder(this.choices); let actualIdx = choices.indexOf(choice); if (focused.index > actualIdx) { let start = choices.slice(actualIdx, actualIdx + this.limit); let end = choices.filter((ch) => !start.includes(ch)); this.choices = start.concat(end); } else { let pos = actualIdx - this.limit + 1; this.choices = choices.slice(pos).concat(choices.slice(0, pos)); } } this.index = this.choices.indexOf(choice); this.toggle(this.focused); return this.render(); }; clearTimeout(this.numberTimeout); return new Promise((resolve) => { let len = this.choices.length; let num = this.num; let handle = (val = false, res) => { clearTimeout(this.numberTimeout); if (val) res = number(num); this.num = ""; resolve(res); }; if (num === "0" || num.length === 1 && Number(num + "0") > len) { return handle(true); } if (Number(num) > len) { return handle(false, this.alert()); } this.numberTimeout = setTimeout(() => handle(true), this.delay); }); } home() { this.choices = reorder(this.choices); this.index = 0; return this.render(); } end() { let pos = this.choices.length - this.limit; let choices = reorder(this.choices); this.choices = choices.slice(pos).concat(choices.slice(0, pos)); this.index = this.limit - 1; return this.render(); } first() { this.index = 0; return this.render(); } last() { this.index = this.visible.length - 1; return this.render(); } prev() { if (this.visible.length <= 1) return this.alert(); return this.up(); } next() { if (this.visible.length <= 1) return this.alert(); return this.down(); } right() { if (this.cursor >= this.input.length) return this.alert(); this.cursor++; return this.render(); } left() { if (this.cursor <= 0) return this.alert(); this.cursor--; return this.render(); } up() { let len = this.choices.length; let vis = this.visible.length; let idx = this.index; if (this.options.scroll === false && idx === 0) { return this.alert(); } if (len > vis && idx === 0) { return this.scrollUp(); } this.index = (idx - 1 % len + len) % len; if (this.isDisabled() && !this.allChoicesAreDisabled()) { return this.up(); } return this.render(); } down() { let len = this.choices.length; let vis = this.visible.length; let idx = this.index; if (this.options.scroll === false && idx === vis - 1) { return this.alert(); } if (len > vis && idx === vis - 1) { return this.scrollDown(); } this.index = (idx + 1) % len; if (this.isDisabled() && !this.allChoicesAreDisabled()) { return this.down(); } return this.render(); } scrollUp(i = 0) { this.choices = scrollUp(this.choices); this.index = i; if (this.isDisabled()) { return this.up(); } return this.render(); } scrollDown(i = this.visible.length - 1) { this.choices = scrollDown(this.choices); this.index = i; if (this.isDisabled()) { return this.down(); } return this.render(); } async shiftUp() { if (this.options.sort === true) { this.sorting = true; this.swap(this.index - 1); await this.up(); this.sorting = false; return; } return this.scrollUp(this.index); } async shiftDown() { if (this.options.sort === true) { this.sorting = true; this.swap(this.index + 1); await this.down(); this.sorting = false; return; } return this.scrollDown(this.index); } pageUp() { if (this.visible.length <= 1) return this.alert(); this.limit = Math.max(this.limit - 1, 0); this.index = Math.min(this.limit - 1, this.index); this._limit = this.limit; if (this.isDisabled()) { return this.up(); } return this.render(); } pageDown() { if (this.visible.length >= this.choices.length) return this.alert(); this.index = Math.max(0, this.index); this.limit = Math.min(this.limit + 1, this.choices.length); this._limit = this.limit; if (this.isDisabled()) { return this.down(); } return this.render(); } swap(pos) { swap(this.choices, this.index, pos); } allChoicesAreDisabled(choices = this.choices) { return choices.every((choice) => this.isDisabled(choice)); } isDisabled(choice = this.focused) { let keys = ["disabled", "collapsed", "hidden", "completing", "readonly"]; if (choice && keys.some((key) => choice[key] === true)) { return true; } return choice && choice.role === "heading"; } isEnabled(choice = this.focused) { if (Array.isArray(choice)) return choice.every((ch) => this.isEnabled(ch)); if (choice.choices) { let choices = choice.choices.filter((ch) => !this.isDisabled(ch)); return choice.enabled && choices.every((ch) => this.isEnabled(ch)); } return choice.enabled && !this.isDisabled(choice); } isChoice(choice, value) { return choice.name === value || choice.index === Number(value); } isSelected(choice) { if (Array.isArray(this.initial)) { return this.initial.some((value) => this.isChoice(choice, value)); } return this.isChoice(choice, this.initial); } map(names = [], prop = "value") { return [].concat(names || []).reduce((acc, name) => { acc[name] = this.find(name, prop); return acc; }, {}); } filter(value, prop) { let isChoice = (ele, i) => [ele.name, i].includes(value); let fn = typeof value === "function" ? value : isChoice; let choices = this.options.multiple ? this.state._choices : this.choices; let result2 = choices.filter(fn); if (prop) { return result2.map((ch) => ch[prop]); } return result2; } find(value, prop) { if (isObject(value)) return prop ? value[prop] : value; let isChoice = (ele, i) => [ele.name, i].includes(value); let fn = typeof value === "function" ? value : isChoice; let choice = this.choices.find(fn); if (choice) { return prop ? choice[prop] : choice; } } findIndex(value) { return this.choices.indexOf(this.find(value)); } async submit() { let choice = this.focused; if (!choice) return this.alert(); if (choice.newChoice) { if (!choice.input) return this.alert(); choice.updateChoice(); return this.render(); } if (this.choices.some((ch) => ch.newChoice)) { return this.alert(); } let { reorder: reorder2, sort } = this.options; let multi = this.multiple === true; let value = this.selected; if (value === void 0) { return this.alert(); } if (Array.isArray(value) && reorder2 !== false && sort !== true) { value = utils.reorder(value); } this.value = multi ? value.map((ch) => ch.name) : value.name; return super.submit(); } set choices(choices = []) { this.state._choices = this.state._choices || []; this.state.choices = choices; for (let choice of choices) { if (!this.state._choices.some((ch) => ch.name === choice.name)) { this.state._choices.push(choice); } } if (!this._initial && this.options.initial) { this._initial = true; let init = this.initial; if (typeof init === "string" || typeof init === "number") { let choice = this.find(init); if (choice) { this.initial = choice.index; this.focus(choice, true); } } } } get choices() { return reset(this, this.state.choices || []); } set visible(visible) { this.state.visible = visible; } get visible() { return (this.state.visible || this.choices).slice(0, this.limit); } set limit(num) { this.state.limit = num; } get limit() { let { state, options, choices } = this; let limit = state.limit || this._limit || options.limit || choices.length; return Math.min(limit, this.height); } set value(value) { super.value = value; } get value() { if (typeof super.value !== "string" && super.value === this.initial) { return this.input; } return super.value; } set index(i) { this.state.index = i; } get index() { return Math.max(0, this.state ? this.state.index : 0); } get enabled() { return this.filter(this.isEnabled.bind(this)); } get focused() { let choice = this.choices[this.index]; if (choice && this.state.submitted && this.multiple !== true) { choice.enabled = true; } return choice; } get selectable() { return this.choices.filter((choice) => !this.isDisabled(choice)); } get selected() { return this.multiple ? this.enabled : this.focused; } }; function reset(prompt, choices) { if (choices instanceof Promise) return choices; if (typeof choices === "function") { if (utils.isAsyncFn(choices)) return choices; choices = choices.call(prompt, prompt); } for (let choice of choices) { if (Array.isArray(choice.choices)) { let items = choice.choices.filter((ch) => !prompt.isDisabled(ch)); choice.enabled = items.every((ch) => ch.enabled === true); } if (prompt.isDisabled(choice) === true) { delete choice.enabled; } } return choices; } module2.exports = ArrayPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/select.js var require_select = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/select.js"(exports2, module2) { "use strict"; var ArrayPrompt = require_array2(); var utils = require_utils15(); var SelectPrompt = class extends ArrayPrompt { constructor(options) { super(options); this.emptyError = this.options.emptyError || "No items were selected"; } async dispatch(s, key) { if (this.multiple) { return this[key.name] ? await this[key.name](s, key) : await super.dispatch(s, key); } this.alert(); } separator() { if (this.options.separator) return super.separator(); let sep = this.styles.muted(this.symbols.ellipsis); return this.state.submitted ? super.separator() : sep; } pointer(choice, i) { return !this.multiple || this.options.pointer ? super.pointer(choice, i) : ""; } indicator(choice, i) { return this.multiple ? super.indicator(choice, i) : ""; } choiceMessage(choice, i) { let message = this.resolve(choice.message, this.state, choice, i); if (choice.role === "heading" && !utils.hasColor(message)) { message = this.styles.strong(message); } return this.resolve(message, this.state, choice, i); } choiceSeparator() { return ":"; } async renderChoice(choice, i) { await this.onChoice(choice, i); let focused = this.index === i; let pointer = await this.pointer(choice, i); let check = await this.indicator(choice, i) + (choice.pad || ""); let hint = await this.resolve(choice.hint, this.state, choice, i); if (hint && !utils.hasColor(hint)) { hint = this.styles.muted(hint); } let ind = this.indent(choice); let msg = await this.choiceMessage(choice, i); let line = () => [this.margin[3], ind + pointer + check, msg, this.margin[1], hint].filter(Boolean).join(" "); if (choice.role === "heading") { return line(); } if (choice.disabled) { if (!utils.hasColor(msg)) { msg = this.styles.disabled(msg); } return line(); } if (focused) { msg = this.styles.em(msg); } return line(); } async renderChoices() { if (this.state.loading === "choices") { return this.styles.warning("Loading choices"); } if (this.state.submitted) return ""; let choices = this.visible.map(async (ch, i) => await this.renderChoice(ch, i)); let visible = await Promise.all(choices); if (!visible.length) visible.push(this.styles.danger("No matching choices")); let result2 = this.margin[0] + visible.join("\n"); let header; if (this.options.choicesHeader) { header = await this.resolve(this.options.choicesHeader, this.state); } return [header, result2].filter(Boolean).join("\n"); } format() { if (!this.state.submitted || this.state.cancelled) return ""; if (Array.isArray(this.selected)) { return this.selected.map((choice) => this.styles.primary(choice.name)).join(", "); } return this.styles.primary(this.selected.name); } async render() { let { submitted, size } = this.state; let prompt = ""; let header = await this.header(); let prefix = await this.prefix(); let separator = await this.separator(); let message = await this.message(); if (this.options.promptLine !== false) { prompt = [prefix, message, separator, ""].join(" "); this.state.prompt = prompt; } let output = await this.format(); let help = await this.error() || await this.hint(); let body = await this.renderChoices(); let footer = await this.footer(); if (output) prompt += output; if (help && !prompt.includes(help)) prompt += " " + help; if (submitted && !output && !body.trim() && this.multiple && this.emptyError != null) { prompt += this.styles.danger(this.emptyError); } this.clear(size); this.write([header, prompt, body, footer].filter(Boolean).join("\n")); this.write(this.margin[2]); this.restore(); } }; module2.exports = SelectPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/autocomplete.js var require_autocomplete = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/autocomplete.js"(exports2, module2) { "use strict"; var Select = require_select(); var highlight = (input, color) => { const regex = input ? new RegExp(input, "ig") : /$^/; return (str) => { return input ? str.replace(regex, (match) => color(match)) : str; }; }; var AutoComplete = class extends Select { constructor(options) { super(options); this.cursorShow(); } moveCursor(n) { this.state.cursor += n; } dispatch(ch) { return this.append(ch); } space(ch) { return this.options.multiple ? super.space(ch) : this.append(ch); } append(ch) { let { cursor, input } = this.state; this.input = input.slice(0, cursor) + ch + input.slice(cursor); this.moveCursor(1); return this.complete(); } delete() { let { cursor, input } = this.state; if (!input) return this.alert(); this.input = input.slice(0, cursor - 1) + input.slice(cursor); this.moveCursor(-1); return this.complete(); } deleteForward() { let { cursor, input } = this.state; if (input[cursor] === void 0) return this.alert(); this.input = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1); return this.complete(); } number(ch) { return this.append(ch); } async complete() { this.completing = true; this.choices = await this.suggest(this.input, this.state._choices); this.state.limit = void 0; this.index = Math.min(Math.max(this.visible.length - 1, 0), this.index); await this.render(); this.completing = false; } suggest(input = this.input, choices = this.state._choices) { if (typeof this.options.suggest === "function") { return this.options.suggest.call(this, input, choices); } let str = input.toLowerCase(); return choices.filter((ch) => ch.message.toLowerCase().includes(str)); } pointer() { return ""; } format() { if (!this.focused) return this.input; if (this.options.multiple && this.state.submitted) { return this.selected.map((ch) => this.styles.primary(ch.message)).join(", "); } if (this.state.submitted) { let value = this.value = this.input = this.focused.value; return this.styles.primary(value); } return this.input; } async render() { if (this.state.status !== "pending") return super.render(); const hl = this.options.highlight || this.styles.complement; const style = (input, color2) => { if (!input) return input; if (hl.stack) return hl(input); return hl.call(this, input); }; const color = highlight(this.input, style); const choices = this.choices; this.choices = choices.map((ch) => ({ ...ch, message: color(ch.message) })); await super.render(); this.choices = choices; } submit() { if (this.options.multiple) { this.value = this.selected.map((ch) => ch.name); } return super.submit(); } }; module2.exports = AutoComplete; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/placeholder.js var require_placeholder = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/placeholder.js"(exports2, module2) { "use strict"; var utils = require_utils15(); module2.exports = (prompt, options = {}) => { prompt.cursorHide(); let { input = "", initial = "", pos, showCursor = true, color } = options; let style = color || prompt.styles.placeholder; let inverse = utils.inverse(prompt.styles.primary); let blinker = (str) => inverse(prompt.styles.black(str)); let output = input; let char = " "; let reverse = blinker(char); if (prompt.blink && prompt.blink.off === true) { blinker = (str) => str; reverse = ""; } if (showCursor && pos === 0 && initial === "" && input === "") { return blinker(char); } if (showCursor && pos === 0 && (input === initial || input === "")) { return blinker(initial[0]) + style(initial.slice(1)); } initial = utils.isPrimitive(initial) ? `${initial}` : ""; input = utils.isPrimitive(input) ? `${input}` : ""; let placeholder = initial && initial.startsWith(input) && initial !== input; let cursor = placeholder ? blinker(initial[input.length]) : reverse; if (pos !== input.length && showCursor === true) { output = input.slice(0, pos) + blinker(input[pos]) + input.slice(pos + 1); cursor = ""; } if (showCursor === false) { cursor = ""; } if (placeholder) { let raw = prompt.styles.unstyle(output + cursor); return output + cursor + style(initial.slice(raw.length)); } return output + cursor; }; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/form.js var require_form = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/form.js"(exports2, module2) { "use strict"; var stripAnsi = require_strip_ansi(); var SelectPrompt = require_select(); var placeholder = require_placeholder(); var FormPrompt = class extends SelectPrompt { constructor(options) { super({ ...options, multiple: true }); this.type = "form"; this.initial = this.options.initial; this.align = [this.options.align, "right"].find((v) => v != null); this.emptyError = ""; this.values = {}; } async reset(first) { await super.reset(); if (first === true) this._index = this.index; this.index = this._index; this.values = {}; this.choices.forEach((choice) => choice.reset && choice.reset()); return this.render(); } dispatch(char) { return !!char && this.append(char); } append(char) { let choice = this.focused; if (!choice) return this.alert(); let { cursor, input } = choice; choice.value = choice.input = input.slice(0, cursor) + char + input.slice(cursor); choice.cursor++; return this.render(); } delete() { let choice = this.focused; if (!choice || choice.cursor <= 0) return this.alert(); let { cursor, input } = choice; choice.value = choice.input = input.slice(0, cursor - 1) + input.slice(cursor); choice.cursor--; return this.render(); } deleteForward() { let choice = this.focused; if (!choice) return this.alert(); let { cursor, input } = choice; if (input[cursor] === void 0) return this.alert(); let str = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1); choice.value = choice.input = str; return this.render(); } right() { let choice = this.focused; if (!choice) return this.alert(); if (choice.cursor >= choice.input.length) return this.alert(); choice.cursor++; return this.render(); } left() { let choice = this.focused; if (!choice) return this.alert(); if (choice.cursor <= 0) return this.alert(); choice.cursor--; return this.render(); } space(ch, key) { return this.dispatch(ch, key); } number(ch, key) { return this.dispatch(ch, key); } next() { let ch = this.focused; if (!ch) return this.alert(); let { initial, input } = ch; if (initial && initial.startsWith(input) && input !== initial) { ch.value = ch.input = initial; ch.cursor = ch.value.length; return this.render(); } return super.next(); } prev() { let ch = this.focused; if (!ch) return this.alert(); if (ch.cursor === 0) return super.prev(); ch.value = ch.input = ""; ch.cursor = 0; return this.render(); } separator() { return ""; } format(value) { return !this.state.submitted ? super.format(value) : ""; } pointer() { return ""; } indicator(choice) { return choice.input ? "\u29BF" : "\u2299"; } async choiceSeparator(choice, i) { let sep = await this.resolve(choice.separator, this.state, choice, i) || ":"; return sep ? " " + this.styles.disabled(sep) : ""; } async renderChoice(choice, i) { await this.onChoice(choice, i); let { state, styles } = this; let { cursor, initial = "", name, input = "" } = choice; let { muted, submitted, primary, danger } = styles; let focused = this.index === i; let validate2 = choice.validate || (() => true); let sep = await this.choiceSeparator(choice, i); let msg = choice.message; if (this.align === "right") msg = msg.padStart(this.longest + 1, " "); if (this.align === "left") msg = msg.padEnd(this.longest + 1, " "); let value = this.values[name] = input || initial; let color = input ? "success" : "dark"; if (await validate2.call(choice, value, this.state) !== true) { color = "danger"; } let style = styles[color]; let indicator = style(await this.indicator(choice, i)) + (choice.pad || ""); let indent = this.indent(choice); let line = () => [indent, indicator, msg + sep, input].filter(Boolean).join(" "); if (state.submitted) { msg = stripAnsi(msg); input = submitted(input); return line(); } if (choice.format) { input = await choice.format.call(this, input, choice, i); } else { let color2 = this.styles.muted; let options = { input, initial, pos: cursor, showCursor: focused, color: color2 }; input = placeholder(this, options); } if (!this.isValue(input)) { input = this.styles.muted(this.symbols.ellipsis); } if (choice.result) { this.values[name] = await choice.result.call(this, value, choice, i); } if (focused) { msg = primary(msg); } if (choice.error) { input += (input ? " " : "") + danger(choice.error.trim()); } else if (choice.hint) { input += (input ? " " : "") + muted(choice.hint.trim()); } return line(); } async submit() { this.value = this.values; return super.base.submit.call(this); } }; module2.exports = FormPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/auth.js var require_auth2 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/auth.js"(exports2, module2) { "use strict"; var FormPrompt = require_form(); var defaultAuthenticate = () => { throw new Error("expected prompt to have a custom authenticate method"); }; var factory = (authenticate = defaultAuthenticate) => { class AuthPrompt extends FormPrompt { constructor(options) { super(options); } async submit() { this.value = await authenticate.call(this, this.values, this.state); super.base.submit.call(this); } static create(authenticate2) { return factory(authenticate2); } } return AuthPrompt; }; module2.exports = factory(); } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/basicauth.js var require_basicauth = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/basicauth.js"(exports2, module2) { "use strict"; var AuthPrompt = require_auth2(); function defaultAuthenticate(value, state) { if (value.username === this.options.username && value.password === this.options.password) { return true; } return false; } var factory = (authenticate = defaultAuthenticate) => { const choices = [ { name: "username", message: "username" }, { name: "password", message: "password", format(input) { if (this.options.showPassword) { return input; } let color = this.state.submitted ? this.styles.primary : this.styles.muted; return color(this.symbols.asterisk.repeat(input.length)); } } ]; class BasicAuthPrompt extends AuthPrompt.create(authenticate) { constructor(options) { super({ ...options, choices }); } static create(authenticate2) { return factory(authenticate2); } } return BasicAuthPrompt; }; module2.exports = factory(); } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/boolean.js var require_boolean = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/boolean.js"(exports2, module2) { "use strict"; var Prompt = require_prompt(); var { isPrimitive, hasColor } = require_utils15(); var BooleanPrompt = class extends Prompt { constructor(options) { super(options); this.cursorHide(); } async initialize() { let initial = await this.resolve(this.initial, this.state); this.input = await this.cast(initial); await super.initialize(); } dispatch(ch) { if (!this.isValue(ch)) return this.alert(); this.input = ch; return this.submit(); } format(value) { let { styles, state } = this; return !state.submitted ? styles.primary(value) : styles.success(value); } cast(input) { return this.isTrue(input); } isTrue(input) { return /^[ty1]/i.test(input); } isFalse(input) { return /^[fn0]/i.test(input); } isValue(value) { return isPrimitive(value) && (this.isTrue(value) || this.isFalse(value)); } async hint() { if (this.state.status === "pending") { let hint = await this.element("hint"); if (!hasColor(hint)) { return this.styles.muted(hint); } return hint; } } async render() { let { input, size } = this.state; let prefix = await this.prefix(); let sep = await this.separator(); let msg = await this.message(); let hint = this.styles.muted(this.default); let promptLine = [prefix, msg, hint, sep].filter(Boolean).join(" "); this.state.prompt = promptLine; let header = await this.header(); let value = this.value = this.cast(input); let output = await this.format(value); let help = await this.error() || await this.hint(); let footer = await this.footer(); if (help && !promptLine.includes(help)) output += " " + help; promptLine += " " + output; this.clear(size); this.write([header, promptLine, footer].filter(Boolean).join("\n")); this.restore(); } set value(value) { super.value = value; } get value() { return this.cast(super.value); } }; module2.exports = BooleanPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/confirm.js var require_confirm = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/confirm.js"(exports2, module2) { "use strict"; var BooleanPrompt = require_boolean(); var ConfirmPrompt = class extends BooleanPrompt { constructor(options) { super(options); this.default = this.options.default || (this.initial ? "(Y/n)" : "(y/N)"); } }; module2.exports = ConfirmPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/editable.js var require_editable = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/editable.js"(exports2, module2) { "use strict"; var Select = require_select(); var Form = require_form(); var form = Form.prototype; var Editable = class extends Select { constructor(options) { super({ ...options, multiple: true }); this.align = [this.options.align, "left"].find((v) => v != null); this.emptyError = ""; this.values = {}; } dispatch(char, key) { let choice = this.focused; let parent = choice.parent || {}; if (!choice.editable && !parent.editable) { if (char === "a" || char === "i") return super[char](); } return form.dispatch.call(this, char, key); } append(char, key) { return form.append.call(this, char, key); } delete(char, key) { return form.delete.call(this, char, key); } space(char) { return this.focused.editable ? this.append(char) : super.space(); } number(char) { return this.focused.editable ? this.append(char) : super.number(char); } next() { return this.focused.editable ? form.next.call(this) : super.next(); } prev() { return this.focused.editable ? form.prev.call(this) : super.prev(); } async indicator(choice, i) { let symbol = choice.indicator || ""; let value = choice.editable ? symbol : super.indicator(choice, i); return await this.resolve(value, this.state, choice, i) || ""; } indent(choice) { return choice.role === "heading" ? "" : choice.editable ? " " : " "; } async renderChoice(choice, i) { choice.indent = ""; if (choice.editable) return form.renderChoice.call(this, choice, i); return super.renderChoice(choice, i); } error() { return ""; } footer() { return this.state.error; } async validate() { let result2 = true; for (let choice of this.choices) { if (typeof choice.validate !== "function") { continue; } if (choice.role === "heading") { continue; } let val = choice.parent ? this.value[choice.parent.name] : this.value; if (choice.editable) { val = choice.value === choice.name ? choice.initial || "" : choice.value; } else if (!this.isDisabled(choice)) { val = choice.enabled === true; } result2 = await choice.validate(val, this.state); if (result2 !== true) { break; } } if (result2 !== true) { this.state.error = typeof result2 === "string" ? result2 : "Invalid Input"; } return result2; } submit() { if (this.focused.newChoice === true) return super.submit(); if (this.choices.some((ch) => ch.newChoice)) { return this.alert(); } this.value = {}; for (let choice of this.choices) { let val = choice.parent ? this.value[choice.parent.name] : this.value; if (choice.role === "heading") { this.value[choice.name] = {}; continue; } if (choice.editable) { val[choice.name] = choice.value === choice.name ? choice.initial || "" : choice.value; } else if (!this.isDisabled(choice)) { val[choice.name] = choice.enabled === true; } } return this.base.submit.call(this); } }; module2.exports = Editable; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/string.js var require_string2 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/string.js"(exports2, module2) { "use strict"; var Prompt = require_prompt(); var keypress = require_keypress(); var placeholder = require_placeholder(); var { isPrimitive } = require_utils15(); var StringPrompt = class extends Prompt { constructor(options) { super(options); this.initial = isPrimitive(this.initial) ? String(this.initial) : ""; if (this.initial) this.cursorHide(); this.state.prevCursor = 0; this.state.clipboard = []; this.keypressTimeout = this.options.keypressTimeout !== void 0 ? this.options.keypressTimeout : null; } async keypress(input, key = input ? keypress(input, {}) : {}) { const now = Date.now(); const elapsed = now - this.lastKeypress; this.lastKeypress = now; const isEnterKey = key.name === "return" || key.name === "enter"; let prev = this.state.prevKeypress; let append; this.state.prevKeypress = key; if (this.keypressTimeout != null && isEnterKey) { if (elapsed < this.keypressTimeout) { return this.submit(); } this.state.multilineBuffer = this.state.multilineBuffer || ""; this.state.multilineBuffer += input; append = true; prev = null; } if (append || this.options.multiline && isEnterKey) { if (!prev || prev.name !== "return") { return this.append("\n", key); } } return super.keypress(input, key); } moveCursor(n) { this.cursor += n; } reset() { this.input = this.value = ""; this.cursor = 0; return this.render(); } dispatch(ch, key) { if (!ch || key.ctrl || key.code) return this.alert(); this.append(ch); } append(ch) { let { cursor, input } = this.state; this.input = `${input}`.slice(0, cursor) + ch + `${input}`.slice(cursor); this.moveCursor(String(ch).length); this.render(); } insert(str) { this.append(str); } delete() { let { cursor, input } = this.state; if (cursor <= 0) return this.alert(); this.input = `${input}`.slice(0, cursor - 1) + `${input}`.slice(cursor); this.moveCursor(-1); this.render(); } deleteForward() { let { cursor, input } = this.state; if (input[cursor] === void 0) return this.alert(); this.input = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1); this.render(); } cutForward() { let pos = this.cursor; if (this.input.length <= pos) return this.alert(); this.state.clipboard.push(this.input.slice(pos)); this.input = this.input.slice(0, pos); this.render(); } cutLeft() { let pos = this.cursor; if (pos === 0) return this.alert(); let before = this.input.slice(0, pos); let after = this.input.slice(pos); let words = before.split(" "); this.state.clipboard.push(words.pop()); this.input = words.join(" "); this.cursor = this.input.length; this.input += after; this.render(); } paste() { if (!this.state.clipboard.length) return this.alert(); this.insert(this.state.clipboard.pop()); this.render(); } toggleCursor() { if (this.state.prevCursor) { this.cursor = this.state.prevCursor; this.state.prevCursor = 0; } else { this.state.prevCursor = this.cursor; this.cursor = 0; } this.render(); } first() { this.cursor = 0; this.render(); } last() { this.cursor = this.input.length - 1; this.render(); } next() { let init = this.initial != null ? String(this.initial) : ""; if (!init || !init.startsWith(this.input)) return this.alert(); this.input = this.initial; this.cursor = this.initial.length; this.render(); } prev() { if (!this.input) return this.alert(); this.reset(); } backward() { return this.left(); } forward() { return this.right(); } right() { if (this.cursor >= this.input.length) return this.alert(); this.moveCursor(1); return this.render(); } left() { if (this.cursor <= 0) return this.alert(); this.moveCursor(-1); return this.render(); } isValue(value) { return !!value; } async format(input = this.value) { let initial = await this.resolve(this.initial, this.state); if (!this.state.submitted) { return placeholder(this, { input, initial, pos: this.cursor }); } return this.styles.submitted(input || initial); } async render() { let size = this.state.size; let prefix = await this.prefix(); let separator = await this.separator(); let message = await this.message(); let prompt = [prefix, message, separator].filter(Boolean).join(" "); this.state.prompt = prompt; let header = await this.header(); let output = await this.format(); let help = await this.error() || await this.hint(); let footer = await this.footer(); if (help && !output.includes(help)) output += " " + help; prompt += " " + output; this.clear(size); this.write([header, prompt, footer].filter(Boolean).join("\n")); this.restore(); } }; module2.exports = StringPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/completer.js var require_completer = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/completer.js"(exports2, module2) { "use strict"; var unique = (arr) => arr.filter((v, i) => arr.lastIndexOf(v) === i); var compact = (arr) => unique(arr).filter(Boolean); module2.exports = (action, data = {}, value = "") => { let { past = [], present = "" } = data; let rest, prev; switch (action) { case "prev": case "undo": rest = past.slice(0, past.length - 1); prev = past[past.length - 1] || ""; return { past: compact([value, ...rest]), present: prev }; case "next": case "redo": rest = past.slice(1); prev = past[0] || ""; return { past: compact([...rest, value]), present: prev }; case "save": return { past: compact([...past, value]), present: "" }; case "remove": prev = compact(past.filter((v) => v !== value)); present = ""; if (prev.length) { present = prev.pop(); } return { past: prev, present }; default: { throw new Error(`Invalid action: "${action}"`); } } }; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/input.js var require_input = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/input.js"(exports2, module2) { "use strict"; var Prompt = require_string2(); var completer = require_completer(); var Input = class extends Prompt { constructor(options) { super(options); let history = this.options.history; if (history && history.store) { let initial = history.values || this.initial; this.autosave = !!history.autosave; this.store = history.store; this.data = this.store.get("values") || { past: [], present: initial }; this.initial = this.data.present || this.data.past[this.data.past.length - 1]; } } completion(action) { if (!this.store) return this.alert(); this.data = completer(action, this.data, this.input); if (!this.data.present) return this.alert(); this.input = this.data.present; this.cursor = this.input.length; return this.render(); } altUp() { return this.completion("prev"); } altDown() { return this.completion("next"); } prev() { this.save(); return super.prev(); } save() { if (!this.store) return; this.data = completer("save", this.data, this.input); this.store.set("values", this.data); } submit() { if (this.store && this.autosave === true) { this.save(); } return super.submit(); } }; module2.exports = Input; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/invisible.js var require_invisible = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/invisible.js"(exports2, module2) { "use strict"; var StringPrompt = require_string2(); var InvisiblePrompt = class extends StringPrompt { format() { return ""; } }; module2.exports = InvisiblePrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/list.js var require_list = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/list.js"(exports2, module2) { "use strict"; var StringPrompt = require_string2(); var ListPrompt = class extends StringPrompt { constructor(options = {}) { super(options); this.sep = this.options.separator || /, */; this.initial = options.initial || ""; } split(input = this.value) { return input ? String(input).split(this.sep) : []; } format() { let style = this.state.submitted ? this.styles.primary : (val) => val; return this.list.map(style).join(", "); } async submit(value) { let result2 = this.state.error || await this.validate(this.list, this.state); if (result2 !== true) { this.state.error = result2; return super.submit(); } this.value = this.list; return super.submit(); } get list() { return this.split(); } }; module2.exports = ListPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/multiselect.js var require_multiselect = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/multiselect.js"(exports2, module2) { "use strict"; var Select = require_select(); var MultiSelect = class extends Select { constructor(options) { super({ ...options, multiple: true }); } }; module2.exports = MultiSelect; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/number.js var require_number = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/number.js"(exports2, module2) { "use strict"; var StringPrompt = require_string2(); var NumberPrompt = class extends StringPrompt { constructor(options = {}) { super({ style: "number", ...options }); this.min = this.isValue(options.min) ? this.toNumber(options.min) : -Infinity; this.max = this.isValue(options.max) ? this.toNumber(options.max) : Infinity; this.delay = options.delay != null ? options.delay : 1e3; this.float = options.float !== false; this.round = options.round === true || options.float === false; this.major = options.major || 10; this.minor = options.minor || 1; this.initial = options.initial != null ? options.initial : ""; this.input = String(this.initial); this.cursor = this.input.length; this.cursorShow(); } append(ch) { if (!/[-+.]/.test(ch) || ch === "." && this.input.includes(".")) { return this.alert("invalid number"); } return super.append(ch); } number(ch) { return super.append(ch); } next() { if (this.input && this.input !== this.initial) return this.alert(); if (!this.isValue(this.initial)) return this.alert(); this.input = this.initial; this.cursor = String(this.initial).length; return this.render(); } up(number) { let step = number || this.minor; let num = this.toNumber(this.input); if (num > this.max + step) return this.alert(); this.input = `${num + step}`; return this.render(); } down(number) { let step = number || this.minor; let num = this.toNumber(this.input); if (num < this.min - step) return this.alert(); this.input = `${num - step}`; return this.render(); } shiftDown() { return this.down(this.major); } shiftUp() { return this.up(this.major); } format(input = this.input) { if (typeof this.options.format === "function") { return this.options.format.call(this, input); } return this.styles.info(input); } toNumber(value = "") { return this.float ? +value : Math.round(+value); } isValue(value) { return /^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(value); } submit() { let value = [this.input, this.initial].find((v) => this.isValue(v)); this.value = this.toNumber(value || 0); return super.submit(); } }; module2.exports = NumberPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/numeral.js var require_numeral = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/numeral.js"(exports2, module2) { module2.exports = require_number(); } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/password.js var require_password = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/password.js"(exports2, module2) { "use strict"; var StringPrompt = require_string2(); var PasswordPrompt = class extends StringPrompt { constructor(options) { super(options); this.cursorShow(); } format(input = this.input) { if (!this.keypressed) return ""; let color = this.state.submitted ? this.styles.primary : this.styles.muted; return color(this.symbols.asterisk.repeat(input.length)); } }; module2.exports = PasswordPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/scale.js var require_scale = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/scale.js"(exports2, module2) { "use strict"; var stripAnsi = require_strip_ansi(); var ArrayPrompt = require_array2(); var utils = require_utils15(); var LikertScale = class extends ArrayPrompt { constructor(options = {}) { super(options); this.widths = [].concat(options.messageWidth || 50); this.align = [].concat(options.align || "left"); this.linebreak = options.linebreak || false; this.edgeLength = options.edgeLength || 3; this.newline = options.newline || "\n "; let start = options.startNumber || 1; if (typeof this.scale === "number") { this.scaleKey = false; this.scale = Array(this.scale).fill(0).map((v, i) => ({ name: i + start })); } } async reset() { this.tableized = false; await super.reset(); return this.render(); } tableize() { if (this.tableized === true) return; this.tableized = true; let longest = 0; for (let ch of this.choices) { longest = Math.max(longest, ch.message.length); ch.scaleIndex = ch.initial || 2; ch.scale = []; for (let i = 0; i < this.scale.length; i++) { ch.scale.push({ index: i }); } } this.widths[0] = Math.min(this.widths[0], longest + 3); } async dispatch(s, key) { if (this.multiple) { return this[key.name] ? await this[key.name](s, key) : await super.dispatch(s, key); } this.alert(); } heading(msg, item, i) { return this.styles.strong(msg); } separator() { return this.styles.muted(this.symbols.ellipsis); } right() { let choice = this.focused; if (choice.scaleIndex >= this.scale.length - 1) return this.alert(); choice.scaleIndex++; return this.render(); } left() { let choice = this.focused; if (choice.scaleIndex <= 0) return this.alert(); choice.scaleIndex--; return this.render(); } indent() { return ""; } format() { if (this.state.submitted) { let values = this.choices.map((ch) => this.styles.info(ch.index)); return values.join(", "); } return ""; } pointer() { return ""; } /** * Render the scale "Key". Something like: * @return {String} */ renderScaleKey() { if (this.scaleKey === false) return ""; if (this.state.submitted) return ""; let scale = this.scale.map((item) => ` ${item.name} - ${item.message}`); let key = ["", ...scale].map((item) => this.styles.muted(item)); return key.join("\n"); } /** * Render the heading row for the scale. * @return {String} */ renderScaleHeading(max) { let keys = this.scale.map((ele) => ele.name); if (typeof this.options.renderScaleHeading === "function") { keys = this.options.renderScaleHeading.call(this, max); } let diff = this.scaleLength - keys.join("").length; let spacing = Math.round(diff / (keys.length - 1)); let names = keys.map((key) => this.styles.strong(key)); let headings = names.join(" ".repeat(spacing)); let padding = " ".repeat(this.widths[0]); return this.margin[3] + padding + this.margin[1] + headings; } /** * Render a scale indicator => ◯ or ◉ by default */ scaleIndicator(choice, item, i) { if (typeof this.options.scaleIndicator === "function") { return this.options.scaleIndicator.call(this, choice, item, i); } let enabled = choice.scaleIndex === item.index; if (item.disabled) return this.styles.hint(this.symbols.radio.disabled); if (enabled) return this.styles.success(this.symbols.radio.on); return this.symbols.radio.off; } /** * Render the actual scale => ◯────◯────◉────◯────◯ */ renderScale(choice, i) { let scale = choice.scale.map((item) => this.scaleIndicator(choice, item, i)); let padding = this.term === "Hyper" ? "" : " "; return scale.join(padding + this.symbols.line.repeat(this.edgeLength)); } /** * Render a choice, including scale => * "The website is easy to navigate. ◯───◯───◉───◯───◯" */ async renderChoice(choice, i) { await this.onChoice(choice, i); let focused = this.index === i; let pointer = await this.pointer(choice, i); let hint = await choice.hint; if (hint && !utils.hasColor(hint)) { hint = this.styles.muted(hint); } let pad = (str) => this.margin[3] + str.replace(/\s+$/, "").padEnd(this.widths[0], " "); let newline = this.newline; let ind = this.indent(choice); let message = await this.resolve(choice.message, this.state, choice, i); let scale = await this.renderScale(choice, i); let margin = this.margin[1] + this.margin[3]; this.scaleLength = stripAnsi(scale).length; this.widths[0] = Math.min(this.widths[0], this.width - this.scaleLength - margin.length); let msg = utils.wordWrap(message, { width: this.widths[0], newline }); let lines = msg.split("\n").map((line) => pad(line) + this.margin[1]); if (focused) { scale = this.styles.info(scale); lines = lines.map((line) => this.styles.info(line)); } lines[0] += scale; if (this.linebreak) lines.push(""); return [ind + pointer, lines.join("\n")].filter(Boolean); } async renderChoices() { if (this.state.submitted) return ""; this.tableize(); let choices = this.visible.map(async (ch, i) => await this.renderChoice(ch, i)); let visible = await Promise.all(choices); let heading = await this.renderScaleHeading(); return this.margin[0] + [heading, ...visible.map((v) => v.join(" "))].join("\n"); } async render() { let { submitted, size } = this.state; let prefix = await this.prefix(); let separator = await this.separator(); let message = await this.message(); let prompt = ""; if (this.options.promptLine !== false) { prompt = [prefix, message, separator, ""].join(" "); this.state.prompt = prompt; } let header = await this.header(); let output = await this.format(); let key = await this.renderScaleKey(); let help = await this.error() || await this.hint(); let body = await this.renderChoices(); let footer = await this.footer(); let err = this.emptyError; if (output) prompt += output; if (help && !prompt.includes(help)) prompt += " " + help; if (submitted && !output && !body.trim() && this.multiple && err != null) { prompt += this.styles.danger(err); } this.clear(size); this.write([header, prompt, key, body, footer].filter(Boolean).join("\n")); if (!this.state.submitted) { this.write(this.margin[2]); } this.restore(); } submit() { this.value = {}; for (let choice of this.choices) { this.value[choice.name] = choice.scaleIndex; } return this.base.submit.call(this); } }; module2.exports = LikertScale; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/interpolate.js var require_interpolate = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/interpolate.js"(exports2, module2) { "use strict"; var stripAnsi = require_strip_ansi(); var clean = (str = "") => { return typeof str === "string" ? str.replace(/^['"]|['"]$/g, "") : ""; }; var Item = class { constructor(token) { this.name = token.key; this.field = token.field || {}; this.value = clean(token.initial || this.field.initial || ""); this.message = token.message || this.name; this.cursor = 0; this.input = ""; this.lines = []; } }; var tokenize = async (options = {}, defaults = {}, fn = (token) => token) => { let unique = /* @__PURE__ */ new Set(); let fields = options.fields || []; let input = options.template; let tabstops = []; let items = []; let keys = []; let line = 1; if (typeof input === "function") { input = await input(); } let i = -1; let next = () => input[++i]; let peek = () => input[i + 1]; let push = (token) => { token.line = line; tabstops.push(token); }; push({ type: "bos", value: "" }); while (i < input.length - 1) { let value = next(); if (/^[^\S\n ]$/.test(value)) { push({ type: "text", value }); continue; } if (value === "\n") { push({ type: "newline", value }); line++; continue; } if (value === "\\") { value += next(); push({ type: "text", value }); continue; } if ((value === "$" || value === "#" || value === "{") && peek() === "{") { let n = next(); value += n; let token = { type: "template", open: value, inner: "", close: "", value }; let ch; while (ch = next()) { if (ch === "}") { if (peek() === "}") ch += next(); token.value += ch; token.close = ch; break; } if (ch === ":") { token.initial = ""; token.key = token.inner; } else if (token.initial !== void 0) { token.initial += ch; } token.value += ch; token.inner += ch; } token.template = token.open + (token.initial || token.inner) + token.close; token.key = token.key || token.inner; if (hasOwnProperty.call(defaults, token.key)) { token.initial = defaults[token.key]; } token = fn(token); push(token); keys.push(token.key); unique.add(token.key); let item = items.find((item2) => item2.name === token.key); token.field = fields.find((ch2) => ch2.name === token.key); if (!item) { item = new Item(token); items.push(item); } item.lines.push(token.line - 1); continue; } let last = tabstops[tabstops.length - 1]; if (last.type === "text" && last.line === line) { last.value += value; } else { push({ type: "text", value }); } } push({ type: "eos", value: "" }); return { input, tabstops, unique, keys, items }; }; module2.exports = async (prompt) => { let options = prompt.options; let required = new Set(options.required === true ? [] : options.required || []); let defaults = { ...options.values, ...options.initial }; let { tabstops, items, keys } = await tokenize(options, defaults); let result2 = createFn("result", prompt, options); let format = createFn("format", prompt, options); let isValid = createFn("validate", prompt, options, true); let isVal = prompt.isValue.bind(prompt); return async (state = {}, submitted = false) => { let index = 0; state.required = required; state.items = items; state.keys = keys; state.output = ""; let validate2 = async (value, state2, item, index2) => { let error = await isValid(value, state2, item, index2); if (error === false) { return "Invalid field " + item.name; } return error; }; for (let token of tabstops) { let value = token.value; let key = token.key; if (token.type !== "template") { if (value) state.output += value; continue; } if (token.type === "template") { let item = items.find((ch) => ch.name === key); if (options.required === true) { state.required.add(item.name); } let val = [item.input, state.values[item.value], item.value, value].find(isVal); let field = item.field || {}; let message = field.message || token.inner; if (submitted) { let error = await validate2(state.values[key], state, item, index); if (error && typeof error === "string" || error === false) { state.invalid.set(key, error); continue; } state.invalid.delete(key); let res = await result2(state.values[key], state, item, index); state.output += stripAnsi(res); continue; } item.placeholder = false; let before = value; value = await format(value, state, item, index); if (val !== value) { state.values[key] = val; value = prompt.styles.typing(val); state.missing.delete(message); } else { state.values[key] = void 0; val = `<${message}>`; value = prompt.styles.primary(val); item.placeholder = true; if (state.required.has(key)) { state.missing.add(message); } } if (state.missing.has(message) && state.validating) { value = prompt.styles.warning(val); } if (state.invalid.has(key) && state.validating) { value = prompt.styles.danger(val); } if (index === state.index) { if (before !== value) { value = prompt.styles.underline(value); } else { value = prompt.styles.heading(stripAnsi(value)); } } index++; } if (value) { state.output += value; } } let lines = state.output.split("\n").map((l) => " " + l); let len = items.length; let done = 0; for (let item of items) { if (state.invalid.has(item.name)) { item.lines.forEach((i) => { if (lines[i][0] !== " ") return; lines[i] = state.styles.danger(state.symbols.bullet) + lines[i].slice(1); }); } if (prompt.isValue(state.values[item.name])) { done++; } } state.completed = (done / len * 100).toFixed(0); state.output = lines.join("\n"); return state.output; }; }; function createFn(prop, prompt, options, fallback) { return (value, state, item, index) => { if (typeof item.field[prop] === "function") { return item.field[prop].call(prompt, value, state, item, index); } return [fallback, value].find((v) => prompt.isValue(v)); }; } } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/snippet.js var require_snippet2 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/snippet.js"(exports2, module2) { "use strict"; var stripAnsi = require_strip_ansi(); var interpolate = require_interpolate(); var Prompt = require_prompt(); var SnippetPrompt = class extends Prompt { constructor(options) { super(options); this.cursorHide(); this.reset(true); } async initialize() { this.interpolate = await interpolate(this); await super.initialize(); } async reset(first) { this.state.keys = []; this.state.invalid = /* @__PURE__ */ new Map(); this.state.missing = /* @__PURE__ */ new Set(); this.state.completed = 0; this.state.values = {}; if (first !== true) { await this.initialize(); await this.render(); } } moveCursor(n) { let item = this.getItem(); this.cursor += n; item.cursor += n; } dispatch(ch, key) { if (!key.code && !key.ctrl && ch != null && this.getItem()) { this.append(ch, key); return; } this.alert(); } append(ch, key) { let item = this.getItem(); let prefix = item.input.slice(0, this.cursor); let suffix = item.input.slice(this.cursor); this.input = item.input = `${prefix}${ch}${suffix}`; this.moveCursor(1); this.render(); } delete() { let item = this.getItem(); if (this.cursor <= 0 || !item.input) return this.alert(); let suffix = item.input.slice(this.cursor); let prefix = item.input.slice(0, this.cursor - 1); this.input = item.input = `${prefix}${suffix}`; this.moveCursor(-1); this.render(); } increment(i) { return i >= this.state.keys.length - 1 ? 0 : i + 1; } decrement(i) { return i <= 0 ? this.state.keys.length - 1 : i - 1; } first() { this.state.index = 0; this.render(); } last() { this.state.index = this.state.keys.length - 1; this.render(); } right() { if (this.cursor >= this.input.length) return this.alert(); this.moveCursor(1); this.render(); } left() { if (this.cursor <= 0) return this.alert(); this.moveCursor(-1); this.render(); } prev() { this.state.index = this.decrement(this.state.index); this.getItem(); this.render(); } next() { this.state.index = this.increment(this.state.index); this.getItem(); this.render(); } up() { this.prev(); } down() { this.next(); } format(value) { let color = this.state.completed < 100 ? this.styles.warning : this.styles.success; if (this.state.submitted === true && this.state.completed !== 100) { color = this.styles.danger; } return color(`${this.state.completed}% completed`); } async render() { let { index, keys = [], submitted, size } = this.state; let newline = [this.options.newline, "\n"].find((v) => v != null); let prefix = await this.prefix(); let separator = await this.separator(); let message = await this.message(); let prompt = [prefix, message, separator].filter(Boolean).join(" "); this.state.prompt = prompt; let header = await this.header(); let error = await this.error() || ""; let hint = await this.hint() || ""; let body = submitted ? "" : await this.interpolate(this.state); let key = this.state.key = keys[index] || ""; let input = await this.format(key); let footer = await this.footer(); if (input) prompt += " " + input; if (hint && !input && this.state.completed === 0) prompt += " " + hint; this.clear(size); let lines = [header, prompt, body, footer, error.trim()]; this.write(lines.filter(Boolean).join(newline)); this.restore(); } getItem(name) { let { items, keys, index } = this.state; let item = items.find((ch) => ch.name === keys[index]); if (item && item.input != null) { this.input = item.input; this.cursor = item.cursor; } return item; } async submit() { if (typeof this.interpolate !== "function") await this.initialize(); await this.interpolate(this.state, true); let { invalid, missing, output, values } = this.state; if (invalid.size) { let err = ""; for (let [key, value] of invalid) err += `Invalid ${key}: ${value} `; this.state.error = err; return super.submit(); } if (missing.size) { this.state.error = "Required: " + [...missing.keys()].join(", "); return super.submit(); } let lines = stripAnsi(output).split("\n"); let result2 = lines.map((v) => v.slice(1)).join("\n"); this.value = { values, result: result2 }; return super.submit(); } }; module2.exports = SnippetPrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/sort.js var require_sort2 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/sort.js"(exports2, module2) { "use strict"; var hint = "(Use + to sort)"; var Prompt = require_select(); var Sort = class extends Prompt { constructor(options) { super({ ...options, reorder: false, sort: true, multiple: true }); this.state.hint = [this.options.hint, hint].find(this.isValue.bind(this)); } indicator() { return ""; } async renderChoice(choice, i) { let str = await super.renderChoice(choice, i); let sym = this.symbols.identicalTo + " "; let pre = this.index === i && this.sorting ? this.styles.muted(sym) : " "; if (this.options.drag === false) pre = ""; if (this.options.numbered === true) { return pre + `${i + 1} - ` + str; } return pre + str; } get selected() { return this.choices; } submit() { this.value = this.choices.map((choice) => choice.value); return super.submit(); } }; module2.exports = Sort; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/survey.js var require_survey = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/survey.js"(exports2, module2) { "use strict"; var ArrayPrompt = require_array2(); var Survey = class extends ArrayPrompt { constructor(options = {}) { super(options); this.emptyError = options.emptyError || "No items were selected"; this.term = process.env.TERM_PROGRAM; if (!this.options.header) { let header = ["", "4 - Strongly Agree", "3 - Agree", "2 - Neutral", "1 - Disagree", "0 - Strongly Disagree", ""]; header = header.map((ele) => this.styles.muted(ele)); this.state.header = header.join("\n "); } } async toChoices(...args) { if (this.createdScales) return false; this.createdScales = true; let choices = await super.toChoices(...args); for (let choice of choices) { choice.scale = createScale(5, this.options); choice.scaleIdx = 2; } return choices; } dispatch() { this.alert(); } space() { let choice = this.focused; let ele = choice.scale[choice.scaleIdx]; let selected = ele.selected; choice.scale.forEach((e) => e.selected = false); ele.selected = !selected; return this.render(); } indicator() { return ""; } pointer() { return ""; } separator() { return this.styles.muted(this.symbols.ellipsis); } right() { let choice = this.focused; if (choice.scaleIdx >= choice.scale.length - 1) return this.alert(); choice.scaleIdx++; return this.render(); } left() { let choice = this.focused; if (choice.scaleIdx <= 0) return this.alert(); choice.scaleIdx--; return this.render(); } indent() { return " "; } async renderChoice(item, i) { await this.onChoice(item, i); let focused = this.index === i; let isHyper = this.term === "Hyper"; let n = !isHyper ? 8 : 9; let s = !isHyper ? " " : ""; let ln = this.symbols.line.repeat(n); let sp = " ".repeat(n + (isHyper ? 0 : 1)); let dot = (enabled) => (enabled ? this.styles.success("\u25C9") : "\u25EF") + s; let num = i + 1 + "."; let color = focused ? this.styles.heading : this.styles.noop; let msg = await this.resolve(item.message, this.state, item, i); let indent = this.indent(item); let scale = indent + item.scale.map((e, i2) => dot(i2 === item.scaleIdx)).join(ln); let val = (i2) => i2 === item.scaleIdx ? color(i2) : i2; let next = indent + item.scale.map((e, i2) => val(i2)).join(sp); let line = () => [num, msg].filter(Boolean).join(" "); let lines = () => [line(), scale, next, " "].filter(Boolean).join("\n"); if (focused) { scale = this.styles.cyan(scale); next = this.styles.cyan(next); } return lines(); } async renderChoices() { if (this.state.submitted) return ""; let choices = this.visible.map(async (ch, i) => await this.renderChoice(ch, i)); let visible = await Promise.all(choices); if (!visible.length) visible.push(this.styles.danger("No matching choices")); return visible.join("\n"); } format() { if (this.state.submitted) { let values = this.choices.map((ch) => this.styles.info(ch.scaleIdx)); return values.join(", "); } return ""; } async render() { let { submitted, size } = this.state; let prefix = await this.prefix(); let separator = await this.separator(); let message = await this.message(); let prompt = [prefix, message, separator].filter(Boolean).join(" "); this.state.prompt = prompt; let header = await this.header(); let output = await this.format(); let help = await this.error() || await this.hint(); let body = await this.renderChoices(); let footer = await this.footer(); if (output || !help) prompt += " " + output; if (help && !prompt.includes(help)) prompt += " " + help; if (submitted && !output && !body && this.multiple && this.type !== "form") { prompt += this.styles.danger(this.emptyError); } this.clear(size); this.write([prompt, header, body, footer].filter(Boolean).join("\n")); this.restore(); } submit() { this.value = {}; for (let choice of this.choices) { this.value[choice.name] = choice.scaleIdx; } return this.base.submit.call(this); } }; function createScale(n, options = {}) { if (Array.isArray(options.scale)) { return options.scale.map((ele) => ({ ...ele })); } let scale = []; for (let i = 1; i < n + 1; i++) scale.push({ i, selected: false }); return scale; } module2.exports = Survey; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/text.js var require_text = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/text.js"(exports2, module2) { module2.exports = require_input(); } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/toggle.js var require_toggle = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/toggle.js"(exports2, module2) { "use strict"; var BooleanPrompt = require_boolean(); var TogglePrompt = class extends BooleanPrompt { async initialize() { await super.initialize(); this.value = this.initial = this.resolve(this.options.initial); this.disabled = this.options.disabled || "no"; this.enabled = this.options.enabled || "yes"; await this.render(); } reset() { this.value = this.initial; this.render(); } delete() { this.alert(); } toggle() { this.value = !this.value; this.render(); } enable() { if (this.value === true) return this.alert(); this.value = true; this.render(); } disable() { if (this.value === false) return this.alert(); this.value = false; this.render(); } up() { this.toggle(); } down() { this.toggle(); } right() { this.toggle(); } left() { this.toggle(); } next() { this.toggle(); } prev() { this.toggle(); } dispatch(ch = "", key) { switch (ch.toLowerCase()) { case " ": return this.toggle(); case "1": case "y": case "t": return this.enable(); case "0": case "n": case "f": return this.disable(); default: { return this.alert(); } } } format() { let active = (str) => this.styles.primary.underline(str); let value = [ this.value ? this.disabled : active(this.disabled), this.value ? active(this.enabled) : this.enabled ]; return value.join(this.styles.muted(" / ")); } async render() { let { size } = this.state; let header = await this.header(); let prefix = await this.prefix(); let separator = await this.separator(); let message = await this.message(); let output = await this.format(); let help = await this.error() || await this.hint(); let footer = await this.footer(); let prompt = [prefix, message, separator, output].join(" "); this.state.prompt = prompt; if (help && !prompt.includes(help)) prompt += " " + help; this.clear(size); this.write([header, prompt, footer].filter(Boolean).join("\n")); this.write(this.margin[2]); this.restore(); } }; module2.exports = TogglePrompt; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/quiz.js var require_quiz = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/quiz.js"(exports2, module2) { "use strict"; var SelectPrompt = require_select(); var Quiz = class extends SelectPrompt { constructor(options) { super(options); if (typeof this.options.correctChoice !== "number" || this.options.correctChoice < 0) { throw new Error("Please specify the index of the correct answer from the list of choices"); } } async toChoices(value, parent) { let choices = await super.toChoices(value, parent); if (choices.length < 2) { throw new Error("Please give at least two choices to the user"); } if (this.options.correctChoice > choices.length) { throw new Error("Please specify the index of the correct answer from the list of choices"); } return choices; } check(state) { return state.index === this.options.correctChoice; } async result(selected) { return { selectedAnswer: selected, correctAnswer: this.options.choices[this.options.correctChoice].value, correct: await this.check(this.state) }; } }; module2.exports = Quiz; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/index.js var require_prompts = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/index.js"(exports2) { "use strict"; var utils = require_utils15(); var define2 = (key, fn) => { utils.defineExport(exports2, key, fn); utils.defineExport(exports2, key.toLowerCase(), fn); }; define2("AutoComplete", () => require_autocomplete()); define2("BasicAuth", () => require_basicauth()); define2("Confirm", () => require_confirm()); define2("Editable", () => require_editable()); define2("Form", () => require_form()); define2("Input", () => require_input()); define2("Invisible", () => require_invisible()); define2("List", () => require_list()); define2("MultiSelect", () => require_multiselect()); define2("Numeral", () => require_numeral()); define2("Password", () => require_password()); define2("Scale", () => require_scale()); define2("Select", () => require_select()); define2("Snippet", () => require_snippet2()); define2("Sort", () => require_sort2()); define2("Survey", () => require_survey()); define2("Text", () => require_text()); define2("Toggle", () => require_toggle()); define2("Quiz", () => require_quiz()); } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/index.js var require_types5 = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/index.js"(exports2, module2) { module2.exports = { ArrayPrompt: require_array2(), AuthPrompt: require_auth2(), BooleanPrompt: require_boolean(), NumberPrompt: require_number(), StringPrompt: require_string2() }; } }); // ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/index.js var require_enquirer = __commonJS({ "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/index.js"(exports2, module2) { "use strict"; var assert = require("assert"); var Events = require("events"); var utils = require_utils15(); var Enquirer = class extends Events { constructor(options, answers) { super(); this.options = utils.merge({}, options); this.answers = { ...answers }; } /** * Register a custom prompt type. * * ```js * const Enquirer = require('enquirer'); * const enquirer = new Enquirer(); * enquirer.register('customType', require('./custom-prompt')); * ``` * @name register() * @param {String} `type` * @param {Function|Prompt} `fn` `Prompt` class, or a function that returns a `Prompt` class. * @return {Object} Returns the Enquirer instance * @api public */ register(type, fn) { if (utils.isObject(type)) { for (let key of Object.keys(type)) this.register(key, type[key]); return this; } assert.equal(typeof fn, "function", "expected a function"); const name = type.toLowerCase(); if (fn.prototype instanceof this.Prompt) { this.prompts[name] = fn; } else { this.prompts[name] = fn(this.Prompt, this); } return this; } /** * Prompt function that takes a "question" object or array of question objects, * and returns an object with responses from the user. * * ```js * const Enquirer = require('enquirer'); * const enquirer = new Enquirer(); * * const response = await enquirer.prompt({ * type: 'input', * name: 'username', * message: 'What is your username?' * }); * console.log(response); * ``` * @name prompt() * @param {Array|Object} `questions` Options objects for one or more prompts to run. * @return {Promise} Promise that returns an "answers" object with the user's responses. * @api public */ async prompt(questions = []) { for (let question of [].concat(questions)) { try { if (typeof question === "function") question = await question.call(this); await this.ask(utils.merge({}, this.options, question)); } catch (err) { return Promise.reject(err); } } return this.answers; } async ask(question) { if (typeof question === "function") { question = await question.call(this); } let opts = utils.merge({}, this.options, question); let { type, name } = question; let { set, get } = utils; if (typeof type === "function") { type = await type.call(this, question, this.answers); } if (!type) return this.answers[name]; if (type === "number") type = "numeral"; assert(this.prompts[type], `Prompt "${type}" is not registered`); let prompt = new this.prompts[type](opts); let value = get(this.answers, name); prompt.state.answers = this.answers; prompt.enquirer = this; if (name) { prompt.on("submit", (value2) => { this.emit("answer", name, value2, prompt); set(this.answers, name, value2); }); } let emit = prompt.emit.bind(prompt); prompt.emit = (...args) => { this.emit.call(this, ...args); return emit(...args); }; this.emit("prompt", prompt, this); if (opts.autofill && value != null) { prompt.value = prompt.input = value; if (opts.autofill === "show") { await prompt.submit(); } } else { value = prompt.value = await prompt.run(); } return value; } /** * Use an enquirer plugin. * * ```js * const Enquirer = require('enquirer'); * const enquirer = new Enquirer(); * const plugin = enquirer => { * // do stuff to enquire instance * }; * enquirer.use(plugin); * ``` * @name use() * @param {Function} `plugin` Plugin function that takes an instance of Enquirer. * @return {Object} Returns the Enquirer instance. * @api public */ use(plugin) { plugin.call(this, this); return this; } set Prompt(value) { this._Prompt = value; } get Prompt() { return this._Prompt || this.constructor.Prompt; } get prompts() { return this.constructor.prompts; } static set Prompt(value) { this._Prompt = value; } static get Prompt() { return this._Prompt || require_prompt(); } static get prompts() { return require_prompts(); } static get types() { return require_types5(); } /** * Prompt function that takes a "question" object or array of question objects, * and returns an object with responses from the user. * * ```js * const { prompt } = require('enquirer'); * const response = await prompt({ * type: 'input', * name: 'username', * message: 'What is your username?' * }); * console.log(response); * ``` * @name Enquirer#prompt * @param {Array|Object} `questions` Options objects for one or more prompts to run. * @return {Promise} Promise that returns an "answers" object with the user's responses. * @api public */ static get prompt() { const fn = (questions, ...rest) => { let enquirer = new this(...rest); let emit = enquirer.emit.bind(enquirer); enquirer.emit = (...args) => { fn.emit(...args); return emit(...args); }; return enquirer.prompt(questions); }; utils.mixinEmitter(fn, new Events()); return fn; } }; utils.mixinEmitter(Enquirer, new Events()); var prompts = Enquirer.prompts; for (let name of Object.keys(prompts)) { let key = name.toLowerCase(); let run = (options) => new prompts[name](options).run(); Enquirer.prompt[key] = run; Enquirer[key] = run; if (!Enquirer[name]) { Reflect.defineProperty(Enquirer, name, { get: () => prompts[name] }); } } var define2 = (name) => { utils.defineExport(Enquirer, name, () => Enquirer.types[name]); }; define2("ArrayPrompt"); define2("AuthPrompt"); define2("BooleanPrompt"); define2("NumberPrompt"); define2("StringPrompt"); module2.exports = Enquirer; } }); // ../cli/common-cli-options-help/lib/index.js var require_lib116 = __commonJS({ "../cli/common-cli-options-help/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.OUTPUT_OPTIONS = exports2.FILTERING = exports2.UNIVERSAL_OPTIONS = exports2.OPTIONS = void 0; exports2.OPTIONS = { globalDir: { description: "Specify a custom directory to store global packages", name: "--global-dir" }, ignoreScripts: { description: "Don't run lifecycle scripts", name: "--ignore-scripts" }, offline: { description: "Trigger an error if any required dependencies are not available in local store", name: "--offline" }, preferOffline: { description: "Skip staleness checks for cached data, but request missing data from the server", name: "--prefer-offline" }, storeDir: { description: "The directory in which all the packages are saved on the disk", name: "--store-dir " }, virtualStoreDir: { description: "The directory with links to the store (default is node_modules/.pnpm). All direct and indirect dependencies of the project are linked into this directory", name: "--virtual-store-dir " } }; exports2.UNIVERSAL_OPTIONS = [ { description: "Controls colors in the output. By default, output is always colored when it goes directly to a terminal", name: "--[no-]color" }, { description: "Output usage information", name: "--help", shortAlias: "-h" }, { description: `Change to directory (default: ${process.cwd()})`, name: "--dir ", shortAlias: "-C" }, { description: "Run the command on the root workspace project", name: "--workspace-root", shortAlias: "-w" }, { description: 'What level of logs to report. Any logs at or higher than the given level will be shown. Levels (lowest to highest): debug, info, warn, error. Or use "--silent" to turn off all logging.', name: "--loglevel " }, { description: "Stream output from child processes immediately, prefixed with the originating package directory. This allows output from different packages to be interleaved.", name: "--stream" }, { description: "Aggregate output from child processes that are run in parallel, and only print output when child process is finished. It makes reading large logs after running `pnpm recursive` with `--parallel` or with `--workspace-concurrency` much easier (especially on CI). Only `--reporter=append-only` is supported.", name: "--aggregate-output" }, { description: "Divert all output to stderr", name: "--use-stderr" } ]; exports2.FILTERING = { list: [ { description: 'Restricts the scope to package names matching the given pattern. E.g.: foo, "@bar/*"', name: "--filter " }, { description: "Includes all direct and indirect dependencies of the matched packages. E.g.: foo...", name: "--filter ..." }, { description: "Includes only the direct and indirect dependencies of the matched packages without including the matched packages themselves. ^ must be doubled at the Windows Command Prompt. E.g.: foo^... (foo^^... in Command Prompt)", name: "--filter ^..." }, { description: 'Includes all direct and indirect dependents of the matched packages. E.g.: ...foo, "...@bar/*"', name: "--filter ..." }, { description: "Includes only the direct and indirect dependents of the matched packages without including the matched packages themselves. ^ must be doubled at the Windows Command Prompt. E.g.: ...^foo (...^^foo in Command Prompt)", name: "--filter ...^" }, { description: "Includes all packages that are inside a given subdirectory. E.g.: ./components", name: "--filter ./" }, { description: "Includes all packages that are under the current working directory", name: "--filter ." }, { description: 'Includes all projects that are under the specified directory. It may be used with "..." to select dependents/dependencies as well. It also may be combined with "[]". For instance, all changed projects inside a directory: "{packages}[origin/master]"', name: "--filter {}" }, { description: 'Includes all packages changed since the specified commit/branch. E.g.: "[master]", "[HEAD~2]". It may be used together with "...". So, for instance, "...[HEAD~1]" selects all packages changed in the last commit and their dependents', name: '--filter "[]"' }, { description: 'If a selector starts with ! (or \\! in zsh), it means the packages matching the selector must be excluded. E.g., "pnpm --filter !foo" selects all packages except "foo"', name: "--filter !" }, { description: 'Defines files related to tests. Useful with the changed since filter. When selecting only changed packages and their dependent packages, the dependent packages will be ignored in case a package has changes only in tests. Usage example: pnpm --filter="...[origin/master]" --test-pattern="test/*" test', name: "--test-pattern " }, { description: 'Defines files to ignore when filtering for changed projects since the specified commit/branch. Usage example: pnpm --filter="...[origin/master]" --changed-files-ignore-pattern="**/README.md" build', name: "--changed-files-ignore-pattern " }, { description: "Restricts the scope to package names matching the given pattern similar to --filter, but it ignores devDependencies when searching for dependencies and dependents.", name: "--filter-prod " }, { description: "If no projects are matched by the command, exit with exit code 1 (fail)", name: "--fail-if-no-match" } ], title: "Filtering options (run the command only on packages that satisfy at least one of the selectors)" }; exports2.OUTPUT_OPTIONS = { title: "Output", list: [ { description: "No output is logged to the console, not even fatal errors", name: "--silent, --reporter silent", shortAlias: "-s" }, { description: "The default reporter when the stdout is TTY", name: "--reporter default" }, { description: "The output is always appended to the end. No cursor manipulations are performed", name: "--reporter append-only" }, { description: "The most verbose reporter. Prints all logs in ndjson format", name: "--reporter ndjson" } ] }; } }); // ../node_modules/.pnpm/object-hash@3.0.0/node_modules/object-hash/index.js var require_object_hash = __commonJS({ "../node_modules/.pnpm/object-hash@3.0.0/node_modules/object-hash/index.js"(exports2, module2) { "use strict"; var crypto5 = require("crypto"); exports2 = module2.exports = objectHash; function objectHash(object, options) { options = applyDefaults(object, options); return hash(object, options); } exports2.sha1 = function(object) { return objectHash(object); }; exports2.keys = function(object) { return objectHash(object, { excludeValues: true, algorithm: "sha1", encoding: "hex" }); }; exports2.MD5 = function(object) { return objectHash(object, { algorithm: "md5", encoding: "hex" }); }; exports2.keysMD5 = function(object) { return objectHash(object, { algorithm: "md5", encoding: "hex", excludeValues: true }); }; var hashes = crypto5.getHashes ? crypto5.getHashes().slice() : ["sha1", "md5"]; hashes.push("passthrough"); var encodings = ["buffer", "hex", "binary", "base64"]; function applyDefaults(object, sourceOptions) { sourceOptions = sourceOptions || {}; var options = {}; options.algorithm = sourceOptions.algorithm || "sha1"; options.encoding = sourceOptions.encoding || "hex"; options.excludeValues = sourceOptions.excludeValues ? true : false; options.algorithm = options.algorithm.toLowerCase(); options.encoding = options.encoding.toLowerCase(); options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true; options.respectType = sourceOptions.respectType === false ? false : true; options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true; options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true; options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true; options.unorderedSets = sourceOptions.unorderedSets === false ? false : true; options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true; options.replacer = sourceOptions.replacer || void 0; options.excludeKeys = sourceOptions.excludeKeys || void 0; if (typeof object === "undefined") { throw new Error("Object argument required."); } for (var i = 0; i < hashes.length; ++i) { if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) { options.algorithm = hashes[i]; } } if (hashes.indexOf(options.algorithm) === -1) { throw new Error('Algorithm "' + options.algorithm + '" not supported. supported values: ' + hashes.join(", ")); } if (encodings.indexOf(options.encoding) === -1 && options.algorithm !== "passthrough") { throw new Error('Encoding "' + options.encoding + '" not supported. supported values: ' + encodings.join(", ")); } return options; } function isNativeFunction(f) { if (typeof f !== "function") { return false; } var exp = /^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i; return exp.exec(Function.prototype.toString.call(f)) != null; } function hash(object, options) { var hashingStream; if (options.algorithm !== "passthrough") { hashingStream = crypto5.createHash(options.algorithm); } else { hashingStream = new PassThrough(); } if (typeof hashingStream.write === "undefined") { hashingStream.write = hashingStream.update; hashingStream.end = hashingStream.update; } var hasher = typeHasher(options, hashingStream); hasher.dispatch(object); if (!hashingStream.update) { hashingStream.end(""); } if (hashingStream.digest) { return hashingStream.digest(options.encoding === "buffer" ? void 0 : options.encoding); } var buf = hashingStream.read(); if (options.encoding === "buffer") { return buf; } return buf.toString(options.encoding); } exports2.writeToStream = function(object, options, stream) { if (typeof stream === "undefined") { stream = options; options = {}; } options = applyDefaults(object, options); return typeHasher(options, stream).dispatch(object); }; function typeHasher(options, writeTo, context) { context = context || []; var write = function(str) { if (writeTo.update) { return writeTo.update(str, "utf8"); } else { return writeTo.write(str, "utf8"); } }; return { dispatch: function(value) { if (options.replacer) { value = options.replacer(value); } var type = typeof value; if (value === null) { type = "null"; } return this["_" + type](value); }, _object: function(object) { var pattern = /\[object (.*)\]/i; var objString = Object.prototype.toString.call(object); var objType = pattern.exec(objString); if (!objType) { objType = "unknown:[" + objString + "]"; } else { objType = objType[1]; } objType = objType.toLowerCase(); var objectNumber = null; if ((objectNumber = context.indexOf(object)) >= 0) { return this.dispatch("[CIRCULAR:" + objectNumber + "]"); } else { context.push(object); } if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(object)) { write("buffer:"); return write(object); } if (objType !== "object" && objType !== "function" && objType !== "asyncfunction") { if (this["_" + objType]) { this["_" + objType](object); } else if (options.ignoreUnknown) { return write("[" + objType + "]"); } else { throw new Error('Unknown object type "' + objType + '"'); } } else { var keys = Object.keys(object); if (options.unorderedObjects) { keys = keys.sort(); } if (options.respectType !== false && !isNativeFunction(object)) { keys.splice(0, 0, "prototype", "__proto__", "constructor"); } if (options.excludeKeys) { keys = keys.filter(function(key) { return !options.excludeKeys(key); }); } write("object:" + keys.length + ":"); var self2 = this; return keys.forEach(function(key) { self2.dispatch(key); write(":"); if (!options.excludeValues) { self2.dispatch(object[key]); } write(","); }); } }, _array: function(arr, unordered) { unordered = typeof unordered !== "undefined" ? unordered : options.unorderedArrays !== false; var self2 = this; write("array:" + arr.length + ":"); if (!unordered || arr.length <= 1) { return arr.forEach(function(entry) { return self2.dispatch(entry); }); } var contextAdditions = []; var entries = arr.map(function(entry) { var strm = new PassThrough(); var localContext = context.slice(); var hasher = typeHasher(options, strm, localContext); hasher.dispatch(entry); contextAdditions = contextAdditions.concat(localContext.slice(context.length)); return strm.read().toString(); }); context = context.concat(contextAdditions); entries.sort(); return this._array(entries, false); }, _date: function(date) { return write("date:" + date.toJSON()); }, _symbol: function(sym) { return write("symbol:" + sym.toString()); }, _error: function(err) { return write("error:" + err.toString()); }, _boolean: function(bool) { return write("bool:" + bool.toString()); }, _string: function(string) { write("string:" + string.length + ":"); write(string.toString()); }, _function: function(fn) { write("fn:"); if (isNativeFunction(fn)) { this.dispatch("[native]"); } else { this.dispatch(fn.toString()); } if (options.respectFunctionNames !== false) { this.dispatch("function-name:" + String(fn.name)); } if (options.respectFunctionProperties) { this._object(fn); } }, _number: function(number) { return write("number:" + number.toString()); }, _xml: function(xml) { return write("xml:" + xml.toString()); }, _null: function() { return write("Null"); }, _undefined: function() { return write("Undefined"); }, _regexp: function(regex) { return write("regex:" + regex.toString()); }, _uint8array: function(arr) { write("uint8array:"); return this.dispatch(Array.prototype.slice.call(arr)); }, _uint8clampedarray: function(arr) { write("uint8clampedarray:"); return this.dispatch(Array.prototype.slice.call(arr)); }, _int8array: function(arr) { write("int8array:"); return this.dispatch(Array.prototype.slice.call(arr)); }, _uint16array: function(arr) { write("uint16array:"); return this.dispatch(Array.prototype.slice.call(arr)); }, _int16array: function(arr) { write("int16array:"); return this.dispatch(Array.prototype.slice.call(arr)); }, _uint32array: function(arr) { write("uint32array:"); return this.dispatch(Array.prototype.slice.call(arr)); }, _int32array: function(arr) { write("int32array:"); return this.dispatch(Array.prototype.slice.call(arr)); }, _float32array: function(arr) { write("float32array:"); return this.dispatch(Array.prototype.slice.call(arr)); }, _float64array: function(arr) { write("float64array:"); return this.dispatch(Array.prototype.slice.call(arr)); }, _arraybuffer: function(arr) { write("arraybuffer:"); return this.dispatch(new Uint8Array(arr)); }, _url: function(url) { return write("url:" + url.toString(), "utf8"); }, _map: function(map) { write("map:"); var arr = Array.from(map); return this._array(arr, options.unorderedSets !== false); }, _set: function(set) { write("set:"); var arr = Array.from(set); return this._array(arr, options.unorderedSets !== false); }, _file: function(file) { write("file:"); return this.dispatch([file.name, file.size, file.type, file.lastModfied]); }, _blob: function() { if (options.ignoreUnknown) { return write("[blob]"); } throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n'); }, _domwindow: function() { return write("domwindow"); }, _bigint: function(number) { return write("bigint:" + number.toString()); }, /* Node.js standard native objects */ _process: function() { return write("process"); }, _timer: function() { return write("timer"); }, _pipe: function() { return write("pipe"); }, _tcp: function() { return write("tcp"); }, _udp: function() { return write("udp"); }, _tty: function() { return write("tty"); }, _statwatcher: function() { return write("statwatcher"); }, _securecontext: function() { return write("securecontext"); }, _connection: function() { return write("connection"); }, _zlib: function() { return write("zlib"); }, _context: function() { return write("context"); }, _nodescript: function() { return write("nodescript"); }, _httpparser: function() { return write("httpparser"); }, _dataview: function() { return write("dataview"); }, _signal: function() { return write("signal"); }, _fsevent: function() { return write("fsevent"); }, _tlswrap: function() { return write("tlswrap"); } }; } function PassThrough() { return { buf: "", write: function(b) { this.buf += b; }, end: function(b) { this.buf += b; }, read: function() { return this.buf; } }; } } }); // ../crypto/object-hasher/lib/index.js var require_lib117 = __commonJS({ "../crypto/object-hasher/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.hashObject = exports2.hashObjectWithoutSorting = void 0; exports2.hashObjectNullableWithPrefix = hashObjectNullableWithPrefix; var isEmpty_1 = __importDefault2(require_isEmpty2()); var object_hash_1 = __importDefault2(require_object_hash()); var defaultOptions = { respectType: false, algorithm: "sha256", encoding: "base64" }; var withoutSortingOptions = { ...defaultOptions, unorderedArrays: false, unorderedObjects: false, unorderedSets: false }; var withSortingOptions = { ...defaultOptions, unorderedArrays: true, unorderedObjects: true, unorderedSets: true }; function hashUnknown(object, options) { if (object === void 0) { return "00000000000000000000000000000000000000000000"; } return (0, object_hash_1.default)(object, options); } var hashObjectWithoutSorting = (object, opts) => hashUnknown(object, { ...withoutSortingOptions, ...opts }); exports2.hashObjectWithoutSorting = hashObjectWithoutSorting; var hashObject = (object) => hashUnknown(object, withSortingOptions); exports2.hashObject = hashObject; function hashObjectNullableWithPrefix(object) { if (!object || (0, isEmpty_1.default)(object)) return void 0; const packageExtensionsChecksum = (0, object_hash_1.default)(object, withSortingOptions); return `sha256-${packageExtensionsChecksum}`; } } }); // ../packages/calc-dep-state/lib/index.js var require_lib118 = __commonJS({ "../packages/calc-dep-state/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calcDepState = calcDepState; exports2.iterateHashedGraphNodes = iterateHashedGraphNodes; exports2.lockfileToDepGraph = lockfileToDepGraph; var constants_1 = require_lib5(); var dependency_path_1 = require_lib86(); var crypto_object_hasher_1 = require_lib117(); function calcDepState(depsGraph, cache, depPath, opts) { let result2 = constants_1.ENGINE_NAME; if (opts.includeDepGraphHash) { const depGraphHash = calcDepGraphHash(depsGraph, cache, /* @__PURE__ */ new Set(), depPath); result2 += `;deps=${depGraphHash}`; } if (opts.patchFileHash) { result2 += `;patch=${opts.patchFileHash}`; } return result2; } function calcDepGraphHash(depsGraph, cache, parents, depPath) { if (cache[depPath]) return cache[depPath]; const node = depsGraph[depPath]; if (!node) return ""; if (!node.fullPkgId) { if (!node.pkgIdWithPatchHash) { throw new Error(`pkgIdWithPatchHash is not defined for ${depPath} in depsGraph`); } if (!node.resolution) { throw new Error(`resolution is not defined for ${depPath} in depsGraph`); } node.fullPkgId = createFullPkgId(node.pkgIdWithPatchHash, node.resolution); } const deps = {}; if (Object.keys(node.children).length && !parents.has(node.fullPkgId)) { const nextParents = /* @__PURE__ */ new Set([...Array.from(parents), node.fullPkgId]); const _calcDepGraphHash = calcDepGraphHash.bind(null, depsGraph, cache, nextParents); for (const alias in node.children) { if (Object.hasOwn(node.children, alias)) { const childId = node.children[alias]; deps[alias] = _calcDepGraphHash(childId); } } } cache[depPath] = (0, crypto_object_hasher_1.hashObject)({ id: node.fullPkgId, deps }); return cache[depPath]; } function* iterateHashedGraphNodes(graph, pkgMetaIterator) { const _calcDepGraphHash = calcDepGraphHash.bind(null, graph, {}); for (const pkgMeta of pkgMetaIterator) { const { name, version: version2, depPath } = pkgMeta; const state = { // Unfortunately, we need to include the engine name in the hash, // even though it's only required for packages that are built, // or have dependencies that are built. // We can't know for sure whether a package needs to be built // before it's fetched from the registry. // However, we fetch and write packages to node_modules in random order for performance, // so we can't determine at this stage which dependencies will be built. engine: constants_1.ENGINE_NAME, deps: _calcDepGraphHash(/* @__PURE__ */ new Set(), depPath) }; const hexDigest = (0, crypto_object_hasher_1.hashObjectWithoutSorting)(state, { encoding: "hex" }); yield { hash: `${name}/${version2}/${hexDigest}`, pkgMeta }; } } function lockfileToDepGraph(lockfile) { const graph = {}; if (lockfile.packages != null) { for (const [depPath, pkgSnapshot] of Object.entries(lockfile.packages)) { const children = lockfileDepsToGraphChildren({ ...pkgSnapshot.dependencies, ...pkgSnapshot.optionalDependencies }); graph[depPath] = { children, fullPkgId: createFullPkgId((0, dependency_path_1.getPkgIdWithPatchHash)(depPath), pkgSnapshot.resolution) }; } } return graph; } function lockfileDepsToGraphChildren(deps) { const children = {}; for (const [alias, reference] of Object.entries(deps)) { const depPath = (0, dependency_path_1.refToRelative)(reference, alias); if (depPath) { children[alias] = depPath; } } return children; } function createFullPkgId(pkgIdWithPatchHash, resolution) { const res = "integrity" in resolution ? resolution.integrity : (0, crypto_object_hasher_1.hashObject)(resolution); return `${pkgIdWithPatchHash}:${res}`; } } }); // ../lockfile/fs/lib/logger.js var require_logger3 = __commonJS({ "../lockfile/fs/lib/logger.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.lockfileLogger = void 0; var logger_1 = require_lib(); exports2.lockfileLogger = (0, logger_1.logger)("lockfile"); } }); // ../lockfile/fs/lib/sortLockfileKeys.js var require_sortLockfileKeys = __commonJS({ "../lockfile/fs/lib/sortLockfileKeys.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.sortLockfileKeys = sortLockfileKeys; var object_key_sorting_1 = require_lib96(); var ORDERED_KEYS = { resolution: 1, id: 2, name: 3, version: 4, engines: 5, cpu: 6, os: 7, libc: 8, deprecated: 9, hasBin: 10, prepare: 11, requiresBuild: 12, bundleDependencies: 13, peerDependencies: 14, peerDependenciesMeta: 15, dependencies: 16, optionalDependencies: 17, transitivePeerDependencies: 18, dev: 19, optional: 20 }; var ROOT_KEYS = [ "lockfileVersion", "settings", "catalogs", "overrides", "packageExtensionsChecksum", "pnpmfileChecksum", "patchedDependencies", "importers", "packages" ]; var ROOT_KEYS_ORDER = Object.fromEntries(ROOT_KEYS.map((key, index) => [key, index])); function sortLockfileKeys(lockfile) { if (lockfile.importers != null) { lockfile.importers = (0, object_key_sorting_1.sortDirectKeys)(lockfile.importers); for (const [importerId, importer] of Object.entries(lockfile.importers)) { lockfile.importers[importerId] = (0, object_key_sorting_1.sortKeysByPriority)({ priority: ROOT_KEYS_ORDER, deep: true }, importer); } } if (lockfile.packages != null) { lockfile.packages = (0, object_key_sorting_1.sortDirectKeys)(lockfile.packages); for (const [pkgId, pkg] of Object.entries(lockfile.packages)) { lockfile.packages[pkgId] = (0, object_key_sorting_1.sortKeysByPriority)({ priority: ORDERED_KEYS, deep: true }, pkg); } } if (lockfile.snapshots != null) { lockfile.snapshots = (0, object_key_sorting_1.sortDirectKeys)(lockfile.snapshots); for (const [pkgId, pkg] of Object.entries(lockfile.snapshots)) { lockfile.snapshots[pkgId] = (0, object_key_sorting_1.sortKeysByPriority)({ priority: ORDERED_KEYS, deep: true }, pkg); } } if (lockfile.catalogs != null) { lockfile.catalogs = (0, object_key_sorting_1.sortDirectKeys)(lockfile.catalogs); for (const [catalogName, catalog] of Object.entries(lockfile.catalogs)) { lockfile.catalogs[catalogName] = (0, object_key_sorting_1.sortDeepKeys)(catalog); } } for (const key of ["time", "patchedDependencies"]) { if (!lockfile[key]) continue; lockfile[key] = (0, object_key_sorting_1.sortDirectKeys)(lockfile[key]); } return (0, object_key_sorting_1.sortKeysByPriority)({ priority: ROOT_KEYS_ORDER }, lockfile); } } }); // ../lockfile/fs/lib/lockfileName.js var require_lockfileName = __commonJS({ "../lockfile/fs/lib/lockfileName.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getWantedLockfileName = getWantedLockfileName; var constants_1 = require_lib5(); var git_utils_1 = require_lib18(); async function getWantedLockfileName(opts = { useGitBranchLockfile: false, mergeGitBranchLockfiles: false }) { if (opts.useGitBranchLockfile && !opts.mergeGitBranchLockfiles) { const currentBranchName = await (0, git_utils_1.getCurrentBranch)(); if (currentBranchName) { return constants_1.WANTED_LOCKFILE.replace(".yaml", `.${stringifyBranchName(currentBranchName)}.yaml`); } } return constants_1.WANTED_LOCKFILE; } function stringifyBranchName(branchName = "") { return branchName.replace(/[^\w.-]/g, "!").toLowerCase(); } } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pickBy.js var require_pickBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pickBy.js"(exports2, module2) { var _curry2 = require_curry2(); var pickBy = /* @__PURE__ */ _curry2(function pickBy2(test, obj) { var result2 = {}; for (var prop in obj) { if (test(obj[prop], prop, obj)) { result2[prop] = obj[prop]; } } return result2; }); module2.exports = pickBy; } }); // ../lockfile/fs/lib/lockfileFormatConverters.js var require_lockfileFormatConverters = __commonJS({ "../lockfile/fs/lib/lockfileFormatConverters.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.convertToLockfileFile = convertToLockfileFile; exports2.convertToLockfileObject = convertToLockfileObject; var dependency_path_1 = require_lib86(); var types_1 = require_lib9(); var isEmpty_1 = __importDefault2(require_isEmpty2()); var map_1 = __importDefault2(require_map3()); var omit_1 = __importDefault2(require_omit()); var pickBy_1 = __importDefault2(require_pickBy()); var pick_1 = __importDefault2(require_pick()); var constants_1 = require_lib5(); function convertToLockfileFile(lockfile) { const packages = {}; const snapshots = {}; for (const [depPath, pkg] of Object.entries(lockfile.packages ?? {})) { snapshots[depPath] = (0, pick_1.default)([ "dependencies", "optionalDependencies", "transitivePeerDependencies", "optional", "id" ], pkg); const pkgId = (0, dependency_path_1.removeSuffix)(depPath); if (!packages[pkgId]) { packages[pkgId] = (0, pick_1.default)([ "bundledDependencies", "cpu", "deprecated", "engines", "hasBin", "libc", "name", "os", "peerDependencies", "peerDependenciesMeta", "resolution", "version" ], pkg); } } const newLockfile = { ...lockfile, snapshots, packages, lockfileVersion: constants_1.LOCKFILE_VERSION, importers: mapValues(lockfile.importers, convertProjectSnapshotToInlineSpecifiersFormat) }; if (newLockfile.settings?.peersSuffixMaxLength === 1e3) { newLockfile.settings = (0, omit_1.default)(["peersSuffixMaxLength"], newLockfile.settings); } if (newLockfile.settings?.injectWorkspacePackages === false) { delete newLockfile.settings.injectWorkspacePackages; } return normalizeLockfile(newLockfile); } function normalizeLockfile(lockfile) { const lockfileToSave = { ...lockfile, importers: (0, map_1.default)((importer) => { const normalizedImporter = {}; if (importer.dependenciesMeta != null && !(0, isEmpty_1.default)(importer.dependenciesMeta)) { normalizedImporter.dependenciesMeta = importer.dependenciesMeta; } for (const depType of types_1.DEPENDENCIES_FIELDS) { if (!(0, isEmpty_1.default)(importer[depType] ?? {})) { normalizedImporter[depType] = importer[depType]; } } if (importer.publishDirectory) { normalizedImporter.publishDirectory = importer.publishDirectory; } return normalizedImporter; }, lockfile.importers ?? {}) }; if ((0, isEmpty_1.default)(lockfileToSave.packages) || lockfileToSave.packages == null) { delete lockfileToSave.packages; } if ((0, isEmpty_1.default)(lockfileToSave.snapshots) || lockfileToSave.snapshots == null) { delete lockfileToSave.snapshots; } if (lockfileToSave.time) { lockfileToSave.time = pruneTimeInLockfile(lockfileToSave.time, lockfile.importers ?? {}); } if (lockfileToSave.catalogs != null && (0, isEmpty_1.default)(lockfileToSave.catalogs)) { delete lockfileToSave.catalogs; } if (lockfileToSave.overrides != null && (0, isEmpty_1.default)(lockfileToSave.overrides)) { delete lockfileToSave.overrides; } if (lockfileToSave.patchedDependencies != null && (0, isEmpty_1.default)(lockfileToSave.patchedDependencies)) { delete lockfileToSave.patchedDependencies; } if (!lockfileToSave.packageExtensionsChecksum) { delete lockfileToSave.packageExtensionsChecksum; } if (!lockfileToSave.ignoredOptionalDependencies?.length) { delete lockfileToSave.ignoredOptionalDependencies; } if (!lockfileToSave.pnpmfileChecksum) { delete lockfileToSave.pnpmfileChecksum; } return lockfileToSave; } function pruneTimeInLockfile(time, importers) { const rootDepPaths = /* @__PURE__ */ new Set(); for (const importer of Object.values(importers)) { for (const depType of types_1.DEPENDENCIES_FIELDS) { for (const [depName, ref] of Object.entries(importer[depType] ?? {})) { const suffixStart = ref.version.indexOf("("); const refWithoutPeerDepGraphHash = suffixStart === -1 ? ref.version : ref.version.slice(0, suffixStart); const depPath = refToRelative(refWithoutPeerDepGraphHash, depName); if (!depPath) continue; rootDepPaths.add(depPath); } } } return (0, pickBy_1.default)((_, depPath) => rootDepPaths.has(depPath), time); } function refToRelative(reference, pkgName) { if (reference.startsWith("link:")) { return null; } if (reference.startsWith("file:")) { return reference; } if (!reference.includes("/") || !reference.replace(/(?:\([^)]+\))+$/, "").includes("/")) { return `/${pkgName}@${reference}`; } return reference; } function convertToLockfileObject(lockfile) { const { importers, ...rest } = lockfile; const packages = {}; for (const [depPath, pkg] of Object.entries(lockfile.snapshots ?? {})) { const pkgId = (0, dependency_path_1.removeSuffix)(depPath); packages[depPath] = Object.assign(pkg, lockfile.packages?.[pkgId]); } return { ...(0, omit_1.default)(["snapshots"], rest), packages, importers: mapValues(importers ?? {}, revertProjectSnapshot) }; } function convertProjectSnapshotToInlineSpecifiersFormat(projectSnapshot) { const { specifiers, ...rest } = projectSnapshot; if (specifiers == null) return projectSnapshot; const convertBlock = (block) => block != null ? convertResolvedDependenciesToInlineSpecifiersFormat(block, { specifiers }) : block; return { ...rest, dependencies: convertBlock(projectSnapshot.dependencies ?? {}), optionalDependencies: convertBlock(projectSnapshot.optionalDependencies ?? {}), devDependencies: convertBlock(projectSnapshot.devDependencies ?? {}) }; } function convertResolvedDependenciesToInlineSpecifiersFormat(resolvedDependencies, { specifiers }) { return mapValues(resolvedDependencies, (version2, depName) => ({ specifier: specifiers[depName], version: version2 })); } function revertProjectSnapshot(from) { const specifiers = {}; function moveSpecifiers(from2) { const resolvedDependencies = {}; for (const [depName, { specifier, version: version2 }] of Object.entries(from2)) { const existingValue = specifiers[depName]; if (existingValue != null && existingValue !== specifier) { throw new Error(`Project snapshot lists the same dependency more than once with conflicting versions: ${depName}`); } specifiers[depName] = specifier; resolvedDependencies[depName] = version2; } return resolvedDependencies; } const dependencies = from.dependencies == null ? from.dependencies : moveSpecifiers(from.dependencies); const devDependencies = from.devDependencies == null ? from.devDependencies : moveSpecifiers(from.devDependencies); const optionalDependencies = from.optionalDependencies == null ? from.optionalDependencies : moveSpecifiers(from.optionalDependencies); return { ...from, specifiers, dependencies, devDependencies, optionalDependencies }; } function mapValues(obj, mapper) { const result2 = {}; for (const [key, value] of Object.entries(obj)) { result2[key] = mapper(value, key); } return result2; } } }); // ../lockfile/fs/lib/write.js var require_write = __commonJS({ "../lockfile/fs/lib/write.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.writeWantedLockfile = writeWantedLockfile; exports2.writeCurrentLockfile = writeCurrentLockfile; exports2.writeLockfileFile = writeLockfileFile; exports2.isEmptyLockfile = isEmptyLockfile; exports2.writeLockfiles = writeLockfiles; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var constants_1 = require_lib5(); var rimraf_1 = __importDefault2(require_rimraf()); var js_yaml_1 = __importDefault2(require_js_yaml()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var write_file_atomic_1 = __importDefault2(require_lib13()); var logger_js_1 = require_logger3(); var sortLockfileKeys_js_1 = require_sortLockfileKeys(); var lockfileName_js_1 = require_lockfileName(); var lockfileFormatConverters_js_1 = require_lockfileFormatConverters(); async function writeFileAtomic(filename, data) { return new Promise((resolve, reject) => { (0, write_file_atomic_1.default)(filename, data, {}, (err) => { err != null ? reject(err) : resolve(); }); }); } var LOCKFILE_YAML_FORMAT = { blankLines: true, lineWidth: -1, // This is setting line width to never wrap noCompatMode: true, noRefs: true, sortKeys: false }; async function writeWantedLockfile(pkgPath, wantedLockfile, opts) { const wantedLockfileName = await (0, lockfileName_js_1.getWantedLockfileName)(opts); return writeLockfile(wantedLockfileName, pkgPath, wantedLockfile); } async function writeCurrentLockfile(virtualStoreDir, currentLockfile) { if (isEmptyLockfile(currentLockfile)) { await (0, rimraf_1.default)(path_1.default.join(virtualStoreDir, "lock.yaml")); return; } await fs_1.promises.mkdir(virtualStoreDir, { recursive: true }); return writeLockfile("lock.yaml", virtualStoreDir, currentLockfile); } async function writeLockfile(lockfileFilename, pkgPath, wantedLockfile) { const lockfilePath = path_1.default.join(pkgPath, lockfileFilename); const lockfileToStringify = (0, lockfileFormatConverters_js_1.convertToLockfileFile)(wantedLockfile); return writeLockfileFile(lockfilePath, lockfileToStringify); } function writeLockfileFile(lockfilePath, wantedLockfile) { const yamlDoc = yamlStringify(wantedLockfile); return writeFileAtomic(lockfilePath, yamlDoc); } function yamlStringify(lockfile) { const sortedLockfile = (0, sortLockfileKeys_js_1.sortLockfileKeys)(lockfile); return js_yaml_1.default.dump(sortedLockfile, LOCKFILE_YAML_FORMAT); } function isEmptyLockfile(lockfile) { return Object.values(lockfile.importers).every((importer) => (0, isEmpty_1.default)(importer.specifiers ?? {}) && (0, isEmpty_1.default)(importer.dependencies ?? {})); } async function writeLockfiles(opts) { const wantedLockfileName = await (0, lockfileName_js_1.getWantedLockfileName)(opts); const wantedLockfilePath = path_1.default.join(opts.wantedLockfileDir, wantedLockfileName); const currentLockfilePath = path_1.default.join(opts.currentLockfileDir, "lock.yaml"); const wantedLockfileToStringify = (0, lockfileFormatConverters_js_1.convertToLockfileFile)(opts.wantedLockfile); const yamlDoc = yamlStringify(wantedLockfileToStringify); if (opts.wantedLockfile === opts.currentLockfile) { await Promise.all([ writeFileAtomic(wantedLockfilePath, yamlDoc), (async () => { if (isEmptyLockfile(opts.wantedLockfile)) { await (0, rimraf_1.default)(currentLockfilePath); } else { await fs_1.promises.mkdir(path_1.default.dirname(currentLockfilePath), { recursive: true }); await writeFileAtomic(currentLockfilePath, yamlDoc); } })() ]); return; } logger_js_1.lockfileLogger.debug({ message: `\`${constants_1.WANTED_LOCKFILE}\` differs from \`${path_1.default.relative(opts.wantedLockfileDir, currentLockfilePath)}\``, prefix: opts.wantedLockfileDir }); const currentLockfileToStringify = (0, lockfileFormatConverters_js_1.convertToLockfileFile)(opts.currentLockfile); const currentYamlDoc = yamlStringify(currentLockfileToStringify); await Promise.all([ writeFileAtomic(wantedLockfilePath, yamlDoc), (async () => { if (isEmptyLockfile(opts.wantedLockfile)) { await (0, rimraf_1.default)(currentLockfilePath); } else { await fs_1.promises.mkdir(path_1.default.dirname(currentLockfilePath), { recursive: true }); await writeFileAtomic(currentLockfilePath, currentYamlDoc); } })() ]); } } }); // ../lockfile/fs/lib/existsWantedLockfile.js var require_existsWantedLockfile = __commonJS({ "../lockfile/fs/lib/existsWantedLockfile.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.existsNonEmptyWantedLockfile = existsNonEmptyWantedLockfile; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var lockfileName_js_1 = require_lockfileName(); async function existsNonEmptyWantedLockfile(pkgPath, opts = { useGitBranchLockfile: false, mergeGitBranchLockfiles: false }) { const wantedLockfile = await (0, lockfileName_js_1.getWantedLockfileName)(opts); return new Promise((resolve, reject) => { fs_1.default.access(path_1.default.join(pkgPath, wantedLockfile), (err) => { if (err == null) { resolve(true); return; } if (err.code === "ENOENT") { resolve(false); return; } reject(err); }); }); } } }); // ../lockfile/fs/lib/getLockfileImporterId.js var require_getLockfileImporterId = __commonJS({ "../lockfile/fs/lib/getLockfileImporterId.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getLockfileImporterId = getLockfileImporterId; var path_1 = __importDefault2(require("path")); var normalize_path_1 = __importDefault2(require_normalize_path()); function getLockfileImporterId(lockfileDir, prefix) { return (0, normalize_path_1.default)(path_1.default.relative(lockfileDir, prefix)) || "."; } } }); // ../lockfile/types/lib/lockfileFileTypes.js var require_lockfileFileTypes = __commonJS({ "../lockfile/types/lib/lockfileFileTypes.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); } }); // ../lockfile/types/lib/index.js var require_lib119 = __commonJS({ "../lockfile/types/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); __exportStar2(require_lockfileFileTypes(), exports2); } }); // ../node_modules/.pnpm/comver-to-semver@1.0.0/node_modules/comver-to-semver/index.js var require_comver_to_semver = __commonJS({ "../node_modules/.pnpm/comver-to-semver@1.0.0/node_modules/comver-to-semver/index.js"(exports2, module2) { "use strict"; module2.exports = function comverToSemver(comver) { if (!comver.includes(".")) return `${comver}.0.0`; return `${comver}.0`; }; } }); // ../lockfile/merger/lib/index.js var require_lib120 = __commonJS({ "../lockfile/merger/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.mergeLockfileChanges = mergeLockfileChanges; var comver_to_semver_1 = __importDefault2(require_comver_to_semver()); var semver_12 = __importDefault2(require_semver2()); function mergeLockfileChanges(ours, theirs) { const newLockfile = { importers: {}, lockfileVersion: semver_12.default.gt((0, comver_to_semver_1.default)(theirs.lockfileVersion.toString()), (0, comver_to_semver_1.default)(ours.lockfileVersion.toString())) ? theirs.lockfileVersion : ours.lockfileVersion }; const pnpmfileChecksum = ours.pnpmfileChecksum ?? theirs.pnpmfileChecksum; if (pnpmfileChecksum) { newLockfile.pnpmfileChecksum = pnpmfileChecksum; } const ignoredOptionalDependencies = [.../* @__PURE__ */ new Set([ ...ours.ignoredOptionalDependencies ?? [], ...theirs.ignoredOptionalDependencies ?? [] ])]; if (ignoredOptionalDependencies.length) { newLockfile.ignoredOptionalDependencies = ignoredOptionalDependencies; } for (const importerId of Array.from(/* @__PURE__ */ new Set([...Object.keys(ours.importers), ...Object.keys(theirs.importers)]))) { newLockfile.importers[importerId] = { specifiers: {} }; for (const key of ["dependencies", "devDependencies", "optionalDependencies"]) { newLockfile.importers[importerId][key] = mergeDict(ours.importers[importerId]?.[key] ?? {}, theirs.importers[importerId]?.[key] ?? {}, mergeVersions); if (Object.keys(newLockfile.importers[importerId][key] ?? {}).length === 0) { delete newLockfile.importers[importerId][key]; } } newLockfile.importers[importerId].specifiers = mergeDict(ours.importers[importerId]?.specifiers ?? {}, theirs.importers[importerId]?.specifiers ?? {}, takeChangedValue); } const packages = {}; for (const depPath of Array.from(/* @__PURE__ */ new Set([...Object.keys(ours.packages ?? {}), ...Object.keys(theirs.packages ?? {})]))) { const ourPkg = ours.packages?.[depPath]; const theirPkg = theirs.packages?.[depPath]; const pkg = { ...ourPkg, ...theirPkg }; for (const key of ["dependencies", "optionalDependencies"]) { pkg[key] = mergeDict(ourPkg?.[key] ?? {}, theirPkg?.[key] ?? {}, mergeVersions); if (Object.keys(pkg[key] ?? {}).length === 0) { delete pkg[key]; } } packages[depPath] = pkg; } newLockfile.packages = packages; return newLockfile; } function mergeDict(ourDict, theirDict, valueMerger) { const newDict = {}; for (const key of Object.keys(ourDict).concat(Object.keys(theirDict))) { const changedValue = valueMerger(ourDict[key], theirDict[key]); if (changedValue) { newDict[key] = changedValue; } } return newDict; } function takeChangedValue(ourValue, theirValue) { if (ourValue === theirValue || theirValue == null) return ourValue; return theirValue; } function mergeVersions(ourValue, theirValue) { if (ourValue === theirValue || !theirValue) return ourValue; if (!ourValue) return theirValue; const [ourVersion] = ourValue.split("("); const [theirVersion] = theirValue.split("("); if (semver_12.default.gt(ourVersion, theirVersion)) { return ourValue; } return theirValue; } } }); // ../lockfile/fs/lib/errors/LockfileBreakingChangeError.js var require_LockfileBreakingChangeError = __commonJS({ "../lockfile/fs/lib/errors/LockfileBreakingChangeError.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LockfileBreakingChangeError = void 0; var error_1 = require_lib6(); var LockfileBreakingChangeError = class extends error_1.PnpmError { filename; constructor(filename) { super("LOCKFILE_BREAKING_CHANGE", `Lockfile ${filename} not compatible with current pnpm`); this.filename = filename; } }; exports2.LockfileBreakingChangeError = LockfileBreakingChangeError; } }); // ../lockfile/fs/lib/errors/index.js var require_errors6 = __commonJS({ "../lockfile/fs/lib/errors/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LockfileBreakingChangeError = void 0; var LockfileBreakingChangeError_js_1 = require_LockfileBreakingChangeError(); Object.defineProperty(exports2, "LockfileBreakingChangeError", { enumerable: true, get: function() { return LockfileBreakingChangeError_js_1.LockfileBreakingChangeError; } }); } }); // ../lockfile/fs/lib/gitMergeFile.js var require_gitMergeFile = __commonJS({ "../lockfile/fs/lib/gitMergeFile.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.autofixMergeConflicts = autofixMergeConflicts; exports2.isDiff = isDiff; var lockfile_merger_1 = require_lib120(); var js_yaml_1 = __importDefault2(require_js_yaml()); var lockfileFormatConverters_js_1 = require_lockfileFormatConverters(); var MERGE_CONFLICT_PARENT = "|||||||"; var MERGE_CONFLICT_END = ">>>>>>>"; var MERGE_CONFLICT_THEIRS = "======="; var MERGE_CONFLICT_OURS = "<<<<<<<"; function autofixMergeConflicts(fileContent) { const { ours, theirs } = parseMergeFile(fileContent); return (0, lockfile_merger_1.mergeLockfileChanges)((0, lockfileFormatConverters_js_1.convertToLockfileObject)(js_yaml_1.default.load(ours)), (0, lockfileFormatConverters_js_1.convertToLockfileObject)(js_yaml_1.default.load(theirs))); } function parseMergeFile(fileContent) { const lines = fileContent.split(/[\n\r]+/); let state = "top"; const ours = []; const theirs = []; while (lines.length > 0) { const line = lines.shift(); if (line.startsWith(MERGE_CONFLICT_PARENT)) { state = "parent"; continue; } if (line.startsWith(MERGE_CONFLICT_OURS)) { state = "ours"; continue; } if (line === MERGE_CONFLICT_THEIRS) { state = "theirs"; continue; } if (line.startsWith(MERGE_CONFLICT_END)) { state = "top"; continue; } if (state === "top" || state === "ours") ours.push(line); if (state === "top" || state === "theirs") theirs.push(line); } return { ours: ours.join("\n"), theirs: theirs.join("\n") }; } function isDiff(fileContent) { return fileContent.includes(MERGE_CONFLICT_OURS) && fileContent.includes(MERGE_CONFLICT_THEIRS) && fileContent.includes(MERGE_CONFLICT_END); } } }); // ../lockfile/fs/lib/gitBranchLockfile.js var require_gitBranchLockfile = __commonJS({ "../lockfile/fs/lib/gitBranchLockfile.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getGitBranchLockfileNames = getGitBranchLockfileNames; exports2.cleanGitBranchLockfiles = cleanGitBranchLockfiles; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); async function getGitBranchLockfileNames(lockfileDir) { const files = await fs_1.promises.readdir(lockfileDir); const gitBranchLockfileNames = files.filter((file) => file.match(/^pnpm-lock.(?:.*).yaml$/)); return gitBranchLockfileNames; } async function cleanGitBranchLockfiles(lockfileDir) { const gitBranchLockfiles = await getGitBranchLockfileNames(lockfileDir); await Promise.all(gitBranchLockfiles.map(async (file) => { const filepath = path_1.default.join(lockfileDir, file); await fs_1.promises.unlink(filepath); })); } } }); // ../lockfile/fs/lib/read.js var require_read = __commonJS({ "../lockfile/fs/lib/read.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readCurrentLockfile = readCurrentLockfile; exports2.readWantedLockfileAndAutofixConflicts = readWantedLockfileAndAutofixConflicts; exports2.readWantedLockfile = readWantedLockfile; exports2.createLockfileObject = createLockfileObject; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var constants_1 = require_lib5(); var error_1 = require_lib6(); var lockfile_merger_1 = require_lib120(); var comver_to_semver_1 = __importDefault2(require_comver_to_semver()); var js_yaml_1 = __importDefault2(require_js_yaml()); var semver_12 = __importDefault2(require_semver2()); var strip_bom_1 = __importDefault2(require_strip_bom()); var index_js_1 = require_errors6(); var gitMergeFile_js_1 = require_gitMergeFile(); var logger_js_1 = require_logger3(); var lockfileName_js_1 = require_lockfileName(); var gitBranchLockfile_js_1 = require_gitBranchLockfile(); var lockfileFormatConverters_js_1 = require_lockfileFormatConverters(); async function readCurrentLockfile(pnpmInternalDir, opts) { const lockfilePath = path_1.default.join(pnpmInternalDir, "lock.yaml"); return (await _read(lockfilePath, pnpmInternalDir, opts)).lockfile; } async function readWantedLockfileAndAutofixConflicts(pkgPath, opts) { return _readWantedLockfile(pkgPath, { ...opts, autofixMergeConflicts: true }); } async function readWantedLockfile(pkgPath, opts) { return (await _readWantedLockfile(pkgPath, opts)).lockfile; } async function _read(lockfilePath, prefix, opts) { let lockfileRawContent; try { lockfileRawContent = (0, strip_bom_1.default)(await fs_1.promises.readFile(lockfilePath, "utf8")); } catch (err) { if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")) { throw err; } return { lockfile: null, hadConflicts: false }; } let lockfile; let hadConflicts; try { lockfile = (0, lockfileFormatConverters_js_1.convertToLockfileObject)(js_yaml_1.default.load(lockfileRawContent)); hadConflicts = false; } catch (err) { if (!opts.autofixMergeConflicts || !(0, gitMergeFile_js_1.isDiff)(lockfileRawContent)) { throw new error_1.PnpmError("BROKEN_LOCKFILE", `The lockfile at "${lockfilePath}" is broken: ${err.message}`); } hadConflicts = true; lockfile = (0, gitMergeFile_js_1.autofixMergeConflicts)(lockfileRawContent); logger_js_1.lockfileLogger.info({ message: `Merge conflict detected in ${constants_1.WANTED_LOCKFILE} and successfully merged`, prefix }); } if (lockfile) { const lockfileSemver = (0, comver_to_semver_1.default)((lockfile.lockfileVersion ?? 0).toString()); if (!opts.wantedVersions || opts.wantedVersions.length === 0 || opts.wantedVersions.some((wantedVersion) => { if (semver_12.default.major(lockfileSemver) !== semver_12.default.major((0, comver_to_semver_1.default)(wantedVersion))) return false; if (lockfile.lockfileVersion !== "6.1" && semver_12.default.gt(lockfileSemver, (0, comver_to_semver_1.default)(wantedVersion))) { logger_js_1.lockfileLogger.warn({ message: `Your ${constants_1.WANTED_LOCKFILE} was generated by a newer version of pnpm. It is a compatible version but it might get downgraded to version ${wantedVersion}`, prefix }); } return true; })) { return { lockfile, hadConflicts }; } } if (opts.ignoreIncompatible) { logger_js_1.lockfileLogger.warn({ message: `Ignoring not compatible lockfile at ${lockfilePath}`, prefix }); return { lockfile: null, hadConflicts: false }; } throw new index_js_1.LockfileBreakingChangeError(lockfilePath); } function createLockfileObject(importerIds, opts) { const importers = {}; for (const importerId of importerIds) { importers[importerId] = { dependencies: {}, specifiers: {} }; } return { importers, lockfileVersion: opts.lockfileVersion || constants_1.LOCKFILE_VERSION, settings: { autoInstallPeers: opts.autoInstallPeers, excludeLinksFromLockfile: opts.excludeLinksFromLockfile, peersSuffixMaxLength: opts.peersSuffixMaxLength } }; } async function _readWantedLockfile(pkgPath, opts) { const lockfileNames = [constants_1.WANTED_LOCKFILE]; if (opts.useGitBranchLockfile) { const gitBranchLockfileName = await (0, lockfileName_js_1.getWantedLockfileName)(opts); if (gitBranchLockfileName !== constants_1.WANTED_LOCKFILE) { lockfileNames.unshift(gitBranchLockfileName); } } let result2 = { lockfile: null, hadConflicts: false }; for (const lockfileName of lockfileNames) { result2 = await _read(path_1.default.join(pkgPath, lockfileName), pkgPath, { ...opts, autofixMergeConflicts: true }); if (result2.lockfile) { if (opts.mergeGitBranchLockfiles) { result2.lockfile = await _mergeGitBranchLockfiles(result2.lockfile, pkgPath, pkgPath, opts); } break; } } return result2; } async function _mergeGitBranchLockfiles(lockfile, lockfileDir, prefix, opts) { if (!lockfile) { return lockfile; } const gitBranchLockfiles = (await _readGitBranchLockfiles(lockfileDir, prefix, opts)).map(({ lockfile: lockfile2 }) => lockfile2); let mergedLockfile = lockfile; for (const gitBranchLockfile of gitBranchLockfiles) { if (!gitBranchLockfile) { continue; } mergedLockfile = (0, lockfile_merger_1.mergeLockfileChanges)(mergedLockfile, gitBranchLockfile); } return mergedLockfile; } async function _readGitBranchLockfiles(lockfileDir, prefix, opts) { const files = await (0, gitBranchLockfile_js_1.getGitBranchLockfileNames)(lockfileDir); return Promise.all(files.map((file) => _read(path_1.default.join(lockfileDir, file), prefix, opts))); } } }); // ../lockfile/fs/lib/index.js var require_lib121 = __commonJS({ "../lockfile/fs/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.convertToLockfileFile = exports2.cleanGitBranchLockfiles = exports2.getLockfileImporterId = exports2.existsNonEmptyWantedLockfile = exports2.writeLockfileFile = exports2.writeWantedLockfile = exports2.writeCurrentLockfile = exports2.writeLockfiles = exports2.isEmptyLockfile = void 0; var write_js_1 = require_write(); Object.defineProperty(exports2, "isEmptyLockfile", { enumerable: true, get: function() { return write_js_1.isEmptyLockfile; } }); Object.defineProperty(exports2, "writeLockfiles", { enumerable: true, get: function() { return write_js_1.writeLockfiles; } }); Object.defineProperty(exports2, "writeCurrentLockfile", { enumerable: true, get: function() { return write_js_1.writeCurrentLockfile; } }); Object.defineProperty(exports2, "writeWantedLockfile", { enumerable: true, get: function() { return write_js_1.writeWantedLockfile; } }); Object.defineProperty(exports2, "writeLockfileFile", { enumerable: true, get: function() { return write_js_1.writeLockfileFile; } }); var existsWantedLockfile_js_1 = require_existsWantedLockfile(); Object.defineProperty(exports2, "existsNonEmptyWantedLockfile", { enumerable: true, get: function() { return existsWantedLockfile_js_1.existsNonEmptyWantedLockfile; } }); var getLockfileImporterId_js_1 = require_getLockfileImporterId(); Object.defineProperty(exports2, "getLockfileImporterId", { enumerable: true, get: function() { return getLockfileImporterId_js_1.getLockfileImporterId; } }); __exportStar2(require_lib119(), exports2); __exportStar2(require_read(), exports2); var gitBranchLockfile_js_1 = require_gitBranchLockfile(); Object.defineProperty(exports2, "cleanGitBranchLockfiles", { enumerable: true, get: function() { return gitBranchLockfile_js_1.cleanGitBranchLockfiles; } }); var lockfileFormatConverters_js_1 = require_lockfileFormatConverters(); Object.defineProperty(exports2, "convertToLockfileFile", { enumerable: true, get: function() { return lockfileFormatConverters_js_1.convertToLockfileFile; } }); } }); // ../config/normalize-registries/lib/index.js var require_lib122 = __commonJS({ "../config/normalize-registries/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DEFAULT_REGISTRIES = void 0; exports2.normalizeRegistries = normalizeRegistries; var normalize_registry_url_1 = __importDefault2(require_normalize_registry_url()); var map_1 = __importDefault2(require_map3()); exports2.DEFAULT_REGISTRIES = { default: "https://registry.npmjs.org/", "@jsr": "https://npm.jsr.io/" }; function normalizeRegistries(registries) { if (registries == null) return exports2.DEFAULT_REGISTRIES; const normalizeRegistries2 = (0, map_1.default)(normalize_registry_url_1.default, registries); return { ...exports2.DEFAULT_REGISTRIES, ...normalizeRegistries2 }; } } }); // ../pkg-manager/read-projects-context/lib/index.js var require_lib123 = __commonJS({ "../pkg-manager/read-projects-context/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readProjectsContext = readProjectsContext; var fs_1 = require("fs"); var util_1 = __importDefault2(require("util")); var path_1 = __importDefault2(require("path")); var lockfile_fs_1 = require_lib121(); var modules_yaml_1 = require_lib115(); var normalize_registries_1 = require_lib122(); var realpath_missing_1 = __importDefault2(require_realpath_missing()); async function readProjectsContext(projects, opts) { const relativeModulesDir = opts.modulesDir ?? "node_modules"; const rootModulesDir = await (0, realpath_missing_1.default)(path_1.default.join(opts.lockfileDir, relativeModulesDir)); const modules = await (0, modules_yaml_1.readModulesManifest)(rootModulesDir); return { currentHoistPattern: modules?.hoistPattern, currentPublicHoistPattern: modules?.publicHoistPattern, hoist: modules == null ? void 0 : Boolean(modules.hoistPattern), hoistedDependencies: modules?.hoistedDependencies ?? {}, include: modules?.included ?? { dependencies: true, devDependencies: true, optionalDependencies: true }, modules, pendingBuilds: modules?.pendingBuilds ?? [], projects: await Promise.all(projects.map(async (project) => { const modulesDir = await (0, realpath_missing_1.default)(path_1.default.join(project.rootDir, project.modulesDir ?? relativeModulesDir)); const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, project.rootDir); return { ...project, binsDir: project.binsDir ?? path_1.default.join(project.rootDir, relativeModulesDir, ".bin"), id: importerId, modulesDir, rootDirRealPath: project.rootDirRealPath ?? await realpath(project.rootDir) }; })), registries: modules?.registries != null ? (0, normalize_registries_1.normalizeRegistries)(modules.registries) : void 0, rootModulesDir, skipped: new Set(modules?.skipped ?? []), virtualStoreDirMaxLength: modules?.virtualStoreDirMaxLength }; } async function realpath(path2) { try { return await fs_1.promises.realpath(path2); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { return path2; } throw err; } } } }); // ../pkg-manager/get-context/lib/readLockfiles.js var require_readLockfiles = __commonJS({ "../pkg-manager/get-context/lib/readLockfiles.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readLockfiles = readLockfiles; var constants_1 = require_lib5(); var lockfile_fs_1 = require_lib121(); var logger_1 = require_lib(); var clone_1 = __importDefault2(require_clone5()); var equals_1 = __importDefault2(require_equals2()); async function readLockfiles(opts) { const wantedLockfileVersion = constants_1.LOCKFILE_VERSION; const lockfileOpts = { ignoreIncompatible: opts.force || opts.ci === true, wantedVersions: [constants_1.LOCKFILE_VERSION], useGitBranchLockfile: opts.useGitBranchLockfile, mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles }; const fileReads = []; let lockfileHadConflicts = false; if (opts.useLockfile) { if (!opts.frozenLockfile) { fileReads.push((async () => { try { const { lockfile, hadConflicts } = await (0, lockfile_fs_1.readWantedLockfileAndAutofixConflicts)(opts.lockfileDir, lockfileOpts); lockfileHadConflicts = hadConflicts; return lockfile; } catch (err) { logger_1.logger.warn({ message: `Ignoring broken lockfile at ${opts.lockfileDir}: ${err.message}`, prefix: opts.lockfileDir }); return void 0; } })()); } else { fileReads.push((0, lockfile_fs_1.readWantedLockfile)(opts.lockfileDir, lockfileOpts)); } } else { if (await (0, lockfile_fs_1.existsNonEmptyWantedLockfile)(opts.lockfileDir, lockfileOpts)) { logger_1.logger.warn({ message: `A ${constants_1.WANTED_LOCKFILE} file exists. The current configuration prohibits to read or write a lockfile`, prefix: opts.lockfileDir }); } fileReads.push(Promise.resolve(void 0)); } fileReads.push((async () => { try { return await (0, lockfile_fs_1.readCurrentLockfile)(opts.internalPnpmDir, lockfileOpts); } catch (err) { logger_1.logger.warn({ message: `Ignoring broken lockfile at ${opts.internalPnpmDir}: ${err.message}`, prefix: opts.lockfileDir }); return void 0; } })()); const files = await Promise.all(fileReads); const sopts = { autoInstallPeers: opts.autoInstallPeers, excludeLinksFromLockfile: opts.excludeLinksFromLockfile, lockfileVersion: wantedLockfileVersion, peersSuffixMaxLength: opts.peersSuffixMaxLength }; const importerIds = opts.projects.map((importer) => importer.id); const currentLockfile = files[1] ?? (0, lockfile_fs_1.createLockfileObject)(importerIds, sopts); for (const importerId of importerIds) { if (!currentLockfile.importers[importerId]) { currentLockfile.importers[importerId] = { specifiers: {} }; } } const wantedLockfile = files[0] ?? (currentLockfile && (0, clone_1.default)(currentLockfile)) ?? (0, lockfile_fs_1.createLockfileObject)(importerIds, sopts); let wantedLockfileIsModified = false; for (const importerId of importerIds) { if (!wantedLockfile.importers[importerId]) { wantedLockfileIsModified = true; wantedLockfile.importers[importerId] = { specifiers: {} }; } } const existsWantedLockfile = files[0] != null; return { currentLockfile, currentLockfileIsUpToDate: (0, equals_1.default)(currentLockfile, wantedLockfile), existsCurrentLockfile: files[1] != null, existsWantedLockfile, existsNonEmptyWantedLockfile: existsWantedLockfile && !(0, lockfile_fs_1.isEmptyLockfile)(wantedLockfile), wantedLockfile, wantedLockfileIsModified, lockfileHadConflicts }; } } }); // ../pkg-manager/get-context/lib/index.js var require_lib124 = __commonJS({ "../pkg-manager/get-context/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getContext = getContext; exports2.getContextForSingleImporter = getContextForSingleImporter; exports2.arrayOfWorkspacePackagesToMap = arrayOfWorkspacePackagesToMap; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var core_loggers_1 = require_lib8(); var read_projects_context_1 = require_lib123(); var path_absolute_1 = __importDefault2(require_path_absolute()); var clone_1 = __importDefault2(require_clone5()); var readLockfiles_js_1 = require_readLockfiles(); async function getContext(opts) { const modulesDir = opts.modulesDir ?? "node_modules"; const importersContext = await (0, read_projects_context_1.readProjectsContext)(opts.allProjects, { lockfileDir: opts.lockfileDir, modulesDir }); const virtualStoreDir = (0, path_absolute_1.default)(opts.virtualStoreDir ?? path_1.default.join(modulesDir, ".pnpm"), opts.lockfileDir); await fs_1.promises.mkdir(opts.storeDir, { recursive: true }); for (const project of opts.allProjects) { core_loggers_1.packageManifestLogger.debug({ initial: project.manifest, prefix: project.rootDir }); } if (opts.readPackageHook != null) { await Promise.all(importersContext.projects.map(async (project) => { project.originalManifest = project.manifest; project.manifest = await opts.readPackageHook((0, clone_1.default)(project.manifest), project.rootDir); })); } const extraBinPaths = [ ...opts.extraBinPaths || [] ]; const internalPnpmDir = path_1.default.join(importersContext.rootModulesDir, ".pnpm"); const hoistedModulesDir = path_1.default.join(opts.enableGlobalVirtualStore ? internalPnpmDir : virtualStoreDir, "node_modules"); if (opts.hoistPattern?.length) { extraBinPaths.unshift(path_1.default.join(hoistedModulesDir, ".bin")); } const ctx = { extraBinPaths, extraNodePaths: getExtraNodePaths({ extendNodePath: opts.extendNodePath, nodeLinker: opts.nodeLinker, hoistPattern: importersContext.currentHoistPattern ?? opts.hoistPattern, hoistedModulesDir }), hoistedDependencies: importersContext.hoistedDependencies, hoistedModulesDir, hoistPattern: opts.hoistPattern, currentHoistPattern: importersContext.currentHoistPattern, include: opts.include ?? importersContext.include, lockfileDir: opts.lockfileDir, modulesFile: importersContext.modules, pendingBuilds: importersContext.pendingBuilds, projects: Object.fromEntries(importersContext.projects.map((project) => [project.rootDir, project])), publicHoistPattern: opts.publicHoistPattern, currentPublicHoistPattern: importersContext.currentPublicHoistPattern, registries: opts.registries, rootModulesDir: importersContext.rootModulesDir, skipped: importersContext.skipped, storeDir: opts.storeDir, virtualStoreDir, virtualStoreDirMaxLength: importersContext.virtualStoreDirMaxLength ?? opts.virtualStoreDirMaxLength, workspacePackages: opts.workspacePackages ?? arrayOfWorkspacePackagesToMap(opts.allProjects), ...await (0, readLockfiles_js_1.readLockfiles)({ autoInstallPeers: opts.autoInstallPeers, ci: opts.ci, excludeLinksFromLockfile: opts.excludeLinksFromLockfile, peersSuffixMaxLength: opts.peersSuffixMaxLength, force: opts.force, frozenLockfile: opts.frozenLockfile === true, lockfileDir: opts.lockfileDir, projects: importersContext.projects, registry: opts.registries.default, useLockfile: opts.useLockfile, useGitBranchLockfile: opts.useGitBranchLockfile, mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles, internalPnpmDir }) }; core_loggers_1.contextLogger.debug({ currentLockfileExists: ctx.existsCurrentLockfile, storeDir: opts.storeDir, virtualStoreDir }); return ctx; } async function getContextForSingleImporter(manifest, opts) { const { currentHoistPattern, hoistedDependencies, projects, include, modules, pendingBuilds, registries, skipped, rootModulesDir } = await (0, read_projects_context_1.readProjectsContext)([ { rootDir: opts.dir } ], { lockfileDir: opts.lockfileDir, modulesDir: opts.modulesDir }); const storeDir = opts.storeDir; const importer = projects[0]; const modulesDir = importer.modulesDir; const importerId = importer.id; const virtualStoreDir = (0, path_absolute_1.default)(opts.virtualStoreDir ?? "node_modules/.pnpm", opts.lockfileDir); await fs_1.promises.mkdir(storeDir, { recursive: true }); const extraBinPaths = [ ...opts.extraBinPaths || [] ]; const internalPnpmDir = path_1.default.join(rootModulesDir, ".pnpm"); const hoistedModulesDir = path_1.default.join(opts.enableGlobalVirtualStore ? internalPnpmDir : virtualStoreDir, "node_modules"); if (opts.hoistPattern?.length) { extraBinPaths.unshift(path_1.default.join(hoistedModulesDir, ".bin")); } const ctx = { extraBinPaths, extraNodePaths: getExtraNodePaths({ extendNodePath: opts.extendNodePath, nodeLinker: opts.nodeLinker, hoistPattern: currentHoistPattern ?? opts.hoistPattern, hoistedModulesDir }), hoistedDependencies, hoistedModulesDir, hoistPattern: opts.hoistPattern, importerId, include: opts.include ?? include, lockfileDir: opts.lockfileDir, manifest: await opts.readPackageHook?.(manifest) ?? manifest, modulesDir, modulesFile: modules, pendingBuilds, prefix: opts.dir, publicHoistPattern: opts.publicHoistPattern, registries: { ...opts.registries, ...registries }, rootModulesDir, skipped, storeDir, virtualStoreDir, ...await (0, readLockfiles_js_1.readLockfiles)({ autoInstallPeers: opts.autoInstallPeers, ci: opts.ci, excludeLinksFromLockfile: opts.excludeLinksFromLockfile, peersSuffixMaxLength: opts.peersSuffixMaxLength, force: opts.force, frozenLockfile: false, lockfileDir: opts.lockfileDir, projects: [{ id: importerId, rootDir: opts.dir }], registry: opts.registries.default, useLockfile: opts.useLockfile, useGitBranchLockfile: opts.useGitBranchLockfile, mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles, internalPnpmDir }) }; core_loggers_1.packageManifestLogger.debug({ initial: manifest, prefix: opts.dir }); core_loggers_1.contextLogger.debug({ currentLockfileExists: ctx.existsCurrentLockfile, storeDir: opts.storeDir, virtualStoreDir }); return ctx; } function getExtraNodePaths({ extendNodePath = true, hoistPattern, nodeLinker, hoistedModulesDir }) { if (extendNodePath && nodeLinker === "isolated" && hoistPattern?.length) { return [hoistedModulesDir]; } return []; } function arrayOfWorkspacePackagesToMap(pkgs) { const workspacePkgs = /* @__PURE__ */ new Map(); for (const { manifest, rootDir } of pkgs) { if (!manifest.name) continue; let workspacePkgsByVersion = workspacePkgs.get(manifest.name); if (!workspacePkgsByVersion) { workspacePkgsByVersion = /* @__PURE__ */ new Map(); workspacePkgs.set(manifest.name, workspacePkgsByVersion); } workspacePkgsByVersion.set(manifest.version ?? "0.0.0", { manifest, rootDir }); } return workspacePkgs; } } }); // ../lockfile/utils/lib/packageIdFromSnapshot.js var require_packageIdFromSnapshot = __commonJS({ "../lockfile/utils/lib/packageIdFromSnapshot.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.packageIdFromSnapshot = packageIdFromSnapshot; var dp = __importStar3(require_lib86()); function packageIdFromSnapshot(depPath, pkgSnapshot) { if (pkgSnapshot.id) return pkgSnapshot.id; return dp.tryGetPackageId(depPath) ?? depPath; } } }); // ../lockfile/utils/lib/nameVerFromPkgSnapshot.js var require_nameVerFromPkgSnapshot = __commonJS({ "../lockfile/utils/lib/nameVerFromPkgSnapshot.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.nameVerFromPkgSnapshot = nameVerFromPkgSnapshot; var dp = __importStar3(require_lib86()); function nameVerFromPkgSnapshot(depPath, pkgSnapshot) { const pkgInfo = dp.parse(depPath); return { name: pkgInfo.name, peerDepGraphHash: pkgInfo.peerDepGraphHash, version: pkgSnapshot.version ?? pkgInfo.version ?? void 0, nonSemverVersion: pkgInfo.nonSemverVersion }; } } }); // ../lockfile/utils/lib/extendProjectsWithTargetDirs.js var require_extendProjectsWithTargetDirs = __commonJS({ "../lockfile/utils/lib/extendProjectsWithTargetDirs.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.extendProjectsWithTargetDirs = extendProjectsWithTargetDirs; var path_1 = __importDefault2(require("path")); var dependency_path_1 = require_lib86(); var packageIdFromSnapshot_js_1 = require_packageIdFromSnapshot(); var nameVerFromPkgSnapshot_js_1 = require_nameVerFromPkgSnapshot(); function extendProjectsWithTargetDirs(projects, lockfile, ctx) { const getLocalLocations = ctx.pkgLocationsByDepPath != null ? (depPath) => ctx.pkgLocationsByDepPath[depPath] : (depPath, pkgName) => [path_1.default.join(ctx.virtualStoreDir, (0, dependency_path_1.depPathToFilename)(depPath, ctx.virtualStoreDirMaxLength), "node_modules", pkgName)]; const projectsById = Object.fromEntries(projects.map((project) => [project.id, { ...project, targetDirs: [] }])); for (const [depPath, pkg] of Object.entries(lockfile.packages ?? {})) { if (pkg.resolution?.type !== "directory") continue; const pkgId = (0, packageIdFromSnapshot_js_1.packageIdFromSnapshot)(depPath, pkg); const { name: pkgName } = (0, nameVerFromPkgSnapshot_js_1.nameVerFromPkgSnapshot)(depPath, pkg); const importerId = pkgId.replace(/^file:/, ""); if (projectsById[importerId] == null) continue; const localLocations = getLocalLocations(depPath, pkgName); if (!localLocations) continue; projectsById[importerId].targetDirs.push(...localLocations); projectsById[importerId].stages = ["preinstall", "install", "postinstall", "prepare", "prepublishOnly"]; } return Object.values(projectsById); } } }); // ../lockfile/utils/lib/packageIsIndependent.js var require_packageIsIndependent = __commonJS({ "../lockfile/utils/lib/packageIsIndependent.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.packageIsIndependent = packageIsIndependent; function packageIsIndependent({ dependencies, optionalDependencies }) { return dependencies === void 0 && optionalDependencies === void 0; } } }); // ../lockfile/utils/lib/pkgSnapshotToResolution.js var require_pkgSnapshotToResolution = __commonJS({ "../lockfile/utils/lib/pkgSnapshotToResolution.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pkgSnapshotToResolution = pkgSnapshotToResolution; var url_1 = __importDefault2(require("url")); var get_npm_tarball_url_1 = __importDefault2(require_lib95()); var pick_fetcher_1 = require_lib83(); var nameVerFromPkgSnapshot_js_1 = require_nameVerFromPkgSnapshot(); function pkgSnapshotToResolution(depPath, pkgSnapshot, registries) { if (Boolean(pkgSnapshot.resolution.type) || pkgSnapshot.resolution.tarball?.startsWith("file:") || (0, pick_fetcher_1.isGitHostedPkgUrl)(pkgSnapshot.resolution.tarball ?? "")) { return pkgSnapshot.resolution; } const { name, version: version2 } = (0, nameVerFromPkgSnapshot_js_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); let registry = ""; if (name != null) { if (name[0] === "@") { registry = registries[name.split("/")[0]]; } } if (!registry) { registry = registries.default; } let tarball; if (!pkgSnapshot.resolution.tarball) { tarball = getTarball(registry); } else { tarball = new url_1.default.URL(pkgSnapshot.resolution.tarball, registry.endsWith("/") ? registry : `${registry}/`).toString(); } return { ...pkgSnapshot.resolution, tarball }; function getTarball(registry2) { if (!name || !version2) { throw new Error(`Couldn't get tarball URL from dependency path ${depPath}`); } return (0, get_npm_tarball_url_1.default)(name, version2, { registry: registry2 }); } } } }); // ../lockfile/utils/lib/refIsLocalTarball.js var require_refIsLocalTarball = __commonJS({ "../lockfile/utils/lib/refIsLocalTarball.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.refIsLocalTarball = refIsLocalTarball; exports2.refIsLocalDirectory = refIsLocalDirectory; function refIsLocalTarball(ref) { return ref.startsWith("file:") && (ref.endsWith(".tgz") || ref.endsWith(".tar.gz") || ref.endsWith(".tar")); } function refIsLocalDirectory(ref) { return ref.startsWith("file:") && !refIsLocalTarball(ref); } } }); // ../lockfile/utils/lib/index.js var require_lib125 = __commonJS({ "../lockfile/utils/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPkgShortId = exports2.refIsLocalDirectory = exports2.refIsLocalTarball = exports2.pkgSnapshotToResolution = exports2.packageIsIndependent = exports2.packageIdFromSnapshot = exports2.nameVerFromPkgSnapshot = exports2.extendProjectsWithTargetDirs = void 0; var dependency_path_1 = require_lib86(); var extendProjectsWithTargetDirs_js_1 = require_extendProjectsWithTargetDirs(); Object.defineProperty(exports2, "extendProjectsWithTargetDirs", { enumerable: true, get: function() { return extendProjectsWithTargetDirs_js_1.extendProjectsWithTargetDirs; } }); var nameVerFromPkgSnapshot_js_1 = require_nameVerFromPkgSnapshot(); Object.defineProperty(exports2, "nameVerFromPkgSnapshot", { enumerable: true, get: function() { return nameVerFromPkgSnapshot_js_1.nameVerFromPkgSnapshot; } }); var packageIdFromSnapshot_js_1 = require_packageIdFromSnapshot(); Object.defineProperty(exports2, "packageIdFromSnapshot", { enumerable: true, get: function() { return packageIdFromSnapshot_js_1.packageIdFromSnapshot; } }); var packageIsIndependent_js_1 = require_packageIsIndependent(); Object.defineProperty(exports2, "packageIsIndependent", { enumerable: true, get: function() { return packageIsIndependent_js_1.packageIsIndependent; } }); var pkgSnapshotToResolution_js_1 = require_pkgSnapshotToResolution(); Object.defineProperty(exports2, "pkgSnapshotToResolution", { enumerable: true, get: function() { return pkgSnapshotToResolution_js_1.pkgSnapshotToResolution; } }); var refIsLocalTarball_js_1 = require_refIsLocalTarball(); Object.defineProperty(exports2, "refIsLocalTarball", { enumerable: true, get: function() { return refIsLocalTarball_js_1.refIsLocalTarball; } }); Object.defineProperty(exports2, "refIsLocalDirectory", { enumerable: true, get: function() { return refIsLocalTarball_js_1.refIsLocalDirectory; } }); __exportStar2(require_lib119(), exports2); exports2.getPkgShortId = dependency_path_1.refToRelative; } }); // ../lockfile/walker/lib/index.js var require_lib126 = __commonJS({ "../lockfile/walker/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.lockfileWalkerGroupImporterSteps = lockfileWalkerGroupImporterSteps; exports2.lockfileWalker = lockfileWalker; var dp = __importStar3(require_lib86()); function lockfileWalkerGroupImporterSteps(lockfile, importerIds, opts) { const walked = new Set(opts?.skipped != null ? Array.from(opts?.skipped) : []); return importerIds.map((importerId) => { const projectSnapshot = lockfile.importers[importerId]; const entryNodes = Object.entries({ ...opts?.include?.devDependencies === false ? {} : projectSnapshot.devDependencies, ...opts?.include?.dependencies === false ? {} : projectSnapshot.dependencies, ...opts?.include?.optionalDependencies === false ? {} : projectSnapshot.optionalDependencies }).map(([pkgName, reference]) => dp.refToRelative(reference, pkgName)).filter((nodeId) => nodeId !== null); return { importerId, step: step({ includeOptionalDependencies: opts?.include?.optionalDependencies !== false, lockfile, walked }, entryNodes) }; }); } function lockfileWalker(lockfile, importerIds, opts) { const walked = new Set(opts?.skipped != null ? Array.from(opts?.skipped) : []); const entryNodes = []; const directDeps = []; for (const importerId of importerIds) { const projectSnapshot = lockfile.importers[importerId]; Object.entries({ ...opts?.include?.devDependencies === false ? {} : projectSnapshot.devDependencies, ...opts?.include?.dependencies === false ? {} : projectSnapshot.dependencies, ...opts?.include?.optionalDependencies === false ? {} : projectSnapshot.optionalDependencies }).forEach(([pkgName, reference]) => { const depPath = dp.refToRelative(reference, pkgName); if (depPath === null) return; entryNodes.push(depPath); directDeps.push({ alias: pkgName, depPath }); }); } return { directDeps, step: step({ includeOptionalDependencies: opts?.include?.optionalDependencies !== false, lockfile, walked }, entryNodes) }; } function step(ctx, nextDepPaths) { const result2 = { dependencies: [], links: [], missing: [] }; for (const depPath of nextDepPaths) { if (ctx.walked.has(depPath)) continue; ctx.walked.add(depPath); const pkgSnapshot = ctx.lockfile.packages?.[depPath]; if (pkgSnapshot == null) { if (depPath.startsWith("link:")) { result2.links.push(depPath); continue; } result2.missing.push(depPath); continue; } result2.dependencies.push({ depPath, next: () => step(ctx, next({ includeOptionalDependencies: ctx.includeOptionalDependencies }, pkgSnapshot)), pkgSnapshot }); } return result2; } function next(opts, nextPkg) { return Object.entries({ ...nextPkg.dependencies, ...opts.includeOptionalDependencies ? nextPkg.optionalDependencies : {} }).map(([pkgName, reference]) => dp.refToRelative(reference, pkgName)).filter((nodeId) => nodeId !== null); } } }); // ../config/version-policy/lib/index.js var require_lib127 = __commonJS({ "../config/version-policy/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPackageVersionPolicy = createPackageVersionPolicy; exports2.expandPackageVersionSpecs = expandPackageVersionSpecs; var error_1 = require_lib6(); var matcher_1 = require_lib19(); var semver_12 = __importDefault2(require_semver2()); function createPackageVersionPolicy(patterns) { const rules = []; for (const pattern of patterns) { const parsed = parseVersionPolicyRule(pattern); rules.push({ nameMatcher: (0, matcher_1.createMatcher)(parsed.packageName), exactVersions: parsed.exactVersions }); } return evaluateVersionPolicy.bind(null, rules); } function expandPackageVersionSpecs(specs) { const expandedSpecs = /* @__PURE__ */ new Set(); for (const spec of specs) { const parsed = parseVersionPolicyRule(spec); if (parsed.exactVersions.length === 0) { expandedSpecs.add(parsed.packageName); } else { for (const version2 of parsed.exactVersions) { expandedSpecs.add(`${parsed.packageName}@${version2}`); } } } return expandedSpecs; } function evaluateVersionPolicy(rules, pkgName) { for (const { nameMatcher, exactVersions } of rules) { if (!nameMatcher(pkgName)) { continue; } if (exactVersions.length === 0) { return true; } return exactVersions; } return false; } function parseVersionPolicyRule(pattern) { const isScoped = pattern.startsWith("@"); const atIndex = isScoped ? pattern.indexOf("@", 1) : pattern.indexOf("@"); if (atIndex === -1) { return { packageName: pattern, exactVersions: [] }; } const packageName = pattern.slice(0, atIndex); const versionsPart = pattern.slice(atIndex + 1); const exactVersions = parseExactVersionsUnion(versionsPart); if (exactVersions == null) { throw new error_1.PnpmError("INVALID_VERSION_UNION", `Invalid versions union. Found: "${pattern}". Use exact versions only.`); } if (packageName.includes("*")) { throw new error_1.PnpmError("NAME_PATTERN_IN_VERSION_UNION", `Name patterns are not allowed with version unions. Found: "${pattern}"`); } return { packageName, exactVersions }; } function parseExactVersionsUnion(versionsStr) { const versions = []; for (const versionRaw of versionsStr.split("||")) { const version2 = semver_12.default.valid(versionRaw); if (version2 == null) { return null; } versions.push(version2); } return versions; } } }); // ../builder/policy/lib/index.js var require_lib128 = __commonJS({ "../builder/policy/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createAllowBuildFunction = createAllowBuildFunction; var config_version_policy_1 = require_lib127(); var fs_1 = __importDefault2(require("fs")); function createAllowBuildFunction(opts) { if (opts.onlyBuiltDependenciesFile != null || opts.onlyBuiltDependencies != null) { const onlyBuiltDeps = opts.onlyBuiltDependencies ?? []; if (opts.onlyBuiltDependenciesFile) { onlyBuiltDeps.push(...JSON.parse(fs_1.default.readFileSync(opts.onlyBuiltDependenciesFile, "utf8"))); } const onlyBuiltDependencies = (0, config_version_policy_1.expandPackageVersionSpecs)(onlyBuiltDeps); return (pkgName, version2) => onlyBuiltDependencies.has(pkgName) || onlyBuiltDependencies.has(`${pkgName}@${version2}`); } if (opts.neverBuiltDependencies != null && opts.neverBuiltDependencies.length > 0) { const neverBuiltDependencies = new Set(opts.neverBuiltDependencies); return (pkgName) => !neverBuiltDependencies.has(pkgName); } return void 0; } } }); // ../deps/graph-sequencer/lib/index.js var require_lib129 = __commonJS({ "../deps/graph-sequencer/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.graphSequencer = graphSequencer; function graphSequencer(graph, includedNodes = [...graph.keys()]) { const reverseGraph = /* @__PURE__ */ new Map(); for (const key of graph.keys()) { reverseGraph.set(key, []); } const nodes = new Set(includedNodes); const visited = /* @__PURE__ */ new Set(); const outDegree = /* @__PURE__ */ new Map(); for (const [from, edges] of graph.entries()) { outDegree.set(from, 0); for (const to of edges) { if (nodes.has(from) && nodes.has(to)) { changeOutDegree(from, 1); reverseGraph.get(to).push(from); } } if (!nodes.has(from)) { visited.add(from); } } const chunks = []; const cycles = []; let safe = true; while (nodes.size) { const chunk = []; let minDegree = Number.MAX_SAFE_INTEGER; for (const node of nodes) { const degree = outDegree.get(node); if (degree === 0) { chunk.push(node); } minDegree = Math.min(minDegree, degree); } if (minDegree === 0) { chunk.forEach(removeNode); chunks.push(chunk); } else { const cycleNodes = []; for (const node of nodes) { const cycle = findCycle(node); if (cycle.length) { cycles.push(cycle); cycle.forEach(removeNode); cycleNodes.push(...cycle); if (cycle.length > 1) { safe = false; } } } chunks.push(cycleNodes); } } return { safe, chunks, cycles }; function changeOutDegree(node, value) { const degree = outDegree.get(node) ?? 0; outDegree.set(node, degree + value); } function removeNode(node) { for (const from of reverseGraph.get(node)) { changeOutDegree(from, -1); } visited.add(node); nodes.delete(node); } function findCycle(startNode) { const queue = [[startNode, [startNode]]]; const cycleVisited = /* @__PURE__ */ new Set(); const cycles2 = []; while (queue.length) { const [id, cycle] = queue.shift(); for (const to of graph.get(id)) { if (to === startNode) { cycleVisited.add(to); cycles2.push([...cycle]); continue; } if (visited.has(to) || cycleVisited.has(to)) { continue; } cycleVisited.add(to); queue.push([to, [...cycle, to]]); } } if (!cycles2.length) { return []; } cycles2.sort((a, b) => b.length - a.length); return cycles2[0]; } } } }); // ../exec/plugin-commands-rebuild/lib/implementation/extendRebuildOptions.js var require_extendRebuildOptions = __commonJS({ "../exec/plugin-commands-rebuild/lib/implementation/extendRebuildOptions.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.extendRebuildOptions = extendRebuildOptions; var path_1 = __importDefault2(require("path")); var config_1 = require_lib23(); var normalize_registries_1 = require_lib122(); var load_json_file_1 = __importDefault2(require_load_json_file()); var defaults = async (opts) => { const packageManager = opts.packageManager ?? await (0, load_json_file_1.default)(path_1.default.join(__dirname, "../../package.json")); const dir = opts.dir ?? process.cwd(); const lockfileDir = opts.lockfileDir ?? dir; return { childConcurrency: 5, development: true, dir, force: false, lockfileDir, nodeLinker: "isolated", optional: true, packageManager, pending: false, production: true, rawConfig: {}, registries: normalize_registries_1.DEFAULT_REGISTRIES, scriptsPrependNodePath: false, shamefullyHoist: false, shellEmulator: false, sideEffectsCacheRead: false, storeDir: opts.storeDir, unsafePerm: process.platform === "win32" || process.platform === "cygwin" || !process.setgid || process.getuid?.() !== 0, useLockfile: true, userAgent: `${packageManager.name}/${packageManager.version} npm/? node/${process.version} ${process.platform} ${process.arch}` }; }; async function extendRebuildOptions(opts) { if (opts) { for (const key in opts) { if (opts[key] === void 0) { delete opts[key]; } } } const defaultOpts = await defaults(opts); const extendedOpts = { ...defaultOpts, ...opts, storeDir: defaultOpts.storeDir, ...opts.rootProjectManifest ? (0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest) : {} }; extendedOpts.registries = (0, normalize_registries_1.normalizeRegistries)(extendedOpts.registries); if (extendedOpts.neverBuiltDependencies == null && extendedOpts.onlyBuiltDependencies == null && extendedOpts.onlyBuiltDependenciesFile == null) { extendedOpts.onlyBuiltDependencies = []; } return extendedOpts; } } }); // ../exec/plugin-commands-rebuild/lib/implementation/index.js var require_implementation = __commonJS({ "../exec/plugin-commands-rebuild/lib/implementation/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.rebuildSelectedPkgs = rebuildSelectedPkgs; exports2.rebuildProjects = rebuildProjects; var assert_1 = __importDefault2(require("assert")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var store_cafs_1 = require_lib79(); var calc_dep_state_1 = require_lib118(); var constants_1 = require_lib5(); var core_loggers_1 = require_lib8(); var error_1 = require_lib6(); var get_context_1 = require_lib124(); var lifecycle_1 = require_lib71(); var link_bins_1 = require_lib69(); var lockfile_utils_1 = require_lib125(); var lockfile_walker_1 = require_lib126(); var logger_1 = require_lib(); var modules_yaml_1 = require_lib115(); var store_connection_manager_1 = require_lib94(); var builder_policy_1 = require_lib128(); var exec_pkg_requires_build_1 = require_lib52(); var dp = __importStar3(require_lib86()); var read_package_json_1 = require_lib61(); var worker_1 = require_lib73(); var load_json_file_1 = __importDefault2(require_load_json_file()); var run_groups_1 = __importDefault2(require_lib70()); var deps_graph_sequencer_1 = require_lib129(); var npm_package_arg_1 = __importDefault2(require_npa()); var p_limit_12 = __importDefault2(require_p_limit()); var semver_12 = __importDefault2(require_semver2()); var extendRebuildOptions_js_1 = require_extendRebuildOptions(); function findPackages(packages, searched, opts) { return Object.keys(packages).filter((relativeDepPath) => { const pkgLockfile = packages[relativeDepPath]; const pkgInfo = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(relativeDepPath, pkgLockfile); if (!pkgInfo.name) { logger_1.logger.warn({ message: `Skipping ${relativeDepPath} because cannot get the package name from ${constants_1.WANTED_LOCKFILE}. Try to run run \`pnpm update --depth 100\` to create a new ${constants_1.WANTED_LOCKFILE} with all the necessary info.`, prefix: opts.prefix }); return false; } return matches(searched, pkgInfo); }); } function matches(searched, manifest) { return searched.some((searchedPkg) => { if (typeof searchedPkg === "string") { return manifest.name === searchedPkg; } return searchedPkg.name === manifest.name && !!manifest.version && semver_12.default.satisfies(manifest.version, searchedPkg.range); }); } async function rebuildSelectedPkgs(projects, pkgSpecs, maybeOpts) { const reporter = maybeOpts?.reporter; if (reporter != null && typeof reporter === "function") { logger_1.streamParser.on("data", reporter); } const opts = await (0, extendRebuildOptions_js_1.extendRebuildOptions)(maybeOpts); const ctx = await (0, get_context_1.getContext)({ ...opts, allProjects: projects }); if (ctx.currentLockfile?.packages == null) return {}; const packages = ctx.currentLockfile.packages; const searched = pkgSpecs.map((arg) => { const { fetchSpec, name, raw, type } = (0, npm_package_arg_1.default)(arg); if (raw === name) { return name; } if (type !== "version" && type !== "range") { throw new Error(`Invalid argument - ${arg}. Rebuild can only select by version or range`); } return { name, range: fetchSpec }; }); let pkgs = []; for (const { rootDir } of projects) { pkgs = [ ...pkgs, ...findPackages(packages, searched, { prefix: rootDir }) ]; } const { ignoredPkgs } = await _rebuild({ pkgsToRebuild: new Set(pkgs), ...ctx }, opts); await (0, modules_yaml_1.writeModulesManifest)(ctx.rootModulesDir, { prunedAt: (/* @__PURE__ */ new Date()).toUTCString(), ...ctx.modulesFile, hoistedDependencies: ctx.hoistedDependencies, hoistPattern: ctx.hoistPattern, included: ctx.include, ignoredBuilds: ignoredPkgs, layoutVersion: constants_1.LAYOUT_VERSION, packageManager: `${opts.packageManager.name}@${opts.packageManager.version}`, pendingBuilds: ctx.pendingBuilds, publicHoistPattern: ctx.publicHoistPattern, registries: ctx.registries, skipped: Array.from(ctx.skipped), storeDir: ctx.storeDir, virtualStoreDir: ctx.virtualStoreDir, virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength }); return { ignoredBuilds: ignoredPkgs }; } async function rebuildProjects(projects, maybeOpts) { const reporter = maybeOpts?.reporter; if (reporter != null && typeof reporter === "function") { logger_1.streamParser.on("data", reporter); } const opts = await (0, extendRebuildOptions_js_1.extendRebuildOptions)(maybeOpts); const ctx = await (0, get_context_1.getContext)({ ...opts, allProjects: projects }); let idsToRebuild = []; if (opts.pending) { idsToRebuild = ctx.pendingBuilds; } else if (ctx.currentLockfile?.packages != null) { idsToRebuild = Object.keys(ctx.currentLockfile.packages); } const { pkgsThatWereRebuilt, ignoredPkgs } = await _rebuild({ pkgsToRebuild: new Set(idsToRebuild), ...ctx }, opts); ctx.pendingBuilds = ctx.pendingBuilds.filter((depPath) => !pkgsThatWereRebuilt.has(depPath)); const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); const scriptsOpts = { extraBinPaths: ctx.extraBinPaths, extraNodePaths: ctx.extraNodePaths, extraEnv: opts.extraEnv, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, rawConfig: opts.rawConfig, scriptsPrependNodePath: opts.scriptsPrependNodePath, scriptShell: opts.scriptShell, shellEmulator: opts.shellEmulator, storeController: store.ctrl, unsafePerm: opts.unsafePerm || false }; await (0, lifecycle_1.runLifecycleHooksConcurrently)(["preinstall", "install", "postinstall", "prepublish", "prepare"], Object.values(ctx.projects), opts.childConcurrency || 5, scriptsOpts); for (const { id, manifest } of Object.values(ctx.projects)) { if (manifest?.scripts != null && (!opts.pending || ctx.pendingBuilds.includes(id))) { ctx.pendingBuilds.splice(ctx.pendingBuilds.indexOf(id), 1); } } await (0, modules_yaml_1.writeModulesManifest)(ctx.rootModulesDir, { prunedAt: (/* @__PURE__ */ new Date()).toUTCString(), ...ctx.modulesFile, hoistedDependencies: ctx.hoistedDependencies, hoistPattern: ctx.hoistPattern, included: ctx.include, ignoredBuilds: ignoredPkgs, layoutVersion: constants_1.LAYOUT_VERSION, packageManager: `${opts.packageManager.name}@${opts.packageManager.version}`, pendingBuilds: ctx.pendingBuilds, publicHoistPattern: ctx.publicHoistPattern, registries: ctx.registries, skipped: Array.from(ctx.skipped), storeDir: ctx.storeDir, virtualStoreDir: ctx.virtualStoreDir, virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength }); } function getSubgraphToBuild(step, nodesToBuildAndTransitive, opts) { let currentShouldBeBuilt = false; for (const { depPath, next } of step.dependencies) { if (nodesToBuildAndTransitive.has(depPath)) { currentShouldBeBuilt = true; } const childShouldBeBuilt = getSubgraphToBuild(next(), nodesToBuildAndTransitive, opts) || opts.pkgsToRebuild.has(depPath); if (childShouldBeBuilt) { nodesToBuildAndTransitive.add(depPath); currentShouldBeBuilt = true; } } for (const depPath of step.missing) { logger_1.logger.debug({ message: `No entry for "${depPath}" in ${constants_1.WANTED_LOCKFILE}` }); } return currentShouldBeBuilt; } var limitLinking = (0, p_limit_12.default)(16); async function _rebuild(ctx, opts) { const depGraph = (0, calc_dep_state_1.lockfileToDepGraph)(ctx.currentLockfile); const depsStateCache = {}; const pkgsThatWereRebuilt = /* @__PURE__ */ new Set(); const graph = /* @__PURE__ */ new Map(); const pkgSnapshots = ctx.currentLockfile.packages ?? {}; const nodesToBuildAndTransitive = /* @__PURE__ */ new Set(); getSubgraphToBuild((0, lockfile_walker_1.lockfileWalker)(ctx.currentLockfile, Object.values(ctx.projects).map(({ id }) => id), { include: { dependencies: opts.production, devDependencies: opts.development, optionalDependencies: opts.optional } }).step, nodesToBuildAndTransitive, { pkgsToRebuild: ctx.pkgsToRebuild }); const nodesToBuildAndTransitiveArray = Array.from(nodesToBuildAndTransitive); for (const depPath of nodesToBuildAndTransitiveArray) { const pkgSnapshot = pkgSnapshots[depPath]; graph.set(depPath, Object.entries({ ...pkgSnapshot.dependencies, ...pkgSnapshot.optionalDependencies }).map(([pkgName, reference]) => dp.refToRelative(reference, pkgName)).filter((childRelDepPath) => childRelDepPath && nodesToBuildAndTransitive.has(childRelDepPath))); } const graphSequencerResult = (0, deps_graph_sequencer_1.graphSequencer)(graph, nodesToBuildAndTransitiveArray); const chunks = graphSequencerResult.chunks; const warn = (message) => { logger_1.logger.info({ message, prefix: opts.dir }); }; const ignoredPkgs = /* @__PURE__ */ new Set(); const _allowBuild = (0, builder_policy_1.createAllowBuildFunction)(opts) ?? (() => true); const allowBuild = (pkgName, version2, depPath) => { if (_allowBuild(pkgName, version2)) return true; if (!opts.ignoredBuiltDependencies?.includes(pkgName)) { ignoredPkgs.add(depPath); } return false; }; const builtDepPaths = /* @__PURE__ */ new Set(); const groups = chunks.map((chunk) => chunk.filter((depPath) => ctx.pkgsToRebuild.has(depPath) && !ctx.skipped.has(depPath)).map((depPath) => async () => { const pkgSnapshot = pkgSnapshots[depPath]; const pkgInfo = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); const pkgRoots = opts.nodeLinker === "hoisted" ? (ctx.modulesFile?.hoistedLocations?.[depPath] ?? []).map((hoistedLocation) => path_1.default.join(opts.lockfileDir, hoistedLocation)) : [path_1.default.join(ctx.virtualStoreDir, dp.depPathToFilename(depPath, opts.virtualStoreDirMaxLength), "node_modules", pkgInfo.name)]; if (pkgRoots.length === 0) { if (pkgSnapshot.optional) return; throw new error_1.PnpmError("MISSING_HOISTED_LOCATIONS", `${depPath} is not found in hoistedLocations inside node_modules/.modules.yaml`, { hint: 'If you installed your node_modules with pnpm older than v7.19.0, you may need to remove it and run "pnpm install"' }); } const pkgRoot = pkgRoots[0]; try { const extraBinPaths = ctx.extraBinPaths; if (opts.nodeLinker !== "hoisted") { const modules = path_1.default.join(ctx.virtualStoreDir, dp.depPathToFilename(depPath, opts.virtualStoreDirMaxLength), "node_modules"); const binPath = path_1.default.join(pkgRoot, "node_modules", ".bin"); await (0, link_bins_1.linkBins)(modules, binPath, { extraNodePaths: ctx.extraNodePaths, warn }); } else { extraBinPaths.push(...binDirsInAllParentDirs(pkgRoot, opts.lockfileDir)); } const resolution = pkgSnapshot.resolution; let sideEffectsCacheKey; const pkgId = `${pkgInfo.name}@${pkgInfo.version}`; if (opts.skipIfHasSideEffectsCache && resolution.integrity) { const filesIndexFile = (0, store_cafs_1.getIndexFilePathInCafs)(opts.storeDir, resolution.integrity.toString(), pkgId); let pkgFilesIndex; try { pkgFilesIndex = await (0, load_json_file_1.default)(filesIndexFile); } catch { } if (pkgFilesIndex) { sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(depGraph, depsStateCache, depPath, { includeDepGraphHash: true }); if (pkgFilesIndex.sideEffects?.[sideEffectsCacheKey]) { pkgsThatWereRebuilt.add(depPath); return; } } } let requiresBuild = true; const pgkManifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(pkgRoot); if (pgkManifest != null) { requiresBuild = (0, exec_pkg_requires_build_1.pkgRequiresBuild)(pgkManifest, {}); } const hasSideEffects = requiresBuild && allowBuild(pkgInfo.name, pkgInfo.version, depPath) && await (0, lifecycle_1.runPostinstallHooks)({ depPath, extraBinPaths, extraEnv: opts.extraEnv, optional: pkgSnapshot.optional === true, pkgRoot, rawConfig: opts.rawConfig, rootModulesDir: ctx.rootModulesDir, scriptsPrependNodePath: opts.scriptsPrependNodePath, shellEmulator: opts.shellEmulator, unsafePerm: opts.unsafePerm || false }); if (hasSideEffects && (opts.sideEffectsCacheWrite ?? true) && resolution.integrity) { builtDepPaths.add(depPath); const filesIndexFile = (0, store_cafs_1.getIndexFilePathInCafs)(opts.storeDir, resolution.integrity.toString(), pkgId); try { if (!sideEffectsCacheKey) { sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(depGraph, depsStateCache, depPath, { includeDepGraphHash: true }); } await opts.storeController.upload(pkgRoot, { sideEffectsCacheKey, filesIndexFile }); } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); if ("statusCode" in err && err.statusCode === 403) { logger_1.logger.warn({ message: `The store server disabled upload requests, could not upload ${pkgRoot}`, prefix: opts.lockfileDir }); } else { logger_1.logger.warn({ error: err, message: `An error occurred while uploading ${pkgRoot}`, prefix: opts.lockfileDir }); } } } pkgsThatWereRebuilt.add(depPath); } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); if (pkgSnapshot.optional) { core_loggers_1.skippedOptionalDependencyLogger.debug({ details: err.toString(), package: { id: pkgSnapshot.id ?? depPath, name: pkgInfo.name, version: pkgInfo.version }, prefix: opts.dir, reason: "build_failure" }); return; } throw err; } if (pkgRoots.length > 1) { await (0, worker_1.hardLinkDir)(pkgRoot, pkgRoots.slice(1)); } })); await (0, run_groups_1.default)(opts.childConcurrency || 5, groups); if (builtDepPaths.size > 0) { await Promise.all(Object.keys(pkgSnapshots).filter((depPath) => !(0, lockfile_utils_1.packageIsIndependent)(pkgSnapshots[depPath])).map(async (depPath) => limitLinking(async () => { const pkgSnapshot = pkgSnapshots[depPath]; const pkgInfo = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); const modules = path_1.default.join(ctx.virtualStoreDir, dp.depPathToFilename(depPath, opts.virtualStoreDirMaxLength), "node_modules"); const binPath = path_1.default.join(modules, pkgInfo.name, "node_modules", ".bin"); return (0, link_bins_1.linkBins)(modules, binPath, { warn }); }))); await Promise.all(Object.values(ctx.projects).map(async ({ rootDir }) => limitLinking(async () => { const modules = path_1.default.join(rootDir, "node_modules"); const binPath = path_1.default.join(modules, ".bin"); return (0, link_bins_1.linkBins)(modules, binPath, { allowExoticManifests: true, warn }); }))); } return { pkgsThatWereRebuilt, ignoredPkgs }; } function binDirsInAllParentDirs(pkgRoot, lockfileDir) { const binDirs = []; let dir = pkgRoot; do { if (!(path_1.default.dirname(dir)[0] === "@")) { binDirs.push(path_1.default.join(dir, "node_modules/.bin")); } dir = path_1.default.dirname(dir); } while (path_1.default.relative(dir, lockfileDir) !== ""); binDirs.push(path_1.default.join(lockfileDir, "node_modules/.bin")); return binDirs; } } }); // ../workspace/sort-packages/lib/index.js var require_lib130 = __commonJS({ "../workspace/sort-packages/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.sequenceGraph = sequenceGraph; exports2.sortPackages = sortPackages; var deps_graph_sequencer_1 = require_lib129(); function sequenceGraph(pkgGraph) { const keys = Object.keys(pkgGraph); const setOfKeys = new Set(keys); const graph = new Map(keys.map((pkgPath) => [ pkgPath, pkgGraph[pkgPath].dependencies.filter((d) => d !== pkgPath && setOfKeys.has(d)) ])); return (0, deps_graph_sequencer_1.graphSequencer)(graph, keys); } function sortPackages(pkgGraph) { const graphSequencerResult = sequenceGraph(pkgGraph); return graphSequencerResult.chunks; } } }); // ../exec/plugin-commands-rebuild/lib/recursive.js var require_recursive = __commonJS({ "../exec/plugin-commands-rebuild/lib/recursive.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.recursiveRebuild = recursiveRebuild; var assert_1 = __importDefault2(require("assert")); var util_1 = __importDefault2(require("util")); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var logger_1 = require_lib(); var sort_packages_1 = require_lib130(); var store_connection_manager_1 = require_lib94(); var mem_1 = __importDefault2(require_dist15()); var p_limit_12 = __importDefault2(require_p_limit()); var index_js_1 = require_implementation(); async function recursiveRebuild(allProjects, params, opts) { if (allProjects.length === 0) { return; } const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package); if (pkgs.length === 0) { return; } const manifestsByPath = {}; for (const { rootDir, manifest, writeProjectManifest } of pkgs) { manifestsByPath[rootDir] = { manifest, writeProjectManifest }; } const throwOnFail = cli_utils_1.throwOnCommandFail.bind(null, "pnpm recursive rebuild"); const chunks = opts.sort !== false ? (0, sort_packages_1.sortPackages)(opts.selectedProjectsGraph) : [Object.keys(opts.selectedProjectsGraph).sort()]; const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); const rebuildOpts = Object.assign(opts, { ownLifecycleHooksStdio: "pipe", pruneLockfileImporters: (opts.ignoredPackages == null || opts.ignoredPackages.size === 0) && pkgs.length === allProjects.length, storeController: store.ctrl, storeDir: store.dir }); const result2 = {}; const memReadLocalConfig = (0, mem_1.default)(config_1.readLocalConfig); async function getImporters() { const importers = []; await Promise.all(chunks.map(async (prefixes, buildIndex) => { if (opts.ignoredPackages != null) { prefixes = prefixes.filter((prefix) => !opts.ignoredPackages.has(prefix)); } return Promise.all(prefixes.map(async (prefix) => { importers.push({ buildIndex, manifest: manifestsByPath[prefix].manifest, rootDir: prefix }); })); })); return importers; } const rebuild = params.length === 0 ? index_js_1.rebuildProjects : (importers, opts2) => (0, index_js_1.rebuildSelectedPkgs)(importers, params, opts2); if (opts.lockfileDir) { const importers = await getImporters(); await rebuild(importers, { ...rebuildOpts, pending: opts.pending === true }); return; } const limitRebuild = (0, p_limit_12.default)((0, config_1.getWorkspaceConcurrency)(opts.workspaceConcurrency)); for (const chunk of chunks) { await Promise.all(chunk.map(async (rootDir) => limitRebuild(async () => { try { if (opts.ignoredPackages?.has(rootDir)) { return; } result2[rootDir] = { status: "running" }; const localConfig = await memReadLocalConfig(rootDir); await rebuild([ { buildIndex: 0, manifest: manifestsByPath[rootDir].manifest, rootDir } ], { ...rebuildOpts, ...localConfig, dir: rootDir, pending: opts.pending === true, rawConfig: { ...rebuildOpts.rawConfig, ...localConfig } }); result2[rootDir].status = "passed"; } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); const errWithPrefix = Object.assign(err, { prefix: rootDir }); logger_1.logger.info(errWithPrefix); if (!opts.bail) { result2[rootDir] = { status: "failure", error: errWithPrefix, message: err.message, prefix: rootDir }; return; } throw err; } }))); } throwOnFail(result2); } } }); // ../exec/plugin-commands-rebuild/lib/rebuild.js var require_rebuild = __commonJS({ "../exec/plugin-commands-rebuild/lib/rebuild.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var store_connection_manager_1 = require_lib94(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var index_js_1 = require_implementation(); var recursive_js_1 = require_recursive(); function rcOptionsTypes() { return { ...(0, pick_1.default)([ "npm-path", "reporter", "scripts-prepend-node-path", "unsafe-perm", "store-dir" ], config_1.types) }; } function cliOptionsTypes() { return { ...rcOptionsTypes(), pending: Boolean, recursive: Boolean }; } exports2.commandNames = ["rebuild", "rb"]; function help() { return (0, render_help_1.default)({ aliases: ["rb"], description: "Rebuild a package.", descriptionLists: [ { title: "Options", list: [ { description: 'Rebuild every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, { description: "Rebuild packages that were not build during installation. Packages are not build when installing with the --ignore-scripts flag", name: "--pending" }, { description: "The directory in which all the packages are saved on the disk", name: "--store-dir " }, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("rebuild"), usages: ["pnpm rebuild [ ...]"] }); } async function handler(opts, params) { if (opts.recursive && opts.allProjects != null && opts.selectedProjectsGraph != null && opts.workspaceDir) { await (0, recursive_js_1.recursiveRebuild)(opts.allProjects, params, { ...opts, selectedProjectsGraph: opts.selectedProjectsGraph, workspaceDir: opts.workspaceDir }); return; } const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); const rebuildOpts = Object.assign(opts, { sideEffectsCacheRead: opts.sideEffectsCache ?? opts.sideEffectsCacheReadonly, sideEffectsCacheWrite: opts.sideEffectsCache, storeController: store.ctrl, storeDir: store.dir }); if (params.length === 0) { await (0, index_js_1.rebuildProjects)([ { buildIndex: 0, manifest: await (0, cli_utils_1.readProjectManifestOnly)(rebuildOpts.dir, opts), rootDir: rebuildOpts.dir } ], rebuildOpts); return; } await (0, index_js_1.rebuildSelectedPkgs)([ { buildIndex: 0, manifest: await (0, cli_utils_1.readProjectManifestOnly)(rebuildOpts.dir, opts), rootDir: rebuildOpts.dir } ], params, rebuildOpts); } } }); // ../exec/plugin-commands-rebuild/lib/index.js var require_lib131 = __commonJS({ "../exec/plugin-commands-rebuild/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.rebuildSelectedPkgs = exports2.rebuildProjects = exports2.rebuild = void 0; var rebuild = __importStar3(require_rebuild()); exports2.rebuild = rebuild; var index_js_1 = require_implementation(); Object.defineProperty(exports2, "rebuildProjects", { enumerable: true, get: function() { return index_js_1.rebuildProjects; } }); Object.defineProperty(exports2, "rebuildSelectedPkgs", { enumerable: true, get: function() { return index_js_1.rebuildSelectedPkgs; } }); } }); // ../exec/build-commands/lib/getAutomaticallyIgnoredBuilds.js var require_getAutomaticallyIgnoredBuilds = __commonJS({ "../exec/build-commands/lib/getAutomaticallyIgnoredBuilds.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getAutomaticallyIgnoredBuilds = getAutomaticallyIgnoredBuilds; var path_1 = __importDefault2(require("path")); var dependency_path_1 = require_lib86(); var modules_yaml_1 = require_lib115(); async function getAutomaticallyIgnoredBuilds(opts) { const modulesDir = getModulesDir(opts); const modulesManifest = await (0, modules_yaml_1.readModulesManifest)(modulesDir); let automaticallyIgnoredBuilds; if (modulesManifest?.ignoredBuilds) { const ignoredPkgNames = /* @__PURE__ */ new Set(); for (const depPath of modulesManifest?.ignoredBuilds) { ignoredPkgNames.add((0, dependency_path_1.parse)(depPath).name ?? depPath); } automaticallyIgnoredBuilds = Array.from(ignoredPkgNames); } else { automaticallyIgnoredBuilds = null; } return { automaticallyIgnoredBuilds, modulesDir, modulesManifest }; } function getModulesDir(opts) { return opts.modulesDir ?? path_1.default.join(opts.lockfileDir ?? opts.dir, "node_modules"); } } }); // ../exec/build-commands/lib/approveBuilds.js var require_approveBuilds = __commonJS({ "../exec/build-commands/lib/approveBuilds.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.help = help; exports2.cliOptionsTypes = cliOptionsTypes; exports2.rcOptionsTypes = rcOptionsTypes; exports2.handler = handler; var logger_1 = require_lib22(); var modules_yaml_1 = require_lib115(); var util_lex_comparator_1 = require_dist4(); var render_help_1 = __importDefault2(require_lib109()); var enquirer_1 = require_enquirer(); var chalk_1 = __importDefault2(require_source()); var plugin_commands_rebuild_1 = require_lib131(); var config_config_writer_1 = require_lib98(); var getAutomaticallyIgnoredBuilds_js_1 = require_getAutomaticallyIgnoredBuilds(); exports2.commandNames = ["approve-builds"]; function help() { return (0, render_help_1.default)({ description: "Approve dependencies for running scripts during installation", usages: [], descriptionLists: [ { title: "Options", list: [ { description: "Approve dependencies of global packages", name: "--global", shortAlias: "-g" } ] } ] }); } function cliOptionsTypes() { return { global: Boolean }; } function rcOptionsTypes() { return {}; } async function handler(opts) { const { automaticallyIgnoredBuilds, modulesDir, modulesManifest } = await (0, getAutomaticallyIgnoredBuilds_js_1.getAutomaticallyIgnoredBuilds)(opts); if (!automaticallyIgnoredBuilds?.length) { (0, logger_1.globalInfo)("There are no packages awaiting approval"); return; } const { result: result2 } = await (0, enquirer_1.prompt)({ choices: sortUniqueStrings([...automaticallyIgnoredBuilds]), indicator(state, choice) { return ` ${choice.enabled ? "\u25CF" : "\u25CB"}`; }, message: `Choose which packages to build (Press ${chalk_1.default.cyan("")} to select, ${chalk_1.default.cyan("")} to toggle all, ${chalk_1.default.cyan("")} to invert selection)`, name: "result", pointer: "\u276F", result() { return this.selected; }, styles: { dark: chalk_1.default.reset, em: chalk_1.default.bgBlack.whiteBright, success: chalk_1.default.reset }, type: "multiselect", // For Vim users (related: https://github.com/enquirer/enquirer/pull/163) j() { return this.down(); }, k() { return this.up(); }, cancel() { process.exit(0); } }); const buildPackages = result2.map(({ value }) => value); const ignoredPackages = automaticallyIgnoredBuilds.filter((automaticallyIgnoredBuild) => !buildPackages.includes(automaticallyIgnoredBuild)); const updatedSettings = {}; if (ignoredPackages.length) { if (opts.ignoredBuiltDependencies == null) { updatedSettings.ignoredBuiltDependencies = sortUniqueStrings(ignoredPackages); } else { updatedSettings.ignoredBuiltDependencies = sortUniqueStrings([ ...opts.ignoredBuiltDependencies, ...ignoredPackages ]); } } if (buildPackages.length) { if (opts.onlyBuiltDependencies == null) { updatedSettings.onlyBuiltDependencies = sortUniqueStrings(buildPackages); } else { updatedSettings.onlyBuiltDependencies = sortUniqueStrings([ ...opts.onlyBuiltDependencies, ...buildPackages ]); } } if (buildPackages.length) { const confirmed = await (0, enquirer_1.prompt)({ type: "confirm", name: "build", message: `The next packages will now be built: ${buildPackages.join(", ")}. Do you approve?`, initial: false }); if (!confirmed.build) { return; } } else { (0, logger_1.globalInfo)("All packages were added to ignoredBuiltDependencies."); } await (0, config_config_writer_1.writeSettings)({ ...opts, workspaceDir: opts.workspaceDir ?? opts.rootProjectManifestDir, updatedSettings }); if (buildPackages.length) { return plugin_commands_rebuild_1.rebuild.handler({ ...opts, onlyBuiltDependencies: updatedSettings.onlyBuiltDependencies }, buildPackages); } else if (modulesManifest) { delete modulesManifest.ignoredBuilds; await (0, modules_yaml_1.writeModulesManifest)(modulesDir, modulesManifest); } } function sortUniqueStrings(array) { return Array.from(new Set(array)).sort(util_lex_comparator_1.lexCompare); } } }); // ../exec/build-commands/lib/ignoredBuilds.js var require_ignoredBuilds = __commonJS({ "../exec/build-commands/lib/ignoredBuilds.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.help = help; exports2.cliOptionsTypes = cliOptionsTypes; exports2.rcOptionsTypes = rcOptionsTypes; exports2.handler = handler; var render_help_1 = __importDefault2(require_lib109()); var getAutomaticallyIgnoredBuilds_js_1 = require_getAutomaticallyIgnoredBuilds(); exports2.commandNames = ["ignored-builds"]; function help() { return (0, render_help_1.default)({ description: "Print the list of packages with blocked build scripts", usages: [] }); } function cliOptionsTypes() { return {}; } function rcOptionsTypes() { return {}; } async function handler(opts) { const ignoredBuiltDependencies = opts.rootProjectManifest?.pnpm?.ignoredBuiltDependencies ?? []; let { automaticallyIgnoredBuilds } = await (0, getAutomaticallyIgnoredBuilds_js_1.getAutomaticallyIgnoredBuilds)(opts); if (automaticallyIgnoredBuilds) { automaticallyIgnoredBuilds = automaticallyIgnoredBuilds.filter((automaticallyIgnoredBuild) => !ignoredBuiltDependencies.includes(automaticallyIgnoredBuild)); } let output = "Automatically ignored builds during installation:\n"; if (automaticallyIgnoredBuilds == null) { output += " Cannot identify as no node_modules found"; } else if (automaticallyIgnoredBuilds.length === 0) { output += " None"; } else { output += ` ${automaticallyIgnoredBuilds.join("\n ")} hint: To allow the execution of build scripts for a package, add its name to "pnpm.onlyBuiltDependencies" in your "package.json", then run "pnpm rebuild". hint: If you don't want to build a package, add it to the "pnpm.ignoredBuiltDependencies" list.`; } output += "\n"; if (ignoredBuiltDependencies.length) { output += ` Explicitly ignored package builds (via pnpm.ignoredBuiltDependencies): ${ignoredBuiltDependencies.join("\n ")} `; } return output; } } }); // ../exec/build-commands/lib/index.js var require_lib132 = __commonJS({ "../exec/build-commands/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ignoredBuilds = exports2.approveBuilds = void 0; var approveBuilds = __importStar3(require_approveBuilds()); exports2.approveBuilds = approveBuilds; var ignoredBuilds = __importStar3(require_ignoredBuilds()); exports2.ignoredBuilds = ignoredBuilds; } }); // ../lockfile/detect-dep-types/lib/index.js var require_lib133 = __commonJS({ "../lockfile/detect-dep-types/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DepType = void 0; exports2.detectDepTypes = detectDepTypes; var dp = __importStar3(require_lib86()); var DepType; (function(DepType2) { DepType2[DepType2["DevOnly"] = 0] = "DevOnly"; DepType2[DepType2["DevAndProd"] = 1] = "DevAndProd"; DepType2[DepType2["ProdOnly"] = 2] = "ProdOnly"; })(DepType || (exports2.DepType = DepType = {})); function detectDepTypes(lockfile) { const dev = {}; const devDepPaths = Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.devDependencies ?? {})).flat(); const optionalDepPaths = Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.optionalDependencies ?? {})).flat(); const prodDepPaths = Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.dependencies ?? {})).flat(); const ctx = { packages: lockfile.packages ?? {}, walked: /* @__PURE__ */ new Set(), notProdOnly: /* @__PURE__ */ new Set(), dev }; detectDepTypesInSubGraph(ctx, devDepPaths, { dev: true }); detectDepTypesInSubGraph(ctx, optionalDepPaths, { dev: false }); detectDepTypesInSubGraph(ctx, prodDepPaths, { dev: false }); return dev; } function detectDepTypesInSubGraph(ctx, depPaths, opts) { for (const depPath of depPaths) { const key = `${depPath}:${opts.dev.toString()}`; if (ctx.walked.has(key)) continue; ctx.walked.add(key); if (!ctx.packages[depPath]) { continue; } if (opts.dev) { ctx.notProdOnly.add(depPath); ctx.dev[depPath] = DepType.DevOnly; } else if (ctx.dev[depPath] === DepType.DevOnly) { ctx.dev[depPath] = DepType.DevAndProd; } else if (ctx.dev[depPath] === void 0 && !ctx.notProdOnly.has(depPath)) { ctx.dev[depPath] = DepType.ProdOnly; } const depLockfile = ctx.packages[depPath]; const newDependencies = resolvedDepsToDepPaths(depLockfile.dependencies ?? {}); detectDepTypesInSubGraph(ctx, newDependencies, opts); const newOptionalDependencies = resolvedDepsToDepPaths(depLockfile.optionalDependencies ?? {}); detectDepTypesInSubGraph(ctx, newOptionalDependencies, { dev: opts.dev }); } } function resolvedDepsToDepPaths(deps) { return Object.entries(deps).map(([alias, ref]) => dp.refToRelative(ref, alias)).filter((depPath) => depPath !== null); } } }); // ../lockfile/audit/lib/lockfileToAuditTree.js var require_lockfileToAuditTree = __commonJS({ "../lockfile/audit/lib/lockfileToAuditTree.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.lockfileToAuditTree = lockfileToAuditTree; var path_1 = __importDefault2(require("path")); var lockfile_utils_1 = require_lib125(); var lockfile_walker_1 = require_lib126(); var lockfile_detect_dep_types_1 = require_lib133(); var read_project_manifest_1 = require_lib16(); var map_1 = __importDefault2(require_map3()); async function lockfileToAuditTree(lockfile, opts) { const importerWalkers = (0, lockfile_walker_1.lockfileWalkerGroupImporterSteps)(lockfile, Object.keys(lockfile.importers), { include: opts?.include }); const dependencies = {}; const depTypes = (0, lockfile_detect_dep_types_1.detectDepTypes)(lockfile); await Promise.all(importerWalkers.map(async (importerWalker) => { const importerDeps = lockfileToAuditNode(depTypes, importerWalker.step); const depName = importerWalker.importerId.replace(/\//g, "__"); const manifest = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(path_1.default.join(opts.lockfileDir, importerWalker.importerId)); dependencies[depName] = { dependencies: importerDeps, dev: false, requires: toRequires(importerDeps), version: manifest?.version ?? "0.0.0" }; })); const auditTree = { name: void 0, version: void 0, dependencies, dev: false, install: [], integrity: void 0, metadata: {}, remove: [], requires: toRequires(dependencies) }; return auditTree; } function lockfileToAuditNode(depTypes, step) { const dependencies = {}; for (const { depPath, pkgSnapshot, next } of step.dependencies) { const { name, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); const subdeps = lockfileToAuditNode(depTypes, next()); const dep = { dev: depTypes[depPath] === lockfile_detect_dep_types_1.DepType.DevOnly, integrity: pkgSnapshot.resolution.integrity, version: version2 }; if (Object.keys(subdeps).length > 0) { dep.dependencies = subdeps; dep.requires = toRequires(subdeps); } dependencies[name] = dep; } return dependencies; } function toRequires(auditNodesByDepName) { return (0, map_1.default)((auditNode) => auditNode.version, auditNodesByDepName); } } }); // ../lockfile/audit/lib/types.js var require_types6 = __commonJS({ "../lockfile/audit/lib/types.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); } }); // ../lockfile/audit/lib/index.js var require_lib134 = __commonJS({ "../lockfile/audit/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.AuditEndpointNotExistsError = void 0; exports2.audit = audit; var error_1 = require_lib6(); var fetch_1 = require_lib29(); var lockfileToAuditTree_js_1 = require_lockfileToAuditTree(); __exportStar2(require_types6(), exports2); async function audit(lockfile, getAuthHeader, opts) { const auditTree = await (0, lockfileToAuditTree_js_1.lockfileToAuditTree)(lockfile, { include: opts.include, lockfileDir: opts.lockfileDir }); const registry = opts.registry.endsWith("/") ? opts.registry : `${opts.registry}/`; const auditUrl = `${registry}-/npm/v1/security/audits`; const authHeaderValue = getAuthHeader(registry); const res = await (0, fetch_1.fetchWithAgent)(auditUrl, { agentOptions: opts.agentOptions ?? {}, body: JSON.stringify(auditTree), headers: { "Content-Type": "application/json", ...getAuthHeaders(authHeaderValue) }, method: "post", retry: opts.retry, timeout: opts.timeout }); if (res.status === 404) { throw new AuditEndpointNotExistsError(auditUrl); } if (res.status !== 200) { throw new error_1.PnpmError("AUDIT_BAD_RESPONSE", `The audit endpoint (at ${auditUrl}) responded with ${res.status}: ${await res.text()}`); } return res.json(); } function getAuthHeaders(authHeaderValue) { const headers = {}; if (authHeaderValue) { headers["authorization"] = authHeaderValue; } return headers; } var AuditEndpointNotExistsError = class extends error_1.PnpmError { constructor(endpoint) { const message = `The audit endpoint (at ${endpoint}) is doesn't exist.`; super("AUDIT_ENDPOINT_NOT_EXISTS", message, { hint: "This issue is probably because you are using a private npm registry and that endpoint doesn't have an implementation of audit." }); } }; exports2.AuditEndpointNotExistsError = AuditEndpointNotExistsError; } }); // ../node_modules/.pnpm/grapheme-splitter@1.0.4/node_modules/grapheme-splitter/index.js var require_grapheme_splitter = __commonJS({ "../node_modules/.pnpm/grapheme-splitter@1.0.4/node_modules/grapheme-splitter/index.js"(exports2, module2) { function GraphemeSplitter() { var CR = 0, LF = 1, Control = 2, Extend = 3, Regional_Indicator = 4, SpacingMark = 5, L = 6, V = 7, T = 8, LV = 9, LVT = 10, Other = 11, Prepend = 12, E_Base = 13, E_Modifier = 14, ZWJ = 15, Glue_After_Zwj = 16, E_Base_GAZ = 17; var NotBreak = 0, BreakStart = 1, Break = 2, BreakLastRegional = 3, BreakPenultimateRegional = 4; function isSurrogate(str, pos) { return 55296 <= str.charCodeAt(pos) && str.charCodeAt(pos) <= 56319 && 56320 <= str.charCodeAt(pos + 1) && str.charCodeAt(pos + 1) <= 57343; } function codePointAt(str, idx) { if (idx === void 0) { idx = 0; } var code = str.charCodeAt(idx); if (55296 <= code && code <= 56319 && idx < str.length - 1) { var hi = code; var low = str.charCodeAt(idx + 1); if (56320 <= low && low <= 57343) { return (hi - 55296) * 1024 + (low - 56320) + 65536; } return hi; } if (56320 <= code && code <= 57343 && idx >= 1) { var hi = str.charCodeAt(idx - 1); var low = code; if (55296 <= hi && hi <= 56319) { return (hi - 55296) * 1024 + (low - 56320) + 65536; } return low; } return code; } function shouldBreak(start, mid, end) { var all = [start].concat(mid).concat([end]); var previous = all[all.length - 2]; var next = end; var eModifierIndex = all.lastIndexOf(E_Modifier); if (eModifierIndex > 1 && all.slice(1, eModifierIndex).every(function(c) { return c == Extend; }) && [Extend, E_Base, E_Base_GAZ].indexOf(start) == -1) { return Break; } var rIIndex = all.lastIndexOf(Regional_Indicator); if (rIIndex > 0 && all.slice(1, rIIndex).every(function(c) { return c == Regional_Indicator; }) && [Prepend, Regional_Indicator].indexOf(previous) == -1) { if (all.filter(function(c) { return c == Regional_Indicator; }).length % 2 == 1) { return BreakLastRegional; } else { return BreakPenultimateRegional; } } if (previous == CR && next == LF) { return NotBreak; } else if (previous == Control || previous == CR || previous == LF) { if (next == E_Modifier && mid.every(function(c) { return c == Extend; })) { return Break; } else { return BreakStart; } } else if (next == Control || next == CR || next == LF) { return BreakStart; } else if (previous == L && (next == L || next == V || next == LV || next == LVT)) { return NotBreak; } else if ((previous == LV || previous == V) && (next == V || next == T)) { return NotBreak; } else if ((previous == LVT || previous == T) && next == T) { return NotBreak; } else if (next == Extend || next == ZWJ) { return NotBreak; } else if (next == SpacingMark) { return NotBreak; } else if (previous == Prepend) { return NotBreak; } var previousNonExtendIndex = all.indexOf(Extend) != -1 ? all.lastIndexOf(Extend) - 1 : all.length - 2; if ([E_Base, E_Base_GAZ].indexOf(all[previousNonExtendIndex]) != -1 && all.slice(previousNonExtendIndex + 1, -1).every(function(c) { return c == Extend; }) && next == E_Modifier) { return NotBreak; } if (previous == ZWJ && [Glue_After_Zwj, E_Base_GAZ].indexOf(next) != -1) { return NotBreak; } if (mid.indexOf(Regional_Indicator) != -1) { return Break; } if (previous == Regional_Indicator && next == Regional_Indicator) { return NotBreak; } return BreakStart; } this.nextBreak = function(string, index) { if (index === void 0) { index = 0; } if (index < 0) { return 0; } if (index >= string.length - 1) { return string.length; } var prev = getGraphemeBreakProperty(codePointAt(string, index)); var mid = []; for (var i = index + 1; i < string.length; i++) { if (isSurrogate(string, i - 1)) { continue; } var next = getGraphemeBreakProperty(codePointAt(string, i)); if (shouldBreak(prev, mid, next)) { return i; } mid.push(next); } return string.length; }; this.splitGraphemes = function(str) { var res = []; var index = 0; var brk; while ((brk = this.nextBreak(str, index)) < str.length) { res.push(str.slice(index, brk)); index = brk; } if (index < str.length) { res.push(str.slice(index)); } return res; }; this.iterateGraphemes = function(str) { var index = 0; var res = { next: (function() { var value; var brk; if ((brk = this.nextBreak(str, index)) < str.length) { value = str.slice(index, brk); index = brk; return { value, done: false }; } if (index < str.length) { value = str.slice(index); index = str.length; return { value, done: false }; } return { value: void 0, done: true }; }).bind(this) }; if (typeof Symbol !== "undefined" && Symbol.iterator) { res[Symbol.iterator] = function() { return res; }; } return res; }; this.countGraphemes = function(str) { var count = 0; var index = 0; var brk; while ((brk = this.nextBreak(str, index)) < str.length) { index = brk; count++; } if (index < str.length) { count++; } return count; }; function getGraphemeBreakProperty(code) { if (1536 <= code && code <= 1541 || // Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE 1757 == code || // Cf ARABIC END OF AYAH 1807 == code || // Cf SYRIAC ABBREVIATION MARK 2274 == code || // Cf ARABIC DISPUTED END OF AYAH 3406 == code || // Lo MALAYALAM LETTER DOT REPH 69821 == code || // Cf KAITHI NUMBER SIGN 70082 <= code && code <= 70083 || // Lo [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA 72250 == code || // Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA 72326 <= code && code <= 72329 || // Lo [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA 73030 == code) { return Prepend; } if (13 == code) { return CR; } if (10 == code) { return LF; } if (0 <= code && code <= 9 || // Cc [10] .. 11 <= code && code <= 12 || // Cc [2] .. 14 <= code && code <= 31 || // Cc [18] .. 127 <= code && code <= 159 || // Cc [33] .. 173 == code || // Cf SOFT HYPHEN 1564 == code || // Cf ARABIC LETTER MARK 6158 == code || // Cf MONGOLIAN VOWEL SEPARATOR 8203 == code || // Cf ZERO WIDTH SPACE 8206 <= code && code <= 8207 || // Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK 8232 == code || // Zl LINE SEPARATOR 8233 == code || // Zp PARAGRAPH SEPARATOR 8234 <= code && code <= 8238 || // Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE 8288 <= code && code <= 8292 || // Cf [5] WORD JOINER..INVISIBLE PLUS 8293 == code || // Cn 8294 <= code && code <= 8303 || // Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES 55296 <= code && code <= 57343 || // Cs [2048] .. 65279 == code || // Cf ZERO WIDTH NO-BREAK SPACE 65520 <= code && code <= 65528 || // Cn [9] .. 65529 <= code && code <= 65531 || // Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR 113824 <= code && code <= 113827 || // Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP 119155 <= code && code <= 119162 || // Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE 917504 == code || // Cn 917505 == code || // Cf LANGUAGE TAG 917506 <= code && code <= 917535 || // Cn [30] .. 917632 <= code && code <= 917759 || // Cn [128] .. 918e3 <= code && code <= 921599) { return Control; } if (768 <= code && code <= 879 || // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X 1155 <= code && code <= 1159 || // Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE 1160 <= code && code <= 1161 || // Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN 1425 <= code && code <= 1469 || // Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG 1471 == code || // Mn HEBREW POINT RAFE 1473 <= code && code <= 1474 || // Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT 1476 <= code && code <= 1477 || // Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT 1479 == code || // Mn HEBREW POINT QAMATS QATAN 1552 <= code && code <= 1562 || // Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA 1611 <= code && code <= 1631 || // Mn [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW 1648 == code || // Mn ARABIC LETTER SUPERSCRIPT ALEF 1750 <= code && code <= 1756 || // Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN 1759 <= code && code <= 1764 || // Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA 1767 <= code && code <= 1768 || // Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON 1770 <= code && code <= 1773 || // Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM 1809 == code || // Mn SYRIAC LETTER SUPERSCRIPT ALAPH 1840 <= code && code <= 1866 || // Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH 1958 <= code && code <= 1968 || // Mn [11] THAANA ABAFILI..THAANA SUKUN 2027 <= code && code <= 2035 || // Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE 2070 <= code && code <= 2073 || // Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH 2075 <= code && code <= 2083 || // Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A 2085 <= code && code <= 2087 || // Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U 2089 <= code && code <= 2093 || // Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA 2137 <= code && code <= 2139 || // Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK 2260 <= code && code <= 2273 || // Mn [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA 2275 <= code && code <= 2306 || // Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA 2362 == code || // Mn DEVANAGARI VOWEL SIGN OE 2364 == code || // Mn DEVANAGARI SIGN NUKTA 2369 <= code && code <= 2376 || // Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI 2381 == code || // Mn DEVANAGARI SIGN VIRAMA 2385 <= code && code <= 2391 || // Mn [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE 2402 <= code && code <= 2403 || // Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL 2433 == code || // Mn BENGALI SIGN CANDRABINDU 2492 == code || // Mn BENGALI SIGN NUKTA 2494 == code || // Mc BENGALI VOWEL SIGN AA 2497 <= code && code <= 2500 || // Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR 2509 == code || // Mn BENGALI SIGN VIRAMA 2519 == code || // Mc BENGALI AU LENGTH MARK 2530 <= code && code <= 2531 || // Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL 2561 <= code && code <= 2562 || // Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI 2620 == code || // Mn GURMUKHI SIGN NUKTA 2625 <= code && code <= 2626 || // Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU 2631 <= code && code <= 2632 || // Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI 2635 <= code && code <= 2637 || // Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA 2641 == code || // Mn GURMUKHI SIGN UDAAT 2672 <= code && code <= 2673 || // Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK 2677 == code || // Mn GURMUKHI SIGN YAKASH 2689 <= code && code <= 2690 || // Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA 2748 == code || // Mn GUJARATI SIGN NUKTA 2753 <= code && code <= 2757 || // Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E 2759 <= code && code <= 2760 || // Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI 2765 == code || // Mn GUJARATI SIGN VIRAMA 2786 <= code && code <= 2787 || // Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL 2810 <= code && code <= 2815 || // Mn [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE 2817 == code || // Mn ORIYA SIGN CANDRABINDU 2876 == code || // Mn ORIYA SIGN NUKTA 2878 == code || // Mc ORIYA VOWEL SIGN AA 2879 == code || // Mn ORIYA VOWEL SIGN I 2881 <= code && code <= 2884 || // Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR 2893 == code || // Mn ORIYA SIGN VIRAMA 2902 == code || // Mn ORIYA AI LENGTH MARK 2903 == code || // Mc ORIYA AU LENGTH MARK 2914 <= code && code <= 2915 || // Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL 2946 == code || // Mn TAMIL SIGN ANUSVARA 3006 == code || // Mc TAMIL VOWEL SIGN AA 3008 == code || // Mn TAMIL VOWEL SIGN II 3021 == code || // Mn TAMIL SIGN VIRAMA 3031 == code || // Mc TAMIL AU LENGTH MARK 3072 == code || // Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE 3134 <= code && code <= 3136 || // Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II 3142 <= code && code <= 3144 || // Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI 3146 <= code && code <= 3149 || // Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA 3157 <= code && code <= 3158 || // Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK 3170 <= code && code <= 3171 || // Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL 3201 == code || // Mn KANNADA SIGN CANDRABINDU 3260 == code || // Mn KANNADA SIGN NUKTA 3263 == code || // Mn KANNADA VOWEL SIGN I 3266 == code || // Mc KANNADA VOWEL SIGN UU 3270 == code || // Mn KANNADA VOWEL SIGN E 3276 <= code && code <= 3277 || // Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA 3285 <= code && code <= 3286 || // Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK 3298 <= code && code <= 3299 || // Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL 3328 <= code && code <= 3329 || // Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU 3387 <= code && code <= 3388 || // Mn [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA 3390 == code || // Mc MALAYALAM VOWEL SIGN AA 3393 <= code && code <= 3396 || // Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR 3405 == code || // Mn MALAYALAM SIGN VIRAMA 3415 == code || // Mc MALAYALAM AU LENGTH MARK 3426 <= code && code <= 3427 || // Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL 3530 == code || // Mn SINHALA SIGN AL-LAKUNA 3535 == code || // Mc SINHALA VOWEL SIGN AELA-PILLA 3538 <= code && code <= 3540 || // Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA 3542 == code || // Mn SINHALA VOWEL SIGN DIGA PAA-PILLA 3551 == code || // Mc SINHALA VOWEL SIGN GAYANUKITTA 3633 == code || // Mn THAI CHARACTER MAI HAN-AKAT 3636 <= code && code <= 3642 || // Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU 3655 <= code && code <= 3662 || // Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN 3761 == code || // Mn LAO VOWEL SIGN MAI KAN 3764 <= code && code <= 3769 || // Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU 3771 <= code && code <= 3772 || // Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO 3784 <= code && code <= 3789 || // Mn [6] LAO TONE MAI EK..LAO NIGGAHITA 3864 <= code && code <= 3865 || // Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS 3893 == code || // Mn TIBETAN MARK NGAS BZUNG NYI ZLA 3895 == code || // Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS 3897 == code || // Mn TIBETAN MARK TSA -PHRU 3953 <= code && code <= 3966 || // Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO 3968 <= code && code <= 3972 || // Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA 3974 <= code && code <= 3975 || // Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS 3981 <= code && code <= 3991 || // Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA 3993 <= code && code <= 4028 || // Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA 4038 == code || // Mn TIBETAN SYMBOL PADMA GDAN 4141 <= code && code <= 4144 || // Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU 4146 <= code && code <= 4151 || // Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW 4153 <= code && code <= 4154 || // Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT 4157 <= code && code <= 4158 || // Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA 4184 <= code && code <= 4185 || // Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL 4190 <= code && code <= 4192 || // Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA 4209 <= code && code <= 4212 || // Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE 4226 == code || // Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA 4229 <= code && code <= 4230 || // Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y 4237 == code || // Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE 4253 == code || // Mn MYANMAR VOWEL SIGN AITON AI 4957 <= code && code <= 4959 || // Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK 5906 <= code && code <= 5908 || // Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA 5938 <= code && code <= 5940 || // Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD 5970 <= code && code <= 5971 || // Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U 6002 <= code && code <= 6003 || // Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U 6068 <= code && code <= 6069 || // Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA 6071 <= code && code <= 6077 || // Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA 6086 == code || // Mn KHMER SIGN NIKAHIT 6089 <= code && code <= 6099 || // Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT 6109 == code || // Mn KHMER SIGN ATTHACAN 6155 <= code && code <= 6157 || // Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE 6277 <= code && code <= 6278 || // Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA 6313 == code || // Mn MONGOLIAN LETTER ALI GALI DAGALGA 6432 <= code && code <= 6434 || // Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U 6439 <= code && code <= 6440 || // Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O 6450 == code || // Mn LIMBU SMALL LETTER ANUSVARA 6457 <= code && code <= 6459 || // Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I 6679 <= code && code <= 6680 || // Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U 6683 == code || // Mn BUGINESE VOWEL SIGN AE 6742 == code || // Mn TAI THAM CONSONANT SIGN MEDIAL LA 6744 <= code && code <= 6750 || // Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA 6752 == code || // Mn TAI THAM SIGN SAKOT 6754 == code || // Mn TAI THAM VOWEL SIGN MAI SAT 6757 <= code && code <= 6764 || // Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW 6771 <= code && code <= 6780 || // Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN 6783 == code || // Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT 6832 <= code && code <= 6845 || // Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW 6846 == code || // Me COMBINING PARENTHESES OVERLAY 6912 <= code && code <= 6915 || // Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG 6964 == code || // Mn BALINESE SIGN REREKAN 6966 <= code && code <= 6970 || // Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA 6972 == code || // Mn BALINESE VOWEL SIGN LA LENGA 6978 == code || // Mn BALINESE VOWEL SIGN PEPET 7019 <= code && code <= 7027 || // Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG 7040 <= code && code <= 7041 || // Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR 7074 <= code && code <= 7077 || // Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU 7080 <= code && code <= 7081 || // Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG 7083 <= code && code <= 7085 || // Mn [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA 7142 == code || // Mn BATAK SIGN TOMPI 7144 <= code && code <= 7145 || // Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE 7149 == code || // Mn BATAK VOWEL SIGN KARO O 7151 <= code && code <= 7153 || // Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H 7212 <= code && code <= 7219 || // Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T 7222 <= code && code <= 7223 || // Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA 7376 <= code && code <= 7378 || // Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA 7380 <= code && code <= 7392 || // Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA 7394 <= code && code <= 7400 || // Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL 7405 == code || // Mn VEDIC SIGN TIRYAK 7412 == code || // Mn VEDIC TONE CANDRA ABOVE 7416 <= code && code <= 7417 || // Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE 7616 <= code && code <= 7673 || // Mn [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW 7675 <= code && code <= 7679 || // Mn [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW 8204 == code || // Cf ZERO WIDTH NON-JOINER 8400 <= code && code <= 8412 || // Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE 8413 <= code && code <= 8416 || // Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH 8417 == code || // Mn COMBINING LEFT RIGHT ARROW ABOVE 8418 <= code && code <= 8420 || // Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE 8421 <= code && code <= 8432 || // Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE 11503 <= code && code <= 11505 || // Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS 11647 == code || // Mn TIFINAGH CONSONANT JOINER 11744 <= code && code <= 11775 || // Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS 12330 <= code && code <= 12333 || // Mn [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK 12334 <= code && code <= 12335 || // Mc [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK 12441 <= code && code <= 12442 || // Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK 42607 == code || // Mn COMBINING CYRILLIC VZMET 42608 <= code && code <= 42610 || // Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN 42612 <= code && code <= 42621 || // Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK 42654 <= code && code <= 42655 || // Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E 42736 <= code && code <= 42737 || // Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS 43010 == code || // Mn SYLOTI NAGRI SIGN DVISVARA 43014 == code || // Mn SYLOTI NAGRI SIGN HASANTA 43019 == code || // Mn SYLOTI NAGRI SIGN ANUSVARA 43045 <= code && code <= 43046 || // Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E 43204 <= code && code <= 43205 || // Mn [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU 43232 <= code && code <= 43249 || // Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA 43302 <= code && code <= 43309 || // Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU 43335 <= code && code <= 43345 || // Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R 43392 <= code && code <= 43394 || // Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR 43443 == code || // Mn JAVANESE SIGN CECAK TELU 43446 <= code && code <= 43449 || // Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT 43452 == code || // Mn JAVANESE VOWEL SIGN PEPET 43493 == code || // Mn MYANMAR SIGN SHAN SAW 43561 <= code && code <= 43566 || // Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE 43569 <= code && code <= 43570 || // Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE 43573 <= code && code <= 43574 || // Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA 43587 == code || // Mn CHAM CONSONANT SIGN FINAL NG 43596 == code || // Mn CHAM CONSONANT SIGN FINAL M 43644 == code || // Mn MYANMAR SIGN TAI LAING TONE-2 43696 == code || // Mn TAI VIET MAI KANG 43698 <= code && code <= 43700 || // Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U 43703 <= code && code <= 43704 || // Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA 43710 <= code && code <= 43711 || // Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK 43713 == code || // Mn TAI VIET TONE MAI THO 43756 <= code && code <= 43757 || // Mn [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI 43766 == code || // Mn MEETEI MAYEK VIRAMA 44005 == code || // Mn MEETEI MAYEK VOWEL SIGN ANAP 44008 == code || // Mn MEETEI MAYEK VOWEL SIGN UNAP 44013 == code || // Mn MEETEI MAYEK APUN IYEK 64286 == code || // Mn HEBREW POINT JUDEO-SPANISH VARIKA 65024 <= code && code <= 65039 || // Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 65056 <= code && code <= 65071 || // Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF 65438 <= code && code <= 65439 || // Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK 66045 == code || // Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE 66272 == code || // Mn COPTIC EPACT THOUSANDS MARK 66422 <= code && code <= 66426 || // Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII 68097 <= code && code <= 68099 || // Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R 68101 <= code && code <= 68102 || // Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O 68108 <= code && code <= 68111 || // Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA 68152 <= code && code <= 68154 || // Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW 68159 == code || // Mn KHAROSHTHI VIRAMA 68325 <= code && code <= 68326 || // Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW 69633 == code || // Mn BRAHMI SIGN ANUSVARA 69688 <= code && code <= 69702 || // Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA 69759 <= code && code <= 69761 || // Mn [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA 69811 <= code && code <= 69814 || // Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI 69817 <= code && code <= 69818 || // Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA 69888 <= code && code <= 69890 || // Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA 69927 <= code && code <= 69931 || // Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU 69933 <= code && code <= 69940 || // Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA 70003 == code || // Mn MAHAJANI SIGN NUKTA 70016 <= code && code <= 70017 || // Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA 70070 <= code && code <= 70078 || // Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O 70090 <= code && code <= 70092 || // Mn [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK 70191 <= code && code <= 70193 || // Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI 70196 == code || // Mn KHOJKI SIGN ANUSVARA 70198 <= code && code <= 70199 || // Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA 70206 == code || // Mn KHOJKI SIGN SUKUN 70367 == code || // Mn KHUDAWADI SIGN ANUSVARA 70371 <= code && code <= 70378 || // Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA 70400 <= code && code <= 70401 || // Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU 70460 == code || // Mn GRANTHA SIGN NUKTA 70462 == code || // Mc GRANTHA VOWEL SIGN AA 70464 == code || // Mn GRANTHA VOWEL SIGN II 70487 == code || // Mc GRANTHA AU LENGTH MARK 70502 <= code && code <= 70508 || // Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX 70512 <= code && code <= 70516 || // Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA 70712 <= code && code <= 70719 || // Mn [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI 70722 <= code && code <= 70724 || // Mn [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA 70726 == code || // Mn NEWA SIGN NUKTA 70832 == code || // Mc TIRHUTA VOWEL SIGN AA 70835 <= code && code <= 70840 || // Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL 70842 == code || // Mn TIRHUTA VOWEL SIGN SHORT E 70845 == code || // Mc TIRHUTA VOWEL SIGN SHORT O 70847 <= code && code <= 70848 || // Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA 70850 <= code && code <= 70851 || // Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA 71087 == code || // Mc SIDDHAM VOWEL SIGN AA 71090 <= code && code <= 71093 || // Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR 71100 <= code && code <= 71101 || // Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA 71103 <= code && code <= 71104 || // Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA 71132 <= code && code <= 71133 || // Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU 71219 <= code && code <= 71226 || // Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI 71229 == code || // Mn MODI SIGN ANUSVARA 71231 <= code && code <= 71232 || // Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA 71339 == code || // Mn TAKRI SIGN ANUSVARA 71341 == code || // Mn TAKRI VOWEL SIGN AA 71344 <= code && code <= 71349 || // Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU 71351 == code || // Mn TAKRI SIGN NUKTA 71453 <= code && code <= 71455 || // Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA 71458 <= code && code <= 71461 || // Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU 71463 <= code && code <= 71467 || // Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER 72193 <= code && code <= 72198 || // Mn [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O 72201 <= code && code <= 72202 || // Mn [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK 72243 <= code && code <= 72248 || // Mn [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA 72251 <= code && code <= 72254 || // Mn [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA 72263 == code || // Mn ZANABAZAR SQUARE SUBJOINER 72273 <= code && code <= 72278 || // Mn [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE 72281 <= code && code <= 72283 || // Mn [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK 72330 <= code && code <= 72342 || // Mn [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA 72344 <= code && code <= 72345 || // Mn [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER 72752 <= code && code <= 72758 || // Mn [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L 72760 <= code && code <= 72765 || // Mn [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA 72767 == code || // Mn BHAIKSUKI SIGN VIRAMA 72850 <= code && code <= 72871 || // Mn [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA 72874 <= code && code <= 72880 || // Mn [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA 72882 <= code && code <= 72883 || // Mn [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E 72885 <= code && code <= 72886 || // Mn [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU 73009 <= code && code <= 73014 || // Mn [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R 73018 == code || // Mn MASARAM GONDI VOWEL SIGN E 73020 <= code && code <= 73021 || // Mn [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O 73023 <= code && code <= 73029 || // Mn [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA 73031 == code || // Mn MASARAM GONDI RA-KARA 92912 <= code && code <= 92916 || // Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE 92976 <= code && code <= 92982 || // Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM 94095 <= code && code <= 94098 || // Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW 113821 <= code && code <= 113822 || // Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK 119141 == code || // Mc MUSICAL SYMBOL COMBINING STEM 119143 <= code && code <= 119145 || // Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3 119150 <= code && code <= 119154 || // Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5 119163 <= code && code <= 119170 || // Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE 119173 <= code && code <= 119179 || // Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE 119210 <= code && code <= 119213 || // Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO 119362 <= code && code <= 119364 || // Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME 121344 <= code && code <= 121398 || // Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN 121403 <= code && code <= 121452 || // Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT 121461 == code || // Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS 121476 == code || // Mn SIGNWRITING LOCATION HEAD NECK 121499 <= code && code <= 121503 || // Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 121505 <= code && code <= 121519 || // Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 122880 <= code && code <= 122886 || // Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE 122888 <= code && code <= 122904 || // Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU 122907 <= code && code <= 122913 || // Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI 122915 <= code && code <= 122916 || // Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS 122918 <= code && code <= 122922 || // Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA 125136 <= code && code <= 125142 || // Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS 125252 <= code && code <= 125258 || // Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA 917536 <= code && code <= 917631 || // Cf [96] TAG SPACE..CANCEL TAG 917760 <= code && code <= 917999) { return Extend; } if (127462 <= code && code <= 127487) { return Regional_Indicator; } if (2307 == code || // Mc DEVANAGARI SIGN VISARGA 2363 == code || // Mc DEVANAGARI VOWEL SIGN OOE 2366 <= code && code <= 2368 || // Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II 2377 <= code && code <= 2380 || // Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU 2382 <= code && code <= 2383 || // Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW 2434 <= code && code <= 2435 || // Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA 2495 <= code && code <= 2496 || // Mc [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II 2503 <= code && code <= 2504 || // Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI 2507 <= code && code <= 2508 || // Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU 2563 == code || // Mc GURMUKHI SIGN VISARGA 2622 <= code && code <= 2624 || // Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II 2691 == code || // Mc GUJARATI SIGN VISARGA 2750 <= code && code <= 2752 || // Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II 2761 == code || // Mc GUJARATI VOWEL SIGN CANDRA O 2763 <= code && code <= 2764 || // Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU 2818 <= code && code <= 2819 || // Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA 2880 == code || // Mc ORIYA VOWEL SIGN II 2887 <= code && code <= 2888 || // Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI 2891 <= code && code <= 2892 || // Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU 3007 == code || // Mc TAMIL VOWEL SIGN I 3009 <= code && code <= 3010 || // Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU 3014 <= code && code <= 3016 || // Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI 3018 <= code && code <= 3020 || // Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU 3073 <= code && code <= 3075 || // Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA 3137 <= code && code <= 3140 || // Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR 3202 <= code && code <= 3203 || // Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA 3262 == code || // Mc KANNADA VOWEL SIGN AA 3264 <= code && code <= 3265 || // Mc [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U 3267 <= code && code <= 3268 || // Mc [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR 3271 <= code && code <= 3272 || // Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI 3274 <= code && code <= 3275 || // Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO 3330 <= code && code <= 3331 || // Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA 3391 <= code && code <= 3392 || // Mc [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II 3398 <= code && code <= 3400 || // Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI 3402 <= code && code <= 3404 || // Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU 3458 <= code && code <= 3459 || // Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA 3536 <= code && code <= 3537 || // Mc [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA 3544 <= code && code <= 3550 || // Mc [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA 3570 <= code && code <= 3571 || // Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA 3635 == code || // Lo THAI CHARACTER SARA AM 3763 == code || // Lo LAO VOWEL SIGN AM 3902 <= code && code <= 3903 || // Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES 3967 == code || // Mc TIBETAN SIGN RNAM BCAD 4145 == code || // Mc MYANMAR VOWEL SIGN E 4155 <= code && code <= 4156 || // Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA 4182 <= code && code <= 4183 || // Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR 4228 == code || // Mc MYANMAR VOWEL SIGN SHAN E 6070 == code || // Mc KHMER VOWEL SIGN AA 6078 <= code && code <= 6085 || // Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU 6087 <= code && code <= 6088 || // Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU 6435 <= code && code <= 6438 || // Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU 6441 <= code && code <= 6443 || // Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA 6448 <= code && code <= 6449 || // Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA 6451 <= code && code <= 6456 || // Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA 6681 <= code && code <= 6682 || // Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O 6741 == code || // Mc TAI THAM CONSONANT SIGN MEDIAL RA 6743 == code || // Mc TAI THAM CONSONANT SIGN LA TANG LAI 6765 <= code && code <= 6770 || // Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI 6916 == code || // Mc BALINESE SIGN BISAH 6965 == code || // Mc BALINESE VOWEL SIGN TEDUNG 6971 == code || // Mc BALINESE VOWEL SIGN RA REPA TEDUNG 6973 <= code && code <= 6977 || // Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG 6979 <= code && code <= 6980 || // Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG 7042 == code || // Mc SUNDANESE SIGN PANGWISAD 7073 == code || // Mc SUNDANESE CONSONANT SIGN PAMINGKAL 7078 <= code && code <= 7079 || // Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG 7082 == code || // Mc SUNDANESE SIGN PAMAAEH 7143 == code || // Mc BATAK VOWEL SIGN E 7146 <= code && code <= 7148 || // Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O 7150 == code || // Mc BATAK VOWEL SIGN U 7154 <= code && code <= 7155 || // Mc [2] BATAK PANGOLAT..BATAK PANONGONAN 7204 <= code && code <= 7211 || // Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU 7220 <= code && code <= 7221 || // Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG 7393 == code || // Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA 7410 <= code && code <= 7411 || // Mc [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA 7415 == code || // Mc VEDIC SIGN ATIKRAMA 43043 <= code && code <= 43044 || // Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I 43047 == code || // Mc SYLOTI NAGRI VOWEL SIGN OO 43136 <= code && code <= 43137 || // Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA 43188 <= code && code <= 43203 || // Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU 43346 <= code && code <= 43347 || // Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA 43395 == code || // Mc JAVANESE SIGN WIGNYAN 43444 <= code && code <= 43445 || // Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG 43450 <= code && code <= 43451 || // Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE 43453 <= code && code <= 43456 || // Mc [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON 43567 <= code && code <= 43568 || // Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI 43571 <= code && code <= 43572 || // Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA 43597 == code || // Mc CHAM CONSONANT SIGN FINAL H 43755 == code || // Mc MEETEI MAYEK VOWEL SIGN II 43758 <= code && code <= 43759 || // Mc [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU 43765 == code || // Mc MEETEI MAYEK VOWEL SIGN VISARGA 44003 <= code && code <= 44004 || // Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP 44006 <= code && code <= 44007 || // Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP 44009 <= code && code <= 44010 || // Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG 44012 == code || // Mc MEETEI MAYEK LUM IYEK 69632 == code || // Mc BRAHMI SIGN CANDRABINDU 69634 == code || // Mc BRAHMI SIGN VISARGA 69762 == code || // Mc KAITHI SIGN VISARGA 69808 <= code && code <= 69810 || // Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II 69815 <= code && code <= 69816 || // Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU 69932 == code || // Mc CHAKMA VOWEL SIGN E 70018 == code || // Mc SHARADA SIGN VISARGA 70067 <= code && code <= 70069 || // Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II 70079 <= code && code <= 70080 || // Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA 70188 <= code && code <= 70190 || // Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II 70194 <= code && code <= 70195 || // Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU 70197 == code || // Mc KHOJKI SIGN VIRAMA 70368 <= code && code <= 70370 || // Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II 70402 <= code && code <= 70403 || // Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA 70463 == code || // Mc GRANTHA VOWEL SIGN I 70465 <= code && code <= 70468 || // Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR 70471 <= code && code <= 70472 || // Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI 70475 <= code && code <= 70477 || // Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA 70498 <= code && code <= 70499 || // Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL 70709 <= code && code <= 70711 || // Mc [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II 70720 <= code && code <= 70721 || // Mc [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU 70725 == code || // Mc NEWA SIGN VISARGA 70833 <= code && code <= 70834 || // Mc [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II 70841 == code || // Mc TIRHUTA VOWEL SIGN E 70843 <= code && code <= 70844 || // Mc [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O 70846 == code || // Mc TIRHUTA VOWEL SIGN AU 70849 == code || // Mc TIRHUTA SIGN VISARGA 71088 <= code && code <= 71089 || // Mc [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II 71096 <= code && code <= 71099 || // Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU 71102 == code || // Mc SIDDHAM SIGN VISARGA 71216 <= code && code <= 71218 || // Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II 71227 <= code && code <= 71228 || // Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU 71230 == code || // Mc MODI SIGN VISARGA 71340 == code || // Mc TAKRI SIGN VISARGA 71342 <= code && code <= 71343 || // Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II 71350 == code || // Mc TAKRI SIGN VIRAMA 71456 <= code && code <= 71457 || // Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA 71462 == code || // Mc AHOM VOWEL SIGN E 72199 <= code && code <= 72200 || // Mc [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU 72249 == code || // Mc ZANABAZAR SQUARE SIGN VISARGA 72279 <= code && code <= 72280 || // Mc [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU 72343 == code || // Mc SOYOMBO SIGN VISARGA 72751 == code || // Mc BHAIKSUKI VOWEL SIGN AA 72766 == code || // Mc BHAIKSUKI SIGN VISARGA 72873 == code || // Mc MARCHEN SUBJOINED LETTER YA 72881 == code || // Mc MARCHEN VOWEL SIGN I 72884 == code || // Mc MARCHEN VOWEL SIGN O 94033 <= code && code <= 94078 || // Mc [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG 119142 == code || // Mc MUSICAL SYMBOL COMBINING SPRECHGESANG STEM 119149 == code) { return SpacingMark; } if (4352 <= code && code <= 4447 || // Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER 43360 <= code && code <= 43388) { return L; } if (4448 <= code && code <= 4519 || // Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE 55216 <= code && code <= 55238) { return V; } if (4520 <= code && code <= 4607 || // Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN 55243 <= code && code <= 55291) { return T; } if (44032 == code || // Lo HANGUL SYLLABLE GA 44060 == code || // Lo HANGUL SYLLABLE GAE 44088 == code || // Lo HANGUL SYLLABLE GYA 44116 == code || // Lo HANGUL SYLLABLE GYAE 44144 == code || // Lo HANGUL SYLLABLE GEO 44172 == code || // Lo HANGUL SYLLABLE GE 44200 == code || // Lo HANGUL SYLLABLE GYEO 44228 == code || // Lo HANGUL SYLLABLE GYE 44256 == code || // Lo HANGUL SYLLABLE GO 44284 == code || // Lo HANGUL SYLLABLE GWA 44312 == code || // Lo HANGUL SYLLABLE GWAE 44340 == code || // Lo HANGUL SYLLABLE GOE 44368 == code || // Lo HANGUL SYLLABLE GYO 44396 == code || // Lo HANGUL SYLLABLE GU 44424 == code || // Lo HANGUL SYLLABLE GWEO 44452 == code || // Lo HANGUL SYLLABLE GWE 44480 == code || // Lo HANGUL SYLLABLE GWI 44508 == code || // Lo HANGUL SYLLABLE GYU 44536 == code || // Lo HANGUL SYLLABLE GEU 44564 == code || // Lo HANGUL SYLLABLE GYI 44592 == code || // Lo HANGUL SYLLABLE GI 44620 == code || // Lo HANGUL SYLLABLE GGA 44648 == code || // Lo HANGUL SYLLABLE GGAE 44676 == code || // Lo HANGUL SYLLABLE GGYA 44704 == code || // Lo HANGUL SYLLABLE GGYAE 44732 == code || // Lo HANGUL SYLLABLE GGEO 44760 == code || // Lo HANGUL SYLLABLE GGE 44788 == code || // Lo HANGUL SYLLABLE GGYEO 44816 == code || // Lo HANGUL SYLLABLE GGYE 44844 == code || // Lo HANGUL SYLLABLE GGO 44872 == code || // Lo HANGUL SYLLABLE GGWA 44900 == code || // Lo HANGUL SYLLABLE GGWAE 44928 == code || // Lo HANGUL SYLLABLE GGOE 44956 == code || // Lo HANGUL SYLLABLE GGYO 44984 == code || // Lo HANGUL SYLLABLE GGU 45012 == code || // Lo HANGUL SYLLABLE GGWEO 45040 == code || // Lo HANGUL SYLLABLE GGWE 45068 == code || // Lo HANGUL SYLLABLE GGWI 45096 == code || // Lo HANGUL SYLLABLE GGYU 45124 == code || // Lo HANGUL SYLLABLE GGEU 45152 == code || // Lo HANGUL SYLLABLE GGYI 45180 == code || // Lo HANGUL SYLLABLE GGI 45208 == code || // Lo HANGUL SYLLABLE NA 45236 == code || // Lo HANGUL SYLLABLE NAE 45264 == code || // Lo HANGUL SYLLABLE NYA 45292 == code || // Lo HANGUL SYLLABLE NYAE 45320 == code || // Lo HANGUL SYLLABLE NEO 45348 == code || // Lo HANGUL SYLLABLE NE 45376 == code || // Lo HANGUL SYLLABLE NYEO 45404 == code || // Lo HANGUL SYLLABLE NYE 45432 == code || // Lo HANGUL SYLLABLE NO 45460 == code || // Lo HANGUL SYLLABLE NWA 45488 == code || // Lo HANGUL SYLLABLE NWAE 45516 == code || // Lo HANGUL SYLLABLE NOE 45544 == code || // Lo HANGUL SYLLABLE NYO 45572 == code || // Lo HANGUL SYLLABLE NU 45600 == code || // Lo HANGUL SYLLABLE NWEO 45628 == code || // Lo HANGUL SYLLABLE NWE 45656 == code || // Lo HANGUL SYLLABLE NWI 45684 == code || // Lo HANGUL SYLLABLE NYU 45712 == code || // Lo HANGUL SYLLABLE NEU 45740 == code || // Lo HANGUL SYLLABLE NYI 45768 == code || // Lo HANGUL SYLLABLE NI 45796 == code || // Lo HANGUL SYLLABLE DA 45824 == code || // Lo HANGUL SYLLABLE DAE 45852 == code || // Lo HANGUL SYLLABLE DYA 45880 == code || // Lo HANGUL SYLLABLE DYAE 45908 == code || // Lo HANGUL SYLLABLE DEO 45936 == code || // Lo HANGUL SYLLABLE DE 45964 == code || // Lo HANGUL SYLLABLE DYEO 45992 == code || // Lo HANGUL SYLLABLE DYE 46020 == code || // Lo HANGUL SYLLABLE DO 46048 == code || // Lo HANGUL SYLLABLE DWA 46076 == code || // Lo HANGUL SYLLABLE DWAE 46104 == code || // Lo HANGUL SYLLABLE DOE 46132 == code || // Lo HANGUL SYLLABLE DYO 46160 == code || // Lo HANGUL SYLLABLE DU 46188 == code || // Lo HANGUL SYLLABLE DWEO 46216 == code || // Lo HANGUL SYLLABLE DWE 46244 == code || // Lo HANGUL SYLLABLE DWI 46272 == code || // Lo HANGUL SYLLABLE DYU 46300 == code || // Lo HANGUL SYLLABLE DEU 46328 == code || // Lo HANGUL SYLLABLE DYI 46356 == code || // Lo HANGUL SYLLABLE DI 46384 == code || // Lo HANGUL SYLLABLE DDA 46412 == code || // Lo HANGUL SYLLABLE DDAE 46440 == code || // Lo HANGUL SYLLABLE DDYA 46468 == code || // Lo HANGUL SYLLABLE DDYAE 46496 == code || // Lo HANGUL SYLLABLE DDEO 46524 == code || // Lo HANGUL SYLLABLE DDE 46552 == code || // Lo HANGUL SYLLABLE DDYEO 46580 == code || // Lo HANGUL SYLLABLE DDYE 46608 == code || // Lo HANGUL SYLLABLE DDO 46636 == code || // Lo HANGUL SYLLABLE DDWA 46664 == code || // Lo HANGUL SYLLABLE DDWAE 46692 == code || // Lo HANGUL SYLLABLE DDOE 46720 == code || // Lo HANGUL SYLLABLE DDYO 46748 == code || // Lo HANGUL SYLLABLE DDU 46776 == code || // Lo HANGUL SYLLABLE DDWEO 46804 == code || // Lo HANGUL SYLLABLE DDWE 46832 == code || // Lo HANGUL SYLLABLE DDWI 46860 == code || // Lo HANGUL SYLLABLE DDYU 46888 == code || // Lo HANGUL SYLLABLE DDEU 46916 == code || // Lo HANGUL SYLLABLE DDYI 46944 == code || // Lo HANGUL SYLLABLE DDI 46972 == code || // Lo HANGUL SYLLABLE RA 47e3 == code || // Lo HANGUL SYLLABLE RAE 47028 == code || // Lo HANGUL SYLLABLE RYA 47056 == code || // Lo HANGUL SYLLABLE RYAE 47084 == code || // Lo HANGUL SYLLABLE REO 47112 == code || // Lo HANGUL SYLLABLE RE 47140 == code || // Lo HANGUL SYLLABLE RYEO 47168 == code || // Lo HANGUL SYLLABLE RYE 47196 == code || // Lo HANGUL SYLLABLE RO 47224 == code || // Lo HANGUL SYLLABLE RWA 47252 == code || // Lo HANGUL SYLLABLE RWAE 47280 == code || // Lo HANGUL SYLLABLE ROE 47308 == code || // Lo HANGUL SYLLABLE RYO 47336 == code || // Lo HANGUL SYLLABLE RU 47364 == code || // Lo HANGUL SYLLABLE RWEO 47392 == code || // Lo HANGUL SYLLABLE RWE 47420 == code || // Lo HANGUL SYLLABLE RWI 47448 == code || // Lo HANGUL SYLLABLE RYU 47476 == code || // Lo HANGUL SYLLABLE REU 47504 == code || // Lo HANGUL SYLLABLE RYI 47532 == code || // Lo HANGUL SYLLABLE RI 47560 == code || // Lo HANGUL SYLLABLE MA 47588 == code || // Lo HANGUL SYLLABLE MAE 47616 == code || // Lo HANGUL SYLLABLE MYA 47644 == code || // Lo HANGUL SYLLABLE MYAE 47672 == code || // Lo HANGUL SYLLABLE MEO 47700 == code || // Lo HANGUL SYLLABLE ME 47728 == code || // Lo HANGUL SYLLABLE MYEO 47756 == code || // Lo HANGUL SYLLABLE MYE 47784 == code || // Lo HANGUL SYLLABLE MO 47812 == code || // Lo HANGUL SYLLABLE MWA 47840 == code || // Lo HANGUL SYLLABLE MWAE 47868 == code || // Lo HANGUL SYLLABLE MOE 47896 == code || // Lo HANGUL SYLLABLE MYO 47924 == code || // Lo HANGUL SYLLABLE MU 47952 == code || // Lo HANGUL SYLLABLE MWEO 47980 == code || // Lo HANGUL SYLLABLE MWE 48008 == code || // Lo HANGUL SYLLABLE MWI 48036 == code || // Lo HANGUL SYLLABLE MYU 48064 == code || // Lo HANGUL SYLLABLE MEU 48092 == code || // Lo HANGUL SYLLABLE MYI 48120 == code || // Lo HANGUL SYLLABLE MI 48148 == code || // Lo HANGUL SYLLABLE BA 48176 == code || // Lo HANGUL SYLLABLE BAE 48204 == code || // Lo HANGUL SYLLABLE BYA 48232 == code || // Lo HANGUL SYLLABLE BYAE 48260 == code || // Lo HANGUL SYLLABLE BEO 48288 == code || // Lo HANGUL SYLLABLE BE 48316 == code || // Lo HANGUL SYLLABLE BYEO 48344 == code || // Lo HANGUL SYLLABLE BYE 48372 == code || // Lo HANGUL SYLLABLE BO 48400 == code || // Lo HANGUL SYLLABLE BWA 48428 == code || // Lo HANGUL SYLLABLE BWAE 48456 == code || // Lo HANGUL SYLLABLE BOE 48484 == code || // Lo HANGUL SYLLABLE BYO 48512 == code || // Lo HANGUL SYLLABLE BU 48540 == code || // Lo HANGUL SYLLABLE BWEO 48568 == code || // Lo HANGUL SYLLABLE BWE 48596 == code || // Lo HANGUL SYLLABLE BWI 48624 == code || // Lo HANGUL SYLLABLE BYU 48652 == code || // Lo HANGUL SYLLABLE BEU 48680 == code || // Lo HANGUL SYLLABLE BYI 48708 == code || // Lo HANGUL SYLLABLE BI 48736 == code || // Lo HANGUL SYLLABLE BBA 48764 == code || // Lo HANGUL SYLLABLE BBAE 48792 == code || // Lo HANGUL SYLLABLE BBYA 48820 == code || // Lo HANGUL SYLLABLE BBYAE 48848 == code || // Lo HANGUL SYLLABLE BBEO 48876 == code || // Lo HANGUL SYLLABLE BBE 48904 == code || // Lo HANGUL SYLLABLE BBYEO 48932 == code || // Lo HANGUL SYLLABLE BBYE 48960 == code || // Lo HANGUL SYLLABLE BBO 48988 == code || // Lo HANGUL SYLLABLE BBWA 49016 == code || // Lo HANGUL SYLLABLE BBWAE 49044 == code || // Lo HANGUL SYLLABLE BBOE 49072 == code || // Lo HANGUL SYLLABLE BBYO 49100 == code || // Lo HANGUL SYLLABLE BBU 49128 == code || // Lo HANGUL SYLLABLE BBWEO 49156 == code || // Lo HANGUL SYLLABLE BBWE 49184 == code || // Lo HANGUL SYLLABLE BBWI 49212 == code || // Lo HANGUL SYLLABLE BBYU 49240 == code || // Lo HANGUL SYLLABLE BBEU 49268 == code || // Lo HANGUL SYLLABLE BBYI 49296 == code || // Lo HANGUL SYLLABLE BBI 49324 == code || // Lo HANGUL SYLLABLE SA 49352 == code || // Lo HANGUL SYLLABLE SAE 49380 == code || // Lo HANGUL SYLLABLE SYA 49408 == code || // Lo HANGUL SYLLABLE SYAE 49436 == code || // Lo HANGUL SYLLABLE SEO 49464 == code || // Lo HANGUL SYLLABLE SE 49492 == code || // Lo HANGUL SYLLABLE SYEO 49520 == code || // Lo HANGUL SYLLABLE SYE 49548 == code || // Lo HANGUL SYLLABLE SO 49576 == code || // Lo HANGUL SYLLABLE SWA 49604 == code || // Lo HANGUL SYLLABLE SWAE 49632 == code || // Lo HANGUL SYLLABLE SOE 49660 == code || // Lo HANGUL SYLLABLE SYO 49688 == code || // Lo HANGUL SYLLABLE SU 49716 == code || // Lo HANGUL SYLLABLE SWEO 49744 == code || // Lo HANGUL SYLLABLE SWE 49772 == code || // Lo HANGUL SYLLABLE SWI 49800 == code || // Lo HANGUL SYLLABLE SYU 49828 == code || // Lo HANGUL SYLLABLE SEU 49856 == code || // Lo HANGUL SYLLABLE SYI 49884 == code || // Lo HANGUL SYLLABLE SI 49912 == code || // Lo HANGUL SYLLABLE SSA 49940 == code || // Lo HANGUL SYLLABLE SSAE 49968 == code || // Lo HANGUL SYLLABLE SSYA 49996 == code || // Lo HANGUL SYLLABLE SSYAE 50024 == code || // Lo HANGUL SYLLABLE SSEO 50052 == code || // Lo HANGUL SYLLABLE SSE 50080 == code || // Lo HANGUL SYLLABLE SSYEO 50108 == code || // Lo HANGUL SYLLABLE SSYE 50136 == code || // Lo HANGUL SYLLABLE SSO 50164 == code || // Lo HANGUL SYLLABLE SSWA 50192 == code || // Lo HANGUL SYLLABLE SSWAE 50220 == code || // Lo HANGUL SYLLABLE SSOE 50248 == code || // Lo HANGUL SYLLABLE SSYO 50276 == code || // Lo HANGUL SYLLABLE SSU 50304 == code || // Lo HANGUL SYLLABLE SSWEO 50332 == code || // Lo HANGUL SYLLABLE SSWE 50360 == code || // Lo HANGUL SYLLABLE SSWI 50388 == code || // Lo HANGUL SYLLABLE SSYU 50416 == code || // Lo HANGUL SYLLABLE SSEU 50444 == code || // Lo HANGUL SYLLABLE SSYI 50472 == code || // Lo HANGUL SYLLABLE SSI 50500 == code || // Lo HANGUL SYLLABLE A 50528 == code || // Lo HANGUL SYLLABLE AE 50556 == code || // Lo HANGUL SYLLABLE YA 50584 == code || // Lo HANGUL SYLLABLE YAE 50612 == code || // Lo HANGUL SYLLABLE EO 50640 == code || // Lo HANGUL SYLLABLE E 50668 == code || // Lo HANGUL SYLLABLE YEO 50696 == code || // Lo HANGUL SYLLABLE YE 50724 == code || // Lo HANGUL SYLLABLE O 50752 == code || // Lo HANGUL SYLLABLE WA 50780 == code || // Lo HANGUL SYLLABLE WAE 50808 == code || // Lo HANGUL SYLLABLE OE 50836 == code || // Lo HANGUL SYLLABLE YO 50864 == code || // Lo HANGUL SYLLABLE U 50892 == code || // Lo HANGUL SYLLABLE WEO 50920 == code || // Lo HANGUL SYLLABLE WE 50948 == code || // Lo HANGUL SYLLABLE WI 50976 == code || // Lo HANGUL SYLLABLE YU 51004 == code || // Lo HANGUL SYLLABLE EU 51032 == code || // Lo HANGUL SYLLABLE YI 51060 == code || // Lo HANGUL SYLLABLE I 51088 == code || // Lo HANGUL SYLLABLE JA 51116 == code || // Lo HANGUL SYLLABLE JAE 51144 == code || // Lo HANGUL SYLLABLE JYA 51172 == code || // Lo HANGUL SYLLABLE JYAE 51200 == code || // Lo HANGUL SYLLABLE JEO 51228 == code || // Lo HANGUL SYLLABLE JE 51256 == code || // Lo HANGUL SYLLABLE JYEO 51284 == code || // Lo HANGUL SYLLABLE JYE 51312 == code || // Lo HANGUL SYLLABLE JO 51340 == code || // Lo HANGUL SYLLABLE JWA 51368 == code || // Lo HANGUL SYLLABLE JWAE 51396 == code || // Lo HANGUL SYLLABLE JOE 51424 == code || // Lo HANGUL SYLLABLE JYO 51452 == code || // Lo HANGUL SYLLABLE JU 51480 == code || // Lo HANGUL SYLLABLE JWEO 51508 == code || // Lo HANGUL SYLLABLE JWE 51536 == code || // Lo HANGUL SYLLABLE JWI 51564 == code || // Lo HANGUL SYLLABLE JYU 51592 == code || // Lo HANGUL SYLLABLE JEU 51620 == code || // Lo HANGUL SYLLABLE JYI 51648 == code || // Lo HANGUL SYLLABLE JI 51676 == code || // Lo HANGUL SYLLABLE JJA 51704 == code || // Lo HANGUL SYLLABLE JJAE 51732 == code || // Lo HANGUL SYLLABLE JJYA 51760 == code || // Lo HANGUL SYLLABLE JJYAE 51788 == code || // Lo HANGUL SYLLABLE JJEO 51816 == code || // Lo HANGUL SYLLABLE JJE 51844 == code || // Lo HANGUL SYLLABLE JJYEO 51872 == code || // Lo HANGUL SYLLABLE JJYE 51900 == code || // Lo HANGUL SYLLABLE JJO 51928 == code || // Lo HANGUL SYLLABLE JJWA 51956 == code || // Lo HANGUL SYLLABLE JJWAE 51984 == code || // Lo HANGUL SYLLABLE JJOE 52012 == code || // Lo HANGUL SYLLABLE JJYO 52040 == code || // Lo HANGUL SYLLABLE JJU 52068 == code || // Lo HANGUL SYLLABLE JJWEO 52096 == code || // Lo HANGUL SYLLABLE JJWE 52124 == code || // Lo HANGUL SYLLABLE JJWI 52152 == code || // Lo HANGUL SYLLABLE JJYU 52180 == code || // Lo HANGUL SYLLABLE JJEU 52208 == code || // Lo HANGUL SYLLABLE JJYI 52236 == code || // Lo HANGUL SYLLABLE JJI 52264 == code || // Lo HANGUL SYLLABLE CA 52292 == code || // Lo HANGUL SYLLABLE CAE 52320 == code || // Lo HANGUL SYLLABLE CYA 52348 == code || // Lo HANGUL SYLLABLE CYAE 52376 == code || // Lo HANGUL SYLLABLE CEO 52404 == code || // Lo HANGUL SYLLABLE CE 52432 == code || // Lo HANGUL SYLLABLE CYEO 52460 == code || // Lo HANGUL SYLLABLE CYE 52488 == code || // Lo HANGUL SYLLABLE CO 52516 == code || // Lo HANGUL SYLLABLE CWA 52544 == code || // Lo HANGUL SYLLABLE CWAE 52572 == code || // Lo HANGUL SYLLABLE COE 52600 == code || // Lo HANGUL SYLLABLE CYO 52628 == code || // Lo HANGUL SYLLABLE CU 52656 == code || // Lo HANGUL SYLLABLE CWEO 52684 == code || // Lo HANGUL SYLLABLE CWE 52712 == code || // Lo HANGUL SYLLABLE CWI 52740 == code || // Lo HANGUL SYLLABLE CYU 52768 == code || // Lo HANGUL SYLLABLE CEU 52796 == code || // Lo HANGUL SYLLABLE CYI 52824 == code || // Lo HANGUL SYLLABLE CI 52852 == code || // Lo HANGUL SYLLABLE KA 52880 == code || // Lo HANGUL SYLLABLE KAE 52908 == code || // Lo HANGUL SYLLABLE KYA 52936 == code || // Lo HANGUL SYLLABLE KYAE 52964 == code || // Lo HANGUL SYLLABLE KEO 52992 == code || // Lo HANGUL SYLLABLE KE 53020 == code || // Lo HANGUL SYLLABLE KYEO 53048 == code || // Lo HANGUL SYLLABLE KYE 53076 == code || // Lo HANGUL SYLLABLE KO 53104 == code || // Lo HANGUL SYLLABLE KWA 53132 == code || // Lo HANGUL SYLLABLE KWAE 53160 == code || // Lo HANGUL SYLLABLE KOE 53188 == code || // Lo HANGUL SYLLABLE KYO 53216 == code || // Lo HANGUL SYLLABLE KU 53244 == code || // Lo HANGUL SYLLABLE KWEO 53272 == code || // Lo HANGUL SYLLABLE KWE 53300 == code || // Lo HANGUL SYLLABLE KWI 53328 == code || // Lo HANGUL SYLLABLE KYU 53356 == code || // Lo HANGUL SYLLABLE KEU 53384 == code || // Lo HANGUL SYLLABLE KYI 53412 == code || // Lo HANGUL SYLLABLE KI 53440 == code || // Lo HANGUL SYLLABLE TA 53468 == code || // Lo HANGUL SYLLABLE TAE 53496 == code || // Lo HANGUL SYLLABLE TYA 53524 == code || // Lo HANGUL SYLLABLE TYAE 53552 == code || // Lo HANGUL SYLLABLE TEO 53580 == code || // Lo HANGUL SYLLABLE TE 53608 == code || // Lo HANGUL SYLLABLE TYEO 53636 == code || // Lo HANGUL SYLLABLE TYE 53664 == code || // Lo HANGUL SYLLABLE TO 53692 == code || // Lo HANGUL SYLLABLE TWA 53720 == code || // Lo HANGUL SYLLABLE TWAE 53748 == code || // Lo HANGUL SYLLABLE TOE 53776 == code || // Lo HANGUL SYLLABLE TYO 53804 == code || // Lo HANGUL SYLLABLE TU 53832 == code || // Lo HANGUL SYLLABLE TWEO 53860 == code || // Lo HANGUL SYLLABLE TWE 53888 == code || // Lo HANGUL SYLLABLE TWI 53916 == code || // Lo HANGUL SYLLABLE TYU 53944 == code || // Lo HANGUL SYLLABLE TEU 53972 == code || // Lo HANGUL SYLLABLE TYI 54e3 == code || // Lo HANGUL SYLLABLE TI 54028 == code || // Lo HANGUL SYLLABLE PA 54056 == code || // Lo HANGUL SYLLABLE PAE 54084 == code || // Lo HANGUL SYLLABLE PYA 54112 == code || // Lo HANGUL SYLLABLE PYAE 54140 == code || // Lo HANGUL SYLLABLE PEO 54168 == code || // Lo HANGUL SYLLABLE PE 54196 == code || // Lo HANGUL SYLLABLE PYEO 54224 == code || // Lo HANGUL SYLLABLE PYE 54252 == code || // Lo HANGUL SYLLABLE PO 54280 == code || // Lo HANGUL SYLLABLE PWA 54308 == code || // Lo HANGUL SYLLABLE PWAE 54336 == code || // Lo HANGUL SYLLABLE POE 54364 == code || // Lo HANGUL SYLLABLE PYO 54392 == code || // Lo HANGUL SYLLABLE PU 54420 == code || // Lo HANGUL SYLLABLE PWEO 54448 == code || // Lo HANGUL SYLLABLE PWE 54476 == code || // Lo HANGUL SYLLABLE PWI 54504 == code || // Lo HANGUL SYLLABLE PYU 54532 == code || // Lo HANGUL SYLLABLE PEU 54560 == code || // Lo HANGUL SYLLABLE PYI 54588 == code || // Lo HANGUL SYLLABLE PI 54616 == code || // Lo HANGUL SYLLABLE HA 54644 == code || // Lo HANGUL SYLLABLE HAE 54672 == code || // Lo HANGUL SYLLABLE HYA 54700 == code || // Lo HANGUL SYLLABLE HYAE 54728 == code || // Lo HANGUL SYLLABLE HEO 54756 == code || // Lo HANGUL SYLLABLE HE 54784 == code || // Lo HANGUL SYLLABLE HYEO 54812 == code || // Lo HANGUL SYLLABLE HYE 54840 == code || // Lo HANGUL SYLLABLE HO 54868 == code || // Lo HANGUL SYLLABLE HWA 54896 == code || // Lo HANGUL SYLLABLE HWAE 54924 == code || // Lo HANGUL SYLLABLE HOE 54952 == code || // Lo HANGUL SYLLABLE HYO 54980 == code || // Lo HANGUL SYLLABLE HU 55008 == code || // Lo HANGUL SYLLABLE HWEO 55036 == code || // Lo HANGUL SYLLABLE HWE 55064 == code || // Lo HANGUL SYLLABLE HWI 55092 == code || // Lo HANGUL SYLLABLE HYU 55120 == code || // Lo HANGUL SYLLABLE HEU 55148 == code || // Lo HANGUL SYLLABLE HYI 55176 == code) { return LV; } if (44033 <= code && code <= 44059 || // Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH 44061 <= code && code <= 44087 || // Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH 44089 <= code && code <= 44115 || // Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH 44117 <= code && code <= 44143 || // Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH 44145 <= code && code <= 44171 || // Lo [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH 44173 <= code && code <= 44199 || // Lo [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH 44201 <= code && code <= 44227 || // Lo [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH 44229 <= code && code <= 44255 || // Lo [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH 44257 <= code && code <= 44283 || // Lo [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH 44285 <= code && code <= 44311 || // Lo [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH 44313 <= code && code <= 44339 || // Lo [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH 44341 <= code && code <= 44367 || // Lo [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH 44369 <= code && code <= 44395 || // Lo [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH 44397 <= code && code <= 44423 || // Lo [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH 44425 <= code && code <= 44451 || // Lo [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH 44453 <= code && code <= 44479 || // Lo [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH 44481 <= code && code <= 44507 || // Lo [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH 44509 <= code && code <= 44535 || // Lo [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH 44537 <= code && code <= 44563 || // Lo [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH 44565 <= code && code <= 44591 || // Lo [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH 44593 <= code && code <= 44619 || // Lo [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH 44621 <= code && code <= 44647 || // Lo [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH 44649 <= code && code <= 44675 || // Lo [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH 44677 <= code && code <= 44703 || // Lo [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH 44705 <= code && code <= 44731 || // Lo [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH 44733 <= code && code <= 44759 || // Lo [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH 44761 <= code && code <= 44787 || // Lo [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH 44789 <= code && code <= 44815 || // Lo [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH 44817 <= code && code <= 44843 || // Lo [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH 44845 <= code && code <= 44871 || // Lo [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH 44873 <= code && code <= 44899 || // Lo [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH 44901 <= code && code <= 44927 || // Lo [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH 44929 <= code && code <= 44955 || // Lo [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH 44957 <= code && code <= 44983 || // Lo [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH 44985 <= code && code <= 45011 || // Lo [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH 45013 <= code && code <= 45039 || // Lo [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH 45041 <= code && code <= 45067 || // Lo [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH 45069 <= code && code <= 45095 || // Lo [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH 45097 <= code && code <= 45123 || // Lo [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH 45125 <= code && code <= 45151 || // Lo [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH 45153 <= code && code <= 45179 || // Lo [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH 45181 <= code && code <= 45207 || // Lo [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH 45209 <= code && code <= 45235 || // Lo [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH 45237 <= code && code <= 45263 || // Lo [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH 45265 <= code && code <= 45291 || // Lo [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH 45293 <= code && code <= 45319 || // Lo [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH 45321 <= code && code <= 45347 || // Lo [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH 45349 <= code && code <= 45375 || // Lo [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH 45377 <= code && code <= 45403 || // Lo [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH 45405 <= code && code <= 45431 || // Lo [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH 45433 <= code && code <= 45459 || // Lo [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH 45461 <= code && code <= 45487 || // Lo [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH 45489 <= code && code <= 45515 || // Lo [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH 45517 <= code && code <= 45543 || // Lo [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH 45545 <= code && code <= 45571 || // Lo [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH 45573 <= code && code <= 45599 || // Lo [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH 45601 <= code && code <= 45627 || // Lo [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH 45629 <= code && code <= 45655 || // Lo [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH 45657 <= code && code <= 45683 || // Lo [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH 45685 <= code && code <= 45711 || // Lo [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH 45713 <= code && code <= 45739 || // Lo [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH 45741 <= code && code <= 45767 || // Lo [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH 45769 <= code && code <= 45795 || // Lo [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH 45797 <= code && code <= 45823 || // Lo [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH 45825 <= code && code <= 45851 || // Lo [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH 45853 <= code && code <= 45879 || // Lo [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH 45881 <= code && code <= 45907 || // Lo [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH 45909 <= code && code <= 45935 || // Lo [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH 45937 <= code && code <= 45963 || // Lo [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH 45965 <= code && code <= 45991 || // Lo [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH 45993 <= code && code <= 46019 || // Lo [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH 46021 <= code && code <= 46047 || // Lo [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH 46049 <= code && code <= 46075 || // Lo [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH 46077 <= code && code <= 46103 || // Lo [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH 46105 <= code && code <= 46131 || // Lo [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH 46133 <= code && code <= 46159 || // Lo [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH 46161 <= code && code <= 46187 || // Lo [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH 46189 <= code && code <= 46215 || // Lo [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH 46217 <= code && code <= 46243 || // Lo [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH 46245 <= code && code <= 46271 || // Lo [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH 46273 <= code && code <= 46299 || // Lo [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH 46301 <= code && code <= 46327 || // Lo [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH 46329 <= code && code <= 46355 || // Lo [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH 46357 <= code && code <= 46383 || // Lo [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH 46385 <= code && code <= 46411 || // Lo [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH 46413 <= code && code <= 46439 || // Lo [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH 46441 <= code && code <= 46467 || // Lo [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH 46469 <= code && code <= 46495 || // Lo [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH 46497 <= code && code <= 46523 || // Lo [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH 46525 <= code && code <= 46551 || // Lo [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH 46553 <= code && code <= 46579 || // Lo [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH 46581 <= code && code <= 46607 || // Lo [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH 46609 <= code && code <= 46635 || // Lo [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH 46637 <= code && code <= 46663 || // Lo [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH 46665 <= code && code <= 46691 || // Lo [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH 46693 <= code && code <= 46719 || // Lo [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH 46721 <= code && code <= 46747 || // Lo [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH 46749 <= code && code <= 46775 || // Lo [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH 46777 <= code && code <= 46803 || // Lo [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH 46805 <= code && code <= 46831 || // Lo [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH 46833 <= code && code <= 46859 || // Lo [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH 46861 <= code && code <= 46887 || // Lo [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH 46889 <= code && code <= 46915 || // Lo [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH 46917 <= code && code <= 46943 || // Lo [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH 46945 <= code && code <= 46971 || // Lo [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH 46973 <= code && code <= 46999 || // Lo [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH 47001 <= code && code <= 47027 || // Lo [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH 47029 <= code && code <= 47055 || // Lo [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH 47057 <= code && code <= 47083 || // Lo [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH 47085 <= code && code <= 47111 || // Lo [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH 47113 <= code && code <= 47139 || // Lo [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH 47141 <= code && code <= 47167 || // Lo [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH 47169 <= code && code <= 47195 || // Lo [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH 47197 <= code && code <= 47223 || // Lo [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH 47225 <= code && code <= 47251 || // Lo [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH 47253 <= code && code <= 47279 || // Lo [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH 47281 <= code && code <= 47307 || // Lo [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH 47309 <= code && code <= 47335 || // Lo [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH 47337 <= code && code <= 47363 || // Lo [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH 47365 <= code && code <= 47391 || // Lo [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH 47393 <= code && code <= 47419 || // Lo [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH 47421 <= code && code <= 47447 || // Lo [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH 47449 <= code && code <= 47475 || // Lo [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH 47477 <= code && code <= 47503 || // Lo [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH 47505 <= code && code <= 47531 || // Lo [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH 47533 <= code && code <= 47559 || // Lo [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH 47561 <= code && code <= 47587 || // Lo [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH 47589 <= code && code <= 47615 || // Lo [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH 47617 <= code && code <= 47643 || // Lo [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH 47645 <= code && code <= 47671 || // Lo [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH 47673 <= code && code <= 47699 || // Lo [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH 47701 <= code && code <= 47727 || // Lo [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH 47729 <= code && code <= 47755 || // Lo [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH 47757 <= code && code <= 47783 || // Lo [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH 47785 <= code && code <= 47811 || // Lo [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH 47813 <= code && code <= 47839 || // Lo [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH 47841 <= code && code <= 47867 || // Lo [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH 47869 <= code && code <= 47895 || // Lo [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH 47897 <= code && code <= 47923 || // Lo [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH 47925 <= code && code <= 47951 || // Lo [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH 47953 <= code && code <= 47979 || // Lo [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH 47981 <= code && code <= 48007 || // Lo [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH 48009 <= code && code <= 48035 || // Lo [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH 48037 <= code && code <= 48063 || // Lo [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH 48065 <= code && code <= 48091 || // Lo [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH 48093 <= code && code <= 48119 || // Lo [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH 48121 <= code && code <= 48147 || // Lo [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH 48149 <= code && code <= 48175 || // Lo [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH 48177 <= code && code <= 48203 || // Lo [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH 48205 <= code && code <= 48231 || // Lo [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH 48233 <= code && code <= 48259 || // Lo [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH 48261 <= code && code <= 48287 || // Lo [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH 48289 <= code && code <= 48315 || // Lo [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH 48317 <= code && code <= 48343 || // Lo [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH 48345 <= code && code <= 48371 || // Lo [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH 48373 <= code && code <= 48399 || // Lo [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH 48401 <= code && code <= 48427 || // Lo [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH 48429 <= code && code <= 48455 || // Lo [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH 48457 <= code && code <= 48483 || // Lo [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH 48485 <= code && code <= 48511 || // Lo [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH 48513 <= code && code <= 48539 || // Lo [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH 48541 <= code && code <= 48567 || // Lo [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH 48569 <= code && code <= 48595 || // Lo [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH 48597 <= code && code <= 48623 || // Lo [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH 48625 <= code && code <= 48651 || // Lo [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH 48653 <= code && code <= 48679 || // Lo [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH 48681 <= code && code <= 48707 || // Lo [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH 48709 <= code && code <= 48735 || // Lo [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH 48737 <= code && code <= 48763 || // Lo [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH 48765 <= code && code <= 48791 || // Lo [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH 48793 <= code && code <= 48819 || // Lo [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH 48821 <= code && code <= 48847 || // Lo [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH 48849 <= code && code <= 48875 || // Lo [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH 48877 <= code && code <= 48903 || // Lo [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH 48905 <= code && code <= 48931 || // Lo [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH 48933 <= code && code <= 48959 || // Lo [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH 48961 <= code && code <= 48987 || // Lo [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH 48989 <= code && code <= 49015 || // Lo [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH 49017 <= code && code <= 49043 || // Lo [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH 49045 <= code && code <= 49071 || // Lo [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH 49073 <= code && code <= 49099 || // Lo [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH 49101 <= code && code <= 49127 || // Lo [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH 49129 <= code && code <= 49155 || // Lo [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH 49157 <= code && code <= 49183 || // Lo [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH 49185 <= code && code <= 49211 || // Lo [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH 49213 <= code && code <= 49239 || // Lo [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH 49241 <= code && code <= 49267 || // Lo [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH 49269 <= code && code <= 49295 || // Lo [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH 49297 <= code && code <= 49323 || // Lo [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH 49325 <= code && code <= 49351 || // Lo [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH 49353 <= code && code <= 49379 || // Lo [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH 49381 <= code && code <= 49407 || // Lo [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH 49409 <= code && code <= 49435 || // Lo [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH 49437 <= code && code <= 49463 || // Lo [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH 49465 <= code && code <= 49491 || // Lo [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH 49493 <= code && code <= 49519 || // Lo [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH 49521 <= code && code <= 49547 || // Lo [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH 49549 <= code && code <= 49575 || // Lo [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH 49577 <= code && code <= 49603 || // Lo [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH 49605 <= code && code <= 49631 || // Lo [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH 49633 <= code && code <= 49659 || // Lo [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH 49661 <= code && code <= 49687 || // Lo [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH 49689 <= code && code <= 49715 || // Lo [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH 49717 <= code && code <= 49743 || // Lo [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH 49745 <= code && code <= 49771 || // Lo [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH 49773 <= code && code <= 49799 || // Lo [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH 49801 <= code && code <= 49827 || // Lo [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH 49829 <= code && code <= 49855 || // Lo [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH 49857 <= code && code <= 49883 || // Lo [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH 49885 <= code && code <= 49911 || // Lo [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH 49913 <= code && code <= 49939 || // Lo [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH 49941 <= code && code <= 49967 || // Lo [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH 49969 <= code && code <= 49995 || // Lo [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH 49997 <= code && code <= 50023 || // Lo [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH 50025 <= code && code <= 50051 || // Lo [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH 50053 <= code && code <= 50079 || // Lo [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH 50081 <= code && code <= 50107 || // Lo [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH 50109 <= code && code <= 50135 || // Lo [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH 50137 <= code && code <= 50163 || // Lo [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH 50165 <= code && code <= 50191 || // Lo [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH 50193 <= code && code <= 50219 || // Lo [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH 50221 <= code && code <= 50247 || // Lo [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH 50249 <= code && code <= 50275 || // Lo [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH 50277 <= code && code <= 50303 || // Lo [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH 50305 <= code && code <= 50331 || // Lo [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH 50333 <= code && code <= 50359 || // Lo [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH 50361 <= code && code <= 50387 || // Lo [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH 50389 <= code && code <= 50415 || // Lo [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH 50417 <= code && code <= 50443 || // Lo [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH 50445 <= code && code <= 50471 || // Lo [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH 50473 <= code && code <= 50499 || // Lo [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH 50501 <= code && code <= 50527 || // Lo [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH 50529 <= code && code <= 50555 || // Lo [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH 50557 <= code && code <= 50583 || // Lo [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH 50585 <= code && code <= 50611 || // Lo [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH 50613 <= code && code <= 50639 || // Lo [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH 50641 <= code && code <= 50667 || // Lo [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH 50669 <= code && code <= 50695 || // Lo [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH 50697 <= code && code <= 50723 || // Lo [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH 50725 <= code && code <= 50751 || // Lo [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH 50753 <= code && code <= 50779 || // Lo [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH 50781 <= code && code <= 50807 || // Lo [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH 50809 <= code && code <= 50835 || // Lo [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH 50837 <= code && code <= 50863 || // Lo [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH 50865 <= code && code <= 50891 || // Lo [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH 50893 <= code && code <= 50919 || // Lo [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH 50921 <= code && code <= 50947 || // Lo [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH 50949 <= code && code <= 50975 || // Lo [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH 50977 <= code && code <= 51003 || // Lo [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH 51005 <= code && code <= 51031 || // Lo [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH 51033 <= code && code <= 51059 || // Lo [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH 51061 <= code && code <= 51087 || // Lo [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH 51089 <= code && code <= 51115 || // Lo [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH 51117 <= code && code <= 51143 || // Lo [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH 51145 <= code && code <= 51171 || // Lo [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH 51173 <= code && code <= 51199 || // Lo [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH 51201 <= code && code <= 51227 || // Lo [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH 51229 <= code && code <= 51255 || // Lo [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH 51257 <= code && code <= 51283 || // Lo [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH 51285 <= code && code <= 51311 || // Lo [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH 51313 <= code && code <= 51339 || // Lo [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH 51341 <= code && code <= 51367 || // Lo [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH 51369 <= code && code <= 51395 || // Lo [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH 51397 <= code && code <= 51423 || // Lo [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH 51425 <= code && code <= 51451 || // Lo [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH 51453 <= code && code <= 51479 || // Lo [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH 51481 <= code && code <= 51507 || // Lo [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH 51509 <= code && code <= 51535 || // Lo [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH 51537 <= code && code <= 51563 || // Lo [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH 51565 <= code && code <= 51591 || // Lo [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH 51593 <= code && code <= 51619 || // Lo [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH 51621 <= code && code <= 51647 || // Lo [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH 51649 <= code && code <= 51675 || // Lo [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH 51677 <= code && code <= 51703 || // Lo [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH 51705 <= code && code <= 51731 || // Lo [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH 51733 <= code && code <= 51759 || // Lo [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH 51761 <= code && code <= 51787 || // Lo [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH 51789 <= code && code <= 51815 || // Lo [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH 51817 <= code && code <= 51843 || // Lo [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH 51845 <= code && code <= 51871 || // Lo [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH 51873 <= code && code <= 51899 || // Lo [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH 51901 <= code && code <= 51927 || // Lo [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH 51929 <= code && code <= 51955 || // Lo [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH 51957 <= code && code <= 51983 || // Lo [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH 51985 <= code && code <= 52011 || // Lo [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH 52013 <= code && code <= 52039 || // Lo [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH 52041 <= code && code <= 52067 || // Lo [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH 52069 <= code && code <= 52095 || // Lo [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH 52097 <= code && code <= 52123 || // Lo [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH 52125 <= code && code <= 52151 || // Lo [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH 52153 <= code && code <= 52179 || // Lo [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH 52181 <= code && code <= 52207 || // Lo [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH 52209 <= code && code <= 52235 || // Lo [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH 52237 <= code && code <= 52263 || // Lo [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH 52265 <= code && code <= 52291 || // Lo [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH 52293 <= code && code <= 52319 || // Lo [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH 52321 <= code && code <= 52347 || // Lo [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH 52349 <= code && code <= 52375 || // Lo [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH 52377 <= code && code <= 52403 || // Lo [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH 52405 <= code && code <= 52431 || // Lo [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH 52433 <= code && code <= 52459 || // Lo [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH 52461 <= code && code <= 52487 || // Lo [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH 52489 <= code && code <= 52515 || // Lo [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH 52517 <= code && code <= 52543 || // Lo [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH 52545 <= code && code <= 52571 || // Lo [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH 52573 <= code && code <= 52599 || // Lo [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH 52601 <= code && code <= 52627 || // Lo [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH 52629 <= code && code <= 52655 || // Lo [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH 52657 <= code && code <= 52683 || // Lo [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH 52685 <= code && code <= 52711 || // Lo [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH 52713 <= code && code <= 52739 || // Lo [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH 52741 <= code && code <= 52767 || // Lo [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH 52769 <= code && code <= 52795 || // Lo [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH 52797 <= code && code <= 52823 || // Lo [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH 52825 <= code && code <= 52851 || // Lo [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH 52853 <= code && code <= 52879 || // Lo [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH 52881 <= code && code <= 52907 || // Lo [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH 52909 <= code && code <= 52935 || // Lo [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH 52937 <= code && code <= 52963 || // Lo [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH 52965 <= code && code <= 52991 || // Lo [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH 52993 <= code && code <= 53019 || // Lo [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH 53021 <= code && code <= 53047 || // Lo [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH 53049 <= code && code <= 53075 || // Lo [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH 53077 <= code && code <= 53103 || // Lo [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH 53105 <= code && code <= 53131 || // Lo [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH 53133 <= code && code <= 53159 || // Lo [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH 53161 <= code && code <= 53187 || // Lo [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH 53189 <= code && code <= 53215 || // Lo [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH 53217 <= code && code <= 53243 || // Lo [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH 53245 <= code && code <= 53271 || // Lo [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH 53273 <= code && code <= 53299 || // Lo [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH 53301 <= code && code <= 53327 || // Lo [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH 53329 <= code && code <= 53355 || // Lo [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH 53357 <= code && code <= 53383 || // Lo [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH 53385 <= code && code <= 53411 || // Lo [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH 53413 <= code && code <= 53439 || // Lo [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH 53441 <= code && code <= 53467 || // Lo [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH 53469 <= code && code <= 53495 || // Lo [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH 53497 <= code && code <= 53523 || // Lo [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH 53525 <= code && code <= 53551 || // Lo [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH 53553 <= code && code <= 53579 || // Lo [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH 53581 <= code && code <= 53607 || // Lo [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH 53609 <= code && code <= 53635 || // Lo [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH 53637 <= code && code <= 53663 || // Lo [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH 53665 <= code && code <= 53691 || // Lo [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH 53693 <= code && code <= 53719 || // Lo [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH 53721 <= code && code <= 53747 || // Lo [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH 53749 <= code && code <= 53775 || // Lo [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH 53777 <= code && code <= 53803 || // Lo [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH 53805 <= code && code <= 53831 || // Lo [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH 53833 <= code && code <= 53859 || // Lo [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH 53861 <= code && code <= 53887 || // Lo [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH 53889 <= code && code <= 53915 || // Lo [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH 53917 <= code && code <= 53943 || // Lo [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH 53945 <= code && code <= 53971 || // Lo [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH 53973 <= code && code <= 53999 || // Lo [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH 54001 <= code && code <= 54027 || // Lo [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH 54029 <= code && code <= 54055 || // Lo [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH 54057 <= code && code <= 54083 || // Lo [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH 54085 <= code && code <= 54111 || // Lo [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH 54113 <= code && code <= 54139 || // Lo [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH 54141 <= code && code <= 54167 || // Lo [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH 54169 <= code && code <= 54195 || // Lo [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH 54197 <= code && code <= 54223 || // Lo [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH 54225 <= code && code <= 54251 || // Lo [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH 54253 <= code && code <= 54279 || // Lo [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH 54281 <= code && code <= 54307 || // Lo [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH 54309 <= code && code <= 54335 || // Lo [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH 54337 <= code && code <= 54363 || // Lo [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH 54365 <= code && code <= 54391 || // Lo [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH 54393 <= code && code <= 54419 || // Lo [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH 54421 <= code && code <= 54447 || // Lo [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH 54449 <= code && code <= 54475 || // Lo [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH 54477 <= code && code <= 54503 || // Lo [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH 54505 <= code && code <= 54531 || // Lo [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH 54533 <= code && code <= 54559 || // Lo [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH 54561 <= code && code <= 54587 || // Lo [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH 54589 <= code && code <= 54615 || // Lo [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH 54617 <= code && code <= 54643 || // Lo [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH 54645 <= code && code <= 54671 || // Lo [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH 54673 <= code && code <= 54699 || // Lo [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH 54701 <= code && code <= 54727 || // Lo [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH 54729 <= code && code <= 54755 || // Lo [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH 54757 <= code && code <= 54783 || // Lo [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH 54785 <= code && code <= 54811 || // Lo [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH 54813 <= code && code <= 54839 || // Lo [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH 54841 <= code && code <= 54867 || // Lo [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH 54869 <= code && code <= 54895 || // Lo [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH 54897 <= code && code <= 54923 || // Lo [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH 54925 <= code && code <= 54951 || // Lo [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH 54953 <= code && code <= 54979 || // Lo [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH 54981 <= code && code <= 55007 || // Lo [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH 55009 <= code && code <= 55035 || // Lo [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH 55037 <= code && code <= 55063 || // Lo [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH 55065 <= code && code <= 55091 || // Lo [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH 55093 <= code && code <= 55119 || // Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH 55121 <= code && code <= 55147 || // Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH 55149 <= code && code <= 55175 || // Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH 55177 <= code && code <= 55203) { return LVT; } if (9757 == code || // So WHITE UP POINTING INDEX 9977 == code || // So PERSON WITH BALL 9994 <= code && code <= 9997 || // So [4] RAISED FIST..WRITING HAND 127877 == code || // So FATHER CHRISTMAS 127938 <= code && code <= 127940 || // So [3] SNOWBOARDER..SURFER 127943 == code || // So HORSE RACING 127946 <= code && code <= 127948 || // So [3] SWIMMER..GOLFER 128066 <= code && code <= 128067 || // So [2] EAR..NOSE 128070 <= code && code <= 128080 || // So [11] WHITE UP POINTING BACKHAND INDEX..OPEN HANDS SIGN 128110 == code || // So POLICE OFFICER 128112 <= code && code <= 128120 || // So [9] BRIDE WITH VEIL..PRINCESS 128124 == code || // So BABY ANGEL 128129 <= code && code <= 128131 || // So [3] INFORMATION DESK PERSON..DANCER 128133 <= code && code <= 128135 || // So [3] NAIL POLISH..HAIRCUT 128170 == code || // So FLEXED BICEPS 128372 <= code && code <= 128373 || // So [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY 128378 == code || // So MAN DANCING 128400 == code || // So RAISED HAND WITH FINGERS SPLAYED 128405 <= code && code <= 128406 || // So [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS 128581 <= code && code <= 128583 || // So [3] FACE WITH NO GOOD GESTURE..PERSON BOWING DEEPLY 128587 <= code && code <= 128591 || // So [5] HAPPY PERSON RAISING ONE HAND..PERSON WITH FOLDED HANDS 128675 == code || // So ROWBOAT 128692 <= code && code <= 128694 || // So [3] BICYCLIST..PEDESTRIAN 128704 == code || // So BATH 128716 == code || // So SLEEPING ACCOMMODATION 129304 <= code && code <= 129308 || // So [5] SIGN OF THE HORNS..RIGHT-FACING FIST 129310 <= code && code <= 129311 || // So [2] HAND WITH INDEX AND MIDDLE FINGERS CROSSED..I LOVE YOU HAND SIGN 129318 == code || // So FACE PALM 129328 <= code && code <= 129337 || // So [10] PREGNANT WOMAN..JUGGLING 129341 <= code && code <= 129342 || // So [2] WATER POLO..HANDBALL 129489 <= code && code <= 129501) { return E_Base; } if (127995 <= code && code <= 127999) { return E_Modifier; } if (8205 == code) { return ZWJ; } if (9792 == code || // So FEMALE SIGN 9794 == code || // So MALE SIGN 9877 <= code && code <= 9878 || // So [2] STAFF OF AESCULAPIUS..SCALES 9992 == code || // So AIRPLANE 10084 == code || // So HEAVY BLACK HEART 127752 == code || // So RAINBOW 127806 == code || // So EAR OF RICE 127859 == code || // So COOKING 127891 == code || // So GRADUATION CAP 127908 == code || // So MICROPHONE 127912 == code || // So ARTIST PALETTE 127979 == code || // So SCHOOL 127981 == code || // So FACTORY 128139 == code || // So KISS MARK 128187 <= code && code <= 128188 || // So [2] PERSONAL COMPUTER..BRIEFCASE 128295 == code || // So WRENCH 128300 == code || // So MICROSCOPE 128488 == code || // So LEFT SPEECH BUBBLE 128640 == code || // So ROCKET 128658 == code) { return Glue_After_Zwj; } if (128102 <= code && code <= 128105) { return E_Base_GAZ; } return Other; } return this; } if (typeof module2 != "undefined" && module2.exports) { module2.exports = GraphemeSplitter; } } }); // ../node_modules/.pnpm/@pnpm+slice-ansi@1.1.3/node_modules/@pnpm/slice-ansi/index.js var require_slice_ansi3 = __commonJS({ "../node_modules/.pnpm/@pnpm+slice-ansi@1.1.3/node_modules/@pnpm/slice-ansi/index.js"(exports2, module2) { var ANSI_SEQUENCE = /^([\s\S]*?)(\x1b\[[^m]+m|\x1b\]8;;[\s\S]*?(\x1b\\|\u0007))/; var splitGraphemes; function getSplitter() { if (splitGraphemes) return splitGraphemes; const GraphemeSplitter = require_grapheme_splitter(); const splitter = new GraphemeSplitter(); return splitGraphemes = (text) => splitter.splitGraphemes(text); } module2.exports = (orig, at = 0, until = orig.length) => { if (at < 0 || until < 0) throw new RangeError(`Negative indices aren't supported by this implementation`); const length = until - at; let output = ``; let skipped = 0; let visible = 0; while (orig.length > 0) { const lookup = orig.match(ANSI_SEQUENCE) || [orig, orig, void 0]; let graphemes = getSplitter()(lookup[1]); const skipping = Math.min(at - skipped, graphemes.length); graphemes = graphemes.slice(skipping); const displaying = Math.min(length - visible, graphemes.length); output += graphemes.slice(0, displaying).join(``); skipped += skipping; visible += displaying; if (typeof lookup[2] !== `undefined`) output += lookup[2]; orig = orig.slice(lookup[0].length); } return output; }; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/getBorderCharacters.js var require_getBorderCharacters2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/getBorderCharacters.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getBorderCharacters = void 0; var getBorderCharacters = (name) => { if (name === "honeywell") { return { topBody: "\u2550", topJoin: "\u2564", topLeft: "\u2554", topRight: "\u2557", bottomBody: "\u2550", bottomJoin: "\u2567", bottomLeft: "\u255A", bottomRight: "\u255D", bodyLeft: "\u2551", bodyRight: "\u2551", bodyJoin: "\u2502", headerJoin: "\u252C", joinBody: "\u2500", joinLeft: "\u255F", joinRight: "\u2562", joinJoin: "\u253C", joinMiddleDown: "\u252C", joinMiddleUp: "\u2534", joinMiddleLeft: "\u2524", joinMiddleRight: "\u251C" }; } if (name === "norc") { return { topBody: "\u2500", topJoin: "\u252C", topLeft: "\u250C", topRight: "\u2510", bottomBody: "\u2500", bottomJoin: "\u2534", bottomLeft: "\u2514", bottomRight: "\u2518", bodyLeft: "\u2502", bodyRight: "\u2502", bodyJoin: "\u2502", headerJoin: "\u252C", joinBody: "\u2500", joinLeft: "\u251C", joinRight: "\u2524", joinJoin: "\u253C", joinMiddleDown: "\u252C", joinMiddleUp: "\u2534", joinMiddleLeft: "\u2524", joinMiddleRight: "\u251C" }; } if (name === "ramac") { return { topBody: "-", topJoin: "+", topLeft: "+", topRight: "+", bottomBody: "-", bottomJoin: "+", bottomLeft: "+", bottomRight: "+", bodyLeft: "|", bodyRight: "|", bodyJoin: "|", headerJoin: "+", joinBody: "-", joinLeft: "|", joinRight: "|", joinJoin: "|", joinMiddleDown: "+", joinMiddleUp: "+", joinMiddleLeft: "+", joinMiddleRight: "+" }; } if (name === "void") { return { topBody: "", topJoin: "", topLeft: "", topRight: "", bottomBody: "", bottomJoin: "", bottomLeft: "", bottomRight: "", bodyLeft: "", bodyRight: "", bodyJoin: "", headerJoin: "", joinBody: "", joinLeft: "", joinRight: "", joinJoin: "", joinMiddleDown: "", joinMiddleUp: "", joinMiddleLeft: "", joinMiddleRight: "" }; } throw new Error('Unknown border template "' + name + '".'); }; exports2.getBorderCharacters = getBorderCharacters; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/utils.js var require_utils16 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/utils.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isCellInRange = exports2.areCellEqual = exports2.calculateRangeCoordinate = exports2.findOriginalRowIndex = exports2.flatten = exports2.extractTruncates = exports2.sumArray = exports2.sequence = exports2.distributeUnevenly = exports2.countSpaceSequence = exports2.groupBySizes = exports2.makeBorderConfig = exports2.splitAnsi = exports2.normalizeString = void 0; var slice_ansi_1 = __importDefault2(require_slice_ansi3()); var string_width_1 = __importDefault2(require_string_width()); var strip_ansi_1 = __importDefault2(require_strip_ansi()); var getBorderCharacters_1 = require_getBorderCharacters2(); var normalizeString = (input) => { return input.replace(/\r\n/g, "\n"); }; exports2.normalizeString = normalizeString; var splitAnsi = (input) => { const lengths = (0, strip_ansi_1.default)(input).split("\n").map(string_width_1.default); const result2 = []; let startIndex = 0; lengths.forEach((length) => { result2.push(length === 0 ? "" : (0, slice_ansi_1.default)(input, startIndex, startIndex + length)); startIndex += length + 1; }); return result2; }; exports2.splitAnsi = splitAnsi; var makeBorderConfig = (border) => { return { ...(0, getBorderCharacters_1.getBorderCharacters)("honeywell"), ...border }; }; exports2.makeBorderConfig = makeBorderConfig; var groupBySizes = (array, sizes) => { let startIndex = 0; return sizes.map((size) => { const group = array.slice(startIndex, startIndex + size); startIndex += size; return group; }); }; exports2.groupBySizes = groupBySizes; var countSpaceSequence = (input) => { return input.match(/\s+/g)?.length ?? 0; }; exports2.countSpaceSequence = countSpaceSequence; var distributeUnevenly = (sum, length) => { const result2 = Array.from({ length }).fill(Math.floor(sum / length)); return result2.map((element, index) => { return element + (index < sum % length ? 1 : 0); }); }; exports2.distributeUnevenly = distributeUnevenly; var sequence = (start, end) => { return Array.from({ length: end - start + 1 }, (_, index) => { return index + start; }); }; exports2.sequence = sequence; var sumArray = (array) => { return array.reduce((accumulator, element) => { return accumulator + element; }, 0); }; exports2.sumArray = sumArray; var extractTruncates = (config) => { return config.columns.map(({ truncate }) => { return truncate; }); }; exports2.extractTruncates = extractTruncates; var flatten = (array) => { return [].concat(...array); }; exports2.flatten = flatten; var findOriginalRowIndex = (mappedRowHeights, mappedRowIndex) => { const rowIndexMapping = (0, exports2.flatten)(mappedRowHeights.map((height, index) => { return Array.from({ length: height }, () => { return index; }); })); return rowIndexMapping[mappedRowIndex]; }; exports2.findOriginalRowIndex = findOriginalRowIndex; var calculateRangeCoordinate = (spanningCellConfig) => { const { row, col, colSpan = 1, rowSpan = 1 } = spanningCellConfig; return { bottomRight: { col: col + colSpan - 1, row: row + rowSpan - 1 }, topLeft: { col, row } }; }; exports2.calculateRangeCoordinate = calculateRangeCoordinate; var areCellEqual = (cell1, cell2) => { return cell1.row === cell2.row && cell1.col === cell2.col; }; exports2.areCellEqual = areCellEqual; var isCellInRange = (cell, { topLeft, bottomRight }) => { return topLeft.row <= cell.row && cell.row <= bottomRight.row && topLeft.col <= cell.col && cell.col <= bottomRight.col; }; exports2.isCellInRange = isCellInRange; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignString.js var require_alignString2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignString.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.alignString = void 0; var string_width_1 = __importDefault2(require_string_width()); var utils_1 = require_utils16(); var alignLeft = (subject, width) => { return subject + " ".repeat(width); }; var alignRight = (subject, width) => { return " ".repeat(width) + subject; }; var alignCenter = (subject, width) => { return " ".repeat(Math.floor(width / 2)) + subject + " ".repeat(Math.ceil(width / 2)); }; var alignJustify = (subject, width) => { const spaceSequenceCount = (0, utils_1.countSpaceSequence)(subject); if (spaceSequenceCount === 0) { return alignLeft(subject, width); } const addingSpaces = (0, utils_1.distributeUnevenly)(width, spaceSequenceCount); if (Math.max(...addingSpaces) > 3) { return alignLeft(subject, width); } let spaceSequenceIndex = 0; return subject.replace(/\s+/g, (groupSpace) => { return groupSpace + " ".repeat(addingSpaces[spaceSequenceIndex++]); }); }; var alignString = (subject, containerWidth, alignment) => { const subjectWidth = (0, string_width_1.default)(subject); if (subjectWidth === containerWidth) { return subject; } if (subjectWidth > containerWidth) { throw new Error("Subject parameter value width cannot be greater than the container width."); } if (subjectWidth === 0) { return " ".repeat(containerWidth); } const availableWidth = containerWidth - subjectWidth; if (alignment === "left") { return alignLeft(subject, availableWidth); } if (alignment === "right") { return alignRight(subject, availableWidth); } if (alignment === "justify") { return alignJustify(subject, availableWidth); } return alignCenter(subject, availableWidth); }; exports2.alignString = alignString; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignTableData.js var require_alignTableData2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignTableData.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.alignTableData = void 0; var alignString_1 = require_alignString2(); var alignTableData = (rows, config) => { return rows.map((row, rowIndex) => { return row.map((cell, cellIndex) => { const { width, alignment } = config.columns[cellIndex]; const containingRange = config.spanningCellManager?.getContainingRange({ col: cellIndex, row: rowIndex }, { mapped: true }); if (containingRange) { return cell; } return (0, alignString_1.alignString)(cell, width, alignment); }); }); }; exports2.alignTableData = alignTableData; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapString.js var require_wrapString2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapString.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.wrapString = void 0; var slice_ansi_1 = __importDefault2(require_slice_ansi3()); var string_width_1 = __importDefault2(require_string_width()); var wrapString = (subject, size) => { let subjectSlice = subject; const chunks = []; do { chunks.push((0, slice_ansi_1.default)(subjectSlice, 0, size)); subjectSlice = (0, slice_ansi_1.default)(subjectSlice, size).trim(); } while ((0, string_width_1.default)(subjectSlice)); return chunks; }; exports2.wrapString = wrapString; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapWord.js var require_wrapWord2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapWord.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.wrapWord = void 0; var slice_ansi_1 = __importDefault2(require_slice_ansi3()); var strip_ansi_1 = __importDefault2(require_strip_ansi()); var calculateStringLengths = (input, size) => { let subject = (0, strip_ansi_1.default)(input); const chunks = []; const re = new RegExp("(^.{1," + String(Math.max(size, 1)) + "}(\\s+|$))|(^.{1," + String(Math.max(size - 1, 1)) + "}(\\\\|/|_|\\.|,|;|-))"); do { let chunk; const match = re.exec(subject); if (match) { chunk = match[0]; subject = subject.slice(chunk.length); const trimmedLength = chunk.trim().length; const offset = chunk.length - trimmedLength; chunks.push([trimmedLength, offset]); } else { chunk = subject.slice(0, size); subject = subject.slice(size); chunks.push([chunk.length, 0]); } } while (subject.length); return chunks; }; var wrapWord = (input, size) => { const result2 = []; let startIndex = 0; calculateStringLengths(input, size).forEach(([length, offset]) => { result2.push((0, slice_ansi_1.default)(input, startIndex, startIndex + length)); startIndex += length + offset; }); return result2; }; exports2.wrapWord = wrapWord; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapCell.js var require_wrapCell2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapCell.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.wrapCell = void 0; var utils_1 = require_utils16(); var wrapString_1 = require_wrapString2(); var wrapWord_1 = require_wrapWord2(); var wrapCell = (cellValue, cellWidth, useWrapWord) => { const cellLines = (0, utils_1.splitAnsi)(cellValue); for (let lineNr = 0; lineNr < cellLines.length; ) { let lineChunks; if (useWrapWord) { lineChunks = (0, wrapWord_1.wrapWord)(cellLines[lineNr], cellWidth); } else { lineChunks = (0, wrapString_1.wrapString)(cellLines[lineNr], cellWidth); } cellLines.splice(lineNr, 1, ...lineChunks); lineNr += lineChunks.length; } return cellLines; }; exports2.wrapCell = wrapCell; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateCellHeight.js var require_calculateCellHeight2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateCellHeight.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateCellHeight = void 0; var wrapCell_1 = require_wrapCell2(); var calculateCellHeight = (value, columnWidth, useWrapWord = false) => { return (0, wrapCell_1.wrapCell)(value, columnWidth, useWrapWord).length; }; exports2.calculateCellHeight = calculateCellHeight; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateRowHeights.js var require_calculateRowHeights2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateRowHeights.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateRowHeights = void 0; var calculateCellHeight_1 = require_calculateCellHeight2(); var utils_1 = require_utils16(); var calculateRowHeights = (rows, config) => { const rowHeights = []; for (const [rowIndex, row] of rows.entries()) { let rowHeight = 1; row.forEach((cell, cellIndex) => { const containingRange = config.spanningCellManager?.getContainingRange({ col: cellIndex, row: rowIndex }); if (!containingRange) { const cellHeight = (0, calculateCellHeight_1.calculateCellHeight)(cell, config.columns[cellIndex].width, config.columns[cellIndex].wrapWord); rowHeight = Math.max(rowHeight, cellHeight); return; } const { topLeft, bottomRight, height } = containingRange; if (rowIndex === bottomRight.row) { const totalOccupiedSpanningCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row)); const totalHorizontalBorderHeight = bottomRight.row - topLeft.row; const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => { return !config.drawHorizontalLine?.(horizontalBorderIndex, rows.length); }).length; const cellHeight = height - totalOccupiedSpanningCellHeight - totalHorizontalBorderHeight + totalHiddenHorizontalBorderHeight; rowHeight = Math.max(rowHeight, cellHeight); } }); rowHeights.push(rowHeight); } return rowHeights; }; exports2.calculateRowHeights = calculateRowHeights; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawContent.js var require_drawContent2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawContent.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.drawContent = void 0; var drawContent = (parameters) => { const { contents, separatorGetter, drawSeparator, spanningCellManager, rowIndex, elementType } = parameters; const contentSize = contents.length; const result2 = []; if (drawSeparator(0, contentSize)) { result2.push(separatorGetter(0, contentSize)); } contents.forEach((content, contentIndex) => { if (!elementType || elementType === "border" || elementType === "row") { result2.push(content); } if (elementType === "cell" && rowIndex === void 0) { result2.push(content); } if (elementType === "cell" && rowIndex !== void 0) { const containingRange = spanningCellManager?.getContainingRange({ col: contentIndex, row: rowIndex }); if (!containingRange || contentIndex === containingRange.topLeft.col) { result2.push(content); } } if (contentIndex + 1 < contentSize && drawSeparator(contentIndex + 1, contentSize)) { const separator = separatorGetter(contentIndex + 1, contentSize); if (elementType === "cell" && rowIndex !== void 0) { const currentCell = { col: contentIndex + 1, row: rowIndex }; const containingRange = spanningCellManager?.getContainingRange(currentCell); if (!containingRange || containingRange.topLeft.col === currentCell.col) { result2.push(separator); } } else { result2.push(separator); } } }); if (drawSeparator(contentSize, contentSize)) { result2.push(separatorGetter(contentSize, contentSize)); } return result2.join(""); }; exports2.drawContent = drawContent; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawBorder.js var require_drawBorder2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawBorder.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createTableBorderGetter = exports2.drawBorderBottom = exports2.drawBorderJoin = exports2.drawBorderTop = exports2.drawBorder = exports2.createSeparatorGetter = exports2.drawBorderSegments = void 0; var drawContent_1 = require_drawContent2(); var drawBorderSegments = (columnWidths, parameters) => { const { separator, horizontalBorderIndex, spanningCellManager } = parameters; return columnWidths.map((columnWidth, columnIndex) => { const normalSegment = separator.body.repeat(columnWidth); if (horizontalBorderIndex === void 0) { return normalSegment; } const range = spanningCellManager?.getContainingRange({ col: columnIndex, row: horizontalBorderIndex }); if (!range) { return normalSegment; } const { topLeft } = range; if (horizontalBorderIndex === topLeft.row) { return normalSegment; } if (columnIndex !== topLeft.col) { return ""; } return range.extractBorderContent(horizontalBorderIndex); }); }; exports2.drawBorderSegments = drawBorderSegments; var createSeparatorGetter = (dependencies) => { const { separator, spanningCellManager, horizontalBorderIndex, rowCount } = dependencies; return (verticalBorderIndex, columnCount) => { const inSameRange = spanningCellManager?.inSameRange; if (horizontalBorderIndex !== void 0 && inSameRange) { const topCell = { col: verticalBorderIndex, row: horizontalBorderIndex - 1 }; const leftCell = { col: verticalBorderIndex - 1, row: horizontalBorderIndex }; const oppositeCell = { col: verticalBorderIndex - 1, row: horizontalBorderIndex - 1 }; const currentCell = { col: verticalBorderIndex, row: horizontalBorderIndex }; const pairs = [ [oppositeCell, topCell], [topCell, currentCell], [currentCell, leftCell], [leftCell, oppositeCell] ]; if (verticalBorderIndex === 0) { if (inSameRange(currentCell, topCell) && separator.bodyJoinOuter) { return separator.bodyJoinOuter; } return separator.left; } if (verticalBorderIndex === columnCount) { if (inSameRange(oppositeCell, leftCell) && separator.bodyJoinOuter) { return separator.bodyJoinOuter; } return separator.right; } if (horizontalBorderIndex === 0) { if (inSameRange(currentCell, leftCell)) { return separator.body; } return separator.join; } if (horizontalBorderIndex === rowCount) { if (inSameRange(topCell, oppositeCell)) { return separator.body; } return separator.join; } const sameRangeCount = pairs.map((pair) => { return inSameRange(...pair); }).filter(Boolean).length; if (sameRangeCount === 0) { return separator.join; } if (sameRangeCount === 4) { return ""; } if (sameRangeCount === 2) { if (inSameRange(...pairs[1]) && inSameRange(...pairs[3]) && separator.bodyJoinInner) { return separator.bodyJoinInner; } return separator.body; } if (sameRangeCount === 1) { if (!separator.joinRight || !separator.joinLeft || !separator.joinUp || !separator.joinDown) { throw new Error(`Can not get border separator for position [${horizontalBorderIndex}, ${verticalBorderIndex}]`); } if (inSameRange(...pairs[0])) { return separator.joinDown; } if (inSameRange(...pairs[1])) { return separator.joinLeft; } if (inSameRange(...pairs[2])) { return separator.joinUp; } return separator.joinRight; } throw new Error("Invalid case"); } if (verticalBorderIndex === 0) { return separator.left; } if (verticalBorderIndex === columnCount) { return separator.right; } return separator.join; }; }; exports2.createSeparatorGetter = createSeparatorGetter; var drawBorder = (columnWidths, parameters) => { const borderSegments = (0, exports2.drawBorderSegments)(columnWidths, parameters); const { drawVerticalLine, horizontalBorderIndex, spanningCellManager } = parameters; return (0, drawContent_1.drawContent)({ contents: borderSegments, drawSeparator: drawVerticalLine, elementType: "border", rowIndex: horizontalBorderIndex, separatorGetter: (0, exports2.createSeparatorGetter)(parameters), spanningCellManager }) + "\n"; }; exports2.drawBorder = drawBorder; var drawBorderTop = (columnWidths, parameters) => { const { border } = parameters; const result2 = (0, exports2.drawBorder)(columnWidths, { ...parameters, separator: { body: border.topBody, join: border.topJoin, left: border.topLeft, right: border.topRight } }); if (result2 === "\n") { return ""; } return result2; }; exports2.drawBorderTop = drawBorderTop; var drawBorderJoin = (columnWidths, parameters) => { const { border } = parameters; return (0, exports2.drawBorder)(columnWidths, { ...parameters, separator: { body: border.joinBody, bodyJoinInner: border.bodyJoin, bodyJoinOuter: border.bodyLeft, join: border.joinJoin, joinDown: border.joinMiddleDown, joinLeft: border.joinMiddleLeft, joinRight: border.joinMiddleRight, joinUp: border.joinMiddleUp, left: border.joinLeft, right: border.joinRight } }); }; exports2.drawBorderJoin = drawBorderJoin; var drawBorderBottom = (columnWidths, parameters) => { const { border } = parameters; return (0, exports2.drawBorder)(columnWidths, { ...parameters, separator: { body: border.bottomBody, join: border.bottomJoin, left: border.bottomLeft, right: border.bottomRight } }); }; exports2.drawBorderBottom = drawBorderBottom; var createTableBorderGetter = (columnWidths, parameters) => { return (index, size) => { const drawBorderParameters = { ...parameters, horizontalBorderIndex: index }; if (index === 0) { return (0, exports2.drawBorderTop)(columnWidths, drawBorderParameters); } else if (index === size) { return (0, exports2.drawBorderBottom)(columnWidths, drawBorderParameters); } return (0, exports2.drawBorderJoin)(columnWidths, drawBorderParameters); }; }; exports2.createTableBorderGetter = createTableBorderGetter; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawRow.js var require_drawRow2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawRow.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.drawRow = void 0; var drawContent_1 = require_drawContent2(); var drawRow = (row, config) => { const { border, drawVerticalLine, rowIndex, spanningCellManager } = config; return (0, drawContent_1.drawContent)({ contents: row, drawSeparator: drawVerticalLine, elementType: "cell", rowIndex, separatorGetter: (index, columnCount) => { if (index === 0) { return border.bodyLeft; } if (index === columnCount) { return border.bodyRight; } return border.bodyJoin; }, spanningCellManager }) + "\n"; }; exports2.drawRow = drawRow; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/generated/validators.js var require_validators2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/generated/validators.js"(exports2) { "use strict"; exports2["config.json"] = validate43; var schema13 = { "$id": "config.json", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "border": { "$ref": "shared.json#/definitions/borders" }, "header": { "type": "object", "properties": { "content": { "type": "string" }, "alignment": { "$ref": "shared.json#/definitions/alignment" }, "wrapWord": { "type": "boolean" }, "truncate": { "type": "integer" }, "paddingLeft": { "type": "integer" }, "paddingRight": { "type": "integer" } }, "required": ["content"], "additionalProperties": false }, "columns": { "$ref": "shared.json#/definitions/columns" }, "columnDefault": { "$ref": "shared.json#/definitions/column" }, "drawVerticalLine": { "typeof": "function" }, "drawHorizontalLine": { "typeof": "function" }, "singleLine": { "typeof": "boolean" }, "spanningCells": { "type": "array", "items": { "type": "object", "properties": { "col": { "type": "integer", "minimum": 0 }, "row": { "type": "integer", "minimum": 0 }, "colSpan": { "type": "integer", "minimum": 1 }, "rowSpan": { "type": "integer", "minimum": 1 }, "alignment": { "$ref": "shared.json#/definitions/alignment" }, "verticalAlignment": { "$ref": "shared.json#/definitions/verticalAlignment" }, "wrapWord": { "type": "boolean" }, "truncate": { "type": "integer" }, "paddingLeft": { "type": "integer" }, "paddingRight": { "type": "integer" } }, "required": ["row", "col"], "additionalProperties": false } } }, "additionalProperties": false }; var schema15 = { "type": "object", "properties": { "topBody": { "$ref": "#/definitions/border" }, "topJoin": { "$ref": "#/definitions/border" }, "topLeft": { "$ref": "#/definitions/border" }, "topRight": { "$ref": "#/definitions/border" }, "bottomBody": { "$ref": "#/definitions/border" }, "bottomJoin": { "$ref": "#/definitions/border" }, "bottomLeft": { "$ref": "#/definitions/border" }, "bottomRight": { "$ref": "#/definitions/border" }, "bodyLeft": { "$ref": "#/definitions/border" }, "bodyRight": { "$ref": "#/definitions/border" }, "bodyJoin": { "$ref": "#/definitions/border" }, "headerJoin": { "$ref": "#/definitions/border" }, "joinBody": { "$ref": "#/definitions/border" }, "joinLeft": { "$ref": "#/definitions/border" }, "joinRight": { "$ref": "#/definitions/border" }, "joinJoin": { "$ref": "#/definitions/border" }, "joinMiddleUp": { "$ref": "#/definitions/border" }, "joinMiddleDown": { "$ref": "#/definitions/border" }, "joinMiddleLeft": { "$ref": "#/definitions/border" }, "joinMiddleRight": { "$ref": "#/definitions/border" } }, "additionalProperties": false }; var func4 = Object.prototype.hasOwnProperty; function validate46(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } validate46.errors = vErrors; return errors === 0; } function validate45(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!func4.call(schema15.properties, key0)) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.topBody !== void 0) { if (!validate46(data.topBody, { instancePath: instancePath + "/topBody", parentData: data, parentDataProperty: "topBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topJoin !== void 0) { if (!validate46(data.topJoin, { instancePath: instancePath + "/topJoin", parentData: data, parentDataProperty: "topJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topLeft !== void 0) { if (!validate46(data.topLeft, { instancePath: instancePath + "/topLeft", parentData: data, parentDataProperty: "topLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topRight !== void 0) { if (!validate46(data.topRight, { instancePath: instancePath + "/topRight", parentData: data, parentDataProperty: "topRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomBody !== void 0) { if (!validate46(data.bottomBody, { instancePath: instancePath + "/bottomBody", parentData: data, parentDataProperty: "bottomBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomJoin !== void 0) { if (!validate46(data.bottomJoin, { instancePath: instancePath + "/bottomJoin", parentData: data, parentDataProperty: "bottomJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomLeft !== void 0) { if (!validate46(data.bottomLeft, { instancePath: instancePath + "/bottomLeft", parentData: data, parentDataProperty: "bottomLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomRight !== void 0) { if (!validate46(data.bottomRight, { instancePath: instancePath + "/bottomRight", parentData: data, parentDataProperty: "bottomRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyLeft !== void 0) { if (!validate46(data.bodyLeft, { instancePath: instancePath + "/bodyLeft", parentData: data, parentDataProperty: "bodyLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyRight !== void 0) { if (!validate46(data.bodyRight, { instancePath: instancePath + "/bodyRight", parentData: data, parentDataProperty: "bodyRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyJoin !== void 0) { if (!validate46(data.bodyJoin, { instancePath: instancePath + "/bodyJoin", parentData: data, parentDataProperty: "bodyJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.headerJoin !== void 0) { if (!validate46(data.headerJoin, { instancePath: instancePath + "/headerJoin", parentData: data, parentDataProperty: "headerJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinBody !== void 0) { if (!validate46(data.joinBody, { instancePath: instancePath + "/joinBody", parentData: data, parentDataProperty: "joinBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinLeft !== void 0) { if (!validate46(data.joinLeft, { instancePath: instancePath + "/joinLeft", parentData: data, parentDataProperty: "joinLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinRight !== void 0) { if (!validate46(data.joinRight, { instancePath: instancePath + "/joinRight", parentData: data, parentDataProperty: "joinRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinJoin !== void 0) { if (!validate46(data.joinJoin, { instancePath: instancePath + "/joinJoin", parentData: data, parentDataProperty: "joinJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleUp !== void 0) { if (!validate46(data.joinMiddleUp, { instancePath: instancePath + "/joinMiddleUp", parentData: data, parentDataProperty: "joinMiddleUp", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleDown !== void 0) { if (!validate46(data.joinMiddleDown, { instancePath: instancePath + "/joinMiddleDown", parentData: data, parentDataProperty: "joinMiddleDown", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleLeft !== void 0) { if (!validate46(data.joinMiddleLeft, { instancePath: instancePath + "/joinMiddleLeft", parentData: data, parentDataProperty: "joinMiddleLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleRight !== void 0) { if (!validate46(data.joinMiddleRight, { instancePath: instancePath + "/joinMiddleRight", parentData: data, parentDataProperty: "joinMiddleRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } } else { const err1 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate45.errors = vErrors; return errors === 0; } var schema17 = { "type": "string", "enum": ["left", "right", "center", "justify"] }; function validate68(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (!(data === "left" || data === "right" || data === "center" || data === "justify")) { const err1 = { instancePath, schemaPath: "#/enum", keyword: "enum", params: { allowedValues: schema17.enum }, message: "must be equal to one of the allowed values" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate68.errors = vErrors; return errors === 0; } var pattern0 = new RegExp("^[0-9]+$", "u"); function validate72(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (!(data === "left" || data === "right" || data === "center" || data === "justify")) { const err1 = { instancePath, schemaPath: "#/enum", keyword: "enum", params: { allowedValues: schema17.enum }, message: "must be equal to one of the allowed values" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate72.errors = vErrors; return errors === 0; } var schema21 = { "type": "string", "enum": ["top", "middle", "bottom"] }; function validate74(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (!(data === "top" || data === "middle" || data === "bottom")) { const err1 = { instancePath, schemaPath: "#/enum", keyword: "enum", params: { allowedValues: schema21.enum }, message: "must be equal to one of the allowed values" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate74.errors = vErrors; return errors === 0; } function validate71(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.alignment !== void 0) { if (!validate72(data.alignment, { instancePath: instancePath + "/alignment", parentData: data, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors); errors = vErrors.length; } } if (data.verticalAlignment !== void 0) { if (!validate74(data.verticalAlignment, { instancePath: instancePath + "/verticalAlignment", parentData: data, parentDataProperty: "verticalAlignment", rootData })) { vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors); errors = vErrors.length; } } if (data.width !== void 0) { let data2 = data.width; if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) { const err1 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } if (typeof data2 == "number" && isFinite(data2)) { if (data2 < 1 || isNaN(data2)) { const err2 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } } if (data.wrapWord !== void 0) { if (typeof data.wrapWord !== "boolean") { const err3 = { instancePath: instancePath + "/wrapWord", schemaPath: "#/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } } if (data.truncate !== void 0) { let data4 = data.truncate; if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) { const err4 = { instancePath: instancePath + "/truncate", schemaPath: "#/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } if (data.paddingLeft !== void 0) { let data5 = data.paddingLeft; if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) { const err5 = { instancePath: instancePath + "/paddingLeft", schemaPath: "#/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } if (data.paddingRight !== void 0) { let data6 = data.paddingRight; if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) { const err6 = { instancePath: instancePath + "/paddingRight", schemaPath: "#/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } } } else { const err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err7]; } else { vErrors.push(err7); } errors++; } validate71.errors = vErrors; return errors === 0; } function validate70(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; const _errs0 = errors; let valid0 = false; let passing0 = null; const _errs1 = errors; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!pattern0.test(key0)) { const err0 = { instancePath, schemaPath: "#/oneOf/0/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } for (const key1 in data) { if (pattern0.test(key1)) { if (!validate71(data[key1], { instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), parentData: data, parentDataProperty: key1, rootData })) { vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors); errors = vErrors.length; } } } } else { const err1 = { instancePath, schemaPath: "#/oneOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } var _valid0 = _errs1 === errors; if (_valid0) { valid0 = true; passing0 = 0; } const _errs5 = errors; if (Array.isArray(data)) { const len0 = data.length; for (let i0 = 0; i0 < len0; i0++) { if (!validate71(data[i0], { instancePath: instancePath + "/" + i0, parentData: data, parentDataProperty: i0, rootData })) { vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors); errors = vErrors.length; } } } else { const err2 = { instancePath, schemaPath: "#/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } var _valid0 = _errs5 === errors; if (_valid0 && valid0) { valid0 = false; passing0 = [passing0, 1]; } else { if (_valid0) { valid0 = true; passing0 = 1; } } if (!valid0) { const err3 = { instancePath, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } else { errors = _errs0; if (vErrors !== null) { if (_errs0) { vErrors.length = _errs0; } else { vErrors = null; } } } validate70.errors = vErrors; return errors === 0; } function validate79(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.alignment !== void 0) { if (!validate72(data.alignment, { instancePath: instancePath + "/alignment", parentData: data, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors); errors = vErrors.length; } } if (data.verticalAlignment !== void 0) { if (!validate74(data.verticalAlignment, { instancePath: instancePath + "/verticalAlignment", parentData: data, parentDataProperty: "verticalAlignment", rootData })) { vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors); errors = vErrors.length; } } if (data.width !== void 0) { let data2 = data.width; if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) { const err1 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } if (typeof data2 == "number" && isFinite(data2)) { if (data2 < 1 || isNaN(data2)) { const err2 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } } if (data.wrapWord !== void 0) { if (typeof data.wrapWord !== "boolean") { const err3 = { instancePath: instancePath + "/wrapWord", schemaPath: "#/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } } if (data.truncate !== void 0) { let data4 = data.truncate; if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) { const err4 = { instancePath: instancePath + "/truncate", schemaPath: "#/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } if (data.paddingLeft !== void 0) { let data5 = data.paddingLeft; if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) { const err5 = { instancePath: instancePath + "/paddingLeft", schemaPath: "#/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } if (data.paddingRight !== void 0) { let data6 = data.paddingRight; if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) { const err6 = { instancePath: instancePath + "/paddingRight", schemaPath: "#/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } } } else { const err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err7]; } else { vErrors.push(err7); } errors++; } validate79.errors = vErrors; return errors === 0; } function validate84(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (typeof data !== "string") { const err0 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (!(data === "top" || data === "middle" || data === "bottom")) { const err1 = { instancePath, schemaPath: "#/enum", keyword: "enum", params: { allowedValues: schema21.enum }, message: "must be equal to one of the allowed values" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate84.errors = vErrors; return errors === 0; } function validate43(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { ; let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!(key0 === "border" || key0 === "header" || key0 === "columns" || key0 === "columnDefault" || key0 === "drawVerticalLine" || key0 === "drawHorizontalLine" || key0 === "singleLine" || key0 === "spanningCells")) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.border !== void 0) { if (!validate45(data.border, { instancePath: instancePath + "/border", parentData: data, parentDataProperty: "border", rootData })) { vErrors = vErrors === null ? validate45.errors : vErrors.concat(validate45.errors); errors = vErrors.length; } } if (data.header !== void 0) { let data1 = data.header; if (data1 && typeof data1 == "object" && !Array.isArray(data1)) { if (data1.content === void 0) { const err1 = { instancePath: instancePath + "/header", schemaPath: "#/properties/header/required", keyword: "required", params: { missingProperty: "content" }, message: "must have required property 'content'" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } for (const key1 in data1) { if (!(key1 === "content" || key1 === "alignment" || key1 === "wrapWord" || key1 === "truncate" || key1 === "paddingLeft" || key1 === "paddingRight")) { const err2 = { instancePath: instancePath + "/header", schemaPath: "#/properties/header/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } if (data1.content !== void 0) { if (typeof data1.content !== "string") { const err3 = { instancePath: instancePath + "/header/content", schemaPath: "#/properties/header/properties/content/type", keyword: "type", params: { type: "string" }, message: "must be string" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } } if (data1.alignment !== void 0) { if (!validate68(data1.alignment, { instancePath: instancePath + "/header/alignment", parentData: data1, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors); errors = vErrors.length; } } if (data1.wrapWord !== void 0) { if (typeof data1.wrapWord !== "boolean") { const err4 = { instancePath: instancePath + "/header/wrapWord", schemaPath: "#/properties/header/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } if (data1.truncate !== void 0) { let data5 = data1.truncate; if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) { const err5 = { instancePath: instancePath + "/header/truncate", schemaPath: "#/properties/header/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } if (data1.paddingLeft !== void 0) { let data6 = data1.paddingLeft; if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) { const err6 = { instancePath: instancePath + "/header/paddingLeft", schemaPath: "#/properties/header/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } } if (data1.paddingRight !== void 0) { let data7 = data1.paddingRight; if (!(typeof data7 == "number" && (!(data7 % 1) && !isNaN(data7)) && isFinite(data7))) { const err7 = { instancePath: instancePath + "/header/paddingRight", schemaPath: "#/properties/header/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err7]; } else { vErrors.push(err7); } errors++; } } } else { const err8 = { instancePath: instancePath + "/header", schemaPath: "#/properties/header/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err8]; } else { vErrors.push(err8); } errors++; } } if (data.columns !== void 0) { if (!validate70(data.columns, { instancePath: instancePath + "/columns", parentData: data, parentDataProperty: "columns", rootData })) { vErrors = vErrors === null ? validate70.errors : vErrors.concat(validate70.errors); errors = vErrors.length; } } if (data.columnDefault !== void 0) { if (!validate79(data.columnDefault, { instancePath: instancePath + "/columnDefault", parentData: data, parentDataProperty: "columnDefault", rootData })) { vErrors = vErrors === null ? validate79.errors : vErrors.concat(validate79.errors); errors = vErrors.length; } } if (data.drawVerticalLine !== void 0) { if (typeof data.drawVerticalLine != "function") { const err9 = { instancePath: instancePath + "/drawVerticalLine", schemaPath: "#/properties/drawVerticalLine/typeof", keyword: "typeof", params: {}, message: 'must pass "typeof" keyword validation' }; if (vErrors === null) { vErrors = [err9]; } else { vErrors.push(err9); } errors++; } } if (data.drawHorizontalLine !== void 0) { if (typeof data.drawHorizontalLine != "function") { const err10 = { instancePath: instancePath + "/drawHorizontalLine", schemaPath: "#/properties/drawHorizontalLine/typeof", keyword: "typeof", params: {}, message: 'must pass "typeof" keyword validation' }; if (vErrors === null) { vErrors = [err10]; } else { vErrors.push(err10); } errors++; } } if (data.singleLine !== void 0) { if (typeof data.singleLine != "boolean") { const err11 = { instancePath: instancePath + "/singleLine", schemaPath: "#/properties/singleLine/typeof", keyword: "typeof", params: {}, message: 'must pass "typeof" keyword validation' }; if (vErrors === null) { vErrors = [err11]; } else { vErrors.push(err11); } errors++; } } if (data.spanningCells !== void 0) { let data13 = data.spanningCells; if (Array.isArray(data13)) { const len0 = data13.length; for (let i0 = 0; i0 < len0; i0++) { let data14 = data13[i0]; if (data14 && typeof data14 == "object" && !Array.isArray(data14)) { if (data14.row === void 0) { const err12 = { instancePath: instancePath + "/spanningCells/" + i0, schemaPath: "#/properties/spanningCells/items/required", keyword: "required", params: { missingProperty: "row" }, message: "must have required property 'row'" }; if (vErrors === null) { vErrors = [err12]; } else { vErrors.push(err12); } errors++; } if (data14.col === void 0) { const err13 = { instancePath: instancePath + "/spanningCells/" + i0, schemaPath: "#/properties/spanningCells/items/required", keyword: "required", params: { missingProperty: "col" }, message: "must have required property 'col'" }; if (vErrors === null) { vErrors = [err13]; } else { vErrors.push(err13); } errors++; } for (const key2 in data14) { if (!func4.call(schema13.properties.spanningCells.items.properties, key2)) { const err14 = { instancePath: instancePath + "/spanningCells/" + i0, schemaPath: "#/properties/spanningCells/items/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err14]; } else { vErrors.push(err14); } errors++; } } if (data14.col !== void 0) { let data15 = data14.col; if (!(typeof data15 == "number" && (!(data15 % 1) && !isNaN(data15)) && isFinite(data15))) { const err15 = { instancePath: instancePath + "/spanningCells/" + i0 + "/col", schemaPath: "#/properties/spanningCells/items/properties/col/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err15]; } else { vErrors.push(err15); } errors++; } if (typeof data15 == "number" && isFinite(data15)) { if (data15 < 0 || isNaN(data15)) { const err16 = { instancePath: instancePath + "/spanningCells/" + i0 + "/col", schemaPath: "#/properties/spanningCells/items/properties/col/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }; if (vErrors === null) { vErrors = [err16]; } else { vErrors.push(err16); } errors++; } } } if (data14.row !== void 0) { let data16 = data14.row; if (!(typeof data16 == "number" && (!(data16 % 1) && !isNaN(data16)) && isFinite(data16))) { const err17 = { instancePath: instancePath + "/spanningCells/" + i0 + "/row", schemaPath: "#/properties/spanningCells/items/properties/row/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err17]; } else { vErrors.push(err17); } errors++; } if (typeof data16 == "number" && isFinite(data16)) { if (data16 < 0 || isNaN(data16)) { const err18 = { instancePath: instancePath + "/spanningCells/" + i0 + "/row", schemaPath: "#/properties/spanningCells/items/properties/row/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }; if (vErrors === null) { vErrors = [err18]; } else { vErrors.push(err18); } errors++; } } } if (data14.colSpan !== void 0) { let data17 = data14.colSpan; if (!(typeof data17 == "number" && (!(data17 % 1) && !isNaN(data17)) && isFinite(data17))) { const err19 = { instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan", schemaPath: "#/properties/spanningCells/items/properties/colSpan/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err19]; } else { vErrors.push(err19); } errors++; } if (typeof data17 == "number" && isFinite(data17)) { if (data17 < 1 || isNaN(data17)) { const err20 = { instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan", schemaPath: "#/properties/spanningCells/items/properties/colSpan/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err20]; } else { vErrors.push(err20); } errors++; } } } if (data14.rowSpan !== void 0) { let data18 = data14.rowSpan; if (!(typeof data18 == "number" && (!(data18 % 1) && !isNaN(data18)) && isFinite(data18))) { const err21 = { instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan", schemaPath: "#/properties/spanningCells/items/properties/rowSpan/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err21]; } else { vErrors.push(err21); } errors++; } if (typeof data18 == "number" && isFinite(data18)) { if (data18 < 1 || isNaN(data18)) { const err22 = { instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan", schemaPath: "#/properties/spanningCells/items/properties/rowSpan/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err22]; } else { vErrors.push(err22); } errors++; } } } if (data14.alignment !== void 0) { if (!validate68(data14.alignment, { instancePath: instancePath + "/spanningCells/" + i0 + "/alignment", parentData: data14, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors); errors = vErrors.length; } } if (data14.verticalAlignment !== void 0) { if (!validate84(data14.verticalAlignment, { instancePath: instancePath + "/spanningCells/" + i0 + "/verticalAlignment", parentData: data14, parentDataProperty: "verticalAlignment", rootData })) { vErrors = vErrors === null ? validate84.errors : vErrors.concat(validate84.errors); errors = vErrors.length; } } if (data14.wrapWord !== void 0) { if (typeof data14.wrapWord !== "boolean") { const err23 = { instancePath: instancePath + "/spanningCells/" + i0 + "/wrapWord", schemaPath: "#/properties/spanningCells/items/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err23]; } else { vErrors.push(err23); } errors++; } } if (data14.truncate !== void 0) { let data22 = data14.truncate; if (!(typeof data22 == "number" && (!(data22 % 1) && !isNaN(data22)) && isFinite(data22))) { const err24 = { instancePath: instancePath + "/spanningCells/" + i0 + "/truncate", schemaPath: "#/properties/spanningCells/items/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err24]; } else { vErrors.push(err24); } errors++; } } if (data14.paddingLeft !== void 0) { let data23 = data14.paddingLeft; if (!(typeof data23 == "number" && (!(data23 % 1) && !isNaN(data23)) && isFinite(data23))) { const err25 = { instancePath: instancePath + "/spanningCells/" + i0 + "/paddingLeft", schemaPath: "#/properties/spanningCells/items/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err25]; } else { vErrors.push(err25); } errors++; } } if (data14.paddingRight !== void 0) { let data24 = data14.paddingRight; if (!(typeof data24 == "number" && (!(data24 % 1) && !isNaN(data24)) && isFinite(data24))) { const err26 = { instancePath: instancePath + "/spanningCells/" + i0 + "/paddingRight", schemaPath: "#/properties/spanningCells/items/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err26]; } else { vErrors.push(err26); } errors++; } } } else { const err27 = { instancePath: instancePath + "/spanningCells/" + i0, schemaPath: "#/properties/spanningCells/items/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err27]; } else { vErrors.push(err27); } errors++; } } } else { const err28 = { instancePath: instancePath + "/spanningCells", schemaPath: "#/properties/spanningCells/type", keyword: "type", params: { type: "array" }, message: "must be array" }; if (vErrors === null) { vErrors = [err28]; } else { vErrors.push(err28); } errors++; } } } else { const err29 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err29]; } else { vErrors.push(err29); } errors++; } validate43.errors = vErrors; return errors === 0; } exports2["streamConfig.json"] = validate86; function validate87(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!func4.call(schema15.properties, key0)) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.topBody !== void 0) { if (!validate46(data.topBody, { instancePath: instancePath + "/topBody", parentData: data, parentDataProperty: "topBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topJoin !== void 0) { if (!validate46(data.topJoin, { instancePath: instancePath + "/topJoin", parentData: data, parentDataProperty: "topJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topLeft !== void 0) { if (!validate46(data.topLeft, { instancePath: instancePath + "/topLeft", parentData: data, parentDataProperty: "topLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.topRight !== void 0) { if (!validate46(data.topRight, { instancePath: instancePath + "/topRight", parentData: data, parentDataProperty: "topRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomBody !== void 0) { if (!validate46(data.bottomBody, { instancePath: instancePath + "/bottomBody", parentData: data, parentDataProperty: "bottomBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomJoin !== void 0) { if (!validate46(data.bottomJoin, { instancePath: instancePath + "/bottomJoin", parentData: data, parentDataProperty: "bottomJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomLeft !== void 0) { if (!validate46(data.bottomLeft, { instancePath: instancePath + "/bottomLeft", parentData: data, parentDataProperty: "bottomLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bottomRight !== void 0) { if (!validate46(data.bottomRight, { instancePath: instancePath + "/bottomRight", parentData: data, parentDataProperty: "bottomRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyLeft !== void 0) { if (!validate46(data.bodyLeft, { instancePath: instancePath + "/bodyLeft", parentData: data, parentDataProperty: "bodyLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyRight !== void 0) { if (!validate46(data.bodyRight, { instancePath: instancePath + "/bodyRight", parentData: data, parentDataProperty: "bodyRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.bodyJoin !== void 0) { if (!validate46(data.bodyJoin, { instancePath: instancePath + "/bodyJoin", parentData: data, parentDataProperty: "bodyJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.headerJoin !== void 0) { if (!validate46(data.headerJoin, { instancePath: instancePath + "/headerJoin", parentData: data, parentDataProperty: "headerJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinBody !== void 0) { if (!validate46(data.joinBody, { instancePath: instancePath + "/joinBody", parentData: data, parentDataProperty: "joinBody", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinLeft !== void 0) { if (!validate46(data.joinLeft, { instancePath: instancePath + "/joinLeft", parentData: data, parentDataProperty: "joinLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinRight !== void 0) { if (!validate46(data.joinRight, { instancePath: instancePath + "/joinRight", parentData: data, parentDataProperty: "joinRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinJoin !== void 0) { if (!validate46(data.joinJoin, { instancePath: instancePath + "/joinJoin", parentData: data, parentDataProperty: "joinJoin", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleUp !== void 0) { if (!validate46(data.joinMiddleUp, { instancePath: instancePath + "/joinMiddleUp", parentData: data, parentDataProperty: "joinMiddleUp", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleDown !== void 0) { if (!validate46(data.joinMiddleDown, { instancePath: instancePath + "/joinMiddleDown", parentData: data, parentDataProperty: "joinMiddleDown", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleLeft !== void 0) { if (!validate46(data.joinMiddleLeft, { instancePath: instancePath + "/joinMiddleLeft", parentData: data, parentDataProperty: "joinMiddleLeft", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } if (data.joinMiddleRight !== void 0) { if (!validate46(data.joinMiddleRight, { instancePath: instancePath + "/joinMiddleRight", parentData: data, parentDataProperty: "joinMiddleRight", rootData })) { vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors); errors = vErrors.length; } } } else { const err1 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } validate87.errors = vErrors; return errors === 0; } function validate109(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; const _errs0 = errors; let valid0 = false; let passing0 = null; const _errs1 = errors; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!pattern0.test(key0)) { const err0 = { instancePath, schemaPath: "#/oneOf/0/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } for (const key1 in data) { if (pattern0.test(key1)) { if (!validate71(data[key1], { instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), parentData: data, parentDataProperty: key1, rootData })) { vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors); errors = vErrors.length; } } } } else { const err1 = { instancePath, schemaPath: "#/oneOf/0/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } var _valid0 = _errs1 === errors; if (_valid0) { valid0 = true; passing0 = 0; } const _errs5 = errors; if (Array.isArray(data)) { const len0 = data.length; for (let i0 = 0; i0 < len0; i0++) { if (!validate71(data[i0], { instancePath: instancePath + "/" + i0, parentData: data, parentDataProperty: i0, rootData })) { vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors); errors = vErrors.length; } } } else { const err2 = { instancePath, schemaPath: "#/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } var _valid0 = _errs5 === errors; if (_valid0 && valid0) { valid0 = false; passing0 = [passing0, 1]; } else { if (_valid0) { valid0 = true; passing0 = 1; } } if (!valid0) { const err3 = { instancePath, schemaPath: "#/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } else { errors = _errs0; if (vErrors !== null) { if (_errs0) { vErrors.length = _errs0; } else { vErrors = null; } } } validate109.errors = vErrors; return errors === 0; } function validate113(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { for (const key0 in data) { if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) { const err0 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } } if (data.alignment !== void 0) { if (!validate72(data.alignment, { instancePath: instancePath + "/alignment", parentData: data, parentDataProperty: "alignment", rootData })) { vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors); errors = vErrors.length; } } if (data.verticalAlignment !== void 0) { if (!validate74(data.verticalAlignment, { instancePath: instancePath + "/verticalAlignment", parentData: data, parentDataProperty: "verticalAlignment", rootData })) { vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors); errors = vErrors.length; } } if (data.width !== void 0) { let data2 = data.width; if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) { const err1 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } if (typeof data2 == "number" && isFinite(data2)) { if (data2 < 1 || isNaN(data2)) { const err2 = { instancePath: instancePath + "/width", schemaPath: "#/properties/width/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } } if (data.wrapWord !== void 0) { if (typeof data.wrapWord !== "boolean") { const err3 = { instancePath: instancePath + "/wrapWord", schemaPath: "#/properties/wrapWord/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } } if (data.truncate !== void 0) { let data4 = data.truncate; if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) { const err4 = { instancePath: instancePath + "/truncate", schemaPath: "#/properties/truncate/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } if (data.paddingLeft !== void 0) { let data5 = data.paddingLeft; if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) { const err5 = { instancePath: instancePath + "/paddingLeft", schemaPath: "#/properties/paddingLeft/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } if (data.paddingRight !== void 0) { let data6 = data.paddingRight; if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) { const err6 = { instancePath: instancePath + "/paddingRight", schemaPath: "#/properties/paddingRight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } } } else { const err7 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err7]; } else { vErrors.push(err7); } errors++; } validate113.errors = vErrors; return errors === 0; } function validate86(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { ; let vErrors = null; let errors = 0; if (data && typeof data == "object" && !Array.isArray(data)) { if (data.columnDefault === void 0) { const err0 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "columnDefault" }, message: "must have required property 'columnDefault'" }; if (vErrors === null) { vErrors = [err0]; } else { vErrors.push(err0); } errors++; } if (data.columnCount === void 0) { const err1 = { instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: "columnCount" }, message: "must have required property 'columnCount'" }; if (vErrors === null) { vErrors = [err1]; } else { vErrors.push(err1); } errors++; } for (const key0 in data) { if (!(key0 === "border" || key0 === "columns" || key0 === "columnDefault" || key0 === "columnCount" || key0 === "drawVerticalLine")) { const err2 = { instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }; if (vErrors === null) { vErrors = [err2]; } else { vErrors.push(err2); } errors++; } } if (data.border !== void 0) { if (!validate87(data.border, { instancePath: instancePath + "/border", parentData: data, parentDataProperty: "border", rootData })) { vErrors = vErrors === null ? validate87.errors : vErrors.concat(validate87.errors); errors = vErrors.length; } } if (data.columns !== void 0) { if (!validate109(data.columns, { instancePath: instancePath + "/columns", parentData: data, parentDataProperty: "columns", rootData })) { vErrors = vErrors === null ? validate109.errors : vErrors.concat(validate109.errors); errors = vErrors.length; } } if (data.columnDefault !== void 0) { if (!validate113(data.columnDefault, { instancePath: instancePath + "/columnDefault", parentData: data, parentDataProperty: "columnDefault", rootData })) { vErrors = vErrors === null ? validate113.errors : vErrors.concat(validate113.errors); errors = vErrors.length; } } if (data.columnCount !== void 0) { let data3 = data.columnCount; if (!(typeof data3 == "number" && (!(data3 % 1) && !isNaN(data3)) && isFinite(data3))) { const err3 = { instancePath: instancePath + "/columnCount", schemaPath: "#/properties/columnCount/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }; if (vErrors === null) { vErrors = [err3]; } else { vErrors.push(err3); } errors++; } if (typeof data3 == "number" && isFinite(data3)) { if (data3 < 1 || isNaN(data3)) { const err4 = { instancePath: instancePath + "/columnCount", schemaPath: "#/properties/columnCount/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }; if (vErrors === null) { vErrors = [err4]; } else { vErrors.push(err4); } errors++; } } } if (data.drawVerticalLine !== void 0) { if (typeof data.drawVerticalLine != "function") { const err5 = { instancePath: instancePath + "/drawVerticalLine", schemaPath: "#/properties/drawVerticalLine/typeof", keyword: "typeof", params: {}, message: 'must pass "typeof" keyword validation' }; if (vErrors === null) { vErrors = [err5]; } else { vErrors.push(err5); } errors++; } } } else { const err6 = { instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }; if (vErrors === null) { vErrors = [err6]; } else { vErrors.push(err6); } errors++; } validate86.errors = vErrors; return errors === 0; } } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateConfig.js var require_validateConfig2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateConfig.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateConfig = void 0; var validators_1 = __importDefault2(require_validators2()); var validateConfig = (schemaId, config) => { const validate2 = validators_1.default[schemaId]; if (!validate2(config) && validate2.errors) { const errors = validate2.errors.map((error) => { return { message: error.message, params: error.params, schemaPath: error.schemaPath }; }); console.log("config", config); console.log("errors", errors); throw new Error("Invalid config."); } }; exports2.validateConfig = validateConfig; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeStreamConfig.js var require_makeStreamConfig2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeStreamConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.makeStreamConfig = void 0; var utils_1 = require_utils16(); var validateConfig_1 = require_validateConfig2(); var makeColumnsConfig = (columnCount, columns = {}, columnDefault) => { return Array.from({ length: columnCount }).map((_, index) => { return { alignment: "left", paddingLeft: 1, paddingRight: 1, truncate: Number.POSITIVE_INFINITY, verticalAlignment: "top", wrapWord: false, ...columnDefault, ...columns[index] }; }); }; var makeStreamConfig = (config) => { (0, validateConfig_1.validateConfig)("streamConfig.json", config); if (config.columnDefault.width === void 0) { throw new Error("Must provide config.columnDefault.width when creating a stream."); } return { drawVerticalLine: () => { return true; }, ...config, border: (0, utils_1.makeBorderConfig)(config.border), columns: makeColumnsConfig(config.columnCount, config.columns, config.columnDefault) }; }; exports2.makeStreamConfig = makeStreamConfig; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/mapDataUsingRowHeights.js var require_mapDataUsingRowHeights2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/mapDataUsingRowHeights.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.mapDataUsingRowHeights = exports2.padCellVertically = void 0; var utils_1 = require_utils16(); var wrapCell_1 = require_wrapCell2(); var createEmptyStrings = (length) => { return new Array(length).fill(""); }; var padCellVertically = (lines, rowHeight, verticalAlignment) => { const availableLines = rowHeight - lines.length; if (verticalAlignment === "top") { return [...lines, ...createEmptyStrings(availableLines)]; } if (verticalAlignment === "bottom") { return [...createEmptyStrings(availableLines), ...lines]; } return [ ...createEmptyStrings(Math.floor(availableLines / 2)), ...lines, ...createEmptyStrings(Math.ceil(availableLines / 2)) ]; }; exports2.padCellVertically = padCellVertically; var mapDataUsingRowHeights = (unmappedRows, rowHeights, config) => { const nColumns = unmappedRows[0].length; const mappedRows = unmappedRows.map((unmappedRow, unmappedRowIndex) => { const outputRowHeight = rowHeights[unmappedRowIndex]; const outputRow = Array.from({ length: outputRowHeight }, () => { return new Array(nColumns).fill(""); }); unmappedRow.forEach((cell, cellIndex) => { const containingRange = config.spanningCellManager?.getContainingRange({ col: cellIndex, row: unmappedRowIndex }); if (containingRange) { containingRange.extractCellContent(unmappedRowIndex).forEach((cellLine, cellLineIndex) => { outputRow[cellLineIndex][cellIndex] = cellLine; }); return; } const cellLines = (0, wrapCell_1.wrapCell)(cell, config.columns[cellIndex].width, config.columns[cellIndex].wrapWord); const paddedCellLines = (0, exports2.padCellVertically)(cellLines, outputRowHeight, config.columns[cellIndex].verticalAlignment); paddedCellLines.forEach((cellLine, cellLineIndex) => { outputRow[cellLineIndex][cellIndex] = cellLine; }); }); return outputRow; }); return (0, utils_1.flatten)(mappedRows); }; exports2.mapDataUsingRowHeights = mapDataUsingRowHeights; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/padTableData.js var require_padTableData2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/padTableData.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.padTableData = exports2.padString = void 0; var padString = (input, paddingLeft, paddingRight) => { return " ".repeat(paddingLeft) + input + " ".repeat(paddingRight); }; exports2.padString = padString; var padTableData = (rows, config) => { return rows.map((cells, rowIndex) => { return cells.map((cell, cellIndex) => { const containingRange = config.spanningCellManager?.getContainingRange({ col: cellIndex, row: rowIndex }, { mapped: true }); if (containingRange) { return cell; } const { paddingLeft, paddingRight } = config.columns[cellIndex]; return (0, exports2.padString)(cell, paddingLeft, paddingRight); }); }); }; exports2.padTableData = padTableData; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/stringifyTableData.js var require_stringifyTableData2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/stringifyTableData.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.stringifyTableData = void 0; var utils_1 = require_utils16(); var stringifyTableData = (rows) => { return rows.map((cells) => { return cells.map((cell) => { return (0, utils_1.normalizeString)(String(cell)); }); }); }; exports2.stringifyTableData = stringifyTableData; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/truncateTableData.js var require_truncateTableData2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/truncateTableData.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.truncateTableData = exports2.truncateString = void 0; var lodash_truncate_1 = __importDefault2(require_lodash3()); var truncateString = (input, length) => { return (0, lodash_truncate_1.default)(input, { length, omission: "\u2026" }); }; exports2.truncateString = truncateString; var truncateTableData = (rows, truncates) => { return rows.map((cells) => { return cells.map((cell, cellIndex) => { return (0, exports2.truncateString)(cell, truncates[cellIndex]); }); }); }; exports2.truncateTableData = truncateTableData; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/createStream.js var require_createStream2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/createStream.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createStream = void 0; var alignTableData_1 = require_alignTableData2(); var calculateRowHeights_1 = require_calculateRowHeights2(); var drawBorder_1 = require_drawBorder2(); var drawRow_1 = require_drawRow2(); var makeStreamConfig_1 = require_makeStreamConfig2(); var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights2(); var padTableData_1 = require_padTableData2(); var stringifyTableData_1 = require_stringifyTableData2(); var truncateTableData_1 = require_truncateTableData2(); var utils_1 = require_utils16(); var prepareData = (data, config) => { let rows = (0, stringifyTableData_1.stringifyTableData)(data); rows = (0, truncateTableData_1.truncateTableData)(rows, (0, utils_1.extractTruncates)(config)); const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config); rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config); rows = (0, alignTableData_1.alignTableData)(rows, config); rows = (0, padTableData_1.padTableData)(rows, config); return rows; }; var create = (row, columnWidths, config) => { const rows = prepareData([row], config); const body = rows.map((literalRow) => { return (0, drawRow_1.drawRow)(literalRow, config); }).join(""); let output; output = ""; output += (0, drawBorder_1.drawBorderTop)(columnWidths, config); output += body; output += (0, drawBorder_1.drawBorderBottom)(columnWidths, config); output = output.trimEnd(); process.stdout.write(output); }; var append = (row, columnWidths, config) => { const rows = prepareData([row], config); const body = rows.map((literalRow) => { return (0, drawRow_1.drawRow)(literalRow, config); }).join(""); let output = ""; const bottom = (0, drawBorder_1.drawBorderBottom)(columnWidths, config); if (bottom !== "\n") { output = "\r\x1B[K"; } output += (0, drawBorder_1.drawBorderJoin)(columnWidths, config); output += body; output += bottom; output = output.trimEnd(); process.stdout.write(output); }; var createStream = (userConfig) => { const config = (0, makeStreamConfig_1.makeStreamConfig)(userConfig); const columnWidths = Object.values(config.columns).map((column) => { return column.width + column.paddingLeft + column.paddingRight; }); let empty = true; return { write: (row) => { if (row.length !== config.columnCount) { throw new Error("Row cell count does not match the config.columnCount."); } if (empty) { empty = false; create(row, columnWidths, config); } else { append(row, columnWidths, config); } } }; }; exports2.createStream = createStream; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateOutputColumnWidths.js var require_calculateOutputColumnWidths2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateOutputColumnWidths.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateOutputColumnWidths = void 0; var calculateOutputColumnWidths = (config) => { return config.columns.map((col) => { return col.paddingLeft + col.width + col.paddingRight; }); }; exports2.calculateOutputColumnWidths = calculateOutputColumnWidths; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawTable.js var require_drawTable2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawTable.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.drawTable = void 0; var drawBorder_1 = require_drawBorder2(); var drawContent_1 = require_drawContent2(); var drawRow_1 = require_drawRow2(); var utils_1 = require_utils16(); var drawTable = (rows, outputColumnWidths, rowHeights, config) => { const { drawHorizontalLine, singleLine } = config; const contents = (0, utils_1.groupBySizes)(rows, rowHeights).map((group, groupIndex) => { return group.map((row) => { return (0, drawRow_1.drawRow)(row, { ...config, rowIndex: groupIndex }); }).join(""); }); return (0, drawContent_1.drawContent)({ contents, drawSeparator: (index, size) => { if (index === 0 || index === size) { return drawHorizontalLine(index, size); } return !singleLine && drawHorizontalLine(index, size); }, elementType: "row", rowIndex: -1, separatorGetter: (0, drawBorder_1.createTableBorderGetter)(outputColumnWidths, { ...config, rowCount: contents.length }), spanningCellManager: config.spanningCellManager }); }; exports2.drawTable = drawTable; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/injectHeaderConfig.js var require_injectHeaderConfig2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/injectHeaderConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.injectHeaderConfig = void 0; var injectHeaderConfig = (rows, config) => { let spanningCellConfig = config.spanningCells ?? []; const headerConfig = config.header; const adjustedRows = [...rows]; if (headerConfig) { spanningCellConfig = spanningCellConfig.map(({ row, ...rest }) => { return { ...rest, row: row + 1 }; }); const { content, ...headerStyles } = headerConfig; spanningCellConfig.unshift({ alignment: "center", col: 0, colSpan: rows[0].length, paddingLeft: 1, paddingRight: 1, row: 0, wrapWord: false, ...headerStyles }); adjustedRows.unshift([content, ...Array.from({ length: rows[0].length - 1 }).fill("")]); } return [ adjustedRows, spanningCellConfig ]; }; exports2.injectHeaderConfig = injectHeaderConfig; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateMaximumColumnWidths.js var require_calculateMaximumColumnWidths2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateMaximumColumnWidths.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateMaximumColumnWidths = exports2.calculateMaximumCellWidth = void 0; var string_width_1 = __importDefault2(require_string_width()); var utils_1 = require_utils16(); var calculateMaximumCellWidth = (cell) => { return Math.max(...cell.split("\n").map(string_width_1.default)); }; exports2.calculateMaximumCellWidth = calculateMaximumCellWidth; var calculateMaximumColumnWidths = (rows, spanningCellConfigs = []) => { const columnWidths = new Array(rows[0].length).fill(0); const rangeCoordinates = spanningCellConfigs.map(utils_1.calculateRangeCoordinate); const isSpanningCell = (rowIndex, columnIndex) => { return rangeCoordinates.some((rangeCoordinate) => { return (0, utils_1.isCellInRange)({ col: columnIndex, row: rowIndex }, rangeCoordinate); }); }; rows.forEach((row, rowIndex) => { row.forEach((cell, cellIndex) => { if (isSpanningCell(rowIndex, cellIndex)) { return; } columnWidths[cellIndex] = Math.max(columnWidths[cellIndex], (0, exports2.calculateMaximumCellWidth)(cell)); }); }); return columnWidths; }; exports2.calculateMaximumColumnWidths = calculateMaximumColumnWidths; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignSpanningCell.js var require_alignSpanningCell2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignSpanningCell.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.alignVerticalRangeContent = exports2.wrapRangeContent = void 0; var string_width_1 = __importDefault2(require_string_width()); var alignString_1 = require_alignString2(); var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights2(); var padTableData_1 = require_padTableData2(); var truncateTableData_1 = require_truncateTableData2(); var utils_1 = require_utils16(); var wrapCell_1 = require_wrapCell2(); var wrapRangeContent = (rangeConfig, rangeWidth, context) => { const { topLeft, paddingRight, paddingLeft, truncate, wrapWord, alignment } = rangeConfig; const originalContent = context.rows[topLeft.row][topLeft.col]; const contentWidth = rangeWidth - paddingLeft - paddingRight; return (0, wrapCell_1.wrapCell)((0, truncateTableData_1.truncateString)(originalContent, truncate), contentWidth, wrapWord).map((line) => { const alignedLine = (0, alignString_1.alignString)(line, contentWidth, alignment); return (0, padTableData_1.padString)(alignedLine, paddingLeft, paddingRight); }); }; exports2.wrapRangeContent = wrapRangeContent; var alignVerticalRangeContent = (range, content, context) => { const { rows, drawHorizontalLine, rowHeights } = context; const { topLeft, bottomRight, verticalAlignment } = range; if (rowHeights.length === 0) { return []; } const totalCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, bottomRight.row + 1)); const totalBorderHeight = bottomRight.row - topLeft.row; const hiddenHorizontalBorderCount = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => { return !drawHorizontalLine(horizontalBorderIndex, rows.length); }).length; const availableRangeHeight = totalCellHeight + totalBorderHeight - hiddenHorizontalBorderCount; return (0, mapDataUsingRowHeights_1.padCellVertically)(content, availableRangeHeight, verticalAlignment).map((line) => { if (line.length === 0) { return " ".repeat((0, string_width_1.default)(content[0])); } return line; }); }; exports2.alignVerticalRangeContent = alignVerticalRangeContent; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateSpanningCellWidth.js var require_calculateSpanningCellWidth2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateSpanningCellWidth.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calculateSpanningCellWidth = void 0; var utils_1 = require_utils16(); var calculateSpanningCellWidth = (rangeConfig, dependencies) => { const { columnsConfig, drawVerticalLine } = dependencies; const { topLeft, bottomRight } = rangeConfig; const totalWidth = (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ width }) => { return width; })); const totalPadding = topLeft.col === bottomRight.col ? columnsConfig[topLeft.col].paddingRight + columnsConfig[bottomRight.col].paddingLeft : (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ paddingLeft, paddingRight }) => { return paddingLeft + paddingRight; })); const totalBorderWidths = bottomRight.col - topLeft.col; const totalHiddenVerticalBorders = (0, utils_1.sequence)(topLeft.col + 1, bottomRight.col).filter((verticalBorderIndex) => { return !drawVerticalLine(verticalBorderIndex, columnsConfig.length); }).length; return totalWidth + totalPadding + totalBorderWidths - totalHiddenVerticalBorders; }; exports2.calculateSpanningCellWidth = calculateSpanningCellWidth; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeRangeConfig.js var require_makeRangeConfig2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeRangeConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.makeRangeConfig = void 0; var utils_1 = require_utils16(); var makeRangeConfig = (spanningCellConfig, columnsConfig) => { const { topLeft, bottomRight } = (0, utils_1.calculateRangeCoordinate)(spanningCellConfig); const cellConfig = { ...columnsConfig[topLeft.col], ...spanningCellConfig, paddingRight: spanningCellConfig.paddingRight ?? columnsConfig[bottomRight.col].paddingRight }; return { ...cellConfig, bottomRight, topLeft }; }; exports2.makeRangeConfig = makeRangeConfig; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/spanningCellManager.js var require_spanningCellManager2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/spanningCellManager.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createSpanningCellManager = void 0; var alignSpanningCell_1 = require_alignSpanningCell2(); var calculateSpanningCellWidth_1 = require_calculateSpanningCellWidth2(); var makeRangeConfig_1 = require_makeRangeConfig2(); var utils_1 = require_utils16(); var findRangeConfig = (cell, rangeConfigs) => { return rangeConfigs.find((rangeCoordinate) => { return (0, utils_1.isCellInRange)(cell, rangeCoordinate); }); }; var getContainingRange = (rangeConfig, context) => { const width = (0, calculateSpanningCellWidth_1.calculateSpanningCellWidth)(rangeConfig, context); const wrappedContent = (0, alignSpanningCell_1.wrapRangeContent)(rangeConfig, width, context); const alignedContent = (0, alignSpanningCell_1.alignVerticalRangeContent)(rangeConfig, wrappedContent, context); const getCellContent = (rowIndex) => { const { topLeft } = rangeConfig; const { drawHorizontalLine, rowHeights } = context; const totalWithinHorizontalBorderHeight = rowIndex - topLeft.row; const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, rowIndex).filter((index) => { return !drawHorizontalLine?.(index, rowHeights.length); }).length; const offset = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, rowIndex)) + totalWithinHorizontalBorderHeight - totalHiddenHorizontalBorderHeight; return alignedContent.slice(offset, offset + rowHeights[rowIndex]); }; const getBorderContent = (borderIndex) => { const { topLeft } = rangeConfig; const offset = (0, utils_1.sumArray)(context.rowHeights.slice(topLeft.row, borderIndex)) + (borderIndex - topLeft.row - 1); return alignedContent[offset]; }; return { ...rangeConfig, extractBorderContent: getBorderContent, extractCellContent: getCellContent, height: wrappedContent.length, width }; }; var inSameRange = (cell1, cell2, ranges) => { const range1 = findRangeConfig(cell1, ranges); const range2 = findRangeConfig(cell2, ranges); if (range1 && range2) { return (0, utils_1.areCellEqual)(range1.topLeft, range2.topLeft); } return false; }; var hashRange = (range) => { const { row, col } = range.topLeft; return `${row}/${col}`; }; var createSpanningCellManager = (parameters) => { const { spanningCellConfigs, columnsConfig } = parameters; const ranges = spanningCellConfigs.map((config) => { return (0, makeRangeConfig_1.makeRangeConfig)(config, columnsConfig); }); const rangeCache = {}; let rowHeights = []; return { getContainingRange: (cell, options) => { const originalRow = options?.mapped ? (0, utils_1.findOriginalRowIndex)(rowHeights, cell.row) : cell.row; const range = findRangeConfig({ ...cell, row: originalRow }, ranges); if (!range) { return void 0; } if (rowHeights.length === 0) { return getContainingRange(range, { ...parameters, rowHeights }); } const hash = hashRange(range); rangeCache[hash] ?? (rangeCache[hash] = getContainingRange(range, { ...parameters, rowHeights })); return rangeCache[hash]; }, inSameRange: (cell1, cell2) => { return inSameRange(cell1, cell2, ranges); }, rowHeights, setRowHeights: (_rowHeights) => { rowHeights = _rowHeights; } }; }; exports2.createSpanningCellManager = createSpanningCellManager; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateSpanningCellConfig.js var require_validateSpanningCellConfig2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateSpanningCellConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateSpanningCellConfig = void 0; var utils_1 = require_utils16(); var inRange = (start, end, value) => { return start <= value && value <= end; }; var validateSpanningCellConfig = (rows, configs) => { const [nRow, nCol] = [rows.length, rows[0].length]; configs.forEach((config, configIndex) => { const { colSpan, rowSpan } = config; if (colSpan === void 0 && rowSpan === void 0) { throw new Error(`Expect at least colSpan or rowSpan is provided in config.spanningCells[${configIndex}]`); } if (colSpan !== void 0 && colSpan < 1) { throw new Error(`Expect colSpan is not equal zero, instead got: ${colSpan} in config.spanningCells[${configIndex}]`); } if (rowSpan !== void 0 && rowSpan < 1) { throw new Error(`Expect rowSpan is not equal zero, instead got: ${rowSpan} in config.spanningCells[${configIndex}]`); } }); const rangeCoordinates = configs.map(utils_1.calculateRangeCoordinate); rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => { if (!inRange(0, nCol - 1, topLeft.col) || !inRange(0, nRow - 1, topLeft.row) || !inRange(0, nCol - 1, bottomRight.col) || !inRange(0, nRow - 1, bottomRight.row)) { throw new Error(`Some cells in config.spanningCells[${rangeIndex}] are out of the table`); } }); const configOccupy = Array.from({ length: nRow }, () => { return Array.from({ length: nCol }); }); rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => { (0, utils_1.sequence)(topLeft.row, bottomRight.row).forEach((row) => { (0, utils_1.sequence)(topLeft.col, bottomRight.col).forEach((col) => { if (configOccupy[row][col] !== void 0) { throw new Error(`Spanning cells in config.spanningCells[${configOccupy[row][col]}] and config.spanningCells[${rangeIndex}] are overlap each other`); } configOccupy[row][col] = rangeIndex; }); }); }); }; exports2.validateSpanningCellConfig = validateSpanningCellConfig; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeTableConfig.js var require_makeTableConfig2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeTableConfig.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.makeTableConfig = void 0; var calculateMaximumColumnWidths_1 = require_calculateMaximumColumnWidths2(); var spanningCellManager_1 = require_spanningCellManager2(); var utils_1 = require_utils16(); var validateConfig_1 = require_validateConfig2(); var validateSpanningCellConfig_1 = require_validateSpanningCellConfig2(); var makeColumnsConfig = (rows, columns, columnDefault, spanningCellConfigs) => { const columnWidths = (0, calculateMaximumColumnWidths_1.calculateMaximumColumnWidths)(rows, spanningCellConfigs); return rows[0].map((_, columnIndex) => { return { alignment: "left", paddingLeft: 1, paddingRight: 1, truncate: Number.POSITIVE_INFINITY, verticalAlignment: "top", width: columnWidths[columnIndex], wrapWord: false, ...columnDefault, ...columns?.[columnIndex] }; }); }; var makeTableConfig = (rows, config = {}, injectedSpanningCellConfig) => { (0, validateConfig_1.validateConfig)("config.json", config); (0, validateSpanningCellConfig_1.validateSpanningCellConfig)(rows, config.spanningCells ?? []); const spanningCellConfigs = injectedSpanningCellConfig ?? config.spanningCells ?? []; const columnsConfig = makeColumnsConfig(rows, config.columns, config.columnDefault, spanningCellConfigs); const drawVerticalLine = config.drawVerticalLine ?? (() => { return true; }); const drawHorizontalLine = config.drawHorizontalLine ?? (() => { return true; }); return { ...config, border: (0, utils_1.makeBorderConfig)(config.border), columns: columnsConfig, drawHorizontalLine, drawVerticalLine, singleLine: config.singleLine ?? false, spanningCellManager: (0, spanningCellManager_1.createSpanningCellManager)({ columnsConfig, drawHorizontalLine, drawVerticalLine, rows, spanningCellConfigs }) }; }; exports2.makeTableConfig = makeTableConfig; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateTableData.js var require_validateTableData2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateTableData.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateTableData = void 0; var utils_1 = require_utils16(); var validateTableData = (rows) => { if (!Array.isArray(rows)) { throw new TypeError("Table data must be an array."); } if (rows.length === 0) { throw new Error("Table must define at least one row."); } if (rows[0].length === 0) { throw new Error("Table must define at least one column."); } const columnNumber = rows[0].length; for (const row of rows) { if (!Array.isArray(row)) { throw new TypeError("Table row data must be an array."); } if (row.length !== columnNumber) { throw new Error("Table must have a consistent number of cells."); } for (const cell of row) { if (/[\u0001-\u0006\u0008\u0009\u000B-\u001A]/.test((0, utils_1.normalizeString)(String(cell)))) { throw new Error("Table data must not contain control characters."); } } } }; exports2.validateTableData = validateTableData; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/table.js var require_table2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/table.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.table = void 0; var alignTableData_1 = require_alignTableData2(); var calculateOutputColumnWidths_1 = require_calculateOutputColumnWidths2(); var calculateRowHeights_1 = require_calculateRowHeights2(); var drawTable_1 = require_drawTable2(); var injectHeaderConfig_1 = require_injectHeaderConfig2(); var makeTableConfig_1 = require_makeTableConfig2(); var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights2(); var padTableData_1 = require_padTableData2(); var stringifyTableData_1 = require_stringifyTableData2(); var truncateTableData_1 = require_truncateTableData2(); var utils_1 = require_utils16(); var validateTableData_1 = require_validateTableData2(); var table = (data, userConfig = {}) => { (0, validateTableData_1.validateTableData)(data); let rows = (0, stringifyTableData_1.stringifyTableData)(data); const [injectedRows, injectedSpanningCellConfig] = (0, injectHeaderConfig_1.injectHeaderConfig)(rows, userConfig); const config = (0, makeTableConfig_1.makeTableConfig)(injectedRows, userConfig, injectedSpanningCellConfig); rows = (0, truncateTableData_1.truncateTableData)(injectedRows, (0, utils_1.extractTruncates)(config)); const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config); config.spanningCellManager.setRowHeights(rowHeights); rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config); rows = (0, alignTableData_1.alignTableData)(rows, config); rows = (0, padTableData_1.padTableData)(rows, config); const outputColumnWidths = (0, calculateOutputColumnWidths_1.calculateOutputColumnWidths)(config); return (0, drawTable_1.drawTable)(rows, outputColumnWidths, rowHeights, config); }; exports2.table = table; } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/types/api.js var require_api2 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/types/api.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); } }); // ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/index.js var require_src4 = __commonJS({ "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getBorderCharacters = exports2.createStream = exports2.table = void 0; var createStream_1 = require_createStream2(); Object.defineProperty(exports2, "createStream", { enumerable: true, get: function() { return createStream_1.createStream; } }); var getBorderCharacters_1 = require_getBorderCharacters2(); Object.defineProperty(exports2, "getBorderCharacters", { enumerable: true, get: function() { return getBorderCharacters_1.getBorderCharacters; } }); var table_1 = require_table2(); Object.defineProperty(exports2, "table", { enumerable: true, get: function() { return table_1.table; } }); __exportStar2(require_api2(), exports2); } }); // ../lockfile/plugin-commands-audit/lib/fix.js var require_fix = __commonJS({ "../lockfile/plugin-commands-audit/lib/fix.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.fix = fix; var config_config_writer_1 = require_lib98(); var difference_1 = __importDefault2(require_difference()); async function fix(auditReport, opts) { const vulnOverrides = createOverrides(Object.values(auditReport.advisories), opts.auditConfig?.ignoreCves); if (Object.values(vulnOverrides).length === 0) return vulnOverrides; await (0, config_config_writer_1.writeSettings)({ updatedSettings: { overrides: { ...opts.overrides, ...vulnOverrides } }, rootProjectManifest: opts.rootProjectManifest, rootProjectManifestDir: opts.rootProjectManifestDir, workspaceDir: opts.workspaceDir ?? opts.rootProjectManifestDir }); return vulnOverrides; } function createOverrides(advisories, ignoreCves) { if (ignoreCves) { advisories = advisories.filter(({ cves }) => (0, difference_1.default)(cves, ignoreCves).length > 0); } return Object.fromEntries(advisories.filter(({ vulnerable_versions, patched_versions }) => vulnerable_versions !== ">=0.0.0" && patched_versions !== "<0.0.0").map((advisory) => [ `${advisory.module_name}@${advisory.vulnerable_versions}`, advisory.patched_versions ])); } } }); // ../lockfile/plugin-commands-audit/lib/ignore.js var require_ignore2 = __commonJS({ "../lockfile/plugin-commands-audit/lib/ignore.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ignore = ignore; var config_config_writer_1 = require_lib98(); var difference_1 = __importDefault2(require_difference()); async function ignore(opts) { const currentCves = opts?.auditConfig?.ignoreCves ?? []; const currentUniqueCves = new Set(currentCves); const advisoryWthNoResolutions = filterAdvisoriesWithNoResolutions(Object.values(opts.auditReport.advisories)); if (opts.ignoreUnfixable) { Object.values(advisoryWthNoResolutions).forEach((advisory) => { advisory.cves.forEach((cve) => currentUniqueCves.add(cve)); }); } else { opts.ignore?.forEach((cve) => currentUniqueCves.add(cve)); } const newIgnoreCves = currentUniqueCves.size > 0 ? Array.from(currentUniqueCves) : void 0; const diffCve = (0, difference_1.default)(newIgnoreCves ?? [], currentCves); await (0, config_config_writer_1.writeSettings)({ ...opts, updatedSettings: { auditConfig: { ...opts.auditConfig, ignoreCves: newIgnoreCves } } }); return [...diffCve]; } function filterAdvisoriesWithNoResolutions(advisories) { return advisories.filter(({ patched_versions }) => patched_versions === "<0.0.0"); } } }); // ../lockfile/plugin-commands-audit/lib/audit.js var require_audit2 = __commonJS({ "../lockfile/plugin-commands-audit/lib/audit.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var audit_1 = require_lib134(); var network_auth_header_1 = require_lib76(); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var constants_1 = require_lib5(); var error_1 = require_lib6(); var lockfile_fs_1 = require_lib121(); var table_1 = require_src4(); var chalk_1 = __importDefault2(require_source()); var difference_1 = __importDefault2(require_difference()); var pick_1 = __importDefault2(require_pick()); var pickBy_1 = __importDefault2(require_pickBy()); var render_help_1 = __importDefault2(require_lib109()); var fix_js_1 = require_fix(); var ignore_js_1 = require_ignore2(); var AUDIT_LEVEL_NUMBER = { low: 0, moderate: 1, high: 2, critical: 3 }; var AUDIT_COLOR = { low: chalk_1.default.bold, moderate: chalk_1.default.bold.yellow, high: chalk_1.default.bold.red, critical: chalk_1.default.bold.red }; var AUDIT_TABLE_OPTIONS = { ...cli_utils_1.TABLE_OPTIONS, columns: { 1: { width: 54, // = table width of 80 wrapWord: true } } }; var MAX_PATHS_COUNT = 3; exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return { ...(0, pick_1.default)([ "dev", "json", "only", "optional", "production", "registry" ], config_1.types), "audit-level": ["low", "moderate", "high", "critical"], fix: Boolean, "ignore-registry-errors": Boolean, ignore: [String, Array], "ignore-unfixable": Boolean }; } exports2.shorthands = { D: "--dev", P: "--production" }; exports2.commandNames = ["audit"]; function help() { return (0, render_help_1.default)({ description: "Checks for known security issues with the installed packages.", descriptionLists: [ { title: "Options", list: [ { description: "Add overrides to the package.json file in order to force non-vulnerable versions of the dependencies", name: "--fix" }, { description: "Output audit report in JSON format", name: "--json" }, { description: "Only print advisories with severity greater than or equal to one of the following: low|moderate|high|critical. Default: low", name: "--audit-level " }, { description: 'Only audit "devDependencies"', name: "--dev", shortAlias: "-D" }, { description: 'Only audit "dependencies" and "optionalDependencies"', name: "--prod", shortAlias: "-P" }, { description: `Don't audit "optionalDependencies"`, name: "--no-optional" }, { description: "Use exit code 0 if the registry responds with an error. Useful when audit checks are used in CI. A build should fail because the registry has issues.", name: "--ignore-registry-errors" }, { description: "Ignore a vulnerability by CVE", name: "--ignore " }, { description: "Ignore all CVEs with no resolution", name: "--ignore-unfixable" } ] } ], url: (0, cli_utils_1.docsUrl)("audit"), usages: ["pnpm audit [options]"] }); } async function handler(opts) { const lockfileDir = opts.lockfileDir ?? opts.dir; const lockfile = await (0, lockfile_fs_1.readWantedLockfile)(lockfileDir, { ignoreIncompatible: true }); if (lockfile == null) { throw new error_1.PnpmError("AUDIT_NO_LOCKFILE", `No ${constants_1.WANTED_LOCKFILE} found: Cannot audit a project without a lockfile`); } const include = { dependencies: opts.production !== false, devDependencies: opts.dev !== false, optionalDependencies: opts.optional !== false }; let auditReport; const getAuthHeader = (0, network_auth_header_1.createGetAuthHeaderByURI)({ allSettings: opts.rawConfig, userSettings: opts.userConfig }); try { auditReport = await (0, audit_1.audit)(lockfile, getAuthHeader, { agentOptions: { ca: opts.ca, cert: opts.cert, httpProxy: opts.httpProxy, httpsProxy: opts.httpsProxy, key: opts.key, localAddress: opts.localAddress, maxSockets: opts.maxSockets, noProxy: opts.noProxy, strictSsl: opts.strictSsl, timeout: opts.fetchTimeout }, include, lockfileDir, registry: opts.registries.default, retry: { factor: opts.fetchRetryFactor, maxTimeout: opts.fetchRetryMaxtimeout, minTimeout: opts.fetchRetryMintimeout, retries: opts.fetchRetries }, timeout: opts.fetchTimeout, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }); } catch (err) { if (opts.ignoreRegistryErrors) { return { exitCode: 0, output: err.message }; } throw err; } if (opts.fix) { const newOverrides = await (0, fix_js_1.fix)(auditReport, opts); if (Object.values(newOverrides).length === 0) { return { exitCode: 0, output: "No fixes were made" }; } return { exitCode: 0, output: `${Object.values(newOverrides).length} overrides were added to package.json to fix vulnerabilities. Run "pnpm install" to apply the fixes. The added overrides: ${JSON.stringify(newOverrides, null, 2)}` }; } if (opts.ignore !== void 0 || opts.ignoreUnfixable) { const newIgnores = await (0, ignore_js_1.ignore)({ auditConfig: opts.auditConfig, auditReport, ignore: opts.ignore, ignoreUnfixable: opts.ignoreUnfixable === true, dir: opts.dir, rootProjectManifest: opts.rootProjectManifest, rootProjectManifestDir: opts.rootProjectManifestDir, workspaceDir: opts.workspaceDir ?? opts.rootProjectManifestDir }); if (newIgnores.length === 0) { return { exitCode: 0, output: "No new vulnerabilities were ignored" }; } return { exitCode: 0, output: `${newIgnores.length} new vulnerabilities were ignored: ${newIgnores.join("\n")}` }; } const vulnerabilities = auditReport.metadata.vulnerabilities; const ignoredVulnerabilities = { low: 0, moderate: 0, high: 0, critical: 0 }; const totalVulnerabilityCount = Object.values(vulnerabilities).reduce((sum, vulnerabilitiesCount) => sum + vulnerabilitiesCount, 0); const ignoreGhsas = opts.auditConfig?.ignoreGhsas; if (ignoreGhsas) { auditReport.advisories = (0, pickBy_1.default)(({ github_advisory_id, severity }) => { if (!ignoreGhsas.includes(github_advisory_id)) { return true; } ignoredVulnerabilities[severity] += 1; return false; }, auditReport.advisories); } const ignoreCves = opts.auditConfig?.ignoreCves; if (ignoreCves) { auditReport.advisories = (0, pickBy_1.default)(({ cves, severity }) => { if (cves.length === 0 || (0, difference_1.default)(cves, ignoreCves).length > 0) { return true; } ignoredVulnerabilities[severity] += 1; return false; }, auditReport.advisories); } if (opts.json) { return { exitCode: totalVulnerabilityCount > 0 ? 1 : 0, output: JSON.stringify(auditReport, null, 2) }; } let output = ""; const auditLevel = AUDIT_LEVEL_NUMBER[opts.auditLevel ?? "low"]; let advisories = Object.values(auditReport.advisories); advisories = advisories.filter(({ severity }) => AUDIT_LEVEL_NUMBER[severity] >= auditLevel).sort((a1, a2) => AUDIT_LEVEL_NUMBER[a2.severity] - AUDIT_LEVEL_NUMBER[a1.severity]); for (const advisory of advisories) { const paths = advisory.findings.map(({ paths: paths2 }) => paths2).flat(); output += (0, table_1.table)([ [AUDIT_COLOR[advisory.severity](advisory.severity), chalk_1.default.bold(advisory.title)], ["Package", advisory.module_name], ["Vulnerable versions", advisory.vulnerable_versions], ["Patched versions", advisory.patched_versions], [ "Paths", (paths.length > MAX_PATHS_COUNT ? paths.slice(0, MAX_PATHS_COUNT).concat([ `... Found ${paths.length} paths, run \`pnpm why ${advisory.module_name}\` for more information` ]) : paths).join("\n\n") ], ["More info", advisory.url] ], AUDIT_TABLE_OPTIONS); } return { exitCode: output ? 1 : 0, output: `${output}${reportSummary(auditReport.metadata.vulnerabilities, totalVulnerabilityCount, ignoredVulnerabilities)}` }; } function reportSummary(vulnerabilities, totalVulnerabilityCount, ignoredVulnerabilities) { if (totalVulnerabilityCount === 0) return "No known vulnerabilities found\n"; return `${chalk_1.default.red(totalVulnerabilityCount)} vulnerabilities found Severity: ${Object.entries(vulnerabilities).filter(([auditLevel, vulnerabilitiesCount]) => vulnerabilitiesCount > 0).map(([auditLevel, vulnerabilitiesCount]) => AUDIT_COLOR[auditLevel](`${vulnerabilitiesCount} ${auditLevel}${ignoredVulnerabilities[auditLevel] > 0 ? ` (${ignoredVulnerabilities[auditLevel]} ignored)` : ""}`)).join(" | ")}`; } } }); // ../lockfile/plugin-commands-audit/lib/index.js var require_lib135 = __commonJS({ "../lockfile/plugin-commands-audit/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.audit = void 0; var audit = __importStar3(require_audit2()); exports2.audit = audit; } }); // ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/constants.js var require_constants14 = __commonJS({ "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/constants.js"(exports2, module2) { var COMPLETION_DIR = "~/.config/tabtab"; var SUPPORTED_SHELLS = ( /** @type {const} */ ["bash", "fish", "pwsh", "zsh"] ); var SHELL_LOCATIONS = ( /** @type {const} */ { bash: "~/.bashrc", zsh: "~/.zshrc", fish: "~/.config/fish/config.fish", pwsh: "~/Documents/PowerShell/Microsoft.PowerShell_profile.ps1" } ); var COMPLETION_FILE_EXT = ( /** @type {const} */ { bash: "bash", fish: "fish", pwsh: "ps1", zsh: "zsh" } ); module2.exports = { COMPLETION_DIR, SUPPORTED_SHELLS, SHELL_LOCATIONS, COMPLETION_FILE_EXT }; } }); // ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/tabtabDebug.js var require_tabtabDebug = __commonJS({ "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/tabtabDebug.js"(exports2, module2) { var fs = require("fs"); var util = require("util"); var tabtabDebug = (name) => { let debug = require_src2()(name); if (process.env.TABTAB_DEBUG) { const file = process.env.TABTAB_DEBUG; const stream = fs.createWriteStream(file, { flags: "a+" }); const log = (...args) => { args = args.map((arg) => { if (typeof arg === "string") return arg; return JSON.stringify(arg); }); const str = `${util.format(...args)} `; stream.write(str); }; if (process.env.COMP_LINE) { debug = log; } else { debug.log = log; } } return debug; }; module2.exports = tabtabDebug; } }); // ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/prompt.js var require_prompt2 = __commonJS({ "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/prompt.js"(exports2, module2) { var enquirer = require_enquirer(); var path2 = require("path"); var { SUPPORTED_SHELLS, SHELL_LOCATIONS } = require_constants14(); var debug = require_tabtabDebug()("tabtab:prompt"); var prompt = async () => { const questions = [ { type: "select", name: "shell", message: "Which Shell do you use ?", choices: SUPPORTED_SHELLS, default: "bash" } ]; const { shell } = ( /** @type {{ shell: SupportedShell }} */ await enquirer.prompt(questions) ); debug("answers", shell); if (!(shell in SHELL_LOCATIONS)) { throw new Error(`Unsupported shell: ${shell}`); } const location = SHELL_LOCATIONS[ /** @type {SupportedShell} */ shell ]; debug(`Will install completion to ${location}`); const initialAnswer = { location, shell }; const { locationOK } = ( /** @type {{ locationOK: Boolean }} */ await enquirer.prompt({ type: "confirm", name: "locationOK", message: `We will install completion to ${location}, is it ok ?` }) ); if (locationOK) { debug("location is ok, return", initialAnswer); return initialAnswer; } const { userLocation } = ( /** @type {{ userLocation: String }} */ await enquirer.prompt({ name: "userLocation", message: "Which path then ? Must be absolute.", type: "input", validate: (input) => { debug("Validating input", input); return path2.isAbsolute(input); } }) ); console.log(`Very well, we will install using ${userLocation}`); return { shell, location: userLocation }; }; module2.exports = prompt; } }); // ../node_modules/.pnpm/untildify@4.0.0/node_modules/untildify/index.js var require_untildify = __commonJS({ "../node_modules/.pnpm/untildify@4.0.0/node_modules/untildify/index.js"(exports2, module2) { "use strict"; var os = require("os"); var homeDirectory = os.homedir(); module2.exports = (pathWithTilde) => { if (typeof pathWithTilde !== "string") { throw new TypeError(`Expected a string, got ${typeof pathWithTilde}`); } return homeDirectory ? pathWithTilde.replace(/^~(?=$|\/|\\)/, homeDirectory) : pathWithTilde; }; } }); // ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/exists.js var require_exists = __commonJS({ "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/exists.js"(exports2, module2) { var fs = require("fs"); var untildify = require_untildify(); var { promisify } = require("util"); var readFile = promisify(fs.readFile); module2.exports = async (file) => { let fileExists; try { await readFile(untildify(file)); fileExists = true; } catch (err) { fileExists = false; } return fileExists; }; } }); // ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/index.js var require_utils17 = __commonJS({ "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/index.js"(exports2, module2) { var tabtabDebug = require_tabtabDebug(); var exists = require_exists(); module2.exports = { tabtabDebug, exists }; } }); // ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/filename.js var require_filename = __commonJS({ "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/filename.js"(exports2, module2) { var { COMPLETION_FILE_EXT } = require_constants14(); var templateFileName = (shell) => { const ext = COMPLETION_FILE_EXT[shell]; if (!ext) { throw new Error(`Unsupported shell: ${shell}`); } return `completion.${ext}`; }; var completionFileName = (name, shell) => { const ext = COMPLETION_FILE_EXT[shell]; if (!ext) { throw new Error(`Unsupported shell: ${shell}`); } return `${name}.${ext}`; }; var tabtabFileName = (shell) => { const ext = COMPLETION_FILE_EXT[shell]; if (!ext) { throw new Error(`Unsupported shell: ${shell}`); } return `__tabtab.${ext}`; }; module2.exports = { templateFileName, completionFileName, tabtabFileName }; } }); // ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/installer.js var require_installer = __commonJS({ "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/installer.js"(exports2, module2) { var fs = require("fs"); var path2 = require("path"); var untildify = require_untildify(); var { promisify } = require("util"); var { tabtabDebug, exists } = require_utils17(); var { SUPPORTED_SHELLS } = require_constants14(); var debug = tabtabDebug("tabtab:installer"); var readFile = promisify(fs.readFile); var writeFile = promisify(fs.writeFile); var unlink = promisify(fs.unlink); var mkdir = promisify(fs.mkdir); var { SHELL_LOCATIONS, COMPLETION_DIR } = require_constants14(); var { templateFileName, completionFileName, tabtabFileName } = require_filename(); var scriptFromShell = (shell) => path2.join(__dirname, "templates", templateFileName(shell)); var locationFromShell = (shell) => { const location = SHELL_LOCATIONS[shell]; if (!location) { throw new Error(`Unsupported shell: ${shell}`); } return untildify(location); }; var sourceLineForShell = (scriptname, shell) => { scriptname = scriptname.replaceAll("\\", "/"); if (shell === "fish") { return `[ -f ${scriptname} ]; and . ${scriptname}; or true`; } if (shell === "zsh") { return `[[ -f ${scriptname} ]] && . ${scriptname} || true`; } if (shell === "pwsh") { return `if (Test-Path ${scriptname}) { . ${scriptname} }`; } if (shell === "bash") { return `[ -f ${scriptname} ] && . ${scriptname} || true`; } throw new Error(`Unsupported shell: ${shell}`); }; var isInShellConfig = (filename) => [ SHELL_LOCATIONS.bash, SHELL_LOCATIONS.zsh, SHELL_LOCATIONS.fish, SHELL_LOCATIONS.pwsh, untildify(SHELL_LOCATIONS.bash), untildify(SHELL_LOCATIONS.zsh), untildify(SHELL_LOCATIONS.fish), untildify(SHELL_LOCATIONS.pwsh) ].includes(filename); var checkFilenameForLine = async (filename, line) => { debug('Check filename (%s) for "%s"', filename, line); let filecontent = ""; try { filecontent = await readFile(untildify(filename), "utf8"); } catch (err) { if (err.code !== "ENOENT") { console.error( "Got an error while trying to read from %s file", filename, err ); return false; } } return !!filecontent.match(`${line}`); }; var writeLineToFilename = ({ filename, scriptname, name, shell }) => new Promise((resolve, reject) => { const filepath = untildify(filename); debug("Creating directory for %s file", filepath); mkdir(path2.dirname(filepath), { recursive: true }).then(() => { const stream = fs.createWriteStream(filepath, { flags: "a" }); stream.on("error", reject); stream.on("finish", () => resolve()); debug("Writing to shell configuration file (%s)", filename); debug("scriptname:", scriptname); const inShellConfig = isInShellConfig(filename); if (inShellConfig) { stream.write(` # tabtab source for packages`); } else { stream.write(` # tabtab source for ${name} package`); } stream.write("\n# uninstall by removing these lines"); stream.write(` ${sourceLineForShell(scriptname, shell)}`); stream.end("\n"); console.log('=> Added tabtab source line in "%s" file', filename); }).catch((err) => { console.error("mkdirp ERROR", err); reject(err); }); }); var writeToShellConfig = async ({ location, name, shell }) => { const scriptname = path2.join( COMPLETION_DIR, shell, tabtabFileName(shell) ); const filename = location; const existing = await checkFilenameForLine(filename, scriptname); if (existing) { return console.log("=> Tabtab line already exists in %s file", filename); } return writeLineToFilename({ filename, scriptname, name, shell }); }; var writeToTabtabScript = async ({ name, shell }) => { const filename = path2.join( COMPLETION_DIR, shell, tabtabFileName(shell) ); const scriptname = path2.join( COMPLETION_DIR, shell, completionFileName(name, shell) ); const existing = await checkFilenameForLine(filename, scriptname); if (existing) { return console.log("=> Tabtab line already exists in %s file", filename); } return writeLineToFilename({ filename, scriptname, name, shell }); }; var getCompletionScript = async ({ name, completer, shell }) => { const templatePath = scriptFromShell(shell); const templateContent = await readFile(templatePath, "utf8"); const scriptContent = templateContent.replaceAll("{pkgname}", name).replaceAll("{completer}", completer).replaceAll(/\r?\n/g, "\n"); return scriptContent; }; var writeToCompletionScript = async ({ name, completer, shell }) => { const filename = untildify( path2.join(COMPLETION_DIR, shell, completionFileName(name, shell)) ); try { const filecontent = await getCompletionScript({ name, completer, shell }); debug("Writing completion script to", filename); await mkdir(path2.dirname(filename), { recursive: true }); await writeFile(filename, filecontent); console.log("=> Wrote completion script to %s file", filename); } catch (err) { console.error("ERROR:", err); } }; var install = async (options) => { debug("Install with options", options); if (!options) { throw new Error("options is required"); } if (!options.name) { throw new Error("options.name is required"); } if (!options.completer) { throw new Error("options.completer is required"); } if (!options.location) { throw new Error("options.location is required"); } await Promise.all([ writeToShellConfig(options), writeToTabtabScript(options), writeToCompletionScript(options) ]); const { location, name } = options; console.log(` => Tabtab source line added to ${location} for ${name} package. Make sure to reload your SHELL. `); }; var removeLinesFromFilename = async (filename, name) => { debug("Removing lines from %s file, looking for %s package", filename, name); if (!await exists(filename)) { return debug("File %s does not exist", filename); } const filecontent = await readFile(filename, "utf8"); const lines = filecontent.split(/\r?\n/); const sourceLine1 = `# tabtab source for packages`; const sourceLine2 = `# tabtab source for ${name} package`; const hasLine1 = filecontent.includes(sourceLine1); if (!hasLine1) { debug("File %s does not include the line: %s", filename, sourceLine1); } const hasLine2 = filecontent.includes(sourceLine2); if (!hasLine2) { debug("File %s does not include the line: %s", filename, sourceLine2); } const hasLine = hasLine1 || hasLine2; if (!hasLine) { return debug("File %s does not include either line", filename); } let lineIndex = -1; const buffer = lines.map((line, index) => { const match = line.match(sourceLine1) ?? line.match(sourceLine2); if (match) { lineIndex = index; } else if (lineIndex + 3 <= index) { lineIndex = -1; } return lineIndex === -1 ? line : ""; }).map((line, index, array) => { const next = array[index + 1]; if (line === "" && next === "") { return; } return line; }).filter((line) => line !== void 0).join("\n").trim(); await writeFile(filename, buffer); console.log("=> Removed tabtab source lines from %s file", filename); }; var uninstall = async (options) => { debug("Uninstall with options", options); if (!options) { throw new Error("options is required"); } const { name, shell } = options; if (!name) { throw new Error("Unable to uninstall if options.name is missing"); } if (!shell) { await Promise.all(SUPPORTED_SHELLS.map((shell2) => uninstall({ name, shell: shell2 }))); return; } const completionScript = untildify( path2.join(COMPLETION_DIR, shell, completionFileName(name, shell)) ); if (await exists(completionScript)) { await unlink(completionScript); console.log("=> Removed completion script (%s)", completionScript); } const tabtabScript = untildify( path2.join( COMPLETION_DIR, shell, tabtabFileName(shell) ) ); await removeLinesFromFilename(tabtabScript, name); const isEmpty = (await readFile(tabtabScript, "utf8")).trim() === ""; if (isEmpty) { const shellScript = locationFromShell(shell); debug( "File %s is empty. Removing source line from %s file", tabtabScript, shellScript ); await removeLinesFromFilename(shellScript, name); } console.log("=> Uninstalled completion for %s package", name); }; module2.exports = { install, uninstall, checkFilenameForLine, getCompletionScript, writeToShellConfig, writeToTabtabScript, writeToCompletionScript, writeLineToFilename }; } }); // ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/index.js var require_lib136 = __commonJS({ "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/index.js"(exports2, module2) { var path2 = require("path"); var { SUPPORTED_SHELLS, SHELL_LOCATIONS } = require_constants14(); var prompt = require_prompt2(); var installer = require_installer(); var { tabtabDebug } = require_utils17(); var debug = tabtabDebug("tabtab"); var isShellSupported = (shell) => ( /** @type {ReadonlyArray.} */ SUPPORTED_SHELLS.includes(shell) ); var getShellFromEnv = (env) => { if (!env.SHELL) { throw new TypeError("SHELL cannot be empty"); } const shell = path2.basename(env.SHELL); if (!isShellSupported(shell)) { const supportedValues = SUPPORTED_SHELLS.map((x) => `'${x}'`).join(", "); throw new TypeError(`SHELL was set to an invalid value (${env.SHELL}). Supported values are: ${supportedValues}`); } return shell; }; var getCompletionScript = async ({ name, completer, shell }) => { if (!name) throw new TypeError("options.name is required"); if (!completer) throw new TypeError("options.completer is required"); if (!shell) throw new TypeError("options.shell is required"); const completionScriptContent = await installer.getCompletionScript({ name, completer, shell }); return completionScriptContent; }; var install = async (options) => { const { name, completer } = options; if (!name) throw new TypeError("options.name is required"); if (!completer) throw new TypeError("options.completer is required"); if (options.shell) { const location2 = SHELL_LOCATIONS[options.shell]; if (!location2) { throw new Error(`Couldn't find shell location for ${options.shell}`); } await installer.install({ name, completer, location: location2, shell: options.shell }); return; } const { location, shell } = await prompt(); await installer.install({ name, completer, location, shell }); }; var uninstall = async (options) => { const { name, shell } = options; if (!name) throw new TypeError("options.name is required"); try { await installer.uninstall({ name, shell }); } catch (err) { console.error("ERROR while uninstalling", err); } }; var parseEnv = (env) => { if (!env) { throw new Error("parseEnv: You must pass in an environment object."); } debug( "Parsing env. CWORD: %s, COMP_POINT: %s, COMP_LINE: %s", env.COMP_CWORD, env.COMP_POINT, env.COMP_LINE ); let cword = Number(env.COMP_CWORD); let point = Number(env.COMP_POINT); const line = env.COMP_LINE || ""; if (Number.isNaN(cword)) cword = 0; if (Number.isNaN(point)) point = 0; const partial = line.slice(0, point); const parts = line.split(" "); const prev = parts.slice(0, -1).slice(-1)[0]; const last = parts.slice(-1).join(""); const lastPartial = partial.split(" ").slice(-1).join(""); let complete = true; if (!env.COMP_CWORD || !env.COMP_POINT || !env.COMP_LINE) { complete = false; } return { complete, words: cword, point, line, partial, last, lastPartial, prev }; }; var completionItem = (item, shell) => { debug("completion item", item); if (typeof item === "object") return item; let name = item; let description = ""; const matching = /^(.*?)(\\)?:(.*)$/.exec(item); if (matching) { [, name, , description] = matching; } if (shell === "zsh" && /\\/.test(item)) { name += "\\"; } return { name, description }; }; var log = (args, shell, logToConsole = console.log) => { if (!Array.isArray(args)) { throw new Error("log: Invalid arguments, must be an array"); } let lines = args.map((item) => completionItem(item, shell)).map((item) => { const { name: rawName, description: rawDescription } = item; const name = shell === "zsh" ? rawName?.replaceAll(":", "\\:") : rawName; const description = shell === "zsh" ? rawDescription?.replaceAll(":", "\\:") : rawDescription; let str = name; if (shell === "zsh" && description) { str = `${name}:${description}`; } else if ((shell === "fish" || shell === "pwsh") && description) { str = `${name} ${description}`; } return str; }); if (shell === "bash") { const env = parseEnv(process.env); lines = lines.filter((arg) => arg.indexOf(env.last) === 0); } for (const line of lines) { logToConsole(`${line}`); } }; var logFiles = () => { console.log("__tabtab_complete_files__"); }; module2.exports = { SUPPORTED_SHELLS, getShellFromEnv, isShellSupported, getCompletionScript, install, uninstall, parseEnv, log, logFiles }; } }); // ../completion/plugin-commands-completion/lib/getShell.js var require_getShell = __commonJS({ "../completion/plugin-commands-completion/lib/getShell.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getShellFromString = getShellFromString; exports2.getShellFromParams = getShellFromParams; var error_1 = require_lib6(); var tabtab_1 = require_lib136(); function getShellFromString(shell) { shell = shell?.trim(); if (!shell) { throw new error_1.PnpmError("MISSING_SHELL_NAME", "`pnpm completion` requires a shell name"); } if (!(0, tabtab_1.isShellSupported)(shell)) { throw new error_1.PnpmError("UNSUPPORTED_SHELL", `'${shell}' is not supported`, { hint: `Supported shells are: ${tabtab_1.SUPPORTED_SHELLS.join(", ")}` }); } return shell; } function getShellFromParams(params) { const [shell, ...rest] = params; if (rest.length) { throw new error_1.PnpmError("REDUNDANT_PARAMETERS", `The ${rest.length} parameters after shell is not necessary`); } return getShellFromString(shell); } } }); // ../completion/plugin-commands-completion/lib/generateCompletion.js var require_generateCompletion = __commonJS({ "../completion/plugin-commands-completion/lib/generateCompletion.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.handler = exports2.cliOptionsTypes = exports2.rcOptionsTypes = exports2.skipPackageManagerCheck = exports2.commandNames = void 0; exports2.help = help; exports2.createCompletionGenerator = createCompletionGenerator; var render_help_1 = __importDefault2(require_lib109()); var cli_utils_1 = require_lib103(); var tabtab_1 = require_lib136(); var getShell_js_1 = require_getShell(); exports2.commandNames = ["completion"]; exports2.skipPackageManagerCheck = true; var rcOptionsTypes = () => ({}); exports2.rcOptionsTypes = rcOptionsTypes; var cliOptionsTypes = () => ({}); exports2.cliOptionsTypes = cliOptionsTypes; function help() { return (0, render_help_1.default)({ description: "Print shell completion code to stdout", url: (0, cli_utils_1.docsUrl)("completion"), usages: tabtab_1.SUPPORTED_SHELLS.map((shell) => `pnpm completion ${shell}`) }); } function createCompletionGenerator(ctx) { return async function handler(_opts, params) { const shell = (0, getShell_js_1.getShellFromParams)(params); const output = await (0, tabtab_1.getCompletionScript)({ name: "pnpm", completer: "pnpm", shell }); ctx.log(output); }; } exports2.handler = createCompletionGenerator({ log: console.log }); } }); // ../node_modules/.pnpm/split-cmd@1.1.0/node_modules/split-cmd/index.js var require_split_cmd = __commonJS({ "../node_modules/.pnpm/split-cmd@1.1.0/node_modules/split-cmd/index.js"(exports2) { function t(t2) { if ("string" != typeof t2) throw new Error("Command must be a string"); var r = t2.match(/[^"\s]+|"(?:\\"|[^"])*"/g); return r ? r.map(function(t3) { return '"' === t3.charAt(0) && '"' === t3.charAt(t3.length - 1) ? t3.slice(1, -1) : t3; }) : []; } exports2.split = t, exports2.splitToObject = function(r) { var n = t(r); switch (n.length) { case 0: return {}; case 1: return { command: n[0] }; default: var e = n[0]; return n.shift(), { command: e, args: n }; } }; } }); // ../node_modules/.pnpm/abbrev@1.1.1/node_modules/abbrev/abbrev.js var require_abbrev = __commonJS({ "../node_modules/.pnpm/abbrev@1.1.1/node_modules/abbrev/abbrev.js"(exports2, module2) { module2.exports = exports2 = abbrev.abbrev = abbrev; abbrev.monkeyPatch = monkeyPatch; function monkeyPatch() { Object.defineProperty(Array.prototype, "abbrev", { value: function() { return abbrev(this); }, enumerable: false, configurable: true, writable: true }); Object.defineProperty(Object.prototype, "abbrev", { value: function() { return abbrev(Object.keys(this)); }, enumerable: false, configurable: true, writable: true }); } function abbrev(list) { if (arguments.length !== 1 || !Array.isArray(list)) { list = Array.prototype.slice.call(arguments, 0); } for (var i = 0, l = list.length, args = []; i < l; i++) { args[i] = typeof list[i] === "string" ? list[i] : String(list[i]); } args = args.sort(lexSort); var abbrevs = {}, prev = ""; for (var i = 0, l = args.length; i < l; i++) { var current = args[i], next = args[i + 1] || "", nextMatches = true, prevMatches = true; if (current === next) continue; for (var j = 0, cl = current.length; j < cl; j++) { var curChar = current.charAt(j); nextMatches = nextMatches && curChar === next.charAt(j); prevMatches = prevMatches && curChar === prev.charAt(j); if (!nextMatches && !prevMatches) { j++; break; } } prev = current; if (j === cl) { abbrevs[current] = current; continue; } for (var a = current.substr(0, j); j <= cl; j++) { abbrevs[a] = current; a += current.charAt(j); } } return abbrevs; } function lexSort(a, b) { return a === b ? 0 : a > b ? 1 : -1; } } }); // ../node_modules/.pnpm/@pnpm+nopt@0.3.1/node_modules/@pnpm/nopt/lib/nopt.js var require_nopt = __commonJS({ "../node_modules/.pnpm/@pnpm+nopt@0.3.1/node_modules/@pnpm/nopt/lib/nopt.js"(exports2, module2) { var debug = process.env.DEBUG_NOPT || process.env.NOPT_DEBUG ? function() { console.error.apply(console, arguments); } : function() { }; var url = require("url"); var path2 = require("path"); var Stream = require("stream").Stream; var abbrev = require_abbrev(); var os = require("os"); URL.parse ??= (input, base) => { try { const url2 = new URL(input, base); return url2; } catch { return null; } }; module2.exports = exports2 = nopt; exports2.clean = clean; exports2.typeDefs = { String: { type: String, validate: validateString }, Boolean: { type: Boolean, validate: validateBoolean }, url: { type: url, validate: validateUrl }, Number: { type: Number, validate: validateNumber }, path: { type: path2, validate: validatePath }, Stream: { type: Stream, validate: validateStream }, Date: { type: Date, validate: validateDate } }; function nopt(types, shorthands, args, slice, opts) { args = args || process.argv; types = types || {}; shorthands = shorthands || {}; if (typeof slice !== "number") slice = 2; debug(types, shorthands, args, slice); args = args.slice(slice); var data = {}, key, argv2 = { remain: [], cooked: args, original: args.slice(0) }; parse2(args, data, argv2.remain, types, shorthands, opts); clean(data, types, exports2.typeDefs); data.argv = argv2; Object.defineProperty(data.argv, "toString", { value: function() { return this.original.map(JSON.stringify).join(" "); }, enumerable: false }); return data; } function clean(data, types, typeDefs) { typeDefs = typeDefs || exports2.typeDefs; var remove = {}, typeDefault = [false, true, null, String, Array]; Object.keys(data).forEach(function(k) { if (k === "argv") return; var val = data[k], isArray = Array.isArray(val), type = types[k]; if (!isArray) val = [val]; if (!type) type = typeDefault; if (type === Array) type = typeDefault.concat(Array); if (!Array.isArray(type)) type = [type]; debug("val=%j", val); debug("types=", type); val = val.map(function(val2) { if (typeof val2 === "string") { debug("string %j", val2); val2 = val2.trim(); if (val2 === "null" && ~type.indexOf(null) || val2 === "true" && (~type.indexOf(true) || ~type.indexOf(Boolean)) || val2 === "false" && (~type.indexOf(false) || ~type.indexOf(Boolean))) { val2 = JSON.parse(val2); debug("jsonable %j", val2); } else if (~type.indexOf(Number) && !isNaN(val2)) { debug("convert to number", val2); val2 = +val2; } else if (~type.indexOf(Date) && !isNaN(Date.parse(val2))) { debug("convert to date", val2); val2 = new Date(val2); } } if (!types.hasOwnProperty(k)) { return val2; } if (val2 === false && ~type.indexOf(null) && !(~type.indexOf(false) || ~type.indexOf(Boolean))) { val2 = null; } var d = {}; d[k] = val2; debug("prevalidated val", d, val2, types[k]); if (!validate2(d, k, val2, types[k], typeDefs)) { if (exports2.invalidHandler) { exports2.invalidHandler(k, val2, types[k], data); } else if (exports2.invalidHandler !== false) { debug("invalid: " + k + "=" + val2, types[k]); } return remove; } debug("validated val", d, val2, types[k]); return d[k]; }).filter(function(val2) { return val2 !== remove; }); if (!val.length && type.indexOf(Array) === -1) { debug("VAL HAS NO LENGTH, DELETE IT", val, k, type.indexOf(Array)); delete data[k]; } else if (isArray) { debug(isArray, data[k], val); data[k] = val; } else data[k] = val[0]; debug("k=%s val=%j", k, val, data[k]); }); } function validateString(data, k, val) { data[k] = String(val); } function validatePath(data, k, val) { if (val === true) return false; if (val === null) return true; val = String(val); var isWin = process.platform === "win32", homePattern = isWin ? /^~(\/|\\)/ : /^~\//, home = os.homedir(); if (home && val.match(homePattern)) { data[k] = path2.resolve(home, val.substr(2)); } else { data[k] = path2.resolve(val); } return true; } function validateNumber(data, k, val) { debug("validate Number %j %j %j", k, val, isNaN(val)); if (isNaN(val)) return false; data[k] = +val; } function validateDate(data, k, val) { var s = Date.parse(val); debug("validate Date %j %j %j", k, val, s); if (isNaN(s)) return false; data[k] = new Date(val); } function validateBoolean(data, k, val) { if (val instanceof Boolean) val = val.valueOf(); else if (typeof val === "string") { if (!isNaN(val)) val = !!+val; else if (val === "null" || val === "false") val = false; else val = true; } else val = !!val; data[k] = val; } function validateUrl(data, k, val) { val = URL.parse(String(val)); if (!val) return false; data[k] = val.href; } function validateStream(data, k, val) { if (!(val instanceof Stream)) return false; data[k] = val; } function validate2(data, k, val, type, typeDefs) { if (Array.isArray(type)) { for (var i = 0, l = type.length; i < l; i++) { if (type[i] === Array) continue; if (validate2(data, k, val, type[i], typeDefs)) return true; } delete data[k]; return false; } if (type === Array) return true; if (type !== type) { debug("Poison NaN", k, val, type); delete data[k]; return false; } if (val === type) { debug("Explicitly allowed %j", val); data[k] = val; return true; } var ok = false, types = Object.keys(typeDefs); for (var i = 0, l = types.length; i < l; i++) { debug("test type %j %j %j", k, val, types[i]); var t = typeDefs[types[i]]; if (t && (type && type.name && t.type && t.type.name ? type.name === t.type.name : type === t.type)) { var d = {}; ok = false !== t.validate(d, k, val); val = d[k]; if (ok) { data[k] = val; break; } } } debug("OK? %j (%j %j %j)", ok, k, val, types[i]); if (!ok) delete data[k]; return ok; } function parse2(args, data, remain, types, shorthands, opts) { debug("parse", args, data, remain); var escapeArgs = new Set(opts && opts.escapeArgs ? opts.escapeArgs : []); var key = null, abbrevs = abbrev(Object.keys(types)), shortAbbr = abbrev(Object.keys(shorthands)); for (var i = 0; i < args.length; i++) { var arg = args[i]; debug("arg", arg); if (arg.match(/^-{2,}$/)) { remain.push.apply(remain, args.slice(i + 1)); args[i] = "--"; break; } if (escapeArgs.has(arg)) { remain.push.apply(remain, args.slice(i)); break; } var hadEq = false; if (arg.charAt(0) === "-" && arg.length > 1) { var at = arg.indexOf("="); if (at > -1) { hadEq = true; var v = arg.substr(at + 1); arg = arg.substr(0, at); args.splice(i, 1, arg, v); } var shRes = resolveShort(arg, shorthands, shortAbbr, abbrevs); debug("arg=%j shRes=%j", arg, shRes); if (shRes) { debug(arg, shRes); args.splice.apply(args, [i, 1].concat(shRes)); if (arg !== shRes[0]) { i--; continue; } } arg = arg.replace(/^-+/, ""); var no = null; while (arg.toLowerCase().indexOf("no-") === 0) { no = !no; arg = arg.substr(3); } if (abbrevs[arg]) arg = abbrevs[arg]; var argType = types[arg]; var isTypeArray = Array.isArray(argType); if (isTypeArray && argType.length === 1) { isTypeArray = false; argType = argType[0]; } var isArray = argType === Array || isTypeArray && argType.indexOf(Array) !== -1; if (!types.hasOwnProperty(arg) && data.hasOwnProperty(arg)) { if (!Array.isArray(data[arg])) data[arg] = [data[arg]]; isArray = true; } var val, la = args[i + 1]; var isBool = typeof no === "boolean" || argType === Boolean || isTypeArray && argType.indexOf(Boolean) !== -1 || typeof argType === "undefined" && !hadEq || la === "false" && (argType === null || isTypeArray && ~argType.indexOf(null)); if (isBool) { val = !no; if (la === "true" || la === "false") { val = JSON.parse(la); la = null; if (no) val = !val; i++; } if (isTypeArray && la) { if (~argType.indexOf(la)) { val = la; i++; } else if (la === "null" && ~argType.indexOf(null)) { val = null; i++; } else if (!la.match(/^-{2,}[^-]/) && !isNaN(la) && ~argType.indexOf(Number)) { val = +la; i++; } else if (!la.match(/^-[^-]/) && ~argType.indexOf(String)) { val = la; i++; } } if (isArray) (data[arg] = data[arg] || []).push(val); else data[arg] = val; continue; } if (argType === String) { if (la === void 0) { la = ""; } else if (la.match(/^-{1,2}[^-]+/)) { la = ""; i--; } } if (la && la.match(/^-{2,}$/)) { la = void 0; i--; } val = la === void 0 ? true : la; if (isArray) (data[arg] = data[arg] || []).push(val); else data[arg] = val; i++; continue; } remain.push(arg); } } function resolveShort(arg, shorthands, shortAbbr, abbrevs) { arg = arg.replace(/^-+/, ""); if (abbrevs[arg] === arg) return null; if (shorthands[arg]) { if (shorthands[arg] && !Array.isArray(shorthands[arg])) shorthands[arg] = shorthands[arg].split(/\s+/); return shorthands[arg]; } var singles = shorthands.___singles; if (!singles) { singles = Object.keys(shorthands).filter(function(s) { return s.length === 1; }).reduce(function(l, r) { l[r] = true; return l; }, {}); shorthands.___singles = singles; debug("shorthand singles", singles); } var chrs = arg.split("").filter(function(c) { return singles[c]; }); if (chrs.join("") === arg) return chrs.map(function(c) { return shorthands[c]; }).reduce(function(l, r) { return l.concat(r); }, []); if (abbrevs[arg] && !shorthands[arg]) return null; if (shortAbbr[arg]) arg = shortAbbr[arg]; if (shorthands[arg] && !Array.isArray(shorthands[arg])) shorthands[arg] = shorthands[arg].split(/\s+/); return shorthands[arg]; } } }); // ../completion/plugin-commands-completion/lib/getOptionType.js var require_getOptionType = __commonJS({ "../completion/plugin-commands-completion/lib/getOptionType.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getOptionCompletions = getOptionCompletions; exports2.getLastOption = getLastOption; exports2.currentTypedWordType = currentTypedWordType; var nopt_1 = __importDefault2(require_nopt()); var omit_1 = __importDefault2(require_omit()); function getOptionCompletions(optionTypes, shorthands, option) { const optionType = getOptionType(optionTypes, shorthands, option); return optionTypeToCompletion(optionType); } function optionTypeToCompletion(optionType) { switch (optionType) { // In this case the option is complete case void 0: case Boolean: return void 0; // In this case, anything may be the option value case String: case Number: return []; } if (!Array.isArray(optionType)) return []; if (optionType.length === 1) { return optionTypeToCompletion(optionType); } return optionType.filter((ot) => typeof ot === "string"); } function getOptionType(optionTypes, shorthands, option) { const allBools = Object.fromEntries(Object.keys(optionTypes).map((optionName) => [optionName, Boolean])); const result2 = (0, omit_1.default)(["argv"], (0, nopt_1.default)(allBools, shorthands, [option], 0)); return optionTypes[Object.entries(result2)[0]?.[0]]; } function getLastOption(completionCtx) { if (isOption(completionCtx.prev)) return completionCtx.prev; if (completionCtx.lastPartial === "" || completionCtx.words <= 1) return null; const words = completionCtx.line.slice(0, completionCtx.point).trim().split(/\s+/); const lastWord = words[words.length - 2]; return isOption(lastWord) ? lastWord : null; } function isOption(word) { return word.startsWith("--") && word.length >= 3 || word[0] === "-" && word.length >= 2; } function currentTypedWordType(completionCtx) { if (completionCtx.partial.endsWith(" ")) return null; return completionCtx.lastPartial[0] === "-" ? "option" : "value"; } } }); // ../workspace/find-workspace-dir/lib/index.js var require_lib137 = __commonJS({ "../workspace/find-workspace-dir/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.findWorkspaceDir = findWorkspaceDir; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var error_1 = require_lib6(); var find_up_1 = __importDefault2(require_find_up2()); var WORKSPACE_DIR_ENV_VAR = "NPM_CONFIG_WORKSPACE_DIR"; var WORKSPACE_MANIFEST_FILENAME = "pnpm-workspace.yaml"; var INVALID_WORKSPACE_MANIFEST_FILENAME = ["pnpm-workspaces.yaml", "pnpm-workspaces.yml", "pnpm-workspace.yml"]; async function findWorkspaceDir(cwd) { const workspaceManifestDirEnvVar = process.env[WORKSPACE_DIR_ENV_VAR] ?? process.env[WORKSPACE_DIR_ENV_VAR.toLowerCase()]; const workspaceManifestLocation = workspaceManifestDirEnvVar ? path_1.default.join(workspaceManifestDirEnvVar, WORKSPACE_MANIFEST_FILENAME) : await (0, find_up_1.default)([WORKSPACE_MANIFEST_FILENAME, ...INVALID_WORKSPACE_MANIFEST_FILENAME], { cwd: await getRealPath(cwd) }); if (workspaceManifestLocation && path_1.default.basename(workspaceManifestLocation) !== WORKSPACE_MANIFEST_FILENAME) { throw new error_1.PnpmError("BAD_WORKSPACE_MANIFEST_NAME", `The workspace manifest file should be named "pnpm-workspace.yaml". File found: ${workspaceManifestLocation}`); } return workspaceManifestLocation && path_1.default.dirname(workspaceManifestLocation); } async function getRealPath(path2) { return new Promise((resolve) => { fs_1.default.realpath.native(path2, function(err, resolvedPath) { resolve(err !== null ? path2 : resolvedPath); }); }); } } }); // ../completion/plugin-commands-completion/lib/optionTypesToCompletions.js var require_optionTypesToCompletions = __commonJS({ "../completion/plugin-commands-completion/lib/optionTypesToCompletions.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.optionTypesToCompletions = optionTypesToCompletions; function optionTypesToCompletions(optionTypes) { const completions = []; for (const [name, typeObj] of Object.entries(optionTypes)) { if (typeObj === Boolean) { completions.push({ name: `--${name}` }); completions.push({ name: `--no-${name}` }); } else { completions.push({ name: `--${name}` }); } } return completions; } } }); // ../completion/plugin-commands-completion/lib/complete.js var require_complete = __commonJS({ "../completion/plugin-commands-completion/lib/complete.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.complete = complete; var find_workspace_dir_1 = require_lib137(); var workspace_find_packages_1 = require_lib105(); var workspace_read_manifest_1 = require_lib21(); var getOptionType_js_1 = require_getOptionType(); var optionTypesToCompletions_js_1 = require_optionTypesToCompletions(); async function complete(ctx, input) { if (input.options.version) return []; const optionTypes = { ...ctx.universalOptionsTypes, ...(input.cmd && ctx.cliOptionsTypesByCommandName[input.cmd]?.()) ?? {} }; if (input.currentTypedWordType !== "option") { if (input.lastOption === "--filter") { const workspaceDir = await (0, find_workspace_dir_1.findWorkspaceDir)(process.cwd()) ?? process.cwd(); const workspaceManifest = await (0, workspace_read_manifest_1.readWorkspaceManifest)(workspaceDir); const allProjects = await (0, workspace_find_packages_1.findWorkspacePackages)(workspaceDir, { patterns: workspaceManifest?.packages, supportedArchitectures: { os: ["current"], cpu: ["current"], libc: ["current"] } }); return allProjects.map(({ manifest }) => ({ name: manifest.name })).filter((item) => !!item.name); } else if (input.lastOption) { const optionCompletions = (0, getOptionType_js_1.getOptionCompletions)( optionTypes, // eslint-disable-line { ...ctx.universalShorthands, ...input.cmd ? ctx.shorthandsByCommandName[input.cmd] : {} }, input.lastOption ); if (optionCompletions !== void 0) { return optionCompletions.map((name) => ({ name })); } } } let completions = []; if (input.currentTypedWordType !== "option") { if (!input.cmd || input.currentTypedWordType === "value" && !ctx.completionByCommandName[input.cmd]) { completions = ctx.initialCompletion(); } else if (ctx.completionByCommandName[input.cmd]) { try { completions = await ctx.completionByCommandName[input.cmd](input.options, input.params); } catch { } } } if (input.currentTypedWordType === "value") { return completions; } if (!input.cmd) { return [ ...completions, ...(0, optionTypesToCompletions_js_1.optionTypesToCompletions)(optionTypes), { name: "--version" } ]; } return [ ...completions, ...(0, optionTypesToCompletions_js_1.optionTypesToCompletions)(optionTypes) // eslint-disable-line ]; } } }); // ../completion/plugin-commands-completion/lib/completionServer.js var require_completionServer = __commonJS({ "../completion/plugin-commands-completion/lib/completionServer.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createCompletionServer = createCompletionServer; var tabtab_1 = require_lib136(); var split_cmd_1 = require_split_cmd(); var tabtab_2 = __importDefault2(require_lib136()); var getOptionType_js_1 = require_getOptionType(); var complete_js_1 = require_complete(); function createCompletionServer(opts) { return async () => { const shell = (0, tabtab_1.getShellFromEnv)(process.env); const env = tabtab_2.default.parseEnv(process.env); if (!env.complete) return; const finishedArgv = env.partial.slice(0, -env.lastPartial.length); const inputArgv = (0, split_cmd_1.split)(finishedArgv).slice(1); if (inputArgv.includes("--")) return; const { params, options, cmd } = await opts.parseCliArgs(inputArgv); tabtab_2.default.log(await (0, complete_js_1.complete)(opts, { cmd, currentTypedWordType: (0, getOptionType_js_1.currentTypedWordType)(env), lastOption: (0, getOptionType_js_1.getLastOption)(env), options, params }), shell); }; } } }); // ../completion/plugin-commands-completion/lib/index.js var require_lib138 = __commonJS({ "../completion/plugin-commands-completion/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createCompletionServer = exports2.generateCompletion = void 0; exports2.generateCompletion = __importStar3(require_generateCompletion()); var completionServer_js_1 = require_completionServer(); Object.defineProperty(exports2, "createCompletionServer", { enumerable: true, get: function() { return completionServer_js_1.createCompletionServer; } }); } }); // ../node_modules/.pnpm/ini@4.1.1/node_modules/ini/lib/ini.js var require_ini3 = __commonJS({ "../node_modules/.pnpm/ini@4.1.1/node_modules/ini/lib/ini.js"(exports2, module2) { var { hasOwnProperty: hasOwnProperty2 } = Object.prototype; var encode = (obj, opt = {}) => { if (typeof opt === "string") { opt = { section: opt }; } opt.align = opt.align === true; opt.newline = opt.newline === true; opt.sort = opt.sort === true; opt.whitespace = opt.whitespace === true || opt.align === true; opt.platform = opt.platform || typeof process !== "undefined" && process.platform; opt.bracketedArray = opt.bracketedArray !== false; const eol = opt.platform === "win32" ? "\r\n" : "\n"; const separator = opt.whitespace ? " = " : "="; const children = []; const keys = opt.sort ? Object.keys(obj).sort() : Object.keys(obj); let padToChars = 0; if (opt.align) { padToChars = safe( keys.filter((k) => obj[k] === null || Array.isArray(obj[k]) || typeof obj[k] !== "object").map((k) => Array.isArray(obj[k]) ? `${k}[]` : k).concat([""]).reduce((a, b) => safe(a).length >= safe(b).length ? a : b) ).length; } let out = ""; const arraySuffix = opt.bracketedArray ? "[]" : ""; for (const k of keys) { const val = obj[k]; if (val && Array.isArray(val)) { for (const item of val) { out += safe(`${k}${arraySuffix}`).padEnd(padToChars, " ") + separator + safe(item) + eol; } } else if (val && typeof val === "object") { children.push(k); } else { out += safe(k).padEnd(padToChars, " ") + separator + safe(val) + eol; } } if (opt.section && out.length) { out = "[" + safe(opt.section) + "]" + (opt.newline ? eol + eol : eol) + out; } for (const k of children) { const nk = splitSections(k, ".").join("\\."); const section = (opt.section ? opt.section + "." : "") + nk; const child = encode(obj[k], { ...opt, section }); if (out.length && child.length) { out += eol; } out += child; } return out; }; function splitSections(str, separator) { var lastMatchIndex = 0; var lastSeparatorIndex = 0; var nextIndex = 0; var sections = []; do { nextIndex = str.indexOf(separator, lastMatchIndex); if (nextIndex !== -1) { lastMatchIndex = nextIndex + separator.length; if (nextIndex > 0 && str[nextIndex - 1] === "\\") { continue; } sections.push(str.slice(lastSeparatorIndex, nextIndex)); lastSeparatorIndex = nextIndex + separator.length; } } while (nextIndex !== -1); sections.push(str.slice(lastSeparatorIndex)); return sections; } var decode = (str, opt = {}) => { opt.bracketedArray = opt.bracketedArray !== false; const out = /* @__PURE__ */ Object.create(null); let p = out; let section = null; const re = /^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i; const lines = str.split(/[\r\n]+/g); const duplicates = {}; for (const line of lines) { if (!line || line.match(/^\s*[;#]/) || line.match(/^\s*$/)) { continue; } const match = line.match(re); if (!match) { continue; } if (match[1] !== void 0) { section = unsafe(match[1]); if (section === "__proto__") { p = /* @__PURE__ */ Object.create(null); continue; } p = out[section] = out[section] || /* @__PURE__ */ Object.create(null); continue; } const keyRaw = unsafe(match[2]); let isArray; if (opt.bracketedArray) { isArray = keyRaw.length > 2 && keyRaw.slice(-2) === "[]"; } else { duplicates[keyRaw] = (duplicates?.[keyRaw] || 0) + 1; isArray = duplicates[keyRaw] > 1; } const key = isArray ? keyRaw.slice(0, -2) : keyRaw; if (key === "__proto__") { continue; } const valueRaw = match[3] ? unsafe(match[4]) : true; const value = valueRaw === "true" || valueRaw === "false" || valueRaw === "null" ? JSON.parse(valueRaw) : valueRaw; if (isArray) { if (!hasOwnProperty2.call(p, key)) { p[key] = []; } else if (!Array.isArray(p[key])) { p[key] = [p[key]]; } } if (Array.isArray(p[key])) { p[key].push(value); } else { p[key] = value; } } const remove = []; for (const k of Object.keys(out)) { if (!hasOwnProperty2.call(out, k) || typeof out[k] !== "object" || Array.isArray(out[k])) { continue; } const parts = splitSections(k, "."); p = out; const l = parts.pop(); const nl = l.replace(/\\\./g, "."); for (const part of parts) { if (part === "__proto__") { continue; } if (!hasOwnProperty2.call(p, part) || typeof p[part] !== "object") { p[part] = /* @__PURE__ */ Object.create(null); } p = p[part]; } if (p === out && nl === l) { continue; } p[nl] = out[k]; remove.push(k); } for (const del of remove) { delete out[del]; } return out; }; var isQuoted = (val) => { return val.startsWith('"') && val.endsWith('"') || val.startsWith("'") && val.endsWith("'"); }; var safe = (val) => { if (typeof val !== "string" || val.match(/[=\r\n]/) || val.match(/^\[/) || val.length > 1 && isQuoted(val) || val !== val.trim()) { return JSON.stringify(val); } return val.split(";").join("\\;").split("#").join("\\#"); }; var unsafe = (val, doUnesc) => { val = (val || "").trim(); if (isQuoted(val)) { if (val.charAt(0) === "'") { val = val.slice(1, -1); } try { val = JSON.parse(val); } catch { } } else { let esc = false; let unesc = ""; for (let i = 0, l = val.length; i < l; i++) { const c = val.charAt(i); if (esc) { if ("\\;#".indexOf(c) !== -1) { unesc += c; } else { unesc += "\\" + c; } esc = false; } else if (";#".indexOf(c) !== -1) { break; } else if (c === "\\") { esc = true; } else { unesc += c; } } if (esc) { unesc += "\\"; } return unesc.trim(); } return val; }; module2.exports = { parse: decode, decode, stringify: encode, encode, safe, unsafe }; } }); // ../object/property-path/lib/token/ExactToken.js var require_ExactToken = __commonJS({ "../object/property-path/lib/token/ExactToken.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseCloseBracket = exports2.parseOpenBracket = exports2.parseDotOperator = void 0; var createExactTokenParser = (content) => (source) => source.startsWith(content) ? [{ type: "exact", content }, source.slice(content.length)] : void 0; exports2.parseDotOperator = createExactTokenParser("."); exports2.parseOpenBracket = createExactTokenParser("["); exports2.parseCloseBracket = createExactTokenParser("]"); } }); // ../object/property-path/lib/token/Identifier.js var require_Identifier = __commonJS({ "../object/property-path/lib/token/Identifier.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseIdentifier = void 0; var parseIdentifier = (source) => { if (source === "") return void 0; const firstChar = source[0]; if (!/[a-z_]/i.test(firstChar)) return void 0; let content = firstChar; source = source.slice(1); while (source !== "") { const char = source[0]; if (!/\w/.test(char)) break; source = source.slice(1); content += char; } return [{ type: "identifier", content }, source]; }; exports2.parseIdentifier = parseIdentifier; } }); // ../object/property-path/lib/token/ParseErrorBase.js var require_ParseErrorBase = __commonJS({ "../object/property-path/lib/token/ParseErrorBase.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ParseErrorBase = void 0; var error_1 = require_lib6(); var ParseErrorBase = class extends error_1.PnpmError { }; exports2.ParseErrorBase = ParseErrorBase; } }); // ../object/property-path/lib/token/NumericLiteral.js var require_NumericLiteral = __commonJS({ "../object/property-path/lib/token/NumericLiteral.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseNumericLiteral = exports2.UnsupportedNumericSuffix = void 0; var ParseErrorBase_js_1 = require_ParseErrorBase(); var UnsupportedNumericSuffix = class extends ParseErrorBase_js_1.ParseErrorBase { suffix; constructor(suffix) { super("UNSUPPORTED_NUMERIC_LITERAL_SUFFIX", `Numeric suffix ${JSON.stringify(suffix)} is not supported`); this.suffix = suffix; } }; exports2.UnsupportedNumericSuffix = UnsupportedNumericSuffix; var parseNumericLiteral = (source) => { if (source === "") return void 0; const firstChar = source[0]; if (firstChar < "0" || firstChar > "9") return void 0; let numberString = firstChar; source = source.slice(1); while (source !== "") { const char = source[0]; if (/[0-9.]/.test(char)) { numberString += char; source = source.slice(1); continue; } if (/[a-z]/i.test(char)) { throw new UnsupportedNumericSuffix(char); } break; } return [{ type: "numeric-literal", content: Number(numberString) }, source]; }; exports2.parseNumericLiteral = parseNumericLiteral; } }); // ../object/property-path/lib/token/StringLiteral.js var require_StringLiteral = __commonJS({ "../object/property-path/lib/token/StringLiteral.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseStringLiteral = exports2.IncompleteStringLiteralError = exports2.UnsupportedEscapeSequenceError = void 0; var ParseErrorBase_js_1 = require_ParseErrorBase(); var STRING_LITERAL_ESCAPES = { "\\": "\\", "'": "'", '"': '"', b: "\b", n: "\n", r: "\r", t: " " }; var UnsupportedEscapeSequenceError = class extends ParseErrorBase_js_1.ParseErrorBase { sequence; constructor(sequence) { super("UNSUPPORTED_STRING_LITERAL_ESCAPE_SEQUENCE", `pnpm's string literal doesn't support ${JSON.stringify("\\" + sequence)}`); this.sequence = sequence; } }; exports2.UnsupportedEscapeSequenceError = UnsupportedEscapeSequenceError; var IncompleteStringLiteralError = class extends ParseErrorBase_js_1.ParseErrorBase { expectedQuote; constructor(expectedQuote) { super("INCOMPLETE_STRING_LITERAL", `Input ends without closing quote (${expectedQuote})`); this.expectedQuote = expectedQuote; } }; exports2.IncompleteStringLiteralError = IncompleteStringLiteralError; var parseStringLiteral = (source) => { let quote; if (source[0] === '"') { quote = '"'; } else if (source[0] === "'") { quote = "'"; } else { return void 0; } source = source.slice(1); let content = ""; let escaped = false; while (source !== "") { const char = source[0]; source = source.slice(1); if (escaped) { escaped = false; const realChar = STRING_LITERAL_ESCAPES[char]; if (!realChar) { throw new UnsupportedEscapeSequenceError(char); } content += realChar; continue; } if (char === quote) { return [{ type: "string-literal", quote, content }, source]; } if (char === "\\") { escaped = true; continue; } content += char; } throw new IncompleteStringLiteralError(quote); }; exports2.parseStringLiteral = parseStringLiteral; } }); // ../object/property-path/lib/token/Whitespace.js var require_Whitespace = __commonJS({ "../object/property-path/lib/token/Whitespace.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseWhitespace = void 0; var WHITESPACE = { type: "whitespace" }; var parseWhitespace = (source) => { const remaining = source.trimStart(); return remaining === source ? void 0 : [WHITESPACE, remaining]; }; exports2.parseWhitespace = parseWhitespace; } }); // ../object/property-path/lib/token/combine.js var require_combine = __commonJS({ "../object/property-path/lib/token/combine.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.combineParsers = void 0; var combineParsers = (parsers) => (source) => { for (const parse2 of parsers) { const parseResult = parse2(source); if (parseResult) return parseResult; } return void 0; }; exports2.combineParsers = combineParsers; } }); // ../object/property-path/lib/token/tokenize.js var require_tokenize = __commonJS({ "../object/property-path/lib/token/tokenize.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseToken = exports2.parseExpectedToken = void 0; exports2.tokenize = tokenize; var ExactToken_js_1 = require_ExactToken(); var Identifier_js_1 = require_Identifier(); var NumericLiteral_js_1 = require_NumericLiteral(); var StringLiteral_js_1 = require_StringLiteral(); var Whitespace_js_1 = require_Whitespace(); var combine_js_1 = require_combine(); exports2.parseExpectedToken = (0, combine_js_1.combineParsers)([ ExactToken_js_1.parseDotOperator, ExactToken_js_1.parseOpenBracket, ExactToken_js_1.parseCloseBracket, Identifier_js_1.parseIdentifier, NumericLiteral_js_1.parseNumericLiteral, StringLiteral_js_1.parseStringLiteral, Whitespace_js_1.parseWhitespace ]); var parseUnexpectedToken = (source) => [{ type: "unexpected", content: source.slice(0, 1) }, source.slice(1)]; exports2.parseToken = (0, combine_js_1.combineParsers)([exports2.parseExpectedToken, parseUnexpectedToken]); function* tokenize(source) { while (source !== "") { const parseResult = (0, exports2.parseToken)(source); if (!parseResult) break; const [token, remaining] = parseResult; yield token; if (source.length <= remaining.length) { throw new Error(`Something went wrong! the remaining string (${remaining}) is supposed to be less than the source string (${source})`); } source = remaining; } } } }); // ../object/property-path/lib/token/types.js var require_types7 = __commonJS({ "../object/property-path/lib/token/types.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); } }); // ../object/property-path/lib/token/index.js var require_token = __commonJS({ "../object/property-path/lib/token/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); __exportStar2(require_ExactToken(), exports2); __exportStar2(require_Identifier(), exports2); __exportStar2(require_NumericLiteral(), exports2); __exportStar2(require_StringLiteral(), exports2); __exportStar2(require_Whitespace(), exports2); __exportStar2(require_ParseErrorBase(), exports2); __exportStar2(require_combine(), exports2); __exportStar2(require_tokenize(), exports2); __exportStar2(require_types7(), exports2); } }); // ../object/property-path/lib/parse.js var require_parse8 = __commonJS({ "../object/property-path/lib/parse.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.UnexpectedEndOfInputError = exports2.UnexpectedLiteralError = exports2.UnexpectedIdentifierError = exports2.UnexpectedTokenError = void 0; exports2.parsePropertyPath = parsePropertyPath; var strict_1 = __importDefault2(require("assert/strict")); var error_1 = require_lib6(); var index_js_1 = require_token(); var UnexpectedTokenError = class extends error_1.PnpmError { token; constructor(token) { super("UNEXPECTED_TOKEN_IN_PROPERTY_PATH", `Unexpected token ${JSON.stringify(token.content)} in property path`); this.token = token; } }; exports2.UnexpectedTokenError = UnexpectedTokenError; var UnexpectedIdentifierError = class extends error_1.PnpmError { token; constructor(token) { super("UNEXPECTED_IDENTIFIER_IN_PROPERTY_PATH", `Unexpected identifier ${token.content} in property path`); this.token = token; } }; exports2.UnexpectedIdentifierError = UnexpectedIdentifierError; var UnexpectedLiteralError = class extends error_1.PnpmError { token; constructor(token) { super("UNEXPECTED_LITERAL_IN_PROPERTY_PATH", `Unexpected literal ${JSON.stringify(token.content)} in property path`); this.token = token; } }; exports2.UnexpectedLiteralError = UnexpectedLiteralError; var UnexpectedEndOfInputError = class extends error_1.PnpmError { constructor() { super("UNEXPECTED_END_OF_PROPERTY_PATH", "The property path does not end properly"); } }; exports2.UnexpectedEndOfInputError = UnexpectedEndOfInputError; function* parsePropertyPath(propertyPath) { let stack; for (const token of (0, index_js_1.tokenize)(propertyPath)) { if (token.type === "exact" && token.content === ".") { if (!stack) { stack = token; continue; } throw new UnexpectedTokenError(token); } if (token.type === "exact" && token.content === "[") { if (!stack) { stack = token; continue; } throw new UnexpectedTokenError(token); } if (token.type === "exact" && token.content === "]") { if (!Array.isArray(stack)) throw new UnexpectedTokenError(token); const [openBracket, literal] = stack; strict_1.default.equal(openBracket.type, "exact"); strict_1.default.equal(openBracket.content, "["); (0, strict_1.default)(literal.type === "numeric-literal" || literal.type === "string-literal"); yield literal.content; stack = void 0; continue; } if (token.type === "identifier") { if (!stack || "type" in stack && stack.type === "exact" && stack.content === ".") { stack = void 0; yield token.content; continue; } throw new UnexpectedIdentifierError(token); } if (token.type === "numeric-literal" || token.type === "string-literal") { if (stack && "type" in stack && stack.type === "exact" && stack.content === "[") { stack = [stack, token]; continue; } throw new UnexpectedLiteralError(token); } if (token.type === "whitespace") continue; if (token.type === "unexpected") throw new UnexpectedTokenError(token); const _typeGuard = token; } if (stack) throw new UnexpectedEndOfInputError(); } } }); // ../object/property-path/lib/get.js var require_get2 = __commonJS({ "../object/property-path/lib/get.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getObjectValueByPropertyPathString = void 0; exports2.getObjectValueByPropertyPath = getObjectValueByPropertyPath; var parse_js_1 = require_parse8(); function getObjectValueByPropertyPath(object, propertyPath) { for (const name of propertyPath) { if (typeof object !== "object" || object == null || !Object.hasOwn(object, name) || Array.isArray(object) && typeof name !== "number") return void 0; object = object[name]; } return object; } var getObjectValueByPropertyPathString = (object, propertyPath) => getObjectValueByPropertyPath(object, (0, parse_js_1.parsePropertyPath)(propertyPath)); exports2.getObjectValueByPropertyPathString = getObjectValueByPropertyPathString; } }); // ../object/property-path/lib/index.js var require_lib139 = __commonJS({ "../object/property-path/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); __exportStar2(require_token(), exports2); __exportStar2(require_parse8(), exports2); __exportStar2(require_get2(), exports2); } }); // ../exec/run-npm/lib/index.js var require_lib140 = __commonJS({ "../exec/run-npm/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.runNpm = runNpm; exports2.runScriptSync = runScriptSync; var path_1 = __importDefault2(require("path")); var cross_spawn_1 = __importDefault2(require_cross_spawn()); var path_name_1 = __importDefault2(require_path_name()); function runNpm(npmPath, args, options) { const npm = npmPath ?? "npm"; return runScriptSync(npm, args, { cwd: options?.cwd ?? process.cwd(), stdio: "inherit", userAgent: void 0, env: { ...options?.env, COREPACK_ENABLE_STRICT: "0" } }); } function runScriptSync(command, args, opts) { const env = { ...createEnv(opts), ...opts.env }; const result2 = cross_spawn_1.default.sync(command, args, { ...opts, env }); if (result2.error) throw result2.error; return result2; } function createEnv(opts) { const env = { ...process.env }; env[path_name_1.default] = [ path_1.default.join(opts.cwd, "node_modules", ".bin"), path_1.default.dirname(process.execPath), process.env[path_name_1.default] ].join(path_1.default.delimiter); if (opts.userAgent) { env.npm_config_user_agent = opts.userAgent; } return env; } } }); // ../config/plugin-commands-config/lib/isStrictlyKebabCase.js var require_isStrictlyKebabCase = __commonJS({ "../config/plugin-commands-config/lib/isStrictlyKebabCase.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isStrictlyKebabCase = isStrictlyKebabCase; function isStrictlyKebabCase(name) { const segments = name.split("-"); if (segments.length < 2) return false; return segments.every((segment) => /^[a-z][a-z0-9]*$/.test(segment)); } } }); // ../config/plugin-commands-config/lib/parseConfigPropertyPath.js var require_parseConfigPropertyPath = __commonJS({ "../config/plugin-commands-config/lib/parseConfigPropertyPath.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseConfigPropertyPath = parseConfigPropertyPath; var lodash_kebabcase_1 = __importDefault2(require_lodash()); var object_property_path_1 = require_lib139(); function* parseConfigPropertyPath(propertyPath) { const iter = (0, object_property_path_1.parsePropertyPath)(propertyPath); const first = iter.next(); if (first.done) return; yield typeof first.value === "string" ? (0, lodash_kebabcase_1.default)(first.value) : first.value; yield* iter; } } }); // ../config/plugin-commands-config/lib/settingShouldFallBackToNpm.js var require_settingShouldFallBackToNpm = __commonJS({ "../config/plugin-commands-config/lib/settingShouldFallBackToNpm.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.settingShouldFallBackToNpm = settingShouldFallBackToNpm; function settingShouldFallBackToNpm(key) { return ["registry", "_auth", "_authToken", "username", "_password"].includes(key) || key[0] === "@" || key.startsWith("//"); } } }); // ../config/plugin-commands-config/lib/configGet.js var require_configGet = __commonJS({ "../config/plugin-commands-config/lib/configGet.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.configGet = configGet; var lodash_kebabcase_1 = __importDefault2(require_lodash()); var ini_1 = require_ini3(); var logger_1 = require_lib(); var object_property_path_1 = require_lib139(); var run_npm_1 = require_lib140(); var isStrictlyKebabCase_js_1 = require_isStrictlyKebabCase(); var parseConfigPropertyPath_js_1 = require_parseConfigPropertyPath(); var settingShouldFallBackToNpm_js_1 = require_settingShouldFallBackToNpm(); function configGet(opts, key) { const isScopedKey = key.startsWith("@"); if (opts.global && (0, settingShouldFallBackToNpm_js_1.settingShouldFallBackToNpm)(key) && !isScopedKey) { const { status: exitCode } = (0, run_npm_1.runNpm)(opts.npmPath, ["config", "get", key]); return { output: "", exitCode: exitCode ?? 0 }; } let config; if ((0, isStrictlyKebabCase_js_1.isStrictlyKebabCase)(key)) { config = opts.rawConfig[(0, lodash_kebabcase_1.default)(key)]; } else if (isScopedKey) { config = opts.rawConfig[key]; } else { config = getConfigByPropertyPath(opts.rawConfig, key); } const output = displayConfig(config, opts); return { output, exitCode: 0 }; } function getConfigByPropertyPath(rawConfig, propertyPath) { return (0, object_property_path_1.getObjectValueByPropertyPath)(rawConfig, (0, parseConfigPropertyPath_js_1.parseConfigPropertyPath)(propertyPath)); } function displayConfig(config, opts) { if (opts.json) return JSON.stringify(config, void 0, 2); if (Array.isArray(config)) { (0, logger_1.globalWarn)("`pnpm config get` would display an array as comma-separated list due to legacy implementation, use `--json` to print them as json"); return config.join(","); } if (typeof config === "object" && config != null) { return (0, ini_1.encode)(config); } return String(config); } } }); // ../node_modules/.pnpm/write-ini-file@4.0.1/node_modules/write-ini-file/index.js var require_write_ini_file = __commonJS({ "../node_modules/.pnpm/write-ini-file@4.0.1/node_modules/write-ini-file/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var writeFileAtomic = require_lib13(); var fs = require("fs"); var ini = require_ini2(); var main = (fn, fp, data, opts) => { if (!fp) { throw new TypeError("Expected a filepath"); } if (data === void 0) { throw new TypeError("Expected data to stringify"); } opts = opts || {}; const encodedData = ini.encode(data, opts); return fn(fp, encodedData, { mode: opts.mode }); }; module2.exports.writeIniFile = async (fp, data, opts) => { await fs.promises.mkdir(path2.dirname(fp), { recursive: true }); return main(writeFileAtomic, fp, data, opts); }; module2.exports.writeIniFileSync = (fp, data, opts) => { fs.mkdirSync(path2.dirname(fp), { recursive: true }); main(writeFileAtomic.sync, fp, data, opts); }; } }); // ../config/plugin-commands-config/lib/getConfigFilePath.js var require_getConfigFilePath = __commonJS({ "../config/plugin-commands-config/lib/getConfigFilePath.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getConfigFilePath = getConfigFilePath; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); function getConfigFilePath(opts) { if (opts.global) { return { configPath: path_1.default.join(opts.configDir, "rc"), isWorkspaceYaml: false }; } const workspaceYamlPath = path_1.default.join(opts.dir, "pnpm-workspace.yaml"); if (fs_1.default.existsSync(workspaceYamlPath)) { return { configPath: workspaceYamlPath, isWorkspaceYaml: true }; } const npmrcPath = path_1.default.join(opts.dir, ".npmrc"); if (fs_1.default.existsSync(npmrcPath)) { return { configPath: npmrcPath, isWorkspaceYaml: false }; } return { configPath: workspaceYamlPath, isWorkspaceYaml: true }; } } }); // ../config/plugin-commands-config/lib/configSet.js var require_configSet = __commonJS({ "../config/plugin-commands-config/lib/configSet.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ConfigSetDeepKeyError = exports2.ConfigSetKeyEmptyKeyError = void 0; exports2.configSet = configSet; var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var config_1 = require_lib23(); var error_1 = require_lib6(); var object_property_path_1 = require_lib139(); var run_npm_1 = require_lib140(); var workspace_manifest_writer_1 = require_lib97(); var camelcase_1 = __importDefault2(require_camelcase()); var lodash_kebabcase_1 = __importDefault2(require_lodash()); var read_ini_file_1 = require_read_ini_file(); var write_ini_file_1 = require_write_ini_file(); var getConfigFilePath_js_1 = require_getConfigFilePath(); var isStrictlyKebabCase_js_1 = require_isStrictlyKebabCase(); var settingShouldFallBackToNpm_js_1 = require_settingShouldFallBackToNpm(); async function configSet(opts, key, valueParam) { let shouldFallbackToNpm = (0, settingShouldFallBackToNpm_js_1.settingShouldFallBackToNpm)(key); if (!shouldFallbackToNpm) { key = validateSimpleKey(key); shouldFallbackToNpm = (0, settingShouldFallBackToNpm_js_1.settingShouldFallBackToNpm)(key); } let value = valueParam; if (valueParam != null && opts.json) { value = JSON.parse(valueParam); } if (shouldFallbackToNpm) { if (opts.global) { const _runNpm = run_npm_1.runNpm.bind(null, opts.npmPath); if (value == null) { _runNpm(["config", "delete", key]); return; } if (typeof value === "string") { _runNpm(["config", "set", `${key}=${value}`]); return; } throw new error_1.PnpmError("CONFIG_SET_AUTH_NON_STRING", `Cannot set ${key} to a non-string value (${JSON.stringify(value)})`); } else { const configPath2 = path_1.default.join(opts.dir, ".npmrc"); const settings = await safeReadIniFile(configPath2); if (value == null) { if (settings[key] == null) return; delete settings[key]; } else { settings[key] = value; } await (0, write_ini_file_1.writeIniFile)(configPath2, settings); return; } } const { configPath, isWorkspaceYaml } = (0, getConfigFilePath_js_1.getConfigFilePath)(opts); if (isWorkspaceYaml) { key = (0, camelcase_1.default)(key); await (0, workspace_manifest_writer_1.updateWorkspaceManifest)(opts.workspaceDir ?? opts.dir, { updatedFields: { [key]: castField(value, (0, lodash_kebabcase_1.default)(key)) } }); } else { const settings = await safeReadIniFile(configPath); key = (0, lodash_kebabcase_1.default)(key); if (value == null) { if (settings[key] == null) return; delete settings[key]; } else { settings[key] = value; } await (0, write_ini_file_1.writeIniFile)(configPath, settings); } } function castField(value, key) { if (typeof value !== "string") { return value; } const type = config_1.types[key]; const typeList = Array.isArray(type) ? type : [type]; const isNumber = typeList.includes(Number); value = value.trim(); switch (value) { case "true": { return true; } case "false": { return false; } case "null": { return null; } case "undefined": { return void 0; } } if (isNumber && !isNaN(value)) { value = Number(value); } return value; } var ConfigSetKeyEmptyKeyError = class extends error_1.PnpmError { constructor() { super("CONFIG_SET_EMPTY_KEY", "Cannot set config with an empty key"); } }; exports2.ConfigSetKeyEmptyKeyError = ConfigSetKeyEmptyKeyError; var ConfigSetDeepKeyError = class extends error_1.PnpmError { constructor() { super("CONFIG_SET_DEEP_KEY", "Setting deep property path is not supported"); } }; exports2.ConfigSetDeepKeyError = ConfigSetDeepKeyError; function validateSimpleKey(key) { if ((0, isStrictlyKebabCase_js_1.isStrictlyKebabCase)(key)) return key; const iter = (0, object_property_path_1.parsePropertyPath)(key); const first = iter.next(); if (first.done) throw new ConfigSetKeyEmptyKeyError(); const second = iter.next(); if (!second.done) throw new ConfigSetDeepKeyError(); return first.value.toString(); } async function safeReadIniFile(configPath) { try { return await (0, read_ini_file_1.readIniFile)(configPath); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") return {}; throw err; } } } }); // ../config/plugin-commands-config/lib/configList.js var require_configList = __commonJS({ "../config/plugin-commands-config/lib/configList.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.configList = configList; var ini_1 = require_ini3(); var object_key_sorting_1 = require_lib96(); async function configList(opts) { const sortedConfig = (0, object_key_sorting_1.sortDirectKeys)(opts.rawConfig); if (opts.json) { return JSON.stringify(sortedConfig, null, 2); } return (0, ini_1.encode)(sortedConfig); } } }); // ../config/plugin-commands-config/lib/config.js var require_config4 = __commonJS({ "../config/plugin-commands-config/lib/config.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var error_1 = require_lib6(); var render_help_1 = __importDefault2(require_lib109()); var configGet_js_1 = require_configGet(); var configSet_js_1 = require_configSet(); var configList_js_1 = require_configList(); function rcOptionsTypes() { return {}; } function cliOptionsTypes() { return { global: Boolean, location: ["global", "project"], json: Boolean }; } exports2.commandNames = ["config", "c"]; function help() { return (0, render_help_1.default)({ description: "Manage the pnpm configuration files.", descriptionLists: [ { title: "Commands", list: [ { description: "Set the config key to the value provided", name: "set" }, { description: "Print the config value for the provided key", name: "get" }, { description: "Remove the config key from the config file", name: "delete" }, { description: "Show all the config settings", name: "list" } ] }, { title: "Options", list: [ { description: "Sets the configuration in the global config file", name: "--global", shortAlias: "-g" }, { description: 'When set to "project", the pnpm-workspace.yaml file will be used if it exists. If only .npmrc exists, it will be used. If neither exists, a pnpm-workspace.yaml file will be created.', name: "--location " }, { description: "Show all the config settings in JSON format", name: "--json" } ] } ], url: (0, cli_utils_1.docsUrl)("config"), usages: [ "pnpm config set ", "pnpm config get ", "pnpm config delete ", "pnpm config list", "pnpm config list --json" ] }); } async function handler(opts, params) { if (params.length === 0) { throw new error_1.PnpmError("CONFIG_NO_SUBCOMMAND", "Please specify the subcommand", { hint: help() }); } if (opts.location) { opts.global = opts.location === "global"; } else if (opts.cliOptions["global"] == null) { opts.global = true; } switch (params[0]) { case "set": case "delete": { if (!params[1]) { throw new error_1.PnpmError("CONFIG_NO_PARAMS", `\`pnpm config ${params[0]}\` requires the config key`); } if (params[0] === "set") { let [key, value] = params.slice(1); if (value == null) { const parts = key.split("="); key = parts.shift(); value = parts.join("="); } return (0, configSet_js_1.configSet)(opts, key, value ?? ""); } else { return (0, configSet_js_1.configSet)(opts, params[1], null); } } case "get": { if (params[1]) { return (0, configGet_js_1.configGet)(opts, params[1]); } else { return (0, configList_js_1.configList)(opts); } } case "list": { return (0, configList_js_1.configList)(opts); } default: { throw new error_1.PnpmError("CONFIG_UNKNOWN_SUBCOMMAND", "This subcommand is not known"); } } } } }); // ../config/plugin-commands-config/lib/get.js var require_get3 = __commonJS({ "../config/plugin-commands-config/lib/get.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.help = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0; exports2.handler = handler; var configCmd = __importStar3(require_config4()); exports2.rcOptionsTypes = configCmd.rcOptionsTypes; exports2.cliOptionsTypes = configCmd.cliOptionsTypes; exports2.help = configCmd.help; exports2.commandNames = ["get"]; async function handler(opts, params) { return configCmd.handler(opts, ["get", ...params]); } } }); // ../config/plugin-commands-config/lib/set.js var require_set3 = __commonJS({ "../config/plugin-commands-config/lib/set.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.help = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0; exports2.handler = handler; var configCmd = __importStar3(require_config4()); exports2.rcOptionsTypes = configCmd.rcOptionsTypes; exports2.cliOptionsTypes = configCmd.cliOptionsTypes; exports2.help = configCmd.help; exports2.commandNames = ["set"]; async function handler(opts, params) { return configCmd.handler(opts, ["set", ...params]); } } }); // ../config/plugin-commands-config/lib/index.js var require_lib141 = __commonJS({ "../config/plugin-commands-config/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.setCommand = exports2.getCommand = exports2.config = void 0; var config = __importStar3(require_config4()); exports2.config = config; var getCommand = __importStar3(require_get3()); exports2.getCommand = getCommand; var setCommand = __importStar3(require_set3()); exports2.setCommand = setCommand; } }); // ../packages/plugin-commands-doctor/lib/doctor.js var require_doctor = __commonJS({ "../packages/plugin-commands-doctor/lib/doctor.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var render_help_1 = __importDefault2(require_lib109()); var cli_utils_1 = require_lib103(); var logger_1 = require_lib(); exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return {}; } exports2.shorthands = {}; exports2.commandNames = ["doctor"]; function help() { return (0, render_help_1.default)({ description: "Checks for known common issues.", url: (0, cli_utils_1.docsUrl)("doctor"), usages: ["pnpm doctor [options]"] }); } async function handler(opts) { const { failedToLoadBuiltInConfig } = opts; if (failedToLoadBuiltInConfig) { logger_1.logger.warn({ message: 'Load npm builtin configs failed. If the prefix builtin config does not work, you can use "pnpm config list" to show builtin configs. And then use "pnpm config --global set " to migrate configs from builtin to global.', prefix: process.cwd() }); } } } }); // ../packages/plugin-commands-doctor/lib/index.js var require_lib142 = __commonJS({ "../packages/plugin-commands-doctor/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.doctor = void 0; var doctor = __importStar3(require_doctor()); exports2.doctor = doctor; } }); // ../fs/is-empty-dir-or-nothing/lib/index.js var require_lib143 = __commonJS({ "../fs/is-empty-dir-or-nothing/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isEmptyDirOrNothing = isEmptyDirOrNothing; var node_fs_1 = __importDefault2(require("node:fs")); function isEmptyDirOrNothing(path2) { try { const pathStat = node_fs_1.default.statSync(path2); if (pathStat.isFile()) { return pathStat.size === 0; } return isDirEmpty(path2); } catch (error) { if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") { return true; } return false; } } function isDirEmpty(path2) { const files = node_fs_1.default.readdirSync(path2); return files.length === 0; } } }); // ../pkg-manager/plugin-commands-installation/lib/getFetchFullMetadata.js var require_getFetchFullMetadata = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/getFetchFullMetadata.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getFetchFullMetadata = void 0; var getFetchFullMetadata = (opts) => (opts.supportedArchitectures?.libc ?? opts.rootProjectManifest?.pnpm?.supportedArchitectures?.libc) && true; exports2.getFetchFullMetadata = getFetchFullMetadata; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/once.js var require_once2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/once.js"(exports2, module2) { var _arity = require_arity(); var _curry1 = require_curry1(); var once = /* @__PURE__ */ _curry1(function once2(fn) { var called = false; var result2; return _arity(fn.length, function() { if (called) { return result2; } called = true; result2 = fn.apply(this, arguments); return result2; }); }); module2.exports = once; } }); // ../node_modules/.pnpm/p-map-values@1.0.0/node_modules/p-map-values/lib/index.js var require_lib144 = __commonJS({ "../node_modules/.pnpm/p-map-values@1.0.0/node_modules/p-map-values/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); async function pMapValue(mapper, obj) { const result2 = {}; await Promise.all(Object.entries(obj).map(async ([key, value]) => { result2[key] = await mapper(value, key, obj); })); return result2; } exports2.default = pMapValue; } }); // ../lockfile/settings-checker/lib/calcPatchHashes.js var require_calcPatchHashes = __commonJS({ "../lockfile/settings-checker/lib/calcPatchHashes.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.calcPatchHashes = calcPatchHashes; var path_1 = __importDefault2(require("path")); var p_map_values_1 = __importDefault2(require_lib144()); var crypto_hash_1 = require_lib36(); async function calcPatchHashes(patches, lockfileDir) { return (0, p_map_values_1.default)(async (patchFilePath) => { return { hash: await (0, crypto_hash_1.createHexHashFromFile)(patchFilePath), path: path_1.default.relative(lockfileDir, patchFilePath).replaceAll("\\", "/") }; }, patches); } } }); // ../lockfile/settings-checker/lib/createOverridesMapFromParsed.js var require_createOverridesMapFromParsed = __commonJS({ "../lockfile/settings-checker/lib/createOverridesMapFromParsed.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createOverridesMapFromParsed = createOverridesMapFromParsed; function createOverridesMapFromParsed(parsedOverrides) { if (!parsedOverrides) return {}; const overridesMap = {}; for (const { selector, newBareSpecifier } of parsedOverrides) { overridesMap[selector] = newBareSpecifier; } return overridesMap; } } }); // ../node_modules/.pnpm/p-every@2.0.0/node_modules/p-every/index.js var require_p_every = __commonJS({ "../node_modules/.pnpm/p-every@2.0.0/node_modules/p-every/index.js"(exports2, module2) { "use strict"; var pMap = require_p_map2(); var EndError = class extends Error { }; var test = (testFunction) => async (element, index) => { const result2 = await testFunction(element, index); if (!result2) { throw new EndError(); } return result2; }; var pEvery = async (iterable, testFunction, opts) => { try { await pMap(iterable, test(testFunction), opts); return true; } catch (error) { if (error instanceof EndError) { return false; } throw error; } }; module2.exports = pEvery; module2.exports.default = pEvery; } }); // ../lockfile/verification/lib/allCatalogsAreUpToDate.js var require_allCatalogsAreUpToDate = __commonJS({ "../lockfile/verification/lib/allCatalogsAreUpToDate.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.allCatalogsAreUpToDate = allCatalogsAreUpToDate; function allCatalogsAreUpToDate(catalogsConfig, snapshot) { return Object.entries(snapshot ?? {}).every(([catalogName, catalog]) => Object.entries(catalog ?? {}).every(([alias, entry]) => entry.specifier === catalogsConfig[catalogName]?.[alias])); } } }); // ../lockfile/verification/lib/getWorkspacePackagesByDirectory.js var require_getWorkspacePackagesByDirectory = __commonJS({ "../lockfile/verification/lib/getWorkspacePackagesByDirectory.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getWorkspacePackagesByDirectory = getWorkspacePackagesByDirectory; function getWorkspacePackagesByDirectory(workspacePackages) { const workspacePackagesByDirectory = {}; if (workspacePackages) { for (const pkgVersions of workspacePackages.values()) { for (const { rootDir, manifest } of pkgVersions.values()) { workspacePackagesByDirectory[rootDir] = manifest; } } } return workspacePackagesByDirectory; } } }); // ../lockfile/verification/lib/linkedPackagesAreUpToDate.js var require_linkedPackagesAreUpToDate = __commonJS({ "../lockfile/verification/lib/linkedPackagesAreUpToDate.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.linkedPackagesAreUpToDate = linkedPackagesAreUpToDate; var path_1 = __importDefault2(require("path")); var lockfile_utils_1 = require_lib125(); var read_package_json_1 = require_lib61(); var dependency_path_1 = require_lib86(); var types_1 = require_lib9(); var p_every_1 = __importDefault2(require_p_every()); var semver_12 = __importDefault2(require_semver2()); var version_selector_type_1 = __importDefault2(require_version_selector_type()); async function linkedPackagesAreUpToDate({ linkWorkspacePackages, manifestsByDir, workspacePackages, lockfilePackages, lockfileDir }, project) { return (0, p_every_1.default)(types_1.DEPENDENCIES_FIELDS, (depField) => { const lockfileDeps = project.snapshot[depField]; const manifestDeps = project.manifest[depField]; if (lockfileDeps == null || manifestDeps == null) return true; const depNames = Object.keys(lockfileDeps); return (0, p_every_1.default)(depNames, async (depName) => { const currentSpec = manifestDeps[depName]; if (!currentSpec) return true; const lockfileRef = lockfileDeps[depName]; if ((0, lockfile_utils_1.refIsLocalDirectory)(project.snapshot.specifiers[depName])) { const depPath = (0, dependency_path_1.refToRelative)(lockfileRef, depName); return depPath != null && isLocalFileDepUpdated(lockfileDir, lockfilePackages?.[depPath]); } const isLinked = lockfileRef.startsWith("link:"); if (isLinked && (currentSpec.startsWith("link:") || currentSpec.startsWith("file:") || currentSpec.startsWith("workspace:."))) { return true; } if (isLinked && (0, version_selector_type_1.default)(currentSpec)?.type === "tag") { return true; } const linkedDir = isLinked ? path_1.default.join(project.dir, lockfileRef.slice(5)) : workspacePackages?.get(depName)?.get(lockfileRef)?.rootDir; if (!linkedDir) return true; if (!linkWorkspacePackages && !currentSpec.startsWith("workspace:")) { return true; } const linkedPkg = manifestsByDir[linkedDir] ?? await (0, read_package_json_1.safeReadPackageJsonFromDir)(linkedDir); const availableRange = getVersionRange(currentSpec); const localPackageSatisfiesRange = availableRange === "*" || availableRange === "^" || availableRange === "~" || linkedPkg && semver_12.default.satisfies(linkedPkg.version, availableRange, { loose: true }); if (isLinked !== localPackageSatisfiesRange) return false; return true; }); }); } async function isLocalFileDepUpdated(lockfileDir, pkgSnapshot) { if (!pkgSnapshot) return false; const localDepDir = path_1.default.join(lockfileDir, pkgSnapshot.resolution.directory); const manifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(localDepDir); if (!manifest) return false; for (const depField of types_1.DEPENDENCIES_OR_PEER_FIELDS) { if (depField === "devDependencies") continue; const manifestDeps = manifest[depField] ?? {}; const lockfileDeps = pkgSnapshot[depField] ?? {}; if (Object.keys(lockfileDeps).some((depName) => !manifestDeps[depName])) { return false; } for (const depName of Object.keys(manifestDeps)) { if (!lockfileDeps[depName]) { return false; } const currentSpec = manifestDeps[depName]; if (currentSpec.startsWith("file:") || currentSpec.startsWith("link:") || currentSpec.startsWith("workspace:")) continue; if (semver_12.default.satisfies(lockfileDeps[depName], getVersionRange(currentSpec), { loose: true })) { continue; } else { return false; } } } return true; } function getVersionRange(spec) { if (spec.startsWith("workspace:")) return spec.slice(10); if (spec.startsWith("npm:")) { spec = spec.slice(4); const index = spec.indexOf("@", 1); if (index === -1) return "*"; return spec.slice(index + 1) || "*"; } return spec; } } }); // ../lockfile/verification/lib/diffFlatRecords.js var require_diffFlatRecords = __commonJS({ "../lockfile/verification/lib/diffFlatRecords.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.diffFlatRecords = diffFlatRecords; exports2.isEqual = isEqual; function diffFlatRecords(left, right) { const result2 = { added: [], removed: [], modified: [] }; for (const [key, value] of Object.entries(left)) { if (!Object.hasOwn(right, key)) { result2.removed.push({ key, value }); } else if (value !== right[key]) { result2.modified.push({ key, left: value, right: right[key] }); } } for (const [key, value] of Object.entries(right)) { if (!Object.hasOwn(left, key)) { result2.added.push({ key, value }); } } return result2; } function isEqual({ added, removed, modified }) { return added.length === 0 && removed.length === 0 && modified.length === 0; } } }); // ../lockfile/verification/lib/satisfiesPackageManifest.js var require_satisfiesPackageManifest = __commonJS({ "../lockfile/verification/lib/satisfiesPackageManifest.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.satisfiesPackageManifest = satisfiesPackageManifest; var dp = __importStar3(require_lib86()); var types_1 = require_lib9(); var equals_1 = __importDefault2(require_equals2()); var pickBy_1 = __importDefault2(require_pickBy()); var omit_1 = __importDefault2(require_omit()); var semver_12 = __importDefault2(require_semver2()); var diffFlatRecords_js_1 = require_diffFlatRecords(); function satisfiesPackageManifest(opts, importer, pkg) { if (!importer) return { satisfies: false, detailedReason: "no importer" }; let existingDeps = { ...pkg.devDependencies, ...pkg.dependencies, ...pkg.optionalDependencies }; if (opts?.autoInstallPeers) { pkg = { ...pkg, dependencies: { ...pkg.peerDependencies && (0, omit_1.default)(Object.keys(existingDeps), pkg.peerDependencies), ...pkg.dependencies } }; existingDeps = { ...pkg.peerDependencies, ...existingDeps }; } const pickNonLinkedDeps = (0, pickBy_1.default)((spec) => !spec.startsWith("link:")); let specs = importer.specifiers; if (opts?.excludeLinksFromLockfile) { existingDeps = pickNonLinkedDeps(existingDeps); specs = pickNonLinkedDeps(specs); } const specsDiff = (0, diffFlatRecords_js_1.diffFlatRecords)(specs, existingDeps); if (!(0, diffFlatRecords_js_1.isEqual)(specsDiff)) { return { satisfies: false, detailedReason: `specifiers in the lockfile don't match specifiers in package.json: ${displaySpecDiff(specsDiff)}` }; } if (importer.publishDirectory !== pkg.publishConfig?.directory) { return { satisfies: false, detailedReason: `"publishDirectory" in the lockfile (${importer.publishDirectory ?? "undefined"}) doesn't match "publishConfig.directory" in package.json (${pkg.publishConfig?.directory ?? "undefined"})` }; } if (!(0, equals_1.default)(pkg.dependenciesMeta ?? {}, importer.dependenciesMeta ?? {})) { return { satisfies: false, detailedReason: `importer dependencies meta (${JSON.stringify(importer.dependenciesMeta)}) doesn't match package manifest dependencies meta (${JSON.stringify(pkg.dependenciesMeta)})` }; } for (const depField of types_1.DEPENDENCIES_FIELDS) { const importerDeps = importer[depField] ?? {}; let pkgDeps = pkg[depField] ?? {}; if (opts?.excludeLinksFromLockfile) { pkgDeps = pickNonLinkedDeps(pkgDeps); } let pkgDepNames; switch (depField) { case "optionalDependencies": pkgDepNames = Object.keys(pkgDeps); break; case "devDependencies": pkgDepNames = Object.keys(pkgDeps).filter((depName) => !pkg.optionalDependencies?.[depName] && !pkg.dependencies?.[depName]); break; case "dependencies": pkgDepNames = Object.keys(pkgDeps).filter((depName) => !pkg.optionalDependencies?.[depName]); break; default: throw new Error(`Unknown dependency type "${depField}"`); } if (pkgDepNames.length !== Object.keys(importerDeps).length && pkgDepNames.length !== countOfNonLinkedDeps(importerDeps)) { return { satisfies: false, detailedReason: `"${depField}" in the lockfile (${JSON.stringify(importerDeps)}) doesn't match the same field in package.json (${JSON.stringify(pkgDeps)})` }; } for (const depName of pkgDepNames) { if (!importerDeps[depName] || importer.specifiers?.[depName] !== pkgDeps[depName]) { return { satisfies: false, detailedReason: `importer ${depField}.${depName} specifier ${importer.specifiers[depName]} don't match package manifest specifier (${pkgDeps[depName]})` }; } if (importer?.specifiers[depName] == null || !semver_12.default.validRange(importer?.specifiers[depName])) continue; const version2 = dp.removeSuffix(importerDeps[depName]); if (semver_12.default.valid(version2) && !semver_12.default.satisfies(version2, importer.specifiers[depName])) { return { satisfies: false, detailedReason: `The importer resolution is broken at dependency "${depName}": version "${version2}" doesn't satisfy range "${importer.specifiers[depName]}"` }; } } } return { satisfies: true }; } function countOfNonLinkedDeps(lockfileDeps) { return Object.values(lockfileDeps).filter((ref) => !ref.includes("link:") && !ref.includes("file:")).length; } function displaySpecDiff({ added, removed, modified }) { let result2 = ""; if (added.length !== 0) { result2 += `* ${added.length} dependencies were added: `; result2 += added.map(({ key, value }) => `${key}@${value}`).join(", "); result2 += "\n"; } if (removed.length !== 0) { result2 += `* ${removed.length} dependencies were removed: `; result2 += removed.map(({ key, value }) => `${key}@${value}`).join(", "); result2 += "\n"; } if (modified.length !== 0) { result2 += `* ${modified.length} dependencies are mismatched: `; for (const { key, left, right } of modified) { result2 += ` - ${key} (lockfile: ${left}, manifest: ${right}) `; } } return result2; } } }); // ../lockfile/verification/lib/localTarballDepsAreUpToDate.js var require_localTarballDepsAreUpToDate = __commonJS({ "../lockfile/verification/lib/localTarballDepsAreUpToDate.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.localTarballDepsAreUpToDate = localTarballDepsAreUpToDate; var crypto_hash_1 = require_lib36(); var dp = __importStar3(require_lib86()); var lockfile_utils_1 = require_lib125(); var types_1 = require_lib9(); var node_path_1 = __importDefault2(require("node:path")); var p_every_1 = __importDefault2(require_p_every()); async function localTarballDepsAreUpToDate({ fileIntegrityCache, lockfilePackages, lockfileDir }, project) { return (0, p_every_1.default)(types_1.DEPENDENCIES_FIELDS, (depField) => { const lockfileDeps = project.snapshot[depField]; if (lockfileDeps == null) { return true; } return (0, p_every_1.default)(Object.entries(lockfileDeps), async ([depName, ref]) => { if (!ref.startsWith("file:")) { return true; } const depPath = dp.refToRelative(ref, depName); if (depPath == null) { return true; } const parsed = dp.parse(depPath); const tarballRefWithoutPeersSuffix = parsed.nonSemverVersion; if (tarballRefWithoutPeersSuffix == null) { return true; } if (!(0, lockfile_utils_1.refIsLocalTarball)(tarballRefWithoutPeersSuffix)) { return true; } const packageSnapshot = depPath != null ? lockfilePackages?.[depPath] : null; if (packageSnapshot == null) { return false; } const fileRelativePath = tarballRefWithoutPeersSuffix.slice("file:".length); const filePath = node_path_1.default.join(lockfileDir, fileRelativePath); const fileIntegrityPromise = fileIntegrityCache.get(filePath) ?? (0, crypto_hash_1.getTarballIntegrity)(filePath); if (!fileIntegrityCache.has(filePath)) { fileIntegrityCache.set(filePath, fileIntegrityPromise); } let fileIntegrity; try { fileIntegrity = await fileIntegrityPromise; } catch (err) { return false; } return packageSnapshot.resolution.integrity === fileIntegrity; }); }); } } }); // ../lockfile/verification/lib/allProjectsAreUpToDate.js var require_allProjectsAreUpToDate = __commonJS({ "../lockfile/verification/lib/allProjectsAreUpToDate.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.allProjectsAreUpToDate = allProjectsAreUpToDate; var types_1 = require_lib9(); var p_every_1 = __importDefault2(require_p_every()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var allCatalogsAreUpToDate_js_1 = require_allCatalogsAreUpToDate(); var getWorkspacePackagesByDirectory_js_1 = require_getWorkspacePackagesByDirectory(); var linkedPackagesAreUpToDate_js_1 = require_linkedPackagesAreUpToDate(); var satisfiesPackageManifest_js_1 = require_satisfiesPackageManifest(); var localTarballDepsAreUpToDate_js_1 = require_localTarballDepsAreUpToDate(); async function allProjectsAreUpToDate(projects, opts) { if (!(0, allCatalogsAreUpToDate_js_1.allCatalogsAreUpToDate)(opts.catalogs, opts.wantedLockfile.catalogs)) { return false; } const manifestsByDir = opts.workspacePackages ? (0, getWorkspacePackagesByDirectory_js_1.getWorkspacePackagesByDirectory)(opts.workspacePackages) : {}; const _satisfiesPackageManifest = satisfiesPackageManifest_js_1.satisfiesPackageManifest.bind(null, { autoInstallPeers: opts.autoInstallPeers, excludeLinksFromLockfile: opts.excludeLinksFromLockfile }); const _linkedPackagesAreUpToDate = linkedPackagesAreUpToDate_js_1.linkedPackagesAreUpToDate.bind(null, { linkWorkspacePackages: opts.linkWorkspacePackages, manifestsByDir, workspacePackages: opts.workspacePackages, lockfilePackages: opts.wantedLockfile.packages, lockfileDir: opts.lockfileDir }); const _localTarballDepsAreUpToDate = localTarballDepsAreUpToDate_js_1.localTarballDepsAreUpToDate.bind(null, { fileIntegrityCache: /* @__PURE__ */ new Map(), lockfilePackages: opts.wantedLockfile.packages, lockfileDir: opts.lockfileDir }); return (0, p_every_1.default)(projects, async (project) => { const importer = opts.wantedLockfile.importers[project.id]; if (importer == null) { return types_1.DEPENDENCIES_FIELDS.every((depType) => project.manifest[depType] == null || (0, isEmpty_1.default)(project.manifest[depType])); } const projectInfo = { dir: project.rootDir, manifest: project.manifest, snapshot: importer }; return importer != null && _satisfiesPackageManifest(importer, project.manifest).satisfies && await _localTarballDepsAreUpToDate(projectInfo) && _linkedPackagesAreUpToDate(projectInfo); }); } } }); // ../lockfile/verification/lib/index.js var require_lib145 = __commonJS({ "../lockfile/verification/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.satisfiesPackageManifest = exports2.linkedPackagesAreUpToDate = exports2.localTarballDepsAreUpToDate = exports2.getWorkspacePackagesByDirectory = exports2.allCatalogsAreUpToDate = exports2.allProjectsAreUpToDate = void 0; var allProjectsAreUpToDate_js_1 = require_allProjectsAreUpToDate(); Object.defineProperty(exports2, "allProjectsAreUpToDate", { enumerable: true, get: function() { return allProjectsAreUpToDate_js_1.allProjectsAreUpToDate; } }); var allCatalogsAreUpToDate_js_1 = require_allCatalogsAreUpToDate(); Object.defineProperty(exports2, "allCatalogsAreUpToDate", { enumerable: true, get: function() { return allCatalogsAreUpToDate_js_1.allCatalogsAreUpToDate; } }); var getWorkspacePackagesByDirectory_js_1 = require_getWorkspacePackagesByDirectory(); Object.defineProperty(exports2, "getWorkspacePackagesByDirectory", { enumerable: true, get: function() { return getWorkspacePackagesByDirectory_js_1.getWorkspacePackagesByDirectory; } }); var localTarballDepsAreUpToDate_js_1 = require_localTarballDepsAreUpToDate(); Object.defineProperty(exports2, "localTarballDepsAreUpToDate", { enumerable: true, get: function() { return localTarballDepsAreUpToDate_js_1.localTarballDepsAreUpToDate; } }); var linkedPackagesAreUpToDate_js_1 = require_linkedPackagesAreUpToDate(); Object.defineProperty(exports2, "linkedPackagesAreUpToDate", { enumerable: true, get: function() { return linkedPackagesAreUpToDate_js_1.linkedPackagesAreUpToDate; } }); var satisfiesPackageManifest_js_1 = require_satisfiesPackageManifest(); Object.defineProperty(exports2, "satisfiesPackageManifest", { enumerable: true, get: function() { return satisfiesPackageManifest_js_1.satisfiesPackageManifest; } }); } }); // ../lockfile/settings-checker/lib/getOutdatedLockfileSetting.js var require_getOutdatedLockfileSetting = __commonJS({ "../lockfile/settings-checker/lib/getOutdatedLockfileSetting.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getOutdatedLockfileSetting = getOutdatedLockfileSetting; var lockfile_verification_1 = require_lib145(); var equals_1 = __importDefault2(require_equals2()); function getOutdatedLockfileSetting(lockfile, { catalogs, overrides, packageExtensionsChecksum, ignoredOptionalDependencies, patchedDependencies, autoInstallPeers, excludeLinksFromLockfile, peersSuffixMaxLength, pnpmfileChecksum, injectWorkspacePackages }) { if (!(0, lockfile_verification_1.allCatalogsAreUpToDate)(catalogs ?? {}, lockfile.catalogs)) { return "catalogs"; } if (!(0, equals_1.default)(lockfile.overrides ?? {}, overrides ?? {})) { return "overrides"; } if (lockfile.packageExtensionsChecksum !== packageExtensionsChecksum) { return "packageExtensionsChecksum"; } if (!(0, equals_1.default)(lockfile.ignoredOptionalDependencies?.sort() ?? [], ignoredOptionalDependencies?.sort() ?? [])) { return "ignoredOptionalDependencies"; } if (!(0, equals_1.default)(lockfile.patchedDependencies ?? {}, patchedDependencies ?? {})) { return "patchedDependencies"; } if (lockfile.settings?.autoInstallPeers != null && lockfile.settings.autoInstallPeers !== autoInstallPeers) { return "settings.autoInstallPeers"; } if (lockfile.settings?.excludeLinksFromLockfile != null && lockfile.settings.excludeLinksFromLockfile !== excludeLinksFromLockfile) { return "settings.excludeLinksFromLockfile"; } if (lockfile.settings?.peersSuffixMaxLength != null && lockfile.settings.peersSuffixMaxLength !== peersSuffixMaxLength || lockfile.settings?.peersSuffixMaxLength == null && peersSuffixMaxLength !== 1e3) { return "settings.peersSuffixMaxLength"; } if (lockfile.pnpmfileChecksum !== pnpmfileChecksum) { return "pnpmfileChecksum"; } if (Boolean(lockfile.settings?.injectWorkspacePackages) !== Boolean(injectWorkspacePackages)) { return "settings.injectWorkspacePackages"; } return null; } } }); // ../lockfile/settings-checker/lib/index.js var require_lib146 = __commonJS({ "../lockfile/settings-checker/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getOutdatedLockfileSetting = exports2.createOverridesMapFromParsed = exports2.calcPatchHashes = void 0; var calcPatchHashes_js_1 = require_calcPatchHashes(); Object.defineProperty(exports2, "calcPatchHashes", { enumerable: true, get: function() { return calcPatchHashes_js_1.calcPatchHashes; } }); var createOverridesMapFromParsed_js_1 = require_createOverridesMapFromParsed(); Object.defineProperty(exports2, "createOverridesMapFromParsed", { enumerable: true, get: function() { return createOverridesMapFromParsed_js_1.createOverridesMapFromParsed; } }); var getOutdatedLockfileSetting_js_1 = require_getOutdatedLockfileSetting(); Object.defineProperty(exports2, "getOutdatedLockfileSetting", { enumerable: true, get: function() { return getOutdatedLockfileSetting_js_1.getOutdatedLockfileSetting; } }); } }); // ../catalogs/protocol-parser/lib/parseCatalogProtocol.js var require_parseCatalogProtocol = __commonJS({ "../catalogs/protocol-parser/lib/parseCatalogProtocol.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseCatalogProtocol = parseCatalogProtocol; var CATALOG_PROTOCOL = "catalog:"; function parseCatalogProtocol(bareSpecifier) { if (!bareSpecifier.startsWith(CATALOG_PROTOCOL)) { return null; } const catalogNameRaw = bareSpecifier.slice(CATALOG_PROTOCOL.length).trim(); const catalogNameNormalized = catalogNameRaw === "" ? "default" : catalogNameRaw; return catalogNameNormalized; } } }); // ../catalogs/protocol-parser/lib/index.js var require_lib147 = __commonJS({ "../catalogs/protocol-parser/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseCatalogProtocol = void 0; var parseCatalogProtocol_js_1 = require_parseCatalogProtocol(); Object.defineProperty(exports2, "parseCatalogProtocol", { enumerable: true, get: function() { return parseCatalogProtocol_js_1.parseCatalogProtocol; } }); } }); // ../catalogs/resolver/lib/resolveFromCatalog.js var require_resolveFromCatalog = __commonJS({ "../catalogs/resolver/lib/resolveFromCatalog.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveFromCatalog = resolveFromCatalog; var error_1 = require_lib6(); var catalogs_protocol_parser_1 = require_lib147(); function resolveFromCatalog(catalogs, wantedDependency) { const catalogName = (0, catalogs_protocol_parser_1.parseCatalogProtocol)(wantedDependency.bareSpecifier); if (catalogName == null) { return { type: "unused" }; } const catalogLookup = catalogs[catalogName]?.[wantedDependency.alias]; if (catalogLookup == null) { return { type: "misconfiguration", catalogName, error: new error_1.PnpmError("CATALOG_ENTRY_NOT_FOUND_FOR_SPEC", `No catalog entry '${wantedDependency.alias}' was found for catalog '${catalogName}'.`) }; } if ((0, catalogs_protocol_parser_1.parseCatalogProtocol)(catalogLookup) != null) { return { type: "misconfiguration", catalogName, error: new error_1.PnpmError("CATALOG_ENTRY_INVALID_RECURSIVE_DEFINITION", `Found invalid catalog entry using the catalog protocol recursively. The entry for '${wantedDependency.alias}' in catalog '${catalogName}' is invalid.`) }; } const protocolOfLookup = catalogLookup.split(":")[0]; if (protocolOfLookup === "workspace") { return { type: "misconfiguration", catalogName, error: new error_1.PnpmError("CATALOG_ENTRY_INVALID_WORKSPACE_SPEC", `The workspace protocol cannot be used as a catalog value. The entry for '${wantedDependency.alias}' in catalog '${catalogName}' is invalid.`) }; } if (["link", "file"].includes(protocolOfLookup)) { return { type: "misconfiguration", catalogName, error: new error_1.PnpmError("CATALOG_ENTRY_INVALID_SPEC", `The entry for '${wantedDependency.alias}' in catalog '${catalogName}' declares a dependency using the '${protocolOfLookup}' protocol. This is not yet supported, but may be in a future version of pnpm.`) }; } return { type: "found", resolution: { catalogName, specifier: catalogLookup } }; } } }); // ../catalogs/resolver/lib/matchCatalogResolveResult.js var require_matchCatalogResolveResult = __commonJS({ "../catalogs/resolver/lib/matchCatalogResolveResult.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.matchCatalogResolveResult = matchCatalogResolveResult; function matchCatalogResolveResult(result2, matcher) { switch (result2.type) { case "found": return matcher.found(result2); case "misconfiguration": return matcher.misconfiguration(result2); case "unused": return matcher.unused(result2); } } } }); // ../catalogs/resolver/lib/index.js var require_lib148 = __commonJS({ "../catalogs/resolver/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.matchCatalogResolveResult = exports2.resolveFromCatalog = void 0; var resolveFromCatalog_js_1 = require_resolveFromCatalog(); Object.defineProperty(exports2, "resolveFromCatalog", { enumerable: true, get: function() { return resolveFromCatalog_js_1.resolveFromCatalog; } }); var matchCatalogResolveResult_js_1 = require_matchCatalogResolveResult(); Object.defineProperty(exports2, "matchCatalogResolveResult", { enumerable: true, get: function() { return matchCatalogResolveResult_js_1.matchCatalogResolveResult; } }); } }); // ../config/parse-overrides/lib/index.js var require_lib149 = __commonJS({ "../config/parse-overrides/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseOverrides = parseOverrides; exports2.parsePkgAndParentSelector = parsePkgAndParentSelector; var error_1 = require_lib6(); var parse_wanted_dependency_1 = require_lib100(); var catalogs_resolver_1 = require_lib148(); var DELIMITER_REGEX = /[^ |@]>/; function parseOverrides(overrides, catalogs) { const _resolveFromCatalog = catalogs_resolver_1.resolveFromCatalog.bind(null, catalogs ?? {}); return Object.entries(overrides).map(([selector, newBareSpecifier]) => { const result2 = parsePkgAndParentSelector(selector); const resolvedCatalog = (0, catalogs_resolver_1.matchCatalogResolveResult)(_resolveFromCatalog({ bareSpecifier: newBareSpecifier, alias: result2.targetPkg.name }), { found: ({ resolution }) => resolution.specifier, unused: () => void 0, misconfiguration: ({ error }) => { throw new error_1.PnpmError("CATALOG_IN_OVERRIDES", `Could not resolve a catalog in the overrides: ${error.message}`); } }); return { selector, newBareSpecifier: resolvedCatalog ?? newBareSpecifier, ...result2 }; }); } function parsePkgAndParentSelector(selector) { let delimiterIndex = selector.search(DELIMITER_REGEX); if (delimiterIndex !== -1) { delimiterIndex++; const parentSelector = selector.substring(0, delimiterIndex); const childSelector = selector.substring(delimiterIndex + 1); return { parentPkg: parsePkgSelector(parentSelector), targetPkg: parsePkgSelector(childSelector) }; } return { targetPkg: parsePkgSelector(selector) }; } function parsePkgSelector(selector) { const wantedDep = (0, parse_wanted_dependency_1.parseWantedDependency)(selector); if (!wantedDep.alias) { throw new error_1.PnpmError("INVALID_SELECTOR", `Cannot parse the "${selector}" selector`); } return { name: wantedDep.alias, bareSpecifier: wantedDep.bareSpecifier }; } } }); // ../workspace/state/lib/filePath.js var require_filePath = __commonJS({ "../workspace/state/lib/filePath.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getFilePath = void 0; var path_1 = __importDefault2(require("path")); var getFilePath = (workspaceDir) => path_1.default.join(workspaceDir, "node_modules", ".pnpm-workspace-state-v1.json"); exports2.getFilePath = getFilePath; } }); // ../workspace/state/lib/loadWorkspaceState.js var require_loadWorkspaceState = __commonJS({ "../workspace/state/lib/loadWorkspaceState.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.loadWorkspaceState = loadWorkspaceState; var fs_1 = __importDefault2(require("fs")); var util_1 = __importDefault2(require("util")); var logger_1 = require_lib(); var filePath_js_1 = require_filePath(); function loadWorkspaceState(workspaceDir) { logger_1.logger.debug({ msg: "loading workspace state" }); const cacheFile = (0, filePath_js_1.getFilePath)(workspaceDir); let cacheFileContent; try { cacheFileContent = fs_1.default.readFileSync(cacheFile, "utf-8"); } catch (error) { if (util_1.default.types.isNativeError(error) && "code" in error && error.code === "ENOENT") { return void 0; } throw error; } return JSON.parse(cacheFileContent); } } }); // ../workspace/state/lib/createWorkspaceState.js var require_createWorkspaceState = __commonJS({ "../workspace/state/lib/createWorkspaceState.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createWorkspaceState = void 0; var pick_1 = __importDefault2(require_pick()); var createWorkspaceState = (opts) => ({ lastValidatedTimestamp: Date.now(), projects: Object.fromEntries(opts.allProjects.map((project) => [ project.rootDir, { name: project.manifest.name, version: project.manifest.version } ])), pnpmfiles: opts.pnpmfiles, settings: (0, pick_1.default)([ "autoInstallPeers", "catalogs", "dedupeDirectDeps", "dedupeInjectedDeps", "dedupePeerDependents", "dev", "excludeLinksFromLockfile", "hoistPattern", "hoistWorkspacePackages", "injectWorkspacePackages", "linkWorkspacePackages", "nodeLinker", "optional", "preferWorkspacePackages", "production", "publicHoistPattern", "workspacePackagePatterns" ], opts.settings), filteredInstall: opts.filteredInstall, configDependencies: opts.configDependencies }); exports2.createWorkspaceState = createWorkspaceState; } }); // ../workspace/state/lib/updateWorkspaceState.js var require_updateWorkspaceState = __commonJS({ "../workspace/state/lib/updateWorkspaceState.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.updateWorkspaceState = updateWorkspaceState; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var logger_1 = require_lib(); var filePath_js_1 = require_filePath(); var createWorkspaceState_js_1 = require_createWorkspaceState(); async function updateWorkspaceState(opts) { logger_1.logger.debug({ msg: "updating workspace state" }); const workspaceState = (0, createWorkspaceState_js_1.createWorkspaceState)(opts); const workspaceStateJSON = JSON.stringify(workspaceState, void 0, 2) + "\n"; const cacheFile = (0, filePath_js_1.getFilePath)(opts.workspaceDir); await fs_1.default.promises.mkdir(path_1.default.dirname(cacheFile), { recursive: true }); await fs_1.default.promises.writeFile(cacheFile, workspaceStateJSON); } } }); // ../workspace/state/lib/index.js var require_lib150 = __commonJS({ "../workspace/state/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.updateWorkspaceState = exports2.loadWorkspaceState = void 0; var loadWorkspaceState_js_1 = require_loadWorkspaceState(); Object.defineProperty(exports2, "loadWorkspaceState", { enumerable: true, get: function() { return loadWorkspaceState_js_1.loadWorkspaceState; } }); var updateWorkspaceState_js_1 = require_updateWorkspaceState(); Object.defineProperty(exports2, "updateWorkspaceState", { enumerable: true, get: function() { return updateWorkspaceState_js_1.updateWorkspaceState; } }); } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/F.js var require_F = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/F.js"(exports2, module2) { var F = function() { return false; }; module2.exports = F; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/T.js var require_T = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/T.js"(exports2, module2) { var T = function() { return true; }; module2.exports = T; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/__.js var require__ = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/__.js"(exports2, module2) { module2.exports = { "@@functional/placeholder": true }; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/add.js var require_add = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/add.js"(exports2, module2) { var _curry2 = require_curry2(); var add = /* @__PURE__ */ _curry2(function add2(a, b) { return Number(a) + Number(b); }); module2.exports = add; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_concat.js var require_concat3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_concat.js"(exports2, module2) { function _concat(set1, set2) { set1 = set1 || []; set2 = set2 || []; var idx; var len1 = set1.length; var len2 = set2.length; var result2 = []; idx = 0; while (idx < len1) { result2[result2.length] = set1[idx]; idx += 1; } idx = 0; while (idx < len2) { result2[result2.length] = set2[idx]; idx += 1; } return result2; } module2.exports = _concat; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/addIndex.js var require_addIndex = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/addIndex.js"(exports2, module2) { var _concat = require_concat3(); var _curry1 = require_curry1(); var curryN = require_curryN2(); var addIndex = /* @__PURE__ */ _curry1(function addIndex2(fn) { return curryN(fn.length, function() { var idx = 0; var origFn = arguments[0]; var list = arguments[arguments.length - 1]; var args = Array.prototype.slice.call(arguments, 0); args[0] = function() { var result2 = origFn.apply(this, _concat(arguments, [idx, list])); idx += 1; return result2; }; return fn.apply(this, args); }); }); module2.exports = addIndex; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/adjust.js var require_adjust = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/adjust.js"(exports2, module2) { var _concat = require_concat3(); var _curry3 = require_curry3(); var adjust = /* @__PURE__ */ _curry3(function adjust2(idx, fn, list) { var len = list.length; if (idx >= len || idx < -len) { return list; } var _idx = (len + idx) % len; var _list = _concat(list); _list[_idx] = fn(list[_idx]); return _list; }); module2.exports = adjust; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xall.js var require_xall = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xall.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduced = require_reduced(); var _xfBase = require_xfBase(); var XAll = /* @__PURE__ */ (function() { function XAll2(f, xf) { this.xf = xf; this.f = f; this.all = true; } XAll2.prototype["@@transducer/init"] = _xfBase.init; XAll2.prototype["@@transducer/result"] = function(result2) { if (this.all) { result2 = this.xf["@@transducer/step"](result2, true); } return this.xf["@@transducer/result"](result2); }; XAll2.prototype["@@transducer/step"] = function(result2, input) { if (!this.f(input)) { this.all = false; result2 = _reduced(this.xf["@@transducer/step"](result2, false)); } return result2; }; return XAll2; })(); var _xall = /* @__PURE__ */ _curry2(function _xall2(f, xf) { return new XAll(f, xf); }); module2.exports = _xall; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/all.js var require_all2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/all.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xall = require_xall(); var all = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["all"], _xall, function all2(fn, list) { var idx = 0; while (idx < list.length) { if (!fn(list[idx])) { return false; } idx += 1; } return true; }) ); module2.exports = all; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/allPass.js var require_allPass = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/allPass.js"(exports2, module2) { var _curry1 = require_curry1(); var curryN = require_curryN2(); var max = require_max2(); var pluck = require_pluck2(); var reduce = require_reduce3(); var allPass = /* @__PURE__ */ _curry1(function allPass2(preds) { return curryN(reduce(max, 0, pluck("length", preds)), function() { var idx = 0; var len = preds.length; while (idx < len) { if (!preds[idx].apply(this, arguments)) { return false; } idx += 1; } return true; }); }); module2.exports = allPass; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/and.js var require_and = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/and.js"(exports2, module2) { var _curry2 = require_curry2(); var and = /* @__PURE__ */ _curry2(function and2(a, b) { return a && b; }); module2.exports = and; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xany.js var require_xany = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xany.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduced = require_reduced(); var _xfBase = require_xfBase(); var XAny = /* @__PURE__ */ (function() { function XAny2(f, xf) { this.xf = xf; this.f = f; this.any = false; } XAny2.prototype["@@transducer/init"] = _xfBase.init; XAny2.prototype["@@transducer/result"] = function(result2) { if (!this.any) { result2 = this.xf["@@transducer/step"](result2, false); } return this.xf["@@transducer/result"](result2); }; XAny2.prototype["@@transducer/step"] = function(result2, input) { if (this.f(input)) { this.any = true; result2 = _reduced(this.xf["@@transducer/step"](result2, true)); } return result2; }; return XAny2; })(); var _xany = /* @__PURE__ */ _curry2(function _xany2(f, xf) { return new XAny(f, xf); }); module2.exports = _xany; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/any.js var require_any = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/any.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xany = require_xany(); var any = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["any"], _xany, function any2(fn, list) { var idx = 0; while (idx < list.length) { if (fn(list[idx])) { return true; } idx += 1; } return false; }) ); module2.exports = any; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/anyPass.js var require_anyPass = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/anyPass.js"(exports2, module2) { var _curry1 = require_curry1(); var curryN = require_curryN2(); var max = require_max2(); var pluck = require_pluck2(); var reduce = require_reduce3(); var anyPass = /* @__PURE__ */ _curry1(function anyPass2(preds) { return curryN(reduce(max, 0, pluck("length", preds)), function() { var idx = 0; var len = preds.length; while (idx < len) { if (preds[idx].apply(this, arguments)) { return true; } idx += 1; } return false; }); }); module2.exports = anyPass; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ap.js var require_ap = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ap.js"(exports2, module2) { var _concat = require_concat3(); var _curry2 = require_curry2(); var _reduce = require_reduce(); var map = require_map3(); var ap = /* @__PURE__ */ _curry2(function ap2(applyF, applyX) { return typeof applyX["fantasy-land/ap"] === "function" ? applyX["fantasy-land/ap"](applyF) : typeof applyF.ap === "function" ? applyF.ap(applyX) : typeof applyF === "function" ? function(x) { return applyF(x)(applyX(x)); } : _reduce(function(acc, f) { return _concat(acc, map(f, applyX)); }, [], applyF); }); module2.exports = ap; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_aperture.js var require_aperture = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_aperture.js"(exports2, module2) { function _aperture(n, list) { var idx = 0; var limit = list.length - (n - 1); var acc = new Array(limit >= 0 ? limit : 0); while (idx < limit) { acc[idx] = Array.prototype.slice.call(list, idx, idx + n); idx += 1; } return acc; } module2.exports = _aperture; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xaperture.js var require_xaperture = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xaperture.js"(exports2, module2) { var _concat = require_concat3(); var _curry2 = require_curry2(); var _xfBase = require_xfBase(); var XAperture = /* @__PURE__ */ (function() { function XAperture2(n, xf) { this.xf = xf; this.pos = 0; this.full = false; this.acc = new Array(n); } XAperture2.prototype["@@transducer/init"] = _xfBase.init; XAperture2.prototype["@@transducer/result"] = function(result2) { this.acc = null; return this.xf["@@transducer/result"](result2); }; XAperture2.prototype["@@transducer/step"] = function(result2, input) { this.store(input); return this.full ? this.xf["@@transducer/step"](result2, this.getCopy()) : result2; }; XAperture2.prototype.store = function(input) { this.acc[this.pos] = input; this.pos += 1; if (this.pos === this.acc.length) { this.pos = 0; this.full = true; } }; XAperture2.prototype.getCopy = function() { return _concat(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos)); }; return XAperture2; })(); var _xaperture = /* @__PURE__ */ _curry2(function _xaperture2(n, xf) { return new XAperture(n, xf); }); module2.exports = _xaperture; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/aperture.js var require_aperture2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/aperture.js"(exports2, module2) { var _aperture = require_aperture(); var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xaperture = require_xaperture(); var aperture = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xaperture, _aperture) ); module2.exports = aperture; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/append.js var require_append = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/append.js"(exports2, module2) { var _concat = require_concat3(); var _curry2 = require_curry2(); var append = /* @__PURE__ */ _curry2(function append2(el, list) { return _concat(list, [el]); }); module2.exports = append; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/apply.js var require_apply = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/apply.js"(exports2, module2) { var _curry2 = require_curry2(); var apply = /* @__PURE__ */ _curry2(function apply2(fn, args) { return fn.apply(this, args); }); module2.exports = apply; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/values.js var require_values = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/values.js"(exports2, module2) { var _curry1 = require_curry1(); var keys = require_keys(); var values = /* @__PURE__ */ _curry1(function values2(obj) { var props = keys(obj); var len = props.length; var vals = []; var idx = 0; while (idx < len) { vals[idx] = obj[props[idx]]; idx += 1; } return vals; }); module2.exports = values; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/applySpec.js var require_applySpec = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/applySpec.js"(exports2, module2) { var _curry1 = require_curry1(); var _isArray = require_isArray(); var apply = require_apply(); var curryN = require_curryN2(); var max = require_max2(); var pluck = require_pluck2(); var reduce = require_reduce3(); var keys = require_keys(); var values = require_values(); function mapValues(fn, obj) { return _isArray(obj) ? obj.map(fn) : keys(obj).reduce(function(acc, key) { acc[key] = fn(obj[key]); return acc; }, {}); } var applySpec = /* @__PURE__ */ _curry1(function applySpec2(spec) { spec = mapValues(function(v) { return typeof v == "function" ? v : applySpec2(v); }, spec); return curryN(reduce(max, 0, pluck("length", values(spec))), function() { var args = arguments; return mapValues(function(f) { return apply(f, args); }, spec); }); }); module2.exports = applySpec; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/applyTo.js var require_applyTo = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/applyTo.js"(exports2, module2) { var _curry2 = require_curry2(); var applyTo = /* @__PURE__ */ _curry2(function applyTo2(x, f) { return f(x); }); module2.exports = applyTo; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ascend.js var require_ascend = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ascend.js"(exports2, module2) { var _curry3 = require_curry3(); var ascend = /* @__PURE__ */ _curry3(function ascend2(fn, a, b) { var aa = fn(a); var bb = fn(b); return aa < bb ? -1 : aa > bb ? 1 : 0; }); module2.exports = ascend; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_assoc.js var require_assoc = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_assoc.js"(exports2, module2) { var _isArray = require_isArray(); var _isInteger = require_isInteger(); function _assoc(prop, val, obj) { if (_isInteger(prop) && _isArray(obj)) { var arr = [].concat(obj); arr[prop] = val; return arr; } var result2 = {}; for (var p in obj) { result2[p] = obj[p]; } result2[prop] = val; return result2; } module2.exports = _assoc; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/isNil.js var require_isNil = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/isNil.js"(exports2, module2) { var _curry1 = require_curry1(); var isNil = /* @__PURE__ */ _curry1(function isNil2(x) { return x == null; }); module2.exports = isNil; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/assocPath.js var require_assocPath = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/assocPath.js"(exports2, module2) { var _curry3 = require_curry3(); var _has = require_has(); var _isInteger = require_isInteger(); var _assoc = require_assoc(); var isNil = require_isNil(); var assocPath = /* @__PURE__ */ _curry3(function assocPath2(path2, val, obj) { if (path2.length === 0) { return val; } var idx = path2[0]; if (path2.length > 1) { var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path2[1]) ? [] : {}; val = assocPath2(Array.prototype.slice.call(path2, 1), val, nextObj); } return _assoc(idx, val, obj); }); module2.exports = assocPath; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/assoc.js var require_assoc2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/assoc.js"(exports2, module2) { var _curry3 = require_curry3(); var assocPath = require_assocPath(); var assoc = /* @__PURE__ */ _curry3(function assoc2(prop, val, obj) { return assocPath([prop], val, obj); }); module2.exports = assoc; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nAry.js var require_nAry = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nAry.js"(exports2, module2) { var _curry2 = require_curry2(); var nAry = /* @__PURE__ */ _curry2(function nAry2(n, fn) { switch (n) { case 0: return function() { return fn.call(this); }; case 1: return function(a0) { return fn.call(this, a0); }; case 2: return function(a0, a1) { return fn.call(this, a0, a1); }; case 3: return function(a0, a1, a2) { return fn.call(this, a0, a1, a2); }; case 4: return function(a0, a1, a2, a3) { return fn.call(this, a0, a1, a2, a3); }; case 5: return function(a0, a1, a2, a3, a4) { return fn.call(this, a0, a1, a2, a3, a4); }; case 6: return function(a0, a1, a2, a3, a4, a5) { return fn.call(this, a0, a1, a2, a3, a4, a5); }; case 7: return function(a0, a1, a2, a3, a4, a5, a6) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6); }; case 8: return function(a0, a1, a2, a3, a4, a5, a6, a7) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7); }; case 9: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8); }; case 10: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }; default: throw new Error("First argument to nAry must be a non-negative integer no greater than ten"); } }); module2.exports = nAry; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/binary.js var require_binary3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/binary.js"(exports2, module2) { var _curry1 = require_curry1(); var nAry = require_nAry(); var binary = /* @__PURE__ */ _curry1(function binary2(fn) { return nAry(2, fn); }); module2.exports = binary; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isFunction.js var require_isFunction2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isFunction.js"(exports2, module2) { function _isFunction(x) { var type = Object.prototype.toString.call(x); return type === "[object Function]" || type === "[object AsyncFunction]" || type === "[object GeneratorFunction]" || type === "[object AsyncGeneratorFunction]"; } module2.exports = _isFunction; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/liftN.js var require_liftN = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/liftN.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduce = require_reduce(); var ap = require_ap(); var curryN = require_curryN2(); var map = require_map3(); var liftN = /* @__PURE__ */ _curry2(function liftN2(arity, fn) { var lifted = curryN(arity, fn); return curryN(arity, function() { return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1)); }); }); module2.exports = liftN; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lift.js var require_lift2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lift.js"(exports2, module2) { var _curry1 = require_curry1(); var liftN = require_liftN(); var lift = /* @__PURE__ */ _curry1(function lift2(fn) { return liftN(fn.length, fn); }); module2.exports = lift; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/both.js var require_both = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/both.js"(exports2, module2) { var _curry2 = require_curry2(); var _isFunction = require_isFunction2(); var and = require_and(); var lift = require_lift2(); var both = /* @__PURE__ */ _curry2(function both2(f, g) { return _isFunction(f) ? function _both() { return f.apply(this, arguments) && g.apply(this, arguments); } : lift(and)(f, g); }); module2.exports = both; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/call.js var require_call = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/call.js"(exports2, module2) { var _curry1 = require_curry1(); var call = /* @__PURE__ */ _curry1(function call2(fn) { return fn.apply(this, Array.prototype.slice.call(arguments, 1)); }); module2.exports = call; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/clamp.js var require_clamp = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/clamp.js"(exports2, module2) { var _curry3 = require_curry3(); var clamp = /* @__PURE__ */ _curry3(function clamp2(min, max, value) { if (min > max) { throw new Error("min must not be greater than max in clamp(min, max, value)"); } return value < min ? min : value > max ? max : value; }); module2.exports = clamp; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/collectBy.js var require_collectBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/collectBy.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduce = require_reduce(); var collectBy = /* @__PURE__ */ _curry2(function collectBy2(fn, list) { var group = _reduce(function(o, x) { var tag2 = fn(x); if (o[tag2] === void 0) { o[tag2] = []; } o[tag2].push(x); return o; }, {}, list); var newList = []; for (var tag in group) { newList.push(group[tag]); } return newList; }); module2.exports = collectBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/comparator.js var require_comparator2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/comparator.js"(exports2, module2) { var _curry1 = require_curry1(); var comparator = /* @__PURE__ */ _curry1(function comparator2(pred) { return function(a, b) { return pred(a, b) ? -1 : pred(b, a) ? 1 : 0; }; }); module2.exports = comparator; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/not.js var require_not2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/not.js"(exports2, module2) { var _curry1 = require_curry1(); var not = /* @__PURE__ */ _curry1(function not2(a) { return !a; }); module2.exports = not; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/complement.js var require_complement2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/complement.js"(exports2, module2) { var lift = require_lift2(); var not = require_not2(); var complement = /* @__PURE__ */ lift(not); module2.exports = complement; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_pipe.js var require_pipe3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_pipe.js"(exports2, module2) { function _pipe(f, g) { return function() { return g.call(this, f.apply(this, arguments)); }; } module2.exports = _pipe; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/slice.js var require_slice = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/slice.js"(exports2, module2) { var _checkForMethod = require_checkForMethod(); var _curry3 = require_curry3(); var slice = /* @__PURE__ */ _curry3( /* @__PURE__ */ _checkForMethod("slice", function slice2(fromIndex, toIndex, list) { return Array.prototype.slice.call(list, fromIndex, toIndex); }) ); module2.exports = slice; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tail.js var require_tail = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tail.js"(exports2, module2) { var _checkForMethod = require_checkForMethod(); var _curry1 = require_curry1(); var slice = require_slice(); var tail = /* @__PURE__ */ _curry1( /* @__PURE__ */ _checkForMethod( "tail", /* @__PURE__ */ slice(1, Infinity) ) ); module2.exports = tail; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pipe.js var require_pipe4 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pipe.js"(exports2, module2) { var _arity = require_arity(); var _pipe = require_pipe3(); var reduce = require_reduce3(); var tail = require_tail(); function pipe() { if (arguments.length === 0) { throw new Error("pipe requires at least one argument"); } return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments))); } module2.exports = pipe; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reverse.js var require_reverse = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reverse.js"(exports2, module2) { var _curry1 = require_curry1(); var _isString = require_isString(); var reverse = /* @__PURE__ */ _curry1(function reverse2(list) { return _isString(list) ? list.split("").reverse().join("") : Array.prototype.slice.call(list, 0).reverse(); }); module2.exports = reverse; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/compose.js var require_compose = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/compose.js"(exports2, module2) { var pipe = require_pipe4(); var reverse = require_reverse(); function compose() { if (arguments.length === 0) { throw new Error("compose requires at least one argument"); } return pipe.apply(this, reverse(arguments)); } module2.exports = compose; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/head.js var require_head = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/head.js"(exports2, module2) { var nth = require_nth(); var head = /* @__PURE__ */ nth(0); module2.exports = head; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/identity.js var require_identity3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/identity.js"(exports2, module2) { var _curry1 = require_curry1(); var _identity = require_identity2(); var identity = /* @__PURE__ */ _curry1(_identity); module2.exports = identity; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pipeWith.js var require_pipeWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pipeWith.js"(exports2, module2) { var _arity = require_arity(); var _curry2 = require_curry2(); var head = require_head(); var _reduce = require_reduce(); var tail = require_tail(); var identity = require_identity3(); var pipeWith = /* @__PURE__ */ _curry2(function pipeWith2(xf, list) { if (list.length <= 0) { return identity; } var headList = head(list); var tailList = tail(list); return _arity(headList.length, function() { return _reduce(function(result2, f) { return xf.call(this, f, result2); }, headList.apply(this, arguments), tailList); }); }); module2.exports = pipeWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/composeWith.js var require_composeWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/composeWith.js"(exports2, module2) { var _curry2 = require_curry2(); var pipeWith = require_pipeWith(); var reverse = require_reverse(); var composeWith = /* @__PURE__ */ _curry2(function composeWith2(xf, list) { return pipeWith.apply(this, [xf, reverse(list)]); }); module2.exports = composeWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_quote.js var require_quote = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_quote.js"(exports2, module2) { function _quote(s) { var escaped = s.replace(/\\/g, "\\\\").replace(/[\b]/g, "\\b").replace(/\f/g, "\\f").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t").replace(/\v/g, "\\v").replace(/\0/g, "\\0"); return '"' + escaped.replace(/"/g, '\\"') + '"'; } module2.exports = _quote; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_toISOString.js var require_toISOString = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_toISOString.js"(exports2, module2) { var pad = function pad2(n) { return (n < 10 ? "0" : "") + n; }; var _toISOString = typeof Date.prototype.toISOString === "function" ? function _toISOString2(d) { return d.toISOString(); } : function _toISOString2(d) { return d.getUTCFullYear() + "-" + pad(d.getUTCMonth() + 1) + "-" + pad(d.getUTCDate()) + "T" + pad(d.getUTCHours()) + ":" + pad(d.getUTCMinutes()) + ":" + pad(d.getUTCSeconds()) + "." + (d.getUTCMilliseconds() / 1e3).toFixed(3).slice(2, 5) + "Z"; }; module2.exports = _toISOString; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_toString.js var require_toString = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_toString.js"(exports2, module2) { var _includes = require_includes(); var _map = require_map2(); var _quote = require_quote(); var _toISOString = require_toISOString(); var keys = require_keys(); var reject = require_reject(); function _toString(x, seen) { var recur = function recur2(y) { var xs = seen.concat([x]); return _includes(y, xs) ? "" : _toString(y, xs); }; var mapPairs = function(obj, keys2) { return _map(function(k) { return _quote(k) + ": " + recur(obj[k]); }, keys2.slice().sort()); }; switch (Object.prototype.toString.call(x)) { case "[object Arguments]": return "(function() { return arguments; }(" + _map(recur, x).join(", ") + "))"; case "[object Array]": return "[" + _map(recur, x).concat(mapPairs(x, reject(function(k) { return /^\d+$/.test(k); }, keys(x)))).join(", ") + "]"; case "[object Boolean]": return typeof x === "object" ? "new Boolean(" + recur(x.valueOf()) + ")" : x.toString(); case "[object Date]": return "new Date(" + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ")"; case "[object Null]": return "null"; case "[object Number]": return typeof x === "object" ? "new Number(" + recur(x.valueOf()) + ")" : 1 / x === -Infinity ? "-0" : x.toString(10); case "[object String]": return typeof x === "object" ? "new String(" + recur(x.valueOf()) + ")" : _quote(x); case "[object Undefined]": return "undefined"; default: if (typeof x.toString === "function") { var repr = x.toString(); if (repr !== "[object Object]") { return repr; } } return "{" + mapPairs(x, keys(x)).join(", ") + "}"; } } module2.exports = _toString; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toString.js var require_toString2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toString.js"(exports2, module2) { var _curry1 = require_curry1(); var _toString = require_toString(); var toString = /* @__PURE__ */ _curry1(function toString2(val) { return _toString(val, []); }); module2.exports = toString; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/concat.js var require_concat4 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/concat.js"(exports2, module2) { var _curry2 = require_curry2(); var _isArray = require_isArray(); var _isFunction = require_isFunction2(); var _isString = require_isString(); var toString = require_toString2(); var concat = /* @__PURE__ */ _curry2(function concat2(a, b) { if (_isArray(a)) { if (_isArray(b)) { return a.concat(b); } throw new TypeError(toString(b) + " is not an array"); } if (_isString(a)) { if (_isString(b)) { return a + b; } throw new TypeError(toString(b) + " is not a string"); } if (a != null && _isFunction(a["fantasy-land/concat"])) { return a["fantasy-land/concat"](b); } if (a != null && _isFunction(a.concat)) { return a.concat(b); } throw new TypeError(toString(a) + ' does not have a method named "concat" or "fantasy-land/concat"'); }); module2.exports = concat; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/cond.js var require_cond = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/cond.js"(exports2, module2) { var _arity = require_arity(); var _curry1 = require_curry1(); var map = require_map3(); var max = require_max2(); var reduce = require_reduce3(); var cond = /* @__PURE__ */ _curry1(function cond2(pairs) { var arity = reduce(max, 0, map(function(pair) { return pair[0].length; }, pairs)); return _arity(arity, function() { var idx = 0; while (idx < pairs.length) { if (pairs[idx][0].apply(this, arguments)) { return pairs[idx][1].apply(this, arguments); } idx += 1; } }); }); module2.exports = cond; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/curry.js var require_curry = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/curry.js"(exports2, module2) { var _curry1 = require_curry1(); var curryN = require_curryN2(); var curry = /* @__PURE__ */ _curry1(function curry2(fn) { return curryN(fn.length, fn); }); module2.exports = curry; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/constructN.js var require_constructN = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/constructN.js"(exports2, module2) { var _curry2 = require_curry2(); var curry = require_curry(); var nAry = require_nAry(); var constructN = /* @__PURE__ */ _curry2(function constructN2(n, Fn) { if (n > 10) { throw new Error("Constructor with greater than ten arguments"); } if (n === 0) { return function() { return new Fn(); }; } return curry(nAry(n, function($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { switch (arguments.length) { case 1: return new Fn($0); case 2: return new Fn($0, $1); case 3: return new Fn($0, $1, $2); case 4: return new Fn($0, $1, $2, $3); case 5: return new Fn($0, $1, $2, $3, $4); case 6: return new Fn($0, $1, $2, $3, $4, $5); case 7: return new Fn($0, $1, $2, $3, $4, $5, $6); case 8: return new Fn($0, $1, $2, $3, $4, $5, $6, $7); case 9: return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8); case 10: return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9); } })); }); module2.exports = constructN; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/construct.js var require_construct = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/construct.js"(exports2, module2) { var _curry1 = require_curry1(); var constructN = require_constructN(); var construct = /* @__PURE__ */ _curry1(function construct2(Fn) { return constructN(Fn.length, Fn); }); module2.exports = construct; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/count.js var require_count2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/count.js"(exports2, module2) { var _reduce = require_reduce(); var curry = require_curry(); var count = /* @__PURE__ */ curry(function(pred, list) { return _reduce(function(a, e) { return pred(e) ? a + 1 : a; }, 0, list); }); module2.exports = count; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/countBy.js var require_countBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/countBy.js"(exports2, module2) { var reduceBy = require_reduceBy(); var countBy = /* @__PURE__ */ reduceBy(function(acc, elem) { return acc + 1; }, 0); module2.exports = countBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dec.js var require_dec = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dec.js"(exports2, module2) { var add = require_add(); var dec = /* @__PURE__ */ add(-1); module2.exports = dec; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/defaultTo.js var require_defaultTo = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/defaultTo.js"(exports2, module2) { var _curry2 = require_curry2(); var defaultTo = /* @__PURE__ */ _curry2(function defaultTo2(d, v) { return v == null || v !== v ? d : v; }); module2.exports = defaultTo; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/descend.js var require_descend = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/descend.js"(exports2, module2) { var _curry3 = require_curry3(); var descend = /* @__PURE__ */ _curry3(function descend2(fn, a, b) { var aa = fn(a); var bb = fn(b); return aa > bb ? -1 : aa < bb ? 1 : 0; }); module2.exports = descend; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/differenceWith.js var require_differenceWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/differenceWith.js"(exports2, module2) { var _includesWith = require_includesWith(); var _curry3 = require_curry3(); var differenceWith = /* @__PURE__ */ _curry3(function differenceWith2(pred, first, second) { var out = []; var idx = 0; var firstLen = first.length; while (idx < firstLen) { if (!_includesWith(pred, first[idx], second) && !_includesWith(pred, first[idx], out)) { out.push(first[idx]); } idx += 1; } return out; }); module2.exports = differenceWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/remove.js var require_remove3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/remove.js"(exports2, module2) { var _curry3 = require_curry3(); var remove = /* @__PURE__ */ _curry3(function remove2(start, count, list) { var result2 = Array.prototype.slice.call(list, 0); result2.splice(start, count); return result2; }); module2.exports = remove; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dissoc.js var require_dissoc = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dissoc.js"(exports2, module2) { var _isInteger = require_isInteger(); var _isArray = require_isArray(); var remove = require_remove3(); function _dissoc(prop, obj) { if (obj == null) { return obj; } if (_isInteger(prop) && _isArray(obj)) { return remove(prop, 1, obj); } var result2 = {}; for (var p in obj) { result2[p] = obj[p]; } delete result2[prop]; return result2; } module2.exports = _dissoc; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dissocPath.js var require_dissocPath = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dissocPath.js"(exports2, module2) { var _curry2 = require_curry2(); var _dissoc = require_dissoc(); var _isInteger = require_isInteger(); var _isArray = require_isArray(); var assoc = require_assoc2(); function _shallowCloneObject(prop, obj) { if (_isInteger(prop) && _isArray(obj)) { return [].concat(obj); } var result2 = {}; for (var p in obj) { result2[p] = obj[p]; } return result2; } var dissocPath = /* @__PURE__ */ _curry2(function dissocPath2(path2, obj) { if (obj == null) { return obj; } switch (path2.length) { case 0: return obj; case 1: return _dissoc(path2[0], obj); default: var head = path2[0]; var tail = Array.prototype.slice.call(path2, 1); if (obj[head] == null) { return _shallowCloneObject(head, obj); } else { return assoc(head, dissocPath2(tail, obj[head]), obj); } } }); module2.exports = dissocPath; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dissoc.js var require_dissoc2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dissoc.js"(exports2, module2) { var _curry2 = require_curry2(); var dissocPath = require_dissocPath(); var dissoc = /* @__PURE__ */ _curry2(function dissoc2(prop, obj) { return dissocPath([prop], obj); }); module2.exports = dissoc; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/divide.js var require_divide = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/divide.js"(exports2, module2) { var _curry2 = require_curry2(); var divide = /* @__PURE__ */ _curry2(function divide2(a, b) { return a / b; }); module2.exports = divide; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdrop.js var require_xdrop = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdrop.js"(exports2, module2) { var _curry2 = require_curry2(); var _xfBase = require_xfBase(); var XDrop = /* @__PURE__ */ (function() { function XDrop2(n, xf) { this.xf = xf; this.n = n; } XDrop2.prototype["@@transducer/init"] = _xfBase.init; XDrop2.prototype["@@transducer/result"] = _xfBase.result; XDrop2.prototype["@@transducer/step"] = function(result2, input) { if (this.n > 0) { this.n -= 1; return result2; } return this.xf["@@transducer/step"](result2, input); }; return XDrop2; })(); var _xdrop = /* @__PURE__ */ _curry2(function _xdrop2(n, xf) { return new XDrop(n, xf); }); module2.exports = _xdrop; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/drop.js var require_drop = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/drop.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xdrop = require_xdrop(); var slice = require_slice(); var drop = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["drop"], _xdrop, function drop2(n, xs) { return slice(Math.max(0, n), Infinity, xs); }) ); module2.exports = drop; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtake.js var require_xtake = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtake.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduced = require_reduced(); var _xfBase = require_xfBase(); var XTake = /* @__PURE__ */ (function() { function XTake2(n, xf) { this.xf = xf; this.n = n; this.i = 0; } XTake2.prototype["@@transducer/init"] = _xfBase.init; XTake2.prototype["@@transducer/result"] = _xfBase.result; XTake2.prototype["@@transducer/step"] = function(result2, input) { this.i += 1; var ret2 = this.n === 0 ? result2 : this.xf["@@transducer/step"](result2, input); return this.n >= 0 && this.i >= this.n ? _reduced(ret2) : ret2; }; return XTake2; })(); var _xtake = /* @__PURE__ */ _curry2(function _xtake2(n, xf) { return new XTake(n, xf); }); module2.exports = _xtake; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/take.js var require_take2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/take.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xtake = require_xtake(); var slice = require_slice(); var take = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["take"], _xtake, function take2(n, xs) { return slice(0, n < 0 ? Infinity : n, xs); }) ); module2.exports = take; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dropLast.js var require_dropLast = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dropLast.js"(exports2, module2) { var take = require_take2(); function dropLast(n, xs) { return take(n < xs.length ? xs.length - n : 0, xs); } module2.exports = dropLast; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropLast.js var require_xdropLast = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropLast.js"(exports2, module2) { var _curry2 = require_curry2(); var _xfBase = require_xfBase(); var XDropLast = /* @__PURE__ */ (function() { function XDropLast2(n, xf) { this.xf = xf; this.pos = 0; this.full = false; this.acc = new Array(n); } XDropLast2.prototype["@@transducer/init"] = _xfBase.init; XDropLast2.prototype["@@transducer/result"] = function(result2) { this.acc = null; return this.xf["@@transducer/result"](result2); }; XDropLast2.prototype["@@transducer/step"] = function(result2, input) { if (this.full) { result2 = this.xf["@@transducer/step"](result2, this.acc[this.pos]); } this.store(input); return result2; }; XDropLast2.prototype.store = function(input) { this.acc[this.pos] = input; this.pos += 1; if (this.pos === this.acc.length) { this.pos = 0; this.full = true; } }; return XDropLast2; })(); var _xdropLast = /* @__PURE__ */ _curry2(function _xdropLast2(n, xf) { return new XDropLast(n, xf); }); module2.exports = _xdropLast; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropLast.js var require_dropLast2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropLast.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _dropLast = require_dropLast(); var _xdropLast = require_xdropLast(); var dropLast = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xdropLast, _dropLast) ); module2.exports = dropLast; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dropLastWhile.js var require_dropLastWhile = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dropLastWhile.js"(exports2, module2) { var slice = require_slice(); function dropLastWhile(pred, xs) { var idx = xs.length - 1; while (idx >= 0 && pred(xs[idx])) { idx -= 1; } return slice(0, idx + 1, xs); } module2.exports = dropLastWhile; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropLastWhile.js var require_xdropLastWhile = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropLastWhile.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduce = require_reduce(); var _xfBase = require_xfBase(); var XDropLastWhile = /* @__PURE__ */ (function() { function XDropLastWhile2(fn, xf) { this.f = fn; this.retained = []; this.xf = xf; } XDropLastWhile2.prototype["@@transducer/init"] = _xfBase.init; XDropLastWhile2.prototype["@@transducer/result"] = function(result2) { this.retained = null; return this.xf["@@transducer/result"](result2); }; XDropLastWhile2.prototype["@@transducer/step"] = function(result2, input) { return this.f(input) ? this.retain(result2, input) : this.flush(result2, input); }; XDropLastWhile2.prototype.flush = function(result2, input) { result2 = _reduce(this.xf["@@transducer/step"], result2, this.retained); this.retained = []; return this.xf["@@transducer/step"](result2, input); }; XDropLastWhile2.prototype.retain = function(result2, input) { this.retained.push(input); return result2; }; return XDropLastWhile2; })(); var _xdropLastWhile = /* @__PURE__ */ _curry2(function _xdropLastWhile2(fn, xf) { return new XDropLastWhile(fn, xf); }); module2.exports = _xdropLastWhile; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropLastWhile.js var require_dropLastWhile2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropLastWhile.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _dropLastWhile = require_dropLastWhile(); var _xdropLastWhile = require_xdropLastWhile(); var dropLastWhile = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xdropLastWhile, _dropLastWhile) ); module2.exports = dropLastWhile; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropRepeatsWith.js var require_xdropRepeatsWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropRepeatsWith.js"(exports2, module2) { var _curry2 = require_curry2(); var _xfBase = require_xfBase(); var XDropRepeatsWith = /* @__PURE__ */ (function() { function XDropRepeatsWith2(pred, xf) { this.xf = xf; this.pred = pred; this.lastValue = void 0; this.seenFirstValue = false; } XDropRepeatsWith2.prototype["@@transducer/init"] = _xfBase.init; XDropRepeatsWith2.prototype["@@transducer/result"] = _xfBase.result; XDropRepeatsWith2.prototype["@@transducer/step"] = function(result2, input) { var sameAsLast = false; if (!this.seenFirstValue) { this.seenFirstValue = true; } else if (this.pred(this.lastValue, input)) { sameAsLast = true; } this.lastValue = input; return sameAsLast ? result2 : this.xf["@@transducer/step"](result2, input); }; return XDropRepeatsWith2; })(); var _xdropRepeatsWith = /* @__PURE__ */ _curry2(function _xdropRepeatsWith2(pred, xf) { return new XDropRepeatsWith(pred, xf); }); module2.exports = _xdropRepeatsWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/last.js var require_last2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/last.js"(exports2, module2) { var nth = require_nth(); var last = /* @__PURE__ */ nth(-1); module2.exports = last; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropRepeatsWith.js var require_dropRepeatsWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropRepeatsWith.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xdropRepeatsWith = require_xdropRepeatsWith(); var last = require_last2(); var dropRepeatsWith = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xdropRepeatsWith, function dropRepeatsWith2(pred, list) { var result2 = []; var idx = 1; var len = list.length; if (len !== 0) { result2[0] = list[0]; while (idx < len) { if (!pred(last(result2), list[idx])) { result2[result2.length] = list[idx]; } idx += 1; } } return result2; }) ); module2.exports = dropRepeatsWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropRepeats.js var require_dropRepeats = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropRepeats.js"(exports2, module2) { var _curry1 = require_curry1(); var _dispatchable = require_dispatchable(); var _xdropRepeatsWith = require_xdropRepeatsWith(); var dropRepeatsWith = require_dropRepeatsWith(); var equals = require_equals2(); var dropRepeats = /* @__PURE__ */ _curry1( /* @__PURE__ */ _dispatchable( [], /* @__PURE__ */ _xdropRepeatsWith(equals), /* @__PURE__ */ dropRepeatsWith(equals) ) ); module2.exports = dropRepeats; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropWhile.js var require_xdropWhile = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropWhile.js"(exports2, module2) { var _curry2 = require_curry2(); var _xfBase = require_xfBase(); var XDropWhile = /* @__PURE__ */ (function() { function XDropWhile2(f, xf) { this.xf = xf; this.f = f; } XDropWhile2.prototype["@@transducer/init"] = _xfBase.init; XDropWhile2.prototype["@@transducer/result"] = _xfBase.result; XDropWhile2.prototype["@@transducer/step"] = function(result2, input) { if (this.f) { if (this.f(input)) { return result2; } this.f = null; } return this.xf["@@transducer/step"](result2, input); }; return XDropWhile2; })(); var _xdropWhile = /* @__PURE__ */ _curry2(function _xdropWhile2(f, xf) { return new XDropWhile(f, xf); }); module2.exports = _xdropWhile; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropWhile.js var require_dropWhile = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropWhile.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xdropWhile = require_xdropWhile(); var slice = require_slice(); var dropWhile = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["dropWhile"], _xdropWhile, function dropWhile2(pred, xs) { var idx = 0; var len = xs.length; while (idx < len && pred(xs[idx])) { idx += 1; } return slice(idx, Infinity, xs); }) ); module2.exports = dropWhile; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/or.js var require_or = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/or.js"(exports2, module2) { var _curry2 = require_curry2(); var or = /* @__PURE__ */ _curry2(function or2(a, b) { return a || b; }); module2.exports = or; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/either.js var require_either = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/either.js"(exports2, module2) { var _curry2 = require_curry2(); var _isFunction = require_isFunction2(); var lift = require_lift2(); var or = require_or(); var either = /* @__PURE__ */ _curry2(function either2(f, g) { return _isFunction(f) ? function _either() { return f.apply(this, arguments) || g.apply(this, arguments); } : lift(or)(f, g); }); module2.exports = either; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeLast.js var require_takeLast2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeLast.js"(exports2, module2) { var _curry2 = require_curry2(); var drop = require_drop(); var takeLast = /* @__PURE__ */ _curry2(function takeLast2(n, xs) { return drop(n >= 0 ? xs.length - n : 0, xs); }); module2.exports = takeLast; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/endsWith.js var require_endsWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/endsWith.js"(exports2, module2) { var _curry2 = require_curry2(); var equals = require_equals2(); var takeLast = require_takeLast2(); var endsWith = /* @__PURE__ */ _curry2(function(suffix, list) { return equals(takeLast(suffix.length, list), suffix); }); module2.exports = endsWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/eqBy.js var require_eqBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/eqBy.js"(exports2, module2) { var _curry3 = require_curry3(); var equals = require_equals2(); var eqBy = /* @__PURE__ */ _curry3(function eqBy2(f, x, y) { return equals(f(x), f(y)); }); module2.exports = eqBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/eqProps.js var require_eqProps = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/eqProps.js"(exports2, module2) { var _curry3 = require_curry3(); var equals = require_equals2(); var eqProps = /* @__PURE__ */ _curry3(function eqProps2(prop, obj1, obj2) { return equals(obj1[prop], obj2[prop]); }); module2.exports = eqProps; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/evolve.js var require_evolve = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/evolve.js"(exports2, module2) { var _curry2 = require_curry2(); var _isArray = require_isArray(); var _isObject = require_isObject(); var evolve = /* @__PURE__ */ _curry2(function evolve2(transformations, object) { if (!_isObject(object) && !_isArray(object)) { return object; } var result2 = object instanceof Array ? [] : {}; var transformation, key, type; for (key in object) { transformation = transformations[key]; type = typeof transformation; result2[key] = type === "function" ? transformation(object[key]) : transformation && type === "object" ? evolve2(transformation, object[key]) : object[key]; } return result2; }); module2.exports = evolve; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfind.js var require_xfind = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfind.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduced = require_reduced(); var _xfBase = require_xfBase(); var XFind = /* @__PURE__ */ (function() { function XFind2(f, xf) { this.xf = xf; this.f = f; this.found = false; } XFind2.prototype["@@transducer/init"] = _xfBase.init; XFind2.prototype["@@transducer/result"] = function(result2) { if (!this.found) { result2 = this.xf["@@transducer/step"](result2, void 0); } return this.xf["@@transducer/result"](result2); }; XFind2.prototype["@@transducer/step"] = function(result2, input) { if (this.f(input)) { this.found = true; result2 = _reduced(this.xf["@@transducer/step"](result2, input)); } return result2; }; return XFind2; })(); var _xfind = /* @__PURE__ */ _curry2(function _xfind2(f, xf) { return new XFind(f, xf); }); module2.exports = _xfind; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/find.js var require_find2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/find.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xfind = require_xfind(); var find = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["find"], _xfind, function find2(fn, list) { var idx = 0; var len = list.length; while (idx < len) { if (fn(list[idx])) { return list[idx]; } idx += 1; } }) ); module2.exports = find; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindIndex.js var require_xfindIndex = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindIndex.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduced = require_reduced(); var _xfBase = require_xfBase(); var XFindIndex = /* @__PURE__ */ (function() { function XFindIndex2(f, xf) { this.xf = xf; this.f = f; this.idx = -1; this.found = false; } XFindIndex2.prototype["@@transducer/init"] = _xfBase.init; XFindIndex2.prototype["@@transducer/result"] = function(result2) { if (!this.found) { result2 = this.xf["@@transducer/step"](result2, -1); } return this.xf["@@transducer/result"](result2); }; XFindIndex2.prototype["@@transducer/step"] = function(result2, input) { this.idx += 1; if (this.f(input)) { this.found = true; result2 = _reduced(this.xf["@@transducer/step"](result2, this.idx)); } return result2; }; return XFindIndex2; })(); var _xfindIndex = /* @__PURE__ */ _curry2(function _xfindIndex2(f, xf) { return new XFindIndex(f, xf); }); module2.exports = _xfindIndex; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findIndex.js var require_findIndex2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findIndex.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xfindIndex = require_xfindIndex(); var findIndex = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xfindIndex, function findIndex2(fn, list) { var idx = 0; var len = list.length; while (idx < len) { if (fn(list[idx])) { return idx; } idx += 1; } return -1; }) ); module2.exports = findIndex; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindLast.js var require_xfindLast = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindLast.js"(exports2, module2) { var _curry2 = require_curry2(); var _xfBase = require_xfBase(); var XFindLast = /* @__PURE__ */ (function() { function XFindLast2(f, xf) { this.xf = xf; this.f = f; } XFindLast2.prototype["@@transducer/init"] = _xfBase.init; XFindLast2.prototype["@@transducer/result"] = function(result2) { return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result2, this.last)); }; XFindLast2.prototype["@@transducer/step"] = function(result2, input) { if (this.f(input)) { this.last = input; } return result2; }; return XFindLast2; })(); var _xfindLast = /* @__PURE__ */ _curry2(function _xfindLast2(f, xf) { return new XFindLast(f, xf); }); module2.exports = _xfindLast; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findLast.js var require_findLast = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findLast.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xfindLast = require_xfindLast(); var findLast = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xfindLast, function findLast2(fn, list) { var idx = list.length - 1; while (idx >= 0) { if (fn(list[idx])) { return list[idx]; } idx -= 1; } }) ); module2.exports = findLast; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindLastIndex.js var require_xfindLastIndex = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindLastIndex.js"(exports2, module2) { var _curry2 = require_curry2(); var _xfBase = require_xfBase(); var XFindLastIndex = /* @__PURE__ */ (function() { function XFindLastIndex2(f, xf) { this.xf = xf; this.f = f; this.idx = -1; this.lastIdx = -1; } XFindLastIndex2.prototype["@@transducer/init"] = _xfBase.init; XFindLastIndex2.prototype["@@transducer/result"] = function(result2) { return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result2, this.lastIdx)); }; XFindLastIndex2.prototype["@@transducer/step"] = function(result2, input) { this.idx += 1; if (this.f(input)) { this.lastIdx = this.idx; } return result2; }; return XFindLastIndex2; })(); var _xfindLastIndex = /* @__PURE__ */ _curry2(function _xfindLastIndex2(f, xf) { return new XFindLastIndex(f, xf); }); module2.exports = _xfindLastIndex; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findLastIndex.js var require_findLastIndex = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findLastIndex.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xfindLastIndex = require_xfindLastIndex(); var findLastIndex = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xfindLastIndex, function findLastIndex2(fn, list) { var idx = list.length - 1; while (idx >= 0) { if (fn(list[idx])) { return idx; } idx -= 1; } return -1; }) ); module2.exports = findLastIndex; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/flatten.js var require_flatten = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/flatten.js"(exports2, module2) { var _curry1 = require_curry1(); var _makeFlat = require_makeFlat(); var flatten = /* @__PURE__ */ _curry1( /* @__PURE__ */ _makeFlat(true) ); module2.exports = flatten; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/flip.js var require_flip = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/flip.js"(exports2, module2) { var _curry1 = require_curry1(); var curryN = require_curryN2(); var flip = /* @__PURE__ */ _curry1(function flip2(fn) { return curryN(fn.length, function(a, b) { var args = Array.prototype.slice.call(arguments, 0); args[0] = b; args[1] = a; return fn.apply(this, args); }); }); module2.exports = flip; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/forEach.js var require_forEach = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/forEach.js"(exports2, module2) { var _checkForMethod = require_checkForMethod(); var _curry2 = require_curry2(); var forEach = /* @__PURE__ */ _curry2( /* @__PURE__ */ _checkForMethod("forEach", function forEach2(fn, list) { var len = list.length; var idx = 0; while (idx < len) { fn(list[idx]); idx += 1; } return list; }) ); module2.exports = forEach; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/forEachObjIndexed.js var require_forEachObjIndexed = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/forEachObjIndexed.js"(exports2, module2) { var _curry2 = require_curry2(); var keys = require_keys(); var forEachObjIndexed = /* @__PURE__ */ _curry2(function forEachObjIndexed2(fn, obj) { var keyList = keys(obj); var idx = 0; while (idx < keyList.length) { var key = keyList[idx]; fn(obj[key], key, obj); idx += 1; } return obj; }); module2.exports = forEachObjIndexed; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/fromPairs.js var require_fromPairs = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/fromPairs.js"(exports2, module2) { var _curry1 = require_curry1(); var fromPairs = /* @__PURE__ */ _curry1(function fromPairs2(pairs) { var result2 = {}; var idx = 0; while (idx < pairs.length) { result2[pairs[idx][0]] = pairs[idx][1]; idx += 1; } return result2; }); module2.exports = fromPairs; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/groupWith.js var require_groupWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/groupWith.js"(exports2, module2) { var _curry2 = require_curry2(); var groupWith = /* @__PURE__ */ _curry2(function(fn, list) { var res = []; var idx = 0; var len = list.length; while (idx < len) { var nextidx = idx + 1; while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) { nextidx += 1; } res.push(list.slice(idx, nextidx)); idx = nextidx; } return res; }); module2.exports = groupWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/gt.js var require_gt2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/gt.js"(exports2, module2) { var _curry2 = require_curry2(); var gt = /* @__PURE__ */ _curry2(function gt2(a, b) { return a > b; }); module2.exports = gt; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/gte.js var require_gte2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/gte.js"(exports2, module2) { var _curry2 = require_curry2(); var gte = /* @__PURE__ */ _curry2(function gte2(a, b) { return a >= b; }); module2.exports = gte; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/hasPath.js var require_hasPath = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/hasPath.js"(exports2, module2) { var _curry2 = require_curry2(); var _has = require_has(); var isNil = require_isNil(); var hasPath = /* @__PURE__ */ _curry2(function hasPath2(_path, obj) { if (_path.length === 0 || isNil(obj)) { return false; } var val = obj; var idx = 0; while (idx < _path.length) { if (!isNil(val) && _has(_path[idx], val)) { val = val[_path[idx]]; idx += 1; } else { return false; } } return true; }); module2.exports = hasPath; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/has.js var require_has2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/has.js"(exports2, module2) { var _curry2 = require_curry2(); var hasPath = require_hasPath(); var has = /* @__PURE__ */ _curry2(function has2(prop, obj) { return hasPath([prop], obj); }); module2.exports = has; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/hasIn.js var require_hasIn = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/hasIn.js"(exports2, module2) { var _curry2 = require_curry2(); var isNil = require_isNil(); var hasIn = /* @__PURE__ */ _curry2(function hasIn2(prop, obj) { if (isNil(obj)) { return false; } return prop in obj; }); module2.exports = hasIn; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/identical.js var require_identical = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/identical.js"(exports2, module2) { var _objectIs = require_objectIs(); var _curry2 = require_curry2(); var identical = /* @__PURE__ */ _curry2(_objectIs); module2.exports = identical; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ifElse.js var require_ifElse = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ifElse.js"(exports2, module2) { var _curry3 = require_curry3(); var curryN = require_curryN2(); var ifElse = /* @__PURE__ */ _curry3(function ifElse2(condition, onTrue, onFalse) { return curryN(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() { return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments); }); }); module2.exports = ifElse; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/inc.js var require_inc2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/inc.js"(exports2, module2) { var add = require_add(); var inc = /* @__PURE__ */ add(1); module2.exports = inc; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/includes.js var require_includes2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/includes.js"(exports2, module2) { var _includes = require_includes(); var _curry2 = require_curry2(); var includes = /* @__PURE__ */ _curry2(_includes); module2.exports = includes; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/indexBy.js var require_indexBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/indexBy.js"(exports2, module2) { var reduceBy = require_reduceBy(); var indexBy = /* @__PURE__ */ reduceBy(function(acc, elem) { return elem; }, null); module2.exports = indexBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/indexOf.js var require_indexOf2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/indexOf.js"(exports2, module2) { var _curry2 = require_curry2(); var _indexOf = require_indexOf(); var _isArray = require_isArray(); var indexOf = /* @__PURE__ */ _curry2(function indexOf2(target, xs) { return typeof xs.indexOf === "function" && !_isArray(xs) ? xs.indexOf(target) : _indexOf(xs, target, 0); }); module2.exports = indexOf; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/init.js var require_init = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/init.js"(exports2, module2) { var slice = require_slice(); var init = /* @__PURE__ */ slice(0, -1); module2.exports = init; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/innerJoin.js var require_innerJoin = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/innerJoin.js"(exports2, module2) { var _includesWith = require_includesWith(); var _curry3 = require_curry3(); var _filter = require_filter2(); var innerJoin = /* @__PURE__ */ _curry3(function innerJoin2(pred, xs, ys) { return _filter(function(x) { return _includesWith(pred, x, ys); }, xs); }); module2.exports = innerJoin; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/insert.js var require_insert = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/insert.js"(exports2, module2) { var _curry3 = require_curry3(); var insert = /* @__PURE__ */ _curry3(function insert2(idx, elt, list) { idx = idx < list.length && idx >= 0 ? idx : list.length; var result2 = Array.prototype.slice.call(list, 0); result2.splice(idx, 0, elt); return result2; }); module2.exports = insert; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/insertAll.js var require_insertAll = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/insertAll.js"(exports2, module2) { var _curry3 = require_curry3(); var insertAll = /* @__PURE__ */ _curry3(function insertAll2(idx, elts, list) { idx = idx < list.length && idx >= 0 ? idx : list.length; return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx)); }); module2.exports = insertAll; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xuniqBy.js var require_xuniqBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xuniqBy.js"(exports2, module2) { var _curry2 = require_curry2(); var _Set = require_Set(); var _xfBase = require_xfBase(); var XUniqBy = /* @__PURE__ */ (function() { function XUniqBy2(f, xf) { this.xf = xf; this.f = f; this.set = new _Set(); } XUniqBy2.prototype["@@transducer/init"] = _xfBase.init; XUniqBy2.prototype["@@transducer/result"] = _xfBase.result; XUniqBy2.prototype["@@transducer/step"] = function(result2, input) { return this.set.add(this.f(input)) ? this.xf["@@transducer/step"](result2, input) : result2; }; return XUniqBy2; })(); var _xuniqBy = /* @__PURE__ */ _curry2(function _xuniqBy2(f, xf) { return new XUniqBy(f, xf); }); module2.exports = _xuniqBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniqBy.js var require_uniqBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniqBy.js"(exports2, module2) { var _Set = require_Set(); var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xuniqBy = require_xuniqBy(); var uniqBy = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xuniqBy, function(fn, list) { var set = new _Set(); var result2 = []; var idx = 0; var appliedItem, item; while (idx < list.length) { item = list[idx]; appliedItem = fn(item); if (set.add(appliedItem)) { result2.push(item); } idx += 1; } return result2; }) ); module2.exports = uniqBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniq.js var require_uniq = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniq.js"(exports2, module2) { var identity = require_identity3(); var uniqBy = require_uniqBy(); var uniq = /* @__PURE__ */ uniqBy(identity); module2.exports = uniq; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/intersection.js var require_intersection = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/intersection.js"(exports2, module2) { var _includes = require_includes(); var _curry2 = require_curry2(); var _filter = require_filter2(); var flip = require_flip(); var uniq = require_uniq(); var intersection = /* @__PURE__ */ _curry2(function intersection2(list1, list2) { var lookupList, filteredList; if (list1.length > list2.length) { lookupList = list1; filteredList = list2; } else { lookupList = list2; filteredList = list1; } return uniq(_filter(flip(_includes)(lookupList), filteredList)); }); module2.exports = intersection; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/intersperse.js var require_intersperse = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/intersperse.js"(exports2, module2) { var _checkForMethod = require_checkForMethod(); var _curry2 = require_curry2(); var intersperse = /* @__PURE__ */ _curry2( /* @__PURE__ */ _checkForMethod("intersperse", function intersperse2(separator, list) { var out = []; var idx = 0; var length = list.length; while (idx < length) { if (idx === length - 1) { out.push(list[idx]); } else { out.push(list[idx], separator); } idx += 1; } return out; }) ); module2.exports = intersperse; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/objOf.js var require_objOf = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/objOf.js"(exports2, module2) { var _curry2 = require_curry2(); var objOf = /* @__PURE__ */ _curry2(function objOf2(key, val) { var obj = {}; obj[key] = val; return obj; }); module2.exports = objOf; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_stepCat.js var require_stepCat = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_stepCat.js"(exports2, module2) { var _objectAssign = require_objectAssign(); var _identity = require_identity2(); var _isArrayLike = require_isArrayLike(); var _isTransformer = require_isTransformer(); var objOf = require_objOf(); var _stepCatArray = { "@@transducer/init": Array, "@@transducer/step": function(xs, x) { xs.push(x); return xs; }, "@@transducer/result": _identity }; var _stepCatString = { "@@transducer/init": String, "@@transducer/step": function(a, b) { return a + b; }, "@@transducer/result": _identity }; var _stepCatObject = { "@@transducer/init": Object, "@@transducer/step": function(result2, input) { return _objectAssign(result2, _isArrayLike(input) ? objOf(input[0], input[1]) : input); }, "@@transducer/result": _identity }; function _stepCat(obj) { if (_isTransformer(obj)) { return obj; } if (_isArrayLike(obj)) { return _stepCatArray; } if (typeof obj === "string") { return _stepCatString; } if (typeof obj === "object") { return _stepCatObject; } throw new Error("Cannot create transformer for " + obj); } module2.exports = _stepCat; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/into.js var require_into = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/into.js"(exports2, module2) { var _clone = require_clone4(); var _curry3 = require_curry3(); var _isTransformer = require_isTransformer(); var _reduce = require_reduce(); var _stepCat = require_stepCat(); var into = /* @__PURE__ */ _curry3(function into2(acc, xf, list) { return _isTransformer(acc) ? _reduce(xf(acc), acc["@@transducer/init"](), list) : _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list); }); module2.exports = into; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invert.js var require_invert = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invert.js"(exports2, module2) { var _curry1 = require_curry1(); var _has = require_has(); var keys = require_keys(); var invert = /* @__PURE__ */ _curry1(function invert2(obj) { var props = keys(obj); var len = props.length; var idx = 0; var out = {}; while (idx < len) { var key = props[idx]; var val = obj[key]; var list = _has(val, out) ? out[val] : out[val] = []; list[list.length] = key; idx += 1; } return out; }); module2.exports = invert; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invertObj.js var require_invertObj = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invertObj.js"(exports2, module2) { var _curry1 = require_curry1(); var keys = require_keys(); var invertObj = /* @__PURE__ */ _curry1(function invertObj2(obj) { var props = keys(obj); var len = props.length; var idx = 0; var out = {}; while (idx < len) { var key = props[idx]; out[obj[key]] = key; idx += 1; } return out; }); module2.exports = invertObj; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invoker.js var require_invoker = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invoker.js"(exports2, module2) { var _curry2 = require_curry2(); var _isFunction = require_isFunction2(); var curryN = require_curryN2(); var toString = require_toString2(); var invoker = /* @__PURE__ */ _curry2(function invoker2(arity, method) { return curryN(arity + 1, function() { var target = arguments[arity]; if (target != null && _isFunction(target[method])) { return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity)); } throw new TypeError(toString(target) + ' does not have a method named "' + method + '"'); }); }); module2.exports = invoker; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/is.js var require_is = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/is.js"(exports2, module2) { var _curry2 = require_curry2(); var is = /* @__PURE__ */ _curry2(function is2(Ctor, val) { return val instanceof Ctor || val != null && (val.constructor === Ctor || Ctor.name === "Object" && typeof val === "object"); }); module2.exports = is; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/join.js var require_join = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/join.js"(exports2, module2) { var invoker = require_invoker(); var join = /* @__PURE__ */ invoker(1, "join"); module2.exports = join; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/keysIn.js var require_keysIn = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/keysIn.js"(exports2, module2) { var _curry1 = require_curry1(); var keysIn = /* @__PURE__ */ _curry1(function keysIn2(obj) { var prop; var ks = []; for (prop in obj) { ks[ks.length] = prop; } return ks; }); module2.exports = keysIn; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lastIndexOf.js var require_lastIndexOf = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lastIndexOf.js"(exports2, module2) { var _curry2 = require_curry2(); var _isArray = require_isArray(); var equals = require_equals2(); var lastIndexOf = /* @__PURE__ */ _curry2(function lastIndexOf2(target, xs) { if (typeof xs.lastIndexOf === "function" && !_isArray(xs)) { return xs.lastIndexOf(target); } else { var idx = xs.length - 1; while (idx >= 0) { if (equals(xs[idx], target)) { return idx; } idx -= 1; } return -1; } }); module2.exports = lastIndexOf; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isNumber.js var require_isNumber = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isNumber.js"(exports2, module2) { function _isNumber(x) { return Object.prototype.toString.call(x) === "[object Number]"; } module2.exports = _isNumber; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/length.js var require_length = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/length.js"(exports2, module2) { var _curry1 = require_curry1(); var _isNumber = require_isNumber(); var length = /* @__PURE__ */ _curry1(function length2(list) { return list != null && _isNumber(list.length) ? list.length : NaN; }); module2.exports = length; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lens.js var require_lens = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lens.js"(exports2, module2) { var _curry2 = require_curry2(); var map = require_map3(); var lens = /* @__PURE__ */ _curry2(function lens2(getter, setter) { return function(toFunctorFn) { return function(target) { return map(function(focus) { return setter(focus, target); }, toFunctorFn(getter(target))); }; }; }); module2.exports = lens; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/update.js var require_update = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/update.js"(exports2, module2) { var _curry3 = require_curry3(); var adjust = require_adjust(); var always = require_always(); var update = /* @__PURE__ */ _curry3(function update2(idx, x, list) { return adjust(idx, always(x), list); }); module2.exports = update; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensIndex.js var require_lensIndex = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensIndex.js"(exports2, module2) { var _curry1 = require_curry1(); var lens = require_lens(); var nth = require_nth(); var update = require_update(); var lensIndex = /* @__PURE__ */ _curry1(function lensIndex2(n) { return lens(nth(n), update(n)); }); module2.exports = lensIndex; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/paths.js var require_paths = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/paths.js"(exports2, module2) { var _curry2 = require_curry2(); var _isInteger = require_isInteger(); var nth = require_nth(); var paths = /* @__PURE__ */ _curry2(function paths2(pathsArray, obj) { return pathsArray.map(function(paths3) { var val = obj; var idx = 0; var p; while (idx < paths3.length) { if (val == null) { return; } p = paths3[idx]; val = _isInteger(p) ? nth(p, val) : val[p]; idx += 1; } return val; }); }); module2.exports = paths; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/path.js var require_path5 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/path.js"(exports2, module2) { var _curry2 = require_curry2(); var paths = require_paths(); var path2 = /* @__PURE__ */ _curry2(function path3(pathAr, obj) { return paths([pathAr], obj)[0]; }); module2.exports = path2; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensPath.js var require_lensPath = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensPath.js"(exports2, module2) { var _curry1 = require_curry1(); var assocPath = require_assocPath(); var lens = require_lens(); var path2 = require_path5(); var lensPath = /* @__PURE__ */ _curry1(function lensPath2(p) { return lens(path2(p), assocPath(p)); }); module2.exports = lensPath; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensProp.js var require_lensProp = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensProp.js"(exports2, module2) { var _curry1 = require_curry1(); var assoc = require_assoc2(); var lens = require_lens(); var prop = require_prop(); var lensProp = /* @__PURE__ */ _curry1(function lensProp2(k) { return lens(prop(k), assoc(k)); }); module2.exports = lensProp; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lt.js var require_lt2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lt.js"(exports2, module2) { var _curry2 = require_curry2(); var lt = /* @__PURE__ */ _curry2(function lt2(a, b) { return a < b; }); module2.exports = lt; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lte.js var require_lte2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lte.js"(exports2, module2) { var _curry2 = require_curry2(); var lte = /* @__PURE__ */ _curry2(function lte2(a, b) { return a <= b; }); module2.exports = lte; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapAccum.js var require_mapAccum = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapAccum.js"(exports2, module2) { var _curry3 = require_curry3(); var mapAccum = /* @__PURE__ */ _curry3(function mapAccum2(fn, acc, list) { var idx = 0; var len = list.length; var result2 = []; var tuple = [acc]; while (idx < len) { tuple = fn(tuple[0], list[idx]); result2[idx] = tuple[1]; idx += 1; } return [tuple[0], result2]; }); module2.exports = mapAccum; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapAccumRight.js var require_mapAccumRight = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapAccumRight.js"(exports2, module2) { var _curry3 = require_curry3(); var mapAccumRight = /* @__PURE__ */ _curry3(function mapAccumRight2(fn, acc, list) { var idx = list.length - 1; var result2 = []; var tuple = [acc]; while (idx >= 0) { tuple = fn(tuple[0], list[idx]); result2[idx] = tuple[1]; idx -= 1; } return [tuple[0], result2]; }); module2.exports = mapAccumRight; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapObjIndexed.js var require_mapObjIndexed = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapObjIndexed.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduce = require_reduce(); var keys = require_keys(); var mapObjIndexed = /* @__PURE__ */ _curry2(function mapObjIndexed2(fn, obj) { return _reduce(function(acc, key) { acc[key] = fn(obj[key], key, obj); return acc; }, {}, keys(obj)); }); module2.exports = mapObjIndexed; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/match.js var require_match = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/match.js"(exports2, module2) { var _curry2 = require_curry2(); var match = /* @__PURE__ */ _curry2(function match2(rx, str) { return str.match(rx) || []; }); module2.exports = match; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mathMod.js var require_mathMod = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mathMod.js"(exports2, module2) { var _curry2 = require_curry2(); var _isInteger = require_isInteger(); var mathMod = /* @__PURE__ */ _curry2(function mathMod2(m, p) { if (!_isInteger(m)) { return NaN; } if (!_isInteger(p) || p < 1) { return NaN; } return (m % p + p) % p; }); module2.exports = mathMod; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/maxBy.js var require_maxBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/maxBy.js"(exports2, module2) { var _curry3 = require_curry3(); var maxBy = /* @__PURE__ */ _curry3(function maxBy2(f, a, b) { return f(b) > f(a) ? b : a; }); module2.exports = maxBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sum.js var require_sum = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sum.js"(exports2, module2) { var add = require_add(); var reduce = require_reduce3(); var sum = /* @__PURE__ */ reduce(add, 0); module2.exports = sum; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mean.js var require_mean = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mean.js"(exports2, module2) { var _curry1 = require_curry1(); var sum = require_sum(); var mean = /* @__PURE__ */ _curry1(function mean2(list) { return sum(list) / list.length; }); module2.exports = mean; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/median.js var require_median = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/median.js"(exports2, module2) { var _curry1 = require_curry1(); var mean = require_mean(); var median = /* @__PURE__ */ _curry1(function median2(list) { var len = list.length; if (len === 0) { return NaN; } var width = 2 - len % 2; var idx = (len - width) / 2; return mean(Array.prototype.slice.call(list, 0).sort(function(a, b) { return a < b ? -1 : a > b ? 1 : 0; }).slice(idx, idx + width)); }); module2.exports = median; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/memoizeWith.js var require_memoizeWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/memoizeWith.js"(exports2, module2) { var _arity = require_arity(); var _curry2 = require_curry2(); var _has = require_has(); var memoizeWith = /* @__PURE__ */ _curry2(function memoizeWith2(mFn, fn) { var cache = {}; return _arity(fn.length, function() { var key = mFn.apply(this, arguments); if (!_has(key, cache)) { cache[key] = fn.apply(this, arguments); } return cache[key]; }); }); module2.exports = memoizeWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeAll.js var require_mergeAll2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeAll.js"(exports2, module2) { var _objectAssign = require_objectAssign(); var _curry1 = require_curry1(); var mergeAll = /* @__PURE__ */ _curry1(function mergeAll2(list) { return _objectAssign.apply(null, [{}].concat(list)); }); module2.exports = mergeAll; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeWithKey.js var require_mergeWithKey = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeWithKey.js"(exports2, module2) { var _curry3 = require_curry3(); var _has = require_has(); var mergeWithKey = /* @__PURE__ */ _curry3(function mergeWithKey2(fn, l, r) { var result2 = {}; var k; for (k in l) { if (_has(k, l)) { result2[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k]; } } for (k in r) { if (_has(k, r) && !_has(k, result2)) { result2[k] = r[k]; } } return result2; }); module2.exports = mergeWithKey; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepWithKey.js var require_mergeDeepWithKey = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepWithKey.js"(exports2, module2) { var _curry3 = require_curry3(); var _isObject = require_isObject(); var mergeWithKey = require_mergeWithKey(); var mergeDeepWithKey = /* @__PURE__ */ _curry3(function mergeDeepWithKey2(fn, lObj, rObj) { return mergeWithKey(function(k, lVal, rVal) { if (_isObject(lVal) && _isObject(rVal)) { return mergeDeepWithKey2(fn, lVal, rVal); } else { return fn(k, lVal, rVal); } }, lObj, rObj); }); module2.exports = mergeDeepWithKey; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepLeft.js var require_mergeDeepLeft = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepLeft.js"(exports2, module2) { var _curry2 = require_curry2(); var mergeDeepWithKey = require_mergeDeepWithKey(); var mergeDeepLeft = /* @__PURE__ */ _curry2(function mergeDeepLeft2(lObj, rObj) { return mergeDeepWithKey(function(k, lVal, rVal) { return lVal; }, lObj, rObj); }); module2.exports = mergeDeepLeft; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepRight.js var require_mergeDeepRight = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepRight.js"(exports2, module2) { var _curry2 = require_curry2(); var mergeDeepWithKey = require_mergeDeepWithKey(); var mergeDeepRight = /* @__PURE__ */ _curry2(function mergeDeepRight2(lObj, rObj) { return mergeDeepWithKey(function(k, lVal, rVal) { return rVal; }, lObj, rObj); }); module2.exports = mergeDeepRight; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepWith.js var require_mergeDeepWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepWith.js"(exports2, module2) { var _curry3 = require_curry3(); var mergeDeepWithKey = require_mergeDeepWithKey(); var mergeDeepWith = /* @__PURE__ */ _curry3(function mergeDeepWith2(fn, lObj, rObj) { return mergeDeepWithKey(function(k, lVal, rVal) { return fn(lVal, rVal); }, lObj, rObj); }); module2.exports = mergeDeepWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeLeft.js var require_mergeLeft = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeLeft.js"(exports2, module2) { var _objectAssign = require_objectAssign(); var _curry2 = require_curry2(); var mergeLeft = /* @__PURE__ */ _curry2(function mergeLeft2(l, r) { return _objectAssign({}, r, l); }); module2.exports = mergeLeft; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeWith.js var require_mergeWith2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeWith.js"(exports2, module2) { var _curry3 = require_curry3(); var mergeWithKey = require_mergeWithKey(); var mergeWith = /* @__PURE__ */ _curry3(function mergeWith2(fn, l, r) { return mergeWithKey(function(_, _l, _r) { return fn(_l, _r); }, l, r); }); module2.exports = mergeWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/min.js var require_min2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/min.js"(exports2, module2) { var _curry2 = require_curry2(); var min = /* @__PURE__ */ _curry2(function min2(a, b) { return b < a ? b : a; }); module2.exports = min; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/minBy.js var require_minBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/minBy.js"(exports2, module2) { var _curry3 = require_curry3(); var minBy = /* @__PURE__ */ _curry3(function minBy2(f, a, b) { return f(b) < f(a) ? b : a; }); module2.exports = minBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_modify.js var require_modify = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_modify.js"(exports2, module2) { var _isArray = require_isArray(); var _isInteger = require_isInteger(); function _modify(prop, fn, obj) { if (_isInteger(prop) && _isArray(obj)) { var arr = [].concat(obj); arr[prop] = fn(arr[prop]); return arr; } var result2 = {}; for (var p in obj) { result2[p] = obj[p]; } result2[prop] = fn(result2[prop]); return result2; } module2.exports = _modify; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modifyPath.js var require_modifyPath = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modifyPath.js"(exports2, module2) { var _curry3 = require_curry3(); var _isArray = require_isArray(); var _isObject = require_isObject(); var _has = require_has(); var _assoc = require_assoc(); var _modify = require_modify(); var modifyPath = /* @__PURE__ */ _curry3(function modifyPath2(path2, fn, object) { if (!_isObject(object) && !_isArray(object) || path2.length === 0) { return object; } var idx = path2[0]; if (!_has(idx, object)) { return object; } if (path2.length === 1) { return _modify(idx, fn, object); } var val = modifyPath2(Array.prototype.slice.call(path2, 1), fn, object[idx]); if (val === object[idx]) { return object; } return _assoc(idx, val, object); }); module2.exports = modifyPath; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modify.js var require_modify2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modify.js"(exports2, module2) { var _curry3 = require_curry3(); var modifyPath = require_modifyPath(); var modify = /* @__PURE__ */ _curry3(function modify2(prop, fn, object) { return modifyPath([prop], fn, object); }); module2.exports = modify; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modulo.js var require_modulo = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modulo.js"(exports2, module2) { var _curry2 = require_curry2(); var modulo = /* @__PURE__ */ _curry2(function modulo2(a, b) { return a % b; }); module2.exports = modulo; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/move.js var require_move5 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/move.js"(exports2, module2) { var _curry3 = require_curry3(); var move = /* @__PURE__ */ _curry3(function(from, to, list) { var length = list.length; var result2 = list.slice(); var positiveFrom = from < 0 ? length + from : from; var positiveTo = to < 0 ? length + to : to; var item = result2.splice(positiveFrom, 1); return positiveFrom < 0 || positiveFrom >= list.length || positiveTo < 0 || positiveTo >= list.length ? list : [].concat(result2.slice(0, positiveTo)).concat(item).concat(result2.slice(positiveTo, list.length)); }); module2.exports = move; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/multiply.js var require_multiply = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/multiply.js"(exports2, module2) { var _curry2 = require_curry2(); var multiply = /* @__PURE__ */ _curry2(function multiply2(a, b) { return a * b; }); module2.exports = multiply; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partialObject.js var require_partialObject = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partialObject.js"(exports2, module2) { var mergeDeepRight = require_mergeDeepRight(); var _curry2 = require_curry2(); module2.exports = /* @__PURE__ */ _curry2((f, o) => (props) => f.call(exports2, mergeDeepRight(o, props))); } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/negate.js var require_negate = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/negate.js"(exports2, module2) { var _curry1 = require_curry1(); var negate = /* @__PURE__ */ _curry1(function negate2(n) { return -n; }); module2.exports = negate; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/none.js var require_none = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/none.js"(exports2, module2) { var _complement = require_complement(); var _curry2 = require_curry2(); var all = require_all2(); var none = /* @__PURE__ */ _curry2(function none2(fn, input) { return all(_complement(fn), input); }); module2.exports = none; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nthArg.js var require_nthArg = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nthArg.js"(exports2, module2) { var _curry1 = require_curry1(); var curryN = require_curryN2(); var nth = require_nth(); var nthArg = /* @__PURE__ */ _curry1(function nthArg2(n) { var arity = n < 0 ? 1 : n + 1; return curryN(arity, function() { return nth(n, arguments); }); }); module2.exports = nthArg; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/o.js var require_o = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/o.js"(exports2, module2) { var _curry3 = require_curry3(); var o = /* @__PURE__ */ _curry3(function o2(f, g, x) { return f(g(x)); }); module2.exports = o; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_of.js var require_of2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_of.js"(exports2, module2) { function _of(x) { return [x]; } module2.exports = _of; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/of.js var require_of3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/of.js"(exports2, module2) { var _curry1 = require_curry1(); var _of = require_of2(); var of = /* @__PURE__ */ _curry1(_of); module2.exports = of; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/on.js var require_on = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/on.js"(exports2, module2) { var curryN = require_curryN(); var on = /* @__PURE__ */ curryN(4, [], function on2(f, g, a, b) { return f(g(a), g(b)); }); module2.exports = on; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_assertPromise.js var require_assertPromise = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_assertPromise.js"(exports2, module2) { var _isFunction = require_isFunction2(); var _toString = require_toString(); function _assertPromise(name, p) { if (p == null || !_isFunction(p.then)) { throw new TypeError("`" + name + "` expected a Promise, received " + _toString(p, [])); } } module2.exports = _assertPromise; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/otherwise.js var require_otherwise = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/otherwise.js"(exports2, module2) { var _curry2 = require_curry2(); var _assertPromise = require_assertPromise(); var otherwise = /* @__PURE__ */ _curry2(function otherwise2(f, p) { _assertPromise("otherwise", p); return p.then(null, f); }); module2.exports = otherwise; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/over.js var require_over = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/over.js"(exports2, module2) { var _curry3 = require_curry3(); var Identity = function(x) { return { value: x, map: function(f) { return Identity(f(x)); } }; }; var over = /* @__PURE__ */ _curry3(function over2(lens, f, x) { return lens(function(y) { return Identity(f(y)); })(x).value; }); module2.exports = over; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pair.js var require_pair = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pair.js"(exports2, module2) { var _curry2 = require_curry2(); var pair = /* @__PURE__ */ _curry2(function pair2(fst, snd) { return [fst, snd]; }); module2.exports = pair; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_createPartialApplicator.js var require_createPartialApplicator = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_createPartialApplicator.js"(exports2, module2) { var _arity = require_arity(); var _curry2 = require_curry2(); function _createPartialApplicator(concat) { return _curry2(function(fn, args) { return _arity(Math.max(0, fn.length - args.length), function() { return fn.apply(this, concat(args, arguments)); }); }); } module2.exports = _createPartialApplicator; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partial.js var require_partial2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partial.js"(exports2, module2) { var _concat = require_concat3(); var _createPartialApplicator = require_createPartialApplicator(); var partial = /* @__PURE__ */ _createPartialApplicator(_concat); module2.exports = partial; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partialRight.js var require_partialRight = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partialRight.js"(exports2, module2) { var _concat = require_concat3(); var _createPartialApplicator = require_createPartialApplicator(); var flip = require_flip(); var partialRight = /* @__PURE__ */ _createPartialApplicator( /* @__PURE__ */ flip(_concat) ); module2.exports = partialRight; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathEq.js var require_pathEq = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathEq.js"(exports2, module2) { var _curry3 = require_curry3(); var equals = require_equals2(); var path2 = require_path5(); var pathEq = /* @__PURE__ */ _curry3(function pathEq2(_path, val, obj) { return equals(path2(_path, obj), val); }); module2.exports = pathEq; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathOr.js var require_pathOr = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathOr.js"(exports2, module2) { var _curry3 = require_curry3(); var defaultTo = require_defaultTo(); var path2 = require_path5(); var pathOr = /* @__PURE__ */ _curry3(function pathOr2(d, p, obj) { return defaultTo(d, path2(p, obj)); }); module2.exports = pathOr; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathSatisfies.js var require_pathSatisfies = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathSatisfies.js"(exports2, module2) { var _curry3 = require_curry3(); var path2 = require_path5(); var pathSatisfies = /* @__PURE__ */ _curry3(function pathSatisfies2(pred, propPath, obj) { return pred(path2(propPath, obj)); }); module2.exports = pathSatisfies; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pickAll.js var require_pickAll = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pickAll.js"(exports2, module2) { var _curry2 = require_curry2(); var pickAll = /* @__PURE__ */ _curry2(function pickAll2(names, obj) { var result2 = {}; var idx = 0; var len = names.length; while (idx < len) { var name = names[idx]; result2[name] = obj[name]; idx += 1; } return result2; }); module2.exports = pickAll; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/prepend.js var require_prepend = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/prepend.js"(exports2, module2) { var _concat = require_concat3(); var _curry2 = require_curry2(); var prepend = /* @__PURE__ */ _curry2(function prepend2(el, list) { return _concat([el], list); }); module2.exports = prepend; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/product.js var require_product = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/product.js"(exports2, module2) { var multiply = require_multiply(); var reduce = require_reduce3(); var product = /* @__PURE__ */ reduce(multiply, 1); module2.exports = product; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/useWith.js var require_useWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/useWith.js"(exports2, module2) { var _curry2 = require_curry2(); var curryN = require_curryN2(); var useWith = /* @__PURE__ */ _curry2(function useWith2(fn, transformers) { return curryN(transformers.length, function() { var args = []; var idx = 0; while (idx < transformers.length) { args.push(transformers[idx].call(this, arguments[idx])); idx += 1; } return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length))); }); }); module2.exports = useWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/project.js var require_project2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/project.js"(exports2, module2) { var _map = require_map2(); var identity = require_identity3(); var pickAll = require_pickAll(); var useWith = require_useWith(); var project = /* @__PURE__ */ useWith(_map, [pickAll, identity]); module2.exports = project; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_promap.js var require_promap = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_promap.js"(exports2, module2) { function _promap(f, g, profunctor) { return function(x) { return g(profunctor(f(x))); }; } module2.exports = _promap; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xpromap.js var require_xpromap = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xpromap.js"(exports2, module2) { var _curry3 = require_curry3(); var _xfBase = require_xfBase(); var _promap = require_promap(); var XPromap = /* @__PURE__ */ (function() { function XPromap2(f, g, xf) { this.xf = xf; this.f = f; this.g = g; } XPromap2.prototype["@@transducer/init"] = _xfBase.init; XPromap2.prototype["@@transducer/result"] = _xfBase.result; XPromap2.prototype["@@transducer/step"] = function(result2, input) { return this.xf["@@transducer/step"](result2, _promap(this.f, this.g, input)); }; return XPromap2; })(); var _xpromap = /* @__PURE__ */ _curry3(function _xpromap2(f, g, xf) { return new XPromap(f, g, xf); }); module2.exports = _xpromap; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/promap.js var require_promap2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/promap.js"(exports2, module2) { var _curry3 = require_curry3(); var _dispatchable = require_dispatchable(); var _promap = require_promap(); var _xpromap = require_xpromap(); var promap = /* @__PURE__ */ _curry3( /* @__PURE__ */ _dispatchable(["fantasy-land/promap", "promap"], _xpromap, _promap) ); module2.exports = promap; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propEq.js var require_propEq = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propEq.js"(exports2, module2) { var _curry3 = require_curry3(); var prop = require_prop(); var equals = require_equals2(); var propEq = /* @__PURE__ */ _curry3(function propEq2(name, val, obj) { return equals(val, prop(name, obj)); }); module2.exports = propEq; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propIs.js var require_propIs = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propIs.js"(exports2, module2) { var _curry3 = require_curry3(); var prop = require_prop(); var is = require_is(); var propIs = /* @__PURE__ */ _curry3(function propIs2(type, name, obj) { return is(type, prop(name, obj)); }); module2.exports = propIs; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propOr.js var require_propOr = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propOr.js"(exports2, module2) { var _curry3 = require_curry3(); var defaultTo = require_defaultTo(); var prop = require_prop(); var propOr = /* @__PURE__ */ _curry3(function propOr2(val, p, obj) { return defaultTo(val, prop(p, obj)); }); module2.exports = propOr; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propSatisfies.js var require_propSatisfies = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propSatisfies.js"(exports2, module2) { var _curry3 = require_curry3(); var prop = require_prop(); var propSatisfies = /* @__PURE__ */ _curry3(function propSatisfies2(pred, name, obj) { return pred(prop(name, obj)); }); module2.exports = propSatisfies; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/props.js var require_props = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/props.js"(exports2, module2) { var _curry2 = require_curry2(); var path2 = require_path5(); var props = /* @__PURE__ */ _curry2(function props2(ps, obj) { return ps.map(function(p) { return path2([p], obj); }); }); module2.exports = props; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/range.js var require_range3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/range.js"(exports2, module2) { var _curry2 = require_curry2(); var _isNumber = require_isNumber(); var range = /* @__PURE__ */ _curry2(function range2(from, to) { if (!(_isNumber(from) && _isNumber(to))) { throw new TypeError("Both arguments to range must be numbers"); } var result2 = []; var n = from; while (n < to) { result2.push(n); n += 1; } return result2; }); module2.exports = range; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceRight.js var require_reduceRight = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceRight.js"(exports2, module2) { var _curry3 = require_curry3(); var reduceRight = /* @__PURE__ */ _curry3(function reduceRight2(fn, acc, list) { var idx = list.length - 1; while (idx >= 0) { acc = fn(list[idx], acc); if (acc && acc["@@transducer/reduced"]) { acc = acc["@@transducer/value"]; break; } idx -= 1; } return acc; }); module2.exports = reduceRight; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceWhile.js var require_reduceWhile = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceWhile.js"(exports2, module2) { var _curryN = require_curryN(); var _reduce = require_reduce(); var _reduced = require_reduced(); var reduceWhile = /* @__PURE__ */ _curryN(4, [], function _reduceWhile(pred, fn, a, list) { return _reduce(function(acc, x) { return pred(acc, x) ? fn(acc, x) : _reduced(acc); }, a, list); }); module2.exports = reduceWhile; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduced.js var require_reduced2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduced.js"(exports2, module2) { var _curry1 = require_curry1(); var _reduced = require_reduced(); var reduced = /* @__PURE__ */ _curry1(_reduced); module2.exports = reduced; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/replace.js var require_replace = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/replace.js"(exports2, module2) { var _curry3 = require_curry3(); var replace = /* @__PURE__ */ _curry3(function replace2(regex, replacement, str) { return str.replace(regex, replacement); }); module2.exports = replace; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/scan.js var require_scan5 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/scan.js"(exports2, module2) { var _curry3 = require_curry3(); var scan = /* @__PURE__ */ _curry3(function scan2(fn, acc, list) { var idx = 0; var len = list.length; var result2 = [acc]; while (idx < len) { acc = fn(acc, list[idx]); result2[idx + 1] = acc; idx += 1; } return result2; }); module2.exports = scan; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sequence.js var require_sequence = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sequence.js"(exports2, module2) { var _curry2 = require_curry2(); var ap = require_ap(); var map = require_map3(); var prepend = require_prepend(); var reduceRight = require_reduceRight(); var sequence = /* @__PURE__ */ _curry2(function sequence2(of, traversable) { return typeof traversable.sequence === "function" ? traversable.sequence(of) : reduceRight(function(x, acc) { return ap(map(prepend, x), acc); }, of([]), traversable); }); module2.exports = sequence; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/set.js var require_set4 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/set.js"(exports2, module2) { var _curry3 = require_curry3(); var always = require_always(); var over = require_over(); var set = /* @__PURE__ */ _curry3(function set2(lens, v, x) { return over(lens, always(v), x); }); module2.exports = set; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sort.js var require_sort3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sort.js"(exports2, module2) { var _curry2 = require_curry2(); var sort = /* @__PURE__ */ _curry2(function sort2(comparator, list) { return Array.prototype.slice.call(list, 0).sort(comparator); }); module2.exports = sort; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sortBy.js var require_sortBy = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sortBy.js"(exports2, module2) { var _curry2 = require_curry2(); var sortBy = /* @__PURE__ */ _curry2(function sortBy2(fn, list) { return Array.prototype.slice.call(list, 0).sort(function(a, b) { var aa = fn(a); var bb = fn(b); return aa < bb ? -1 : aa > bb ? 1 : 0; }); }); module2.exports = sortBy; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sortWith.js var require_sortWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sortWith.js"(exports2, module2) { var _curry2 = require_curry2(); var sortWith = /* @__PURE__ */ _curry2(function sortWith2(fns, list) { return Array.prototype.slice.call(list, 0).sort(function(a, b) { var result2 = 0; var i = 0; while (result2 === 0 && i < fns.length) { result2 = fns[i](a, b); i += 1; } return result2; }); }); module2.exports = sortWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/split.js var require_split = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/split.js"(exports2, module2) { var invoker = require_invoker(); var split = /* @__PURE__ */ invoker(1, "split"); module2.exports = split; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitAt.js var require_splitAt = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitAt.js"(exports2, module2) { var _curry2 = require_curry2(); var length = require_length(); var slice = require_slice(); var splitAt = /* @__PURE__ */ _curry2(function splitAt2(index, array) { return [slice(0, index, array), slice(index, length(array), array)]; }); module2.exports = splitAt; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitEvery.js var require_splitEvery = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitEvery.js"(exports2, module2) { var _curry2 = require_curry2(); var slice = require_slice(); var splitEvery = /* @__PURE__ */ _curry2(function splitEvery2(n, list) { if (n <= 0) { throw new Error("First argument to splitEvery must be a positive integer"); } var result2 = []; var idx = 0; while (idx < list.length) { result2.push(slice(idx, idx += n, list)); } return result2; }); module2.exports = splitEvery; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitWhen.js var require_splitWhen = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitWhen.js"(exports2, module2) { var _curry2 = require_curry2(); var splitWhen = /* @__PURE__ */ _curry2(function splitWhen2(pred, list) { var idx = 0; var len = list.length; var prefix = []; while (idx < len && !pred(list[idx])) { prefix.push(list[idx]); idx += 1; } return [prefix, Array.prototype.slice.call(list, idx)]; }); module2.exports = splitWhen; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitWhenever.js var require_splitWhenever = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitWhenever.js"(exports2, module2) { var _curryN = require_curryN(); var splitWhenever = /* @__PURE__ */ _curryN(2, [], function splitWhenever2(pred, list) { var acc = []; var curr = []; for (var i = 0; i < list.length; i = i + 1) { if (!pred(list[i])) { curr.push(list[i]); } if ((i < list.length - 1 && pred(list[i + 1]) || i === list.length - 1) && curr.length > 0) { acc.push(curr); curr = []; } } return acc; }); module2.exports = splitWhenever; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/startsWith.js var require_startsWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/startsWith.js"(exports2, module2) { var _curry2 = require_curry2(); var equals = require_equals2(); var take = require_take2(); var startsWith = /* @__PURE__ */ _curry2(function(prefix, list) { return equals(take(prefix.length, list), prefix); }); module2.exports = startsWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/subtract.js var require_subtract = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/subtract.js"(exports2, module2) { var _curry2 = require_curry2(); var subtract = /* @__PURE__ */ _curry2(function subtract2(a, b) { return Number(a) - Number(b); }); module2.exports = subtract; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/symmetricDifference.js var require_symmetricDifference = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/symmetricDifference.js"(exports2, module2) { var _curry2 = require_curry2(); var concat = require_concat4(); var difference = require_difference(); var symmetricDifference = /* @__PURE__ */ _curry2(function symmetricDifference2(list1, list2) { return concat(difference(list1, list2), difference(list2, list1)); }); module2.exports = symmetricDifference; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/symmetricDifferenceWith.js var require_symmetricDifferenceWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/symmetricDifferenceWith.js"(exports2, module2) { var _curry3 = require_curry3(); var concat = require_concat4(); var differenceWith = require_differenceWith(); var symmetricDifferenceWith = /* @__PURE__ */ _curry3(function symmetricDifferenceWith2(pred, list1, list2) { return concat(differenceWith(pred, list1, list2), differenceWith(pred, list2, list1)); }); module2.exports = symmetricDifferenceWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeLastWhile.js var require_takeLastWhile = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeLastWhile.js"(exports2, module2) { var _curry2 = require_curry2(); var slice = require_slice(); var takeLastWhile = /* @__PURE__ */ _curry2(function takeLastWhile2(fn, xs) { var idx = xs.length - 1; while (idx >= 0 && fn(xs[idx])) { idx -= 1; } return slice(idx + 1, Infinity, xs); }); module2.exports = takeLastWhile; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtakeWhile.js var require_xtakeWhile = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtakeWhile.js"(exports2, module2) { var _curry2 = require_curry2(); var _reduced = require_reduced(); var _xfBase = require_xfBase(); var XTakeWhile = /* @__PURE__ */ (function() { function XTakeWhile2(f, xf) { this.xf = xf; this.f = f; } XTakeWhile2.prototype["@@transducer/init"] = _xfBase.init; XTakeWhile2.prototype["@@transducer/result"] = _xfBase.result; XTakeWhile2.prototype["@@transducer/step"] = function(result2, input) { return this.f(input) ? this.xf["@@transducer/step"](result2, input) : _reduced(result2); }; return XTakeWhile2; })(); var _xtakeWhile = /* @__PURE__ */ _curry2(function _xtakeWhile2(f, xf) { return new XTakeWhile(f, xf); }); module2.exports = _xtakeWhile; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeWhile.js var require_takeWhile2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeWhile.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xtakeWhile = require_xtakeWhile(); var slice = require_slice(); var takeWhile = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable(["takeWhile"], _xtakeWhile, function takeWhile2(fn, xs) { var idx = 0; var len = xs.length; while (idx < len && fn(xs[idx])) { idx += 1; } return slice(0, idx, xs); }) ); module2.exports = takeWhile; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtap.js var require_xtap = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtap.js"(exports2, module2) { var _curry2 = require_curry2(); var _xfBase = require_xfBase(); var XTap = /* @__PURE__ */ (function() { function XTap2(f, xf) { this.xf = xf; this.f = f; } XTap2.prototype["@@transducer/init"] = _xfBase.init; XTap2.prototype["@@transducer/result"] = _xfBase.result; XTap2.prototype["@@transducer/step"] = function(result2, input) { this.f(input); return this.xf["@@transducer/step"](result2, input); }; return XTap2; })(); var _xtap = /* @__PURE__ */ _curry2(function _xtap2(f, xf) { return new XTap(f, xf); }); module2.exports = _xtap; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tap.js var require_tap2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tap.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _xtap = require_xtap(); var tap = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xtap, function tap2(fn, x) { fn(x); return x; }) ); module2.exports = tap; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isRegExp.js var require_isRegExp = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isRegExp.js"(exports2, module2) { function _isRegExp(x) { return Object.prototype.toString.call(x) === "[object RegExp]"; } module2.exports = _isRegExp; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/test.js var require_test = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/test.js"(exports2, module2) { var _cloneRegExp = require_cloneRegExp(); var _curry2 = require_curry2(); var _isRegExp = require_isRegExp(); var toString = require_toString2(); var test = /* @__PURE__ */ _curry2(function test2(pattern, str) { if (!_isRegExp(pattern)) { throw new TypeError("\u2018test\u2019 requires a value of type RegExp as its first argument; received " + toString(pattern)); } return _cloneRegExp(pattern).test(str); }); module2.exports = test; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/andThen.js var require_andThen = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/andThen.js"(exports2, module2) { var _curry2 = require_curry2(); var _assertPromise = require_assertPromise(); var andThen = /* @__PURE__ */ _curry2(function andThen2(f, p) { _assertPromise("andThen", p); return p.then(f); }); module2.exports = andThen; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toLower.js var require_toLower = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toLower.js"(exports2, module2) { var invoker = require_invoker(); var toLower = /* @__PURE__ */ invoker(0, "toLowerCase"); module2.exports = toLower; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toPairs.js var require_toPairs = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toPairs.js"(exports2, module2) { var _curry1 = require_curry1(); var _has = require_has(); var toPairs = /* @__PURE__ */ _curry1(function toPairs2(obj) { var pairs = []; for (var prop in obj) { if (_has(prop, obj)) { pairs[pairs.length] = [prop, obj[prop]]; } } return pairs; }); module2.exports = toPairs; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toPairsIn.js var require_toPairsIn = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toPairsIn.js"(exports2, module2) { var _curry1 = require_curry1(); var toPairsIn = /* @__PURE__ */ _curry1(function toPairsIn2(obj) { var pairs = []; for (var prop in obj) { pairs[pairs.length] = [prop, obj[prop]]; } return pairs; }); module2.exports = toPairsIn; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toUpper.js var require_toUpper = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toUpper.js"(exports2, module2) { var invoker = require_invoker(); var toUpper = /* @__PURE__ */ invoker(0, "toUpperCase"); module2.exports = toUpper; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/transduce.js var require_transduce = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/transduce.js"(exports2, module2) { var _reduce = require_reduce(); var _xwrap = require_xwrap(); var curryN = require_curryN2(); var transduce = /* @__PURE__ */ curryN(4, function transduce2(xf, fn, acc, list) { return _reduce(xf(typeof fn === "function" ? _xwrap(fn) : fn), acc, list); }); module2.exports = transduce; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/transpose.js var require_transpose = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/transpose.js"(exports2, module2) { var _curry1 = require_curry1(); var transpose = /* @__PURE__ */ _curry1(function transpose2(outerlist) { var i = 0; var result2 = []; while (i < outerlist.length) { var innerlist = outerlist[i]; var j = 0; while (j < innerlist.length) { if (typeof result2[j] === "undefined") { result2[j] = []; } result2[j].push(innerlist[j]); j += 1; } i += 1; } return result2; }); module2.exports = transpose; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/traverse.js var require_traverse = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/traverse.js"(exports2, module2) { var _curry3 = require_curry3(); var map = require_map3(); var sequence = require_sequence(); var traverse = /* @__PURE__ */ _curry3(function traverse2(of, f, traversable) { return typeof traversable["fantasy-land/traverse"] === "function" ? traversable["fantasy-land/traverse"](f, of) : typeof traversable.traverse === "function" ? traversable.traverse(f, of) : sequence(of, map(f, traversable)); }); module2.exports = traverse; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/trim.js var require_trim = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/trim.js"(exports2, module2) { var _curry1 = require_curry1(); var ws = " \n\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF"; var zeroWidth = "\u200B"; var hasProtoTrim = typeof String.prototype.trim === "function"; var trim = !hasProtoTrim || /* @__PURE__ */ ws.trim() || !/* @__PURE__ */ zeroWidth.trim() ? /* @__PURE__ */ _curry1(function trim2(str) { var beginRx = new RegExp("^[" + ws + "][" + ws + "]*"); var endRx = new RegExp("[" + ws + "][" + ws + "]*$"); return str.replace(beginRx, "").replace(endRx, ""); }) : /* @__PURE__ */ _curry1(function trim2(str) { return str.trim(); }); module2.exports = trim; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tryCatch.js var require_tryCatch = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tryCatch.js"(exports2, module2) { var _arity = require_arity(); var _concat = require_concat3(); var _curry2 = require_curry2(); var tryCatch = /* @__PURE__ */ _curry2(function _tryCatch(tryer, catcher) { return _arity(tryer.length, function() { try { return tryer.apply(this, arguments); } catch (e) { return catcher.apply(this, _concat([e], arguments)); } }); }); module2.exports = tryCatch; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unapply.js var require_unapply = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unapply.js"(exports2, module2) { var _curry1 = require_curry1(); var unapply = /* @__PURE__ */ _curry1(function unapply2(fn) { return function() { return fn(Array.prototype.slice.call(arguments, 0)); }; }); module2.exports = unapply; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unary.js var require_unary = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unary.js"(exports2, module2) { var _curry1 = require_curry1(); var nAry = require_nAry(); var unary = /* @__PURE__ */ _curry1(function unary2(fn) { return nAry(1, fn); }); module2.exports = unary; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uncurryN.js var require_uncurryN = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uncurryN.js"(exports2, module2) { var _curry2 = require_curry2(); var curryN = require_curryN2(); var uncurryN = /* @__PURE__ */ _curry2(function uncurryN2(depth, fn) { return curryN(depth, function() { var currentDepth = 1; var value = fn; var idx = 0; var endIdx; while (currentDepth <= depth && typeof value === "function") { endIdx = currentDepth === depth ? arguments.length : idx + value.length; value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx)); currentDepth += 1; idx = endIdx; } return value; }); }); module2.exports = uncurryN; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unfold.js var require_unfold = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unfold.js"(exports2, module2) { var _curry2 = require_curry2(); var unfold = /* @__PURE__ */ _curry2(function unfold2(fn, seed) { var pair = fn(seed); var result2 = []; while (pair && pair.length) { result2[result2.length] = pair[0]; pair = fn(pair[1]); } return result2; }); module2.exports = unfold; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/union.js var require_union = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/union.js"(exports2, module2) { var _concat = require_concat3(); var _curry2 = require_curry2(); var compose = require_compose(); var uniq = require_uniq(); var union = /* @__PURE__ */ _curry2( /* @__PURE__ */ compose(uniq, _concat) ); module2.exports = union; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xuniqWith.js var require_xuniqWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xuniqWith.js"(exports2, module2) { var _curry2 = require_curry2(); var _includesWith = require_includesWith(); var _xfBase = require_xfBase(); var XUniqWith = /* @__PURE__ */ (function() { function XUniqWith2(pred, xf) { this.xf = xf; this.pred = pred; this.items = []; } XUniqWith2.prototype["@@transducer/init"] = _xfBase.init; XUniqWith2.prototype["@@transducer/result"] = _xfBase.result; XUniqWith2.prototype["@@transducer/step"] = function(result2, input) { if (_includesWith(this.pred, input, this.items)) { return result2; } else { this.items.push(input); return this.xf["@@transducer/step"](result2, input); } }; return XUniqWith2; })(); var _xuniqWith = /* @__PURE__ */ _curry2(function _xuniqWith2(pred, xf) { return new XUniqWith(pred, xf); }); module2.exports = _xuniqWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniqWith.js var require_uniqWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniqWith.js"(exports2, module2) { var _curry2 = require_curry2(); var _dispatchable = require_dispatchable(); var _includesWith = require_includesWith(); var _xuniqWith = require_xuniqWith(); var uniqWith = /* @__PURE__ */ _curry2( /* @__PURE__ */ _dispatchable([], _xuniqWith, function(pred, list) { var idx = 0; var len = list.length; var result2 = []; var item; while (idx < len) { item = list[idx]; if (!_includesWith(pred, item, result2)) { result2[result2.length] = item; } idx += 1; } return result2; }) ); module2.exports = uniqWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unionWith.js var require_unionWith = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unionWith.js"(exports2, module2) { var _concat = require_concat3(); var _curry3 = require_curry3(); var uniqWith = require_uniqWith(); var unionWith = /* @__PURE__ */ _curry3(function unionWith2(pred, list1, list2) { return uniqWith(pred, _concat(list1, list2)); }); module2.exports = unionWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unless.js var require_unless = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unless.js"(exports2, module2) { var _curry3 = require_curry3(); var unless = /* @__PURE__ */ _curry3(function unless2(pred, whenFalseFn, x) { return pred(x) ? x : whenFalseFn(x); }); module2.exports = unless; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/until.js var require_until = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/until.js"(exports2, module2) { var _curry3 = require_curry3(); var until = /* @__PURE__ */ _curry3(function until2(pred, fn, init) { var val = init; while (!pred(val)) { val = fn(val); } return val; }); module2.exports = until; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unwind.js var require_unwind = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unwind.js"(exports2, module2) { var _curry2 = require_curry2(); var _isArray = require_isArray(); var _map = require_map2(); var _assoc = require_assoc(); var unwind = /* @__PURE__ */ _curry2(function(key, object) { if (!(key in object && _isArray(object[key]))) { return [object]; } return _map(function(item) { return _assoc(key, item, object); }, object[key]); }); module2.exports = unwind; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/valuesIn.js var require_valuesIn = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/valuesIn.js"(exports2, module2) { var _curry1 = require_curry1(); var valuesIn = /* @__PURE__ */ _curry1(function valuesIn2(obj) { var prop; var vs = []; for (prop in obj) { vs[vs.length] = obj[prop]; } return vs; }); module2.exports = valuesIn; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/view.js var require_view = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/view.js"(exports2, module2) { var _curry2 = require_curry2(); var Const = function(x) { return { value: x, "fantasy-land/map": function() { return this; } }; }; var view = /* @__PURE__ */ _curry2(function view2(lens, x) { return lens(Const)(x).value; }); module2.exports = view; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/when.js var require_when = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/when.js"(exports2, module2) { var _curry3 = require_curry3(); var when = /* @__PURE__ */ _curry3(function when2(pred, whenTrueFn, x) { return pred(x) ? whenTrueFn(x) : x; }); module2.exports = when; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/where.js var require_where = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/where.js"(exports2, module2) { var _curry2 = require_curry2(); var _has = require_has(); var where = /* @__PURE__ */ _curry2(function where2(spec, testObj) { for (var prop in spec) { if (_has(prop, spec) && !spec[prop](testObj[prop])) { return false; } } return true; }); module2.exports = where; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/whereAny.js var require_whereAny = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/whereAny.js"(exports2, module2) { var _curry2 = require_curry2(); var _has = require_has(); var whereAny = /* @__PURE__ */ _curry2(function whereAny2(spec, testObj) { for (var prop in spec) { if (_has(prop, spec) && spec[prop](testObj[prop])) { return true; } } return false; }); module2.exports = whereAny; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/whereEq.js var require_whereEq = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/whereEq.js"(exports2, module2) { var _curry2 = require_curry2(); var equals = require_equals2(); var map = require_map3(); var where = require_where(); var whereEq = /* @__PURE__ */ _curry2(function whereEq2(spec, testObj) { return where(map(equals, spec), testObj); }); module2.exports = whereEq; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/without.js var require_without = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/without.js"(exports2, module2) { var _includes = require_includes(); var _curry2 = require_curry2(); var flip = require_flip(); var reject = require_reject(); var without = /* @__PURE__ */ _curry2(function(xs, list) { return reject(flip(_includes)(xs), list); }); module2.exports = without; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/xor.js var require_xor = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/xor.js"(exports2, module2) { var _curry2 = require_curry2(); var xor = /* @__PURE__ */ _curry2(function xor2(a, b) { return Boolean(!a ^ !b); }); module2.exports = xor; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/xprod.js var require_xprod = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/xprod.js"(exports2, module2) { var _curry2 = require_curry2(); var xprod = /* @__PURE__ */ _curry2(function xprod2(a, b) { var idx = 0; var ilen = a.length; var j; var jlen = b.length; var result2 = []; while (idx < ilen) { j = 0; while (j < jlen) { result2[result2.length] = [a[idx], b[j]]; j += 1; } idx += 1; } return result2; }); module2.exports = xprod; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zip.js var require_zip3 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zip.js"(exports2, module2) { var _curry2 = require_curry2(); var zip = /* @__PURE__ */ _curry2(function zip2(a, b) { var rv = []; var idx = 0; var len = Math.min(a.length, b.length); while (idx < len) { rv[idx] = [a[idx], b[idx]]; idx += 1; } return rv; }); module2.exports = zip; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zipObj.js var require_zipObj = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zipObj.js"(exports2, module2) { var _curry2 = require_curry2(); var zipObj = /* @__PURE__ */ _curry2(function zipObj2(keys, values) { var idx = 0; var len = Math.min(keys.length, values.length); var out = {}; while (idx < len) { out[keys[idx]] = values[idx]; idx += 1; } return out; }); module2.exports = zipObj; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zipWith.js var require_zipWith2 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zipWith.js"(exports2, module2) { var _curry3 = require_curry3(); var zipWith = /* @__PURE__ */ _curry3(function zipWith2(fn, a, b) { var rv = []; var idx = 0; var len = Math.min(a.length, b.length); while (idx < len) { rv[idx] = fn(a[idx], b[idx]); idx += 1; } return rv; }); module2.exports = zipWith; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/thunkify.js var require_thunkify = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/thunkify.js"(exports2, module2) { var curryN = require_curryN2(); var _curry1 = require_curry1(); var thunkify = /* @__PURE__ */ _curry1(function thunkify2(fn) { return curryN(fn.length, function createThunk() { var fnArgs = arguments; return function invokeThunk() { return fn.apply(this, fnArgs); }; }); }); module2.exports = thunkify; } }); // ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/index.js var require_src5 = __commonJS({ "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/index.js"(exports2, module2) { module2.exports = {}; module2.exports.F = require_F(); module2.exports.T = require_T(); module2.exports.__ = require__(); module2.exports.add = require_add(); module2.exports.addIndex = require_addIndex(); module2.exports.adjust = require_adjust(); module2.exports.all = require_all2(); module2.exports.allPass = require_allPass(); module2.exports.always = require_always(); module2.exports.and = require_and(); module2.exports.any = require_any(); module2.exports.anyPass = require_anyPass(); module2.exports.ap = require_ap(); module2.exports.aperture = require_aperture2(); module2.exports.append = require_append(); module2.exports.apply = require_apply(); module2.exports.applySpec = require_applySpec(); module2.exports.applyTo = require_applyTo(); module2.exports.ascend = require_ascend(); module2.exports.assoc = require_assoc2(); module2.exports.assocPath = require_assocPath(); module2.exports.binary = require_binary3(); module2.exports.bind = require_bind(); module2.exports.both = require_both(); module2.exports.call = require_call(); module2.exports.chain = require_chain2(); module2.exports.clamp = require_clamp(); module2.exports.clone = require_clone5(); module2.exports.collectBy = require_collectBy(); module2.exports.comparator = require_comparator2(); module2.exports.complement = require_complement2(); module2.exports.compose = require_compose(); module2.exports.composeWith = require_composeWith(); module2.exports.concat = require_concat4(); module2.exports.cond = require_cond(); module2.exports.construct = require_construct(); module2.exports.constructN = require_constructN(); module2.exports.converge = require_converge(); module2.exports.count = require_count2(); module2.exports.countBy = require_countBy(); module2.exports.curry = require_curry(); module2.exports.curryN = require_curryN2(); module2.exports.dec = require_dec(); module2.exports.defaultTo = require_defaultTo(); module2.exports.descend = require_descend(); module2.exports.difference = require_difference(); module2.exports.differenceWith = require_differenceWith(); module2.exports.dissoc = require_dissoc2(); module2.exports.dissocPath = require_dissocPath(); module2.exports.divide = require_divide(); module2.exports.drop = require_drop(); module2.exports.dropLast = require_dropLast2(); module2.exports.dropLastWhile = require_dropLastWhile2(); module2.exports.dropRepeats = require_dropRepeats(); module2.exports.dropRepeatsWith = require_dropRepeatsWith(); module2.exports.dropWhile = require_dropWhile(); module2.exports.either = require_either(); module2.exports.empty = require_empty3(); module2.exports.endsWith = require_endsWith(); module2.exports.eqBy = require_eqBy(); module2.exports.eqProps = require_eqProps(); module2.exports.equals = require_equals2(); module2.exports.evolve = require_evolve(); module2.exports.filter = require_filter3(); module2.exports.find = require_find2(); module2.exports.findIndex = require_findIndex2(); module2.exports.findLast = require_findLast(); module2.exports.findLastIndex = require_findLastIndex(); module2.exports.flatten = require_flatten(); module2.exports.flip = require_flip(); module2.exports.forEach = require_forEach(); module2.exports.forEachObjIndexed = require_forEachObjIndexed(); module2.exports.fromPairs = require_fromPairs(); module2.exports.groupBy = require_groupBy2(); module2.exports.groupWith = require_groupWith(); module2.exports.gt = require_gt2(); module2.exports.gte = require_gte2(); module2.exports.has = require_has2(); module2.exports.hasIn = require_hasIn(); module2.exports.hasPath = require_hasPath(); module2.exports.head = require_head(); module2.exports.identical = require_identical(); module2.exports.identity = require_identity3(); module2.exports.ifElse = require_ifElse(); module2.exports.inc = require_inc2(); module2.exports.includes = require_includes2(); module2.exports.indexBy = require_indexBy(); module2.exports.indexOf = require_indexOf2(); module2.exports.init = require_init(); module2.exports.innerJoin = require_innerJoin(); module2.exports.insert = require_insert(); module2.exports.insertAll = require_insertAll(); module2.exports.intersection = require_intersection(); module2.exports.intersperse = require_intersperse(); module2.exports.into = require_into(); module2.exports.invert = require_invert(); module2.exports.invertObj = require_invertObj(); module2.exports.invoker = require_invoker(); module2.exports.is = require_is(); module2.exports.isEmpty = require_isEmpty2(); module2.exports.isNil = require_isNil(); module2.exports.join = require_join(); module2.exports.juxt = require_juxt(); module2.exports.keys = require_keys(); module2.exports.keysIn = require_keysIn(); module2.exports.last = require_last2(); module2.exports.lastIndexOf = require_lastIndexOf(); module2.exports.length = require_length(); module2.exports.lens = require_lens(); module2.exports.lensIndex = require_lensIndex(); module2.exports.lensPath = require_lensPath(); module2.exports.lensProp = require_lensProp(); module2.exports.lift = require_lift2(); module2.exports.liftN = require_liftN(); module2.exports.lt = require_lt2(); module2.exports.lte = require_lte2(); module2.exports.map = require_map3(); module2.exports.mapAccum = require_mapAccum(); module2.exports.mapAccumRight = require_mapAccumRight(); module2.exports.mapObjIndexed = require_mapObjIndexed(); module2.exports.match = require_match(); module2.exports.mathMod = require_mathMod(); module2.exports.max = require_max2(); module2.exports.maxBy = require_maxBy(); module2.exports.mean = require_mean(); module2.exports.median = require_median(); module2.exports.memoizeWith = require_memoizeWith(); module2.exports.mergeAll = require_mergeAll2(); module2.exports.mergeDeepLeft = require_mergeDeepLeft(); module2.exports.mergeDeepRight = require_mergeDeepRight(); module2.exports.mergeDeepWith = require_mergeDeepWith(); module2.exports.mergeDeepWithKey = require_mergeDeepWithKey(); module2.exports.mergeLeft = require_mergeLeft(); module2.exports.mergeRight = require_mergeRight(); module2.exports.mergeWith = require_mergeWith2(); module2.exports.mergeWithKey = require_mergeWithKey(); module2.exports.min = require_min2(); module2.exports.minBy = require_minBy(); module2.exports.modify = require_modify2(); module2.exports.modifyPath = require_modifyPath(); module2.exports.modulo = require_modulo(); module2.exports.move = require_move5(); module2.exports.multiply = require_multiply(); module2.exports.nAry = require_nAry(); module2.exports.partialObject = require_partialObject(); module2.exports.negate = require_negate(); module2.exports.none = require_none(); module2.exports.not = require_not2(); module2.exports.nth = require_nth(); module2.exports.nthArg = require_nthArg(); module2.exports.o = require_o(); module2.exports.objOf = require_objOf(); module2.exports.of = require_of3(); module2.exports.omit = require_omit(); module2.exports.on = require_on(); module2.exports.once = require_once2(); module2.exports.or = require_or(); module2.exports.otherwise = require_otherwise(); module2.exports.over = require_over(); module2.exports.pair = require_pair(); module2.exports.partial = require_partial2(); module2.exports.partialRight = require_partialRight(); module2.exports.partition = require_partition4(); module2.exports.path = require_path5(); module2.exports.paths = require_paths(); module2.exports.pathEq = require_pathEq(); module2.exports.pathOr = require_pathOr(); module2.exports.pathSatisfies = require_pathSatisfies(); module2.exports.pick = require_pick(); module2.exports.pickAll = require_pickAll(); module2.exports.pickBy = require_pickBy(); module2.exports.pipe = require_pipe4(); module2.exports.pipeWith = require_pipeWith(); module2.exports.pluck = require_pluck2(); module2.exports.prepend = require_prepend(); module2.exports.product = require_product(); module2.exports.project = require_project2(); module2.exports.promap = require_promap2(); module2.exports.prop = require_prop(); module2.exports.propEq = require_propEq(); module2.exports.propIs = require_propIs(); module2.exports.propOr = require_propOr(); module2.exports.propSatisfies = require_propSatisfies(); module2.exports.props = require_props(); module2.exports.range = require_range3(); module2.exports.reduce = require_reduce3(); module2.exports.reduceBy = require_reduceBy(); module2.exports.reduceRight = require_reduceRight(); module2.exports.reduceWhile = require_reduceWhile(); module2.exports.reduced = require_reduced2(); module2.exports.reject = require_reject(); module2.exports.remove = require_remove3(); module2.exports.repeat = require_repeat2(); module2.exports.replace = require_replace(); module2.exports.reverse = require_reverse(); module2.exports.scan = require_scan5(); module2.exports.sequence = require_sequence(); module2.exports.set = require_set4(); module2.exports.slice = require_slice(); module2.exports.sort = require_sort3(); module2.exports.sortBy = require_sortBy(); module2.exports.sortWith = require_sortWith(); module2.exports.split = require_split(); module2.exports.splitAt = require_splitAt(); module2.exports.splitEvery = require_splitEvery(); module2.exports.splitWhen = require_splitWhen(); module2.exports.splitWhenever = require_splitWhenever(); module2.exports.startsWith = require_startsWith(); module2.exports.subtract = require_subtract(); module2.exports.sum = require_sum(); module2.exports.symmetricDifference = require_symmetricDifference(); module2.exports.symmetricDifferenceWith = require_symmetricDifferenceWith(); module2.exports.tail = require_tail(); module2.exports.take = require_take2(); module2.exports.takeLast = require_takeLast2(); module2.exports.takeLastWhile = require_takeLastWhile(); module2.exports.takeWhile = require_takeWhile2(); module2.exports.tap = require_tap2(); module2.exports.test = require_test(); module2.exports.andThen = require_andThen(); module2.exports.times = require_times(); module2.exports.toLower = require_toLower(); module2.exports.toPairs = require_toPairs(); module2.exports.toPairsIn = require_toPairsIn(); module2.exports.toString = require_toString2(); module2.exports.toUpper = require_toUpper(); module2.exports.transduce = require_transduce(); module2.exports.transpose = require_transpose(); module2.exports.traverse = require_traverse(); module2.exports.trim = require_trim(); module2.exports.tryCatch = require_tryCatch(); module2.exports.type = require_type2(); module2.exports.unapply = require_unapply(); module2.exports.unary = require_unary(); module2.exports.uncurryN = require_uncurryN(); module2.exports.unfold = require_unfold(); module2.exports.union = require_union(); module2.exports.unionWith = require_unionWith(); module2.exports.uniq = require_uniq(); module2.exports.uniqBy = require_uniqBy(); module2.exports.uniqWith = require_uniqWith(); module2.exports.unless = require_unless(); module2.exports.unnest = require_unnest(); module2.exports.until = require_until(); module2.exports.unwind = require_unwind(); module2.exports.update = require_update(); module2.exports.useWith = require_useWith(); module2.exports.values = require_values(); module2.exports.valuesIn = require_valuesIn(); module2.exports.view = require_view(); module2.exports.when = require_when(); module2.exports.where = require_where(); module2.exports.whereAny = require_whereAny(); module2.exports.whereEq = require_whereEq(); module2.exports.without = require_without(); module2.exports.xor = require_xor(); module2.exports.xprod = require_xprod(); module2.exports.zip = require_zip3(); module2.exports.zipObj = require_zipObj(); module2.exports.zipWith = require_zipWith2(); module2.exports.thunkify = require_thunkify(); } }); // ../deps/status/lib/assertLockfilesEqual.js var require_assertLockfilesEqual = __commonJS({ "../deps/status/lib/assertLockfilesEqual.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.assertLockfilesEqual = assertLockfilesEqual; var error_1 = require_lib6(); var ramda_1 = require_src5(); function assertLockfilesEqual(currentLockfile, wantedLockfile, wantedLockfileDir) { if (!currentLockfile) { for (const [name, snapshot] of Object.entries(wantedLockfile.importers)) { if (!(0, ramda_1.equals)(snapshot.specifiers, {})) { throw new error_1.PnpmError("RUN_CHECK_DEPS_NO_DEPS", `Project ${name} requires dependencies but none was installed.`, { hint: "Run `pnpm install` to install dependencies" }); } } } else if (!(0, ramda_1.equals)(currentLockfile, wantedLockfile)) { throw new error_1.PnpmError("RUN_CHECK_DEPS_OUTDATED_DEPS", `The installed dependencies in the modules directory is not up-to-date with the lockfile in ${wantedLockfileDir}.`, { hint: "Run `pnpm install` to update dependencies." }); } } } }); // ../deps/status/lib/safeStat.js var require_safeStat = __commonJS({ "../deps/status/lib/safeStat.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.safeStat = safeStat; exports2.safeStatSync = safeStatSync; var fs_1 = __importDefault2(require("fs")); var util_1 = __importDefault2(require("util")); async function safeStat(filePath) { try { return await fs_1.default.promises.stat(filePath); } catch (error) { if (util_1.default.types.isNativeError(error) && "code" in error && error.code === "ENOENT") { return void 0; } throw error; } } function safeStatSync(filePath) { try { return fs_1.default.statSync(filePath); } catch (error) { if (util_1.default.types.isNativeError(error) && "code" in error && error.code === "ENOENT") { return void 0; } throw error; } } } }); // ../deps/status/lib/statManifestFile.js var require_statManifestFile = __commonJS({ "../deps/status/lib/statManifestFile.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.statManifestFile = statManifestFile; var path_1 = __importDefault2(require("path")); var constants_1 = require_lib5(); var safeStat_js_1 = require_safeStat(); async function statManifestFile(projectRootDir) { const attempts = await Promise.all(constants_1.MANIFEST_BASE_NAMES.map((baseName) => { const manifestPath = path_1.default.join(projectRootDir, baseName); return (0, safeStat_js_1.safeStat)(manifestPath); })); return attempts.find((stats) => stats != null); } } }); // ../deps/status/lib/checkDepsStatus.js var require_checkDepsStatus = __commonJS({ "../deps/status/lib/checkDepsStatus.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.checkDepsStatus = checkDepsStatus; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var equals_1 = __importDefault2(require_equals2()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var filter_1 = __importDefault2(require_filter3()); var once_1 = __importDefault2(require_once2()); var config_1 = require_lib23(); var constants_1 = require_lib5(); var crypto_object_hasher_1 = require_lib117(); var error_1 = require_lib6(); var get_context_1 = require_lib124(); var lockfile_fs_1 = require_lib121(); var lockfile_settings_checker_1 = require_lib146(); var lockfile_verification_1 = require_lib145(); var logger_1 = require_lib22(); var parse_overrides_1 = require_lib149(); var workspace_find_packages_1 = require_lib105(); var workspace_read_manifest_1 = require_lib21(); var workspace_state_1 = require_lib150(); var assertLockfilesEqual_js_1 = require_assertLockfilesEqual(); var safeStat_js_1 = require_safeStat(); var statManifestFile_js_1 = require_statManifestFile(); async function checkDepsStatus(opts) { const workspaceState = (0, workspace_state_1.loadWorkspaceState)(opts.workspaceDir ?? opts.rootProjectManifestDir); if (!workspaceState) { return { upToDate: false, issue: "Cannot check whether dependencies are outdated", workspaceState }; } try { return await _checkDepsStatus(opts, workspaceState); } catch (error) { if (util_1.default.types.isNativeError(error) && "code" in error && String(error.code).startsWith("ERR_PNPM_RUN_CHECK_DEPS_")) { return { upToDate: false, issue: error.message, workspaceState }; } return { upToDate: void 0, issue: util_1.default.types.isNativeError(error) ? error.message : void 0, workspaceState }; } } async function _checkDepsStatus(opts, workspaceState) { const { allProjects, autoInstallPeers, injectWorkspacePackages, catalogs, excludeLinksFromLockfile, linkWorkspacePackages, nodeLinker, rootProjectManifest, rootProjectManifestDir, sharedWorkspaceLockfile, workspaceDir } = opts; if (nodeLinker === "pnp") { (0, logger_1.globalWarn)("verify-deps-before-run does not work with node-linker=pnp"); return { upToDate: true, workspaceState: void 0 }; } const rootManifestOptions = rootProjectManifest && rootProjectManifestDir ? (0, config_1.getOptionsFromRootManifest)(rootProjectManifestDir, rootProjectManifest) : void 0; if (opts.ignoreFilteredInstallCache && workspaceState.filteredInstall) { return { upToDate: void 0, workspaceState }; } if (workspaceState.settings) { const ignoredSettings = new Set(opts.ignoredWorkspaceStateSettings); ignoredSettings.add("catalogs"); for (const [settingName, settingValue] of Object.entries(workspaceState.settings)) { if (ignoredSettings.has(settingName)) continue; if (!(0, equals_1.default)(settingValue, opts[settingName])) { return { upToDate: false, issue: `The value of the ${settingName} setting has changed`, workspaceState }; } } } if ((opts.configDependencies != null || workspaceState.configDependencies != null) && !(0, equals_1.default)(opts.configDependencies ?? {}, workspaceState.configDependencies ?? {})) { return { upToDate: false, issue: "Configuration dependencies are not up to date", workspaceState }; } if (allProjects && workspaceDir) { if (!(0, equals_1.default)((0, filter_1.default)((value) => value != null, workspaceState.settings.catalogs ?? {}), (0, filter_1.default)((value) => value != null, catalogs ?? {}))) { return { upToDate: false, issue: "Catalogs cache outdated", workspaceState }; } if (allProjects.length !== Object.keys(workspaceState.projects).length || !allProjects.every((currentProject) => { const prevProject = workspaceState.projects[currentProject.rootDir]; if (!prevProject) return false; return prevProject.name === currentProject.manifest.name && (prevProject.version ?? "0.0.0") === (currentProject.manifest.version ?? "0.0.0"); })) { return { upToDate: false, issue: "The workspace structure has changed since last install", workspaceState }; } let statModulesDir; if (nodeLinker === "hoisted") { const statsPromise = (0, safeStat_js_1.safeStat)(path_1.default.join(rootProjectManifestDir, "node_modules")); statModulesDir = () => statsPromise; } else { const _nodeLinkerTypeGuard = nodeLinker; statModulesDir = (project) => (0, safeStat_js_1.safeStat)(path_1.default.join(project.rootDir, "node_modules")); } const allManifestStats = await Promise.all(allProjects.map(async (project) => { const modulesDirStatsPromise = statModulesDir(project); const manifestStats = await (0, statManifestFile_js_1.statManifestFile)(project.rootDir); if (!manifestStats) { throw new Error(`Cannot find one of ${constants_1.MANIFEST_BASE_NAMES.join(", ")} in ${project.rootDir}`); } return { project, manifestStats, modulesDirStats: await modulesDirStatsPromise }; })); if (!workspaceState.filteredInstall) { for (const { modulesDirStats, project } of allManifestStats) { if (modulesDirStats) continue; if ((0, isEmpty_1.default)({ ...project.manifest.dependencies, ...project.manifest.devDependencies })) continue; const id = project.manifest.name ?? project.rootDir; return { upToDate: false, issue: `Workspace package ${id} has dependencies but does not have a modules directory`, workspaceState }; } } const modifiedProjects = allManifestStats.filter(({ manifestStats }) => manifestStats.mtime.valueOf() > workspaceState.lastValidatedTimestamp); if (modifiedProjects.length === 0) { logger_1.logger.debug({ msg: "No manifest files were modified since the last validation. Exiting check." }); return { upToDate: true, workspaceState }; } const issue = await patchesOrHooksAreModified({ rootManifestOptions, rootDir: rootProjectManifestDir, lastValidatedTimestamp: workspaceState.lastValidatedTimestamp, currentPnpmfiles: opts.pnpmfile, previousPnpmfiles: workspaceState.pnpmfiles }); if (issue) { return { upToDate: false, issue, workspaceState }; } logger_1.logger.debug({ msg: "Some manifest files were modified since the last validation. Continuing check." }); let readWantedLockfileAndDir; if (sharedWorkspaceLockfile) { let wantedLockfileStats; try { wantedLockfileStats = fs_1.default.statSync(path_1.default.join(workspaceDir, constants_1.WANTED_LOCKFILE)); } catch (error) { if (util_1.default.types.isNativeError(error) && "code" in error && error.code === "ENOENT") { return throwLockfileNotFound(workspaceDir); } else { throw error; } } const wantedLockfilePromise = (0, lockfile_fs_1.readWantedLockfile)(workspaceDir, { ignoreIncompatible: false }); if (wantedLockfileStats.mtime.valueOf() > workspaceState.lastValidatedTimestamp) { const currentLockfile = await (0, lockfile_fs_1.readCurrentLockfile)(path_1.default.join(workspaceDir, "node_modules/.pnpm"), { ignoreIncompatible: false }); const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(workspaceDir); (0, assertLockfilesEqual_js_1.assertLockfilesEqual)(currentLockfile, wantedLockfile, workspaceDir); } readWantedLockfileAndDir = async () => ({ wantedLockfile: await wantedLockfilePromise ?? throwLockfileNotFound(workspaceDir), wantedLockfileDir: workspaceDir }); } else { readWantedLockfileAndDir = async (wantedLockfileDir) => { const wantedLockfilePromise = (0, lockfile_fs_1.readWantedLockfile)(wantedLockfileDir, { ignoreIncompatible: false }); const wantedLockfileStats = await (0, safeStat_js_1.safeStat)(path_1.default.join(wantedLockfileDir, constants_1.WANTED_LOCKFILE)); if (!wantedLockfileStats) return throwLockfileNotFound(wantedLockfileDir); if (wantedLockfileStats.mtime.valueOf() > workspaceState.lastValidatedTimestamp) { const currentLockfile = await (0, lockfile_fs_1.readCurrentLockfile)(path_1.default.join(wantedLockfileDir, "node_modules/.pnpm"), { ignoreIncompatible: false }); const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(wantedLockfileDir); (0, assertLockfilesEqual_js_1.assertLockfilesEqual)(currentLockfile, wantedLockfile, wantedLockfileDir); } return { wantedLockfile: await wantedLockfilePromise ?? throwLockfileNotFound(wantedLockfileDir), wantedLockfileDir }; }; } const getProjectId = sharedWorkspaceLockfile ? (project) => (0, lockfile_fs_1.getLockfileImporterId)(workspaceDir, project.rootDir) : () => "."; const getWorkspacePackages = (0, once_1.default)(get_context_1.arrayOfWorkspacePackagesToMap.bind(null, allProjects)); const getManifestsByDir = (0, once_1.default)(() => (0, lockfile_verification_1.getWorkspacePackagesByDirectory)(getWorkspacePackages())); const assertCtx = { autoInstallPeers, injectWorkspacePackages, config: opts, excludeLinksFromLockfile, linkWorkspacePackages, getManifestsByDir, getWorkspacePackages, rootDir: workspaceDir, rootManifestOptions }; try { await Promise.all(modifiedProjects.map(async ({ project }) => { const { wantedLockfile, wantedLockfileDir } = await readWantedLockfileAndDir(project.rootDir); await assertWantedLockfileUpToDate(assertCtx, { projectDir: project.rootDir, projectId: getProjectId(project), projectManifest: project.manifest, wantedLockfile, wantedLockfileDir }); })); } catch (err) { return { upToDate: false, issue: util_1.default.types.isNativeError(err) && "message" in err ? err.message : void 0, workspaceState }; } await (0, workspace_state_1.updateWorkspaceState)({ allProjects, workspaceDir, pnpmfiles: workspaceState.pnpmfiles, settings: opts, filteredInstall: workspaceState.filteredInstall }); return { upToDate: true, workspaceState }; } if (!allProjects) { const workspaceRoot = workspaceDir ?? rootProjectManifestDir; const workspaceManifest = await (0, workspace_read_manifest_1.readWorkspaceManifest)(workspaceRoot); if (workspaceManifest ?? workspaceDir) { const allProjects2 = await (0, workspace_find_packages_1.findWorkspacePackages)(rootProjectManifestDir, { patterns: workspaceManifest?.packages, sharedWorkspaceLockfile }); return checkDepsStatus({ ...opts, allProjects: allProjects2 }); } } else { throw new Error("Impossible variant: allProjects is defined but workspaceDir is undefined"); } if (rootProjectManifest && rootProjectManifestDir) { const internalPnpmDir = path_1.default.join(rootProjectManifestDir, "node_modules", ".pnpm"); const currentLockfilePromise = (0, lockfile_fs_1.readCurrentLockfile)(internalPnpmDir, { ignoreIncompatible: false }); const wantedLockfilePromise = (0, lockfile_fs_1.readWantedLockfile)(rootProjectManifestDir, { ignoreIncompatible: false }); const [currentLockfileStats, wantedLockfileStats, manifestStats] = await Promise.all([ (0, safeStat_js_1.safeStat)(path_1.default.join(internalPnpmDir, "lock.yaml")), (0, safeStat_js_1.safeStat)(path_1.default.join(rootProjectManifestDir, constants_1.WANTED_LOCKFILE)), (0, statManifestFile_js_1.statManifestFile)(rootProjectManifestDir) ]); if (!wantedLockfileStats) return throwLockfileNotFound(rootProjectManifestDir); const issue = await patchesOrHooksAreModified({ rootManifestOptions, rootDir: rootProjectManifestDir, lastValidatedTimestamp: wantedLockfileStats.mtime.valueOf(), currentPnpmfiles: opts.pnpmfile, previousPnpmfiles: workspaceState.pnpmfiles }); if (issue) { return { upToDate: false, issue, workspaceState }; } if (currentLockfileStats && wantedLockfileStats.mtime.valueOf() > currentLockfileStats.mtime.valueOf()) { const currentLockfile = await currentLockfilePromise; const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(rootProjectManifestDir); (0, assertLockfilesEqual_js_1.assertLockfilesEqual)(currentLockfile, wantedLockfile, rootProjectManifestDir); } if (!manifestStats) { throw new Error(`Cannot find one of ${constants_1.MANIFEST_BASE_NAMES.join(", ")} in ${rootProjectManifestDir}`); } if (manifestStats.mtime.valueOf() > wantedLockfileStats.mtime.valueOf()) { logger_1.logger.debug({ msg: "The manifest is newer than the lockfile. Continuing check." }); try { await assertWantedLockfileUpToDate({ autoInstallPeers, injectWorkspacePackages, config: opts, excludeLinksFromLockfile, linkWorkspacePackages, getManifestsByDir: () => ({}), getWorkspacePackages: () => void 0, rootDir: rootProjectManifestDir, rootManifestOptions }, { projectDir: rootProjectManifestDir, projectId: ".", projectManifest: rootProjectManifest, wantedLockfile: await wantedLockfilePromise ?? throwLockfileNotFound(rootProjectManifestDir), wantedLockfileDir: rootProjectManifestDir }); } catch (err) { return { upToDate: false, issue: util_1.default.types.isNativeError(err) && "message" in err ? err.message : void 0, workspaceState }; } } else if (currentLockfileStats) { logger_1.logger.debug({ msg: "The manifest file is not newer than the lockfile. Exiting check." }); } else { const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(rootProjectManifestDir); if (!(0, isEmpty_1.default)(wantedLockfile.packages ?? {})) { throw new error_1.PnpmError("RUN_CHECK_DEPS_NO_DEPS", "The lockfile requires dependencies but none were installed", { hint: "Run `pnpm install` to install dependencies" }); } } return { upToDate: true, workspaceState }; } (0, logger_1.globalWarn)("Skipping check."); return { upToDate: void 0, workspaceState }; } async function assertWantedLockfileUpToDate(ctx, opts) { const { autoInstallPeers, config, excludeLinksFromLockfile, linkWorkspacePackages, getManifestsByDir, getWorkspacePackages, rootDir, rootManifestOptions } = ctx; const { projectDir, projectId, projectManifest, wantedLockfile, wantedLockfileDir } = opts; const [patchedDependencies, pnpmfileChecksum] = await Promise.all([ (0, lockfile_settings_checker_1.calcPatchHashes)(rootManifestOptions?.patchedDependencies ?? {}, rootDir), config.hooks?.calculatePnpmfileChecksum?.() ]); const outdatedLockfileSettingName = (0, lockfile_settings_checker_1.getOutdatedLockfileSetting)(wantedLockfile, { catalogs: config.catalogs, autoInstallPeers: config.autoInstallPeers, injectWorkspacePackages: config.injectWorkspacePackages, excludeLinksFromLockfile: config.excludeLinksFromLockfile, peersSuffixMaxLength: config.peersSuffixMaxLength, overrides: (0, lockfile_settings_checker_1.createOverridesMapFromParsed)((0, parse_overrides_1.parseOverrides)(rootManifestOptions?.overrides ?? {}, config.catalogs)), ignoredOptionalDependencies: rootManifestOptions?.ignoredOptionalDependencies?.sort(), packageExtensionsChecksum: (0, crypto_object_hasher_1.hashObjectNullableWithPrefix)(rootManifestOptions?.packageExtensions), patchedDependencies, pnpmfileChecksum }); if (outdatedLockfileSettingName) { throw new error_1.PnpmError("RUN_CHECK_DEPS_OUTDATED_LOCKFILE", `Setting ${outdatedLockfileSettingName} of lockfile in ${wantedLockfileDir} is outdated`, { hint: "Run `pnpm install` to update the lockfile" }); } if (!(0, lockfile_verification_1.satisfiesPackageManifest)({ autoInstallPeers, excludeLinksFromLockfile }, wantedLockfile.importers[projectId], projectManifest).satisfies) { throw new error_1.PnpmError("RUN_CHECK_DEPS_UNSATISFIED_PKG_MANIFEST", `The lockfile in ${wantedLockfileDir} does not satisfy project of id ${projectId}`, { hint: "Run `pnpm install` to update the lockfile" }); } if (!await (0, lockfile_verification_1.linkedPackagesAreUpToDate)({ linkWorkspacePackages: !!linkWorkspacePackages, lockfileDir: wantedLockfileDir, manifestsByDir: getManifestsByDir(), workspacePackages: getWorkspacePackages(), lockfilePackages: wantedLockfile.packages }, { dir: projectDir, manifest: projectManifest, snapshot: wantedLockfile.importers[projectId] })) { throw new error_1.PnpmError("RUN_CHECK_DEPS_LINKED_PKGS_OUTDATED", `The linked packages by ${projectDir} is outdated`, { hint: "Run `pnpm install` to update the packages" }); } } function throwLockfileNotFound(wantedLockfileDir) { throw new error_1.PnpmError("RUN_CHECK_DEPS_LOCKFILE_NOT_FOUND", `Cannot find a lockfile in ${wantedLockfileDir}`, { hint: "Run `pnpm install` to create the lockfile" }); } async function patchesOrHooksAreModified(opts) { if (opts.rootManifestOptions?.patchedDependencies) { const allPatchStats = await Promise.all(Object.values(opts.rootManifestOptions.patchedDependencies).map((patchFile) => { return (0, safeStat_js_1.safeStat)(path_1.default.relative(opts.rootDir, patchFile)); })); if (allPatchStats.some((patch) => patch && patch.mtime.valueOf() > opts.lastValidatedTimestamp)) { return "Patches were modified"; } } if (!(0, equals_1.default)(opts.currentPnpmfiles, opts.previousPnpmfiles)) { return "The list of pnpmfiles changed."; } for (const pnpmfilePath of opts.currentPnpmfiles) { const pnpmfileStats = (0, safeStat_js_1.safeStatSync)(pnpmfilePath); if (pnpmfileStats == null) { return `pnpmfile at "${pnpmfilePath}" was removed`; } if (pnpmfileStats.mtime.valueOf() > opts.lastValidatedTimestamp) { return `pnpmfile at "${pnpmfilePath}" was modified`; } } return void 0; } } }); // ../deps/status/lib/index.js var require_lib151 = __commonJS({ "../deps/status/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.checkDepsStatus = void 0; var checkDepsStatus_js_1 = require_checkDepsStatus(); Object.defineProperty(exports2, "checkDepsStatus", { enumerable: true, get: function() { return checkDepsStatus_js_1.checkDepsStatus; } }); } }); // ../node_modules/.pnpm/slash@2.0.0/node_modules/slash/index.js var require_slash2 = __commonJS({ "../node_modules/.pnpm/slash@2.0.0/node_modules/slash/index.js"(exports2, module2) { "use strict"; module2.exports = (input) => { const isExtendedLengthPath = /^\\\\\?\\/.test(input); const hasNonAscii = /[^\u0000-\u0080]+/.test(input); if (isExtendedLengthPath || hasNonAscii) { return input; } return input.replace(/\\/g, "/"); }; } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/path.js var require_path6 = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/path.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.relative = exports2.resolve = exports2.dirname = exports2.join = void 0; var slash_1 = __importDefault2(require_slash2()); var path_1 = __importDefault2(require("path")); var join = (...args) => (0, slash_1.default)(path_1.default.join(...args)); exports2.join = join; var path_2 = require("path"); Object.defineProperty(exports2, "dirname", { enumerable: true, get: function() { return path_2.dirname; } }); var resolve = (...args) => (0, slash_1.default)(path_1.default.resolve(...args)); exports2.resolve = resolve; var relative = (...args) => (0, slash_1.default)(path_1.default.relative(...args)); exports2.relative = relative; } }); // ../node_modules/.pnpm/klaw-sync@6.0.0/node_modules/klaw-sync/klaw-sync.js var require_klaw_sync = __commonJS({ "../node_modules/.pnpm/klaw-sync@6.0.0/node_modules/klaw-sync/klaw-sync.js"(exports2, module2) { "use strict"; var fs = require_graceful_fs(); var path2 = require("path"); function klawSync(dir, opts, ls) { if (!ls) { ls = []; dir = path2.resolve(dir); opts = opts || {}; opts.fs = opts.fs || fs; if (opts.depthLimit > -1) opts.rootDepth = dir.split(path2.sep).length + 1; } const paths = opts.fs.readdirSync(dir).map((p) => dir + path2.sep + p); for (var i = 0; i < paths.length; i += 1) { const pi = paths[i]; const st = opts.fs.statSync(pi); const item = { path: pi, stats: st }; const isUnderDepthLimit = !opts.rootDepth || pi.split(path2.sep).length - opts.rootDepth < opts.depthLimit; const filterResult = opts.filter ? opts.filter(item) : true; const isDir = st.isDirectory(); const shouldAdd = filterResult && (isDir ? !opts.nodir : !opts.nofile); const shouldTraverse = isDir && isUnderDepthLimit && (opts.traverseAll || filterResult); if (shouldAdd) ls.push(item); if (shouldTraverse) ls = klawSync(pi, opts, ls); } return ls; } module2.exports = klawSync; } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patchFs.js var require_patchFs2 = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patchFs.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPatchFiles = void 0; var path_1 = require_path6(); var klaw_sync_1 = __importDefault2(require_klaw_sync()); var getPatchFiles = (patchesDir) => { try { return (0, klaw_sync_1.default)(patchesDir, { nodir: true }).map(({ path: path2 }) => (0, path_1.relative)(patchesDir, path2)).filter((path2) => path2.endsWith(".patch")); } catch (e) { return []; } }; exports2.getPatchFiles = getPatchFiles; } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/assertNever.js var require_assertNever = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/assertNever.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.assertNever = void 0; function assertNever2(x) { throw new Error("Unexpected object: " + x); } exports2.assertNever = assertNever2; } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/apply.js var require_apply2 = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/apply.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.executeEffects = void 0; var fs_extra_1 = __importDefault2(require_lib80()); var path_1 = require("path"); var assertNever_1 = require_assertNever(); var executeEffects = (effects, { dryRun }) => { effects.forEach((eff) => { switch (eff.type) { case "file deletion": if (dryRun) { if (!fs_extra_1.default.existsSync(eff.path)) { throw new Error("Trying to delete file that doesn't exist: " + eff.path); } } else { fs_extra_1.default.unlinkSync(eff.path); } break; case "rename": if (dryRun) { if (!fs_extra_1.default.existsSync(eff.fromPath)) { throw new Error("Trying to move file that doesn't exist: " + eff.fromPath); } } else { fs_extra_1.default.moveSync(eff.fromPath, eff.toPath); } break; case "file creation": if (dryRun) { if (fs_extra_1.default.existsSync(eff.path)) { throw new Error("Trying to create file that already exists: " + eff.path); } } else { const fileContents = eff.hunk ? eff.hunk.parts[0].lines.join("\n") + (eff.hunk.parts[0].noNewlineAtEndOfFile ? "" : "\n") : ""; fs_extra_1.default.ensureDirSync((0, path_1.dirname)(eff.path)); fs_extra_1.default.writeFileSync(eff.path, fileContents, { mode: eff.mode }); } break; case "patch": applyPatch(eff, { dryRun }); break; case "mode change": const currentMode = fs_extra_1.default.statSync(eff.path).mode; if ((isExecutable(eff.newMode) && isExecutable(currentMode) || !isExecutable(eff.newMode) && !isExecutable(currentMode)) && dryRun) { console.warn(`Mode change is not required for file ${eff.path}`); } fs_extra_1.default.chmodSync(eff.path, eff.newMode); break; default: (0, assertNever_1.assertNever)(eff); } }); }; exports2.executeEffects = executeEffects; function isExecutable(fileMode) { return (fileMode & 64) > 0; } var trimRight = (s) => s.replace(/\s+$/, ""); function linesAreEqual(a, b) { return trimRight(a) === trimRight(b); } function applyPatch({ hunks, path: path2 }, { dryRun }) { const fileContents = fs_extra_1.default.readFileSync(path2).toString(); const mode = fs_extra_1.default.statSync(path2).mode; const fileLines = fileContents.split(/\n/); const result2 = []; for (const hunk of hunks) { let fuzzingOffset = 0; while (true) { const modifications = evaluateHunk(hunk, fileLines, fuzzingOffset); if (modifications) { result2.push(modifications); break; } fuzzingOffset = fuzzingOffset < 0 ? fuzzingOffset * -1 : fuzzingOffset * -1 - 1; if (Math.abs(fuzzingOffset) > 20) { throw new Error(`Cant apply hunk ${hunks.indexOf(hunk)} for file ${path2}`); } } } if (dryRun) { return; } let diffOffset = 0; for (const modifications of result2) { for (const modification of modifications) { switch (modification.type) { case "splice": fileLines.splice(modification.index + diffOffset, modification.numToDelete, ...modification.linesToInsert); diffOffset += modification.linesToInsert.length - modification.numToDelete; break; case "pop": fileLines.pop(); break; case "push": fileLines.push(modification.line); break; default: (0, assertNever_1.assertNever)(modification); } } } fs_extra_1.default.writeFileSync(path2, fileLines.join("\n"), { mode }); } function evaluateHunk(hunk, fileLines, fuzzingOffset) { const result2 = []; let contextIndex = hunk.header.original.start - 1 + fuzzingOffset; if (contextIndex < 0) { return null; } if (fileLines.length - contextIndex < hunk.header.original.length) { return null; } for (const part of hunk.parts) { switch (part.type) { case "deletion": case "context": for (const line of part.lines) { const originalLine = fileLines[contextIndex]; if (!linesAreEqual(originalLine, line)) { return null; } contextIndex++; } if (part.type === "deletion") { result2.push({ type: "splice", index: contextIndex - part.lines.length, numToDelete: part.lines.length, linesToInsert: [] }); if (part.noNewlineAtEndOfFile) { result2.push({ type: "push", line: "" }); } } break; case "insertion": result2.push({ type: "splice", index: contextIndex, numToDelete: 0, linesToInsert: part.lines }); if (part.noNewlineAtEndOfFile) { result2.push({ type: "pop" }); } break; default: (0, assertNever_1.assertNever)(part.type); } } return result2; } } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/PackageDetails.js var require_PackageDetails = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/PackageDetails.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPatchDetailsFromCliString = exports2.getPackageDetailsFromPatchFilename = void 0; var path_1 = require_path6(); function parseNameAndVersion(s) { const parts = s.split("+"); switch (parts.length) { case 1: { return { name: parts[0] }; } case 2: { const [nameOrScope, versionOrName] = parts; if (versionOrName.match(/^\d+/)) { return { name: nameOrScope, version: versionOrName }; } return { name: `${nameOrScope}/${versionOrName}` }; } case 3: { const [scope, name, version2] = parts; return { name: `${scope}/${name}`, version: version2 }; } } return null; } function getPackageDetailsFromPatchFilename(patchFilename) { const legacyMatch = patchFilename.match(/^([^+=]+?)(:|\+)(\d+\.\d+\.\d+.*?)(\.dev)?\.patch$/); if (legacyMatch) { const name = legacyMatch[1]; const version2 = legacyMatch[3]; return { packageNames: [name], pathSpecifier: name, humanReadablePathSpecifier: name, path: (0, path_1.join)("node_modules", name), name, version: version2, isNested: false, patchFilename, isDevOnly: patchFilename.endsWith(".dev.patch") }; } const parts = patchFilename.replace(/(\.dev)?\.patch$/, "").split("++").map(parseNameAndVersion).filter((x) => x !== null); if (parts.length === 0) { return null; } const lastPart = parts[parts.length - 1]; if (!lastPart.version) { return null; } return { name: lastPart.name, version: lastPart.version, path: (0, path_1.join)("node_modules", parts.map(({ name }) => name).join("/node_modules/")), patchFilename, pathSpecifier: parts.map(({ name }) => name).join("/"), humanReadablePathSpecifier: parts.map(({ name }) => name).join(" => "), isNested: parts.length > 1, packageNames: parts.map(({ name }) => name), isDevOnly: patchFilename.endsWith(".dev.patch") }; } exports2.getPackageDetailsFromPatchFilename = getPackageDetailsFromPatchFilename; function getPatchDetailsFromCliString(specifier) { const parts = specifier.split("/"); const packageNames = []; let scope = null; for (let i = 0; i < parts.length; i++) { if (parts[i].startsWith("@")) { if (scope) { return null; } scope = parts[i]; } else { if (scope) { packageNames.push(`${scope}/${parts[i]}`); scope = null; } else { packageNames.push(parts[i]); } } } const path2 = (0, path_1.join)("node_modules", packageNames.join("/node_modules/")); return { packageNames, path: path2, name: packageNames[packageNames.length - 1], humanReadablePathSpecifier: packageNames.join(" => "), isNested: packageNames.length > 1, pathSpecifier: specifier }; } exports2.getPatchDetailsFromCliString = getPatchDetailsFromCliString; } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/parse.js var require_parse9 = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/parse.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.verifyHunkIntegrity = exports2.parsePatchFile = exports2.interpretParsedPatchFile = exports2.EXECUTABLE_FILE_MODE = exports2.NON_EXECUTABLE_FILE_MODE = exports2.parseHunkHeaderLine = void 0; var assertNever_1 = require_assertNever(); var parseHunkHeaderLine = (headerLine) => { const match = headerLine.trim().match(/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/); if (!match) { throw new Error(`Bad header line: '${headerLine}'`); } return { original: { start: Math.max(Number(match[1]), 1), length: Number(match[3] || 1) }, patched: { start: Math.max(Number(match[4]), 1), length: Number(match[6] || 1) } }; }; exports2.parseHunkHeaderLine = parseHunkHeaderLine; exports2.NON_EXECUTABLE_FILE_MODE = 420; exports2.EXECUTABLE_FILE_MODE = 493; var emptyFilePatch = () => ({ diffLineFromPath: null, diffLineToPath: null, oldMode: null, newMode: null, deletedFileMode: null, newFileMode: null, renameFrom: null, renameTo: null, beforeHash: null, afterHash: null, fromPath: null, toPath: null, hunks: null }); var emptyHunk = (headerLine) => ({ header: (0, exports2.parseHunkHeaderLine)(headerLine), parts: [] }); var hunkLinetypes = { "@": "header", "-": "deletion", "+": "insertion", " ": "context", "\\": "pragma", // Treat blank lines as context undefined: "context", "\r": "context" }; function parsePatchLines(lines, { supportLegacyDiffs }) { const result2 = []; let currentFilePatch = emptyFilePatch(); let state = "parsing header"; let currentHunk = null; let currentHunkMutationPart = null; function commitHunk() { if (currentHunk) { if (currentHunkMutationPart) { currentHunk.parts.push(currentHunkMutationPart); currentHunkMutationPart = null; } currentFilePatch.hunks.push(currentHunk); currentHunk = null; } } function commitFilePatch() { commitHunk(); result2.push(currentFilePatch); currentFilePatch = emptyFilePatch(); } for (let i = 0; i < lines.length; i++) { const line = lines[i]; if (state === "parsing header") { if (line.startsWith("@@")) { state = "parsing hunks"; currentFilePatch.hunks = []; i--; } else if (line.startsWith("diff --git ")) { if (currentFilePatch && currentFilePatch.diffLineFromPath) { commitFilePatch(); } const match = line.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/); if (!match) { throw new Error("Bad diff line: " + line); } currentFilePatch.diffLineFromPath = match[1]; currentFilePatch.diffLineToPath = match[2]; } else if (line.startsWith("old mode ")) { currentFilePatch.oldMode = line.slice("old mode ".length).trim(); } else if (line.startsWith("new mode ")) { currentFilePatch.newMode = line.slice("new mode ".length).trim(); } else if (line.startsWith("deleted file mode ")) { currentFilePatch.deletedFileMode = line.slice("deleted file mode ".length).trim(); } else if (line.startsWith("new file mode ")) { currentFilePatch.newFileMode = line.slice("new file mode ".length).trim(); } else if (line.startsWith("rename from ")) { currentFilePatch.renameFrom = line.slice("rename from ".length).trim(); } else if (line.startsWith("rename to ")) { currentFilePatch.renameTo = line.slice("rename to ".length).trim(); } else if (line.startsWith("index ")) { const match = line.match(/(\w+)\.\.(\w+)/); if (!match) { continue; } currentFilePatch.beforeHash = match[1]; currentFilePatch.afterHash = match[2]; } else if (line.startsWith("--- ")) { currentFilePatch.fromPath = line.slice("--- a/".length).trim(); } else if (line.startsWith("+++ ")) { currentFilePatch.toPath = line.slice("+++ b/".length).trim(); } } else { if (supportLegacyDiffs && line.startsWith("--- a/")) { state = "parsing header"; commitFilePatch(); i--; continue; } const lineType = hunkLinetypes[line[0]] || null; switch (lineType) { case "header": commitHunk(); currentHunk = emptyHunk(line); break; case null: state = "parsing header"; commitFilePatch(); i--; break; case "pragma": if (!line.startsWith("\\ No newline at end of file")) { throw new Error("Unrecognized pragma in patch file: " + line); } if (!currentHunkMutationPart) { throw new Error("Bad parser state: No newline at EOF pragma encountered without context"); } currentHunkMutationPart.noNewlineAtEndOfFile = true; break; case "insertion": case "deletion": case "context": if (!currentHunk) { throw new Error("Bad parser state: Hunk lines encountered before hunk header"); } if (currentHunkMutationPart && currentHunkMutationPart.type !== lineType) { currentHunk.parts.push(currentHunkMutationPart); currentHunkMutationPart = null; } if (!currentHunkMutationPart) { currentHunkMutationPart = { type: lineType, lines: [], noNewlineAtEndOfFile: false }; } currentHunkMutationPart.lines.push(line.slice(1)); break; default: (0, assertNever_1.assertNever)(lineType); } } } commitFilePatch(); for (const { hunks } of result2) { if (hunks) { for (const hunk of hunks) { verifyHunkIntegrity(hunk); } } } return result2; } function interpretParsedPatchFile(files) { const result2 = []; for (const file of files) { const { diffLineFromPath, diffLineToPath, oldMode, newMode, deletedFileMode, newFileMode, renameFrom, renameTo, beforeHash, afterHash, fromPath, toPath, hunks } = file; const type = renameFrom ? "rename" : deletedFileMode ? "file deletion" : newFileMode ? "file creation" : hunks && hunks.length > 0 ? "patch" : "mode change"; let destinationFilePath = null; switch (type) { case "rename": if (!renameFrom || !renameTo) { throw new Error("Bad parser state: rename from & to not given"); } result2.push({ type: "rename", fromPath: renameFrom, toPath: renameTo }); destinationFilePath = renameTo; break; case "file deletion": { const path2 = diffLineFromPath || fromPath; if (!path2) { throw new Error("Bad parse state: no path given for file deletion"); } result2.push({ type: "file deletion", hunk: hunks && hunks[0] || null, path: path2, mode: parseFileMode(deletedFileMode), hash: beforeHash }); break; } case "file creation": { const path2 = diffLineToPath || toPath; if (!path2) { throw new Error("Bad parse state: no path given for file creation"); } result2.push({ type: "file creation", hunk: hunks && hunks[0] || null, path: path2, mode: parseFileMode(newFileMode), hash: afterHash }); break; } case "patch": case "mode change": destinationFilePath = toPath || diffLineToPath; break; default: (0, assertNever_1.assertNever)(type); } if (destinationFilePath && oldMode && newMode && oldMode !== newMode) { result2.push({ type: "mode change", path: destinationFilePath, oldMode: parseFileMode(oldMode), newMode: parseFileMode(newMode) }); } if (destinationFilePath && hunks && hunks.length) { result2.push({ type: "patch", path: destinationFilePath, hunks, beforeHash, afterHash }); } } return result2; } exports2.interpretParsedPatchFile = interpretParsedPatchFile; function parseFileMode(mode) { const parsedMode = parseInt(mode, 8) & 511; if (parsedMode !== exports2.NON_EXECUTABLE_FILE_MODE && parsedMode !== exports2.EXECUTABLE_FILE_MODE) { throw new Error("Unexpected file mode string: " + mode); } return parsedMode; } function parsePatchFile(file) { const lines = file.split(/\n/g); if (lines[lines.length - 1] === "") { lines.pop(); } try { return interpretParsedPatchFile(parsePatchLines(lines, { supportLegacyDiffs: false })); } catch (e) { if (e instanceof Error && e.message === "hunk header integrity check failed") { return interpretParsedPatchFile(parsePatchLines(lines, { supportLegacyDiffs: true })); } throw e; } } exports2.parsePatchFile = parsePatchFile; function verifyHunkIntegrity(hunk) { let originalLength = 0; let patchedLength = 0; for (const { type, lines } of hunk.parts) { switch (type) { case "context": patchedLength += lines.length; originalLength += lines.length; break; case "deletion": originalLength += lines.length; break; case "insertion": patchedLength += lines.length; break; default: (0, assertNever_1.assertNever)(type); } } if (originalLength !== hunk.header.original.length || patchedLength !== hunk.header.patched.length) { throw new Error("hunk header integrity check failed"); } } exports2.verifyHunkIntegrity = verifyHunkIntegrity; } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/reverse.js var require_reverse2 = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/reverse.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reversePatch = void 0; var parse_1 = require_parse9(); var assertNever_1 = require_assertNever(); function reverseHunk(hunk) { const header = { original: hunk.header.patched, patched: hunk.header.original }; const parts = []; for (const part of hunk.parts) { switch (part.type) { case "context": parts.push(part); break; case "deletion": parts.push({ type: "insertion", lines: part.lines, noNewlineAtEndOfFile: part.noNewlineAtEndOfFile }); break; case "insertion": parts.push({ type: "deletion", lines: part.lines, noNewlineAtEndOfFile: part.noNewlineAtEndOfFile }); break; default: (0, assertNever_1.assertNever)(part.type); } } for (let i = 0; i < parts.length - 1; i++) { if (parts[i].type === "insertion" && parts[i + 1].type === "deletion") { const tmp = parts[i]; parts[i] = parts[i + 1]; parts[i + 1] = tmp; i += 1; } } const result2 = { header, parts }; (0, parse_1.verifyHunkIntegrity)(result2); return result2; } function reversePatchPart(part) { switch (part.type) { case "file creation": return { type: "file deletion", path: part.path, hash: part.hash, hunk: part.hunk && reverseHunk(part.hunk), mode: part.mode }; case "file deletion": return { type: "file creation", path: part.path, hunk: part.hunk && reverseHunk(part.hunk), mode: part.mode, hash: part.hash }; case "rename": return { type: "rename", fromPath: part.toPath, toPath: part.fromPath }; case "patch": return { type: "patch", path: part.path, hunks: part.hunks.map(reverseHunk), beforeHash: part.afterHash, afterHash: part.beforeHash }; case "mode change": return { type: "mode change", path: part.path, newMode: part.oldMode, oldMode: part.newMode }; } } var reversePatch = (patch) => { return patch.map(reversePatchPart).reverse(); }; exports2.reversePatch = reversePatch; } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/read.js var require_read2 = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/read.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readPatch = void 0; var chalk_1 = __importDefault2(require_source()); var fs_extra_1 = require_lib80(); var path_1 = require_path6(); var path_2 = require("path"); var parse_1 = require_parse9(); function readPatch({ patchFilePath, packageDetails, patchDir }) { try { return (0, parse_1.parsePatchFile)((0, fs_extra_1.readFileSync)(patchFilePath).toString()); } catch (e) { if (packageDetails == null || patchDir == null) { throw e; } const fixupSteps = []; const relativePatchFilePath = (0, path_2.normalize)((0, path_1.relative)(process.cwd(), patchFilePath)); const patchBaseDir = relativePatchFilePath.slice(0, relativePatchFilePath.indexOf(patchDir)); if (patchBaseDir) { fixupSteps.push(`cd ${patchBaseDir}`); } fixupSteps.push(`patch -p1 -i ${relativePatchFilePath.slice(relativePatchFilePath.indexOf(patchDir))}`); fixupSteps.push(`npx patch-package ${packageDetails.pathSpecifier}`); if (patchBaseDir) { fixupSteps.push(`cd ${(0, path_1.relative)((0, path_1.resolve)(process.cwd(), patchBaseDir), process.cwd())}`); } console.error(` ${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageDetails.humanReadablePathSpecifier)}`)} This happened because the patch file ${relativePatchFilePath} could not be parsed. If you just upgraded patch-package, you can try running: ${fixupSteps.join("\n ")} Otherwise, try manually creating the patch file again. If the problem persists, please submit a bug report: https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E `); process.exit(1); } return []; } exports2.readPatch = readPatch; } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/packageIsDevDependency.js var require_packageIsDevDependency = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/packageIsDevDependency.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.packageIsDevDependency = void 0; var path_1 = require_path6(); var fs_1 = require("fs"); function packageIsDevDependency({ appPath, packageDetails }) { const packageJsonPath = (0, path_1.join)(appPath, "package.json"); if (!(0, fs_1.existsSync)(packageJsonPath)) { return false; } const { devDependencies } = require(packageJsonPath); return Boolean(devDependencies && devDependencies[packageDetails.packageNames[0]]); } exports2.packageIsDevDependency = packageIsDevDependency; } }); // ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/applyPatches.js var require_applyPatches = __commonJS({ "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/applyPatches.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.applyPatch = exports2.applyPatchesForApp = void 0; var chalk_1 = __importDefault2(require_source()); var patchFs_1 = require_patchFs2(); var apply_1 = require_apply2(); var fs_extra_1 = require_lib80(); var path_1 = require_path6(); var path_2 = require("path"); var PackageDetails_1 = require_PackageDetails(); var reverse_1 = require_reverse2(); var semver_12 = __importDefault2(require_semver2()); var read_1 = require_read2(); var packageIsDevDependency_1 = require_packageIsDevDependency(); var PatchApplicationError = class extends Error { constructor(msg) { super(msg); } }; function findPatchFiles(patchesDirectory) { if (!(0, fs_extra_1.existsSync)(patchesDirectory)) { return []; } return (0, patchFs_1.getPatchFiles)(patchesDirectory); } function getInstalledPackageVersion({ appPath, path: path2, pathSpecifier, isDevOnly, patchFilename }) { const packageDir = (0, path_1.join)(appPath, path2); if (!(0, fs_extra_1.existsSync)(packageDir)) { if (process.env.NODE_ENV === "production" && isDevOnly) { return null; } let err = `${chalk_1.default.red("Error:")} Patch file found for package ${path_2.posix.basename(pathSpecifier)} which is not present at ${(0, path_1.relative)(".", packageDir)}`; if (!isDevOnly && process.env.NODE_ENV === "production") { err += ` If this package is a dev dependency, rename the patch file to ${chalk_1.default.bold(patchFilename.replace(".patch", ".dev.patch"))} `; } throw new PatchApplicationError(err); } const { version: version2 } = require((0, path_1.join)(packageDir, "package.json")); const result2 = semver_12.default.valid(version2); if (result2 === null) { throw new PatchApplicationError(`${chalk_1.default.red("Error:")} Version string '${version2}' cannot be parsed from ${(0, path_1.join)(packageDir, "package.json")}`); } return result2; } function applyPatchesForApp({ appPath, reverse, patchDir, shouldExitWithError, shouldExitWithWarning }) { const patchesDirectory = (0, path_1.join)(appPath, patchDir); const files = findPatchFiles(patchesDirectory); if (files.length === 0) { console.error(chalk_1.default.blueBright("No patch files found")); return; } const errors = []; const warnings = []; for (const filename of files) { try { const packageDetails = (0, PackageDetails_1.getPackageDetailsFromPatchFilename)(filename); if (!packageDetails) { warnings.push(`Unrecognized patch file in patches directory ${filename}`); continue; } const { name, version: version2, path: path2, pathSpecifier, isDevOnly, patchFilename } = packageDetails; const installedPackageVersion = getInstalledPackageVersion({ appPath, path: path2, pathSpecifier, isDevOnly: isDevOnly || // check for direct-dependents in prod process.env.NODE_ENV === "production" && (0, packageIsDevDependency_1.packageIsDevDependency)({ appPath, packageDetails }), patchFilename }); if (!installedPackageVersion) { console.log(`Skipping dev-only ${chalk_1.default.bold(pathSpecifier)}@${version2} ${chalk_1.default.blue("\u2714")}`); continue; } if (applyPatch({ patchFilePath: (0, path_1.resolve)(patchesDirectory, filename), reverse, packageDetails, patchDir })) { if (installedPackageVersion !== version2) { warnings.push(createVersionMismatchWarning({ packageName: name, actualVersion: installedPackageVersion, originalVersion: version2, pathSpecifier, path: path2 })); } console.log(`${chalk_1.default.bold(pathSpecifier)}@${version2} ${chalk_1.default.green("\u2714")}`); } else if (installedPackageVersion === version2) { errors.push(createBrokenPatchFileError({ packageName: name, patchFileName: filename, pathSpecifier, path: path2 })); } else { errors.push(createPatchApplictionFailureError({ packageName: name, actualVersion: installedPackageVersion, originalVersion: version2, patchFileName: filename, path: path2, pathSpecifier })); } } catch (error) { if (error instanceof PatchApplicationError) { errors.push(error.message); } else { errors.push(createUnexpectedError({ filename, error })); } } } for (const warning of warnings) { console.warn(warning); } for (const error of errors) { console.error(error); } const problemsSummary = []; if (warnings.length) { problemsSummary.push(chalk_1.default.yellow(`${warnings.length} warning(s)`)); } if (errors.length) { problemsSummary.push(chalk_1.default.red(`${errors.length} error(s)`)); } if (problemsSummary.length) { console.error("---"); console.error("patch-package finished with", problemsSummary.join(", ") + "."); } if (errors.length && shouldExitWithError) { process.exit(1); } if (warnings.length && shouldExitWithWarning) { process.exit(1); } process.exit(0); } exports2.applyPatchesForApp = applyPatchesForApp; function applyPatch({ patchFilePath, reverse, packageDetails, patchDir }) { const patch = (0, read_1.readPatch)({ patchFilePath, packageDetails, patchDir }); try { (0, apply_1.executeEffects)(reverse ? (0, reverse_1.reversePatch)(patch) : patch, { dryRun: false }); } catch (e) { try { (0, apply_1.executeEffects)(reverse ? patch : (0, reverse_1.reversePatch)(patch), { dryRun: true }); } catch (e2) { return false; } } return true; } exports2.applyPatch = applyPatch; function createVersionMismatchWarning({ packageName, actualVersion, originalVersion, pathSpecifier, path: path2 }) { return ` ${chalk_1.default.yellow("Warning:")} patch-package detected a patch file version mismatch Don't worry! This is probably fine. The patch was still applied successfully. Here's the deets: Patch file created for ${packageName}@${chalk_1.default.bold(originalVersion)} applied to ${packageName}@${chalk_1.default.bold(actualVersion)} At path ${path2} This warning is just to give you a heads-up. There is a small chance of breakage even though the patch was applied successfully. Make sure the package still behaves like you expect (you wrote tests, right?) and then run ${chalk_1.default.bold(`patch-package ${pathSpecifier}`)} to update the version in the patch file name and make this warning go away. `; } function createBrokenPatchFileError({ packageName, patchFileName, path: path2, pathSpecifier }) { return ` ${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageName)} at path`)} ${path2} This error was caused because patch-package cannot apply the following patch file: patches/${patchFileName} Try removing node_modules and trying again. If that doesn't work, maybe there was an accidental change made to the patch file? Try recreating it by manually editing the appropriate files and running: patch-package ${pathSpecifier} If that doesn't work, then it's a bug in patch-package, so please submit a bug report. Thanks! https://github.com/ds300/patch-package/issues `; } function createPatchApplictionFailureError({ packageName, actualVersion, originalVersion, patchFileName, path: path2, pathSpecifier }) { return ` ${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageName)} at path`)} ${path2} This error was caused because ${chalk_1.default.bold(packageName)} has changed since you made the patch file for it. This introduced conflicts with your patch, just like a merge conflict in Git when separate incompatible changes are made to the same piece of code. Maybe this means your patch file is no longer necessary, in which case hooray! Just delete it! Otherwise, you need to generate a new patch file. To generate a new one, just repeat the steps you made to generate the first one. i.e. manually make the appropriate file changes, then run patch-package ${pathSpecifier} Info: Patch file: patches/${patchFileName} Patch was made for version: ${chalk_1.default.green.bold(originalVersion)} Installed version: ${chalk_1.default.red.bold(actualVersion)} `; } function createUnexpectedError({ filename, error }) { return ` ${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch file ${chalk_1.default.bold(filename)}`)} ${error.stack} `; } } }); // ../patching/apply-patch/lib/index.js var require_lib152 = __commonJS({ "../patching/apply-patch/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.applyPatchToDir = applyPatchToDir; var error_1 = require_lib6(); var applyPatches_1 = require_applyPatches(); var logger_1 = require_lib(); function applyPatchToDir(opts) { const cwd = process.cwd(); process.chdir(opts.patchedDir); let success = false; try { success = (0, applyPatches_1.applyPatch)({ patchFilePath: opts.patchFilePath }); } catch (err) { if (err.code === "ENOENT") { throw new error_1.PnpmError("PATCH_NOT_FOUND", `Patch file not found: ${opts.patchFilePath}`); } throw new error_1.PnpmError("INVALID_PATCH", `Applying patch "${opts.patchFilePath}" failed: ${err.message}`); } finally { process.chdir(cwd); } if (!success) { const message = `Could not apply patch ${opts.patchFilePath} to ${opts.patchedDir}`; if (opts.allowFailure) { (0, logger_1.globalWarn)(message); } else { throw new error_1.PnpmError("PATCH_FAILED", message); } } return success; } } }); // ../exec/build-modules/lib/buildSequence.js var require_buildSequence = __commonJS({ "../exec/build-modules/lib/buildSequence.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.buildSequence = buildSequence; var deps_graph_sequencer_1 = require_lib129(); var filter_1 = __importDefault2(require_filter3()); function buildSequence(depGraph, rootDepPaths) { const nodesToBuild = /* @__PURE__ */ new Set(); getSubgraphToBuild(depGraph, rootDepPaths, nodesToBuild, /* @__PURE__ */ new Set()); const onlyFromBuildGraph = (0, filter_1.default)((depPath) => nodesToBuild.has(depPath)); const nodesToBuildArray = Array.from(nodesToBuild); const graph = new Map(nodesToBuildArray.map((depPath) => [depPath, onlyFromBuildGraph(Object.values(depGraph[depPath].children))])); const graphSequencerResult = (0, deps_graph_sequencer_1.graphSequencer)(graph, nodesToBuildArray); const chunks = graphSequencerResult.chunks; return chunks; } function getSubgraphToBuild(graph, entryNodes, nodesToBuild, walked) { let currentShouldBeBuilt = false; for (const depPath of entryNodes) { const node = graph[depPath]; if (!node) continue; if (walked.has(depPath)) continue; walked.add(depPath); const childShouldBeBuilt = getSubgraphToBuild(graph, Object.values(node.children), nodesToBuild, walked) || node.requiresBuild || node.patch != null; if (childShouldBeBuilt) { nodesToBuild.add(depPath); currentShouldBeBuilt = true; } } return currentShouldBeBuilt; } } }); // ../exec/build-modules/lib/index.js var require_lib153 = __commonJS({ "../exec/build-modules/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.buildModules = buildModules; exports2.linkBinsOfDependencies = linkBinsOfDependencies; var assert_1 = __importDefault2(require("assert")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var calc_dep_state_1 = require_lib118(); var config_1 = require_lib23(); var core_loggers_1 = require_lib8(); var dp = __importStar3(require_lib86()); var lifecycle_1 = require_lib71(); var link_bins_1 = require_lib69(); var logger_1 = require_lib(); var worker_1 = require_lib73(); var read_package_json_1 = require_lib61(); var patching_apply_patch_1 = require_lib152(); var p_defer_1 = __importDefault2(require_p_defer2()); var pickBy_1 = __importDefault2(require_pickBy()); var run_groups_1 = __importDefault2(require_lib70()); var buildSequence_js_1 = require_buildSequence(); async function buildModules(depGraph, rootDepPaths, opts) { if (!rootDepPaths.length) return {}; const warn = (message) => { logger_1.logger.warn({ message, prefix: opts.lockfileDir }); }; const buildDepOpts = { ...opts, builtHoistedDeps: opts.hoistedLocations ? {} : void 0, warn }; const chunks = (0, buildSequence_js_1.buildSequence)(depGraph, rootDepPaths); if (!chunks.length) return {}; let ignoredBuilds = /* @__PURE__ */ new Set(); const allowBuild = opts.allowBuild ?? (() => true); const groups = chunks.map((chunk) => { chunk = chunk.filter((depPath) => { const node = depGraph[depPath]; return (node.requiresBuild || node.patch != null) && !node.isBuilt; }); if (opts.depsToBuild != null) { chunk = chunk.filter((depPath) => opts.depsToBuild.has(depPath)); } return chunk.map((depPath) => () => { let ignoreScripts = Boolean(buildDepOpts.ignoreScripts); if (!ignoreScripts) { if (depGraph[depPath].requiresBuild && !allowBuild(depGraph[depPath].name, depGraph[depPath].version)) { ignoredBuilds.add(depGraph[depPath].depPath); ignoreScripts = true; } } return buildDependency(depPath, depGraph, { ...buildDepOpts, ignoreScripts }); }); }); await (0, run_groups_1.default)((0, config_1.getWorkspaceConcurrency)(opts.childConcurrency), groups); if (opts.ignoredBuiltDependencies?.length) { ignoredBuilds = new Set(Array.from(ignoredBuilds).filter((ignoredPkgDepPath) => !opts.ignoredBuiltDependencies.some((ignoredInSettings) => ignoredInSettings === ignoredPkgDepPath || dp.parse(ignoredPkgDepPath).name === ignoredInSettings))); } return { ignoredBuilds }; } async function buildDependency(depPath, depGraph, opts) { const depNode = depGraph[depPath]; if (!depNode.filesIndexFile) return; if (opts.builtHoistedDeps) { if (opts.builtHoistedDeps[depNode.depPath]) { await opts.builtHoistedDeps[depNode.depPath].promise; return; } opts.builtHoistedDeps[depNode.depPath] = (0, p_defer_1.default)(); } try { await linkBinsOfDependencies(depNode, depGraph, opts); let isPatched = false; if (depNode.patch) { const { file, strict } = depNode.patch; const allowFailure = opts.ignorePatchFailures ?? !strict; isPatched = (0, patching_apply_patch_1.applyPatchToDir)({ allowFailure, patchedDir: depNode.dir, patchFilePath: file.path }); } const hasSideEffects = !opts.ignoreScripts && await (0, lifecycle_1.runPostinstallHooks)({ depPath, extraBinPaths: opts.extraBinPaths, extraEnv: opts.extraEnv, initCwd: opts.lockfileDir, optional: depNode.optional, pkgRoot: depNode.dir, rawConfig: opts.rawConfig, rootModulesDir: opts.rootModulesDir, scriptsPrependNodePath: opts.scriptsPrependNodePath, scriptShell: opts.scriptShell, shellEmulator: opts.shellEmulator, unsafePerm: opts.unsafePerm || false }); if ((isPatched || hasSideEffects) && opts.sideEffectsCacheWrite) { try { const sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(depGraph, opts.depsStateCache, depPath, { patchFileHash: depNode.patch?.file.hash, includeDepGraphHash: hasSideEffects }); await opts.storeController.upload(depNode.dir, { sideEffectsCacheKey, filesIndexFile: depNode.filesIndexFile }); } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); if (err && "statusCode" in err && err.statusCode === 403) { logger_1.logger.warn({ message: `The store server disabled upload requests, could not upload ${depNode.dir}`, prefix: opts.lockfileDir }); } else { logger_1.logger.warn({ error: err, message: `An error occurred while uploading ${depNode.dir}`, prefix: opts.lockfileDir }); } } } } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); if (depNode.optional) { const pkg = await (0, read_package_json_1.readPackageJsonFromDir)(path_1.default.join(depNode.dir)); core_loggers_1.skippedOptionalDependencyLogger.debug({ details: err.toString(), package: { id: depNode.dir, name: pkg.name, version: pkg.version }, prefix: opts.lockfileDir, reason: "build_failure" }); return; } throw err; } finally { const hoistedLocationsOfDep = opts.hoistedLocations?.[depNode.depPath]; if (hoistedLocationsOfDep) { const currentHoistedLocation = path_1.default.relative(opts.lockfileDir, depNode.dir); const nonBuiltHoistedDeps = hoistedLocationsOfDep?.filter((hoistedLocation) => hoistedLocation !== currentHoistedLocation); await (0, worker_1.hardLinkDir)(depNode.dir, nonBuiltHoistedDeps); } if (opts.builtHoistedDeps) { opts.builtHoistedDeps[depNode.depPath].resolve(); } } } async function linkBinsOfDependencies(depNode, depGraph, opts) { const childrenToLink = opts.optional ? depNode.children : (0, pickBy_1.default)((child, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children); const binPath = path_1.default.join(depNode.dir, "node_modules/.bin"); const pkgNodes = [ ...Object.entries(childrenToLink).map(([alias, childDepPath]) => ({ alias, dep: depGraph[childDepPath] })).filter(({ alias, dep }) => { if (!dep) { logger_1.logger.debug({ message: `Failed to link bins of "${alias}" to "${binPath}". This is probably not an issue.` }); return false; } return dep.hasBin && dep.installable !== false; }).map(({ dep }) => dep), depNode ]; const pkgs = await Promise.all(pkgNodes.map(async (dep) => ({ location: dep.dir, manifest: (await dep.fetching?.())?.bundledManifest ?? await (0, read_package_json_1.safeReadPackageJsonFromDir)(dep.dir) ?? {} }))); await (0, link_bins_1.linkBinsOfPackages)(pkgs, binPath, { extraNodePaths: opts.extraNodePaths, preferSymlinkedExecutables: opts.preferSymlinkedExecutables }); if (depNode.hasBundledDependencies) { const bundledModules = path_1.default.join(depNode.dir, "node_modules"); await (0, link_bins_1.linkBins)(bundledModules, binPath, { extraNodePaths: opts.extraNodePaths, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, warn: opts.warn }); } } } }); // ../lockfile/filtering/lib/filterImporter.js var require_filterImporter = __commonJS({ "../lockfile/filtering/lib/filterImporter.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.filterImporter = filterImporter; function filterImporter(importer, include) { return { dependencies: !include.dependencies ? {} : importer.dependencies ?? {}, devDependencies: !include.devDependencies ? {} : importer.devDependencies ?? {}, optionalDependencies: !include.optionalDependencies ? {} : importer.optionalDependencies ?? {}, specifiers: importer.specifiers }; } } }); // ../lockfile/filtering/lib/filterLockfileByImporters.js var require_filterLockfileByImporters = __commonJS({ "../lockfile/filtering/lib/filterLockfileByImporters.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.filterLockfileByImporters = filterLockfileByImporters; var constants_1 = require_lib5(); var error_1 = require_lib6(); var lockfile_walker_1 = require_lib126(); var logger_1 = require_lib(); var filterImporter_js_1 = require_filterImporter(); var lockfileLogger = (0, logger_1.logger)("lockfile"); function filterLockfileByImporters(lockfile, importerIds, opts) { const packages = {}; if (lockfile.packages != null) { pkgAllDeps((0, lockfile_walker_1.lockfileWalker)(lockfile, importerIds, { include: opts.include, skipped: opts.skipped }).step, packages, { failOnMissingDependencies: opts.failOnMissingDependencies }); } const importers = { ...lockfile.importers }; for (const importerId of importerIds) { importers[importerId] = (0, filterImporter_js_1.filterImporter)(lockfile.importers[importerId], opts.include); } return { ...lockfile, importers, packages }; } function pkgAllDeps(step, pickedPackages, opts) { for (const { pkgSnapshot, depPath, next } of step.dependencies) { pickedPackages[depPath] = pkgSnapshot; pkgAllDeps(next(), pickedPackages, opts); } for (const depPath of step.missing) { if (opts.failOnMissingDependencies) { throw new error_1.LockfileMissingDependencyError(depPath); } lockfileLogger.debug(`No entry for "${depPath}" in ${constants_1.WANTED_LOCKFILE}`); } } } }); // ../lockfile/filtering/lib/filterLockfile.js var require_filterLockfile = __commonJS({ "../lockfile/filtering/lib/filterLockfile.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.filterLockfile = filterLockfile; var filterLockfileByImporters_js_1 = require_filterLockfileByImporters(); function filterLockfile(lockfile, opts) { return (0, filterLockfileByImporters_js_1.filterLockfileByImporters)(lockfile, Object.keys(lockfile.importers), { ...opts, failOnMissingDependencies: false }); } } }); // ../lockfile/filtering/lib/filterLockfileByImportersAndEngine.js var require_filterLockfileByImportersAndEngine = __commonJS({ "../lockfile/filtering/lib/filterLockfileByImportersAndEngine.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.filterLockfileByEngine = filterLockfileByEngine; exports2.filterLockfileByImportersAndEngine = filterLockfileByImportersAndEngine; var constants_1 = require_lib5(); var error_1 = require_lib6(); var lockfile_utils_1 = require_lib125(); var logger_1 = require_lib(); var package_is_installable_1 = require_lib85(); var dp = __importStar3(require_lib86()); var map_1 = __importDefault2(require_map3()); var pickBy_1 = __importDefault2(require_pickBy()); var unnest_1 = __importDefault2(require_unnest()); var filterImporter_js_1 = require_filterImporter(); var lockfileLogger = (0, logger_1.logger)("lockfile"); function filterLockfileByEngine(lockfile, opts) { const importerIds = Object.keys(lockfile.importers); return filterLockfileByImportersAndEngine(lockfile, importerIds, opts); } function filterLockfileByImportersAndEngine(lockfile, importerIds, opts) { const importerIdSet = new Set(importerIds); const directDepPaths = toImporterDepPaths(lockfile, importerIds, { include: opts.include, importerIdSet }); const packages = lockfile.packages != null ? pickPkgsWithAllDeps(lockfile, directDepPaths, importerIdSet, { currentEngine: opts.currentEngine, engineStrict: opts.engineStrict, failOnMissingDependencies: opts.failOnMissingDependencies, include: opts.include, includeIncompatiblePackages: opts.includeIncompatiblePackages === true, lockfileDir: opts.lockfileDir, skipped: opts.skipped, supportedArchitectures: opts.supportedArchitectures }) : {}; const importers = (0, map_1.default)((importer) => { const newImporter = (0, filterImporter_js_1.filterImporter)(importer, opts.include); if (newImporter.optionalDependencies != null) { newImporter.optionalDependencies = (0, pickBy_1.default)((ref, depName) => { const depPath = dp.refToRelative(ref, depName); return !depPath || packages[depPath] != null; }, newImporter.optionalDependencies); } return newImporter; }, lockfile.importers); return { lockfile: { ...lockfile, importers, packages }, selectedImporterIds: Array.from(importerIdSet) }; } function pickPkgsWithAllDeps(lockfile, depPaths, importerIdSet, opts) { const pickedPackages = {}; pkgAllDeps({ lockfile, pickedPackages, importerIdSet }, depPaths, true, opts); return pickedPackages; } function pkgAllDeps(ctx, depPaths, parentIsInstallable, opts) { for (const depPath of depPaths) { if (ctx.pickedPackages[depPath]) continue; const pkgSnapshot = ctx.lockfile.packages[depPath]; if (!pkgSnapshot && !depPath.startsWith("link:")) { if (opts.failOnMissingDependencies) { throw new error_1.LockfileMissingDependencyError(depPath); } lockfileLogger.debug(`No entry for "${depPath}" in ${constants_1.WANTED_LOCKFILE}`); continue; } let installable; if (!parentIsInstallable) { installable = false; if (!ctx.pickedPackages[depPath] && pkgSnapshot.optional === true) { opts.skipped.add(depPath); } } else { const pkg = { ...(0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot), cpu: pkgSnapshot.cpu, engines: pkgSnapshot.engines, os: pkgSnapshot.os, libc: pkgSnapshot.libc }; installable = opts.includeIncompatiblePackages || (0, package_is_installable_1.packageIsInstallable)(pkgSnapshot.id ?? depPath, pkg, { engineStrict: opts.engineStrict, lockfileDir: opts.lockfileDir, nodeVersion: opts.currentEngine.nodeVersion, optional: pkgSnapshot.optional === true, supportedArchitectures: opts.supportedArchitectures }) !== false; if (!installable) { if (!ctx.pickedPackages[depPath] && pkgSnapshot.optional === true) { opts.skipped.add(depPath); } } else { opts.skipped.delete(depPath); } } ctx.pickedPackages[depPath] = pkgSnapshot; const { depPaths: nextRelDepPaths, importerIds: additionalImporterIds } = parseDepRefs(Object.entries({ ...pkgSnapshot.dependencies, ...opts.include.optionalDependencies ? pkgSnapshot.optionalDependencies : {} }), ctx.lockfile); additionalImporterIds.forEach((importerId) => ctx.importerIdSet.add(importerId)); nextRelDepPaths.push(...toImporterDepPaths(ctx.lockfile, additionalImporterIds, { include: opts.include, importerIdSet: ctx.importerIdSet })); pkgAllDeps(ctx, nextRelDepPaths, installable, opts); } } function toImporterDepPaths(lockfile, importerIds, opts) { const importerDeps = importerIds.map((importerId) => lockfile.importers[importerId]).map((importer) => ({ ...opts.include.dependencies ? importer.dependencies : {}, ...opts.include.devDependencies ? importer.devDependencies : {}, ...opts.include.optionalDependencies ? importer.optionalDependencies : {} })).map(Object.entries); let { depPaths, importerIds: nextImporterIds } = parseDepRefs((0, unnest_1.default)(importerDeps), lockfile); if (!nextImporterIds.length) { return depPaths; } nextImporterIds = nextImporterIds.filter((importerId) => !opts.importerIdSet.has(importerId)); for (const importerId of nextImporterIds) { opts.importerIdSet.add(importerId); } return [ ...depPaths, ...toImporterDepPaths(lockfile, nextImporterIds, opts) ]; } function parseDepRefs(refsByPkgNames, lockfile) { const acc = { depPaths: [], importerIds: [] }; for (const [pkgName, ref] of refsByPkgNames) { if (ref.startsWith("link:")) { const importerId = ref.substring(5); if (lockfile.importers[importerId]) { acc.importerIds.push(importerId); } continue; } const depPath = dp.refToRelative(ref, pkgName); if (depPath == null) continue; acc.depPaths.push(depPath); } return acc; } } }); // ../lockfile/filtering/lib/index.js var require_lib154 = __commonJS({ "../lockfile/filtering/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.filterLockfileByEngine = exports2.filterLockfileByImportersAndEngine = exports2.filterLockfileByImporters = exports2.filterLockfile = void 0; var filterLockfile_js_1 = require_filterLockfile(); Object.defineProperty(exports2, "filterLockfile", { enumerable: true, get: function() { return filterLockfile_js_1.filterLockfile; } }); var filterLockfileByImporters_js_1 = require_filterLockfileByImporters(); Object.defineProperty(exports2, "filterLockfileByImporters", { enumerable: true, get: function() { return filterLockfileByImporters_js_1.filterLockfileByImporters; } }); var filterLockfileByImportersAndEngine_js_1 = require_filterLockfileByImportersAndEngine(); Object.defineProperty(exports2, "filterLockfileByImportersAndEngine", { enumerable: true, get: function() { return filterLockfileByImportersAndEngine_js_1.filterLockfileByImportersAndEngine; } }); Object.defineProperty(exports2, "filterLockfileByEngine", { enumerable: true, get: function() { return filterLockfileByImportersAndEngine_js_1.filterLockfileByEngine; } }); } }); // ../node_modules/.pnpm/resolve-link-target@2.0.0/node_modules/resolve-link-target/index.js var require_resolve_link_target = __commonJS({ "../node_modules/.pnpm/resolve-link-target@2.0.0/node_modules/resolve-link-target/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var path2 = require("path"); module2.exports = getLinkTarget; module2.exports.sync = getLinkTargetSync; async function getLinkTarget(linkPath) { linkPath = path2.resolve(linkPath); const target = await fs.promises.readlink(linkPath); return _resolveLink(linkPath, target); } function getLinkTargetSync(linkPath) { linkPath = path2.resolve(linkPath); const target = fs.readlinkSync(linkPath); return _resolveLink(linkPath, target); } function _resolveLink(dest, target) { if (path2.isAbsolute(target)) { return path2.resolve(target); } return path2.join(path2.dirname(dest), target); } } }); // ../pkg-manager/hoist/lib/index.js var require_lib155 = __commonJS({ "../pkg-manager/hoist/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.hoist = hoist; exports2.getHoistedDependencies = getHoistedDependencies; exports2.graphWalker = graphWalker; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var core_loggers_1 = require_lib8(); var constants_1 = require_lib5(); var link_bins_1 = require_lib69(); var logger_1 = require_lib(); var matcher_1 = require_lib19(); var util_lex_comparator_1 = require_dist4(); var is_subdir_1 = __importDefault2(require_is_subdir()); var resolve_link_target_1 = __importDefault2(require_resolve_link_target()); var symlink_dir_1 = __importDefault2(require_dist18()); var hoistLogger = (0, logger_1.logger)("hoist"); async function hoist(opts) { const result2 = getHoistedDependencies(opts); if (!result2) return null; const { hoistedDependencies, hoistedAliasesWithBins, hoistedDependenciesByNodeId } = result2; await symlinkHoistedDependencies(hoistedDependenciesByNodeId, { graph: opts.graph, directDepsByImporterId: opts.directDepsByImporterId, privateHoistedModulesDir: opts.privateHoistedModulesDir, publicHoistedModulesDir: opts.publicHoistedModulesDir, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, hoistedWorkspacePackages: opts.hoistedWorkspacePackages }); await linkAllBins(opts.privateHoistedModulesDir, { extraNodePaths: opts.extraNodePath, hoistedAliasesWithBins, preferSymlinkedExecutables: opts.preferSymlinkedExecutables }); return hoistedDependencies; } function getHoistedDependencies(opts) { if (Object.keys(opts.graph ?? {}).length === 0) return null; const { directDeps, step } = graphWalker(opts.graph, opts.directDepsByImporterId); const hoistedWorkspaceDeps = Object.fromEntries(Object.entries(opts.hoistedWorkspacePackages ?? {}).map(([id, { name }]) => [name, id])); const deps = [ { children: { ...hoistedWorkspaceDeps, ...directDeps.reduce((acc, { alias, nodeId }) => { if (!acc[alias]) { acc[alias] = nodeId; } return acc; }, {}) }, nodeId: "", depth: -1 }, ...getDependencies(0, step) ]; const getAliasHoistType = createGetAliasHoistType(opts.publicHoistPattern, opts.privateHoistPattern); return hoistGraph(deps, opts.directDepsByImporterId["."] ?? /* @__PURE__ */ new Map(), { getAliasHoistType, graph: opts.graph, skipped: opts.skipped }); } function createGetAliasHoistType(publicHoistPattern, privateHoistPattern) { const publicMatcher = (0, matcher_1.createMatcher)(publicHoistPattern); const privateMatcher = (0, matcher_1.createMatcher)(privateHoistPattern); return (alias) => { if (publicMatcher(alias)) return "public"; if (privateMatcher(alias)) return "private"; return false; }; } async function linkAllBins(modulesDir, opts) { const bin = path_1.default.join(modulesDir, ".bin"); const warn = (message, code) => { if (code === "BINARIES_CONFLICT") return; logger_1.logger.info({ message, prefix: path_1.default.join(modulesDir, "../..") }); }; try { await (0, link_bins_1.linkBinsOfPkgsByAliases)(opts.hoistedAliasesWithBins, bin, { allowExoticManifests: true, extraNodePaths: opts.extraNodePaths, modulesDir, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, warn }); } catch (err) { } } function getDependencies(depth, step) { const deps = []; const nextSteps = []; for (const { node, nodeId, next } of step.dependencies) { deps.push({ children: node.children, nodeId, depth }); nextSteps.push(next()); } for (const depPath of step.missing) { logger_1.logger.debug({ message: `No entry for "${depPath}" in ${constants_1.WANTED_LOCKFILE}` }); } return [ ...deps, ...nextSteps.flatMap(getDependencies.bind(null, depth + 1)) ]; } function hoistGraph(depNodes, currentSpecifiers, opts) { const hoistedAliases = new Set(currentSpecifiers.keys()); const hoistedDependencies = /* @__PURE__ */ Object.create(null); const hoistedDependenciesByNodeId = /* @__PURE__ */ new Map(); const hoistedAliasesWithBins = /* @__PURE__ */ new Set(); depNodes.sort((a, b) => { const depthDiff = a.depth - b.depth; return depthDiff === 0 ? (0, util_lex_comparator_1.lexCompare)(a.nodeId, b.nodeId) : depthDiff; }).forEach((depNode) => { for (const [childAlias, childNodeId] of Object.entries(depNode.children)) { const hoist2 = opts.getAliasHoistType(childAlias); if (!hoist2) continue; const childAliasNormalized = childAlias.toLowerCase(); if (hoistedAliases.has(childAliasNormalized)) { continue; } if (!hoistedDependenciesByNodeId.has(childNodeId)) { hoistedDependenciesByNodeId.set(childNodeId, {}); } hoistedDependenciesByNodeId.get(childNodeId)[childAlias] = hoist2; const node = opts.graph[childNodeId]; if (node?.depPath == null || opts.skipped.has(node.depPath)) { continue; } if (node.hasBin) { hoistedAliasesWithBins.add(childAlias); } hoistedAliases.add(childAliasNormalized); if (!hoistedDependencies[node.depPath]) { hoistedDependencies[node.depPath] = {}; } hoistedDependencies[node.depPath][childAlias] = hoist2; } }); return { hoistedDependencies, hoistedDependenciesByNodeId, hoistedAliasesWithBins: Array.from(hoistedAliasesWithBins) }; } async function symlinkHoistedDependencies(hoistedDependenciesByNodeId, opts) { const symlink = symlinkHoistedDependency.bind(null, opts); const promises = []; for (const [hoistedDepNodeId, pkgAliases] of hoistedDependenciesByNodeId.entries()) { promises.push((async () => { const node = opts.graph[hoistedDepNodeId]; let depLocation; if (node) { depLocation = node.dir; } else { if (!opts.directDepsByImporterId[hoistedDepNodeId]) { hoistLogger.debug({ hoistFailedFor: hoistedDepNodeId }); return; } depLocation = opts.hoistedWorkspacePackages[hoistedDepNodeId].dir; } await Promise.all(Object.entries(pkgAliases).map(async ([pkgAlias, hoistType]) => { const targetDir = hoistType === "public" ? opts.publicHoistedModulesDir : opts.privateHoistedModulesDir; const dest = path_1.default.join(targetDir, pkgAlias); return symlink(depLocation, dest); })); })()); } await Promise.all(promises); } async function symlinkHoistedDependency(opts, depLocation, dest) { try { await (0, symlink_dir_1.default)(depLocation, dest, { overwrite: false }); core_loggers_1.linkLogger.debug({ target: dest, link: depLocation }); return; } catch (err) { if (err.code !== "EEXIST" && err.code !== "EISDIR") throw err; } let existingSymlink; try { existingSymlink = await (0, resolve_link_target_1.default)(dest); } catch { hoistLogger.debug({ skipped: dest, reason: "a directory is present at the target location" }); return; } if (!(0, is_subdir_1.default)(opts.virtualStoreDir, existingSymlink)) { hoistLogger.debug({ skipped: dest, existingSymlink, reason: "an external symlink is present at the target location" }); return; } await fs_1.default.promises.unlink(dest); await (0, symlink_dir_1.default)(depLocation, dest); core_loggers_1.linkLogger.debug({ target: dest, link: depLocation }); } function graphWalker(graph, directDepsByImporterId, opts) { const startNodeIds = []; const allDirectDeps = []; for (const directDeps of Object.values(directDepsByImporterId)) { for (const [alias, nodeId] of directDeps.entries()) { const depNode = graph[nodeId]; if (depNode == null) continue; startNodeIds.push(nodeId); allDirectDeps.push({ alias, nodeId }); } } const visited = /* @__PURE__ */ new Set(); return { directDeps: allDirectDeps, step: makeStep({ includeOptionalDependencies: opts?.include?.optionalDependencies !== false, graph, visited, skipped: opts?.skipped }, startNodeIds) }; } function makeStep(ctx, nextNodeIds) { const result2 = { dependencies: [], links: [], missing: [] }; const _next = collectChildNodeIds.bind(null, { includeOptionalDependencies: ctx.includeOptionalDependencies }); for (const nodeId of nextNodeIds) { if (ctx.visited.has(nodeId)) continue; ctx.visited.add(nodeId); const node = ctx.graph[nodeId]; if (node == null) { if (nodeId.startsWith("link:")) { result2.links.push(nodeId); continue; } result2.missing.push(nodeId); continue; } if (ctx.skipped?.has(node.depPath)) continue; result2.dependencies.push({ nodeId, next: () => makeStep(ctx, _next(node)), node }); } return result2; } function collectChildNodeIds(opts, nextPkg) { if (opts.includeOptionalDependencies) { return Object.values(nextPkg.children); } else { const nextNodeIds = []; for (const [alias, nodeId] of Object.entries(nextPkg.children)) { if (!nextPkg.optionalDependencies.has(alias)) { nextNodeIds.push(nodeId); } } return nextNodeIds; } } } }); // ../node_modules/.pnpm/@yarnpkg+pnp@4.0.8/node_modules/@yarnpkg/pnp/lib/index.js var require_lib156 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+pnp@4.0.8/node_modules/@yarnpkg/pnp/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var require$$0 = require("zlib"); var path2 = require("path"); var module$1 = require("module"); var url = require("url"); var nodeUtils = require("util"); var assert = require("assert"); var fs = require("fs"); var crypto5 = require("crypto"); var os = require("os"); var _interopDefaultLegacy = (e) => e && typeof e === "object" && "default" in e ? e : { default: e }; var require$$0__default = /* @__PURE__ */ _interopDefaultLegacy(require$$0); var path__default = /* @__PURE__ */ _interopDefaultLegacy(path2); var assert__default = /* @__PURE__ */ _interopDefaultLegacy(assert); var fs__default = /* @__PURE__ */ _interopDefaultLegacy(fs); var LinkType = /* @__PURE__ */ ((LinkType2) => { LinkType2["HARD"] = `HARD`; LinkType2["SOFT"] = `SOFT`; return LinkType2; })(LinkType || {}); var SAFE_TIME = 456789e3; var PortablePath = { root: `/`, dot: `.`, parent: `..` }; var Filename = { home: `~`, nodeModules: `node_modules`, manifest: `package.json`, lockfile: `yarn.lock`, virtual: `__virtual__`, /** * @deprecated */ pnpJs: `.pnp.js`, pnpCjs: `.pnp.cjs`, pnpData: `.pnp.data.json`, pnpEsmLoader: `.pnp.loader.mjs`, rc: `.yarnrc.yml`, env: `.env` }; var npath = Object.create(path__default.default); var ppath = Object.create(path__default.default.posix); npath.cwd = () => process.cwd(); ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; if (process.platform === `win32`) { ppath.resolve = (...segments) => { if (segments.length > 0 && ppath.isAbsolute(segments[0])) { return path__default.default.posix.resolve(...segments); } else { return path__default.default.posix.resolve(ppath.cwd(), ...segments); } }; } var contains = function(pathUtils, from, to) { from = pathUtils.normalize(from); to = pathUtils.normalize(to); if (from === to) return `.`; if (!from.endsWith(pathUtils.sep)) from = from + pathUtils.sep; if (to.startsWith(from)) { return to.slice(from.length); } else { return null; } }; npath.contains = (from, to) => contains(npath, from, to); ppath.contains = (from, to) => contains(ppath, from, to); var WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; var UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; var PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; var UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; function fromPortablePathWin32(p) { let portablePathMatch, uncPortablePathMatch; if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) p = portablePathMatch[1]; else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; else return p; return p.replace(/\//g, `\\`); } function toPortablePathWin32(p) { p = p.replace(/\\/g, `/`); let windowsPathMatch, uncWindowsPathMatch; if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) p = `/${windowsPathMatch[1]}`; else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; return p; } var toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; var fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; npath.fromPortablePath = fromPortablePath; npath.toPortablePath = toPortablePath; function convertPath(targetPathUtils, sourcePath) { return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); } var defaultTime = new Date(SAFE_TIME * 1e3); var defaultTimeMs = defaultTime.getTime(); async function copyPromise(destinationFs, destination, sourceFs, source, opts) { const normalizedDestination = destinationFs.pathUtils.normalize(destination); const normalizedSource = sourceFs.pathUtils.normalize(source); const prelayout = []; const postlayout = []; const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); for (const operation of prelayout) await operation(); await Promise.all(postlayout.map((operation) => { return operation(); })); } async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; const sourceStat = await sourceFs.lstatPromise(source); const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; let updated; switch (true) { case sourceStat.isDirectory(): { updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } break; case sourceStat.isFile(): { updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } break; case sourceStat.isSymbolicLink(): { updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } break; default: { throw new Error(`Unsupported file type (${sourceStat.mode})`); } } if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); updated = true; } if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); updated = true; } } return updated; } async function maybeLStat(baseFs, p) { try { return await baseFs.lstatPromise(p); } catch (e) { return null; } } async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { if (destinationStat !== null && !destinationStat.isDirectory()) { if (opts.overwrite) { prelayout.push(async () => destinationFs.removePromise(destination)); destinationStat = null; } else { return false; } } let updated = false; if (destinationStat === null) { prelayout.push(async () => { try { await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); } catch (err) { if (err.code !== `EEXIST`) { throw err; } } }); updated = true; } const entries = await sourceFs.readdirPromise(source); const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; if (opts.stableSort) { for (const entry of entries.sort()) { if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { updated = true; } } } else { const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); })); if (entriesUpdateStatus.some((status) => status)) { updated = true; } } return updated; } async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); const defaultMode = 420; const sourceMode = sourceStat.mode & 511; const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); let AtomicBehavior; ((AtomicBehavior2) => { AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; })(AtomicBehavior || (AtomicBehavior = {})); let atomicBehavior = 1; let indexStat = await maybeLStat(destinationFs, indexPath); if (destinationStat) { const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; if (isDestinationHardlinkedFromIndex) { if (isIndexModified && linkStrategy.autoRepair) { atomicBehavior = 0; indexStat = null; } } if (!isDestinationHardlinkedFromIndex) { if (opts.overwrite) { prelayout.push(async () => destinationFs.removePromise(destination)); destinationStat = null; } else { return false; } } } const tempPath = !indexStat && atomicBehavior === 1 ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; let tempPathCleaned = false; prelayout.push(async () => { if (!indexStat) { if (atomicBehavior === 0) { await destinationFs.lockPromise(indexPath, async () => { const content = await sourceFs.readFilePromise(source); await destinationFs.writeFilePromise(indexPath, content); }); } if (atomicBehavior === 1 && tempPath) { const content = await sourceFs.readFilePromise(source); await destinationFs.writeFilePromise(tempPath, content); try { await destinationFs.linkPromise(tempPath, indexPath); } catch (err) { if (err.code === `EEXIST`) { tempPathCleaned = true; await destinationFs.unlinkPromise(tempPath); } else { throw err; } } } } if (!destinationStat) { await destinationFs.linkPromise(indexPath, destination); } }); postlayout.push(async () => { if (!indexStat) { await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); if (sourceMode !== defaultMode) { await destinationFs.chmodPromise(indexPath, sourceMode); } } if (tempPath && !tempPathCleaned) { await destinationFs.unlinkPromise(tempPath); } }); return false; } async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { if (destinationStat !== null) { if (opts.overwrite) { prelayout.push(async () => destinationFs.removePromise(destination)); destinationStat = null; } else { return false; } } prelayout.push(async () => { const content = await sourceFs.readFilePromise(source); await destinationFs.writeFilePromise(destination, content); }); return true; } async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { if (opts.linkStrategy?.type === `HardlinkFromIndex`) { return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); } else { return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } } async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { if (destinationStat !== null) { if (opts.overwrite) { prelayout.push(async () => destinationFs.removePromise(destination)); destinationStat = null; } else { return false; } } prelayout.push(async () => { await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); }); return true; } var FakeFS = class { pathUtils; constructor(pathUtils) { this.pathUtils = pathUtils; } async *genTraversePromise(init, { stableSort = false } = {}) { const stack = [init]; while (stack.length > 0) { const p = stack.shift(); const entry = await this.lstatPromise(p); if (entry.isDirectory()) { const entries = await this.readdirPromise(p); if (stableSort) { for (const entry2 of entries.sort()) { stack.push(this.pathUtils.join(p, entry2)); } } else { throw new Error(`Not supported`); } } else { yield p; } } } async checksumFilePromise(path3, { algorithm = `sha512` } = {}) { const fd = await this.openPromise(path3, `r`); try { const CHUNK_SIZE = 65536; const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); const hash = crypto5.createHash(algorithm); let bytesRead = 0; while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); return hash.digest(`hex`); } finally { await this.closePromise(fd); } } async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { let stat; try { stat = await this.lstatPromise(p); } catch (error) { if (error.code === `ENOENT`) { return; } else { throw error; } } if (stat.isDirectory()) { if (recursive) { const entries = await this.readdirPromise(p); await Promise.all(entries.map((entry) => { return this.removePromise(this.pathUtils.resolve(p, entry)); })); } for (let t = 0; t <= maxRetries; t++) { try { await this.rmdirPromise(p); break; } catch (error) { if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { throw error; } else if (t < maxRetries) { await new Promise((resolve) => setTimeout(resolve, t * 100)); } } } } else { await this.unlinkPromise(p); } } removeSync(p, { recursive = true } = {}) { let stat; try { stat = this.lstatSync(p); } catch (error) { if (error.code === `ENOENT`) { return; } else { throw error; } } if (stat.isDirectory()) { if (recursive) for (const entry of this.readdirSync(p)) this.removeSync(this.pathUtils.resolve(p, entry)); this.rmdirSync(p); } else { this.unlinkSync(p); } } async mkdirpPromise(p, { chmod, utimes } = {}) { p = this.resolve(p); if (p === this.pathUtils.dirname(p)) return void 0; const parts = p.split(this.pathUtils.sep); let createdDirectory; for (let u = 2; u <= parts.length; ++u) { const subPath = parts.slice(0, u).join(this.pathUtils.sep); if (!this.existsSync(subPath)) { try { await this.mkdirPromise(subPath); } catch (error) { if (error.code === `EEXIST`) { continue; } else { throw error; } } createdDirectory ??= subPath; if (chmod != null) await this.chmodPromise(subPath, chmod); if (utimes != null) { await this.utimesPromise(subPath, utimes[0], utimes[1]); } else { const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); } } } return createdDirectory; } mkdirpSync(p, { chmod, utimes } = {}) { p = this.resolve(p); if (p === this.pathUtils.dirname(p)) return void 0; const parts = p.split(this.pathUtils.sep); let createdDirectory; for (let u = 2; u <= parts.length; ++u) { const subPath = parts.slice(0, u).join(this.pathUtils.sep); if (!this.existsSync(subPath)) { try { this.mkdirSync(subPath); } catch (error) { if (error.code === `EEXIST`) { continue; } else { throw error; } } createdDirectory ??= subPath; if (chmod != null) this.chmodSync(subPath, chmod); if (utimes != null) { this.utimesSync(subPath, utimes[0], utimes[1]); } else { const parentStat = this.statSync(this.pathUtils.dirname(subPath)); this.utimesSync(subPath, parentStat.atime, parentStat.mtime); } } } return createdDirectory; } async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); } copySync(destination, source, { baseFs = this, overwrite = true } = {}) { const stat = baseFs.lstatSync(source); const exists = this.existsSync(destination); if (stat.isDirectory()) { this.mkdirpSync(destination); const directoryListing = baseFs.readdirSync(source); for (const entry of directoryListing) { this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); } } else if (stat.isFile()) { if (!exists || overwrite) { if (exists) this.removeSync(destination); const content = baseFs.readFileSync(source); this.writeFileSync(destination, content); } } else if (stat.isSymbolicLink()) { if (!exists || overwrite) { if (exists) this.removeSync(destination); const target = baseFs.readlinkSync(source); this.symlinkSync(convertPath(this.pathUtils, target), destination); } } else { throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); } const mode = stat.mode & 511; this.chmodSync(destination, mode); } async changeFilePromise(p, content, opts = {}) { if (Buffer.isBuffer(content)) { return this.changeFileBufferPromise(p, content, opts); } else { return this.changeFileTextPromise(p, content, opts); } } async changeFileBufferPromise(p, content, { mode } = {}) { let current = Buffer.alloc(0); try { current = await this.readFilePromise(p); } catch (error) { } if (Buffer.compare(current, content) === 0) return; await this.writeFilePromise(p, content, { mode }); } async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { let current = ``; try { current = await this.readFilePromise(p, `utf8`); } catch (error) { } const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; if (current === normalizedContent) return; await this.writeFilePromise(p, normalizedContent, { mode }); } changeFileSync(p, content, opts = {}) { if (Buffer.isBuffer(content)) { return this.changeFileBufferSync(p, content, opts); } else { return this.changeFileTextSync(p, content, opts); } } changeFileBufferSync(p, content, { mode } = {}) { let current = Buffer.alloc(0); try { current = this.readFileSync(p); } catch (error) { } if (Buffer.compare(current, content) === 0) return; this.writeFileSync(p, content, { mode }); } changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { let current = ``; try { current = this.readFileSync(p, `utf8`); } catch (error) { } const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; if (current === normalizedContent) return; this.writeFileSync(p, normalizedContent, { mode }); } async movePromise(fromP, toP) { try { await this.renamePromise(fromP, toP); } catch (error) { if (error.code === `EXDEV`) { await this.copyPromise(toP, fromP); await this.removePromise(fromP); } else { throw error; } } } moveSync(fromP, toP) { try { this.renameSync(fromP, toP); } catch (error) { if (error.code === `EXDEV`) { this.copySync(toP, fromP); this.removeSync(fromP); } else { throw error; } } } async lockPromise(affectedPath, callback) { const lockPath = `${affectedPath}.flock`; const interval = 1e3 / 60; const startTime = Date.now(); let fd = null; const isAlive = async () => { let pid; try { [pid] = await this.readJsonPromise(lockPath); } catch (error) { return Date.now() - startTime < 500; } try { process.kill(pid, 0); return true; } catch (error) { return false; } }; while (fd === null) { try { fd = await this.openPromise(lockPath, `wx`); } catch (error) { if (error.code === `EEXIST`) { if (!await isAlive()) { try { await this.unlinkPromise(lockPath); continue; } catch (error2) { } } if (Date.now() - startTime < 60 * 1e3) { await new Promise((resolve) => setTimeout(resolve, interval)); } else { throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); } } else { throw error; } } } await this.writePromise(fd, JSON.stringify([process.pid])); try { return await callback(); } finally { try { await this.closePromise(fd); await this.unlinkPromise(lockPath); } catch (error) { } } } async readJsonPromise(p) { const content = await this.readFilePromise(p, `utf8`); try { return JSON.parse(content); } catch (error) { error.message += ` (in ${p})`; throw error; } } readJsonSync(p) { const content = this.readFileSync(p, `utf8`); try { return JSON.parse(content); } catch (error) { error.message += ` (in ${p})`; throw error; } } async writeJsonPromise(p, data, { compact = false } = {}) { const space = compact ? 0 : 2; return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} `); } writeJsonSync(p, data, { compact = false } = {}) { const space = compact ? 0 : 2; return this.writeFileSync(p, `${JSON.stringify(data, null, space)} `); } async preserveTimePromise(p, cb) { const stat = await this.lstatPromise(p); const result2 = await cb(); if (typeof result2 !== `undefined`) p = result2; await this.lutimesPromise(p, stat.atime, stat.mtime); } async preserveTimeSync(p, cb) { const stat = this.lstatSync(p); const result2 = cb(); if (typeof result2 !== `undefined`) p = result2; this.lutimesSync(p, stat.atime, stat.mtime); } }; var BasePortableFakeFS = class extends FakeFS { constructor() { super(ppath); } }; function getEndOfLine(content) { const matches = content.match(/\r?\n/g); if (matches === null) return os.EOL; const crlf = matches.filter((nl) => nl === `\r `).length; const lf = matches.length - crlf; return crlf > lf ? `\r ` : ` `; } function normalizeLineEndings(originalContent, newContent) { return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); } var ProxiedFS = class extends FakeFS { getExtractHint(hints) { return this.baseFs.getExtractHint(hints); } resolve(path3) { return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path3))); } getRealPath() { return this.mapFromBase(this.baseFs.getRealPath()); } async openPromise(p, flags, mode) { return this.baseFs.openPromise(this.mapToBase(p), flags, mode); } openSync(p, flags, mode) { return this.baseFs.openSync(this.mapToBase(p), flags, mode); } async opendirPromise(p, opts) { return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); } opendirSync(p, opts) { return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); } async readPromise(fd, buffer, offset, length, position) { return await this.baseFs.readPromise(fd, buffer, offset, length, position); } readSync(fd, buffer, offset, length, position) { return this.baseFs.readSync(fd, buffer, offset, length, position); } async writePromise(fd, buffer, offset, length, position) { if (typeof buffer === `string`) { return await this.baseFs.writePromise(fd, buffer, offset); } else { return await this.baseFs.writePromise(fd, buffer, offset, length, position); } } writeSync(fd, buffer, offset, length, position) { if (typeof buffer === `string`) { return this.baseFs.writeSync(fd, buffer, offset); } else { return this.baseFs.writeSync(fd, buffer, offset, length, position); } } async closePromise(fd) { return this.baseFs.closePromise(fd); } closeSync(fd) { this.baseFs.closeSync(fd); } createReadStream(p, opts) { return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); } createWriteStream(p, opts) { return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); } async realpathPromise(p) { return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); } realpathSync(p) { return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); } async existsPromise(p) { return this.baseFs.existsPromise(this.mapToBase(p)); } existsSync(p) { return this.baseFs.existsSync(this.mapToBase(p)); } accessSync(p, mode) { return this.baseFs.accessSync(this.mapToBase(p), mode); } async accessPromise(p, mode) { return this.baseFs.accessPromise(this.mapToBase(p), mode); } async statPromise(p, opts) { return this.baseFs.statPromise(this.mapToBase(p), opts); } statSync(p, opts) { return this.baseFs.statSync(this.mapToBase(p), opts); } async fstatPromise(fd, opts) { return this.baseFs.fstatPromise(fd, opts); } fstatSync(fd, opts) { return this.baseFs.fstatSync(fd, opts); } lstatPromise(p, opts) { return this.baseFs.lstatPromise(this.mapToBase(p), opts); } lstatSync(p, opts) { return this.baseFs.lstatSync(this.mapToBase(p), opts); } async fchmodPromise(fd, mask) { return this.baseFs.fchmodPromise(fd, mask); } fchmodSync(fd, mask) { return this.baseFs.fchmodSync(fd, mask); } async chmodPromise(p, mask) { return this.baseFs.chmodPromise(this.mapToBase(p), mask); } chmodSync(p, mask) { return this.baseFs.chmodSync(this.mapToBase(p), mask); } async fchownPromise(fd, uid, gid) { return this.baseFs.fchownPromise(fd, uid, gid); } fchownSync(fd, uid, gid) { return this.baseFs.fchownSync(fd, uid, gid); } async chownPromise(p, uid, gid) { return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); } chownSync(p, uid, gid) { return this.baseFs.chownSync(this.mapToBase(p), uid, gid); } async renamePromise(oldP, newP) { return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); } renameSync(oldP, newP) { return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); } async copyFilePromise(sourceP, destP, flags = 0) { return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); } copyFileSync(sourceP, destP, flags = 0) { return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); } async appendFilePromise(p, content, opts) { return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); } appendFileSync(p, content, opts) { return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); } async writeFilePromise(p, content, opts) { return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); } writeFileSync(p, content, opts) { return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); } async unlinkPromise(p) { return this.baseFs.unlinkPromise(this.mapToBase(p)); } unlinkSync(p) { return this.baseFs.unlinkSync(this.mapToBase(p)); } async utimesPromise(p, atime, mtime) { return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); } utimesSync(p, atime, mtime) { return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); } async lutimesPromise(p, atime, mtime) { return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); } lutimesSync(p, atime, mtime) { return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); } async mkdirPromise(p, opts) { return this.baseFs.mkdirPromise(this.mapToBase(p), opts); } mkdirSync(p, opts) { return this.baseFs.mkdirSync(this.mapToBase(p), opts); } async rmdirPromise(p, opts) { return this.baseFs.rmdirPromise(this.mapToBase(p), opts); } rmdirSync(p, opts) { return this.baseFs.rmdirSync(this.mapToBase(p), opts); } async rmPromise(p, opts) { return this.baseFs.rmPromise(this.mapToBase(p), opts); } rmSync(p, opts) { return this.baseFs.rmSync(this.mapToBase(p), opts); } async linkPromise(existingP, newP) { return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); } linkSync(existingP, newP) { return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); } async symlinkPromise(target, p, type) { const mappedP = this.mapToBase(p); if (this.pathUtils.isAbsolute(target)) return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); } symlinkSync(target, p, type) { const mappedP = this.mapToBase(p); if (this.pathUtils.isAbsolute(target)) return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); return this.baseFs.symlinkSync(mappedTarget, mappedP, type); } async readFilePromise(p, encoding) { return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); } readFileSync(p, encoding) { return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); } readdirPromise(p, opts) { return this.baseFs.readdirPromise(this.mapToBase(p), opts); } readdirSync(p, opts) { return this.baseFs.readdirSync(this.mapToBase(p), opts); } async readlinkPromise(p) { return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); } readlinkSync(p) { return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); } async truncatePromise(p, len) { return this.baseFs.truncatePromise(this.mapToBase(p), len); } truncateSync(p, len) { return this.baseFs.truncateSync(this.mapToBase(p), len); } async ftruncatePromise(fd, len) { return this.baseFs.ftruncatePromise(fd, len); } ftruncateSync(fd, len) { return this.baseFs.ftruncateSync(fd, len); } watch(p, a, b) { return this.baseFs.watch( this.mapToBase(p), // @ts-expect-error a, b ); } watchFile(p, a, b) { return this.baseFs.watchFile( this.mapToBase(p), // @ts-expect-error a, b ); } unwatchFile(p, cb) { return this.baseFs.unwatchFile(this.mapToBase(p), cb); } fsMapToBase(p) { if (typeof p === `number`) { return p; } else { return this.mapToBase(p); } } }; function direntToPortable(dirent) { const portableDirent = dirent; if (typeof dirent.path === `string`) portableDirent.path = npath.toPortablePath(dirent.path); return portableDirent; } var NodeFS = class extends BasePortableFakeFS { realFs; constructor(realFs = fs__default.default) { super(); this.realFs = realFs; } getExtractHint() { return false; } getRealPath() { return PortablePath.root; } resolve(p) { return ppath.resolve(p); } async openPromise(p, flags, mode) { return await new Promise((resolve, reject) => { this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); }); } openSync(p, flags, mode) { return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); } async opendirPromise(p, opts) { return await new Promise((resolve, reject) => { if (typeof opts !== `undefined`) { this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }).then((dir) => { const dirWithFixedPath = dir; Object.defineProperty(dirWithFixedPath, `path`, { value: p, configurable: true, writable: true }); return dirWithFixedPath; }); } opendirSync(p, opts) { const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); const dirWithFixedPath = dir; Object.defineProperty(dirWithFixedPath, `path`, { value: p, configurable: true, writable: true }); return dirWithFixedPath; } async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { return await new Promise((resolve, reject) => { this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { if (error) { reject(error); } else { resolve(bytesRead); } }); }); } readSync(fd, buffer, offset, length, position) { return this.realFs.readSync(fd, buffer, offset, length, position); } async writePromise(fd, buffer, offset, length, position) { return await new Promise((resolve, reject) => { if (typeof buffer === `string`) { return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); } else { return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); } }); } writeSync(fd, buffer, offset, length, position) { if (typeof buffer === `string`) { return this.realFs.writeSync(fd, buffer, offset); } else { return this.realFs.writeSync(fd, buffer, offset, length, position); } } async closePromise(fd) { await new Promise((resolve, reject) => { this.realFs.close(fd, this.makeCallback(resolve, reject)); }); } closeSync(fd) { this.realFs.closeSync(fd); } createReadStream(p, opts) { const realPath = p !== null ? npath.fromPortablePath(p) : p; return this.realFs.createReadStream(realPath, opts); } createWriteStream(p, opts) { const realPath = p !== null ? npath.fromPortablePath(p) : p; return this.realFs.createWriteStream(realPath, opts); } async realpathPromise(p) { return await new Promise((resolve, reject) => { this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); }).then((path3) => { return npath.toPortablePath(path3); }); } realpathSync(p) { return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); } async existsPromise(p) { return await new Promise((resolve) => { this.realFs.exists(npath.fromPortablePath(p), resolve); }); } accessSync(p, mode) { return this.realFs.accessSync(npath.fromPortablePath(p), mode); } async accessPromise(p, mode) { return await new Promise((resolve, reject) => { this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); }); } existsSync(p) { return this.realFs.existsSync(npath.fromPortablePath(p)); } async statPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } statSync(p, opts) { if (opts) { return this.realFs.statSync(npath.fromPortablePath(p), opts); } else { return this.realFs.statSync(npath.fromPortablePath(p)); } } async fstatPromise(fd, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); } else { this.realFs.fstat(fd, this.makeCallback(resolve, reject)); } }); } fstatSync(fd, opts) { if (opts) { return this.realFs.fstatSync(fd, opts); } else { return this.realFs.fstatSync(fd); } } async lstatPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } lstatSync(p, opts) { if (opts) { return this.realFs.lstatSync(npath.fromPortablePath(p), opts); } else { return this.realFs.lstatSync(npath.fromPortablePath(p)); } } async fchmodPromise(fd, mask) { return await new Promise((resolve, reject) => { this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); }); } fchmodSync(fd, mask) { return this.realFs.fchmodSync(fd, mask); } async chmodPromise(p, mask) { return await new Promise((resolve, reject) => { this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); }); } chmodSync(p, mask) { return this.realFs.chmodSync(npath.fromPortablePath(p), mask); } async fchownPromise(fd, uid, gid) { return await new Promise((resolve, reject) => { this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); }); } fchownSync(fd, uid, gid) { return this.realFs.fchownSync(fd, uid, gid); } async chownPromise(p, uid, gid) { return await new Promise((resolve, reject) => { this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); }); } chownSync(p, uid, gid) { return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); } async renamePromise(oldP, newP) { return await new Promise((resolve, reject) => { this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); }); } renameSync(oldP, newP) { return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); } async copyFilePromise(sourceP, destP, flags = 0) { return await new Promise((resolve, reject) => { this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); }); } copyFileSync(sourceP, destP, flags = 0) { return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); } async appendFilePromise(p, content, opts) { return await new Promise((resolve, reject) => { const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; if (opts) { this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); } else { this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); } }); } appendFileSync(p, content, opts) { const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; if (opts) { this.realFs.appendFileSync(fsNativePath, content, opts); } else { this.realFs.appendFileSync(fsNativePath, content); } } async writeFilePromise(p, content, opts) { return await new Promise((resolve, reject) => { const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; if (opts) { this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); } else { this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); } }); } writeFileSync(p, content, opts) { const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; if (opts) { this.realFs.writeFileSync(fsNativePath, content, opts); } else { this.realFs.writeFileSync(fsNativePath, content); } } async unlinkPromise(p) { return await new Promise((resolve, reject) => { this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); }); } unlinkSync(p) { return this.realFs.unlinkSync(npath.fromPortablePath(p)); } async utimesPromise(p, atime, mtime) { return await new Promise((resolve, reject) => { this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); }); } utimesSync(p, atime, mtime) { this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); } async lutimesPromise(p, atime, mtime) { return await new Promise((resolve, reject) => { this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); }); } lutimesSync(p, atime, mtime) { this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime); } async mkdirPromise(p, opts) { return await new Promise((resolve, reject) => { this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); }); } mkdirSync(p, opts) { return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); } async rmdirPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } rmdirSync(p, opts) { return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); } async rmPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { this.realFs.rm(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } else { this.realFs.rm(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } rmSync(p, opts) { return this.realFs.rmSync(npath.fromPortablePath(p), opts); } async linkPromise(existingP, newP) { return await new Promise((resolve, reject) => { this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); }); } linkSync(existingP, newP) { return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); } async symlinkPromise(target, p, type) { return await new Promise((resolve, reject) => { this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); }); } symlinkSync(target, p, type) { return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); } async readFilePromise(p, encoding) { return await new Promise((resolve, reject) => { const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); }); } readFileSync(p, encoding) { const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; return this.realFs.readFileSync(fsNativePath, encoding); } async readdirPromise(p, opts) { return await new Promise((resolve, reject) => { if (opts) { if (opts.recursive && process.platform === `win32`) { if (opts.withFileTypes) { this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); } else { this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); } } else { this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); } } else { this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); } }); } readdirSync(p, opts) { if (opts) { if (opts.recursive && process.platform === `win32`) { if (opts.withFileTypes) { return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); } else { return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); } } else { return this.realFs.readdirSync(npath.fromPortablePath(p), opts); } } else { return this.realFs.readdirSync(npath.fromPortablePath(p)); } } async readlinkPromise(p) { return await new Promise((resolve, reject) => { this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); }).then((path3) => { return npath.toPortablePath(path3); }); } readlinkSync(p) { return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); } async truncatePromise(p, len) { return await new Promise((resolve, reject) => { this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); }); } truncateSync(p, len) { return this.realFs.truncateSync(npath.fromPortablePath(p), len); } async ftruncatePromise(fd, len) { return await new Promise((resolve, reject) => { this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); }); } ftruncateSync(fd, len) { return this.realFs.ftruncateSync(fd, len); } watch(p, a, b) { return this.realFs.watch( npath.fromPortablePath(p), // @ts-expect-error a, b ); } watchFile(p, a, b) { return this.realFs.watchFile( npath.fromPortablePath(p), // @ts-expect-error a, b ); } unwatchFile(p, cb) { return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); } makeCallback(resolve, reject) { return (err, result2) => { if (err) { reject(err); } else { resolve(result2); } }; } }; var NUMBER_REGEXP = /^[0-9]+$/; var VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; var VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; var VirtualFS = class _VirtualFS extends ProxiedFS { baseFs; static makeVirtualPath(base, component, to) { if (ppath.basename(base) !== `__virtual__`) throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); if (!ppath.basename(component).match(VALID_COMPONENT)) throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); const target = ppath.relative(ppath.dirname(base), to); const segments = target.split(`/`); let depth = 0; while (depth < segments.length && segments[depth] === `..`) depth += 1; const finalSegments = segments.slice(depth); const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); return fullVirtualPath; } static resolveVirtual(p) { const match = p.match(VIRTUAL_REGEXP); if (!match || !match[3] && match[5]) return p; const target = ppath.dirname(match[1]); if (!match[3] || !match[4]) return target; const isnum = NUMBER_REGEXP.test(match[4]); if (!isnum) return p; const depth = Number(match[4]); const backstep = `../`.repeat(depth); const subpath = match[5] || `.`; return _VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); } constructor({ baseFs = new NodeFS() } = {}) { super(ppath); this.baseFs = baseFs; } getExtractHint(hints) { return this.baseFs.getExtractHint(hints); } getRealPath() { return this.baseFs.getRealPath(); } realpathSync(p) { const match = p.match(VIRTUAL_REGEXP); if (!match) return this.baseFs.realpathSync(p); if (!match[5]) return p; const realpath = this.baseFs.realpathSync(this.mapToBase(p)); return _VirtualFS.makeVirtualPath(match[1], match[3], realpath); } async realpathPromise(p) { const match = p.match(VIRTUAL_REGEXP); if (!match) return await this.baseFs.realpathPromise(p); if (!match[5]) return p; const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); return _VirtualFS.makeVirtualPath(match[1], match[3], realpath); } mapToBase(p) { if (p === ``) return p; if (this.pathUtils.isAbsolute(p)) return _VirtualFS.resolveVirtual(p); const resolvedRoot = _VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); const resolvedP = _VirtualFS.resolveVirtual(this.baseFs.resolve(p)); return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; } mapFromBase(p) { return p; } }; var prettyJsonMachine = { [ "DEFAULT" /* DEFAULT */ ]: { collapsed: false, next: { [`*`]: "DEFAULT" /* DEFAULT */ } }, // { // "fallbackExclusionList": ... // } [ "TOP_LEVEL" /* TOP_LEVEL */ ]: { collapsed: false, next: { [`fallbackExclusionList`]: "FALLBACK_EXCLUSION_LIST", [`packageRegistryData`]: "PACKAGE_REGISTRY_DATA", [`*`]: "DEFAULT" /* DEFAULT */ } }, // "fallbackExclusionList": [ // ... // ] [ "FALLBACK_EXCLUSION_LIST" /* FALLBACK_EXCLUSION_LIST */ ]: { collapsed: false, next: { [`*`]: "FALLBACK_EXCLUSION_ENTRIES" /* FALLBACK_EXCLUSION_ENTRIES */ } }, // "fallbackExclusionList": [ // [...] // ] [ "FALLBACK_EXCLUSION_ENTRIES" /* FALLBACK_EXCLUSION_ENTRIES */ ]: { collapsed: true, next: { [`*`]: "FALLBACK_EXCLUSION_DATA" /* FALLBACK_EXCLUSION_DATA */ } }, // "fallbackExclusionList": [ // [..., [...]] // ] [ "FALLBACK_EXCLUSION_DATA" /* FALLBACK_EXCLUSION_DATA */ ]: { collapsed: true, next: { [`*`]: "DEFAULT" /* DEFAULT */ } }, // "packageRegistryData": [ // ... // ] [ "PACKAGE_REGISTRY_DATA" /* PACKAGE_REGISTRY_DATA */ ]: { collapsed: false, next: { [`*`]: "PACKAGE_REGISTRY_ENTRIES" /* PACKAGE_REGISTRY_ENTRIES */ } }, // "packageRegistryData": [ // [...] // ] [ "PACKAGE_REGISTRY_ENTRIES" /* PACKAGE_REGISTRY_ENTRIES */ ]: { collapsed: true, next: { [`*`]: "PACKAGE_STORE_DATA" /* PACKAGE_STORE_DATA */ } }, // "packageRegistryData": [ // [..., [ // ... // ]] // ] [ "PACKAGE_STORE_DATA" /* PACKAGE_STORE_DATA */ ]: { collapsed: false, next: { [`*`]: "PACKAGE_STORE_ENTRIES" /* PACKAGE_STORE_ENTRIES */ } }, // "packageRegistryData": [ // [..., [ // [...] // ]] // ] [ "PACKAGE_STORE_ENTRIES" /* PACKAGE_STORE_ENTRIES */ ]: { collapsed: true, next: { [`*`]: "PACKAGE_INFORMATION_DATA" /* PACKAGE_INFORMATION_DATA */ } }, // "packageRegistryData": [ // [..., [ // [..., { // ... // }] // ]] // ] [ "PACKAGE_INFORMATION_DATA" /* PACKAGE_INFORMATION_DATA */ ]: { collapsed: false, next: { [`packageDependencies`]: "PACKAGE_DEPENDENCIES", [`*`]: "DEFAULT" /* DEFAULT */ } }, // "packageRegistryData": [ // [..., [ // [..., { // "packagePeers": [ // ... // ] // }] // ]] // ] [ "PACKAGE_DEPENDENCIES" /* PACKAGE_DEPENDENCIES */ ]: { collapsed: false, next: { [`*`]: "PACKAGE_DEPENDENCY" /* PACKAGE_DEPENDENCY */ } }, // "packageRegistryData": [ // [..., [ // [..., { // "packageDependencies": [ // [...] // ] // }] // ]] // ] [ "PACKAGE_DEPENDENCY" /* PACKAGE_DEPENDENCY */ ]: { collapsed: true, next: { [`*`]: "DEFAULT" /* DEFAULT */ } } }; function generateCollapsedArray(data, state, indent) { let result2 = ``; result2 += `[`; for (let t = 0, T = data.length; t < T; ++t) { result2 += generateNext(String(t), data[t], state, indent).replace(/^ +/g, ``); if (t + 1 < T) { result2 += `, `; } } result2 += `]`; return result2; } function generateExpandedArray(data, state, indent) { const nextIndent = `${indent} `; let result2 = ``; result2 += indent; result2 += `[ `; for (let t = 0, T = data.length; t < T; ++t) { result2 += nextIndent + generateNext(String(t), data[t], state, nextIndent).replace(/^ +/, ``); if (t + 1 < T) result2 += `,`; result2 += ` `; } result2 += indent; result2 += `]`; return result2; } function generateCollapsedObject(data, state, indent) { const keys = Object.keys(data); let result2 = ``; result2 += `{`; for (let t = 0, T = keys.length, keysPrinted = 0; t < T; ++t) { const key = keys[t]; const value = data[key]; if (typeof value === `undefined`) continue; if (keysPrinted !== 0) result2 += `, `; result2 += JSON.stringify(key); result2 += `: `; result2 += generateNext(key, value, state, indent).replace(/^ +/g, ``); keysPrinted += 1; } result2 += `}`; return result2; } function generateExpandedObject(data, state, indent) { const keys = Object.keys(data); const nextIndent = `${indent} `; let result2 = ``; result2 += indent; result2 += `{ `; let keysPrinted = 0; for (let t = 0, T = keys.length; t < T; ++t) { const key = keys[t]; const value = data[key]; if (typeof value === `undefined`) continue; if (keysPrinted !== 0) { result2 += `,`; result2 += ` `; } result2 += nextIndent; result2 += JSON.stringify(key); result2 += `: `; result2 += generateNext(key, value, state, nextIndent).replace(/^ +/g, ``); keysPrinted += 1; } if (keysPrinted !== 0) result2 += ` `; result2 += indent; result2 += `}`; return result2; } function generateNext(key, data, state, indent) { const { next } = prettyJsonMachine[state]; const nextState = next[key] || next[`*`]; return generate(data, nextState, indent); } function generate(data, state, indent) { const { collapsed } = prettyJsonMachine[state]; if (Array.isArray(data)) { if (collapsed) { return generateCollapsedArray(data, state, indent); } else { return generateExpandedArray(data, state, indent); } } if (typeof data === `object` && data !== null) { if (collapsed) { return generateCollapsedObject(data, state, indent); } else { return generateExpandedObject(data, state, indent); } } return JSON.stringify(data); } function generatePrettyJson(data) { return generate(data, "TOP_LEVEL", ``); } function sortMap2(values, mappers) { const asArray = Array.from(values); if (!Array.isArray(mappers)) mappers = [mappers]; const stringified = []; for (const mapper of mappers) stringified.push(asArray.map((value) => mapper(value))); const indices = asArray.map((_, index) => index); indices.sort((a, b) => { for (const layer of stringified) { const comparison = layer[a] < layer[b] ? -1 : layer[a] > layer[b] ? 1 : 0; if (comparison !== 0) { return comparison; } } return 0; }); return indices.map((index) => { return asArray[index]; }); } function generateFallbackExclusionList(settings) { const fallbackExclusionList = /* @__PURE__ */ new Map(); const sortedData = sortMap2(settings.fallbackExclusionList || [], [ ({ name, reference }) => name, ({ name, reference }) => reference ]); for (const { name, reference } of sortedData) { let references = fallbackExclusionList.get(name); if (typeof references === `undefined`) fallbackExclusionList.set(name, references = /* @__PURE__ */ new Set()); references.add(reference); } return Array.from(fallbackExclusionList).map(([name, references]) => { return [name, Array.from(references)]; }); } function generateFallbackPoolData(settings) { return sortMap2(settings.fallbackPool || [], ([name]) => name); } function generatePackageRegistryData(settings) { const packageRegistryData = []; for (const [packageName, packageStore] of sortMap2(settings.packageRegistry, ([packageName2]) => packageName2 === null ? `0` : `1${packageName2}`)) { const packageStoreData = []; packageRegistryData.push([packageName, packageStoreData]); for (const [packageReference, { packageLocation, packageDependencies, packagePeers, linkType, discardFromLookup }] of sortMap2(packageStore, ([packageReference2]) => packageReference2 === null ? `0` : `1${packageReference2}`)) { const normalizedDependencies = []; if (packageName !== null && packageReference !== null && !packageDependencies.has(packageName)) normalizedDependencies.push([packageName, packageReference]); for (const [dependencyName, dependencyReference] of sortMap2(packageDependencies.entries(), ([dependencyName2]) => dependencyName2)) normalizedDependencies.push([dependencyName, dependencyReference]); const normalizedPeers = packagePeers && packagePeers.size > 0 ? Array.from(packagePeers) : void 0; const normalizedDiscardFromLookup = discardFromLookup ? discardFromLookup : void 0; packageStoreData.push([packageReference, { packageLocation, packageDependencies: normalizedDependencies, packagePeers: normalizedPeers, linkType, discardFromLookup: normalizedDiscardFromLookup }]); } } return packageRegistryData; } function generateSerializedState(settings) { return { // @eslint-ignore-next-line @typescript-eslint/naming-convention __info: [ `This file is automatically generated. Do not touch it, or risk`, `your modifications being lost.` ], dependencyTreeRoots: settings.dependencyTreeRoots, enableTopLevelFallback: settings.enableTopLevelFallback || false, ignorePatternData: settings.ignorePattern || null, fallbackExclusionList: generateFallbackExclusionList(settings), fallbackPool: generateFallbackPoolData(settings), packageRegistryData: generatePackageRegistryData(settings) }; } var hook$1; var hook_1 = () => { if (typeof hook$1 === `undefined`) hook$1 = require$$0__default.default.brotliDecompressSync(Buffer.from("Wy5/VjPdZhxSd5XevyfDh3R7QpEhSwfCr+o4vCxKUvD5Dih63SFA7YSqt4kV3YZiqKqmJZUxtgHuPwCIWVWlJXMYQqiVGnkj5841xgxfa/KJU8MgY2GmB0ZrsG2Ia6d6jici0S/BaIk2PIIiexSaeaKHbigtPXP1Umlj+RsB4fOlXz+e/+leZOxOUvY6i0spQSRhmGVb+WrYtkjc/mRXrvYRnwJsY6TW/UUII5xmztaQa8zyEPr9x6Z6xpfTs0JrifF/3LHpGOMEBLFNI3vTJVS1VspNkJJfPdXLV/kIbzzjDi8L7G41tX8+L6MriFRpKeMhhev1tSlaMCTrgjUGrm3mrJZarzdyokxpw5dSM3shRMcRWDZOQmmj2JaW//u8nG5fq44vTQvCpzFIDIJtKUppv3b2e7X//nyNfI/MquN15dxzkWphCHk65gxu74rQQmCCtyEsx+JcqQ5L178iah06K87T7ux4PzqUFhU37GTJ+bKoAJWQbfWVdNUiKBgnX7pvqVr231TEVxfoWMbUxjASB9AqcAwuCZsHyKrpfJSBblyIhS4/Xy/H7KUt9Zpalu3f4qQSGLPoA8qA6JKHC9oPSZaf/TS/fjcdlDWXUnGacymVWOC0Zg+Qsvu8ejNn4CR4+Kp3+stF8n+k7O3pOzOa20hAA2Mj74ywe0CFnIQkegk8UeL98eDQoojjm81uszSYkmp601QHQXz5/0+BUjet2/G9E5hBQmYEftRQezoedndHsZ185/iquropBMgFblnopqC4INiWZ1CCHT/+x/T/Pz/ufa8ksbfmc63Zs2EQSDYUW/NnzOlAbYsGU/T48Y2t42EPUtmuHd98BhwU6oFUdDNcPuRumLj7JQuLzefDhylaa5+zm00uwIG5EJH+0Na9EBHVtkf0/XQ6rgm345VVArv6m750zw4WHF8AHrG0/fHAL0NpxydZMxEJxdCPW2Wt6Ql4vQPbzdEQJuAH+LCl+XxWgJWGp2QMZbooQQSNzM92WgQMBl9g4dfXzFpAvBEdzkPdXobTsetlvp/TVaXStMi23G3PaoAo86vkbclqEy0g3IhvG3u77vr/7/vp934rgeBzoYyLNJSkxtLIuugHoUaOWnvNPR/rmvoPVSioAZBsQ7Zz/M7sudba5966twoNw+5P8vXowabc+z+Ss5k1YSTFCjJlUQHswGaKpL+vSq2u77tHREYiQTABoqSEWK1C7USpV1VbXydyIaW9lo1aZtsPF+H/9/yb/P/vUQr3iGxFuEeaMjwiTYhIwAoRkTmGzATCIzKhyCTISZBUTQKSykCJPQMt1YbaKfVOJEAzgaDMBIDshdRskmbdTm3G6mXdbjWn1e697LMup77PbS73OR/mNsdjn45zOM5+y16pNNJIflftxO77UxGZsnvX01BFKLfyuHWYXgFxaYXQT5gBRWEf2uKXX7OEJJH2OEdympt5NU2MSmG3u7q7Lg4pK4wy7+2avw4gorXMTi1UT6gT4dnItTYMilCYJ01k9b1jnidv54Nv+zZLKJAHwQCtzgOMLaKP+1J3e+AfSq8WaE3vnBfQcdmKfAxGYyGPQCgVjEFEAiQR8YBKF39tionVNruHiC6mfzND9yAZp9p+kgaWYKlk1myWWdNHaCTCmJIN4XN9VCUWVWHIdc8xHpY5RU2AyuqCHcf8+rwdYJvx/3DGTnS+9//CwqIMjMQpomL0XOjMnE4bMHZ3L4b/tn2/g4AsIe+1MTPUVCAwREuLhEGohIl6r7v9S0ycOefe3flHt/o/1yHAo4T3fpsmSkkvhBAIdIGAUhUDIRCCgmXG3Z35pbnivAoGGHS7IHiBCe6m9fzYt553ihQBo0wRZMRBphj4I6SYImDAICm2CJhihFcs+A+vnfb98945B179zxZbuJjChQkmuFBhggguRHChgAsVIlGhQgEVJshtfxiSIxKJrsP2gWizZKONoKXr+wf/zjk0n/+CBQMGDBhgYGApVmRFBlZkKQ2svAYGfpJBR2pQ76lBg8ln/l+3/n/FOiOgtz3LCARSCBggtBBASksoKZQuTZRiA0aZc84vavYO6Bt4t33HOx3medGEIAtiY6RESbVBpaSwgDZ+t75IE5TfBIUDfmrkcfzsjKNQsD1IoOHkP8GWqR+tRFWdfL605OJWHRIkeuNuQJFf+d5M+JVW7+rE6ovhVlWd/CseV7MVQMNkScc55/1z/ep7TqIJqxcy8OZptmgb6EbkDJ/bsXX+dgq/St66Z5Sq6gQIazy/oD9pOjkXjgkCVYWMomY1cfzQpnRKO6ncD1qHi5aRWSIo0iubIGZhETb4RD4RdbBLgw1H3VVaAMS6kmdFJyYlS5GAZTeat2tzhBla6x57p7ZwRavTUnXyt8CNzXJg0A8CRrvo71kDGdJQGB8xC4ek1XR1cGbSpjDjyyDcldzitCYbL+buJrT90HWj82Px39ESW29lD/0nTWrMf8IG9gvjaIFyAoRFQIlxlTTtVwyQKJlLeH1Ff4WCKkgOfF39hJLBXnxYxwMFOpu/7FoN/6Nf8g7x+8mnMr18it1H6QLBnpPgrMA6s9e8EwdMIedi58wfviQqM50w8D273dBGjlGjDlFoPF7SSWY6S+RLohyQFFKDJTErHk0TlsXqCKL0YEl8LhiSjMrfh0+NQqp3ruhKygXxXk8F/17qltxfcP57GcJzf+TlEko5wvE8gYC23mzIf9L0yCr463oKguxMuquOf1yeQ9NZQCkDZ2g+LW5qqwcW+AmKb0V75umbitvNrSS85VYxYZitP9Orx013vU3RTpWY6H5W5PA9q5JGRbUfCtgSscIWapvY9zKJFcfx5hb8gl7yGmJvhpoA0B/w4ZKKDG2t+cYegw9CMQLpuILUanRd5thW8YNVglxFagJgb6PPIWLZ7pLdQNpLvjG26qmICKPgF27dF1tOnVQ4JBWyYss2V38QrJVvPb9gagKABBarkbSI2VbyjRUJCogRyGBGefJBCAv5UdT+ecjG2GeV0BjkxuNLKV63tW1DsvgGteUsNFMQGKsrrZTeOtDuVMxTsf/Ak21/RUOw1V5PtBFys4PAHbQv8FyRG5PP1qWxC6eLZPQzPTL8lVIhwL1ySP0gnNIb/5ZTSsrum/6xVLxSdE61vqiVZUn+BW99hfUKtbyLmLrh0lx6hCeiS4GJT+MD6jbMbuIdr+mk2U3tb3hw9NYA+xjVr/MgNXSUm48v5F1SXPJY5BWpcVDjQbcaOvEqqSDTqMQS2O5BR03MbtSoJAsjs9aLBzrjnLcayt4sbB22byR6G8RCjDY5eOZ9WMH5F5Jo98Im0TFse2b3lnnwrH1Z5KXjovrtnlt/izHCL3Ii6mKwL+zVi0QGIAhGSBVgiBB4B+u3r4VRcpveQfUOqndY/cOr1yRD0vFkTFEngwKUuLo3iKh3xVqOHawh49LYK8/AIAyR30XQRJx+uoNoJ+Yjjv82HER1RyDObweRlur9ncMZX/PXRl0s9A5gvtyqrxy+VWk6KG/89zlJqLXL8Y7wd3XQ/dB0npLBM/HxDzFaztbA9142v81fu4cadyiax9fyyWy/+JQwIvJcxiG48F4N57+KlfUGI5kgw51+UK+KJUXOVRMqrL2OsKoez/Nikw7IPqeoeYbx6ItU8od7SPeWcMfF5OgYlSXh9ZPXSESWVaCz0/yqC2U2IZDnldI5k11UQnDn7dm0LT3/urUvYY4bk3dtbx/fddTuMCfKmaF8ImZcTB8zGacpdvSfX3JeXQm5LQOmVRBua5VjIsWEYTqKCKA6hwRFFdxApWwY2Z5LXaksvRoJvGEkzgrZZtAelg39LWJiQBn4WxTWgDIQ5dxAEEGUkWVZOhESahqpFvTERs0pRMjVgQNqddPI5QHgpg4wL6ccylNyzd6JSHXUsXnB7xjscd2URsR3aa3s53J/WpbvzdH2JrNoTGxTt2fvKP6O3vik+gNVAKdxNz+rkW6rdNdRUy3FTtNvsb3b7S3GdzkykyIGqJexSPMjP11YIH3vVb1u+UNqin2TTgjrVoyqefpU0lZNqK3haOYqfhHpkSUS1atXivzU/ygwtRloXWuoDH6uRaIzP4S5kFy7PRq+H4v0A5VVRT/5C3YruZNbtl8oYFgUT9ekQI05CPzhrABPWC6TDj1RiXLJLpnk/s6FxXdfPp0Czd3BLNoWRRgzIYlQf6oOpNbNK31dsiZB6wr2O4ardxi1wQV3GCr531rRuMUbRBH4QKzPDa65lrDYIpOag1yDzUGCb+SOL9bHM2LjWMZ/b97aEsXGYWhiK0pp23aX21XpXrI6UQ/5bbjE7ipcx4yqRPOI+RyipLXGQcGtSWgvrvzQWwJED4l++Z/K0XfjxXRF8lRYmyup2VHRjVSP5bAi6OWhBL2dtNVeYinGkZhsSHiw8Qqrqq7jChGO+hBLNZLcH+KuPSATB7Sk737sjxJRviqW7Fql5/7PxJxyBohlJ3MS9GhU3SsMajDNj3k+MoIkK+f6sSJB8CXWId8iUxakKPXRsQrQSdA/aZOCKoQxCyub/1I61YhWhrk4OQYHxWg85nuqUb4jZYM+JxEqaasQxvkr48TMaFZUhh+vvaC0gxvVdp0H+Cj7txfSusW/p4v9xzkDdWSTX9evypnpyzJ+/UZ5SRmrp5TH77tzym6rVlZRPB5RWfu5RvarU2BzsyT608/Me3Gq6AcNDYLWxgOLkzsHY9QgS68GcUGjUXhOpRyjgp3uTIRY7Gvue5iggYcSJailTO17kj0vfIs0Jvz5PoaqDbQ+GiXRrsCPZq1mkZRU2GYL/fNhTdBPZ8x9dEK0avFpWhnAmRZ0b2anLPTygQtWEIHLWBxBzjQBSy3p7bssOyKq4ltM85CNUmKGpEXW1eoixImE0fF2lc6LIEFDsMONVD53I0wN9KhpvyyLReND81mKBvJX0+jgMhB+2wvFUgZfjuVib7lHbuq6fqwb33Q0mCxu4iJfrohIJjxMS80hvrrkafqlfozKwRSd6MKCiVtncN0U/HV9PRPnrH74bl8h/AxlHvEK9koYpul/X0zvOrcecf9N0gd06Lt1HWebZsOsbz1KQiRwUiBxSNkX++zSlLO4dT9DB1y0QamXemSbofDegBJdYO0a9BycDtVPjyY6/tHDehRYELui0cQkDeXolrpm/vi9YhqXXKdrk6DEJ7uk+igrxWDujPbuZktt2GNopdliHu8j4VpxD6mmH0d9DCvnpd/RUZbacMtt7FtUX00K4+eZGhJLfbq1ZMUsfoSSHxYX2VyYPB1SDn7T9WLKWlgkDX4CxqF2jiqAZd+OYlFhewsfXLIU50+ThoSYm04163WE99yxQSb1pq6y3dUlKWi1e70aBqp7ACRz25h9+sZQ1YYt2cEIEQSdEdAq11I0q9vaSEa+ev8Nr2JT8208p5JS4CDbaJ8BRbCs9ebcx7wzUENor/CryJt56dIMyyoz7sglDB0saa8Q+OSoJxdmzhaRqBV73aR0KW4RwU72rbbsFZeN7r5kHsQ/RPPoAdbgjX7A3YYuY+hHc5b0LUVZWDxnZk9u6XCK/cDb6bjNavPoROaySpkxE/owk6UceHl5gfsJCpDVFnloBOWaqUgx680S3N7DUUCj2S4ZIjmSty3fwnFRYSw59y/wmZLghrVGj5T1Z1epi7EMOLIan7mjXj0acd+cMEv1zGPhpX2V90muKhZauui6JcX7Xpyu5Kmc1JSQ+jASVyf9kfQBNhTCqB5To77ehAjd3jxP0M2vlC/sa8Fa83RWIebkFetMncvU+N8UVvu1H4HkJtElZX20QSFtR8v4CaIh4RrIqgB8CzNoKO2QbY9W59GwUK1WcccMVsPL680AolWj+ISKg8+ro88sYqU64wFAWOXpzi9Wdskh5qXRvr2UcRWmu372HNICnywBN1TEz0A2rVdnbuQCn/TY4bFOoJAyH/NYvyKbBicfi6WW92mBHN1Wjj72Mb3dnOMoymalzvZ6tGNTIZatX5sVG7HlHfnSVMJGXGm5Oz9HRJNNMPg1zE+VkvfUdGrecI5Ty3R1ROPhW49h1I8iDUbld66kDrzmVIfuwLsVL+9MHcZPw3McvmjiIgXF77LHobP5+IP9Hpa8At3+CSWjJJkkeT6beClu2m3f4CN3jje0cd6C8ldN+JPJcSqv7pZEZ09Wu7V87qUcUEe2/ObOYi08oTllVT0MtP4PA/vb+YvN2zZQWdgnov33aLyY91m9Q00Py1n16in6PJMo9gng8cLP0GC6r4bKQqycW/1sThVrYR6Z3YHrgDiOlNHt6+aWy7bw/q4EXhSKNxnu6TeHwViqw/1WST+V+aVO3XMMypgw962cFNalkJdkmIH2Y5ooLAuoCdinz3QXbqpfRvTbWrutfI/S8Mp0J7CbJbYbwIoMQLmIeLs8CczBr6fm+nCFJZhfsiXE0wFbvtD8Zi1Eeet849BdTYkV9GARabO/VmAbWezvgCE9SWy6u2TU1FLIw08cgcU3HKzmLcd/Poa8ZbF6LI7lMYqtjpEN3EdLciWqXbGKD7ZJPETVXhiyPz5nMm7P1m31/+f2kaFYHijvbdt73D3eQX6for94Psj5HlYvUqHJkd12ZoaMf+fGtjAtJQxKMRFWK9EN1Ii4uV/0xNiypuNrNqx+bEg+Dg0HLCTLDLXaRxzKVqcLfOm2WuhkqtQtYvQSgYp2L918FEzkCU5bqjFLxCHesGsuT1Pi2DvDMVRbjrfqDL/0jRj5zO09nxoxxlje3mU90aw6tapJDlnaap9jVLi0nYKZdL4oz7AH0i/AnFMsjremGrvO6sTDp4au0qPQnO0OMaoi4GDxWkFta1dfHbb7zMfrYXHm9Tv7Ur/h7LRVnG8Rxys1o7UC3U4t8cpUiPry9juALju+qpPOWIKKh9UraXPV2Vg8OvmtjIafNt41jdBTsnmkMj0/Sh0G8Am4SosptgHYZ+rBrh6HRsYZJuvc0ivRZ5cs6m5QtXwaDDGfnCbDLrwi97wsxNFaVH4xZnfUjQBmXz0QNJ13OC+Pb7vgsivYNzR8nrtfgVS8Qz0wnZfWxTT9b0y4gfu3Vof/xDKnpuNGv8PYd5Ks8f8QxVpmYWfe+DMOc91JdDDD33/hr7WhxqujAgSnDnr+QeJQpkbzBc0wL0DmyNVHSe8qLLqn68IOS+gM2HXvEfRyj+2AQcqAHehwKWofXXN5PbgkD1JpArMq8rD2eFZWj0HiUTe7FLIuXMTLvFzI5iOWFcDlQ4IoAR3+eB+oTS32ydoQO/xv3b0pYgY3cfkQe8scjbNiR0HH1j7sJlHfWKisw9EpGlcYsCjg/IeziS5OpwQm8oNpgMsqopveSedSqGm0X5Omo2ZQKDvaGZvddnu1uuObwGUHLTu8UgfnXnM0iwf68f/Oe/GK+D3cHUcv/apmfZLJH/5v3hw5gw0r5PTJIXPhvasQXQ0T335++/lCbmXqpLk2NkXfHjvygJ6BrPUDdcv60Z2uorGRO3vVOlCy/ebuQDxU1lA9Ki/kJhN83HCWTEPg6WuGfT5M5ye7+QnJ4vYbqN9hR7fCk3RwCDvH2H50P/ZgSDOQ6t9je43Q2NAYKyPD51YoiHzjfNAdybWucBkYQxqboMGTHo/o9CbZQhhqS+CY2Gxu5PWmpOT/csxGDaPDN5eN7SekREqtuuX1DxfIzC28D7UCBx96zD9HmoW0nMeDE6WLYs68RvCWf1Sc/xKkrX0gzFUqgj8hR2MItbQxvHr+b0/GQ5Hywu/CiflnJdXor9KmSK6qmloRQPQPr79/7gCKiJWVDSkkpGiSGzzU9Q7ZVZUmI4cuCy3rqA2RtBcPO/J2SdBkrigLR4sdLKdtbUzrfn9iyVUguw75yL8Y5YEJwnuYJqVonMVdcDhZ+pJx2HoL/dpDjOMQ1vEExPazEiXsdHvevPyl0cyanwgtHDvXBx7n6OBnUTe24JfXwl638cZwkLO/O974rEVyzoNsx+PL/9IOA3fLVqR/XzuGov8n5Yg7YeJ2e2cuSSINhZS6KxahiphUW5U2IvBVF1oHCCX8HobSx0XSjjIBqvMdS5kNWBNmB7rmtL+JS3GPNHym/+1KmskVpxWzh9U9EbSeVqvcofpNDrxVWpZzP83uajCQbxGfc69j3Q+81AVKeumo1NlVYjZabc9I+tVJlUuEvvwJ9r2OieBen7fuZ9pn0hs562mRHIuES2biJpJr4x8q8TicqErTF/1ImJ63rH0PtMy/TShauyEmcVkMjjroK/zQBtwcQW8kEjRFKoHxuJmDPKJzJRp14N9/BeWL9pjz0fzhrQ9sZn/rTisMMB5HW72NZWe+GmiHSZsEgNbMTkD5Tw1aZxQGu11pYK+ksfdIh+0/6rY9Kitc5/3EwTYdgMkDp2Knd1jajHTggOOIEjz0hZOMr3oHy68pAFKskOIjgCZ5lf0EtmumDhce6NEEgPfVRk7CFT3pLH4iF4nLyJxVJs26lsd8reW/TZn8ls9iuDRPD/cGjcDjOd/vrIbnqVaFk+XUMlor6YY2mUQDVGkrmSP/tu/R5TMTVocC9qNIY9posZqKIygxvTqZtiL0QGWSSYdZWfsmVV4ZuZPQnAOwF34MJCuFc5DdIsvc1afq0Fw3TRStwm22Cjh8oL1rk9bp6ZLjXDW9gbxh0se5iCGI2ydRBhGQ3OkAmFVH48V2WsEwhKCqjrlyf+SH9tdGoVeuxHUwawsogikeUdQqLOXFnJpz2xBwMfOQtxDEy+J7IfDfFSz60OGX9URayjk7xg04940lRHpwl5aUqOv7u5f+poYDB7RhNaJdNQbxiKbTbf+3X68LwTqjK48y8u0esp74GtPuiNjtWgjQaz5OIzboRHAna9qvu4b8wgX3VbnGRrg8vYloxWvOyy53o8nnda98DJXsi7PEmEdxH+h4WGeHGpNuRCYAl8RUHwB97ZuKbTXHKZIJUMeQQTySA/M2t2Oofs+LN40XU9rjjPavmtM83uYPpvNBpHKUPrrOT+zuiHlicJY8DlPO4uqd57U+4YQ9IM6/x2Rkbo7xJn1krZ3kYZFx9c0unZJJQm92ibj+ckJDQN6j69JygTCpv+hyIFIseK10SAe1/sy5QFv+RWLOSWn8sWQ964iy4qj9btj0A79BnnwFM/BmOdVo0j+g6gNz4KFe/yVALg+0yQN5jeHQJ64NLUu5U6gv33EN3L6N4eB6Au3Wc7tBs2s4S15T1zru0UKMytltNzWzUyTbJhJOOtV0YeuEe4/MXBVemAqxZWzrXVsTOQmezRKzn6QX51D66sZHgOtsUZ2CFA2fG/8NgadAWJe2OBuD2xNlzfzx8bDPhkxs4hIhW1fdpdugli2c5NEEPh7udBz/4tOJ9Agsh6zCUqd0xWNSGy9st82P5/CS9XRsno7/NQsjmu9U0xSEZW7O2lG7y9jWaP3UYCK2mBYF0q5YjtIAaGtAN3RMRlS+250Byeq4GLjalU+7SMJwUA8wFVa7ZR6ynZZmZVCcpRihPScJo5Lh7DKay7Oxc3mju2PemJwGn7V3Tx0eH9FctK0HAAqxd7w3+pArYyt83Kf3+oD8KYi2TP1LiWfxzqvuqt1Pq1tojfVNbOwwDPLjQI8SzQbOcbMwvD/gNYRO2vURWFPNjMbaXlGJuaRkLxCjb1fYBID8t5e8iOUKYmXt906C3lccjEJDoIEJzbM9kvdDCPTruyYyJB0bbC+rO365dwQWfX/rBB7aABT++gSPtg9N7ACWegSkt8be2cgbnUm4zuPtb9gY3CshzIbN1ZtwDIYLfDLQJ4GTr3hWh9/bSyiB7lTE+gyOHpLjN5RL50KYBYfCNDPCnXAVcbON88iNajPEDrRRWsIy0jiW0Yl1Erqi6u0DUtJVqGvz9OjT0bHdTgHXznYY75QFvjkiTdL5KDZGGnsrUdXtq+ljAMBUfe8/TSSlozv4oinV0WMgILTSrn8b+pxsucH1HikO0XO9x9tfVOHmqDQJKtzlgkwO1wXXoFKvlgLwhhEaafWxCLBPoKUEDqrRhqgknv+xapYNSOVBw3vogQezjmz5Hv0re2rw0d2fR75RaAAr6gXnHB0cDkLIBjs1ejtgX7tveEnpoimsI9220GDMYF6o/sst1qTj3Nw2EPOCJYp6azmD1laQNxVVkScZQkCddFEBXkvRwu1LkeaCUSheIIOyZ5cCDzqdY4Mc11Kz6bofdXCnK/vcgi6gLH1aO+pKPwtvUPX4kcPLP89p8q+IaPX9lxjJaM9/bDXGR5Zug5Yz4f4ZoCK2OkH/IyeOObVvy3/LXrTnaCUSk164hEJ8eVmhlNCm3+p6C3o7hOsIAadM3NZGqtXN6d7q+pkOxnW7zBVab4ocJe+uSeaaev03xNwYgmWmhZSViBZU+jSOH526d2urZq9uCYbFZ59//JPHdSSkqROdC63PAwDJhL9Yqqd+nMH2f+Y4rq4fUQ3y7h7OJwm5OuJx5y6VAAuRwCT91SX8b32Du97WtaKm18NTSf7Hc3anyhQ2x9oY439Vu0QhV9JH4UTaqfv9RK8BF63xODv0PfvIqx8eosTbbZF8EkwuwqWk91LqSH7T/jvv3KLLikQhJrY6CvEsjsQ7zdrUEWHKGcPYG9uj/zQ1IcSB+uzW+JoO4KMuI+a/uq0kZrHqRgBVuSvBg9//oTqP84tvnI45CyhtuVtLeZ5ZjdNSLS/ypdLsryHoNfscEtQqw0UhgfV3/cCSnt+TYV7iSV57qdiPu4tP+PM/2/499vg9hdpx3Bv5+xzeM12VmMgttlamKbM+Mxc7lbJxw/Ys5m+E8fOmm9DajDHxMY6QdM6s/9rXpTUXxDLrfTFd3ea7jbwVZivEW6zi8SDzE4xcR67Z9ht1A/vMwOV1F2829J4SG/xekD83tLqzm8+MDjkpYrtZpfCss/bqiwWDtaqqydPI841NeGm8uufenb93mMX+3QjUNONCPzPFsjw3ah7OjO/Pb8Q+yFfsDF6De5rjlsHZsHRpjqFr+U8A0Wanx0wY2GDePQk5/e3cGXuJHfzecX267wb37pE9vgtmeCmmzoZ7FPj8rhVlhvpSOPfyyOXctYgqm1OdgflM+g+g/NwZd5/lvnN8Ex4mEmyNvoauNaZyvy3tCvW+e6+yxu6w8mUFG7QrPPXoESfZ4XG2udWvLbZcyemJ2/CuV1m/i6bS69dstM+cxfW/7dJ92K+D8qBfxy97ssOVTOsiDE+I8tI+pOidB70SKw1cTTgxI+uaF73pp08o0yv1pNs8FO78PPtkcF6RTrEy7cxHBWfR69NJtITxUvK1R9OKWYGSP5nsNjeGEe++Dun2VnGRe2pBs4/kDiMVIo9PPOswzRPO5TEQSDhSjn6qqGCkH6GyjU1Ly4J5cRYjpTgiW9ZNtKdxVaKYO6zqQxCE3F89IiRpMw27XIQg8s/DKpusAaQPaDFEB9tDcgGENWlBwLIhP6RjX+cngAiCT3ISMgE8C8JQReQpjHeIWdO/Dxr/1Qf6ax1FTCZqWRR5HChncY6UGeKch5PhzrKa0T4Ihb3V9JEAbvXqGpxhQ5dsd4o614mO/BqAQm8lrMyT+JQedoBwUnpUhmgKVK1yUb4sSBIxxThwLWG4ZVj3ef9oO3YIVV7iwsPTO15I6BSsAhb4Iwbaq6cvB6H4TpLsgk5D5sQOeKavymBiKyV5EyNp72wXuykKmio5iOiPx+sp0NB8SZIX4/qPOmYWqML+ymBvJnM9K3Lm6XxA9dxMzBNj0SUyMuGZrLjMm9KKLJR3GwtQKOgot/p1wRG75SlKeVHi33asTGPNctI3eUGtPjVAT8tATxVQd/Vl8o91A32p5GaSXhbTiLO8Ea8auZlGGMl1HJEjI4sQ4acyTPDPs0N3On2O/9S3NhgWEZCUX031zRPI80e8a+TmGmEk13tGlkwtRqyg/5pMwerij21DHd/lXje+QOEsCXQnLsrS0JON4T7eMsRRdFlYXUuTQM7rtcvWJp6q2UiuKk/El2sB2LNMo9ang+rmycW740TDGZAJYejL/Wn+065cWdYIohGO7Ie+q5Ies/ECRBCsnQOgqcPx3ZdC+oFHkABoTgCWJCI/uSxR5Ks5iyNVA0jkAfgNZ3j9WZJpah5HnIlwmiy2+NpIFQiqsH/YLxH0OwB0voHOB2Tb8prGeFawDMzvpIVI18WvV28yWMEysP2OdSKtF23xpnhPvCvuupbj/T2LjkCyTTKEtfGAdUJdHKCwBIb8UXD58Vdr+Uzj5u5g9endU9b2hcQZI+J9VcNtC/ZGIAcd7FXl8hljXLXmwQ6ewO3DHTnIv7eJxJzzfRW5nbXmOc+IBsRCP4zjv3Qav9LoQTIIGUoCDoqqc9zF+oL53W6BxcsdbN14YWitDMPO2VqQ4/1iC/cKauNlw2kXzlWjjSgKd8GNPaLlrqeRakkj0ZXGbh7Z4i6wlQEKdQOgqQOerPPhl1CVVuPaQ4WqEpm7JI8j6yR7QZdpmhDz1mHO8pA3ZqYI1gpzhkc4mkWeFyXc/pOTrFV6QssqSodB+puQAdr+RGY8Ofly7oDVslsToLal7lX1JHCKJdp55wDutjnp+RGSazeA3MSOaXi6BZoGZY12R8P61XRtMfW6OLWHNK/JEhJYNmWbrs4E86Roz5ZN0MVlPFx3MDsetLSsKKhrbGLBRyNHbVhlH5HKFI+BkaM781x+PvtZ4uaj3j+88BWnw9FheZ7F2p0d9hc5Kp6RQBQDgcPOCyV/P79ZVxDRinGvLN6YEsTx/kvMuovNIVWv3wfenwaGG9kjpdgJ8xVeVSZ09xgP1+4/eSum2Kvt0htPwB5BhcUdbEDZke60gTfE8SY45Aq1DK6qmYZ5IQ2z9dgJ8QWpwqh2lYIWz6kg3d1u3wTV/vgxM9NbG7stvo2xFIfHvxH/bBFJ2IJDW503v9bfQCJ+UWOfgxyu6bKEB+aFPCA17TlEwa1oX7SKl6IyjQOqVGwQPbnEAmELRlFF4yiP8iii2Wib59TWeHCsOxmfH2tP7pn/yNGybdwcVF/z8gG5hbsDGo0AWhAaKgbMjEz++BMbPIwYDURiXa9845epZTGg76jznlJcZqQZrGmj80Trqulvs2+RN5tBRiEAwmmBrGXY0e/J7jEQ91wzQgpgL53+QWjv/ZqxxICBtWMjw8ohpn9Qqm9wm59RMOCT7WvhZBXjoJLu1X+94KoNhlkbbp8E43SqNXIeyOob8jhGIiZQ5UUtb9ArKz6n8IE8nQI600afNx4oAmRlF3jlaWvboFTir+2i7vkYlkZFTWUvQmnf7lCGKtvMX2R65WE9nPeS5MqgRjNEFbX4/liI/MCa3pA5fWXYqRtdfbl7GrIS9m6l3WmPiZdmHQsvt9t1bLS3CNClAvruDHRZgM4HlHf71Q9mg5YRae+56q7EIC8EevFHJGcQlU7qbsqOpWzNULgr69U16HlCihpSd4E2NvRAr44RyRlJqKO6e3XMWrbWaNys9elBLsUlNklnsu5s9euz7sptwAEB22LXbr3iQT2VBjfZjHfDbjOC2H0c8nggkUnpTi4sneOHoIxf+gVzKfZI2c3LVWdV6sO0K+I9kHFgImqcNAVtXbK+5n4ylcdRHgWD/BMb/WnwPp4IMnNjqMEQbvJEnbJ41v46qcDgT5wA1uYE39ahv+kNIvo7xXPclhHPR3agEmwdUatoUEwDx4NAXwW/Dc5cXmtavxS9Gi8d0IkGOh9QfceLXnt7epaFofPcbhrPUlpf5V018y+k7eSXAIBnBPV9Q8aTpLRWii8TnzPeE8/GJX5S+jYm28cbA9MsHrT7YiFjQMS7xDdLr3XQzGTAg3tR8m9Cn/EtziWDFQ2Ge41R36PEMw7FPGJpttesfycWez6wqbtJ0V52+b0/k4nHa4HjJiMlM+X0wwB7OzU7yXT7wm3xRxjEuLYVwWye3bY16Mjx8lYMNz7Anye4iwix8f04tzj0U9gSUFBF3A1wRYbpJhnPdP14aj3z3J7Kz32vc6EfNYBU6XGo1LLL0aytt4wiucXm3XPl5Hn1y5e5no/UiV1COnwpZ0MzYxpUsukVN+KBRwUAqjQQ7KSU6f0ASbATb1N+4y7NmK20rgS7NcUqM3KgItBNeQeopcUAKD1I6XjqnaDgy4CIN/2OUAAPclz5naF543uiu4/I+3RcOnEQ8aKnxHckt2QQOTlhpx8p9908M0iuJucGS6DLBpLvHqklkvvcE9Ylz9g/EwNnFSjXhtMKt56iP0iXdkjrdpON0fWidDBJqHAXuGRErwpqx53OnF57fTHFuXI8HlCWXczq/atGv2cR+OaBZwn7yduEbC9W96cmuNoQ+/IftFOWwVjX95m+VS4OYnVfuhX92icWB4xRL3Nhopq8ubnt42af58Yd8Ize4mpSsE/DfZPyjuf9+ix6fq/2ZfnX9eEb0nc2sTd76OTh1BYcB/AiCp45L56HRfT86nqNcF0Bh6nJpvANEt/BVPJLoSljPQDfFyM65xDd/P6bjcqwKx7GnldquU+Ot5Atw9a42/vy+lujYEVi+QKX/8guGxzMcPH7I5RSukGT5NekoOdagYkx8NuTLlBWYyQ57qAidz26+P0RSoP0pK0aI4z77BWExpcfzAyhSUt+X6GUHkVtNCLUx6c93dz9lP/z4/LnM/BTaPv+fbxCvYpGIgq/RcdQ6jQ2MY10NPrV5u1sVS1tx8E/FznEWn9EiAknUK7zUnUMZ9K5utLHArVGa+zJvxD0qDHd+fBrLQDo4J0r8sH4Oc1Q//iSbxOfnCe0+jTaxdHBNPTJx9YxXWRtjtf7uS+9D3Ff96Qpt4GyvWHTgOezxJK7mm+jHZO7OyhAh6nEoa8HPRkMv0ofDi6RU7iz8DIXxyJBpxTqHFzgG+UAiJWRs3FZCALTDwpyrfCzMXLqUOoBGaNZkF50FILeOhK0JZbBagB5D4+ImmHDjwF+u1l5usePGSjv99fXjphGd81AEYdapAD96SToDbbFHe8f30qM8d6Vru5pMdVJJvErRLmu9Gn58S49qeooRBMYZeIn9u4/qvaBguLV7nifEG5zeg7cIwe1Vi/jQKE+pUVfNsUTXdY3CDhrNwpyXJFu5FwkdEG9XAQhC2TPtvGxGWM20pq6suzM9sF1nfOmbbrJJ70XpBS1/vyg+aup7LwhH1PEFq+UYHXWimmVyAiXa6MAoTTIhn6EENGZfODZiQN2ZHA7iYzMOTDpLJl6opV+YDfs82vSSE+kTa9IV33rh6TYy075czlbzvoyx117S5CnE98V4HcgG0P9xAQh+ssJAFFMk08XPgAOC93IH2nwwMeUzfD940AKYtIDY+SlBrT6ZJ6Q9BaO4+eTuP7wNfpJe0yV37HXLdVeiWDDf59f6Oh6bIVk736u4gV13xHF+JKhFuNCRYk5Kw8Fx6/AB4ksmWM0ldOGFGHB42F2BHgcOtQvgTGprFkWwwGJm0uA3WrNtWsxORmvz4piVcSLw+E4YNPsHU1IVL8Y6ElYIh/qSG8LDrlkcPAYQyk0h0zpzcYpy40X0wEAuWIIL70hCQWNOT1iLpjiaCy9SRlhfcqTqYxpNmNzLa2DgBw2rBxueMaoftLG6Uw+fds5kC21ehlG7vqzVPXaA5GlYOnytCG0JN0ptU63caGATgJ0eQa6FEBPCKh8tJY+yQlNnhw86JIQwyXrpwXrk0ZmLf1JuxCgtKQyuJkecNJ6wN8uE8RqgdH0n2ISKmB402LVg7Dp60SS2OS2MfiI7OIf/bMU3a+OxBhFO8/D1msSpBaD4ToRQlL6JEU+CZ4+aUlZrk9eYFUMmJn1SfT0yQy3RJfUAHfSjapJ+3g4Az5W1PFslnIgTSk5x1tlG8Vu8SnJf5T3Xnwb2XvT8aS9vzzCo+2Pv2XHo3OFJylflOAf+LzRyRTF3s8uog+n++9L8KrJN79ruSvvyncyMjwLlD21PTAh2s3unfowTp9pPExo7wjBj7yXaT9N0TiSlp6YKabg8g19ABRXF8Bj0tIM1Bl78qRZMr7cRBJJGEdGviO4U0xsOiinguCAOrcOu+wW1AZrwDcMH3gXw5C6Gs1a8HzoE86G9L8IFNECuSiMFqQ4XLH7wQiVqcLvUvXZ1YKBinzjyc/YXVNyx5q6HI4eooIXIJO3Dz4vhKcqwpfw0za0ynKYuPEERNhIqzLdvUxaGUtjst7blCkIzA78ylBDb2zGX6ev66P1wE76PdnqCsAvdfOjk2i3+MDr25D4xxXSN24YiONQiWfYcQOjggxY6U3WbT451rhr+FSY5cRaC3sSMToJMGFkDHNxLHfX5KlkTm2aPMaMsfBA1DV0qlSm75HuSF4IG/mlKm8ejj08sSSjZSRgTbQPEgaVjm88N98BJ3xz5uu8r4l7Gch3jcJ+YIFAddi3aE4L9bsUI1lPFm3VtXiCgUJ+k6gNDmolqfqCeXuB+Tr/A6u3BkW7rw/Rr1/QLPIhn93kRIEopiw4IF8345mjp7wnG5Opy+/3di1YRcDFzAnQ7E4Ax7QJUJsqASKCRDnAvL4mhET1hgeJkjfkyDMLAHIlAEYKtOHv9eYrcKA3pqdngJKtH6GvN3SSkszsRqAusLlFrVgNLh7Q6YAu2UCXB+gUQJITCPQWwEnrzQ4qdbe4vdBcACT0wPDWwf+m3swJ0rMBUKmDvdBcACT04E2ct1XiU8Zb4rPF54gn47rnLdQ9EOplmeVBXqpJckCnezJDfG+5WtIpWqIyN+xZScVnPuhtt8CDvPSTBAEE50Co6naWlsT8nEQMNGdJ6Ms9TVkPx+SAJaBZP0NCb/IUIRHssZck9SZfx5nitGcx90RB3IB+LsBoKK1gvosVlrJAdaY0aFTTKDJNGtjFaSDladFB/foyzNDWmzEmBABqxWP+9QZlNETl6lHnZKs/V0C/6yBFafKksSHbvxRLMhB0veeaXpegsxqs3QJmSC2TfsKD3r78SRAf4m2f8qcsWMxiiAkaZMwP0lq20qdR6NUIEhOpkvNgdPFhXpDJxK4/6UIDYhIV1te2WJRpoMhb2KwHxBHga/pvyepQGDElPwUsfgO7K+KovXSAA0GEF48/yuZ4/McUMheCkF8+25SxbrP9D3844hs7mLN5/jnWAALprQMWsW2K5uJd1c1ZWL1OnxrQjTBQkgNvIgeilb4jdEMNDX8Ql+Utte6WG/m1YN5bZNjcpIExmyU/oAt3GozToUcfCDY2OM5B4azjGDSc/aT3VnM2HnCvNWubzQi7K+KeYZRdSgwVI5exUN3Wjbb23db2HznweLTjFhaDaahyPozsCxnH0KYz79hgB5EDVng1lewDyGd+6jr3yZHZTiWxQI3ts5imdZEEhgq+UhOagjg/hAx7QsaIOVeHsijoOE7KQluxtbJkUZkHqRbh1Jp8MUq66aQbgBt6r4TxYQxpVh5Sahr+nhKRj+c12jLGM+/GqqUWtstL6SGb1KtO3Vs6S8dmbUeazblXIpYLxHo/wg3GYKh9zaMyJmOQml5j2EJRm88JF51z6tvJjF1Rc8kQ9DFQT48d4fPH8A4HQEkcif2yn6ZGTV5fbuQD0jrJSt7rztKF5iGBb3U03mbb5jCCTZbgegD7BfZ8qBtCpVSbcx3wSwOYu2Nv4ZwvV+Dj65R/kpPOlHBprh/w3cn2ydFxyNNrsILbumWCmvXsvLgqPuAieiW2SAYH91O5RodrQw8GS+4oGPjTXiPDhu7Ud0bKyOw1y7YGSOrMXjY1sBsDL+pB2J2mjLoRh6rPZ3sOS4dbLbbNZCYuZby3ZbK8PNHm10oMY4fkQXaoGOItFWN62ctnjo9DxLK5toJO4IONTxnOrEty/NSnieCwcs09d1WGGLM+rxBUT9tMKoVh1l16NmHxNqWmZK6vX28KZlhsE/5AJAcNK8SZdK1mLVnBEaNhCr1WKUBWskG+rW8pAUIECwgND+5Ud8AbaX0ZXZRASQ9PB+l0w3g57zqYV/cM9CeZbr40lrxNvPqMX2csiuMl86IAJpOl4lxM8dcKpgJVTSeOnMJdtwFT5K9HaThkOkZC/3RkHvcXZBz7o4z7DdKvlobzcbpYvhkXc6jXl4h0R8hamJOdBpWmXIdZxPZ8KvH8EtTRoq7+9wAWzvD9O6T0/HJtfOTDDzosugN+efKSZXXvXXO+qfeqr0fJ9/7+i9hyOPw/fw7Lilet79p0RO2xeqZu0dmmlS5xC+pdAuHeQ0E8TGJOPI3k7aeNmGlVFBGTeIZr/ZuQ2eTk6YjWJhKBkAzau/6UmI8dNQ69kBkGMN2BGNW313g0ie2+Slo94dAHVqCqf4j9RHwfCi6D8apohK/M2xMLjhFFTVKOKCO+I3YelfPFwz04zvA7hVx2/V0ZsONYHtuz7CWeDs3uKVWJtjGqVU1XKU5SCrkDnsQmw8IoRh4cO3G7TyXCmWhuv97ECnFsBm4hahWasQZRTjVRZSMikSJnmcEI0ySnm9iPKG1L2YIgugW8OPaRKwWGvtXnaU33p6oYlUeI0fxYjZe1Rhnb6JqfKanI7nFt0YkNfxkmD3SmxjAHrwDjLF1+qU+Pl6/PdksGCrBnrliexMFMWuMVizKQmDNbLNzbnSOPqZhWKBJfNFNMtiXeopPyeDniM/0Y2gguU0vEGbD+y5ZNiwRNUymdfE7cyqNUNGIsvVp4GnxGM6mdlzmjIVtOu1W8lheG5txeeXLNsdafczdeokAZvc8TixYATTkBHKjuma79CmUiSJQ7WVz6UhLPRzK/uiiIPuDqC4PISFi0aGbfdObE8878qGg3VQ8lgCaOeirg0xRofVe4V/+YQEHnIfbVxv+eZMKSE+Pb2OfDLH490GL/PbKwsdsutF9eIo5uD4Vi64e/6phkk62YncfYdnnZ+H0+/jK5INz5Ov7LzmCkEXemTyWutb4IG7teD1N+5j6rSW+EvibeBkxYL/VrA2e++vYYMRCYoF+owv19588BbCOd1S+cUM/WP+8Rta3veh6VfH0Kx00x7MEZ+FhI/8TRnv9gE8fZEHNyTkbcx3IPjliIDhfjNGwN+oLtB6zdyLPUud+lCxsgT8TbkWqb1DjPPV65bAs+323jc8qPavGJ3ux03h75tvH286f6l2ZVTZ9PK3z//nR1o4i9xBWrS2cOM938y4C2k2mjaqQo9+E6gjiZX7J6S4Lwy8d164QeEvGigQl3Oh1Hvg9DeKSMBdbLBu0RMew7C/zforc5zKjTkI56Rj4/Xh6eMYj/j/neiKq5Grqfe5V0Pvsq6dp/vlSeGBA9ocl1nTmFAG4ywGZmCaXQMUo/946dh5pGoDMSjjef/4hB4Mom9wxqaDpqQb1JyXWeW+niVbrfrG/HxOZq4iOmAyw5gD66PwfgVZFq5tfayTEDZIpHe4qc+rwb27NdKheeZMkLIeBK43Vgz5bgdHhpH7wtYNZ5fjbgCRr7+3HXb8E43YpotUjUsdUPn9nQIILL6pGflcpM9KXaYZC2aQ+c3Yp2vHpdqXFRz23Lt41KP3A6ukbeSOOrCOW0v7P+2IzfVHiQU26r5wjuygW+PlbrMjBNfDM6DzRjMdBsXJzweElFiap0VERQiKC1woFjlI6rfdNBr7a+RporcUnzgWJJsHVM/JNevd0mnK5oGys6wZ+OZIXIvNXjh8pzPz/LvJZ7j9eo+NRaC3dmmfaLwNF6P9lz7w/FuW2n6dDQ6zhibpG+9ESlp5AY7RQQ6WtHcbAXWu64HHBoaC01TnaD/Xo3ln4PjZPwdobLtVnp/YyMwn8ywLWZxQfr4gBlJGl203UZupTjc3Ne1+p9erEFnHuFYmoyeLob99tbIe+9s4dN+m9VROkKOjOvD2Leo0dFkmZOLTLFsvkll3PnU0x7UwzxbpJoru5sqRwZ8K+4DPbKZMS8uD+ZBe1UdgqpMvn7jiSZf/zYblbj2zxS4VregnBtW3Ztp/VzpjZxU1tMzhDNh5YZnM9KzVAsbRYuC8T9niyGThPeYeeJ73exC8zshaXzBRa+8VJmL9lhDoapyXZQJAaWV0KahgicM1kO3lWEMusa63Z/g0o2JNLKiXYSRMy17TcgZogDLvJyoM5URm0fP4bJ5HHWgOvcuSYCbiZ7GIKhO0JUJavlu0SY5amjuk3IKdJsGb7godctG4Lydrm+ZO4inlopdKPrdsD49sPK/Ozkp3J0Wx0OPt9TADvv8+e8xucgim4Oxb+n6EqZjkfkoc8eoTmPaVlxvzHaKxY0wOojxCQNT3fTgXrv0oNj4dYt0WJMk9pGWz3znEpsuSL1CTyQTsPGq6G71QGwS5feyHUh73R0NLZ1RLcuX0M5J6PkHeVtfjAOqdAea4vW3ZZLlddtCq+VXlRk+oaKKVScPfcd46UO/TBQXvUEVVXBZy5zgULE1XGa9MUbl9hk+OU9e8uf9vgCmNB9jmWZjcpBknw6BHzQozisRgRy2nd3rs1tqxuA08tkaw/KtOP6PV3GmVDfgPSrkceaE+D3YJA2YTfZRg+4gfOKG7zYF6hH7I6IE+dOsb99QXwoeIjDqH65hd5hJgDn3v44UY/62DxhFnzHFOqUa8PgX+PHV3Z2rb3X1RW3vWdhTy/GfV5EGqycHTTDNzHItSKNIBdtdLVDnahVkqpOFTQ/GgQc55pynzKCKhhOBfAtuj57IuU+BR9vfEVQIlWdnKBCVekwAnMI2PaBgEXgUYpJ5ag23Aau69MdEegfdGNgJOqcMJZ3HFUMMAqwppOPxZiOG0x1mP1wlrfm/Ao9o0swR6iADqEwVY+FoDMVJAKJk0p/1EJFYJYpAt2Jqk5UOkbGLqAilqoBRLBEU7uEBJF1FpVOISNUSnUqIqnexgEAiiUgioCcKQQirt5lJA3fo/NoyTriVYjQ545PVjzITbhg5U9RSA0dIOTIq5zG2xVynEZvG2yX1tjZN14sUszLP9vCPdtvnmawXmCIqoEjvnASjQZ8ZkNpi/hqDID3TTf93qVq7zhiQx3Z6tzCslh5s73BHcgjZF7L8iOPikgvfFREkER6tFB7wZwx8HSrZbB7w/b815wVD3wdi/gaRXyK/pwgvxi1ikApccE1ws8JG+Jlf8/jAAaUkqzHAusddR2R6TM4ruuFxRjvoWiyTVolUtxEX23IQ8ATt8niW7wx33y2XyraTasxEDXHYLJBjd9OYR1rzdhKk6OBMPYNt9yOMKcupIU0WsX7DzP58ZuxVSVtLHpDsWRNEFmrkDb+wIjKlUNncFXOqlGYzUHFIUFx087NeuE0/Ss50TK6JRpK6ZSvEKmLuh8kct1z2mJxc/nNr4Fx2Ro05X4aSv2h71athtB1CgknmVs/ydwv8tWf5aUqPFvNb5rhDdAMa62Gn2G91VkNGZOTbYby8PfpmvLhz3RICyJjpS65Y7jO7JSxoJ9wS9qGa0O6BtK63ecvu5NAslScI1na3yIUPC5rlnXqzTa1mktltaplms0lAYaCwoVpAcSIuPVBppULNMQezP7f7v8Y9OF1fa6c0Yp8VtaAS6sD5jQ7R5f2XRzPyHxuDEfuMEdesBAGBVPOXNAvFnLMAaUwK+ditNerVGBFwQFjO8hZhBp2sFa/ejq9vPB1mxrXEz8x2099ivenmdTAQqSWIkCvpgrwMGXI4a4qqs2o5dXPWWHsNRS+QOS4Dd6rIBajBwBCF96m3n5bg0lSCAKoX9reD51782X0uumBrMg9uzbIp5fPI+1afsj8N3SF4k1qzOu+A7JyzLc0UGJuvzlRKg9A5YcnSeclYUfE9IvxKImLN5DqADheU8uiR1Z1QpwpnVfctP/UnswDwzBHDe94RM+gvvE2grBoYRCtj3VFr7QfxnrosxWslprDKfng2qaFK6TTo5T/8k9yR9t+NymByW94xNlWiXMh+/AOevhQnNrJUHlmER1O2qBhj6Wpg6H9kMcVEk7PEg7HiEiRp1+x/sQe+9j3IjJpjmonLwr/weaPN+HfX84jwV3aTnDGnP7XgAD0HdEwfaIo9pRRTRgsSWs7U0z3ybsyBq8nWb3FL2cW4L5i0OvVicJ8NjQ2zCm5Hq4Kvp6+Ib4Nzy+IalSyct+AYfQpEiNEkl02quVFDRosS7or6EI4WA2Giheh0ntV47XUYzOJzuoGWNXC+lMQsfnK9tCwAZfurawV/CjMjutxM0JGmYsHj3j0sdNkfDwYSVHEpc8dyKM1XO6GuwggJK4JgAeJDcCDMBsnpgHkTSX6WCFRpJUtJ9wNHLU079olmXrFugyrg6QHw2DgZWfrgymVYzhbZJ/K+IDhDU7LAGGgFLTWNPPvsDWUnAJ/de7rHWjwULq0P92R+dODm6Kf/r8npwAsiHZnjLH7PjRnvbTS3eh5tK3nagcysOgFZ9/jarpsyr98pSGsfF8TjmiarJPNtFQEs86BcJ/qB8mAQtqfXe7dnzaDf5l7kMxFM3N1/3NjmK0hP88FIhFWxXYElxlM82oUkbgXLoPDPHH31sXR8Jl3u48x90iDYY+Hj9qJMWLIsxogztZgHkIezKMT2kSqEZks0D2Lj4MJSdPP/PqL8Y+2ky0ks2eDo0jdQ7yxD9mj2KvjhUH8J2RQsnlbFM8Qv8EuiYx80Q+vszGwKC7xMUWB8Tw4ZztjOvpi3rNJDqfe+ShJX8a4tuVUAn89tiGGSTzv5rWTPW9VGPibJD2B+rdMKA+pMXqWKJ4vuOLwC39MsESkaXSY1AYZYaR1Ktl+8wMy6tCSkiCE4QyFYZLM04wyYaLTeozgsq4K8nbGs4ACOT+6g77GmMTooM/gXQUxLtUdZNv1ndrp6Wjs0NCKi+HDGax/I2f1D7dXwIllCaSaoYUPF8otqxhD6HRZd5wAOrm5iqOxs4kiOIkTxVLx+3usah12RnNZrwZduiAg6OWGO7gKw50IK+Wcv1ghfXvaU6Fs9zoEQiA8eqh4HaIkmzql1RL4JMlw9Zip/U3evoQ83loHMA+QD/cieMC58jHVReWI9utaFgW80YWfiM5VDm5TWpDAWGVJw/AKDhm+7872j9RwaZKGoT01rEsUDW/pTHKyz/L4M9Jw2qgCfqyIFDlfXzo8tSkdZY981hKuXrm6S8y3wEpK5WhoTAgp97GLUMbpZ+W4qGaQ1BO8kn3rFA8oQgPaxMINp5IDcaCXPdSTeDHgk5RSoxcTFonpAaqoFV0C7iSefUFnW2t4pXtmD0ONEh3OhxinXCZcitKPPSQfmQUj4pvT9HSltFarxzpkcDPtfS0U7rMRh/2AouvPbXU8BqP2KfGn8WWTFuSKKtvWn9It7GAwzi5ODb5WBvk8mUFJdewuD5RM1eSwAhj30CrRzXeaNf8xK79x3A0Uyrjrdqneb8KIvSIUYURRiC7ZUs/cuo7VRUKUp7xPvT+OkVCYoOuiPaSCp1xhH6SKR5Cpk2motQOz5bLsNVFUBxRa2Aj23KdPRzVaaKjvdRc9tOGLzevLPJ3XGte40p6v3A6snysbnqluozjPjNk4u93Cm+xTNu5SJAxCSU8KjfVU+SEVMOoum83XZdXe+Rjnni99V1p7rx51/J3B9mf+u2PMcoMjxqiVztWEQCV9gj+jeiYyi5dhW+HMggE6zZkOVhRREX5mjkQaPbNYrZ+22ax7dPP0jgZaUB6B4AcXF7xAfIUiEKikRYqH1twZgJjRmZ5CpccoUWVoSK4BrGPoy2DkpwBOzsiWmaxXusUE/dsuhfYUeduqg+95BtouGDAIHCzSz2BfLMthLo7Oysee6bl4+1el2fMUvvA7m3JlAklDeJpefBcFx9aoOoevzUZYTHe0bDzZYNxWZw9S9Y6JJYSCtiRHa49ICDDU8ZRGhbdIoUyGLEnY3KCWTzyRVBqaOzqZAR6lrb1tvFu3zS3BQehnom1weV+mJ3WGAos+SM4hHoOlhxbvBDHPql4MP2UY3/H3PJXfcWK38s1vpI17DlwkdQq3Ts23Fl0lmSWxF05tMa0aMEFGUgZzmjRbnp6qwlueu5PPHGhT1SV91fD28lsGEl4ZejYjIjSuzyfKxcI2yqvzMLYvCIgPcVUE20OS14zsJv07TQHl5MZggfUSxvUsHfcIVbNVZVUzblsl/1UVJRccrgG4UBxxZ4XwrDNh732YIS+emgTNto19eEYo4mWhs2humQtu5a8HD6MwNIZ8UmMURiiS81wn+ACaVxjwg2SIyEvk3A+Ey9bpkgcyvZtyf3MZwMMAb7W3mQXEAhOH0y+AHGdpGjGXWrWkynCcxk/yNIo2lTI5ZLBFjLmdPINpMJ0o2KyvEr8TKaNaKgVKUzCmSYWk6N70vhmMmqcj6/VQ1jFh5YkZJt4qhY5rZCUI05kH0QWHBpb8DlfElT9Hvt9p8fPiZt3V2ZAwGFgHUY1Yq7HssiLLl3ixzN/ETKU3lg8fTm4dvg9boSs+9JeYvjsm/BOvnTXIvj/4E0ZQrdCWKHn6J0So9bkUcJWgOnRfGnO70p/AeEMFTatE+s8mxEMFWxNuQOdZrJ+m32qF8zHg+1UXWx9j2ltn+wkr5gPzWu18oD6cFczpF2uaMEV4NuLZjKa3VK8Rd32gf+EiMviubAPgG1zhLbjCWBvxLtHKshEM5DwyuTFQNxHBbhAcDoAbaiE3Br6RW77eLQc2hNB/fBBt/6NCsPb8M1CPCKhX34sLTO5R/+VYoeaCpbHPH97eRZfZkMvsIgxDBMPoqY+CF67b20zSMOxatVFYKvhDE6d4H+uW7C/S9NiY2SvUhD05q33iIAARa0x/Ruo9YujEMLjpWzqCTnSXRlNG7wj+nEN/L2RQDz0aQEDGMmKEUy5rXMUvhgYgyyBh5kEqCFJLHaTuOuiAmt7tc2FUzkGlhmeaQS5B+phGEGPaiwjt4qVVzFCclzEgQgXdkyuYh/9oQ8g+ok8YFfdz9yhB7zuoJ1ELp9eJ+sTYXvsHrJ+Z0L//h2b6sPkw+uGiGg8c4AJ6nAIOXS2tNyngGG6X8QBG8b9aAMyPn9sJhoyaB1/8Fi4jUXLj8gFTjw7pUKU63001ifbTgvSfLGxTbZ5y/e3sr7+l+kzRqmQX9FjI1B5Z+NABEGt1ZGEYmJYLUF2cOGOEmur1ZayPJoYTQJPXBRyo3lHnKv+QBPfvrMH3k8fwrFEsnca/7+tTu5bgq8UnMlzNkDRvb2QG5l04QWCp7dkXYZtPahGmCmvXgch/rxHmFlO+Up5p5J+03Y1sy+1k2OzDX3iLo+fXYd8RKf647NrkZKKUkDjJYqeA1pe+hc/Ogas9vyhTMKTfbYoAMnGZW24m+9tC9ifI3uOk5WrysTpNgLg/vfzCl0VaVpNvelukSXVZcgGqVDz2tpb9Byh9Bsuj/svnnBlvl0ecS0NQlGlktbfzJEhvm76pzZ/00kd9+jZ4l5XqqCN4ljdRnVo3gLLPgqzPjrrJBtjgKF78biarOEQftcKKYzqfssJcFeHqswDhSltpNb2AOoBXK8KbBfRWhHcrw8f/B89Ynnn1jtXgMeCxKLEyWddEi6FcdgktykijeCZeTPnQK7QW0THhdcmSINRgVolH4IS5aTn3do64iNUPSWIl3m3DYYZglZADxjOWA5ZTuoesvIIsYrnApovo04Q2gVCXKA0wF41BtCmDjx0Wg2iu0JgDhKAaUSQQJeggeE80ilhMYi1CjoLOo2oElhDLoPEK5SpoL2gMwQZAfYdGwWEss2hGnK2YF0CJZRaNUTQ5j8VEtBNagmUEsZ57j2L5TbCxODL5y1MXIA1ElSct/2DpD9UoPI6sGmULf2HpL1sTHmd8udLW5R1LzrYW1pEBkc5ki6VfaoS18s+UdhrO0HRCHGXn4RVLM2oT1j0frvRsIaBJqHuhyfxDRJ1EowRNietWaFr+utLSwwmaMotGaHquiNxb+MXSgkUWGmfRKA8aHEu3XBdCU/AfkYbwD0tLrqfCKvONSOOc2CvB04prFVYttaU1ijwSvrG04XoQVgMfprT2MqGxp1bhI71QFcLH1QvVTPi4eaGaSlibEKOE3/NXftbyZrmy+tr+XGL76fmO/fMz++Nu0LRZvT92HAf50HnLppN3y1dsVHrP79lEOddq4GfHM6ve+aky02rPT+jUqh1n54lVW/pGTrRq2XU8tmrFzs/7AUgULUXCWSlC8YRhxe/U5RhmNtfrZdHFTbPK79M6jyFFt5RQUBITDhE9TbMGEkmnCUUhx+WhCzilOcxQZKE2GSii4DYmMdXRYDdQqMcP04auFmUDRceIBji2YwMjsB0NnRfIoNGB2K25YwlFPaI+UiCyuDVvCbet3JnJvu/2DnU0F+uMSt/C3jtBTtEAuaCkbkTOD3oDR491dhSo8NYbxHHYscMqPMNuoL1Z4+gQDPWILiN50OgQNlBVN8WmcbEDGfQG7jVskugQWJZfpnZCUQQbKBrRNCYlBGwSKAJWiiEVNnAU6ww2kCWf0nkDhXpagUEs5cuiOZIXYZNAVIYzERoHLM7ar2AZFLVHc+mcMZlF6fc7j6cxhb1AejUHUcgNHIoYke+jIacloEn8glg1sqRnCRFGKPvLuepGOTfw2ZGQCm87UNkRVW0BtKYMfg1Hr4qQOLbpwJXGNEN2Fx/tkJn+J2mW0PYSypDB3m+KDmi8QZEdOf5o/Z0Th2AgwcFu4EnBCPsEjTeEMDsa3C5kqAdq5QYosYS3NaJw5iIHcdtelOTbohjqWzgpWBS2gmMXA6f0TlB/jQi1P5PIrmqwyVcD3ExzUtjnGtxXhr3M2HNFseIYQuGNmEtJrcpQaMPPjfzi8iyk8AzFAs1GzSHiertZwmF0MRZROtwUT6fcDzAktsz3alqVyMml6wp7XTq7w7Xxk0MrA/Y3ciYv3mnCDGVqh7oZO1GUutkZs+1APbl571jPNPGv4/0fCyp3/sA/U/vUcZLdn5yTp+HH6WZMdiga7KKQcVESoZOZQHy9F72VoM0h818G4N9oaSBZBHElCocglSFB7J8O5YLvnYB5ijoeOPBQNUVoiZHBq/2+GKzkGdhClWdlAxxfO3YOvMCOxdEAMqfrF3FfsVwNKFh6XGGEQorFYlIU23CYxK0blm7UxD+ebk+U4k3cWqde7y1wucsXlsDrhDDkKxxCFm9fdOlKie92Hgncjsjwex7JQgcBFFGSl9N9YnI9HPVpn8ZzcEGw3HFVPmh3HDy+W1QmSmAm/ZtEbNbVO/BBQtH2WUyROuZkFBIARKEnQNEI+UUngcjRUAoOb2dDKeto9/4mwga5oBgRCyhkEvZCSoda6zN5e7GvTY8EJpPIzJwMIsvrPr1jKV89fV0tRDUyuVFClvbdaabAepwN57Skoo6fOHaQEeAHjALrRAmChXIVD628r6j/PYunaUTiwsCPRg0cPgpBQncDs4E8hhYKOBJYoScHHtwMKMovi7mjAxTxO8Xi2sYSmKEQCaD5wzcjVhuqUoXayggdws8gcHmdVwDfAHaZ2KcRlM2nMam1vL2A/w1qspioXCihaKQrZBIpAJkbMNjQCtMxJS8N0EChjuSF6MCcXqfnyAJtoHo5B+EFa1xH5AiyGR8piwuuMjerJXIKFj/pzesh5a/EndfcOU54ujViTWeL6qgRp2ls2BeA1Axj2VNMDRzOIABnZFTSlQXpGIHDLLtbssxE4WBl/F0o9WMnp2nShQlF959rS9Cjg06LgF8TmF5Y/dB1J/txYnYUqOaATTUDwI1aOGsa/zL9L5BgDg2wVAGoUg8FWihwBUTMAVuoCPqtASZ+rk75iPF69RMitp/WZwATJTB/CNqpaNc95dg2FMli5Duq3f/sxCFSVeU0KqUNk1pdob6kHBctpNR24H26JYvIPNK9mez39WUZ+7NFMB2EHeaLdgDxtuhp7u5bb8Q+pDH0icXJaCzidqPGEyRwQsNrt2t5H3NyEf7593rRmjXoQKJgqrChjMxJYOD00BwJfChkQgQKOh96of00KEji9ZtooROvu0KWeDhqGLoARTkbxNEVGFsyMYyQT7ed9WEHfLo2DZgqIX5kyqqne/sybQi3acD2AGIPPCVRAvaxkUg/3+7OHH8Yzd2hC5GrmIDYFmCJW1kEnN9A1PwI8RAZCkw9/ITzFZPJvONNcfqRxoAfyVYULnWz6zSFAb/5SJQLYy/oQAcJtEtW9NOQEHXR2x+mrgXTlmACgYlDfzYcsTgZ5AduRDQ0Zsaey7E2HOVLpPEQfCGJhPN4uaaYnE2hEKkPR41th3Xb821ify1tep2KZSMlTc1oes49XOf3iXhr6d76RfzUpQ1U7LW/GsZ3i7lHUsYGTAfeQM2cThSOEuKcoWVENwMVWTXdNmPe3B6BuO88zCvl3udm0IQzHKO8aagb9MaJmnjablOYAsOYQuF5gsXiTCy7Q0qJq0Yb1RToTNIfyloHmzC4jdVCCxAIGpyAG397CFiq+LoahAF7f/xUhQx0qkwJhxwXtfeRDz9XWTKCES5+GjDRTi2+/9lIAuZjAzqxmxGs+zSZeFlZ4sR43z4D7PXbZwAegCkxBTZsAZ2Cjsc8SuY6Z/G10okeEQvvJzHikjUeSivEO73dTziWD3l6l3rEApihKGyGCz65MzRPMRO+yX+yaoKkRoSMiQnED3Ll4ERrPsr6lVT0Yub7lIeywyvyy56DeLpPkbPrfuSEO0jA/7N0+MvN8HI1pYuZe6L2Hi7k2CYWh5yki4bo1gVaM8cBje21xzgPgKDsM0tGOOMqzxWS6msx82zgk1Baihjzn8l5AUqCsnnpbsgDv1U02MjoAxNEYeInJUOUVpeXY4C3UFlGtjbJZZUkV2mbYJyeyk7E/tDg2MgGsBxKTi+AC8YXZD5caTvP6Ejs8VZuS4Edakp8BWZ1tYLuCOW9mg4hIykikEqiXozr2ZkJdczGsBkOG1XrYZejib3mSP8/FWh4AVnUlZKJqUXwH3JIuXaBaF+BA1KPDBVnWRB1h5sUN2UUUlLOAEbyJt7T/ajKK5yzFKoHE3fIc5bnQzVvQ1N/iqHjR9MDn+sH93hcZVR1YzjiN/u4pYAP2vTEp8LJ7ea8ffftV+/xvQZf8PPKTrpbbODSjPbpjoRjO41ypaPWPDLa8PcsCLpGSEnubTiRX9xacZyShLBjVBnEKUvD4cJbG7gkYCyvIdZMlNCw0grsIQ6GIDUZGKx7TV+7tO+GZhsz3/5Rjh4vulMQ3k0jddmukAE2e5ajaUfdnLk2BrVp+D0alu/fdy0350MXEdJIjF2aG/ay+E/8uTf59ZSTmH3NMvWBBtdUNEW8W/+GQLqQFW6GUz6OMKgMGWN4FZCdx9l5pZPk4sdiMplINDdUvSEhPIz+krWaqUJGYJHoAHt9yGPCRWTdJ27HCPZWGczVZJid28t5vhOXq2kcQweGOq0S29RxUQa545LDi0mAmtYOV4IR97d4y3WJPAOA4dDmF+UAVNuJteBI3zlDheqVmbioCMMSpz+wgPJaMdSY3RcxMlGFjKeqbSolEkEIxYwldIOVToX0IxyPTFCr+nOZLpIxFDEsYk+KOdLP75gy0S9HGl0UMzCcqhgh4qiyeillC8HPXajzuviiyNLnN69tnFCtziIEVhH50YllavYhn695YyZ8XVm3fjPPi6L2lQlTtoEm3taG9UNDoxeq6SzX1M+vNJpkwVoRb6cMHNFrf5bLvOWr12acdIeEXdmfUzxc82YHWtKNq3IeIo1zmMnEiYt4rWjBHk4+V9gjaW+IK/BBXmsDRjCw1K04EoodIyjgKLj9TZ3K+55s4tJwfkcTPP5sRvXUtWvbzxE/JstnC1zuJFhE4rgq/CSpJ/ORCcW+6+mw2EGkmtpRBhBd8+faZtyK0heJUm+5nM8ctTDDoiMOMsmVPOshAxnVXMGCnPl2jhBUVN6cZxcMRwpVCTjCZU1qDYWqihfmvRgVQDS5NYvshRzQD8+Bpr7SbEpN0D38M7+U3wreL1q0vUBRiktPpDv9sU93BnfZjinHeUDBGc5aYto+h3P6pVgDz3BqAg/pWGHymA07JsqX+D2IBRwJ53EKGNTjasskUKssyBV4rRJb+ZSarh7OWxuQ4uevPZMCXds5EvKQe5yHGGWOISJwJHSYeE+cDptZRWpGWAs4aHt/EeUQhYAmiGxPZHHhWD3IpiHCEGYt8Fx7tlg7Cp0ApwlaLXV/VFpsKgTTihNKhSFG5XApuN0tioSDCqfLonGXyS6AUTMy55n89nsFihYGElG7hDCWAQxeTIc7GAkd6N2DCncjtdYLu3mJyApudn4tk/39NSThnw/6nAaRD6XGFMbuSE8+PvscLPtPSJrEh3uDOK7M0WVnUxIO9CjAyuevt6NS+30u63RswOIsoPH2ZDg6hFaEAVQub0SJU62CasnpMv9SV5ogGFDk43IMH9Y0RoAnJYaabvWo17qVjLW6W+Gt4+beTP04RwIVqnpQZrwCKQrNU2fdmwy16CQnSfXgZpKL7qZVxC6NxDdAzkyQI8Mk+X+kAn1185WSf8qWIjPh2+6LLVjSSjZDiCy+gtvLE3b9f4bFLoKtOL6alpR+t5SZXUfXx7nE10jXyVqshkUPB/Z2lw+fm08rYkiyB4dFZX/eqRjGdk9DERXVFum2zKDNQIMqM89HYYOuUHzvP7+b3OawIMDyrc5LjhkjViLsog7gH0g9A7aqE0ADkPnIcJJfrhzps0U4jaEJFjuetciaMqYy8boIWdrVJAnvY1bluRIR0RoSGAINwMD61pMQIK6HFBRQIcabcJQ/7QZqGg/AXTU4DkDutg5ODGJtpT5QCJ31ESQd+UJZvRcvCicmz3X4AqyHJ2NgsA+ZoodnhJCpN5ZChQNw8Tarn3PyPcEOUzEjADlxc2Eup+uxwFGuMDfPZ0VahhrOAlcpGQEzlLzNU/MRDGl9izzBEMVMqOu96P/KpBtWsqTJUiThEIH4tjQVKIakMR6VaHSnp4aoDYD5AOlNnmWz3O7chFPEMPqwrbF5NCHSA2Qczv7yBbEcNy8m0JMlgioqwQdYeqSgzasI80cO3EuRXngPjPrf8I0gxnDeBwGecIaVaOfSA3idwHQod/uIwLmqPEMc6lpm50EDRSNTaCBcuxTWUGvKGZt0RJnMTBYIJ45yHE7rbE7Ej4FnaMa9DH6kWuBiSEJd2kDoeC4Pe0ONiaxHqcioQgnNWyShkJj+50/HuxWToaaTXJU883gYe84Z4yYSkzslQeW949rLdjJyJAuVmF3IiM8IpyRtgIMM9kBoYGXP26CANyYbVE1G1+D2A2i0xCr8fgHT0IkdGI7QmKMEgg8LtFe6Vu2lcjKbFJSXGOf6u3GXDlRwtNJxwu4AbTBbfo04xF4c713FxL2PjoB53whm8dkU3wZUrSUvRJlrL9WXK8nrSuhA3TNx4YBCLMUySeh4Msi5qrGXgNMECR6Z1YXGMy14sznFJBWFgyR2AUi2DJ3HtyriUtQ7ULbUqHHxkYw3TuV4MsyXgrfBynpNLeg1E+G1yi6m1nCT9Xs2OeO7I4kcRQ8l2UTXUBhri/spTq+iBjUok5tD0G/dzaR4W7FbykuizaEiqP3vOB/L5cPWRy82OrwtIwVsmdsTNnQzYMQ3gAQkRxhZTcy4hPHlAhehjobaY395riaAw2WAlhdYr4QoocAVxvHV+BiEjfl59+1rohp3KnTrmIadpQ5dGkaA+6q5KZLFfvla6Z5DkGD7KZfd2CbFnzgXL+LRAV4tAssW5iRN0yhMYO5ybe8QzrvyPcXk2tpn43E6OlhAQM5UQWqF/FybK2EoL7oBWMYFMBXLoN71IQbMynUUr+M8luYld3di4WU2Iun0xEHx10sIWEDWqKdsMyr2YJ/Tk5ZQohhRWHCMe+R5DKH+jlIMiX486UAyXEoWjIb1lk8b4ahcPBMP92pJLacnA53tr16z7AhTJ/vzNMDGOfFxxCHPSyL9hqof7x1t97w0F3aN5inCKlRrv+6FUzAysUBdB0cqLynW7QH/04NXvIc0+ASqUJyIUTDgD/4MWuZFVjF99iyO/Am69vA6IXDKYIrpo+d/C/QpMSf3t3MX7dsu5sO01Ufz3SphhZHabPaZVfkgIe4TmBBra2SdfVVTUcFc05lFh9/TX/ypgK6ISF5vFWVPmm/+hTwkNFHFqBfOh8aXeOEiR423bciiISYx61r87Kjq9umi1tZYL0SnhZsNlWAaFLhNKcb1ONXcAQqSB759qdOZW64jucB+4RLUlah8lfDvG35n3rgqJDH5OzVlwN74sk8bDCQf/PVl8UCwJsMHIXdqKgWbUQLs3eINRSV83uaJzzedYwMnqyrg0mxNd/dSzvktHpFUsNWptPuWFositF14MHz5LPa3zOKO3JrOpElcjr6tC9CedXjfiz65ZkgtLhdung3fDQvXcb/8ZFY7G4LiJbfUkwMuInzI3/jF+y/TnbI8I0RofzPTDro2qSMTzEidLTdK8VT6MI9S8Nug2uBFPU0KI0ZqeWm0iSgJPnXBZpTKsBAZU8uD96BeAh21M+Qf0nRl8EHi5IGxa4Ot9wxS7G02/UXEhFP+qP1efd13/IVn/IDJTBwdFf0h64V3wzKWqrRPX8Lt7ULGnmZROXQ6T3UqDatPPz7NFDO09RKCkfuw9SX0It7n/uLgoQoZ0kAgJUGn0TC4MMrSZ0wHoBgHn/S0bPfpvV39f1Y+jU9hcE4bLKaeUEZrjvgsk21VTtXE9zDirYtArXHdDdKyhDHvpeYLWGUcSI6ZH9ylIp8/30RmuDTMQ0hQtWMVsHqodiTKmVK8Xd+LwoX/fsHrI3UC1oyf9vmMwAbpuKhbjIbtezUpAnGqAxyS0uQvcGEJgb0cdtjdV3zRrJcfXiZGb7Fft5+rbpXlvhu2GfFzuKrfnsCHtPg7NLCL488Q//wKzWOjnEl/i1XNV7XvS5WySNt7b/TDRQ72culu6P6ehLqSPSxezk4Uyj6/6QnArWMjW66xgJT8OUqR9PQc+a/dMDXoIIpzYcmtoRG8ni82mIOP4SjXQ2Rgi62vihNZfJm+8S6qgO4a6TKM5FGk05LarelazUeTTqcRW6D1LROKMWdKGiPaFmD5rya5dBS0EMTp+3pzLdB5t/Mx2B0AhwXEewjKlC9JlKeXaWBDYgso4vl9p4Pq7GB0RXjabQdZ+cL+xT8Hia8F1sQbkFvDrOTm13snHWt+xt/9wwc6wmDt283UHJMlUQIo5SlDnZfvk9wEaMVDIqI8iIMZT3fytbdlMDTBdRPf91NvlTIJgGP77zSqdG4GlOx2CB3r8qjXCsZTPE7m7dPcXEUxf7A2T6SX4SiRm+JuKS8+BMkr8jgPh0erY8l9TFTkZRyBVny+N6Gpt3rvNHi63+avsw2Zk0qzcXwJByFb1/X8F0pqCoAhpyf3pm3uKfK//ZgHJpRnkc6wl8d5btAhnjvJir3Iy3gI1roW8jiy6TGRZzhk36R+/T4P5fud4DYb1Fi0thTHIDxD+EV37h/kRo+CQTsjcnd576bqKCsWeKZoO52SNj8HgkHL43t/nsJiRU5hwu36aFSlRhvVNp/kATT8qyQs+r3O5543FDPaQMGuQNuYYhI0WkzkxZskI77FL0jjCaAdg9XJNzWBNfeXGkXuJV+L6LkAR9OGYR9H4axO9SONrI9kvjDIVjejzaNHQcz+jqYcatEjE1IZMgCM0cUFGjfoqCOw3yZJp2FJo+v3/oN/BcrMRyuIWui3xgbEMbUn1PUV/hGNIvL1KwSi9eCJHQ1x8bS+w8KhXPGN/l5DUlsdp/tw0EPOnhbRg9N21CRn0+Eo/D7hnydar2B/Wmz52G8/MtB78VoEF5tHi0MBR6Pd7yO8FQNse9B6BvrmToYjexiGpBGWU7E4RNB4Y0fARk3oNL+UADLXQUjCKUo0CJD2nwth2Y8Db6YjvYx9A5ST6CAJm0zPTcfOF6zQgUTEusRAxoTDdNWK+BIoDqyhzbesr9fYQAIB3eHubZ+woXlIVIsHF/t8/H7ov+z06PiWPteOBlvT9MwzJEsWcwiGdmVeK16mV/CFHOb304zMsO6uFz008GAE8DlnDc1L/n1/N5hqvzkfAye+gTFUEcK6lPEjfgUIggcM3rU5QK3+8HPiIFaiqHyxlV/+0N0BZDfjjwKuPTzKIC91XRVvzU1xD3Dwz3kiP1YoGR2yWG/x4dr9kTndT4ffi3J3q2GlnE3rCokLUzpKO8IADYIKNkcbbUPT4wrJZRQTNeUWK2CtYk+SHmukxFHxZMQfqFdYHEZtnxUK2z4H486jlMv8ejNlnRBkoxiC1fdndIPdb3rGYcnuBpB24HDIMcyrthS1N4GiqpzzU70boFnY/ihOvhhQIIrrNq2BBVtTg6CH21gIzJWKf0EYT2xG2K30qZgFYmXW3SeryJhPC7VCUkFpbkkctniGd9FvWA0jQXds2uCbQlJ1HQqlQLIQ/MHoxyUi+IO1vDpQOjdtm8XDrh731oliaNeHyGCVa3jNj9HvgGJl1nUsE2hYzc/lNuZrIBcGzaTF6vfi09aUjvrRWRcL2T9LwdizIpZPEp5P62TxihXitxavrrOqrRjhFPQtgoCJ9hMgNR5hAR07lJY4phbr0/ojHQS+WVNm4unaYX+Z60T8bqGcBg++qU5/8S6FCa1yC4nuK5Xi6rmBa8orLiVn3aWTV7aIvL6XxdDUL1UXvbRq35i8WHJjyOuVUs2Su/CySWluqcqh6Lymob+ZSnrfpHcn/usX4u3/GAmYDBZp4rQh3+LDnSzE+KA4saTWPp77jOOWpq+t+txNS6rHRW0nXv1ozg3qCAtfjHTVRNSrDBBN7uBrR7srmTqmjOpgkvFaMN6Jpcd4WfmMLLk1g0MtLy+Y+B5k7Unk7tdEvYL1cu2lt1W1F/TJKNldy8vn8hL182BxvUd/RVd5dkhJdT7TUnFXmbfc3RmiOEqYNcY5AD0rnBEfV9B9LJaqxn+sLqWY4ELfIt3Z1FwcIgr0ehwufF7mag6h5ebQHrMXyxuLJgPkUv1gKr536g6g1Nv+rLqerZtGp/e3mlgFHW0aRlATBT/GbZTPV0YOIBl9dWA/Amfk1UQ/HoFnfP5EaFV/eCsjfL9ZbfXzCzhNFzAg1oLDfAPrsuG1nrCRkWGae3itsCCa8/Mz01UJNzsCWiMcVlzzMrdoF3xdRYMCGYq9HlF32bNxfidIedQpAy+nGS8QX9DD1Aet+1kHV464DxxZ7yB/IUe77IlDxXdr4nbtYCVv3fGPTeIyPZ0N9GmVYoRF31iWcyRTzMCu14d/DQ1Br3K5pp0TP729NqEFVwjCksfYAqexrl1eFqDT4Lx3JWVDLfJAru6n6moxcuuVQ9iBkQMMtNtWECHTJbE4K5grr862tBaqKKHOXaHlV72vqeRJdJXuDir9oScLWoutm4aUaMJLVI+/oGs+ZcDbWrobmL+htu+A3AvtrsbDKB3GCrMr2l5o0t2yL4uFgDVRod62oxbXOCSyQlyLkohTjpEPrKD41YsvaWpJVGZ/ipzmPxVo1g0m3JYgtqC290AeGsxqzeipGRT5CpQS4K5pBypDJoa5ASNuiVDBsbBFN5M0GrrKTSd17+NNV1tEcaUDXAYo+SY9EmH7Q7yiedBZpjFFxF9313bjnGouXIxG+U8vnUInN78KOuC/3a6HNlCYN288ytHQCeNzF1DmDdUP2AUjEiJfHzaGyWn1tl96kjva+ZQY/51t7FGgLZGhHD9JGJVzK9FVx1VZszJsmH1MbpIQ7zxX93BXq7GN9ovyzgdida0VUbgOsnZdYGhE+4NCl29dy5LlnaQm7K6CinqP2AQ984q2k8Kwl+lQ9vB9a10ML4O+WhBg7n6ZSZpsohXkmMy9s+YvsHOa2jFJBfALmrTmEJlfDe9UuCy9Pb0b8UEGVuwTSbcdUyODkVem5+r7aT5aAZdmMC39RJBtQF2kTNuhlIilfF6tXpInZWmE478Aoaq8nC1ya7CtYh7F9A06RFKdWai6zoNUhdqzgDVhA2dCsU+zeFs7AXRTi0vEzXFVyp/nMS/ZrC03qCtVL1fjHjJGbAj/7XZNfGCWGZGBPF7J17TCdeS3oN+u8vlCT3dRPNx8Rk/fC26mQ7Ba7bS84b3AWw/YdU7jfVcwrnrZjLoksI9luj5ioNTd9xjdjUeKovGq8s1ZzWf7Hi5OfEfpRolHJzxFHdH1c/GyFli5YGkjY2YrQF+jF2wOVGDxbIXRqSFZWKtIChvxdZwwRrKiRCOhYj8u2qfLJiq6NW25QZYDpHDK6F8JyAq218VRv2v+g4y4cnbo5YOYGBbK2zmVvmLV0IY1JBTXVIdZaLnKEGURxLNHCnOz5sCE51quKqP0il9bHwY69bzoEWxb5sL49oD4WHk9T3JirsnLeZ068FtgShIAkmL5oiY6CM6xD4r7fw1YdWUwEXt+sTbgh+kWOjKb+1dItmoLsHcgKOuLqJ/P8k/7EK5kscApaono/Gpz+uWZzBFQOfkccXfwjRHeHtmb0FRKOeKMfY+3hy5wCGyoenOCabrtClZKFFMJDRtHigPlaXkxcVWxqRRZ1kYN9rqqigCFlIszghxlOd/jIXZjU8EtPlvp1AM+3SHnG3YT5BBqAb+/Au/MigaE0jJBMSG6O36KkmJQpDRQ1Mg+7Qy7nKg/Cod2q/Yt+b/ajZbYLlHwOEIDdMjnzSOjqaZ0HW+2+fiu95gLo/VJdC72rn30r9ciTkuTh2KQMXfw6Kg65+8jcTcu1navFe93a/Ok+Jb0/YYMppw8RmuiHAS6rppcp8OLK+Ftb1npYn45lriyeJRZ+nC1BJpzQKJUrCOzUNEiLow9XcThBxuJDxAIW4cuWkTWuDt1fCu2IghcOR2hh8f2+jXfakGHdmFYHCdHwHY/KqiCcPg4h57XK1UErJKgEyTxcaIAdZMTFj7itq9KoC1lY0GptY7OvkEuYScDgv5KU9FgZsxpucLi9cQOjJbOXABpXnvE916vKKtYGsuQ64qxBn/7sTLcKYou8R+nA6cCrTrPB6So6/LMrI6RKCFRV0eSDlhDe8hpo7XT6tpdfW1hp11EAYZ0jLi07seGTuRphXIae4q2tcq0bgiG/eCac4BByYdpd/jbEDVZnLAuaaj38mNH4I4XSvEnFuSWXLYcV7bv+6lsEOdLc9t5CkzpAL4q5xhiTtVKMJFdju5O89xo+YkpkqNTHvHp4DaeXGqqM7z6t2nevZ2F1hjle1k9X/iN2N6H/A9M5wXFgFXKYHgBSscHNUliSwNUL852DHUKgeNZOhsrDjuNluMKt09zBnlx9+u0XtuM4lzCkXopToX2YyUwsJshtof2iTOIRC0VT50DB7uZUKuvhoy0C5eijTKpaGpydUmVaNH21BhYsx7mN/xox8dr71khuhnsONdvMQPq8uuRBN6LwCwu4IvbaUCE2P3akk/jM3xCBFyY5rssAIO3BL1dd2kB3OAl9TDukfIJ27sgLRwmbbzVaugrrNbT8/Fs2rqY6Ch7Z6rl23neLR/hJBJh5Xi2XnMVBi0oTtRGXnrXU+CBmKcLwG9WL45E8w/Le7DfQgy4fAeAOQkkjNoqHwmr5A4uWVTHVPQ5hkDovfSpWyZr0C2HJ4MUkcWwmhYGEo/bKHmvVTpCvFHYx3yPGUt3nwlMWsveQkcOq4kwWM9ZB6nKBpkJHrr/d85EI2Z0gljKt7SCTA1Vzy23gq3Ls2iHDfspjtOQiaClQ49ShXWyacugKcGZqqVYSf0CCxIv8ek9G9XNJtetVSnBfC6UXiX18PORIxQih/f07tIrXSKn2Mi7awVo4xCtQSd7eyWaFbPrHcQWnYXHYGPihWq5wHXW4Y2VDssjXYTN7IguZkb6idbfHuZJIOzs83EbE5LY709dSmTTCfwPj5RyDvVHbFF9HqXiuPQ9q9hOfT6Wl1KVScFtXLneoVEcRArFXeXuJ4ddPmXiWNGAMqKrEMdJcHCZeBjPV2EJR5Zq37281UReSj+rF8ThNMqW6NKHt+iVMcqsscgauCqM07AEKSKufGVEOWPeOTSCR7nLNPAL3TJXlpTo2Ys3QV6gSoGJq5WSxVRnQhlZ6sJxTjFzS9zczEEis+gbhuHmpxhnaiE3XNKxvYUDZJAHfTIQP+3Yo5JdpEgXUntUroSojiqHekoXHJ2/TYhdDIUQ3hbnILJ576I4GAg2PGbxGeOh0ChNlXu15sMvxEEXX0vCWyxvf0IC2VR6bdrVCkSc+Lgn8VvsJMflBghsf6kpCjxx6JZkAlbxZV6f1jogWDzYuzSEN12hQ4haZdsvroV7jNV2oB/D2B5PXg0Rha8URpiqBLPbTMIk3kYOuN5Nq7vHmqCwhzGVVLFFGbw6WAjg9kFzQ9U5XjUmbHGWRsoElMWAoq8jX76oGAs8xBhSyVJrfH8jQy+2oRY3kCDSJdMcowfYjoNXdEZL/HtoOWqeumTSpzcSZuzxONPLVGWdZRU9EFKL3Sy+VxiMzfjYLcXg9gHY9mrAh08msZ5C2BZ4s0YzARtY/v6GXn5bUikw/r3eWS0Q/seR1zGrDFqZWwxBnenoDmN9ZMuhNUhcRU880TsFY+vN5w2sOXZHJ7pcXeehqsO2OSNXP5MSbkU2itxyoCuCMAx55AvJeJI92oznASc1V2skt8u8GvYCmwZWzQf3H5RkMafN83Ibte7dQZ0lGRMJoINBioH3dDi9zm5rCg8Vars3E8khWd/XZ+VCpB4aMMR88KgH6QQLhSKY0mv2LBN+vbsZwr96gmWLQGzMEchlIbNOJBZM5bKVovKF+fWGYRDxmUckB1m8sRIMm8qKekVE/D3ExXqjl3N3Suyhr7vofQ/qtdPDvZbKOtCH1nEJE9O69wIXsSQaej/NS1q6h6WG/7oYf6Y/IRGndB/MxVjxTUgg/DLdEuYXYpb2u0SYfaJfTNPAi49cvESM2Xc4H0bdDS0f3LbdgLZBezaw9udMSzDIE6Vb6D79Z670f7ArwRoNzWLih3+gjpTHONb4ZsoITKgLNhe+hhWog6ABti1e+POwq8t1v3EV4wMGprqOS2xCv9Evn9ocacU6LufLekgCHymMOuQdbZCAmaaVc1s6hiBVOM0rDbCogcSvT6INC7Nsc1I8P2PipY6N8n5xQPwic2Ee3UJJ4L6i5uDPSF6qKzU746rSQrGtPTqrPSm1CyaxPMAZs3e7zLBKoSZODaW1inDxFeNNZTAfnJzi7tzP+gzEKjWGk+ronTIY8ULQFyOMYetIDw1HYJkFNR0eXa/igLX12ZJu4caQyEKwPBdzVgPtEsWafDE3BC/eV+4IhN7Nc/Q2sn64+j0uFQFOnt7ZXGIwOgdTeFNfwJZUJ0cA2h+GnXCGo8fyNGc3epazuhoTQ/VCCRCelZ5paXrbsevo5IoHAwqxHqT77VgvmJPGm8eIVVDur2UIn8r0eJxHTs8RKyqhefIXgJruSuIyQZHXsElnVO2Gpa0X4nEhOh1ViJOe1r+3HGO5Ufgak39ozU+mJHZvu1CkkYpwcNbuEgyzPmd65ZKLgYFXFJul31RiuWAVRYP8QRwPflHL4grh24TP7kWfs+IDwigUXH2fthaNof/lPNSTILjuUZ7SsR6STCp6ovGHwbwk5R58S6Qgjn9LjH8yalVGGktKaJsmu1nltaUtyWuIqp1VqkN++gSspsPvqUmC6hIsg0BsfzunfQFMfMHrW8yHDrdj3Prqf3wpSrK6uI5tVtoYTl5wV6T1+gz9qOEw+8qd9T6od3AnCovUApKY71cUFyqZdMsS2HvfzbfWH25/WuYk0/J3UB5qzXvZ2E0Iikjwp/yPyITEpM5vR1KM/NRYl+/4nr9B0GfMcfD8nXlq06eWKqhQLcBHlI+WodvPfRFHblCqkBFN1jXi8BXJzWeJKKzuXQCGn74IFwDyPGI3zCm1gq94tEiPM4KilU71aZLOphYP3TWbOi52O0OCcVVkg6Tp8q6NGATQFA465kzg9DjEmR+cMtHu3sN0TYVYUwsefSbn78tla1z5fNOFm+FZ07kEXPTSwLKFIVcAI9TU0jBRURMW13HQUsjOwIyvws6CBJHJABsk94qlV5J8fq2PvwfYvcuN3dUinSufsZ1XgGw58gAqVW3Iv7p7aIQA30QVuTsI51LdjzFkKfkeKlyVLIy9v1l4gsRu7s09JZW2mbhV6fpDN/LoHZyLuQpMWTP4fYofdhkZAO5H8l1MfRQRyHTE/nCNljvfXjoUj00rGWUL6HkD5WJl9OoaF7ML3FDNBfmpIzW5s5J1egl9O327OMzCyjQKBrM8P4xSuof618MnZV3336ktulA2BQaa9V5h8K5Yqg9Eh8OKHepimR+rxgYGQ6abDSEuID2/2lBliq14Ymiv+4B5S2oCLrjhLqdNkvEObcym7Gjg+5IhW+a+969f6sBGBnHe891Ur/DhVYCdMLnjvlFDA4WNKBT7S9uBzPPOrNRJoJ/i0EfCk0ctQ46RYmgHHyxIoxRQmNIr9bjN7Q7uMr2DsrEzKpps5F2fj+DZGLBR4QYrgn2Cyo7Q+11j4kiMxieu6lBodVFmJlp0TzNYir7EnVUsY2Aigei5Sb8PwTuAZ0OwC5mQ/b8pTBc1Hy0Kb6DBLoSWqpvUUS12gIY1VM0mKhoqu6EyoBrGQvLiDWUJ80wb1ydDpXRHeTsUBYpVeWWUVXwi3k9DkjCHPYi7aRmLwhdwZQ24/l9Yt4GzavmtwAA1i4DpKxUyyFI6pI2Gus35Hjg4kiEFmOv8JDJbwOAaDa7SQoS1rwN8cMI6+1QMTRFq9VTSCtB4mOUHhiBg2wBdwfDiM4RZIDEBNI8TeeCWNoAoIilRRSJKVkhUU6xSw0zh9WpD/lbsqd+Uygs/lCbQrrBnCR0yKBkWZxyA1JrwFV/OhZ/zP5E1yec+5z72XBiT9slSSAEDoozRSxApxxxHCvgavYL6K4oBgYhlbGVQEoooc/zIAi8i3aGrwnmfPq9bGoSYKlC2rAFszw0IHxVI11w9a7Vnt7UBAP3y5Fl5a6FzOYQgYd46wZBTBQZj0yqjdkKzbS8U57saySyHq54ThKBiGSICAIkRc3zjDMwXlQbxt39D0gD+6wP3o/PpZmQgkXUm3iAdI6RjvDTEUU3H/dOrNCPeyzYQ5iYKc6vA4/xsDFI6VgGoGNTmk63SC36hoCR6ETrqq0EnUlf7uCf6BsZXOdzCTzHNPRgQvznlP/kUDb9PhFLn26gZZR+igfqzLUt4kSyeqtLRbK2Wu1CCLp352VLi91wox+cfXQP7s2l0MU3NipTWHsdyAk0AQq2myDUn+qxnSJpbP6k8bpJFTmMVAWW4KvJmPwJsFQhIUn3q1GrqXFPkBwYpZTyzA71nA6OOmrnSR9HGWQvuwDoYxe83cjLmH7ACsahUWfxXbY2TYoC6G5f3ZbKsqsgBhKbKuhihi8DOBQXga0nZSUBXEZKiqovTcZQVKEOHKoqFd61LnOpvxX1J6yV35hQXrqcCEidDkv9+HGPVuiQAg5gNyAIoPVRJSEVbbJzELcb9VMICJJ3PwYERupIViWYQuBqlr475Kh5zjDZ74kofRvUalNKyAv6CA+kJ32bB/vNSjLEn6jx7SCKMsUj84ddo4T3Py38ofd+mLJp7nN81a/VtMZY1YUozbK0KnTJHuvEDhVA27D55iBaTrJahCoAOwm7tG0HIanlBa3p0W7ZU6nIUqC940msU/1VLCkAp2Wvg4JcuculRSams5myVOgSr3N8pMOKvobdWZD0YjBr9iI2xy1LPKfa6i8IZlRpGMxSGB24QOua6FZzrB0ZS3xOlwWsoVkO2fBzMKQV361AY+PJDAtlKeXVV9yYfB0keiwxq8IpUDT3JrJOkP9Gf1a0yCVJFFp9G1XoeQlx1kyQdAtEd0caeup14gNVGgielKPLH7P3eAmt0M5ybDQpcKG9pi1wtrSa29fYn/IoZlurRqdltzJ6xwYo0oylThjUNvv5vR5ZnQbAItEp8r3nHBMVDyCuM94AlI8aQlxF8m0Qrn4b3oQWxjTsfcZZj9da7Na4lgTFmWU9DiyQYmeo80qYcSDw9mCK7Sxzv2WYZbFI0YiMmBvQa47IaI2t8kmFe7W/NkyHDYPDenGEltUmnM9f0ckifRKF77m/akCVTYxW4ZpPIoz0AXEws1pdnD1ML9mewwjcAlZMZFeACciL1oJrmcBR3BcmG0u4mDVLbSSQxYmpINL6iMxyeQ9PRrImnjBA3wTusNkwEktk8BCOV2hNacTuDwpN0WOUPYnROV5/qxJfVwBhAuErtbg7E4YHqf4w0FUNtTmiOnO7yP5h3mBy0IhKRAmGP4rdC5nuzk6hgV0ljA00KtAqfe/r7IdHkedlemJOWcHyIB4raiDZqdEcMUiLcFSsKHM8KjUXfRdqan9q3bp/YuaowrkmlRCNGGg2R4cZdRt1VtOx2Rwqxl1fiDcYHTvO6SNiGhRmzGYYlC/I+pUUcxAYnzqZtqblLCj62ej/bXJ99DG5FHf4qy9yoRDkFrb13lmS9igceF+wF2rG5X1xY/u3ifxRn6T6XUe2ysos79EFzP3ZsCD+rf73+fHCHSUYACYIZdjHTQJjyONlmmmxBFO4EjUCEDGp7my9qLZHgXVtXx/IyRr2lp0xfUfaHq98e5BV15kBerC0diSFOXq6dyNbDClVthnwaspc1yZAfgMAnTFHjSHFYpLSzPqGh6FYeG12HriiWpqGk/DfqE3X4qhGi3UM2kpL/HczPsLPhF6OiV/pI0X+g6r0DKVL7Bi0JgcuBDVjhsPxGv5WdKijiR4GoLFm8gpR7fi3PpqeGmeFdcAijFtyDPdQYsDXvulAYEPTX2BnlOulpFtjLFG5rUQqP3W8WbrUTEVA5OI4ZmlzrMQ4kyarcZepiQ68JHeAhKuOF1TAoR6ftZTSMTyQSDy7byMoiZmOMK901pn1lznSjrKLZTE8xrBPsPQ0Oge5cKs/exXdr6caXsANwmuYyQE4Wyr6XHVHcTk1bdtfrIXVFqePVO6NYoMgUpxYejrMj+0Rnafy0a1wgyVuaUa3dKW2d5PrFUObmhwExZ15kVPOqnd4TSRShlK1FvNZJZqmTWaM2K/rSmlqOV31juQJRsnpo0CEaojLLqvV2sdwgNsf6ZpP1Bh+QULN6TjdO+UzOtqhcce0GUl5WBmnialDN1Blkf5YAZFn3i253IQtdoGT6Ij5BW4C4k7PFB6LT1hAFNxM3eCniwBtBL/3u6TS9lBjAAUvD3RASEOhdc24wK4VgQPIx5k72iQrfcPvMBjhGXifqGBp19MZiCxsOIZcbw7mwbhycfsOn5GIr5ypiLDWrcXMnI9TB1bid+UqwKmYoUgDYth5H64XW0RyBKOMYReFwqeaYBo8MgMGCU/X1kUzuWcyJBQbcnaV64upUZoSJisVOXe2di+O2mBhIkNN0p3h6tsScq4y2BLOKoHIcAaQiEAd3/ulCrr1TVWEROTnhDsF2xeCx0lHk8jwdaeNUoG0iSWIysnY1IkVUj5JM8Jy6QJWA64uLiei8IMJlNg/SEKyJgcJGiVKuWrBvvDI3HWZpwBUz3MWYLWSCZHsUgxiXVKecFIBmwpPDzObpuFEaciRCkKYSQyHVZAbcuajAQfmYJB2ZKU5eYH8uDpIQAYlFj7IhAIQjZyZUySqksf6+6fz1smVAvEQHysUSFz+k3teGtYrTol+7kBV9GVmLXQ2yABhZWKD1LCTuTvO+589fQF9yzn8hEHzqQRWlN5nS9mMSs/GBpcnSU2ZdmFhEQ47HLPBhdeQVNqgFHtx5FRmMTeaIE5nqar91Xoqg6oCIDq9KzyiHuXL3xumnl6vp4sLY/D6qPyy+CVgb7mtQW7myqv1JX4ONYiWiUaz86sTnh6tBHFkeNJjqiX87XTob8eDYj9VAsk7Hf0C88k786in05r9v5ubwYcmVRjqa6P95YquQk4q4t6VmSfCvjBb6mMdalM74MUQ3E1GMZfC2VJSyQMDNgjpgFkTaSP1hbQF0x4vrt42qQHEO/T5pU373nvK/8BSAtS+Pf4G9nq4idPioYg05rf9tlo2BII8lPKBKX3lk+RWgbCNdM18gK7kZ0ax1ZPFDJ7Uhv8NgWp2EDHQhAZ/t4HFxoL2LMj0DJzFr6njFbWXzj9/MxoiiMqlkxUWaieo1ZMzcszJh5RMkJXfd13BKuyNtDPE8iEbB+5bjkdvQxMDihPyeyRtaO7A3q02F9ODKzMo8n8BBxmfXuNhP24F2iEv218MC7rQ7QcsbMSuUygcb0xU23DBEQYncWeJJV0rB/lDj/kvAXuPaQb0MU7UARts0Grhr1ByytrWDIkWrr3HcyzojjFt2n58fT9loZNJjR3vmvqHsureWnjGJlxH3F6NMLbBJxAhxfF2j2/fRe/I072vFvC/vTxVsjMBaGC7wxMUeWnYWPXcg6V7OS0wky5vZpeGcuR+bXVqzRwfo6oGbeowML6ZhNcaM769hIaeNTlA6W0fCZZCf5qpsmO8LV9GgWAcWiJOymK83TIPEYDxjrlMviViFTKG45azjpNxOjKwLvc5zh/FSjGG9j+r6MwP79NVxCNYT0wkxj5uh3uQVSkMoj2FIf94R3IGY+tKAURhmx/ZS5bpBfAvfIjwTOVVmsrA5X4pGHrCJbgasgksDGXpmM8jVq4+IgdDGE6BTt9jA5UAfK0pGxAdZETzzu/khZHV1ZVDlMxrg3MMVdMpLl9oPFg1xEaFdJzFOHF+j5lhB38ptt2XiYvw1981b4Y9EaKBYXBKSIQpIz2ClGLYF3RawipTwgCbmjHQRAEL5BxHyKNUQV32gAf+1ZTaPhVEaZg/ir6ans6m7NATFdeNnI4M7R7wa4KFhpbx0iKwGcWEkNg60zpnNgO3gUuhJWDYDisED4fcv0CTHGOhJ96sAb/ceDpcjR6H8KFkaHawTKpeXcsKhqdBxodSobn6D5vU1J2bOJ6Cp8rw0f5mlsHBU0DUfUUK8U6OxPmYoPojgMRla3TUrSxtdi6FrSx1wBq3iFlBTyNyLiSVx2D1cVOggDfcCKwlLXar8jE08zYktJOOqthv7Yoopl1tfoQRf4b12lPSvAVampwIqYwkFTzycdPRro+RFUPYPMGZdTNuzwmFrLpPxlF37dFM27B0OYeDRodYw0eAD0USMmTqfbbVBWrxqhYjiwDsH/iZuvObSUuVn8DwueZ3WYrZcCE8ka21cDAQSYofIk8p3X5T3KNVCmWv7rOwcRzaqP+1Gx40RDUMLp4vZbA2t0DgkDFihO0ArYPlFUyLSmNvKQlNVnLLkFac2NMIE8dtRmeJG8T2tdq5nUROLC1IQFI7Y1r93mq7Gvervlm3j0Y+uRNrd2jLApf6CIucLr3q4x1bwXPCXTBFHV39ZClk/yOmf4yYYPZICGzgZxblfLtAWKzNa0U7kEWjRoGjt87VAyWG9MOWSVnWfzCnZeAbbgUIOsBicvA5Qio/ivMr+ujKfXSC71sbMuZvHIzJkdp0U3X3tzIO1Z1GeMxnLqS4XLqyDXmR5ihjaFe9gTu6035CALCoyXedoyoQ8c0k/4YfcRBMwWccGrCFcZBEEtI0nOa6TzCyNkJUMxsx1rt5TLfj1/UOK9QLlzlbn/r4sgmQ7kdrQXwDBVB/xnC04SGt8ZuOP0foDvqo/LVvqu1M6pnjFNB1z0VwHNjDcRMqajqX4WoAEnyxzXS21w6zTPh+7mMqwv2hncnenjQDe3Rxl+t33fmPDWEEpkaNO1hpEjomCX0uwCNC+d92/h8BF3VszFLYWRPV9CRwtD8sx+GP4f6u1voUfA6YWTIIpFcHtEPlD/rOEcG9+4pjTa3ooz5dkbi4Ia5k0KY4ID7pUHMrhFn3HilX9FREAJHUxuqALdNiyxdTmEi7WVZaTwTPZVRdjcmvA4XU107iq8LDD+LbwdMOD/EQRAncDb4zIVkhgiHWruoHTZZanVXdpxeRu7XPqToE4Cehsfe2dlQyWHuXTD5+U1nxPyLwIPkJAbVHqCtRrZ4ZkvutyInUNGvKQTwAXMVwSSa5xKDN+4XwQb+XbW4vWG2nQckUJ5uwYTaN4Ir5gWbIWPfFN5QN+yj5FajxygeIJyMLmpuRqkIZuG/TCXnQVaE3JRV84VpHLgYdrqyPamk/YwBi9//dNoEjstDIMf7HxDUQqs+ltvPCOjUlXNaaO57Bt/k3JMJ6CcXzjZXNKfDaNLItsBixQCE1ezBuigCpIYVIg584dIC/CrhPWggtvM9BZbp+TsrZWqgoZqMUgFCdsXhIqB6bKedy9Tw+VEyKSlIESc/IuyfOYDBH+K93oEUMniutj5zw3yCKj2jgY46FSfeOBFjpseH41AVQGT+aRIBSoMO0QXNnHpls4RoSbgNjwJMZcffU7s3W2h38zeMluMIPZO5MP/gvMTK7vRDOU7TvzyNZ/p27M30EY9biltv0HhIG2wm4Y5gYdSqNLFdoTwaqKMxEmYqIz3H+B0bPhzki+THc/YI1ngzfKvtI+XaTHdJkO6ef0MvV2V4v0IW3pP2mmr6nmLnxxuqT6dOvhNR3c92f6hv+kAQzHucmCQtG6gARFu8m2Fe06vKAcBW1lKrAWDe8EiwxuCrSLiwi1suQDUpteyyOxMxX6ZzE7m+42T1pdfftTkEMPNipe//I4eitJ/q6d4jsk7FYFz5gbTZ6P8xCyZHX2W/BkyJMW25EY1bTpRvDGADV+DRgNeaosC/EpjCpFuE8Yc0kfnDSy1uyq1cLlYFsSL2lnvmsBxmwtihre9ipVfKGrl2BQe4fmIOHxSJSGcGDdDI1jQiOJ+QwI4GvWhlqgvim2462SVbOH2TzEyUr3Y4aFk4QM216+8T0E2y+hBABu19YAz6OFJYzJ39h+g11aO4bKPMo432UqwMM71jh5KNwdRuv5uvJ4lXoW9pYmy45sCer9Yf2S5JbQPq7KRkePXxPocDTgGwAXbMCREvfYJTNrgDrdPnCbktOh+HoNERU3aBkrk5WcJa6SzktlYn2tEDqGXsOlx80duk8qBll4rnXNLe0wnk/P203AVImVjy9huXooPN1qEvz22Ul1SXgwbDyc57GYtfmaRpQWIeNuJg13+6m9YR4EpcQ4k46VfBnGdoowCVLaKArzPstjd/v0AEco4ToQJ0iBcDYSfKXAFLv9saEL3qqnZIJR49UUFL1eQ7wayTBrOAYVD5uJQFM9lxrQqXjqmBTHC/HGe5Pd4RIBOBVVdJBFEVyDcoBDWLRBEmBKOT18PL46IYGI0QS8/FEOdOP3EdG11TFrOBKdzJMM5k3gZsqq/LO7McSfbQPIC3nnlD3bc6mzatPniZb1PED2zRiqTcbyivmD86rFc73hx2esxp03l2ziDOE3z/nCN4h5u2OzzcB0FNEsxyt+FQruxwDXqYcm8WaED1VM0o2JlvU8YSuMP2l+7H0KOZw2R+6cS+scV77dmkS7dX3mcxBZgLIkDjNQ+oRAsgKlHSKTuO701XoPYI4EqUdfAfA6fq5uh0T6tr5yoPjXt1qCgvWKG4l5cU9vZnldcIVveE8RI4THChpF51toV9L9dWHwgl1rojlSQNIbBevao3OTAEWT/9uxH99vFO0Kx/HEd3k5p0h2AwnhGHcaqWdGmlOldE3yCHdztrhaUyyrl7Fp6qBSBCjYxCvmSWslMrLjnV8CG8aQuCPRW+DAEaozbnXPP+NsiiCDyiTCNVw5S+lsQ8CFQmfhkyo9rjqO4ByolpW+y7miiAnvPZCtIor8q8tJuvShevlXjCEGAJWjOMIvSqhNTdy8RJa7O3/jB3+fz56WbWSlopOKEUjXG5FxtsntQPFyTvs47dNWhr5nnJtnUX17NSVqQUFNeIdQMB4Iy0ZDdPUpiKN2sHYWbDHXNLNGqB6McRXoyxw9CQG0zbRWmTFHy9EQ0wJ6EW4YfNULtguTiqsisaP23FCqqhhjUZcwcM28GJOCNThnagbVJehC9oqZ8wTWKVvSkSc5es98Q2sauXcm3yBoxXSlnZdybHKQDlT2Un6pcDajpv4io0W4NFFuhth0UdrJCDjXfqC4LLJm4m+iU74RcpFQAYk3DKljSdqInLRMueyg3E0GFgsDQIrOl0LmJjGqQeDrsGVYCpcne4sjlrjnZL7eXigph4ZiFNCx6dbQTsTRtEazKUCkhg3xQ5r8oxYGXzZ5GT3tB0RmExGsSnRJ5AZcGsFNA4d+5Svqu54meeeizmY1jxVD4A54m2/7mKv5UeWKh7xXUxpRz2N+OaryJi9yh7u/Kiep3/4nVZDX4RgYZAcR2D7un+agJl5sBTGJ3t6KZIKLBbwslPitTdN/REm59yxSHYODaLrjSlaom0rCFtIXzrY1qEudX1NMvp4UUGTnYSYmRMGC7UiF30wRM+8Zz/7Eq2KDWdmWQsemphOm0quKgUbBISdlMTbuoP69kMoQIFzR4dCWPpOSTrdjPPHiaZMXqhu0+mNif1UVleQLkr82hHzJnxch5rJu83m2UtRUPvDwCH6A5Fz08N0kd5FF9fk2sgYQmK06vM1Dra0AHO/kJAgtwYC9he/7bmiwq/3h77McLhhOyIMprVe6FSAQ9+q1SJmOixR2vUSLvS2l5j+oF9lhvm6EblnQWV51jd9SMeShi5e/iDB4U2M6kU/0iljtfDrbulhQslHXg86u8g8foeKoldIO7FAtcsktR0wEYZV9lo6Xceg6xaSuMQCv2rxuNKxP366xd/VFgMyHhru8wBqSwJI7+rV/4R1fnLzZWPNVne+ZCkp+VXF4wiJ2IG1hEjxAUacdQnGi+1RBaYv1S9aqO6IET9O53skIb1LERMaMNMoMex/S4NoTPbJXTQ1lNDtXHNri+jJOQP1MCGw5asr45A95Xmvd8LJROsOWY12+Yh0WhSu0dM2G07lpQqulGbykZUqNp/x6fWeMOhG51ZDEqGak5nW8xuEEhAOjEZM6D1YmHTEbyHVBdlMbigJzEC/PnwoPayO3S+rwfJV1sk5rrDVWVEXVmehM9KZ609Gd8AdDcGzvv9DeE6y4BUEpQMP0pNrExE5+MiqQpARn57slQ/i17+mSTuUCs8Y5G0VPAk/jf/QUeNgvDH3h/G6hk9APDhres2KBtTpzscA6vaTTPnoTfT5uYpgyEx9z3Lg3Tc9H2w3739Tn69B+n4syaP9wJ0M/ATzI4IyTO/ZoT542orudAeSCC93MyiOT6L/wY31Rdf6EEXgAQb4OwjcXU4iJYb7J3KAolZ8osyJjdP5sEaknZIMjzwxbb00h3IlyXWEFuZVHWLkw6CIFXkM5TYumpwi58ro8KmgsvD+dePtj3aEEKNqv9Fxc4pSiBT060/AiTGs4pq5YOTb2z947y+82az5tZvOAmn9jpdEgI9C0MRbIcGc5o4Ir7v/MNu9F9sp7IYZ0RcCt521y+4b0MkVKnS+J9IzzBQ1ubc7ZtOOzIl7zKfyB8Un+FqLSxf83Zt7/tVVDx4guPAE+EQO8IAE+od/GoKvwFrfT9BKmc58fkUVztux8JwcxD9kVdJBIC3vqjFQRSPxSNJAWQkPbhCee5wYR2is8e/I8+GUHhzD4kkYw1r7ImrBWmllrnP503n+bbgGw0kmfFo3btMXw+cIpxfWTm1MaJDr4lmDTM4chZOzBVz+aNo3wkyDywENTJ5RnSIJtqr/btOfCT7g5NsDcYiCjlGOl3j3sJmrwHu1zyenb6bxPE0UUSW8Qj5ZnbJPYbYMsblU5y3kNxaqrbCVho0FgJQWK1DUqW5H4oRTcbFEnfE4AN5jpIWIAa7+6k/r1qui8dTAyLniFfIujOTuVigC754dC5FMj0wNt5RtcZFZKF5Xv2no8sI/kw91rBHnOFFCEr+NR8iX4KO+0lEvpWd4iVtftqeFZt0Yifik/bMgHHAU8XKWR+O88RIZkW/3BuyC19tPUdPLbwtDWjucf4fhwNG3q5/3DHS612lFt5XT33nnAmCfYFqxcBTqo7XqHRvOConvroyju5zWYSmFl3tQAl5sNcHvyeP/HKLt2orJ5VAyNoio22Fc31Nq51HyQkUoyrVN0uQVsvEig807H3f7C9TXydJatxv/SAk4oE9XwVyfBjw5iLgxpijVg7RTBa3vK3OWp0pQMV9ITmDpFSEVHOF5XGGfD9jKqnM0SukLHF+uDrkWGraipdHt7o8i5uJF4+aQ6nv8Y9VdmLBgzxctDtYeraaIopjSa04ot885oWeAkzP/qHQGG/Lfb+fxUx7zgDK3g9uWc4oEGlrvX34g25g1BoX/sGZysnT4VhFS5ibXJCDZwSgFcPHKFYBZ6WL7XCPzK1s2ulO6hGaI9z1T25gPTzwtsjscTAM5DxOT9WlZ+4kzzY+VHnvQLd/cYAb79jjYT2MA04Yp2ZtM9JLA1tlf4fVpfoYwqEBx63qLpGY8HpXm835vqDjb1llEhwWKxSmylLpMvFsbczfzEyjG8byqiIgwFuqn5C/IHdYuWuA9Gl7WNH98t1pP2grmx/NeHB7/yoUggo8M7IU8+1ISJPds9uLr+09Ufbn9M27uYlj/hl/paY6lrrR30d/ycM0XZP5Z0H1IRousqwzIwhrgJ6uukEKBtHM/7jMV/Te9DzdbWhjvn8XIO0+MbT0bHeSxUPFOyxeASqwyki+uwnO6l4t6x/Xe0cQq+Z+PWsHe69H62/c+beZnnb9s6VremQF6q2u+0AYMKeNmrwWbqhZpAYDY2ieXDHVlWIn6bWpSZiM9JRmPgPRt3r9m4cwjr4jH/LCihFLwoPBnd4139MRXJpPC86R7MPyuaxq2a/uiCJ/0WzMfb5J+sjY+pTGknokMvWBylw8ctvAMZ9B2EW9AL0xVB6SShiFZRZBU8DLN4/0MPgkPdGLKx1WlSeTjuLLVdHRDA67GD+ALL2AisTixcVMYUo0qT3JHNVTzFgWDnDh+J4MSfgz9hn4s0TpdVuBLv87oBl/mt2vN22fditP59QEDBSvqi62Q71+9Fr9/nXJH75kk4GS2+gwYG3TT7AXHpb5SQKKfxwp/+f3Litc+WBs+vsqF4Pn2QXMNVj3OXQcLCKN0lkxeCzOpQzBvWAeE7lY4GRQZ+jQ1NYRAPDbR/soxbwZ+78MNojPxbet+hov7SLfwCDyCHx6/mKv20WCWFUDGsBb9Ca/CeTkGW57cuECBqb5Y1EYNvuneki42fH228JkukG6Uf/jSD0dILxs+PFQSzZosWStOQaq082rigG48uGgcL1GkI/mbP0OQNesIDH2cl+MgHdCR9Rqda5Ke1490F0f/wc9L4s/4oiDzayeKWoJrrqY1GBRKgd4ccyguuc+c1vT0cjKts3VaHqYgqlgxEIz4SoyeefDrrfPxrPwe3vkwLnaGTrHCZPUl3s1uJ92Qh7wWyST0lysZ+4mbsqw57kXfQQE72Ax20oPNBlgOJsm7D5G5NvJn1POLJ6PJobfBcXrx91Z5yY8l9ojF/RcbZR437n3xEa7ac8cYxEIIlTtLUyO5iXrVzqsMGDHkka94ttEKFfprLNwzH5AkGQYKe6xfKCq/RuQ0O3jGku6dlRTZDmqeh145BsZcuO2GKveJAzSHK7Y/gk57Fh7oEdaOMEGmcZ6edIhGH+8NTwysSNZsPFAhUE7CIdc6PCZRqfb4yt8iKFWNANQGLGGMMsIpBCAywiDHGeALyZW274CCXFfBIBXikAjwWAW4gXzpJ+tEjm7w4Qk7v01LHtxpzJzZZ2l4YeizK+q4fxtcIPOQDAwrLkCq/+ud1F4YeGypgvQkRL7pY1NB9sUF4kbBxhh/W6Dqu6M4bT8LS9ILDVXBXD7tvbfkB6UcuIaU69vBQouRrFsao68JzUibu9cuQpn9gj03l6eIKsnaNjcDFE+EwdDBeD40kExKCV9nHHmweLL+6JuJn1Bw0dV5PcJk/1fHx27J/m336btppxxVljROaVqv2ngqv9vTGtWHgBoLvG1tlIANm1U+W8iRef1EwfvzoZDA6pYF3iDaFdxsdLpFv9JIbaCL2imnWfF9jnnmGorZtyhl5zqipryE32t2uNuCmiZz79eQTTZk7Epg1VpSadnHYR4hU4R8QhhzU6X8l0jFhWyOxKfMyhEPnEVu/zgMqSlUPila1pO0eE+ScSiME7oHPcsH2/FwaMhr6HgnRLPeSNHX0cTJipcXtehuKgHbppcUoZOc0z3tE9QXsGZ9qG7WVHbNZVaM+VxtY3z7dmJyjKD8m/IqK7YWryy5RZHtapiVi0wbRnCEyLg8GOUrmtISwzNTkYmxhxBgHJphk+dDkxn1KkZUlJO2QkzIfm7y4Sp7zqclfN8hbvmhy62Y5oGLlbXfmU1EFJFNJEWp5xNQP9YWZKjuZeZeyXphjvZpCJkl+i7gMysPaHgEtOpTGqj/zou2CkCIwJjBO8DfEk4NRMUId2sGrttZ7PN9jRQNyK1EKha5fIEqlXVJFb0/xjS7RptdOaaPQn2SWpFedVR7YvyWMoGE1QGeXpo5dUUhgiiyGexjlnhcXqKDNV9oDcNyJqXFWqZrqGvLMR0N5Trvc4QN8ItS+av9OWG43HF8KU8xwCQYMXuRyYfBlOJaXfdL/wFDJ/WhXCGHtAXLjnicQ0ZRUSCB9tz/zKcdDIdNhzylslPQNjm9kviVYmj8MEReMnnPAJrQOhJopm0shmikmAtgjxb18aHLjPqXMyhKSdsjJcz42eXGVvOVTk79ukEO+aHLrZuxdjgpyiI4E72ZTfEtGssuDhN8ZzMOa87RBHDR26qDbmUpJSYH8Viw0hqYVXQ9fYy2aluCRIAmyv3CgNT/cLEXFiPdkYrgVo6pcCj3QC4K2UpzkyGZSeMbqOwMGJ2AqTLTi0j0CnGZldpUEaSLAYeDPTaqH7oYawc3FsV5TiutacXvZonZ8lH7WFWrDS5udJtHpw/dE9bE0+336/IBXkFVsyD9Mt0tu7zh/xtoZJm2li4v2r2eLb4LWPwMX3hJZCzAxWaZzYFBeqnfWKtPgp7A5HssaM+8BdAZ0MUaJ8Gi5pAgR1pYrNUBtXHWay7xwtE5mEebSzNhuao2KoAwBVyuZucSKCCiLjkesRSJz7KCqhghc1cVmWQ9fYW8a4YU+H3IN4N71uHoVLJ/x49WR1ac4dWpd8Ipp3f0uChbel7UY7NXLcC2GRjbbhlY865UoJZ32JVp3IHEyXHdBZntiVxb4RSb/N1UlP0Cm2SR0zBcgprSq3vPXqhuDeGJxfUj2mh3qqiKxHHGZZF0oCVn0oSlL0jQ/YpKlNXU6rpRaVIYWWyAwBA3wbIrFhlh0RtyOJg+resUqyNvAoJrFbJGtwkuqdcmJTMuao+wTkfoBHRNvNGshd4Ulnltp03b+QMqs9e3K8lTyDXClAuCoKd2cBA6cx0MXXBq6ssL58G6G12W+kDsEFNWHbASrOBm6rgwzjFHN7dNTLlrLOKqsj2KuRscIdgs6UIpJpSqN0usoKVVhsd41NVAC0n0nQ7uz5hVwKkUCi5X3+4R2IbPpgLWd1mxxYKPLHVbegfRV1KMIMFllKo6SOrc9UwA+hrkdzAhQAfYp6V5W3EcMnxeYxb7HF2rZ4PfUV0gNOhCfYja5o1YH/KKOjJNsVKzEK8Eoq76ppHW2iPuML4aKFlphy/H+UGgkb0vFQgCmi1KD8C4w3gRQ7Ldp+NiI+tj8EOl6k4QNKQA83Ziw6WytvBxUldPArphyojZTUsY5qcfdnkqtqd63M85qnmsmCvaVFjm9XWMpzkcwkg7m+AtkVAyNb6vveOPU4nm+e1xryBIrp48TFWyHYsMW0czOiSb2Q2p9QhVnFQTeMnRiN7TH13zzZtH4taSnEYPc7/Ewru6YwMtcXRnJKLn2SEQVJY3ePPOZcrcc5xFx306FNvLY4xGTIxh+IIyMdlh4aU/Apt2/GNvT4GIVtTOmEVzEattxzOOTaLIBaVx2qZI4La+c5JjwPEgkB7hstuSgunLnTJVmJiHUp11swGbThZOi1vbATVVn+WkQD4u04CFmF7RvcsV6+aAYUTNpT90aXpZ1vozLLdH/sHQG7aNSnvGM4bug4DhcwZQp17jEARFmIK2CH+RMU/QFxUHkOQOyau+DyHIayW6vckxQOSidk2E5eJCID4UXMR3l7MIQ2V8NWt0/RYt3NJSsPkWgMInWHFxacVIFyKQlaL/DRsKI/RaIl+9cv31r4RpiBGNTFuNBuDNcRKM8XfaBEgSg+tZMhgfsNjGCoPV9OOL84VSCSIifATtqO7z7AGjuzYxu7nedXB/LGkmYFFK+E180zC5l+c+1ofd8kqTjWJHwAQktjo3mH5ZKUT7N3gaQKcDzUV7Vgxh9OhyLW95FiUIuNznTfr7QArtr+o0pvCpQcqu6pXjqO242rhWliYq5jonUhofmm5SFBc1TILU38yzvZB53VF2HSMu3OoqkTyqVB43FfNrPafw6PNQ9C57/Svtv0y0ld9LXgT9F8v5H8h1ZUl/6g/vVp+VG+t+i+D7c1KW3SRN2Wcm2eaklRAAii7mQLNXCsBTyqav+V4sIPSVo8WQRsn1u5cVMNXEmEgJLqc8xUIpP2/0W+YCInsdQT0/7pvZrqS6hGfRB/vouUHbFd2u0vvXZDZj/vSMjtg+1v7H8n1/FK/d7wd+vFcdvEf5fyY/p6sr/7hDUliaZdXFH04PJzBOtMNH523apYOsYOg9Bzz9kkWXGG2juh2E99jclffJoCq6d1FH2k6T903Rlt+rtpE2mmmTRjhI3KP1i4gOdRf9Ol7zYU9CnSzckLN8GN8It/PLyUAKslFPCB4N7ECCJKWgXODmBufrtukJ/nqHo1RySLDSnkkWiA/D1CoXRPI1eprNVymOwwaEB1aDuBYWiVv9EulAgXZSGBvJL3qqbpg7iQr+4dpTDpPBnQAp+zc8UhgrTI1cL7/i4l0BFaCbD4Nhf9sOVcdBvKPzmrGt2jFTMZsV5joejNBr5LLL+KFBAA3mw0N1bCh6BU7DqK+A8eFT6KlVkXZVkJ1z0pguNV0IlbFxx5UWUgk2lFSoppgSfaeEW0wAUVh2n60xi/Gx8VXOHUv0bSjgsHekYwMb0GzsvM/CbYcav8NFtKJ1YswxRuNzdx23wWBzVgq+SPIfZcDxBbtt7uS1NRcWRY+JgS7U9LqyAs9dcMY8n9rCZqmcfab/F5T5bWQUW7BgUW9XpZRpRpYQjY5mx8xlW/0Uk0zA/oEFOIwGD0iiSH9NLhLES3KVUppi8npu713zis8AukWdDzDqPJcYpt/QUpTRbLVB0oJ++QUTyhIS+JpNwEr6YKchpXKqWO6zhksC9DxmE6kkzC5xXhToz01rhQWgA1A/NoF77dcAzuyVMb34VbWUpILyaMoHhTsaNQ+3E/D8AgmLC20n5sL/AXmsnuxF17eA1bmp0d0qIDRIJK7fIiDLk1GLD1FqrR1onkZVjD57pQirD5TEo0sWh/Rkxq5nMRrdj0iICELYG7A3oKdxsFdmzPJLlyJ0hSExyY2U5QgzgEOA6Wr3SriBegvuA+JPXryJFBPiZN9/y9LPGX7ExPH0ys3nxJNb2l+TtmpqifK4ykWYd98Wf32GyMFxqNeFwisjPmpaOO1Ad/KTSFP6cPUmytCVA66Wz9MAOacOcXbp3wOJyc7cvUSXSvfrJ2SFoW/3fp46oEK4b1w4pF6ZRO/9JIqsI5SMgGW9L+mJwnOcJ0FoUjyoJHEYPWuEEvkPqQavEoghFREghkiARIUUkQn74RF3/iD5nCqoQFWu1XjUo4BxQP666+Mz0KLLryhY7TR9eCVHwXnrZ+uIEPmlwyfJ84wQ8QXH4KO5up3+JZYWNaWH3cLsBGD3IQnwVEIXKL+HFf31TkMSNlnJbWGQW71oBGjblaWf26VhpZ3Dz3myJZ9Jgv4BC2hlR6eWSGkYZ0mhXA3cjVpQEEW3yyszyuTMrt8nXWaQTmh0f+Fg1lfQpLvGxqvN6Dg7Yn9PnAzbuTMreAYrc2SRWCLStDNogqx6Ih1uJeT5+Ig4q5rBlCwxpgNggelyjOUMnCR4n5kkP41T3VkXMP5ZFA1aLg3RoUUEvA3yYMybY/+31k7WCZyzO29MrdFFydhgoyLZT+8T/XlJEBSmip9MqEO2GVnYQSRzUlkJrI3baiJIUYryeEMNLNVMmrQbZF2RlO0QEVjb47voymXeI7Hh10E7ilI9aHq3/XxrLldXo6whkVsyfyv/VxL1uaHzfeH2KiQb8HdXEoLZYEA4lHNcJs1dy/OaMUGUC6NATKT0ZtxtM1y6fHWa20cjo+wv7U3uRYdOhGXPGjiKaNS1ezEIlvn3n2HN212Fne/4RoJaANIFewAC2a09tADCE1rK6nk22cVa2Std9V2KDDhOQ3AKsoRk5OnPi8r/eUeRBJ6V2JNdSorIICR8LhzLQSPNaGi0o2YaKUjV9Y0GiSao1mn8Gvp9WEnZ7bNC3OsDzgfRGlxB1mhRTglDw8UyoMSyHpqQGX4QbrzJQ17bArJEmuNl4MXatXvW/o49+F5l8OA2mqlDXiwOb0WhRoJYU4LqS9WjazzWXS/M1j7CSFJfoUYbLPA0JgMAZp2BFuh5JvLpFig/IkJWlpCVWjYDoUn01JruQRQVNnfHgjnxbjw6uiSRd4E1PNHfunIK0axlS/X55RH8Bfq2gxjBUA1u3mMZ5wIgHljSSLzuWc3Vjpfw/QBJ2J+rc+F0iOdOJTogpfX+F3S2UW/n3nEAw9UEkZdc7DdooWlaCRUYA188RvMV4rLhz1ZgWBK2RpeEAtTyp4EJJkahwRWG5/5UNYYqS2ufDjVsqP0Rp6HSHCWK8ntMTYIRllaWSURep65rsFwMmh2N40p7bRma/846bTAnbDlBn22tprh2qtSIZonxb9jDbcjcZaLq9gweTUEB/geGDJJCBKIYkJmkwwMv7OdUjfrIiMgCnn4Azgj1TB+N/R7QEWMIdzFV1sCRD5yNrYAZrsX16NuCcsR0RNh1Zrn2HeA5ylDrkAPZ+GX+mWEbmBxJBg9pqoTQDOBaKpXMuCPQMa3x7oApQtJUonIt2QIJo0xz9VEMd1giBgospcJ3RfaEyg/80qH65Mm7HZjq5rS/tuJDggB5Q3XJcSwfoWMAFj19XsapgtBJpgPCmCeZmdtYGnI1HtnEOVGBIxejL04pO0Hza/dlA0plrWGVqkgtQiKR/aDf43QYsD9zrwfKYsopKADNYHRs8Ep0CtGHRkmiPHVo9wfnFxrlKn2pASGAFkYlhXII574jzlS7QESHTYuXlyveFsGJhEDchFAOpcPHuGX4kF9EKqByfyj5TkXp4iA2tYsccDYWz7D/kA4Lx1VDTrWASQkIMQGR27xL2PGsnPe0eabyKJEJy7gbPBkR7a/LEApahNQdyB0FCWNOlVwANst3g+rVM+iEbXJw7I30MKYd2vwolLNCBFOsS6TkgFjtL5xaP5oMF9blxv6r5nzFK57avDTQWuVFV0XMpyjRYAkswxEKYHsdJCpUwoRi9XgZ26PicqN7qwBdHHkxNApWqwZ6Uib+EnnL3lguqynMQvdTbSHBiRguSEIWbRTvyGik22wDBKU7eaXRNgy5XSragbcF4EMn6crenmzmy2MacLSqt5u0KmdCenfzuv+V5TQJdgtAHFGvoDXuC2LgZA7eD/m9jZxx4TUrMTYpLxabGuV7IGpVjAvk6tMTc2xvG+aCme3eZ+wd33C7iW3PH5DIt3rzG4hzwvWUktopbAqLqYKQY5KoA76VEtU2/xQG0gU4iEmAxE9usjOzt9PDuzUOOMOokBFVH+wAdjm3LwiOsoKosRfpZENiDTTleuNeQwW5Hya+LQqJnfDDBvRBtST+wto//VKebWjeDWWQ0/X0zDPRIh+r0W8LsYSTOeB4blV8MHCGpcEt21i8EDote1HaEEFq0OnITn5bRSqgbEVewMKJ6zY9YyN7O9XqjCdcdWCHE4YQSmGOLxUIowo90tPvtCeqPnCUg7ofLKbxRaMOqAN8Cp3mS1weaHKeErWOp0Arvw8WbwiYTyRyldWNlZ1LsL0bR0yaM9j5nYONwY19W7awdmeO85geHECOn+vi5Cuah+UU1eF3kVASgp4V2oEujfidM6+xKto3wPjD5Xl+MkZ2EmAWlCEsnJriSfErAp5AaSCxtZDyIcN2Q+P/QhfoTOmac4KnjRVXwbFRsgVO3PvxToHF7e5H++ooymu7IeAPLXsJoHHnC18AwXYlm6bads5KffGXsbUU3gqJwOl1/gZdeEsxcrqBuRapRP/qcI0HxIooRhnIH7KGS1Z772eV1GXWPSiksonxTxmM18Z8ly6YO1GLGIoFThiBwPTNtoarpGzCQuplgtf+G5Smj+X0imRb1mQkTk30E2wmO4TqC5Z6/YopDT+tcUy6Yl52tBhFJ9WmOwUGsoyjcNsjzKoMaXEjjliWQcjbG6G5nXVUmLWXzMRusO/XVrYDwK8Wip3aKMGBJzLNUgvKW3k4VXSGm/95efjgECz3N1hfSGZZf9PEgyy9HQd0sJJR0gZXVvgOkavvM1WBsfEaQVaBJaewXrurC02hrCKLqs8EZjHEZWqhVnm63eJkvJrozYo5b5Xqyaabx7wRlzkgyFNpTdiQNRqFP6N8lbqwCxpNhULx+5orgmRbBugfwn37JZUGK5d6M2rccHIrs19iAD4R30pheXQmOxi6RAd6q32WiChreWbNM7CLBSEjEUEopaDQPhJqz2tTMwSmvV0OAKSWkJQLAMTHTkEZzXXETVNzHwjiPNI9xU9UJBqwclaaoAjecV7v0DL9bBRHeokyWL5q3xselY42AUtVMFPJR6hbMGqNBEulKbaeiZHEivKJTngb0FHWUiQLSNp0SYNhv4g873iNCmLARLREEdyYY3Nb74o+Pu/xDTAhK2oXo+VS8QaQ4NQ6xHS8YKgEAz1I6FakVX+Vp+c93mXZOuexhKrC3IFlJzkhqj10O27MUDktgbf58e4F7kBwhJtcpyEDjzViwwloJuI9T+ab4P6Z9mcX6aBTfLKdRDlOUYwZuZT6zZJU7HRd4YYQ4vztovOezLAxoZMR9pSiyERx1bjf6gtxgcWImgXHBZh6MRyC6Eaq88wbstNNyUh7VWhAQcAULzvevGkGr8no3tpeXYoWOgrk3+DlVHKYwPI3BASK9J/dRqmmOCw9AbTyczz3AiL6yn+BLJyQMi2dn+c/uPrl17hML5YHIKmpcCKDNye8GIA9zBKc8LB9VlKZRSu/pTOvzak7DdH2iJWBBfwI8dfmAagYRBsiryy0tiO4Qis96X/692EjUFqekwoWaSOUnqnpV2xlXUXwCJHl6wcZYkIjKJQNgDYbWbJ+B2fjD2FyQNcATUdzfBUmDK6Siobt+AXIXMl8WX0CWcj9WG0AYa3LiD8YcDwFqyyOkU4lRQjjGdZ6PbvgWtGGamu+JxQ/PZXox/jd4+4M0Or+/+VsIgJ6dGGyyj5RxC2ItDC48WAJZkGADdfP2AlBR3esPptRnNDXdLIovfl7Tzi0w3RUYSj0GMICp8rdlkBaOKe52VAi7SB+MKmVjfOjDa3ukNWkHA5g6egQGqDwnuGdLCvtDvExcGfvw67rDsZiGEN7dUdPT1PRG47VFx8gkfaxFUqcKzFAkUCMX/v4bX3fIU7PezSY8iBQbrBylVcu2SITgErRpTNuXOPccef4QcKRS+m6SSVfufHD+ITi2oql4X5uv4YEJFhQbC7GLeRqINanrMb7L4bno507MBrxy260loCm2fv1iSfkFwDFeMLCGyj9t8KW0/pkjUf2uQh3mUPMqNv2cwDbUamqzhr/5WRhUApccZRpPHxzCc2t7wD/Ndb4Ni0M8nu2VfsV+k3xEoDSIsUn7W+3L8oyPljcuXAyWrIAJGPJq0YD/0FBIX3BqS/2kgU4Wz2PbmatZKFPPWxtbs6z+mmPwWKqt507n+mmidTZM6+R8Jm20hEC+7++uJwCVW5rAX/AfoyKPR37Mbf3xuRQEkkTtGoI03lSes82f/y1TkwQyy4EFp3aX9H9N/7AkdBCgm7RGVIk0uy65WgzbTmeH5SDRmG9X2V/E2NT/SjPJ63JOKWajSDec06HWhXFxbsN1DZYoYqNRDI+BsWF0ZdymAxky2VcjP5krEHT8PPRQBfhpH7fJo73xc/6z4Vfc3BfL719697P8QCh3+jTPYqrGoGT5pU6b36gZxJWAAEesA93XuzDuXVTA1A1GSm/AF/apYT5osAxMKNc8Et2gecCrzJG0JOg9qISTeIcUzerETKVYoHhct4KRtDZFuKar+AWbBgOLNcvP9VJ5ntSHqGzey5Dyiv6z8BiPXMNL+GefQPJhEUDevZZ6lDeOOD55NBQvO/Z+LmGY250XEvYadwuaVBjbt58D3OjSvnYBPlpYDNl1jRXr21uWM5qfXM2cWe72TRaAVj/uFvdeP4lDo8H1RhZBjLra1WILkVF5x3wi/8HWb+5iK5Lke/5EiGtHX7jxHDbQbzx+bILcnX6IhxdsEyAIl0GijUjxeZ1j8MUlC9o7nUoWao+bvzD3XLTDVMseDnP0RDTcFT8cDLtr6Ru1k2Pv7rCcpx1XfafYjxNPQfbwR+/sA7FilLbX8wrwblMtx+kIgn6Cb56FSrCA7p14QIE6lNhrXKI/lHNXNCnfPg1DbD0gElT5Amu8laTG2I4pK4hfF4wQ7CEczyINrHmeEs9kLw5boLO4NQPWqwPa+DLcD1NRyIlenLOLI1IqZZFe8DmNqPj6UIvCOWLJnLQE0YnJLLtwflQUZTz3748zOj5ne2QdCvqd49sQ39MM0WYN1PQxLkqUPR8LOU8C55BBx64+aZIRDaRYf9GqsassK9QtYFryI5zba+Yh2xpxbWe5lw5JCN6jXIS1CoRsT5A8fuIMn7RZUDtbo3MO+PLkrOvNgEEHIAhGKwG2kJ16oIGds4w3v+j0GXaT40x2Ya3owulghXOwf0coZZ47BeyPW2mV0vWfZEjr8w/bac/vN1vvT2gKC2dDSGKHl7h7Gi049M89CHIaI4njPN/j34GH1BKHuCNihHsXuGP7cKI9uyWPGn92s/n26wk74Ehfy3yK3n8e5pmTeXLyZUKG+n25c4a6zfDvFWtTFdbkH15yc9TcHWUwMQYH33wsabRSbTsl/oDxKbyQaAA/4nWL3E+ULK/kJT53mOPrTknXJuznezJbw9HPu4gQO532BFfAZ/7h0KnIMn+3VDKeETrWPMdBBtgLZcQXlAsr5NyUcFPJJvbyXuOeccv3plf867DwqvJ1Kd6S09tsEMLdNE9y9c4Z7cox2HYZOPHvQS+BLXD35z0cjoQb/z1+2TbgOGc7tDKV8G1cVyJhIxuDCGHJa6BbZ0SwTIbui0NtPeRhYnOveUFBZ40xRTqsRCP+9KY3cGzYjLMLeK6rPWeXAystU2koubkrxmwJfG7zIMmbjCRrGk8PN0Kt2VK0/azjv5L+fZeoagqFdKmsvC0wLiPM50VvUa5kCdGdRdrBOqmRERt8adSjNibLx/uJerT5Q7t/NHXzzldmbwCFjwU2WJpxB4YPwS179KyhrYKRII/FyA1xvjFiE5m9ixW1lhqHItggPpNnPl5N+/jYqfsR67LJwtxZOxDlbiesquDMwtJwiyf0AbC8W4PgMuadDHtGXFDa/PAow1lG6BnwHRk6GamR+ZPXz5lGDKWKyhOoP6b6iQ9KFq/5QzQI4YJlQT2Y0JxmHYJqLc97FhSmOfCCCR3AKbVnZnmnOFKkh0SlG2rwE8pjTktcso/ivc+itPNfbOAd+wh+BV7qoFMaqFdAZdxcgIt7fIZL/cduzX65TDsyKlozxP2yTkAKZEu2KWDd1Hu50SySg39COkFQVzoK44NEVRviVEdJplKB26LNL6+NRpS2sZTaqju3Y44WtpiQe7ZHWMH28tTO9ESkqF0mp+Cq6+z0WOnaqm/x4s0sJxTPvAwIqBkgz3sJWQSBIpcYhAZy/MWYopiy+sG61rfaF7I5pZmQ6IeWyuLcHVRpTJNHNrLw4qM0jH4x/pXmP15t/+UWERYWxXuAYrGvzN31WghFMRaFJJxYlqEqzSCEHKE6ScBVfGHZSLHY9xfVlIS8MuKyYK+YWZWc251WV0sNan7R2lmjjCdLmu/tu0Tb+IVmzbLyQ1qNhYyQQhphk6XbqnxIVB9lWbRO7Ne2artxx+bMKSsMkWSpqIkB2tqb2tO0zq56kfQ4/aKxhbcdpySv3pS2WUiale2VVx1/qVaYYWwe7R7C04a0eSsv7pUyL91yVcKWzAQMTmfI62m1CIvy5zp0tljVwVawD0R0INawbizFkkKztPAGf0hRvkEHTbM6jE+XNlD48jFYRvhDL2bhIpMFI3teZ30HkyMD+zE0R9YUziuUEYia/WYt1vGFV+lk7k7gOLSgth9CRiljUy89R7zZPNhKl1e90D6MbNv95mAjtkoPmaAerwoN8maF3YrvDIDT24W/u4EvxNxp1i0p/zXDimdxcKk7USWn9DXK7aSw0pwZkGoM6ON6UlzUEdgauwu1Z9EdViQRuNKH6ZiRvBlh888Amro09P44mPBgt6NhWmVz+eCuD4g/9CZQHnbFhQsQLuWeOyf7P/ZyZpz+/h+nwXpM8sm6jlpgTfxThyMV2dI/HS3DJyxyeN8dW2gobucbw05Da037tnXZpZ3L2m7d5qldPlnfcY/R/7MXX+yZ1yARA1dPv2vqkMdksLVAvgNVyFMidMzbEuWW14G+YyYN96vYzduiYQ16X75fBW/ZsoTA3dW5Bkri5jeOG8Gz33SvtS678zcHd1Y+pSSerOeAYN+MhWwFEUhb+Uf+2Gb9mWprLeybD0CDnVs+6MlZOXIFTplT5u5Nyu0DLnbxwNu0X2dd5GnADkEzAirUekCC1m7MgoPigEMAgYKNoClJWuGHjAYNE//9TO7+nbXO8lu5iaIA9JSkoXJ6bAgqksyYVgw/cVqtpkoBvGMyh9Jx6MRca8/47i0PZinBGidp/YWIUkIXbGUFSy/sE6YZ+4zXaUQ+2djxBmLM1O6NhL8LKBWGjrdUpCDsCxua9TyWq9L7IF8Vd3lRuOhjVMitmmOTZGbvolPb6LcF45dgs5yhkqaYb4eixIT+lKbR4nDMgdcpaHJgPr6mXbxFGk8AJsnCBwl6Sl9sg/I+zRsud4jwp4iyVBkAOtZeiZUNKoiqwo/3zkYmlOsEmQ3bkM/Eaog7KUTfE9WkK9YTOZxTW7Pp+3FGnDaXT9Z53CfilGaHr2Tj6AWGFntB/VWRoiRfFMU812cxisdILfuDRPENjgTHykyE2tqx5cOpG2X65TiDp1X5ZH2HyrGBNn0cuj5yVnvTXq1ggltUT/YIZ4sROApjAq4Dv9uMyvD7xFcBIZEJzH16ifQ5EmHiFzMH1IudfrqTkDc7SI789SXXsLAtT+4/Edb4q2+X9MTplu3+Ic+/IoovhPzi2L+rLNn2weWGPO3Sn5nD0ZgS/N9p2e9JJk69DznR91uQv1IT8kHrhvRvsdKb0/nX88CCoX8P+SlHwjsprFA0obqtqlKweYZ8BMwRMdSnqaYq/ttjNb/+X2DrsJFzNgPS8sZuvX6TVZriLKPM06bWOTIB1hHVgIsvCErTjDsGcw/VQzCTM1IeMja0sMWNB8shUYJFEi554r3gFklO6EYAM8cM1s0opBVofv4xHZbBZdODOwFG2lHoBmtdP+CzPMOTlDiY0lGK1cJiMxBrQpOMmqf/Hh2M27a4iLhGGladSAUPXzqIzh5kI1GKla8eI4gNbftzw0Y8q6Ph3z8pFlFD+zWu4Iv1HG1dSS8x9JTBIu+kP78QLeyr+dywjdGgSOzV9w8u8ruuujAHgr575UIghXRCzBXeAV16xpiiPFr6PFlglVlq+GErw0/BmAOyVzbYQmjaCc3n8tdCg2yhGS9++mMIoQ3hm42M+IFHvJgqxPS4akv/F8bLwgC7AP27NOXrCRcCuBBqdPRP0jU0LwvjdJq6MB05P16M8IrIRxEfLpRWW8Z/YFU/x9zBI3MHYiOLKmRMfXm5OBRGEi+jtyjc4QbuKGUdtpfGENZZzHVc7aJVvuCitAB0ZFopCqLwPCw9f3mE4qJ5e2Jc34lGkkM3htrxQmuhwUM14w+AXmGS6QB6sihVg3l2Mszfh6FXMmR6OHw1mQRi7YOTktHWS/mwPPa+2yceAUXBgkwycVLUIMWkqatH6ryqlN87mWiLYWS8WlB9/YOxvTamzllLY8VD4ph9Ow12Qp2Do4lQIlpbMmlUWWdVZ4lwKy5MBJAMHkVh25/QbSluO7RaC1x3g5EiolYHbv0QmQS8vT17isEuQJmDGCKogu6ZXhH+U4sC5owgl5rSW7te+j2Tnr1JGcLGc12q0+ylkBRivrSmmMWsmdKC4vRqNQAQ2ULgjAHCn1b6mwKiJgXq4paD1CQweu8zQArjBdglwFH/JiEn/G+Fdy9MJWDShF5hzRBdzZu8CHKh9uJ4A8Dei6+HH/H7q8rD4VhcLLy87tNdmPxOOZNvTW+9ZeIu3h3OCIxoeUSofuKJwOIQT6RCQJsgY1khN0U4YR2dtxqApOv68eH6z6cz7d2LLP5TRTumMcueUPhTXzNIpTEbQOkYQeKcodW/UMJB+so4cNiLrw7WOEEW9hM2eoMOnz9bxoSuiJj271lBpryrRN3uw62KsZquBnG321sPjBldLbK6S5D0lmYv8zD7vvN86dMI+2ekmhC5A70tDHrln/6QPli7svGXrT/13nt06eidk7cGb4yMXPrtivks4VU1LLuWRdNLk8J/EfCvjFulI43s9XuENcGTm1DHkvnjBH8/WZ4SG7kzzCVTwpjjmMPnaHM0xdTFsJi8GEvRFCz1RklCwkaT8txN/ysgN1F/KXIQjmboWepzoppdUQKr/ZeO5g+1IpF1/mBIbaFBh5DM+QHFsOz/SIH5c5nGaEASn8CB3/ea0bL/8sF/fj6DYIVcnuKBhf/ygT8kW/o/W0ZfTY34aC8VPOv8lfXiHuH/8tH+kbimQmyqkCPhUkBIG09yi2T+0qYr6LjiyHsziAfrqCTs0D8yLPtOibBUrYFLKUq1Ywt1mSrX+eU943bVNOVGsMTfqN/Ff0OYDhJ6ZaxLBEQYc8k8lsy2JH+sAhrnktGeR9ggF45prIvFJ3p229V7jJ/ryqzJnTheJ0uAYbF70yrlP8mB+Lui7sIqMvENjTt+gzD1LXer3vEtSQf1TtgJ3Gu0omTQF7vgp+MeyHt8tTxgy9txRec1PnMxarUzkzLhqlbkHqdkkFjtnYd5iq3GrqHrQuRYAMbH6ZHvSjqJEdifEeUe9GVqJtRjL/7KBLw3LCUWulpyMFr2re46CeEFmw06idLS8URjCYitW3lNS1hSr3R9PrDFlzBD4Iu4e+7nhEOUSCLfS387SFii9uVnKwIriPlxF3/mZcOBKWwBiRZZMxx3j9Y4Vag1Hq0IjSefWbiezUhUnrxmnW9YavLzbZlkafszlQofohZy7lVVzCDKi4EAbtDGD4gH/KKjbNKx7lSe3/ZjoC45z6Ac5C02ufBx55NIimEZjDWUUUTZcwzZ2YG7YjjURhFRP6FCZUUL5vtmAMBzf81HeZmiF0B9wONqv7fIgCdVFw7iB3l3aNkY+nL6WrgweuV4+6BzBz73wYepKhpE9CJ8rZUbv/cJf00jm07fFXDsL6rHRakbb+wcmYbuLEq79cfBe0OqdaHuMky6JlE49iKPMCfefU2Nc4cQbTeSVO5hUnjpfGTzLUJUpKH1tfQ2fz7zHFvhzqTuLEmVpHRLWemetFX+Ha/PAxrp+r83ZiEX9TdfX4NczsaqvJlNeo0S9OXiGVAxu+RRIdvZOSGrichM+Em2GhG1FeEaVa+Mxui5pXiPhEpDzJjnXcw2MZ9lRYoB00K+wzb0vU7xDgmPmM8lSABcb0tJzSwOxYkrd11K2mcbB/1QU1i4sTvq4Rf1njlu7sT0ZEI6iaiP+6cEhrzLVOZ/4POzKmTihwUhZ6mBDvJcJhHXOK2iBP7O2UzOG+irEvEGCuWIKmE4d1FVJFBUjDAsXwFAKOe6xK394ngPK6xWf/JDl5+LEt5W0o0FXxiZSzc0PbtuR0pG6B+dO2qd22a/XEiPsh64xxc/Vd5jea1yJb1BuzLUn8wZvNs1+wK1kYLvSaiPmP6tluTZR6AkKh7YRmRaMdutTCyC/LgblRVN+gGY5LqXQtJumAybxkTWK9UR5GKqUjuCGtleLMb2dVOKUSqHIxK3UX2mYHWoLuc2QN+MEYceC4QnzrMo+dqulRyLpTQzAZV6SUEuUox4bt1Wl9pFwlClTQEZV3KbOBvFOhnKWVWrG4oIGxQF/sNpCL8HR8rZsdozaY2U4aWMMsRfgBOXEch2Og8/CqY4RoenoJo5mMmT0ReI7Ilk1X7RzXOQbzlbDeMEV7aDWU0UD1c7IlPKMbj1oQb3+ZtjNSeeOFKB8ycpRKbNSIYkJznH8mJS16ZskzTFKFB3Boj8aZXaPl7n9HPF3fTOE70Obvg7ZZKHQgAOMtHxKOJMUQHSMfE1AQHWcLB7MM4hFt5BDBVBeIWMY3qLNgokPO2VnSEkB7y938Z0S3Tgoz40DlrcCkjeV+rh0SFLS8RIyVBncqU5p4Az9b1wcKyR4L+BtZjchkvj3qLCIAtnkdBxlo22tGAvp1Uv0tZLYG5GqElFRISWS/+xQqUoKr1CFJ6ehqllmTDJUdBoTpA01wzbi0uZHyFplvOu8GJZ94VparZ340sb363t2eOtraQV6Gx6PEIR/ItFvhIMJFGDpVKoyofeauvw9pmT9aReGJuXV8Ehq0uOr+FGwShsx4uM2jz3FI3qzpUxpnhL0y7h/b5vqN3C6GHFCvcjddVt5o1xQW6xflm5vakM/HcPvB5uxfYudgz8+tdHN2PjlrXXbxbx9dYxgvIWZU6P4+8fIOzRaBMbFWU624Jlf01Dn8v9R443MLxwnca68CUUMdndwkiBK5Y58nmh1xKRpRUdbtCOEdyXKqkbHO0ut2OrP9KvAPlb0NtzLzvkga0WmyIyg3WdqWjfjF2hh9m+OHqA9clt7QUtXX/AJGS2j7yfmYUhxjjTXaIyj65S9OWZ9PJr3vGI0r2byX4KvEy2xkeKUiwWrn6NNe3JujqCsWtNx8NNRfF1daSDtELGTI7lyYWxua4I9RWQSKbajJLJsBTsOUPpIbA+GtSqyqIgMkXPxZ3MORX7TbdeMs81ffzhnTl+/bFGKwmUxkO8pldoOCrE5USe5JU7caWk8jkdRDrFtz8yZarYd8dI3JHlsYek/RsQBonZb3d7emcUZPb3RpY57pekyck1YR6qZvPliB/XH+o0W+p6YaVS/GzHwGvVBi6wWYiN5RuGojd4ZKhzRMZDR6p3jFGifLAf6qvWiAa3aLJ8SG9+FVR4kixRygR8I1qnrXS13ShzXxNQKtyMLD8GVs37wVwfATYiQZ9WeKhwQmGMFTNRU5IaNjYR4XEZnBcFns05ctu/v5u+UV4vxGbWqOXClm2ITiMjulY184HF+/1UXxwduvxZGooAZ8Hub3kjIvJUjrN7z7dVR+Z8YgTCxHVXgdLbxrSFQgtDI8JwpzN153iFfJ48NhYfAB+JtRbzk1/FPXtzoDH9i4+HRN33YxWV+4+9DtdSbFbQKs3Ru9xhUn1/O6ehPG8A2EG2f7+OhbC80rE3y2oq2YJxoOeXezLvg9ZoLwwVqZa1RQtfAFar+REpz7qVz2SXdEAE6yDtYzSkOkXjShtSLbKvbIbFGPP352wfw9rGXrVh20l4evb6lfz+2oRUsg3MK7rDMWN7jjuJ6m+IRK9X2bgmSAqTaxwBXiujMplbUhMTr3wD9LlJRzVSV+usds2LmoEB18KiVzKRXE9uqGocUK90HZ2jNcdHDthWc13pPoWGiAyqn98uRB8frmLXweOLrlAqqcDijp5OcQgKl/opU0q1HyHdlZlhcbP+RZ/OujyB9qs2HvLwaisdNkbukn78SUMs+znIpyANqzZ7m9Qs8NSqUkHDUK6Zu8E+NN10Sb75VPrIP2liBucxE4aDxl+xTGuP1fDEsoyr4+sybglPL/TkpJF5cno4S+AaTzxLyI/7T18GXt6bOs9+F1rL345G3mPW3xG1QZeLpDLRGGQfq79pshLKnVeZ18M+iOin0TGd7UZMhlhX2zboKeUEO1eWJApLaJ9fLE5Cbf5SLTunsdNkUmnxccv7ZVwL3bkL+05Cb5T72IVx7YsNJYhuo5wq/qBypw2i81mwMEijOQIOvZ0m4trHjaBIdNQYB8jRVp3gVFWjxjBe3+ulVNNdsHSan92uu/OmzhGhVv+xoBu7zmvw1shcr67feoUWmp35CrQiSFpTdRO399ks0ybrlieYwjQvq7PidLKxzEPhFiKQigy9QMk8OvtxIo28u8zriI3FTI001MJms7EAbeCMLarM1xa309tY7kT7ctyoOKuUQKnVlPIhUGXCJ9hx9uRmQ+r0b6f08oo1E78EYiOz0+G2e73zYdO3SkivFmcxS1RyjdbR4DXk1vlUzMF0IW+AgteRMsSx4J094UV94nedE5vmgucVtsQSYu5jtX8fsQl4W5doJW3csjdIMY7R875GVdBGr4I9ZfuO6f4efa+TheszaaFVLGHHz1s87F48xsVE0XrV9EWEpRIjjZE9ah+O742yEjSNKXsvMkG8Kjp8RQpTFXAqPMvXbhJE7hB0XV4ty/Z1q9FcbrYYV86kXUJzjs/Oq9UNpKMuOlpS8cBE+773/8w33XKaOkHNTY4nt2RsvTGJe7835dWfkimtTzIl3YejnWjPg6fZJjb7hMREQyYpJu9LerMo9sqoHFXpWijE9ho6k+TFyrA0y/tfIrCyWMdkPwlbs+wQz3gyyh5sfIGJ9hYOKS7ZOI7HCG8wZk51k4aj6DempqjfLyy1WsyVkdWCrG5NVIbCmU+0RoZtPRrDs11cGKTiQ4TOuoEdq5pGhy2fn+7JDaQY2gYfNXJksd0TdAxtVRXa1tGU062LjLtmdAqPQU+igU7/u658KIzoEFNvHv478/He6PxS2DTa7RcAquLqvYOgSodphwQWSwVeBdzrDhKuqHODWiaJSrOW8gwSyjcrFJ6TMw9lmUYY8pgu0nWL5kdAiK4bB3Us5QRVDM288IItwGoq6B/UM6sO+1YKKwGXyFgRvj6rfUMDSXBj/FRJulygP042ZSd/uADunv/Cxitc8iThJFD+IUWaGXvhMk69i6dfy0J3ToLTRm602yeAWNMoHUZJKdjPnt0amtm0IVk3HleWHNGxUog3C0Z9SNiLrvcrgeve88lZpcAsUqojLsX1NSutWNzD5wwNncu1klfNBiFpzYROPtwdCCcPyAF3cdwThMyDvzUDSwX1XkEMRVabs/S4NUPsUiBQYWXxwqJhKQ6DjIqWg4hIAlCd9OWRbRmy4GZs6OOtjbUyHUOfsADWwAFLbGDZOfRoSE7LC0QR8GdcGUHQeS+xW8Ij6Z0kBdNRRZddYg3Ofm/Twm2ZZMCYITBid0PZz2kAj47SqLbcIapUj0Vv7QjjBOM0iuOc0nTYrw2JBPROorsCukLhL3wqZILXZ5Y/RnBIyZOXSxmLHK4AduOHmuFBh+pQKQFHfUX1ClYwNoAtfCeo1tviKjVKblbieTSnz41tlKkVK0RH5kIhDqh8aAUcnNxcGBu0HIAFI7xJnIlQaCHFmZ/xYLgSh0fRdhwbUv6haew50Rfbs3uStliIs0xuioQDtGWmkbBx6152ds+Z1WGVFCD+OAXSc22euCir1IuGHrty7+pUrqknR7NidDPkIq6zjgiE3P/u8q2X/YP0c4c2FGAMZj03h+tRBYkdhL39oxYZh2dMl3ZGNt96OGUadrfs0pa47qbbmhq165krJEWWLolJg2iv5Ob2Mrm4VErFTKpPHotRvD/WvGn3534eos7OsiDMZ7/xHIz+7EjhcoaPwbSxNPq7k7WTT39Ip5zHaRzZFFC5t21S6/k9XT2ZStELf9P0lElbcJg5cJUxDWD5Em7OGhSep65jrsbI3/S++DVMJRqjuFfm2lY6sHb0j+R0yoaf/wvW/pFg545q0LaxAvBIxi3bm3OdTDVnlKLvj9FrIdSZsz1F5tBz2BZOK2jxB0+/WvIO46M1bIzeanV9tKHxkdEbTt4dJzKHt2+ihV/0C7/SQJWo2fvawFrTIyzB2QmrsyHjDyEOrI+W+KQP9PIGd4WSiI3b+CRMQGfkVoFtB6Yahnhb7k4EPzLbCdPSvOjfJ41zLsXXMBm7WjlVlJgk7jidacAj4bSS2i24o61iQDO1dLD3W8uq/b6bCCVOEvMDJ+9NSlPIPJVOpkZRuQLqKfNzfR6Atr+IU63x9qiu/wRSelj4lNFbIIH9JXj2EnQk1er0+sOIVkbzRkP9jGKYiL06uRcU2KJ8WGvTtgxLItBsvK2xcboiPUeRnsryVuwhnD0jWGf6pR02K+SfSelNtGWAyB6rKrBX9l1UHce/AAOa6xdz/2zTVT5uRaap2CUwMqLfN/CcDN1XItPcNr1t8UeQG5rSAUkaiJKm3LjyJqn8IKmpp2oObwn+AjYP/9KeWiRhDvBnPLUe2R5rb6H0+M1o/mnD5GqMOgn5d/I0Td1ToWAv9/v9Sn446kJ+rxhNn/EJRTkGYZyc/jUi/slcksdJw8mhug+bszTaJcP4RBwJtZ+r5hs62SlXi90QQT6zb6WWqnl8ST2iw2qRRbrLc57LL9EzV5HKcZTtvhsh2snnGn/6hhR/JztjxNTDC6DFoi14j2frkKEylvPKZtpb2Ohy9IP8pmtRx4qeNHPutt9Gpk1se+2okutbQnify/ZcYv1pbSNaIbnkyjyNSkzIGbTadfE4obkInBrI0k5hk8qIyrXZyUoWh7pCThNPlBF/FTv+hBJq+wCPPPlVCxP4qkzPKO9wLeOpGzAVwnhfRzHsbDqs8DwRjcyJdElRpyChJEJWByxMdWCHgoBSqNMW6REoGSYtxV0qqR6oxfV4eaJnzFP6HdPVMhngc7MWTYTK1hbYu4cFCCJHx5tM479Fs+fiyZIR+53ASwdkZE3ckILtLSAnVPsVsAJdhdQmM2kxjy6XWEHFalQBH+tnXWrxvVpO6j6rsxtiXkiFaOSZldZVQRwYzVpwSTYgodFRocHcqT1BsjBbUlDPRgWVhwnFMkInxdqop4JRGJ+UVjnrOAE+TnXhXqrpnQ0nlVEC86OnosaWLHm9fxaFbaMOiem8Dk6YeYn5EcFHjhEpoY6+z8kxuNJ51qu+d7u8ebCAbbfRrrA68Zzm4eMaLUwb2ZpOPL0QXKFSTeIJqlt8Fo/TqMMgr2ljf4VP55nE7oYk/8eZrzeV6H9V0Eyw1vbvmWZrfPWFird/i4LHvK3Xj/df4dvuPcC2bLBlAzZ6dn71tH5y+lsalsBRDj7mwMS93x+3Xwcl7n6cIo9zcHecSzm47ma9q8/xuJ5tQwVScSixQ3mdYR9EBoukyVCnfOXPJ2fR3gdB8YtnXJmPKTSmhOtlA9khCtmXmPjQXS9IxE/O5axetdcohFaA48sgZyQlCkFp4gQcphIRbPHeRkmWloFZEuipSM8NLWtjUlev0nsY+ZSBifS5WF2CF/b174AAHNE3btUi+FT4P1on5sPuUQfi+FbXFMw7DW0YIm1FwOIpLCXwWTljZuPSTyiD81UEw0NMvKYqRC5SVeJp6x49pMpXJuXFLBD1iuMO+ZHScUjRqzdhjEZ5qlOkrImqSmb545xmc1aciPqbey1ur3KgIs+3mz/6KT0quZCibW3XIffxTBATiQT7qlNkc8qulX3pE09lVwJyhCVKIxrwKTzazl1rCu7/b82pAITWxpKxzwuIQtujx6zYs4TSy721Y4kOUJwZ08l1RE7gnMhhpWjipeHaBeENf3EUPHfh+O8dTj9uKabBm097Ea0BIZ2slhKXKoZGAr0s4jSRsBTnPN04fiEYk8PQqQUmSYYIUIVl9WmE+G/oGvuNmRbn39WGcVjJTCalEeFLe6ErKmVqlueREo2mMnWCsl1LSBZBGCUhrNnA/LuxEf01a9OKJMdyyrGQMYcaSWKqaT3uLwavoswOAba28oV+XUq6rhfNH/EOS2eKitHE1TI3g4swhKJuG+oWflR69kQxmXNKFgaIN1o89/fZLDrOO78D+GimOiI07h5U7blsUj2ogX1xlfgCFU5xZGiU0+zjxiXrH3TcMq+QU0hGtyQ3FtY7ZuPsWfg0cjX9zan2vIse8GkeMU6izeNYi3tljmlge34SeYcS5rJLT/dmhTzxya1AHbvw+h60BswCutVLsFdjf9aWldL6G/n18DigcXbY3ujnKBDhBKZUDWGT8SZwfAdAjw7f+rqLKHWBGzM3vm6QXO4rtfaHbUkryY/m5oN42X0qZivRD6awKAMcx8w/VarNdaLkGw+vFO3UKmDTyIzewFkKOmBLdWKLg0lAevHzi8h2FuJKuDaIiEw3JanCqWKSp0Y4axRi5YLEVgz2C5Jghjc04Da9IFTajI02P9tYICOMPkR2xl8Yzgd/ySFLrYE1Pbcnsi/v3NzK7sA9nJSt3q5vH+fB6OundpPrBkwFns9oyG4/aatz1SxkrTqyDG/W/KFoSxvrwiUFNXFlEzHac0NMbi+bxHFD6sZ5EWhLvtUIpqy3G8MtoxV7bfwl+KFeGf3mrnEIhA1naUCKCl6OtUf8KCuiohYRJMp7UOTuChlcXm2UwgOzzxzExsHEoi4KrcZtxSiPxK6pp2UhjMDEZNDUXA0gaNjLw4L+H5dblz9EgzaS1oOJ/yqOX2bD+61fhFO16JfOPqV+K6p9Knln1b+KzceDIGTjhTzJpzfsnsMzuffa3o1XJWXC+ZfyOZQkgsVwFBA6Q++jVIuFG79zZk7oHj9QqKDwU6nxkknMUtFi8+kVCdrsbrg/pZD60urnJBOTr2cq7sHNezWYE/l7rdWSzqfksm/dvH0xoKcTRRLgoKosq7SRvqw0KbA0KdyRbYnd+iEXLeP4qvNSz47KKO9j6501bodFvGSaXSc1c6iUrAwBQYBpUtA1XO+ktJncYkJO7MNtld4vJQ4BwqfIZPZ0PSmqSnQ+JQWZWqeJQJHkeh/Koa+bfZ/GNXvOFb6wVR5RG31km78GF15S7KTCRWkwP0N61olPB8l2kKMX2tIKX8r+JYo89OIX4yVmGI6f1demstoEbOpyrL24d0fcJI8tMsWh1GE53TRQBDEB7pG7Y8R3bGIuWGJ5ghHGJ61ezLST+whfOtVOkxlOQLbTOKFsI+CRZKFVzymo11ygtRBPocV2JUd/EUQKDJIvlOXk9ljRDYlPiguukuhdQK2iwwFGa0AFp2h2CODha5J5WkFSWDvGM31WYwHfVD1eLty6gkgYXpM8OqBx8ss2J2OMcB9YsiAMs/gTAvZoaQ49rxCmoU64RDKu7MFNVgdMRl3kGp8/osoVmqL8O7oHCSkdF05WuNaZczm2wTnO+6Mo/1RbfceP6fjXMlVHzoTjnBjNZ1QJPKCJvfovop3ZslRooH0SaqMwpKrC1ITiq5IV7ADyi9NKPGkyJYcdbD8NNuWQdBwRQcPXicgpUCoa7Qii0E3OhbUshNZrx0lA2wC5n0dwklShE9/vASwHJiSe0NVW1EmqorBqjnmtWhDShf54fC3DrU5U1cMIG0oJic5pOJU+utFCRQD9nhBN3gdXQMZeoLuz7EPbwMqE3AfkECHStG6B5xzszmLt6d1weZfbOXfEyTuM5bPSNia1Cfz6/0nu8TV5Cf/5xEuz8ix6kRyjq6Z2FtkXyUI9X6xNwt1gr3apVKwxXUTNR5lJ1vdYGJQ50yp+KE3juuMA+cXOTIpXnSkksbGfRO0xLgfM4K2waAUOaifZeJh4eab7vAdrd40omi1Whmv6DbigLiJF56EVQmzSPrJjU5MTzLgQ6/WP5tVCGp12Mm4+Kr7r5DYa7EwChwXvWW5oHsxfXIC9HmvddP/dcaVm55BFD5IGLaaMSUO7uDJPWlmTgoU4rgYjBQJxjHToHLy1jzXAo4nWqrWOcho35vVcJ4ZcXvedOi8QLsLnCnhhyA1LD5Bqwo53WNFLFYRFi32RXMil5aSWHfZuSgkYBTRtij4XAuZsF599ZJt2tgrj52rNrP5dwV6l4HgPMwaWhDxic8ISjzazb3vYA549kN55Rk2v/0n+po7kP7XGxTeudLaVuGaPiylMCEmioUJl54q1aB4323h/o0IiFgxlgU9FATkuKCbVu56zFjZAwHQFzN37vWJsy9UHnkS4IQV9cFivPOu3UGGPYiB47cT/p13Hg2ttcWRfmZ5KTxfsDIJbehml1iEX3q/4UEPjPJua4r8+UNdJjOEyDdpn1gMP4npOsazdKUJgVEiMSo3oKEch2nqIHrCW2HywhvB0P3G3akKaX+gAi6rmMeH4UEd1V5rhOpEYX4/a3uYKC0sc8UdOrXxtiHPwfiMVh8Qpgj5ukVqG/UssfNAhHbrvmEL5N4e+5aJtz1YtqyMxIPItx8zL6nhjRWKqfYPT48iB9McZsj3GJCbq5GiUf2EBteyQZO7kjfOAoR9aZr7TPDMAFz+AxoVI6b55GwL2xWNiswBNZW8WLDmAWlgbSQtlaBWPVUwR0uO2opaBYkBkkDMI2xvBIWqizi1hosit166nK4T2ktRVq0QtzwwFSdd/vsrXTFMxdt7zCWD8dzd37OdSvNWt75jIl0kOPSkF/bZp8SY5TZJh6AEh5TsadwWrGECpNCrwSolj4uuW578uGeIK0GaWRfxQIdMq2qql9frL715f8UZUDtQ1ENvTP21DpYo0qCAvry19dYiYYUhz1X/6EAN3Dwn0Ija8J4vP6m0N3YfNbFI/7/m0SJU79DE8OkgNLK+UkXrm+vUhgf5UCKePBFhZtNS2Ppu7A78f/kD4eb28XOQcYjQJk+O5wZv4ypxx5g9vTfpeiTFgemXYvWdDSPHp1sNCOPHeMZq0kifOKHT08UieKHTRc0d2mThQPclMbSOmP4GX418uVR0gpo2gtSC+pm7HT0XGxyHf9K9vu5hqRAbR5fi7AEv6WqrxR2k5wB5xpfqMTkVReznsOANiaKxW8yFIzcx3lxPCptD7MoMInDQ9+14iB+6jUwQaPV6P6Kmww3KZOSkROm87ygkiM1gwmNGPgvy2vSHY4LZYuYixKJiRXOWSmhv3s1GM4GWgJodMP79Q0uV1n4gxidLrgWCIsdykt6eNJRLdBL9TUqsaVaeC86l9aTCCK0twlBkKdT028JmmuMI2zjANrdwkXrPUxMFUBNMn592j2aOIWCnIfwgMdhAwatFHdom1wGAu77PhA4pOdznuHg3tbJFBVmlS8WNwVCn5Lhxd3hdO6zs4HjJZ3zXi1vTICf9485xif3/4OcM7g3T7Zm8gxOUoEnSRHGg/SXC4Sm/uLnpWD3+eiqfv4UsfnxQM6Y9/mw8/d4+0KMCEgIEXstxnRwagcTY3/EQx21o+QZMLpLXmKI+51+cbVmiuF5X6Q8OpMIMcalrt+Ind9xRskLG8XVfSbtqeb+juKMeyTsKfvVNMI9En3lPEMAp+iUcSP9R2QPXBajHaSEYwK+Xl5o/3XRfaKGs+WaIw2aQ+ONYf66Ma7GeQaeDIjwqyQoepzgHbOAK5uiemaBJnE+LYVRfN+n9i6bQxsu0aEJB0qz0BOpIVKb4yOnEUyPm2XhD63aOeerFu7WuW1pQTak7tJj50t6dIZq2LAxzwgcUUbzsYPJKrB40qooiCeSDe7rqHKMqX84o1fcgSY8iMvWO68vkvgHUqpTkwBvGeGTyxijInfjHh89KP7N4lO8Pz0SV2VhvoQvEWFBp5RFOFUGtOD6QaSMgeN4tA2MciEOXy7StN3dIzG9TIzH6/2rLtcRqrn4ApQYRgf880155YK8/R60W0zbCxjMrFRGeGOvmCvnD3/rIi8cU9soVAyCGED9ewnKaEIh2wt91ir55aNibKrSrMNC92iri7Ndm2+JbWxdB+JfbJG0N7To3ynvcOqgekOkY1u3cCBFKuhJFA306Q7kqZI/c0gOPM24oFT7EIlz7mQPv2oG17XTqUtIMojYXes/xgWavY1NibIKS8xB1cuR4hitlF61mjNh+AQzI9XtAM2zEkjqyeeBHIXwC5VBuBrWrZFFkIJut5qEMLyqao5RDWUhxzlbHIFLxFHdeSvGngbYhmesGknUJCWXTiTuB98e8tFvb0f1ELb5O0kqhrCepGjAVwjXghYKky3T4uDT/iOnVihFpZQZwlSBs6jc2PMWw8ootAmHAe3YXS0OlnZMnw0li2XiSCB6J4CJjdPwb5eaFsL4hZvjeEXDYdYsPUTB99Qkx62xK1YziwJ1BPPLjg3+lyxylfQGbyojNEZ+eIaZmixbvJKIpHKAFnLGBBkLobimFfjrSF2KSCUaHyvjWkI5MtgTuj13Q4dDhHMYulZdleVEAahkpyuAS187W8ZO40tajsSmsX8OjngsAGRCnJDtB0DIvfGpt/fpcHWyb9mWwOp8zbrSOs4PWkIpYUFWIFh7wetahD0wjugHpyG0y3j6qNlmVVgf5QsRIcjbDCDPw7jCE5AAtBRgz0uKaUtEnKyx/KyygO5hRTnC/myMIzZMDOW6Q0Vep5GNbcRlX3oyrSjDBA8WPSqECDmx5qqt5K1CY8JEKcq6bKZSi1TvU//hKs+NSIV/4hN10751ujClUqGj+JiJf+G5d9InRvaNKOfjqDooY5PvM7hMDgfjQ5e7eh63sTcsnkncLhRy39bafopZHB4xcfBfigLr8K1ZUX+wcs/7ILQXh4guB18kbILrT9zGOqrVsSCAzvXWgnn74R8l5sxZd1fFIXon3seN3X9Y6hPOKx3In7BApJfmpbZS0u3THnVbSPLQHLEx4dsSgE91gAAePAR06JPRQZ5Vwo5iUXwWLO7jPGMZ815nf0Xi4FMvn/Zexy1rAxj7r64q05hFfeAYB+ljNKBv1FUUiJxpVuuzBNMamg0i8rFar3pFmVY9bjlRjKKOyzR8kU6DwWSyDbyDoKSpaE03ET+XtM+JXewRc7oK5EllaedFKyGRDP2crtuJygappew5RI4cCHc02ADr3YTr1r6pLfnBvkuEQD97TXyWiskai37C8+mzyAsUwin3TUTTFSxMNkpQ92xZ8fbZIYy0YgZSvIIH/wp4Y5/DQVFXaoHK4krNlfS9F5WsyN+lXusdE4f53Rn8tbwc3cikef/BGYssIpxcO/zsQ5rcAORn+ijJ10NnMlmByfCzzof+jf/vWCWvPbMbT7FWJJXlMRH/WoqgcUsueT9JqlTf65GIvxi1n85l0jnlOExTNslRFekmq9DdYzmURGAZgxC/TJBp9Srvh4Zno5WQjabCENi8QlUesjKS298V7okRwwnQ3sFh0uu2Wp39Uv70FfJAPmz/Y6szDFLIlFk+9lM5Y+LseHQy+HF72Tl0WmZONobYV49GyPmhK8LRHMUEnG5g3nU7sq2av5LvMX542+nMBu6ZAqUE9qq5Sty8T5tBPcJPFk8B3pquQN/kiNZy0Nuep2CsnytRt1yScfxdhueYzd+/Qzhju/EuAqqVp7cy4SNZBHzYbVAIsjA+Bu/NXw7kEcqchlYrk3qNCRqJxxG/VyXeZSufuO9nwSZip7gJ5pcmwvQFklpSXcLrOQd9DN/B/jfSB6HUhftrblhuEmGDHBSKlE1K2JNOXZqt4ZsewzB4m7lOLNrngX5y/95g+h0CG95v7wx5ZmqlRI5muLTIPVOrFzRyBKAyZKsFybrJsIVplJJt3BLyaqmdwgoyU8zf3ZMXVJ/GHLdktiXbd5AF9ZNVln4XBT5oQVBuKbwLmGvq7a+9cLzC/sovnOQm0j7+execqvNF8QeTnxWJuYpoCl+2JL4fl6Bimf+SYjO6w+H5Ov+HdqeULB94X7tKekfbKi/Us8sbK/WzZmtzWaG4pi8m9iEL/4cFs5TJwqmY1hQRoP1jZFI1qbJ3VdB2LqnPxF9uNfM8XIv8/XOI3VD067wBy/luVikhQuVZxevE89ftkXNjWakD3h7y9L9VqlBW84Sx9TUfQ9E+5EuqyGYMRyMfZ171eS5b+QTOqjoHVqNLI9y+4xZCeXY3EtTuKCIPpf3ORWlnDvkxjxIBALi5vtRY7HxjqImrr4XAPq05alKU9xVQsacUqmKqPbAxOWfrfufKCX49Sk4Fj2pWXkZKW79+jyi5Wp0nuSYJeiX/954ookL+ZA/j6yjfPjGG+iY9R0WY+E0qPa8RhLXXkeFvI+5+HeymD4O37UmdrXsuYY+mjjfKgWmjyhG+GGWAPxhxtFaWdW6gYIiw95rN8xg/Au3j4XMNEVkeVDFTNEeIAfWT91blA89uG7B/4nvkMmNevGxMZVdyWjsxEM/78J5BuAjOlg+3nvnZFobS5XSM06hSH7igKuKyspmt2+9Yt5GrJBnZtNuE4edaN6mVOlxO1mhaBWe0gqIfaV70zxsEpmRWacWr5aXDrM2Ll9wLB480VIXozUTPJ6j6vPAxMaM+aPWCLIGmZuWJGavu3E/NXRrHGksRylbZzFK7JgjWEzEOuqpge+LApTUe1j5dbSRFvXUq++MUZ8rAjMXCcoi9cxFqDMKK3VP5JYQgZ/YzR/3qqFf8Rz+g/4fZ7jd8sxtZw5q/kk6ERgWcpv0RVnUgx8fixF31qjjCR2d4jIwiKzqQCaaHJpDi+P1E71KTyqSC7ykfH2rBjjlZ9w0s5aNOGTmcdsCvRw8oKN5EBKLdOMKCWr0drtvVHjw2ymYrXJ8wcUMEAZl+34KBMi6BCzCrpCuNii6nqmEU55W2IOip443bxkgR1GUq4q4JSG59TC/fs4owhM4MP7V6fKpxM20PLogoY/5D3oUiw0aXLrkasKjn45toZ3ghbLn/ndoQhB7+oi9a7GmyYv8xcLHoqLfW6r5r72/P2S+yGWDtA9BtRskem874mG3vf1iUXe+37MlbDj+aERLZhSwiEDhP2P/NHbMeVlmNMZh++ZCzZ9wb2TyDDu2D6HLmHpsnASOMjpZEEUhk7jsDLj4YKWVbnqeiAaxIVQVAMpDPL3QH8DDqT31BUsQo+Ln4bw2jgvvu6MyLdd0yhYL8H2vn9KxHoE0bIcGBhWT4FUdK7jsDqZ08HGHmQY9v6LtGATA7d6+aaiUneyQtxqYYGERZjz9rDLVGqOogm5GZM9DeZxeQo90cU+zn5clk8lFtuInxHyaNx/NmHrOk1+O1hExoImtLpEfYQ29LnVc3vZtJg5Du6S7CZQDp5ktU945AW4+FCFFnTCNMjR9vfPsm7q31MZnzymlDEIS6ehfITetWTJIEzaZySRPWmBaAvSlSHWwjnrYjUppfh8BdhEcCjmbmjQWVFHOwJXMo4LjEcXnbn1U1VSP/Lq1t9s3bc8xO/hMr3/0E7vk5q5g2P/Gk6zH1wNMrCoMLYwZPPVeyymBXs7Q6l1/qOVd4+M7eOK3jDI8wM9xA+QvZTnW0n0R6cIT7z+uLTr3n9vREV6E8TqtaUikoCqISqHeWLzrWInxVbXqNecmFJOegu/ncpljpOXaZ/iHklTLVDbZqSUj/r39pQRo8xiYbGrbSNTPDvuT9ATmSOF64QPs4GUd8p5OrXCm8CMD/WYSeqaygK5/osK12Re6ZLEAlavSELQBr2ISE7APesB8Lo6dFrSKFmVKOkdwB5pWaxv4h6OU4iZXxXDvgjFUcCv60skWUSrHKIN1JMQD7W2yHVg+Pi6rsXPqPehTmh5zJWpeCPdfXf+8x6j2GSVKfXX+UxwC0RbD9Gk4+V0483IXiX5YWYymO/Hk0qQ+9jkIoyCGns5U2nCcAOzEZPsj2nornODGie7jYmHRYZl56C1VVIZND/WY+m5/KqFrw2DBaCaynbM/6UHnG7FtI7huuhZtND6Kt+PF2BtjGV3jJjKltLh6qkkJF/Tib6sqqLBZUYi6oFSseykCVnQDs5VP8RQ+ZAh3GPijQySlbOkz3LioUcS8JGIS5RsTLyQtTVisSrimAjholSt5hv9/8wu1hAxHashJ3WP9Jo9vf3H0OKDgAyVt6YzKmWyuuoirXustZL56OGQpLkLXQwdJ7usYtQ9YzsZFfnHsW29UfvMNVl+KtGywuie95kFCvxpvHhgy4J1Ea/uhP71FOMOSiyp4rQt3368YD5wb33pa3XWB8OGug0t3mCt8iW1uKRKhd3QoN4s7qWO/Jx005vY1m8p7XldOaHxxXs0oGhqGN+SrX3X54N8ut+AeTvFrXxnO2oxgyOxXMLlydd8UH1NvD9WDTKYvg+tm0HkUOlCWVgOnMhS7KjmEMIixvdYY85QuZVlfbm7XlDBZKze7/nBC/+ItPskI4piRufjlAUkwtkd78FYOvOxvucKwIOYG3AgLFlB1/yL7IbHiBA48lBd/YtkW2WfHcaE+d+U18NIveifshVO1H34LwVZ1dSD2aNbFD6GIIar6744rg19VhLcrQa35JUBIQ1+7d0FWdjatg5QD3ArJyLLokvpLAwlHRLXgVMSXVVN8VgOYinF6xu1ln/vxAiyKIEPA6eUVrQ7XSPt+HXc9RdVUiUKHeA6Uh+8HvMLHoSaBSBgWoIeXb0/3C+39O4MOEv5wvAGaMKTYg4qhA/68icEkllTXE+/BlWi9Bq/d0ya14sXDu3spaTgkJ5bPrddGahr9cLmE0PUYc3rm6zvdBJtgZmy4/6tOPHh+kInfhtz1unvhUhEXdU9U49F5FydsJU1wKB/Fb+9Gz/C8SjZWRbO6eTwv0QUHTDullZWiCLLGTs5SqSzD/4wpJG48RsTX7W7o3B6mtyjaYEvCf8Dza+f/I9Zp2+yy5YGH8XD4i4jZc7UVDr6KN8Q3XHnosHDABQPNT6N34jwkEDcWwY5hwnGZRVsMB26WGyTh7bHYX57HowG+Dinj7NzvdyYwUVrEeYGigM+dVZgVS6QT0Z6LE9zV/jNLu3l5O/xn3NE/X5AV8on9k6R54M8qmfM5NvrUtDfuVPqtaco4oEJA6z1AZlWxzluYMbM74JbMPETn3CRJ528OdFROdWZHnmPIohnMa81b1gYZVcb/YIh9J6EtnNJBSl5POcmrtxLrWgis6WLyRWW3gvp6LCJR9Xfr0+lyaWwPqU/I49q3kJAoisX8oYNHJbfr5oikGhRHZMRjUWF9ljmg4zdvZcIryfmZr4GRlOrIUHxO673gOJQlX3+BO220IIZeK8Et48l0/aKREyr9ikiQrX6B/qYZGhbjP3HwO6Uzp5iinDbx63glvF4UhEX//evYn5jlQ7rbPHF82aRoR0/JnE5Du4Rn5wTrIQWdczVPiNcObGvqgjEhdL7Y0UbArNFi28lEiGmO7wuj1MdrANaLkOl3KtBrvKHwDKgISzaT6VkG5e5l3zgQlCMfadlooaADwNbz2/RFawU/TXM1bWl9uq0j5K45bsApsMfK+IQnDLygtECeDo6mBrnCU/8QMzqUc1fEtswC+6aTz7pXzwusTwXM2nqGLt53PzRTvdRLxj7X19jFAlHlbuxPPlOzOCws0+ifd6zRHR9wgmmEQ/vIh3VG1zc+u32CfG88Gx0TJvBV1z+2/krmzHnh9eErZtmTP0sYkEEX/uhjAkPJlfMR+E5776C2JhZfZYHW5iIHPnf9WssgA96VpetHmtxwpj7AVGgEFl1bRWdblcowvWiI2gzQVWFZ/lluhZ0V45Dw06MgJ3v7KrOeugMTlRGDSOPFJtxp70/8WSFRbtfcdyeTT83Kp+Ihzce9ItTMMyEZ2X10+LlyBPWvU9Ev4hZRPkLtS9GVwOdU8QHnYrbMP+ESZ9KWifz4DzMIpxsYyBDbRmMKqPzHuwkJMcrBp3lOO3Pg2bOsPgfAWkY9t9b6h7qYX1Ql6ud19mUlsNUyvHUURzdOUZZD84gey9buqfJtfsRXF7E6fmB5xDXe2d3m2JX1c6Gl41Z71pG3KFw5A2gqC0CLxjVdxdl7C5zGnJ6H1dFeSyFZasHd4OQTHgcK8QSEFAxZ+mvzKSBhmWfaCEzbzjSX4UgVGEiptdPjGZZQOecD6kBdTxUMP4IsabKpf6IUQyJvjMsOv8PRNrEIh9dq6nCTUqN+0AjtCEcJjg8I5lf70AZk5ZTWledz7Css5ogeNRIIkHXdvkLjvo0sQ1tXRO5zW16lWXhT+ZKQ6+BDWwRP/NOOZbazj5OkViN7OPJM1PnaCo1XjZgJdHBxmTR7tsuONhDF0sygVckrbIisRuQ0rKXe3NPAbHHrxRG+RXzIF+FhkWyBbymO1ki/R2VsjqVkKNRNatiLkGxffoQvcSK2jJSV0shh55uQaL1lBvqHt2KwgcStrkGf436a2+YKAuviFhXdGOgh8WUIBwcUtXCvGAg+XklUw9CfjCgS6XjJTkT9o5TLT03vJ2c9eBPKa5neCdbo4oFbgeDKmH9P0CV+++ec3+mpDgtQxzkJDeKK0wgncdLw3ekp7xZMl1PIEVC6eypsVtn16983r191r1/Bhf7VyeCcTY7xNnLh1T6OOvwC6/ipYOiG4PhnWjJXdWfCTAv/nKWZksjeGiI+yTuF6X9r2X0hIe5ABLOKatLP5sozKM0b2U8WXG1hOkjTaO/H0b1YNo1uzRE7zXPVhlJYZhdZlOoeCpyNRFgFpgoBETFPkcSz1TrwyYrPsvOVvYyTm9szua5X704Nsyfd6MrOfcl45cxTMIrvl0as8eKje+yTZ7j1+H08WNklB8wLyAy24Vx6nJSWUK55+iUPaL8PPEiD8tariEU6MkXdiALt4wxBkRmY4wB0dkgBAZEZmOM8SXMfVvRW57w3LV8wUGKrmUY6aWSBAEOOLE+oAOICg/ZB9JqiShpOcRLqyU8wKvPvs69vVqzhhFEZydQlSxjCVlim5kWnsI4CgGltR66X+mIX/f7zmtZUHznPDnUCJ4FVs6VmEWNzMG10BDWqCdgBaYRkpwiXDtdmeSl8QrGPPZzC2lMdWM84iJH32JERSt6PEdBVqIV4+tAKGmSTUUUl6NUb1233zwJk/LJmGEG9BtrU66yhIFdF2G9TPJ5W74AiL0g2w6kEDwt0ZLfYgDp/IIpnG/z+bpxwHJj+imTyuWlNU/PkWTnVjlgqfOWobHQ62Nly2a+G1mOoWcpSN+15Iid0VW+Xq1mYTNFSpg/hFvuTPNiIu3XhIgMNBMedgkybPPLIm7vIdBrj2JJulWN9+nnKQ+XQSoXLWb+KeJ5vDtjeX6JDep/PNbdCqW8HY8UPS/RhUwMUb7/rkA2xfKSOJzZQEyicxaPU0cQWMImaCDwuw0udLj5kaJ046b14rt+1N8UB6kLT25rcXHNrL+9oPAR1KENw5BwmU07+PnFmgODYAussdm9bkfLB36bMN3iLHHYDO/vnoZnSXS64juZR0FKBOSJ19iAkSRBD95vSgVOHR/ssGa1I5YR7s6sIp7DF9ImLKxZaWfUKiEOzgNippM3zNZfTFgcsYfqjkuzh2zB0j8IBlchABwL6LuRFKzwnykFRZ1ViFWJXvU/jZWzKL+2BPtCbbkkx+Bm2RazFa4QyssyeJTsGDK4f4y9F1O0X4kEgnxhYflmnCobrWrHsEE742CavjEmOAcRlq8n20yzN2SO8kaYmUBINZbM3GFaGCs+o0vZD7x7fd0bqmgEIbBhV69H53QsptGnfrINWRIGBTGNCokXZ1OBEFiEheEP2BeRs3yHtecGZ+Y+fC1MYxwMLYOF0ESpqhtXPoscCsYzvnMDpG11YxxKIO6JnaQbEodi4c72e8bWy0QwHxhpzNSNUc+xKPaqfyYl34zJWeR8HUeRu/Zrxv489xL+rtAeNZwFke2P/xD7dyhsQdpb+T0hKc/rHOe86YObkYGRQZycV0mH6AVbd+YLH7CKBtYQ+fwV9CB+9GtkV7LVSwauuIJIiF2UO8oR6bogvcMV4ipy4YgAksnWcFXUQYouvZ3ORrtlgnywbhMjR1SvVdMJ/6ejJdi/x9DggdJM8S91RWHKSPNjodVjpuOVt7Xh6lCezI6LihS3jXYcRenUFH3y7Mc+CL/5s4yO3gqNbqyaEcyGr9R03NjnxSSHTKuADBZYl9dbc7V7kTaEDhDbblCsGlWRv08hLy/uJEfdTiqTjd5m+3uA+PtYLwnYLkllvZIuJcZS6s1S0U07tXVwKuuks1eU6TeJxYJeKOfsVKli5hl8i2/cz6OoSgD+XtwbLpG4Mss1Gs9wqTGRSJZpYw5UVG9uj9w4Ejw0b3wp/NAbxCLYkycF/sIRUAD0j8Jh7BHDYnbHFprgtNGIk02VODEhFKkMxWnoWptXzRnFSetAplVK+IDfqjoKKdrG694u3sCFr06HlLXjs+qjFr6Mj0V4obrxvJmnoqfRv7j4TuQL3p7XqszWocDVjWY7MUO5K1bL5O37FRjM3zc74GdxYFWT9BhvA/SgkTKLREUeAT5IUMR9DpH8+ZJWcHMlbuZ7/El/rZDcxKUWx5ZrWy/KTK6UXk+83xAKRUS+7sfqs1DW1gF/f876tYSAxSkBKjPEa4oy2bAUtGmeXzxh1fMsa2Z6sBdS8JwPOi6dPYGJsvhjSjV8zOIwXc2qDU99WqpShmDiFn3kHb1GBkX9KltwQh2KrkDT2R00P91/3/dcswUSb0W2Ktx3cTM+OXKxin9PPDQ9FA08nm/0ZpLmbgvWrvj2lZ5/dhDkIwpTyDrGT2tpqDrNubZjyjEqsAYUomIpLbYl7/rxguu0u4nxOptGujS6iFCB+/N0B/E97OAXJrrBu1akLaf5HmRrAI25/s69jUzqdkpLWCN/z8+vT2ycGLIa3yePpdfUYuxWygYwe1ZGpWxKfoSr+4Gh8LbkhfBPfFUu0IUgHSWGQKJyHdMc4+vI41e9PfJ3Lz6Cjwb4eE8Gehc2mQMadqbNTPJsXJm60X42Ie5LB+pZ44PiCpEcr4NLgXXUyuWXh/lvki4ccd3duuyEIe1Lu5xrrDYeU6Rk3bMHL2pb/bjRRiJoavj8Sa0hPYMr7U1G58x7TPExYn3Dc2+xoRY6u6HJ9yTdhmIH0Tu5wGr3eymHGbWctPDXQP2Z69L0EPH8FVrnbvVS6ZGV8Xvv9k9Es+s4CbkDWNI+hCc56FP1UWTgurGt65oh30xIPoSAzV/jQ3rjKGYoO67LuB5g8jjkmObpbBqF2thQiSykG8ZqpKwM7GRnMBaSrP83RKSo/Jbgc0UeCkISs7/O9HAXtRDECzhxXESOKLXf6mX7MB4bt0Vj3rt4uHJMEq402QycrlPi6D5E6n75VLCdWGkdlXirVGNpltsXnTY9TVFTtNemqC9XHTd3j+YnfW7I2AYDdnv58b7NzR0VTiqvw3NYbQ6JyS+SQgD0c+HHJ9iDVJml8vVWo7wuGA3Vy8esGWAgYxop5VuuNN8m6Rw52WGH8orNNfOHg0zJYeJm7raRHSx1MuXbTy0YSKVyI8QUyJeTdJm0jL2ofDe9EhrUqMXw4rRd+CDAqRcndfajrefMdNLzzgeO0y53L+IxD9b0mGepIKpHJuXve8+Knux/s8leniQ8koL3Fou3kWrEUZgIpGL0Ni8q4th8gcXpZk3ttzSzQQq6PxF9dioWCM83ZXVqLPK9DFKrLb1KOmPUvVobaJ13DzgmXddXxUthmQlYOQ5s80F8Z3MmLJARpHffioEMMki4nr7wF9pK+Cl1coR7kMhrWlHCVu25KaIkoagUaRqAeUKkIgMDcHNDSzBazojOcfMeUfy1/2elgCnDb7TVFokxz1lSSz5tK19pvWbozr4+UcLWZVnijvuzC4kHqQDQ77fXdJNPKh80OKNJJbeZcZ0bZhxeD/P6aJlDugS7P2V2nIrf2768TDOl66PhWdKK69EAUdqU6JWkAXIwmXNALEUKJZMVm0zJ44MHHUmZJLOftFa3BGuxYjc6KGK7pGN4mrITPXewEJVujrpMnmCe3ydpEh7j3kVaYQHCm/q2FlwpoRMKWEUXjW601Yjo7GVVFrPYLZkjdaHQRs4zCSj1yO08/TWcTj+60NHHTUxzTeDUNe0at39yt40JOgaYO8qKbLV5ohcB2b+R/ki0Ao+6CZ1XeHDQDbz0UrO26vi8uCSml/7hYoC++bIcGBp1jUp3X67pr2jJvaORBxw/E0+nQwchJJqIiYZTs8WE44/QlZsP8j9inagRIAFX/TGRs4B7Wrcp04QlX5uKvuK9ry9nUu0NJ5anvUOKz1D3eskzf8SBUYUgw0vFTMA9F3QblpYIHnsh5rtos835JyKNBAQ+fw7WQyncKDsvvMjw0yQ/O3WRCu+RPPWe6nW/wxjTzOgKR7WkNSy+7HITBIcBKqhho62RcjMDBSBx9EK+JSEN2r5qacc00HtGtAssaKRpvU4Fllrjuu3TDeRUS4g47ZBRH+2bYjDCkHbI0FM//1Q/NuY+TQcAyxZPsfetIb+l7xK2hjGkjqFkrbxgIlwXhjRIRTC3BY81O7oKThW0wPNxFXx17me9YJmX1aT32CqeF4RGvgbRxxXeogU2nh83XS54tXiUfierpQeXZBeOzvNOxYMUD/6y7ELLm9D0Fi4KqPwKEHXBtBwXUkhe24ApHqnXHZq959d+kpsRhTIVXa1GplBhPJwWdR3PQ4PRTjyvrh0w8dQ+7rsfMP1UVcAeMw50XLh/RqCrbUIpe9fvg1x6Z8l+CZqK2KgxBtS3RrnxklidACXc4BUGUqK0Y9QQ3kedbAOqkCy0yPApfsPI0fFaqUO+zlbKpHW10q1qOVnVYFLcJOkHd+pNZfgpjKQRv3jzVpD70mAzJRpax+JyBbYzYlCwH6AEPkiYu9EEX2GYvdI7J76/9DxYCv5QoM+HZOToOKVRsABvUU0nnEapoCRAhwLQEwXD8Yc5/vx5U4BXJJ20/JswxRHnBQnf2N2k/BwM2Akb/5SbfMm30aRlO29D47jrkTmE59vSs1Fc3CsO3SXIvyc+OPp+pQHL7uHpnavtSeFPvNEyOD5vE7nr83bOZ2xiTkkNeJ9IcKWqvFDrzzF9xfyNMxY3+5bn3sUx658o7kGlMSULqS5sk3hxYlgqfy8U2IexsQ+zVw+OGWCER5DDaJR80sfCYDIF9Ur910XFG2c+Y+IgOxelXRxShYbE7rZpM2k67kOdoix6SX4bHGWJQRc95p8A6Q2ObHrb9VkY2h9BwhxmZuXbF4bYBmxuM9NmMM+h7Fw0+RaOuYzkmvTTvTSUT+QuWl1HjxzDQuYuB/TWJbXSSwC3r2ODQjtJ7cPD47Erjz9fhvYrEzb10LUF3wKUgfyAROYj2LRyTTRgLskmsXzmaclBsJkTVg8+6OVGuODashjKU0lGqEUeIeFQoNt8rql4gi8HKFWlXejxKKK9ZeeGaf+fbGEDc4HkLP3E6VPh3eYbbr2kNJ2FpnWrrDTlLn2ujG+V/10oY4DDkF4uoioFLohBX3zp1agrmDbKJ4wiJsrczQDLcNkUacbGlc6FfZXpQJHYo0+q1SoSr+OWc/WOBTYo7B6rOj4atsTIwld69xht04uF6WV0VWzESFR8A69a6l5w4JMORg4vSCqZ2l84oymr90PNNKDiM/PwXhYjKQvZ/japEvkwFJckP6LDUnVJnmONbawuU70JadK2adTLoP4/fkaRe3gbHJPMSqBS21B8TEpMbZy6STa0vWC0rMs3Cmbq0FvrI9xCbOzrfV1hVQg1tKX56Ced3IzFF8pmx85bhaf3+0a6QpD+nUz6in1/K5ya3ZmgiO1mjRfFxiiQG6IBzdWpgwzb+kWdp3AIllDlq4k3JdtC61NaNlYDysYrS8faBpYMzksSNm6FeDcXPDUb7g633YFsYgPOe6XBQRiTaWZuBvZNoySebOhILe09MuLHQPVCLtm3phhCsuXHOFtHN4KoA1EVY0l6bpRmCLu5f6WvAIJXtwIHced6NIx8wM1Sm697iBoPyVuBdVAjJDpTpNS/f7m8JLO2am4pHTZgk+/0LdxnAR45berfopgi8HVF5k9uBjO1JSQg4VwE241yLFtxOfKj+HGBqNH6q9S8i5RHYaI0BpE4vig07c+kp0OeacaDdt69lrrZFUOG7BlH8OSSW7qVcwBTpTLHIJTWxRmJHdBczEtGXgP/15G4hzJHfDNDVnoiRVVEhKu3JK+lLJ9XbL/31AjPms4MfNZ/gCzBtL6mRSbB9RCJPMcy52CQot9uAyyCGMjxyTNAhnLSsNLtSt69ssjrbvKugWGqDjgpDtAD1UE3wa8TeZANYRcJJsQmFf/3IdYdzKAYMz/V40XF5WIFLYJgY4CMMdinEOivHZg5rY6O1yReelrm0GnEJoQeKd5x5wsoLTqmH2Szx+NiM/kLI2pW/ewEC49MwbX1AldmsmC7noSLNk+RxZb+PLWXqHuW3277nrthvwTSdR8p3/peLiUdXln2YcwWEcU2lk/PqEzvFdHuQZkiUdFeWMvyONy7GNLY9+0TQHMBM1C0uYbR178qkNit4ZyF2YpDSuddG/o5WcGS4WUcxR4nzlXw1m5SCSwegEdv0lB6pet1l+DrJZqwIlRmHMK6HqP9XxAXPkV3YhE2KGh4yfY38P3y74l5QIMAR8R3HvCrccWW8lr6jN8/Ym4d0uOzx9JvLDRanEo4qomRFI4z5R83SjphcA2QO4gKGwiWMFgWBioQwDyVmTj/VucSpySn1f9CKvoV15JDEHlIdyAzOU+Vpm/HxAJS7RvH/R7KIZL4NmXeaTIKxD6AqunI7QAlLF+jQTnojuL4pGw/oD/DbsRYfL+6OCuJBVPkz5ozGfpbRK/YLZCUBPktX7P99sZxV3KAphQTu/QaxEqmp+9gJ+K2ysmjwPQMGB/Opm9SzrdDo+RekUUGOtlie+V7Od4EmzSK0m2PJ+EQ+WEH8FoFswF6VhQG4xc14k7jRo5BYfTWseLGrdBaQRjJUuK9Fgib2VaEG0I2nSNqsEHAk8mYMmVkHTBk2wZW9GT3MwvwcuBSHyZ77FGUr7+4mCD7X9jYa5iPN4KDOktYny+CfIomXbjQy2sWN/Dw9bn09utCO17LocyJq7ffoxXKqZH/x2P2kpZx7F8HGSMNo01wzeb2YrF/voZN9/Xj4/F/OtIuZgte3rGgteysbYFwqYsWbA2qVEsVUix1uefAh20PYoGtnOOsLJXSzXdCHQhmiBtCFhbKKldQ8JETGs7NYU8O1u+6L4ZsHNzGhKOB80YgTa+GevvZnpQ+V5GC7EPO8mx/fIkdQtwnJ32/xJrmsQc7wTYOWaGmbSxaYSbNgLnK+uiWN8xTjVIiG6VEjihCQLpKwIKa2hXR4+p9CY8qhVrqE1QYQ9Hm5qGTdwZ11ddBuI3e4BrtulPMe/wHk5e28aZ9nbc5G/nM77wpyRsZZ9dk0ZpSUYZPqaYMvKoQI0UF6MY/5Td8cetPnFPRPmeww7fZ9e6BY4jEAvk5Ciz5v9j2lpxj3Jk6GjpD+5B8HhTtyvwbFK3ZAyIpTdxwrA7ihFS7pOBmZMHYTqyNsjhsqdF/W0f5EtOqPbTod93bVsoAJ9zpZounlxXRKO5/MQ2ADrJWcduzIHRGzyGCvTz/aj8MhC7xEFHc31zVHi4MSx9jdRYoYEOdfrXq8my01EetrnwqnE4vlO1Rh5t3Y1hbAZoLhaAi5h2M+/tElOAWR8xv6b1caMx0aOMQsFYHE2Si9txsD3hhLTaIuLaTBbvDJsD8dfLYdMNXWbC8rNuh4GaagESzZhpEfuK51zxLGUK7mBFUBF71CwNhJ6YPTuawZKeBn30LbHLcDkZZL0YZYA8geFlK+L4a59TQK2cFsIViDGc/Tl6u/K6KteMZTD/s3TOJq00YaxZVVPX1JidmlSAvE1koxNLtAlsMlzgZQoYa2254Lo16PckWGCTbIKbRk/Yv6Wws1TgLMl6DXpx3r4sN51XgqizfVryvKUA6xYTsFCn6GH9TTn8uM/FLKqbHPhhGcwuhBHmkG1jfdMeePM6V3xif6k8szV9+FhVkhdyjiQeohmWD6eV2jSKhBKp3je+mv6BOrfPUZLXnLjC4KErYJlR7MN81oXjUXLSJZmll5OTWwFfXodXbTV7v2vP3aUDBGY7piv/rUeNznyRMrsQ1ApUT5PIaGtAcuErjnprAn/bKHu+7AfNQROzXsny6vzaz00VxXJm3WwwEGDUFJVZBu+rIAHfE2imFgVCSjhd1W2KnL8tFZzWKoi99L0YaH5gMOPqiM3zWsju78cp7Xfe+H6l9HyCfKLHIe0xbEwiMEkRUbHwiGdCRzOCiSwGJREkSifm7IWhiM6ebvwnnP5TbkjH1MZaMqFi69lWCK5GWlc4KdJ8aKYNrh7LDBI1YJSmG8wqfogF9hDz3gYZLniVEbDJKmjSBVR5j9H2+8I18GnYhI8Yc6ogmZhTPKHNP3to7tDdWAFdskFlOxQnBsW1w/+fSHx+qN6gvuIlgGGb/umuvivoLnezgBfh1SV0wfDcweEY2A0w6AyeagOUKHWrDLh+7dMUNSUoTKIsHPGfAv0CxzmaewA3N5PwAVNO5OjEBLzn+GXLVYtMGiN6Z8Ta7BSNNhT7l9X5VRTT9PkbF8Q9qHKDV+ssBx6r+6N47ysXxlvpTjkI/XkH8noV9KlpP7ltVfGDKao+cx5kLFT08hvXrb2DbM1DuetqlymqM3NVcncooAiLLx7bbt4vSP7VCoB42uy8n2gnWLldEwCYrp8vYYOvNlYSxXnRhVNJS2uF9VRpWvOCdYJ0ouj7YYHuo1crjDlD03jcQNcPsco8fM8iaaN4y+ob2rREtuND3DNH08e7T9GSrwWorcMX6ETWfIng6szUcXqTPokYJNC22S+P+ALA668FL4PmTS05wxDZiO4D9dZ2sg/W1L+KNxO2AEHkdv+BS3F+Sv3c29eC2y4P2SwU6EqEh6tiWxk0X/JIsVfbYsadPU3IqDiU5/5TyE1THXFjAWAre3yoaFlaEwo7qMH7kgdinvDhPqjPqvT/Bzm7rLz9EOtH71n8KETnONj3+r/OA1ILtxXsQvchHDhmuk8SMDBUa2iNHNZBQD53Uk+Klc2QyPU0sUt/PKBjDtdYWXkx8Q45o9F/2N2Cr/0UWVBbQ6q2iLQf5Adg0OFhTmMrennQlcTVYolCsf8mcEkp6d9hwImjzirw2ODkmi4CQWDQEBDeNLBV8BwB0qJo7f5wUzfa/ga/F/2WD/kg23D+J8/9V81iL/scH8p8F+3C1T74I/1rbtVrlv5SUf/if85emvX8JZhr8X+bGJKacpnhu1f+lJPxZblD7WNQuF46//Q1fWhVa0Kw8MGmr4Fi/k2MeXCwIaLyx/hpc/tc8IQSwjv735zHIJC1brnx+iCJ0qN5erIhrikq5B3ExS+/XEXPe0HtHaanTzeLUrH97FVz4ePm7y7AGyr+0onmnmp/CNaM5NQP5QDBY08XHPMgX0AyCnjV6nwm89ecbv6tH0y6x14ncJTX/Zimdk5nMNyRQv4bnvQOdCppX8IbzNjgirVpSj6h6AvkgIfWF1MNc2RJp0FhwlHEH5NtAd2pVFLznTkN+aqoFWV2J5oXoffJDbLClKDX/JzURF2ICpgNsXjEeziF6ah1MYQEZ3idLXxpWRYswh5Qon2fbZLIrMGXpb5iJdVV8H49jeZKUgZ9DF6LcxkUIWj7fEOeF+MgO/M8oRzIkKs4aFupCxJqPFN+/YS+3wPgILFsdD99r2BH+s93574fd7m0h1ms1Yqy8YLxT41N+lvD3lIr5xjpOkvz5fvEq6oDvLrd/68sOkopf4CgCPppgwZPl3Eb3c2AdXRbG9UcAuxV5D+SyuYsuzz0oS5k2kvr2lOLEv+eXhGCvVs86HrbWhvzZzIRd4nG0/wo1yWI7Ifh1Vico1/Czrx4x3jwiPEJ1T2pd6ehk+5CyOzVs12vYlf7sDDxQMcGXlKjcnS5lb2h628VMMos/35NGby2+TEkNkuJO1gsPMWpZYbzJ9JRXovse+48GBG2gmtJ1+HrqJu8nP/3gLS0ekW/V+7ckgPqQxWPRas601EKVwz4opP8/c0y9hu1voaXm8ZwJHmqmbU9g9n0bmYnyV/Uqfl64NtHtmvCKUk4t8V1W7CsjdcUDYUjFTiua9qGUWZqTlgWldZbhFAYM9mRQcbeqcHRB8rS7bUi5OJqXUAWO++fGs9aZ6U3K0dx7zUd6YNCGNh6VJNLQEo4wnq6XoCWR4F94/6raUFxLDajuCV12G8wrpsiXqNS5paR5GfASsGs0PN+5BtLoaJxBZ5jdxquaIOI2MWRcgl+mVjvhdqqYrXkEDjtT/AsdD/Fh36Kqhd6QRo0tWlLDRKvA7+TizyNBiO/LrfFqNcLA5NOn543x2Utmddyb9T6BroR9maxk+gfH1TE+BpohxSz00sOqLXeUT6+BC7o2H6IDispqqhkGJP512AemM2n7CkRXr2Sktmg1PJQMCMUH65dQEKWVb2YW3/4AkdTTHN+Kmujl4qR8nnSYb2lcIMgL2zGhprJjY0W8VK6SvlB6qz+LKJ0zFXEMgyg9WTPjMf97TFC0rqQU75imUO+pr14v/CHjQ96uv6ZjuMFH+bMvxDrL+DYvJu3em017gLP+3wrRgZ9EceaAWmfKLMCjL9Q4oZyL4s0WpjbjUc74xRRvFcMf6TixsLM58RMwmxFWUSqBb+yxYYK/BTfWMRSZ4UgcL7Zn12eG54DfrGObNygrUfzBAYHW2X0cYgEaGKF5SpELqRdBQf/qD2kL/v8ORtvaEh4L43yf+FvSrUom2rWGYDyOR9+00LUahv0Dv8OLdUHAONnp33/CfcIHo8l/1vbqfBWLlf7lTOdN4YapKXP92W2ceTivL9sPAy9wJjsz3HBlvMHGVvkDj1TwF56xcFZCpDb+EpQb5YSyYwdnlAM7555yyp3xDwFVCcSaJZKILUuXTOzpTBZE51HllljQIEtSpnFpSA0rkzXJeFJ5Io4ckB1xxtrFSJHW5I2kbFQ+SB0n6Is0cHKOpClb438K6FR+KGp20DFVy845o+r5abygcp5Vjqj8dlhCwW3PnZU9OzjT8pPdwDcvB3YFF1aO1MpByytuWw4Wpty1FFZecNfzj4dHbpyLyRvbhq8fuec54kLLXx4G7rVccj3w22RC8/YNvmThXDR8U43EViusoClIlKUCHujYWQRT09EbDeZCh8pcwDxIuK7hp6Q/+/oCpaDvvfnv3nwSdrYGHOjY2RaMoDObK2BLx70hMAM97U0FpqDTf38D3VLYYw7HknrGEo6CHvb9v5gXySrWvbgtkmeZHMTHMRnFehY/yuSf7jETf9fJvxW4/OOApoIhL/yQp+9IHNqOQJPfL/Dd/V8eczFJbAWEEGKPhfBks0R1SbDIfXW5dEhfCZJ70N0KPhoTYOrHyKuMpc/5zcNQeaiIMm46c/bG7zTOZqJrXQTYD8FwXChvnB0EvSipjnuyoX2v2q6cnBDq0s+k6x7QCHbP0odeLPYbOEty1mY26Ryqe+zA6lfTZLVjRgiQ6JESxKB5cId5pzM/jr0sGHOy4B+ciA+LWZyXUx6Y/5VhxtXBJDCh6YK5LSY2PYBztfucM1cv+mSA/Dsw5E+MOSxQKLb5Mi8iH3U34nkQLyEYE3cbUY4/Nm0hHYBp3WkVyvvDdQqvg7LXHMHmveE0plPYEPgQ55dUa9CPpKTyj3J9qU22F24fHzrTPXOc8kXYWc6Z/GmgtdkEM767JHoLF4DPJhtxHagN2sMITVdZtIEAh7H7rVHHtkv4SyL5aAV1Hz45tTxSVWBjyZ5oUdwzRG1z9k8MKRL9hu2oCwnZ6SVXR8if2lGasRZ4MJaQnB0Da0KFa8Pu5aQ6fabQFy2TYTiRNv5r0zLS4A8AuG2PAbWCPCBKhqMWQHku2mXXktZgPE7sCBWgzCdpM/eza1wd8E/z3pU6qTohvW2Q2ThZwR9lx/hj6NG2Y6T4EqIKJ3S2QeDUl3E4kpAU5lfVPFxC0hLzj1FhKcNnwG3/hsTRkUi+cliVtXcO3Vtgqojt3EwbB4H0/izuvDpzfWcUxcLIPPtvfDGwPeGnU3tLfpThartLWitFL89ZxYhQ2fA4xO5b/hxGHt9yB1miaSU4irJwFQW51Jj3htGOFJPrwPN5kPeWp5MzW2Hlm+TYaSxDREc/pBwbWUBydp7Z6bzK9g7Ai9khbMyqc3F+YS9TBKyvesZJkrAckkBFOrIOiV8WOo/q1XaXwucQvvWok7apqCKhqIxvLS/ZPQC9P/s8c9n5sjWkZ7vpYeHNiSVYQeZJhK/Dkp43C7DyXsTvaZR63Wy/d+PT/WugiRrNS12CNUR54+Hd5yIvN+GUjprYMAIschc15qKPVc1O7hCy3SxWELRPL9uQHunzORxyRlYRyXOpekzUZB+zZm6ls/m5o61sMxX2n1gEFs4sqvjhw4jNsIGj6xKXpV0aKZIWeyG8elnQqpj3GY8nAF5qTq6R5w6g05KcSw+ouvvRqL0aeql/NwOa8JiuOm9Lkr1LqEIlK804pX2yBgR9f0jp+OiMK4PzFNlZhneAaYMZIoo/8kSVpWiLRXp8WQbN41rPbvBWJEwpUaPixDt+UK5eeaJ5j2vZKV2ouEdIlOgoxD8W3aABQVBbEVUXjYM/qcpEDcAG+393jmjPvmuGav0BkfUn54jmyRHDk8e/N8bo6IEpPfT6vE4H2WpJ4XAS0pYjd95aXwEc6bV98/MSTYnRgt5MBzEMwzBuf85p8iL/sWt+Nt1RdZ9+Czpdd4ezZwkDkQpYrkcIjkJk/mP2xoQh2uVFr++2n/u7k7rnVOoAO7SFSlNqdkuYZDlLEq2o02wkkN4++jIagREV9OsUn4+pnphNI8W1C9NQkBISe+gQWZaG7nv/mj8G1p0jnHIYT+KseaYzczogu5oZfoLtl3yQIZRhHnrXKwaiwiJGSZooTiT03pNXkswtCMSOpcCUNZoFdVmaxZ7fMU3hhhw5ewjMtzQJklzAvxOZwZYzoZk0zw/naobly8cnL+yHKZNpOwJ3CAMS/pxYVGfiknCCeNx7mDae0Ytv86wNCO++MD3PZdgdEUnixmNmyOUzzGVwn4OoBbvTQOtifKiFrFTPj+ZHEki36Q1lZy3YAAu/1zBkpF4Wtshgilr4fk1bYr7Ewxwmzc6eb+j2GcKGOD03ij4yOEojum6YaeW6eUHglUVyKDV7vEBNiY6eUU9NB5nbd3Eezho43SAck1V8RPehwEs/q5JLNpQU49wRdfbeKknfFcd3hjAue6+JozR94yu5V+39mDL/Rk0oqa9y3scKzLiVFO5liyK/r1OHnYZTvJEgn1CNevqWeHM/ijdrtkG684hUm+6JJD06Jswd1A9kkbcecdNtR2i9O3q/ngLmk5Mw3jKPztMQkkOyGpYDOtYCv0eSd5bH9zJUdG4VnlgLn4BLlZiR4cLb+4wGzpKOPZfQBYB8j7R5TTb67E4/NTzMcqjQvPioKOmX7Fh340vvOdSigZ68LVTir3SfZh1yiUogkPl1xYaA4bPXTcg744uydexpgP9sP2iSzWl2OX8TOjpUFh83nzu4EZPVgic7IpofV5aJ6FH1ZcwiEvas9fb0sEgyRAZ0JkmMp7BHKTNqgS469xAv5cL3zA8IRN7OnR6JS+sOpfmfg8hlWaLYKJkIDBd24jze0cgPF4VG+6H+gMSI6pGkx/OAy2s5OtnrLCaCjVw5oZ9DghzeTqMSGSiJJqWq4/AFmCQw0O47Xea0Zv6Os/XQggiMGavaPC+LzKIX958949/kuQeBC54Gje/a27MtSM0baxDosC0+jyZWYAouUMkK+V3UB8wRSBNCRHYqKPJBTToZuu17HJ/NvHzbESHYSSchyBrlZpgJisLvzA9r+c8OBs7ZdXqCSH+3k3fkGmdIRwxazvE8V825aTGGr2a7P52nlx46cNEOV9q7SMj+vunYOpfobTR9YsEccE744Dpxl8YGSS6kCEsvf2zBYnzPu+Ty3MwHr4pz87/wPszY5ZmsbwLpt4agY4MnbU8wIqtwXXS/5iuiufUrAdm2ZZqWhFE3y02Cnxt6oQttPyYK+RgnzUG1CdHLhTthNp2PhOCM+BOGYRhG7BjsrF92d6EtSaMFUMzMmog+WQDhuYs5uHR72EQ5E1Q0hXl0dnIxho4JrLb05VWMBxztryJxRoJ/zWrnWUinNb2L4AXgR5GUsGhR5xez24lDzxXdHZ55wdlDftP+y3vprCamgAFFLC914+ArgvYONOANGYaZg8CW8k40ZIJycSbfTieqCh9D1GjK1ER6vo+fIEm+beQ67MgYRIhcFXfVA1WCqrFEQtzo788Ce/90QCUNyG4hURsg1zOMPUd5QCUzyE3V0m8PVdmTupzxfpn9/IZHeHQ+SLJNjCVABvJAKqiH5kQCWSMIaj64l+oqhGzYk0vS0ZSIvFrIPNOy6w9OgJ/c2jKk2igrEbf4IjUs4oZhkrjiv2fYZPv0T+S9llbXDl8PNwv6hR5WrkEcAqkng+KaM4n7XmGkSonxwToYWqtqrJautF2w2/TA/enHXLoTb7NHYl5UzfksfCFRqzUCrkGvmZjweGvlwY27dsUXswA5KNss91mT2g+nDEpb3YwMcbJ8/82Zb+rR/bPPJGJc0STxSUMdFx16Ltyjk/D2gzvMqe0z6NjJTRwmvtkIW8XuMbQV/rbelkGqeXyNz9p/bi/F++6XKAlepebJvINdy9yeewW3izbhCmntZr6DfO+iOqg+S7nrPESpX3BolF4Wb1SjCu1Fr37SbtDAPx2ElTJO7H8/k6u1IvF4KPDjDPECWMOJcHmIgmQJNm7IjMVDtUw3VAXVMAQcfXm8Z9DPbIkcaoi9yK2cISp/IdPoMv3OUfsjJHa8qmkKCURt7y8L4Zv8nFCv6myRFZe8sGvw1pgWxZzwIzH3dpFKc3q7trIsCv9KJw3aw8pRjo1v8K4xfwp9Lvcza9rPgpbnBaYFhEOwM+pmrEbPE2w1u5EnN6AzHX54Up4z4dmMDzuxs4BYfEl7J3Ro7xdNWTDupq2xrG6xDeBKB/yEvmcBE4xd7UD3dpI4Fcu5OT7WJVe8uJRyy3xOdV9rITloUiyFCdbWxe3CianJ7PitvxgG6o+Kd1L44yDg4VRjQ3ooV+1SXfDCJ7krtdfsB0Wvt0AVR2kt76s1GzPOeW5eW4MdwGn58x0Tqgbj4i9lcvlz06RRVuyIcraeHPzmme/DvFQ+qhymN85P0V1gEoQWHvBWiiz61Yk/AzyJXSRRIPB49Y68Deqhc80Z5X+cHaZA/9JXKQ9nRV/TUEF1hQUticXXOL1+AGHJzG2RokEvEA+VmvoLGGvb7l6Uxm5JnJRe4NNsPPRgdNyA1pD3XgNMijqY0b50nmusJ3Hbj+IauaIfBMBJXOh87oIW46KMFb7+0A/L+j6Vyf0CvMJm1e5baQ3rWoWJhogZ55U24ycnVGSzaGZxGIZh+PYc9btB7oCN9LK9FgkmGh1HZAJXIqpm8IHryJbXcFcEoIQBO/tNAi+f7Rh0Vhxw//0n7r9zlVOKuqEGkyTWjAuo9vdJD7T8TqLxYkFeDl2tKToqthIzqaYWM/N//Y/qZ9jV+GjEh8mWk7s0DU8Nl4/CDQVNRavvywcw/8TQWykuBUvUtR/C1SSYYub805sc8xjJP/x0HCKAvS/TH0psSw3NWHHNafqB6OrDpcY6JNApT5TMCHybTiFiH3z7+gGPbTXYq2LDqLccFjzBh8uAYOzHgnok4GSKYYM8Lk8VNig1YgpfrlmJ2NZdi6/vtFKWQF6DCGapcyUbWGZawqZQEKIp8jqsjDzKKW53TifdivFICreEyfG3JYiVtz5C/grVEDNTcI4kA2VjMD4ayo2Lvakjqcmrxm7RDAW2VaPinmtUp6yWb9IFN1e6paWeSbJdgdov3QdMWW9qn4mRQ6iZAX70nTO363XDkigGx7UY47hT7b6N6tduLFNQWjcZeeUDqrdeBwUijBrrldB34EhG7OMkhpehQ+gEBui5AimWsozSUedjwZoPSNjej0Iat9e4L5JFmAAp9wns2+NkRWWUenXzFEI9bvA2ns2rsN4fbObZQHjoUFNjfVlXcUkTHMIqibGXjveF5RP58vn+XY5M5XCBb946JMktmcZgC7Cp0n2fWMcKBK7PgR3779NVivchwqnFRY0Vl3ix4sMNANPjNzy38SVssJ7c/3vMX7/DAe+YlvURIYUWMpQIlCBSJ+JTWIxX11s6haKtz9mftjqPOL0+jy9lH+lUSPqw0nZ0vXREve5Dm6iGEI+mhrpObd5I36+MzF/Q+nGqhepEszfu0D+wWlDmFRioc78hjvTEJhEQExB+CwgbZRoOHV7Y0ae23MLtMN1erwUrqRNoCFKl/TtaJYnhW4Ox9hQYFXFzNAsNOgjllS0L9+SjKcUkwFA9UytBHVzXyQ+iIGXhv3E3Qc1lN1P1cpmjQLkIh2ZBT/QJdFP1sEbQbOHJ8lcDpAhvHUbRfTK5oU9ITD2xydkJsJq9i4KSnG1qN3E2epj0O5R5Pguv3itADKkHgpeo7lt+Gi0K0DlTfJ1Phm+qdPwbAkKSnxiOt3bwgVykbAd80dNwif2mcarsB2gu2B0Bw0HkoAAacq5sQEZTK3w46v8gn0lo4uuL+STjLDfvdwPyiMbzuYTaUs+NXeMAjWmha5wTFMSHtzNU9cIlg6Hf+rKxxcrms/4IyV0NLzCOKwiByzT095Yj18RWYOdK9vqmxo9BiuUVJcVr5zjZrrtNUHvNzkNvbbyBfqtGprPiEOktX6/g3I1RaenEUnh95GA6DB2Yj+7OusCRmKve5KhWBYZhGMahrqmlKsc2PSHCV///CqXA/mO/HeX8vdlDP09RcVuw8rLV0zYqqcNol6DbQzdju1DYLEBYc0wV5NDAdKlOR1f8cY/GOYKLUB4odN3VNSCK/Leswb708PHg8/H56x4e5Hdh0bnsXKn2wrkvr063RbWZKIJ84j2Jw2jTdh+ql2/5CBxwotXOtBqY8dWKIVjMzrI8MRO5NXHEptfvBSuVkf/jKkQMgJ5MqALjknUizuwi72VwISo3Njn/KFapOnkDFfyV2OAeGPK/IJ6S2s1TfsJrTjk2EFs2suo3y0Zy5wE76UyH3ASd/YrDEbBS/ugBtmN0WkN7RR+eW2+SeZCWQinOqwszl5+ON7XgyYLvT87vcKyruhU01Q/YqRSW4U0bM1Kr5MfWECKbwKso/mV14OqzcgkQ6G6OlEIJc2HCZkqEds0kZdOfnn1ukLl3Rwl5KZx1OfxeRF0BUK5Rwk0kDXkXXWzxbkf5T2wAuhKku4CngTwmxkR+nJ+Df3tMHisEwt9PX542ZhnJKo2XqeaJ+ZNRNNLDCgkz5cD1TjTAmYROYx+CDS/EetVxXT6n0toG0Um23TxJu/vx9TyVKrigCCjlGVG4LCheuofGg8sk//Vma1BpN6dCJ+b5u08d/LPJPG4fFo71FncS0xXpSVfZsoOKxJOb89FcmXG9IWS5er3Xt53hFlqHryefPke8hplUfDXlis6/WOpikf58iaxcvCLmQ9s6r1fUOIU6KYknp37kQCLjtaXurQX4UYyfvzA4kRNeR1IbdQ6LB5cLaiCa4xBtJ6CApxKvBg3tcLt3jvIPTgWebuNX0HfGaCl8e8E6AqwFxf5+rA2oXiYJ6V24h3sUha9z7TBzTWbcNPil0UoFqkpMxEYasNyAJ/HOPePs6e9HkZQOjokhEoXMgtbBBZRx2GxIMoFx7vCltjOY6KZejGOjG2GzWS4EDhI3ucZF8wfDfqdE6tjrnEG2vp7y6CvN9eGzFOSGtbeMfcjsMSVtU/qhOBdI2+zZVx8UgmI/9jlGwiMxD4DurYQOOQjCZm5UWS5ljUCqcSak1eTF9BZpZFabP8mN5Ql2MsIRVfM91Y9vYIhO1ojccnUOmjbxq5zidMqOq2kligGPHnYhMGfA7BP5AyFLuDv8Vp0rebBSjujWjXPw++WkVFJ5RdEQAT6NrUCtdPQngfdknNS8siIrpjGkaEtx3lCOdJnCl/VCJCKbedmusD2OiBOz77UyTVz/jwQlOtCBYhJU+r7Wa6gIf8im67yQXLPjrZt4gJz1+woxiCoKv5BlljreNDPklGd363XsNv9oXhySpw1sQk3jW6lJCPA5l4BUBPeYbi33WL3LMulnUFpWacvcl0T8u34a6rSCt9Cw2sLYE/EpDTQMeUIUothypLWl4J/TUCeIGp17pJ0TeEPnT6SNEwwjOjNSdYLSofM/pMEJokDnK9KNEwh0ukljCoaATnbSZRaUV3QujFSyIO7RWTrpKgv8i86bSXMWDD/ohJHyG0G5Rudfk2IgiD/ofDbp+huBz+i8mjQNBMMTOtedtB0Iyjk63xnJniDm6NwaadcSeEXnd5M2LcHwgc5kpNoSlEd0fjHS0BLECTpPJt20BK7pvJg0XhAMt3S2RrqcEZR/6LwzUpkRxDM6D0a6mhH4Dp1/TJpnBMMROhopR0ERdM4qRRTECzp7JV2PArfoHFWaomBYorNT0jYKygGd90pyJIgrdO6UtOsJ/I7OHypteoLhC52NkmpPUDbo/KqkoSeIM3S+qHTTE5jQWVUaF8GQ0KlKumwE5R2d35RUGkGs0PmgpKtG4Bd0/lJpbgTDMTqDkvJngnKDzn8qxZQg/qLzqNL1zwSe0DmpNE0Jhh06N0raTgnKJTo/KanUhHJP6zm6Sq0lqDzgyHKOlaua0PKB1rNzKkMtQcMvjrz5WJlrQuWX1vPeqdzUEpQtjoTHSr4RGha0njunMr5JaLnAkX99rMRIKH/Sev5wlctRQuUbRz77WLl+I7T8pvVsnEoZJTRsceTVx8o0EipbWs+vTuVqlFDe4cj1OVa2I6HhgtbzxVXmUULLCxz5zq3iQCgzrWd1lTxIqFQ4cuuxsusILStaT3Uq0Ulo+MSR332sbDpC5ZPW85tTuT5IKA84Mnms1I7QsKb1fHAqUyeh5RpHfvFYGTpC+R+t5y9X2XYSKqc48uRj5aYjtDyl9QxOxXsJGu5w5MXHyvieULmj9fznKrtCgvIPjmw9Vi4LQsN/Ws+jq2wKCVr+x5F3HiulIJSvtJ6Tq9RCgsoeRx48Vq4KQss9refGqQyFBA0THPnHx8pcECoTWs9PTuWmkKDgQMNMoLh0HBiZmVCcMw4cMKNTXJIDl5jZGMXZ48BHzAxGcbnAgYKZsVGcIw58wkxRisvCgSvMzEpxBnS6S+OOYCjRyTPpsiYob+hcOAlFaVgEJopRlJHFhAlninLAQmeiZEW5xGJjTNhTlI9YDMZEmVGUgsXYmHCkKJ+wKMpEaRTlCotZmbCjKPdYhDNRRooyYzE5E+NGftz2gr3Q67GwTGLtRqybi3dvMnHDGqzfgQ2Xb3/chv9dsRs4/13x802p/xuz2XX8rVXclB53TuE2rvk+/l+XSXSVls2H9NJ+jJ/2kA4dn6C/d7DZLPvvjpfh898Vj5v/j8rn//PJ31q7+XYayR1gFcssb8PXZJ8XNKYdv6t4GG9P/DfYE63qilSC6QRTxnpSBdOYWrwaS3jRlzOj7Wn4BuzaJdLHPTCxF+Lm29VgaCw2V8XRujT0LrS9ScAcZB/m/M41rX24x99/tai1YY/zmpVnXwva3cSNlWYQ/F2H/WgPB3b8LrIn15y95z3ftCpaGBj1BZOQItLo0rCbrsm8apxtemb74PW+PUPtGOo+NwKGSD8/6ItwaApXvWg85TjrMbYbm6VNg3EncW21eZ5bzQTb1dL8N5rYE77VmwvYz3jI/Cv8Ymzz2Sl2QRfdcrzNgsNVsWEK1x3naZQWb379jWMk/D8OfvF/jM9OeBbunNY97PHXy7bdqEJgvbE1jfsYDXvbsVhTLAYc6IyvHzwokFZi5KU30glBcwQH9AjtP7pFxpsjcd7cc2ZkUYwZnVAu8cag3FCi8cwDZWR2XoiRnfOOccdylhfmmu7xwq7mwgka8dka+zxRt7jdBuBkOwIYP3Nv1VRkArxbMSgXdI/KDbvBgtn03oYuurH7M/g/zj8R0U5F2ERdB8FYTMdCjwNNRSym5jIa99xRaiZ8BKiEKNEIyTyf3jIZD5SODfaUno3ymTKwcR4pzownypRGwUahpK9XRfPB3cmhwOrIHUSH0eEauYcI4NV+MWTr/9rqDE28xdoiNxAbjOfuHfILRGlwUiXOsSHmBn1AHSHo8JyRdxB7jA4R+QFClEnf3pS6unZEpdCnqD+4FZ9i7ZEV4snQI3KFiA1Og8IcIJJD71A/sJTjGtYCeQOxM2PvHpCPEMHhdYYcIPIZ1hr1CE28xnqPHDsfwnXNeO5ekAcjyoxTVOIcHDHP6K+oXxAkngOyGeJZjQ4V8qMhZIDXRtFKHVEN0M9Rj3EnhxrrH+SlIbaKfo18NiJ+g9NUYRZFpBb6o1HiXn5rrCfIK0N0bmzdHfKTIUILryOyGCLvYZ2jXqCJ91ifkbMhNs7E0xvyqxHlDE6dkue5I+Yz6P9Q/0NwAc+3yHtD7N2eA8ilISSa9LVU8lw5ooroB1Q3TXzA+oLMhnjK6ILsSsQRp1eFWQyReugb1N7cy++I9Qx53RC7bGzdEvlZidDD6w8yFJGPsF6hFkYTV6wr5KS0QJZ47v5EPilRNjhdK3EuFTFv0N9R/xjBgueEvFXE82B0yMgHRcgUXp8UrZozoppCv0Q9Me7k0GH9i9wqYjug3yBflIg/w+lcYeaMSDX0B6XJs7uXnxrrL3LniK41tm6B3Dsi1PD6gXRG5B2sJeqZ0cQ7rFvkxhGblomnEvnFiXKE06OS53hGzEfo36h/jeANnhfIO0fsW6NDQn5whHQ0Okpd1Y6oOuinqL/mVrzA+omsjniaoVfI1Yl4gNM/hTkoIhXQ96ifZiknNawT5I0jdjNj7x6Rj06EAl6PkIMj8ntY71AnJl3OYFXkyBJVzdi7r8gDRAlOojAHQ8xBN9RBCeAZZIN4jkaHOfIjhBi8LpW6uj0jKoM+Q50qt3KIWAfkJcQ2omfkM0TscDoozAKRFHqjNHnh3MvPiHWKvILoemPrbpCfIILC6xeyQOQGa0Q9V5q4Ye2QM8SmZ+LpAfkVonQ4bZQ8J0fMHfqI+k8JzvBcI+8h9r3RoUQuHSHZpK9vSl3lM6LK6D+oB3UrPmJ9RWZHPDXoAdmNiInTu8IsjkgD9CfUd7WUaQ3rOfK6I3aNsXf3yM9GhAFej5FhiPwN1mvUS6WJN1gfkZOJgPHc/Yd8MqJs4XSjxLl0xLyF/oH6rQR7eJ4jbw3xPDU6XCEfDCEzeN0pWrWOqGbQj1BPlTs5jFj/IbeG2E7Rb5EvRsQLOF12AXG0nGqy50BLTcW8acZI49nQUlN9edDnizvmipaanjfeEIH1IWQQuHkychwROYKyg1I2T2hOOTigkBxQzOaJP36q4WEUmZHewwjvKYXHUWJHyObJ7lFE9zgKqpgUB/UUyqPI7VFEbp7UnkJ5UKVG5fagYnv+WGoLItII0iU0PsgyMveGosQkykY0xqQrQaaJBhWtmdMIL5qy0olGi96UyJBQe5Q2ojQgJIyDtFGiN0dkTCxtKdqRtBF5aWKr7ESTRTQRsYTWjTxEKhqpJadSeRKNdbK1EEmAdvVrgA2Bb2gJRoQRghpqSiXADJQ7YmUXsNBlJBhtXEaG3+KDZz1DDr+GqNyFl9hGra/FIegXwUHQdgEsoF0CxGVcEueHC2WRdfxuu1JqWP7+5Mkogx89u9U/i8j50VTwWBOrU9A9SV2X75qrwOLkEpGvZ2SPsmpd7PphRV8hgWnPPPixu/9A3FOcL137NaaOUqnUzpcc9D6yTi/7xz/P/FWXrI6WfsKTmSLRf1YFbFnuvixI1ojEGYzgKz5+YCK9rfBmZ+HXCKhj/ay/0rfm47B6ytExapPSk+6fgexifLtKFek+fXZULqO/TX6+HrshnuRuvhYujv6tcTlnfVmWu/Y58edTDA2K3fW0+do9d2U5IOFlk1SD1E82PUqPYVkVsfZv6/LmbXxO97r6rF0R58fNfPhxjOSa8cWUnYvDt16uJ6vXp/ySSKbnAF5OrxPtwHcX8LdNUnbZaxIVuTdEMpQyLnTpzIvfocuqgHflft0H2sgXwGzId3REL8F1Q2uelCSn07y1v0Nk5mXODCnNHhZcIJV02azfF42no4Gz/e5SgYZN45coL37Z9XMnw8e9L/58cwscW52afgvveDfKsM7NcNqWpnHUxs8Aj9PhikqOZLnXYZHlb0nFx1ZFRT6Ieri+tegQcib3bYZxKRfMP4EBStKzcJJeqy0PzhJ3ZHYs8DtNvo6J7BUD1gxvHuQcP34JD71D4fcsbR//Jhlwo0JF6laEB0r/idK/sTLt6H5xVjzxEPmj/Sb68EMgC9+ZR6X5TBlnB0YL42OemHOESuhh9+8yhTK4S6BAocMPb5Ir0HhZ88zqgO5jLOFLSIhN4Af4F/tcMitb80WLLB6zEXkaKyZIp1bzcrJOw7Zdx8PGowb4FYYLP8Wxe094egD81QQt3MrsNTz1Kx3FFk5N/oJ60HZVpOWQaa8C+j96k0dLIQ0UeiwIULmUX3weRSvNLv7aIl7yZWYXlw6Dp4XAx0N6rFuvXq0T8FRbukyGJhdFu3Mqp3PttMnLsCzlw1HhKMpdBsU0zpcIaSn51JowLs47K+dOBa5QmaPPRLPHelGHH+fSV568Gz/fbCLWn8x9rIkDAyTgx8/moLx5yd4NI6lfY3/EsnrXG2BV77TtBR0yLTWZe3sWCqAElsUwul6k0IIYIRL3h049wi9ufTfvpT4Ofx5p3r30SqvWB4F6uGOVZjz0jcEOFbXYeX9LwTi6yxpVTpoCU2uF8OILYapoPVG5vGzq8jTx0I9iCeBriwwykOodIeiieE/26wkzuVZVjd6hEFjin+zM5pBeTwDnxav2eQ2i5n5b8wk18XmcMa7LyWPCEaSa5qXe/i20j6yArOS7cGigUb2x8lm170wFT5+jignGG3GVLPiidSPF1Zai0I0jppsABNw1DiZEFTij0xrGkVoo64XyJeGHKGWmjMqr6qp0rYCxlHEnPpeGu3XhfQhWMas5Z1lP0Ra+N8zKKSefSssh/KoeJPddlYU2L8x/BZleNDzvRLcH+P5CxXjuC5XGuYpKAoQmP7qFl8ZtMv+SBc6XBoaVZA6Ww1/+FIX/aOPozJ14VsRsK/hPXvae4vwfa/W6qlnDEhgvCWvaqAeZL/ODbOT+j/xch/4tmT7sOvkKVjtPDnE/rjcL6ae9pHlRMIAt/08SWRaj+Gi7SM4j3gOVZ6afdpjU3fxR1ozRFuVPNQEHWkcbQZlRFgXF1I0xjsRlDOT2WB+LCcZxlWnDSIMnJzi00EnQ+tWV3fyega7CeIDISuXiZhphbbbrJ0W+qthbLlQ9yXSmZa7Qv3XspuplbN5GN8f60ydzOKbkJOBm8F9NFlKuz02DefPUSjiyCZ5VTdtBMdUFeY/hdSPGYmHVWzcv3KvSceBv5Rj24gmrVen1YDYo7g4d6Yi7tw2LrVL6PvQDoHZAqQDHADcGKLtZ091bV1/mvd+Q0Djpb/ynGra/D+gY1lHRbSjRUSf/eOVXTw8h1tr9SpI7bTJYI5PDuqGNN86k7MbcIFRti8s6edvOk7lRYEO2VSfqYPk/O756NN12uOEW7BwixmvJkpvjs5HWtjyus6CU16yUcLJIIKlwh98WKA2klGHK+K3XiVFa/Mm06mTQgFOSnT7XQCxgZQZb3/JPAW/Qarta7sUpdXFRIHz0P9BOZEvYxKqSYwezmUdOzkaGGfW2Yb47kkiarYzZSEie+fL798M+LtnmRT683rmxTlDeXJmAWaStsY4KS7GV39iWThsYtxSwU5bdz3vl2nEWWlIRWTzCsstT7NSzdXTp6dxLDCNTwczHzQcMHjjFw9aie5gc7M75g62HawvzDIBYZrSnrigqTaSv61ljFxtF/3YANNs1/I0m8O9MnLYd7ANyR1Iaj7RZNB2ikh/D/lpQ9Z1A+rwHoMM4yuEMEPYFKA3rtp8mWHegf3LHBnWDDbsJAAfpXHsExXz8Uxk5thF7bfAObjEbosw8YMiFOG0kMpA96+xOnLUibtx+LWjyiC2rGexUocXqWWLhP5unSKOknWKVL63z0e0MSJtQgY6v1hdbX/uroK9YbdzQJX4qwJVIgGvM9/HZrCFZwG4SS22sRlhOsTmFP7hsQPtfnBwSza2ie66vO3GzUyDxuIVsT6xGvRd8t+EMV96kpAO7ZC3zco2KJoL+oZ/HjfUZRbhzGhjnG8BTmziwjYjTXeA5tnyrj2JTQ5XPtP/Gusbu9ApcymHOZhuLlrRJlrdIbHSc/6HCOawNT0eLX2zOe2uIUiUiG0eQbkZZGiZ22EFEw5GgUY2LtNO8zCg3KY8Wdl7F4l2ba+vr2GHdKtydnNFGN7Xd8e9bslQocBf/zon9Z/qWdCyH/StIV71tr9Pl/f+MXsfCGdls9WLkc3BGA/8Qe9PT6GVHvg5It81/d87cmqQkigFVIN9ioYwaIKtACEgODK8bqTTfAtZogEg1N7oKumVd3pLZqTyRSuXhZEPUUh1GIsXHno0Pu12d/qjhbubEYCKoPw3Sa56kodwXMu9D85XUHtb+cCJG3fkwd+THq34rOls/DwcLoTzuFm+dVnR1AUFD8nVJmPit42vIGqLsppwRFfJ0kavhh8a2jhv398Bthwm1z0cho8hvuLYLvitzgczo2d0nw3BBewfDsSsuYB89u+P9MQJQPwKIR0N/y2FwgbPTXo5xPAyT85Lpzin66rANY2tW5/C1bxvXn66sKe2K/4ueSHH8kMrBHdkQkT3Mos2vFzgB6nH6k6fpP37Rhh33oPSLlQpCM0YLYDXvyptNqtdRJxLAOQ5gN8OuA7Xzx9WjfKU0pHzC/kejctxrJfaK/X/P7srgrnaVMX6B6lm7y43/H6DXjFU/6cp6XFBHMpSK9C12iudtNNYg/0sGx0jtP85BxcyFjs7zA7W51v1w38Wx6RiQDvsNPHyh/xnxdr++ALV1Ze83s4tq/0p6vyRgmh6/vvyut+Aab1Md9pLyQULbffMBS5Jw1oHzMuBwx8Ci++9KkA7C6IkW/0O0vnU/vuHvFPb/glEG05xZ8iNmEnt6B2nrxqn9pG0Wauh0FYCHvpvhPyS7M40vDU3P8X/gutihk5yp8t84BS6bAj3utkuKYyHFTABoUh+bAbE8xtbjhhq2Bv8vE3E3lIcGf0hv59yqWGpTeXKTz3r0F2DMhSNe2fNcxfrTeFdoBH6e6+IMg+JRr3CklY8+2lA2HapkFSOvCv9TR1rK2B9oH85fCOKSKKenZv5MBzZMZGS6FKcnfRe09UyMMsib36vanzEBcuNd3/S1lPby4uAXhlI4jsOF7kYw61wEV+1nBpIJY5u3C6J1dzUYfzlPeLnG7lPYOYLoSO9v5OEXWY35x9q0+Hq3SET51c0DwLHeKZud03GyI8iRFHBsDrusNSnpsLaIQldJVLnL/ZNvip6mTzyey5LSkAi2gUSVNksaBDxuMNlWnb87w8B8FSQJXwAi2YeT4lnuAP47p1/iYOetsM2EaTd4j+/+S0nqo7w0P/T/eyTap4v9l8W/sNjUWx25U3OGlwSTaXiMUj+G1SSuENhA3KKq48VlIY/lDmKBCOsfRUOqATcXlcceHDqs0/J5NSvj1HS9SH3VpSujW5NB3rMUo+sijV9ouI1LS0r2O8Z4yjFWa8+/oH/Fa1Q2o1KYFkluEqhqfOOaXzuZzHaZdNPB4h/LPh/+H0k8zbnzH7Esj3XovB3JJwEss3d/Ffn6v7ljC6gKaO8iv7O4GmeKuwE/fPYWz1E6baG5pnnTSXjD5U5cN9s9bPBMsaqYHz2QouCFhWLlhQx2JUY3iHveAf2LDPqJX7wo4XFUM8XlJde9js56O1HdJthMMhcahPjJjUg+jEtzjhS7AWfImp+lCaVEa382uud1BkWea8sb7p5Gn6a+dwnd8e82+fVg990pZcjcSTh9cgWxyf2kju2tSj9n17GA2bzMlrYd66K4zv0DukZodV0tg2Ags1S5sHf+Z0m342gngDp6/cv7yKsbpLt0Kwl4frZpu1xmbFb9qnrnUOmNYe+ivSMvpc5QF/UdalGA3vcOvZ5Vl8q9q53ct/Lx2JGNdb2uJYzjYu+olw13iHOnv/N/9xROGG1/1aHSUGFmYVZ3ioyM5tqF8duNuhT+q5+pszAusOobU+/6Acb0DKGko4u9+n/Dnqnuwi39rfLmIy47KXW+Yx2wJb6LyaXvkr48UXMrb8/uCrN8cmCNADc+sb+zy6Mu5qFDFdTKrbIZsPRVLKAJmjmXjBK2o2ODsPQ1m3y1XeIm4g1KDI2SZ+bZhVvMoXJhlrurPMdsoMKS9zG2WtTo72iOpR8yMSPP6jvIUv+8qXHRVn+UTMCAgqJczFX30LCmtbexaLa/dHwaHCxYYId/ha11p+Ri7/IhV2OWTWLlzoqlU++nXbJNu3yEZh22y58+7cTQrvq3tsK5Yjr3TxUOV1/+LA4kjs7KX2waIhswPBdYWdvoSBazPYdd/EfbbtSBip10sY9X/nbZpp2OQSPxwVWesjrkN3XA0eALK7jahp9u+O2/A9y+WbVbsB8aFPCpuweH1uOsrEXg8eGnRw1B9BcR+7WkeipCo3+W4Nb4kYusHXVVQTepdb5dg/mwQHkgzV1x/CtqqpT03Im6++kQ7ZCV75FMR00lD0ncfAyQU9sQwQkXXb/GPEjXz7ksdUh3czBoDsB1dSoLryZCinDufGPRYCjwgSOQbwSLujLSB1f4pgd8bk/XgzncGZHpHHGdOwV6Qjhy7D+iCPA4icOprTxqvlmHN0POb3dnZrRmky3T6UvdjFDzZUHuEYd7dMf42RydnJfvsvs8DdhisK4F600d0PGBV7rQ+mAl/97qzSMSHG6XsHcFDAxlt/G620tULZLOyen9xpQpTDJM7jrSJ4Wz1xpw1AlQkqtru7AriqxN04+BAUoyZxllPNHc//c/wBdslA2LyYKeKf7k3+m3jm624nP1pHSgZTKd2qYgQ0JPgwihHtCeh9ALyyS6d1VE1cFEUKP0CN6NmRy6/7gpVOHJV5PUsTg3IuHI/iGw1KDcyDKZTs3QQMIooTKJToXIfM8K4eUp4elszrbzk+7YCxKZxU9N+UegSKRn2hpp5YAlEvnAl5sz0DDw9IDbJny6MItEum+RhM5CpAffJdRzbZLgQSQC+cCM24w+ZA5RU76Gb9JB5T0du4BAKNuKKGGJrIbVywmru9HA0/1EcnyyaRAOHSOg5T+9C1Yk0gvqj13J8R7cJdSTcvLCcdfMwKvJvXcG1U184EUy3WfgIZqYIfYIa5qIrBFkMVRVRZqb5icqh9C9h8oS2FiQ1Jytbjv57aFlMoNKxJ9bbN4pOyzf8v+5ceZDJxYCKT2eP9GZYHPyz/6infz9dI3MqImWQU7vZmtuT80+YTaPT/AY0Ln5kzYEV9E7Gj4fqmhBJAxEbHO6Qa2508r1r9cFE4GjuKDe0xTrRA5e5Fp5pr4I2T8FOBBIFkXNXKufTjFmNkfO8nv1RN0/DtHsrqicU3/MJLVA5NPbM3+gZN2peVEpw8kbINEMqoYAupKNdVpdAQAr0jVYwSbrZM6Z4307qFDI9Klt0eS0R+1SruD3TuCIq+iDWSEGe4OV/TWxQm64XF+yDO1xfiuuQScqHMs1Ti7Ze9eKXe7gd4CTwlZI3Vw26XsDVCLnNRAeJc9cCoxXKHs536QC+9M8vkZ67b0mmVk517fcUmDLJbOLQ2v9uzXs0VLvW6ast3AAIFKm6UPGvxg/5N+plKcNrT3ijvveL/HUTA/lvPBg5Mz8OAQ/Rz8MjyckiCkxzKIJmN30oJPYt0/5UZmAfOZXdJXwDPu/iXOVK22TfqkIC5FSJhXMGmQBEG0Ku24gVJDw1jRkdHgPQKTIWNlDEImDU8dGCwbUMZUZpP+gRfshl4vQqeZY0pyD36bJaDveAhRtCvP01hmy1OnNEtsPjiVdQhZToo3gl8Q13GV9FGKTOykPCzGVGlX5S5X3pp1rS4i1eXEpSvK2WSnAMnaZs7OzyfwJ5kY866vGX+pPLmi2GpEhbgmd+c6EfX0GefGilyfvqR0l+21+/OGLd9U0Mcls2PL8VeRoU8MS3vk9op2IZ5H9oB1HZ5tPsEmcoSr5nINS+dLBngvyaV57AuH7BZJMze8ihxeMPA1xu7fGHPhSt3LJravoXp/hi5nrHcDZKhyLa50yA3aRftER0ILmy4Zi8fmdu11VOsqxgOgS1zyYYp+SW2FGGBc22djsYBEzwhLmPaUiZnv1ljEfBoV3RCfo2Ux80WuEoXc+de3+ZhEzwgkFeQHOseXOxTyQupj56C+3Gj4vpvvaQ0YxfV2EFHhdKVB5sZ3mY7wsqRgkS2uaJ9madynqboghaSCfFzQXyC9S2bKqaUV/NaVS8VOWiiaLRa0AHct8ZGLdxMmYBPOlWeXyZUgCqOZgQN3s3BL0RmjLpgYYKHnfyzeDAxjQW40RaB8YzNv06ClDJx3qUNRPB1PJW9rG3vBwX8oo3TUo9XGsZ0BJycfKxHIV9rPoNmMGiw5q0MiRAD4JaZgQmp2ERs5O6frQyhU6hW7sCeTLWTaJYO97SuLyVlEsFY65l8jQobLQ2uwf/7dklkkM0uB5z54McSgzr9qXdtkoq9ePlKmXG+S06mPN2BGID4uM1GpBEqtFJLnb3aE+CYmNq4jQuWX7tJAIEToBQWTZP6dib8xwdjByFEIDofXpYgY3VCI2mXma4HChNt4XqtOfUSjDpZaHy1J4EMQzDxMb5zDTAESLCJxG/nKdk0lgarP0ixYDq98VgORhsnmAUveD0fteo1yI3U8wOw+qfB1DN/ThPczkOrfHuFyTaqOW0JQZ0jjoWUOjn9i9+ooQPepkXKInBs6kisW0pcrJurYX4/EFRULnjh+THOVxTbke1Gqj1vAQoxDUiJ6uK4MB78cgEGj1XHHf3hAZwqUROubtoh4bNIPhqHnAWNuLZ85WB5GNsEXRFreFusaSLTtawxxeTWkhVc3vCmHfbdYEL3AUFj4bWteDc8jGljCA9CVB8SUoo6emSPBDwVX4fDEfwJ1IAXDqg9iPZVVhs0mfD1lZJTZ3XgS4uD3/D85v3PqdeP7DCezn3eTq4zKSlhLsKP2I+W1oFVqTDwF1ynDFlIbolwCWSa5FpAvZK0LCnFLI9Yq7eM8ZJDHmwRjm7QMBBwZdfDsM4gtzmRi3QIPWK3MB2q/mrHgYI7pTUQicKudPHfqgdRg2fMAKvwKPoVWXhe8FOo9JUAn7ZN5hfaTpnYJP07eH6xBOIKRyAC4ua0VxK67ZPEDCs8q2ozuZEIzkNCOZcr0ufjrOfYewME/MfQDNO0+GRUvAZagCbTCqJ2C8sLTIY4Vqucu+iMQCWWyx+1noa+rG2IW64qafOknTEFsUGiKmpj/L5FX1gElUdSFlwyVWOw8DObK2VaNwiBILCa27QBHgJzIjcD9pFAb8WI6ltKR96YxnbqRgTn1nSA3SHkqyzk0riE+ukVGmWmZPoXYO7CA5rXk5dG4ia4q3xFdg/BR6ppls/kz2GHMrZyqzK5w7hsbVqK900MsH0aJHPNDzG27LX72PM+nF9vdnvmh1N3GzHH6JoypNnfyfAY8PZiC7mB7gE+0cy/WQQiuu7O723BJNBbd1t5lYmoSwZyF8ZDkopx1gvYaoAq60gU84DhiPvCxrHjFZsXGXsNQdtE7vHNZyQkjOJgnj9VduHUCfSTQCzarBU8oQ4MqsjDpOCvVjbRwMIY0mzQ+Hgj3FWCBRDezwUHiHmU6QFfWMOTFjt9ZBRxrU+9EsAL6wnSL5yUjZtkD/3ZNeL78IA0fcRR8FbcYfmfsxgjP9m9phEBbkYZVegXAgTS2jKucrwk2Lo66MSSYek4Iox9RMz4pJDanhW53ymtqAcmCU5MJvzuMob5ExrWRAEFOE/tHcLCpklB2OQ2Fwsc0cPJ6UvIQH40QcYa1VS06/soqooTjxjI6ra8fNWOwdJUT/RxTuVI4Qh4cuk0/0xYo4puWMxgG5JHYha8oakJPP6b8JZvBNY5zOJJRpBUv/R/JZ06xSaxB53wLve9JwFRJDVwwnwhIDVDtptPeBdLZytrgUHfo8h7GzpltqJ2eyJ/ZT+Bsqo2QBrYk5wtrL/X61nCWypntWfOmKCa4VqF9C3neySRuPdjjYlkGLbqjO5qAyv+H3zkWFSJ7ww17eYTpWpWN1VB/ga2sjxqPm9macRuhbtbxmpgdfb6cqQFaVjzUj0LDdhpLumLRiY3AOJs9qVzkH3HAwHz6YLS3XPomWRInc0mZo4KSh3Pk++cfqWh8rwHYhCel726e+OZlsxjfA+htXJGxf5npL5WW74sUnzWKbRa5iTuW1lJpYRHzLMbQsUaBk0ATreUQqVkbWDlxfOFzlYaH18eK6gkO642O+tqYrwAZTIhF1sW8MmYa3a5/GZwCh60wZYlkKDbZPrS1OqNB9l8ZMWiNk9ozhLSMZ39UkhtbdgLTsZWGtlBh5CJRK/R/KeJMsOyhspFZRqyGvRyDikA/29Jry/0TMFGVuGLdYXQUZ0Y9aTGloQ1ylRMzy6YOr/C5Xdj2U7yNDlrqUYnnheUEbm/INaj1iPCaZG0L1fBerioCSDvpz8bmlWeeDGjfZsHH8YWKQQ7g6a3YAr1v5GBT99CyDHqqjYy4LDhZi0DUxqde7IJNVsq06dvrDhNaltL68InBXt4CkFzYdy9Uomp4luaJLyAZVRAQlJuBmMV/noVwht/i5XQH+hugd9fKwvoGbi9hIrdWIj32s4n6X0iiC2MBmCEjdywH/Nnliy5iLB/0PxJyTD0kX1ldqpkVuXdO5RU/niyGQS7El6HUAtHqQCUszwM8f1/1S5B6rLQfXfr1E6tujVeRxwifED+q1jzfHouGpQYWKcrOSPWCickhH1SAkg5V942zXV1oiov7y3KWLxZEyEvxlGBEo9aNmw8KKKIasnJsrKJSHafmNAqG6lWHwu1VozKHwBrRj9OVY2LppxFSNcpMW/O3lTKKa9vyA6lAxDAqtMZfjMOo757+WzclD0OTCxTvz3E6HOC3UQ4QzFGePMl9lDY48AJXGoJlYchVXJX6Gxnu/wZmWM6LcOv1R29MZ07WuKfSMSiTTyk6CVw1AO9TuhsTll3zy+3s5q1sOkR2vSu3ITUFs1JUmOheCvI4cARQE59VJKAX402ZTqKSguu7Frjc38ObplJzpYI5ox7JqlHrxj0vdh/E9E4vQ35NHCt+UT8MNzI+20di5I4YTB0NgFACKY0i2bUhw+4lfAKQXNkIpD/9+Fmz9fyNQ7wRzHejJjb0GclIOMdInsmS64XvSTtgyrkNDhGdcBfKEAhM3XAGkp3X4Oj5dZ9iXfsF3YMXrD7sIcKc5eMZ96YG24OjfmTU+7NbLSC0CTFOgwk8/NgUWUKRm746dQbuS3FipmJ7SoRhlnDuySD9K1Eg8q8s9cXbl9yK1T87YuXGBzZ+xehmoQbdLZd5nFM9uazph/YZGOzLVBPz2+f1DvaqzcVjckZa/HAUe6nW9/uBIDaBVorEgT+0QCStquhkUSsEjOegs5adCdz7uM9/w/XZ3TR3NIOe1E2SCflRAaUOe/IrkK0tcVJ+8BASjlR7Zmct+pN9WQi1qzrwkOaTpjBHAvNIgLWuHQlK9jasbjNz8zbzruNOr4VfeQSqRybK2LMTJIw0Jzq7uQo4smYCpJQu8gxjnyE3vzuPgAeNczJPt3cnBEhaYWcezhmrFD6jNFp3IScvX8vpaB36U/JNJTFUqIR+4zFnMZ9CUcwc2QyQ3k2jSjclCy4H/t/Rg8vpMdR6vhk8F18a/jVNq0IrbR3yTAVLO5UbODKQfApD2h/aVqnPjgYdMLN1OTSKaLAWBtGpRY0ONLkq39TZQ6fxRD1hRlGT7zs6yltxAHAtoug4B51aUIV2enKlpKrmW4I3382KoXUTYUHyf3Xc18aVfHWvJ81HdUGxeJsyUiMLCoYiDysB1JA+FI4Sse2JDb7rR7z7dzzADvOwu1vO3XWG+rl18TutcF3Zs/M6E61Fw3RLjeqhxQdBNyHFrjOMc4zrBuLw9DO/gsBrdVszbMGaJt2PXUudbiBR1kgpzcY2Ic+Jr83u44tewSNul6AuiDD+YK/3baXzYjrI6SrDJffuTNCB+y+2bkj+IlqfOCbnKEodP5Aqb0d6wfT5XkBGh1nzm52ci/waMtr2kECRqhCK2Y6gU37EhPnyIPWD5bQZ9JSWir1XJb2Add1k+Ggf+1xBcNRpx4qgHreN4E+UtT2+7ofX6xPX+K/SIqhcOaF7D4o8QUnFaKc9j/w2Rl1zH+alUBp5Y1N2aXJ0/mZCVNQ2xWJIGI62zfr6JPZNtIlzmKyR0m8MPjmY2q3ZW0p4EpXJfzzC1FI+JRvZoyS6ghBaIBgGSKPobXzeoo7MsFZ/3GuBSQMkisR/aNv/55oYIwWGJi6FXYzzvW6b7+fZ6BE9rTKo9kSUnwi4mLVtsaW9X87R4u3MNahdU8EQLMR/x6dhIb3t6HbcwrJF5Pb7bp3Xv95xUvfLZnGZ372x0b7jTLU0ekB4vQiyr6qDFkPYzf6PkOIwBj2QxN1bXDXCwqi5SK+rr7N5Nq8W67yZ3/rxhrvCPy3Bn91goqzO0waEEgtdBBzcCktE66M3lyjKpPwWJn6Kg52ryOJxmZTdK2epiNB38RjGj5ESEzkBg3ScSGEuqFsnIfFI2ZtGdoYU/MhKXqiI4Y9sF8sc4n9VITa9BxhBhWnsz0is4M/tVSQe9arlLSDZaj2leNGKNqAFU5qeUV5j5g+2GU54gKqwprP4kTtybv4xTPEq25NRUDKY5XIFjYN+oiYjagBdJTV9IfcEynoB2MWHRy9MKYejPW21nHbbQaYsLnjsOMFnRNItcooPMUJaRADDoF8JwVAckO7t3praoLp59mr8Xlk/65DpfmsOHiK7m1q74s9KcLwrOtfbs+CrVQ+LnrynOCN4VRiktt6TOsptYlCSuluTNNiOL9Kfa0g6vVjw0L7TJGTNnQK6fvMLM6ak+6UYP5tT12ZRtpJWZ2TjFCajKzlwjv3gSkfsg18GvA+hcfm2OqKHtCnqiVmFETItiEp3VzvnZRB/ZhB8SnJuAzPfjfWTokKOxQqQeTChGVKp1HKfr+cZuSnxBSqS1kLO52e32VI9GFT3Bona6fQrdnwscG2vKhhUxX8j9TQ3OFk14IkH5wvS0fXW/tq/qzPRFq3R+5jJJUW0tL8/gs5UB6vvohaOGDD9w40T0MA4IEJh8ORQxx+cAwERfFN2VmzLZ5+pjc+VJH3HkS43w1pQ1+tbDjFKAxudFqqRyTFHue58KeIOO5NWib5NhVFWMSnRWlYqRvcCQP12bvrX9CIrGT9bgiRgL3GmieaivNkMG86vZxHXCuYYHscZfmTQEk6FdKzmWzTg+mrr7wWpdq/rqPhuO55nKNqHUyjxE1cS8rZ7U1c56v7S+clVcJpIlVryhZs80nOqx61LmKoBOl0+ca/jww1vadZHjLX09BN8PyDesJt2dr7juGMJ7CXxho2TxI1Ev6TQZPxYFiWYmzILPfgzaZSHY2QFJ98nJ5ObXbLtOz/yVx/mNr3URg+x6VrI+9ZDFhXfzryibg1qedGgDZ30uZL6ET0bM/z83Dm7ME1J8TQjmmqYWqdrSE5+yIvRAv2TAsnfO81nG3uJnw93hoQFfGHMZ8qt49AEYJhGmYDYwxKlqVbojzisej0oY1SGoK47qrJeZi7Cgm8Wc2C2fpK/PH+DnOnhrle7xg0n++Y0Jih6ageXe/JKfUy3vIwb8tFqevhot/mpKPde5GLZmO9V8fbWZg+s40dzIgvfL4MZUg09/7dI214nsSOXdMr9N1q6nvXbpsAK/3ubC75ShU59q0/6i84rSOynyOniuduMog8Y1/dUtLUT8k8tyjlnUKKZfoLCYXhuaX6FlcCv/j6hG+zHXGHTs0YcRMcRCzD+ilUN0SjUwrU3KJYE6ckMEvS0eYUhiqYRaWVgQT1jCijOVom3uJPN/9lQjjnmliUOPyVhklSF/DszUKTrmLwl/JZzty0mNTxN6FmoMaDT7O4DCHEYoCvFFzrtDxxyy7GGIxUQLPjXaGEU+o/kExsmSjIWW1ZJyiC1wZ4+ClruLN/9e0Cc/JmY32opKf/lvMP03A1U4qvOinauhvB/q3YAjXzyWL2Wzn2wqvKPtNMH4zxvj/03V1mv/Zt58jHfIeC5ptSe/PVbJzJnqt7/fJVzerupI2KyqUV/1dwizOoxUFIa6vFvk1VHeT1VtrM78Gy2WB1Kd3PzoyTon3IGE80bnHk1meo8a01F+yJ4JH+6hnIZsOMbJ98FBaEFcOuLJVw3kt0eoTHrTyOcciqNuwYgjk+HqcZV5GU/jfV8mn8FsVe2QeafHOrmYpbW/mvkxkxWvPW2nKZEHF7xgZ7rHfmV381y+O+t2pxvIe/iMjEaT6nrsDuCyw1cVpzKeXlyCZYMJz7JaryIXEThpHewiSoptebDhxEmvQ1nVBx6wH4jF1Lhm7GKRqvmnMxjFSzmxQqcpoXKklea6aELwN+9LFVwj1C1SPiOqpm372VAWwmKLvZRc7AGNf8ehdF6FFzVM9l2/kUURaaZU4jhFaVn1M4qUv9Tm9EZMk68Kqx4MrxlZK8Iq81NJYxlZ/UuOyT59zZhqeGng7eETXl/j84MZnB9oX5h2ITH6Oq/sJeAvfNLuR0Sb9EKgqm/Y8vrhzuELMxxL870RGAYvycBl+5GfvLZU5uNEVvAWFwXXL7r2kiTzUg8Nv4z9r0/KX8tS+F7oiYFpuVd6XDPR+gkOaIqW/pbIhv/mkiDGXrpPdhZnXf3ghqInpr0wMrX8VhA0q4MgllAWPWRN9e39606FK5W2r4VlKhyPmyhJpRyfQpoctcVKOilh9Lj6427Og4uurlzwLPPyN4CeUdnK3GyWInd7uuJQ3mUXXodKlvy4ZDS7UTmTRnqyymQgITGRlBPgzj1Dr6ob+oXf6WCWsviBSxAOa4MhrSuxrE0NcvJo9QXBsXbjYGvQ6S93FtQH0krVc4hfG9YvC7kcQ6x73MMwXDCUtkbI64N8M5oI9eX4YCnBjJLHXJywogPoTmGvhJ4U2roI47oY47I7Ka3pRkOzhBXfO1J+g8nwmqrf7no9lMZWTxhXte/E3RVCWP/iRPFR2PLsClaGYPdU4k+1jxS9NzX5LZRmCBvaY/CPLngiAEDVfqfvgYE0YBz4nzgqf3kZKNR1faRApqrrTNrp9vuNDe1QVG/qo9NVXOV6VSgPKeOnaPpBgWiPwUvFIDKsVhLq2fhqh40DrBiHqarH1k/U1CuBKWLYMp/mSKZEyMis0zpiaUAfaYGVBjEmRd4bP4ds5bPuyXgm8yzrWdUzg2dBT68n2ejCkX0e78+S8bGH4tMYVwSFkzYzLZDlbxQwWWiY5DWGFe1xXAV9Rkk9qq8bcb2lkrM5lB/KlZOFtxmfjQW8VROqp4pzE6C3A07Y2OaA2Sb78FpceocxOcr6q+MSr/qQiQ+J+lLkyf0k36DZV+KFi6fAsow9Glcwe7+HeMHkA1UTuH0Jd1a13WZt9r6xNrJgeoxMr5n/I/rfj+TJj3SftfzJjkN3lSuLaaxeOzU2Hmw8+TOURNTa7FfOCK4FdUId4+qTLOoR6P5p5GW+lm/uVXg9T13DbBm71HSIFUEy6zN45GzYUcPVJyLxAA3V+oby/8tYftmjiV4Q45KQ4YsaL97QjY3g5sDLkn1ZpHytf6jiI4J5ED+OkYNvVfoG303RwyaUsjXGHaHv6BN0vpMvdwktV3rOelDrMEaY2RKuFJ3aygasniIampyus/avr/X/b/HPaZVL0MicxSkE8o4k/g0QXwdeQXCLdPHPxCxbkFRmTWKZq9H+uiRl/uo+mEWPyQQuo5K/SQPiw98m0vgp1FCTUDEoPlNmoz8vew7xVTMtmfqK4CQPCliTM372Nd8qGbvetkjv5u4YHfTSxvRKv0gzW/LKIOvCewa2cOSDOnrUl3Q6a04v7Oket1vlh+pwv0zBlGpUfMy0dYBwxIHMns07UDAVrrd+qI25hcqv2CO1guErKHYlworf8JWN+N+W32tvauafIHVKtD+50vHCiqXcQ0VHbXe7+PIo+mJni3yaACovo8EhB+BGUlipnJopP/KLfi2syhY2mT/5ZJ4x3oL99rHJxcjzw4t5JUP7p2hvl7Ppdlzn+yThPLTAz+LC4Ba0p8De7hruTXh4wTtmjEVrSZAAbFfloiBNONCL7u3bB/ljQ+bFrz8Th+gPm8+Dvh7oPmf4RwXxNx+sSpO7y3CXRzWrQALABCz8etiqgf+TLbjWHbtXhkLSgHHlLyk46lwrM9RV8Z/MM/oNBlT/WfXXDHcPEBGVf2oAfpWjLEhCDeL4J27gJJMhpn/71cjP9rEXfb4P12yx/yNiQ8n/PYNZ/7V9r105rYnQMXN8Q16VaOekOVV8d179V5nHjOyR3Y5eEqLG5F83IxZWxC1T/Eu1QaRA6G05ZZ60qQixAP1167f7SBzlQcN/MbIO+/jkZBk1Qvt/Z8DDYj8qGdt/JXYeC4L+t3f/Z4ylGoL/e/GaMg7jqeJmlCa8Bvx7RjUpAY1SQsLwSZ6TRh6KTOqlgAlIvHkgyVYGIy+DNILiAFxKT1NXhPdM8fnHQOPStL4d4+IT7f/6kvwqkdeqOKBqsyweFByDyjCg8gUF+RhobBMFXL5mCn9NPNDLCiSnXq2MQEIwheQmW8bZUA5CELD+wbUAxbgMTWH2KgF2U8PzPM2Nwa9L2ARMPbHrsMiu4ak2QIzW3ezoYNXHHYoLnWbZz7VWjOJEjPk50qoOlWGe3pQqJe0yhU5tAR3JnKm3e7Bjaj92on33m7TkwGjTrLnBdgUBOb27IOMvWYfHQxHKVVMzRPyQ5+0zc20PpDc2D9BqpsqMBQC2ESht35n0K4W00gx2EglADJ5s+eay+1m6gJOth0pesqZj3xKt32etQTWoC+x4nTgFa7a1LO/LBbC1MAgFYe5ZYBYZk5fMeYaLU9TACefOsjkbbTUTQ5qZlyYgp5RJi87VpVnezZMWrXGpuWf9vHAJpHtKwExcNlpEZJHyCILEIfU9WKF1mWdu5MBYDiTe+BJyD33r0NVZhXLeSE2DeBqAw/UKgnJw7ENQoDG6puGHzaX4hUnaHQmfhE9dBj4BPTVGnD1mQjBV/4l5vOi/mTI8NiZxHa70JVrBPUQqp3MAqb3sc7eVZ6t3u64plhSsEHCW2cy2eTVQtZwlKssUWw3Xlw2b9P7GYnL5YS6Wwg078oWTCg5eTjJxXcfklXw2yxmLOM4RFJDJltPjtJ0u7xyfvJG/EqCtlkmbwuhVs65iR0OLfekcOhegWNblKQUTnRkINDOfB/tQViDmyt8awe2bdDS0bv0qMzyIq5qwoTqF1a0nskpAHLYnTtRG8xMO7fZK8v7d+y7d+hqgL7wf1I833nBEPgfqKAqIJHpnE2UMc1mf16mDPsBK6oXvyU4S7GtFwnlkebbuG03XoFh9jlAXk/UhiQmAGtULwBkvPhBBflIRU7XPDD7/SPUHMSv9HSfyIAou9cGPYZjBd3ICQJ2/nr5Ib6Zk8+j7JsbgnLeThKQNpwK+Ve1zSF3HLUc/kPsymR4KfuLqwNU1jM8PvtD+v2vIiQv4+2OuSaObwylvi80X7zNe64yHaLp9+tpAApmr2Sdwq5iu2Qz+J+Pc+8k4QKP9/3NqXozXBbQbRZYl1qJPEP4lHX128JEjV0tKOt3vg2Qcs4DEV9GluflEoqS1h+4aoxltyVUZQfs1crT1Bgx1HwvNN9dtl998DZtp01YGRGMWRVuHmW4yDB6bYFM94CC/FaUSAuG0WRmXKshUlkbjmEuJLvMSywyiEo3zZ54xICjtgnV6Be/kBQbTxWU/kTmgjcZq0A8bv6vnXc8TDHBBNdquHyg/VDgjjExFJ+v4Flrx3EH5/K/2usPfRQ/BvJcFPEld49cjepDI0kSBGGhCsWEhZLKH8GAneWnGWnQjEYlzjCvFB5lknPX1QRyenKgSxxgDk7KZlenWzvs/bSeH+n+yj5oe+QgX5L3FfaSha6vM7DaIKk3EWf6NAniHNIEmqs40KpNOSmKEX7RC0f+vVQ3/oSIz1bVB7Gb1jzPwTldYcI7KRaaTgaxzKls9Fjv6cWmRoBMatmr5UH6PULkHYz1eHalbUlj7JXc1WEd+C2vJtAY6ocvV/uk9YY07esDsQhkQZImQo50gIEAQnqevKSck7lbgFJ12ZRxG7u9R2yzel/Tw8fdWn9P5pAeNowvrNWWgycwWQg07jEC06DcahfQaZxtn2fpQpnVve2UI554GgdE+j48FQT9ACKnzGbFTi5WRMvUMRQfUa4cPgYfVXFWG/rJ3mXH+r/FB7319giyN/R+EBC4mX3MJbD+YE1g9//e7Cn8mkMfBpJ0ECkXWgbqNuOC7qBPZqE5amRVp8m6oMzmOjpybqpLiM0MsbE6AmXGwRCyNRtbrrJgXNblfBtfgoglMnDYtTv+bur4tH/4WL4uaFtrYVADI2Scse2ryvj/n49TncjgbW25tcETurms7gmpNQZGQtWHQuZkGJrxn6JpAfbMtrpVE6LIBmw8oXUmKvn5hnhEEDDJILI4UjEHyY2zkp7HxZs5+cSC9665qTVKOaOCaFn+oe7DweO7iA664v/xrjsMDbVrmobegMAzg8HssEfDAq69+lgUoZRHGRYnlEIjXIxlLcax6VFJuKH2GJVz8NuhBOJ6JWlAu88raMcbF7SafhorwP0T5uVsaEJZhhFYHzNptLX+DoCwD2c1ZuQinXwiawRgirtjyF1li5lO3IagifVhyyfN8Snix++5C2UNa9N5CFYjrQ+aLr9J9qJXd3HNXEDv5YZ4SVaTOtK98yGkimXyeD6APkw21fcMF3Z1o8QcuXZN5Podt5zGFGYQBDIU1NsKyt2iAhsSsJar7cTW99ieFkHYhbEaGnwE4FQm7X+tREhDGXV1h2q/vz0O7qvisB5ZJ07qQRca27yp03r5PCSZgXbUCUdDHntyh6GT4v7yf5NkuUiUYppbRNka/ZwHnjF7Dq2pChlGYDB5OI5rKFq1kIiNvsik18pRVMxc9ZMsXF5sJzVy1bun8MD+Mum/liu67oCgiItVdHJDxQBXObWYc8BWgPlaJn6w9kEVxfG/GdAe7N6U4gK7pfJZUNw0Nju40GlxG73OAykIOI0F1xFUKDHyVUVxkCv6mM2kUqrpc8W8lgEUasNIbhQvL+fTaZCpVl2o5cSjeywX+4NTBaHdiLy9+ldU6n7F2NUezpKv1KfXn8KVaGdFtmilE8idZ/ZsOufebAUY/qnxjzoiKcNqenqhkUm6VJslYbNV49XVd/sPl15KjaV4TU186Xp3a/aeWZ+1LCus6n55fqjg7j3v9UAdWcXjyys8mxjC34IuTX969B3fhXHAMwLf785nQT08J09ZEmGw27C68bnk3MQ5AMHLZg7t/KCyNDHtnlD7vaLNqivL50oAoq8AjpjtPn5uqN0urneDSusqKCZmo5+4678B5lRt6bUSeR2vv/xqzGy1whTaO83AdvD80La7SedMFOgnR6PPWR9+f0Bmt/sNUFDvXV3go4Okc14+zEgX167hwu27ygkZ3NpczmBasBgWVI8feywX10Ine2eFPdBPOIXYOsGEJAOfdL8Y5NhIh4pMjDDaI6nXe/2zbCnEgyYxTIH82jlvr6yVUuK4KnlrZcQAP/plXTeo+Wn3eAZS2C1HASPU9vBEXiKdsxQd47KyUT7CYEcH3yD0bxNKm1enassEf2Md3IVzbuTFDEt6EuG1CWX59/JVFAOwXGciUoUDNY1MnY0xHdQqCE/dmJ52ACjShO2C6GcvyVCPvhVIqW8YK/zbbFywmoIN6NXT0fuC2HU5857X9ESlBTY2fTjq34K6JzJrBO9s21pR/sOA41wAH2tCPfIeBVLVMO5VIbBfhcBsXR0D0JU0tdkY9y6EOTKYhdZplbF/mcWsGjdKbmjBV4riP+fxgS811DXOHirYdLGHbmmZWDzfnPw3Aw0cKrOfoUYYsJArrIYyR6xIJZB4oGjzHozpsLEY53CJe8IGQ4IJ6dZICKair9P6RoeUE6zW5Q4r8MWL/9eKiHTDRQRZiJVOWZcdGovcfO0ZFYCh9+CWMgKo8oYs/CQJHZxxnpswyWhwq8lreZyrj1iNE8Zknk/zHa7a09fo/wpcWSc1nYLONz6SUZLpxYidho0spPf0NVeQGg8KmCuW7utx/lgkF5tSSwNB22Hj/uYUGvvUxfTOuwG+S5d7e+vb9VbE4U1X18I8OTK3KjhMjITEhfHNuhmstDpiGHi2h6eQeaX73a0FSd1aOYtfwh2TB/WqoyVp++mqs2rPSa9MJhMVPbqFqYJS+seoYD5VMlWnTdtSZe4k2YvMV2/8bprRwW2tvTgHIzJECOtweb5RgdHoT2dVtKZi0E+lLTQXopJNINbTUmX5coOO7+TXhETnhF1VucV0xeyeqKBkdnmSx39rIzm/1FMf0Wesl3DfQhkRvVMvymQVVvXzUeWPm1WuNDIybklTZwInRgBRhkPrKi8+W2+j/DG63X+nWnBYVQZywqX61s+w1o8EAByEBEuHXLoh03HNmAMaIvJcNqdNQMfiMBABodFyJZbtc1yHBE9s6icv6TsF+RDAGPPgFVX6skWu1E3jiIRjcIT8pI12jVf/9ZzloEWQEn+v5n3LbxiIny9F6ikqH13oaQSgvgvyGNKs5+I3iag74cfwuYRdxi449Qccw73TiSfbR1FPzPm6pkLuCfKRwKwuYZBGARzA27NZti6q3VrXfhsY3QiN629O3CovqXXR1arwirbDAzV9JjSi6ur2KRDVXyOWtGVabBZ+4GghqUS/Gzayutq9enYxC5JZVvRjcKS7tQBOQ1dt3JQB3Nyy2tXCSQmtKof289WcF3mYjdQ0kvj135bwHv6RlzkywNkc6Nnpj5HHleWd0bh6dw1s6aDdXIcERG7vnftVr+F0CofsumkE3oAr+KHjb5kQzulGonet1SsCVsV3Pemp/Wpxzi+taPQk4rgLPW9QsuGDbiebisNxnHkCpnxEgi/icoe/bfl1Zn1t2/ZPd0sSJz6w4LcPlsddb1/Y+UTk79GbmKriBb9QGsvGbBG4jR+yco6Mzp5msZUscP/lzQjzGz5NLTvT2qJU51JbD+PpJkwn2KgPZJFQ3yXdswsBXGq4+MVragRMvxUoJ74PHd2gN3a8nF8ByTfxLxA2LSx7QhrW57y5o6Ir2xWf4OCEW2MxmMm9aIu0cMeLujpUjA///ugq3/+Gsg8l2bgyI80KzSP5rK07ilWeLZqrZDOVfBby/32oZCHNViqpijpEFkf0YOILbKfHdfAwNuJodXSGtSDwbBPCK36FvBYZPP1ESM9cX+FceZymErYpccDDzwkJLkV8FJMSPF338kxIlpe0oOl2ACKKksANjlohx2hLyWMR54wOduGuG4oii8gOQjkKZBff7+3RMLbdWrYbpmzxn3Mpc0bDHvA9IPmxrcyBbx+Cg1/htQ8dHAO4hWi+XifOHDkbq+1pSdyvtQqq1W4k71kjBeuNRUGFT1izgiqY3quut927VtX070itLMUi5Opb3c1EOagKo8mEwkKjrTFoMX5gunt+i3izk9F0RQ4Fd3UKsB4vEz/vrtyfd7u49vqrupfHRztEQH0t3fVJKXEbLtSKAr4lTAGb4jiCdhFjPD9GMvK1JHLjf5CHymt4CEKGNkL4pxM0Me3GI4WGH2oe8Yl820EA7IqoFx7F+pNJWZgmB3Ox8wYXB9xM4GA1pFKzZkMcvFVIbhi6ChQvbJ7avKEyhvQks3HzKrjR3GYPo8TG7sxEkEcGngmo/a+Q7YjQ2Z18NlJmGt5pO8Al1A4Wr9ZYdTW1PSV9Df0b2YFg/rHYLRKDEw52J6KOu1Hbzt66rcVBxY9VjC6QU8d0KAuu+ZV+0UjGNOFgvP/zqiHqfCqQ+7KTZAPfSAx5wuJ/HG7r7zNPtuB67JDC90rpQUra9/CCZIIV9TWCaTedpdh2n/sv2v47YNmy95yQX0HuLmcrMeenLGMZ5jbHSstWAXuuXbwE3iMRKs9tBpPq5Aab2CJxLcRnMolfm93FBB0oJjwl8w2NyGpeUj0fcB/9hAAQuw/gZ9E8l1479Z412V2OnxoHvBKqhHu5HeMJ8Hq4uXumqBLUSTv7fPA6dwFyIPDWnZnWISVvz8/ggP4gP8oP4oM4DxK1LZgfc90LXa6fvP8rUs3xcf8WgxEm4jvzrrWGeUQYki2YmkJNwHBJdEtOQtAqFutVwdKIXZxrVQcC7SS8bJb7F7cbqca62yCf92cjGr+haULldheUb2dRHrPoP0icdC/yTjvnxSTeAyPe97bko7TUahka9Wc71cKbr0crGjjNGxJJsRTJ2TaVHzrJZa5rDLNq1BYtyBputwp66tHpUCxFWlG+KXwy4rCSylQdaoYKYsDevy3P98jFXQ8SZcIRsWixyMMzKIwUw5tG6sKx2ennn8nq663YUqyte0nQFX/mZ2+ckezzyr882G9vbkO/yzQIW0jLLLDfbs8mGzx/6xC4TwdxeE3x8/UF0e2hj99Z5dafM7T7gZ8cAic4WHPTLl7OA+8olik+Nfh4F+INxsd2GV8jGtp6mRM0BpqGH+AnCriC2OLmJyAzxc52dklngHXfD9SzFdAP3LqBntXS2tfYOQLmBodtqPpinZPuLWBzp9skBbboZNPbmvfopTUTzBd2CSqrdHnmiS0dtlgdGgqoRtTlfj8DrU5vwlSwhMpR8OmKPZQBUX7/CVl0O71dWl0R93W9V4mAFJ+s+9ywryyWc36Qdm4zgldkZst/b5IdwSuRRwixQy/Bd8uMvVB5jSQ+Wyrk0Cc2mOWFEu/V+mwmWxS239yAc9nRdLzqkiYCxOipYGdSQcCQFFdrY4Tf7UPmzFNOMRke5Mgb7l4v5cGfQ2MfwRvpbKtMzShl8Uocek/qfmC4sDLYFchOG6/jLAlrTbNtjM+/qUbuGvHfgI0JtMkpHOZ87tAy/pF6MQWxjFuGDX/Yy9Vh7ZTKVi9JIwhyiaiglI+zmi9O6jKdNNvRVVcwbhipNsUx1BidnJuhPIO4ZmuZgLVHGRHo0H8lALGRXmt+qRMCF+02svf4Lw+o4YebcT9LOAl4pMvAQpg02uzc4xxsH0j8W8EiRF9CB+U8BSDi0mgQ1jY1u43F4/YrXMAyzNNw07OTyECWpm/lHXer1APRPyxwEh7cOvybUDBi3oxFy838cJelqaMQdD3qVaUoq6HOPM4qW6TA260n4rInIEfrDWohDtHwiQLUwFhyRMSbTHVUgyYvZdJ4OjRRJdbF2vPIhDuM8gmSWvAEy3/hYTmFni8YI/F5RqJ9wfLj6HGfdvX69xTgst4xlZqyFrw8l8ZsNzOj+JCwNSNpOCxdl4GHMItn2KZi3JAeMnfFaEISzuY3ygpkcIB+5C6JhamU6ZWbMAQC4XIK+zh7XWDrIwyhvXombtRDI799zgsh+qrdm3gKHId0Yo7zSl/UcnVQ81lieQk7hLWtz85/2hvAd3CFzLLYpS/tWARSZ/tDPV2CKuK1RB3WmbhNOcdlRQ7yUTK+bWgm26tsi91KvJTsp05njnRuG4HTK4GDl204QnD10JcHvBckaM/J+Z4c/KWl9SeSf1QZyKaZgVUvBlq2pcgkLJ0pW8B0SzdtgiUIkqjgsI/pAlOP2K0taMEgdD3m+DnD5xv4tl+90eXcp6gH26K0zWDBYANiFBxk1uj1LYlqLF14OFfHcR7mD8XKSMlvM8dzAowXz8/mD/OB6+uA7jTziFQa5vzsZ9mFblThZPpUjOZmQPH553z7ctflhTqc22Q+E/lu++1xJC96pj7smWTC9D2e4z7bENJ/JjQfREKQkApK2CKTQx4+yL/Yd3LfwTat4cN2Om/mXrs9fbzQDEopAjHq/vnv7DQZOI9S05/vJ/s8na6mnu6UdlpsNHc023s6pHNInWRS7UkGBdVS58710NpD98xRgEnAApzCrM9sqNv1L81KHUxKAgEfcRn+DBQYgcn4ALXvuQ7PfRT5UhL210TUal/N+2CwzVoNucPQs1y467WF7yr116fbyUPNKYui9Ezf51dJge6mrpPz7Hs3tD8Gru/XhmQubdnDQGOng0HZh6t875nOd85CC4CUkq/7XGLPoEcpVaSmMA1UooKQUureKxJ2JVa8sDoOcTkPWv1XnvYN8rmck6UVeyts7+gahF+C5skbLee8TRdhFki4CHs47kO2xQFyyehIGY9509umFaDTj9cSdjfk5DW/y8rSCEddD5MKbrirz8WxQvdKVAXmm0b0BeMxYu/VqAvYuLx/tvh8vhe58DeHkCA1gue6shJxsibN406J8/fOuIHfB8zSY9TQZvSjWchmCEsx0sTVfU86TAON1UhbWcGiusfHVq9w4pDUjnbkhYJC1jRb24701S3ArcqPlOFkVlQnaB3j7M71srzh6k4nJrYrvpA5FMhA6JSJjcHUl8ObDT12iKDlXD6UBhJ1qUxS7ieiFGUFMnFvLh2Nuhii5MP7/01M57+3KsVxB+Sd4GX24rAfYyJKwr+o+yCFm3auPq7P9osBsdE42rA8EDZqGuZvm8+wddgB6hbEpir2hhxGdVCnFi/TncpdwdGRFvpQB6lHA14Y/VnoDpyM1WBVQ26Q3ajpwdDMN7XyS6pnrI5uoTAcTWrIHeWAVKEMq8PN0y7RyCGzvtT8hFSIKvBncznpkOM9hm4PGVIoLeo3H+jjXYLZy5FQtxVxLqHKeUFMJI1xZo2jGN83QobhZtDAifRJcrXtCJ81thzqFjieGboPFgYADennJUTZh3CsrbQTWLh3l5SRRSYlfT27g+HVZyZD0iqHjtMtLUZm3CPppH+Wp/lyyehiXrgpyFitpUf7JhSU/4Yd2WD8sH/JwiuVdPmzfMg+RtTxckc8l31zLvk+UU4UuV8QlG2PrF4b7n8czNv9gnnnvb8tzlDfP+O573hge+rDNIgtjcjQx5e6FqTiFR9HgnbNHkcX38F037Wsi5SY/gWO5pzzeyAb3vD96qPRcVqTb32Y0hd4AaGJds+6brhNeQg8moAJtR779NQFGZUBbA52jXhW+hj5BOQN2rCSXjl+Ee16zGPszAmg6G839lgBTCXfrST13FOwzFilw/cWM+pvh4P6WFLcPuLnH5q1hCe0WDua3agwLGqEmQNd94OU0Qvf5yg4eQlNI+FC9XDT0qNWO7avN7JTQdgRR7ena/aX+jfsyF72JLbgzyD721Rm+q+cLieOFey6hs1MTgNINUDeDL3uTTZZwiMJ5l7OwiJZ7YajX4WODba4g0uf0/gZDcw4l3QrzTs3G8PtPW3N2i72PDQnjEmh5zze4yRChBxhriOrwSh+nAQHmAEpSQLLWtLsQEAxvXYR0EijG2crEjcjTYQpnI1eJQl/ItFsd0qfUDm/TKxyXuddlPSyKD+ja9EB1Zo+9wjyhsdPiga24rE/QPEGXrVaZWd+3H9Ur2MAcHGblfOX+j+OEDnGi1oSQCdyPylnOq14bjiWIQ28m83/uh/4wx8x8MODyLIZZ4izIUQPID0tWZZOTcJFASIUwfQq0jaaTNXj7Gge1Sd7PZPZddW31OzJpS+B2PSSxLQdS7bQTHtl//K73J4ZIeoT99S6DcX1bnWzoQcgJsI0JnU949hCzVUtClb1rl8mhk2fZmZoHFzkDL6T4JdURmLFqCBO2wJ/91ooNrtRAyMVsAQWDfmF0trngfDolU7txbiHN/9kXiB2fwHWEZQg35ywxrOFBpIFKwWx0zAsquyczxgPMCX+GA7TaGozLrVYgqcH79SVRsWNYnIQJiLC1Zhgsy1eIdKP3TEZqyroOR5WxfLX3CNZknV/s3sOEHjv2Gm92RGCs6V7s6qydleNHN0jsW7dKwejPk22xB2TqUIu8t7N9L0AkKQmI2CnWdRiGw2hms5gPfKrfDhDpJXWOC+q1+ZKTqrVC6P3eSaLJtHsjStcAgOsDbEjF32ui1uKjZjqFyjmsruJI8WRl5FHCSd7b5hFLIo0X1V8a81iSCRRTamZJh+adVGhmLN5LkQHbNPRyeeUCT9i2/YmfCVAqjioJ7vh8Kh14VC5gyK/sJ7cWztr+P0iGaI1iyALBrmsmpxrhPCgC6xzHFAOZslwm59ZxzYJsqte5pz5MEIxvObj+E+pzIM1O2KbP5PbLCRbZXloySfryEmluXlDk1GIVPdTP6hsLdWMPC1xMU6CZQJNEzoo6EPJ0TTGSRiz+xyhHD/h8oZAQmliiBY3WsghARCxYOWWKFt6455seaeb2Rrz010n+uxfxo6w5yUuSVZI1R14Y+iyhkRmTOBR6482lyLkWca58w2LDcTx2W6WXsMFZpZxDDTysUoAFlEgDRlfNdwX/TP/XgpPxO0H8ewNrmbiipFPqnxDixdRcfaDAkFbB4dCaFE2P2j4Jt0/QU+PpWp4YtRjbah+Khu2EFN06hoaEMltU/UovDIc42z76MzrPGKO57sSvzIhswmnZPQtRcp7bpZiiRBFSlxLufuxyQT1XfCZgiPpF5iYfWzNmobgCj1QKWUTKUYHJlC3EXyV8mwFKiOnUBdHD35UJz1S9DKMmoU2rUpkugcYRNS+FlcKl3ythRHDCQC9RATk5VK7OYzl1VKHL3dant5UB5K/L5MuGmEEwhPbqI3jSl8+BNf7vvYpPA08gVwytfVRdrtoTaEYcgeN40n3PKzDtD7eT8J4D+PyrjD1x8s2tnvjXvfITeEj/PXYb7kaD4ytqQH4NOBYGH1lhPYl8qGQHqiR6Kyqaie8QR4PeVUltYuz7OdFLkOVb/6b00vpAJfGkstPvSafstweZJJM7cKaiTSkAU7zYPpBX2dQ7lEmB3H61JTQM7jQmq09sVQ9oKp/e6oBkqoG21Te7lZ45E35E+/TEEL7NyTUSUgoZJpjjxIBVJ6FDmA68cQ96FUAY4i/d4NvUJqyq/nw5naQq0NUhmg23k2v453jZvNmmKvAZvUFxpenlDObe5ElTjR5LHGsW9O8FKsB110nogHffeGf+OwVwlZQD/yFfOdmVRMEP6qTMJa5O0GNCPUwyJIn/qmIVmlJOVERzUhD4SPzn0OMfAPuOhYlDIZ6FbfXGH65FHGuKSN+E3YMD/6aJwMUmqi2rB/mS9Me0W2EXCVYRFX3eibhnlRqhICHSYbN/QJfiy/9dRUB/APwvnsdIguR6/opXKVV0QFMmkOKbsQkfU9qHVgLTyY08hEAMJJjHpQNNET62+83XEM9aRpfz1688vQp4lied51pXYtdsWcaQTPqsmuYdBVh1qbqeRWUutD33TfHdTyMshc4K0jj/9eLtccKdJeJYIF6gMdPPVSUm/LkVmze8pT1KTNt3hTcNJ06o0zqIjkfenV8g2KOI2cD0S7YaZq3WxFybJtphrc08YJy3rj8jMnpIi1FECLrJsL10RK5rme+mOd0t9J6HNXWm/fkwNaqrUDLeXgbeuZ9A2lSEtCmKL1HhTx1DQSZYe7/+jaXSxAMyfLihxcERrbCQabgYMsxCOo2OKHWgmf20nvFKPUBXY2aHIdxwZ6HVFb4TveFAxUoOoQmYjbVDun5/TAasAkOpgNnIVWaLPhiqMs1+PE4emn4/y4YdBrxzPKg6tZQCd6pV3EUH7qTFKmPyHCJMSqIXNvJW5Yzzefnq/L25XpkvXbk2z0/sZHgKrmOCL+kKa4yPkivKfpUOO41N+jAWF6DDCKHmVxDTxxK0aAE9CfSU0CVjwwyJgnkMc5v9WqqS2z5+JHthF7rhspHgcoSoZzBJDQg9OLiR8dUhxw/if2CVTLZbOi5jE9/OrOmtb/kze8zJgsdETVc+0s6cTbKTfsI2UNjoDftkjCtwS5U88M1jIm98tL7NtVKE2mRtkx/im/lstyRGWEz/jSjHk9aIx16TwqpYem/H7LnLDqjBz4TGs3s8AN1l38GJ+CYD33ty1LVpF59Jli2zm8kyZxk4wm4yTw/gBBkEB5nMDy9BUJUwUll4h20Onu8qPgzSkQ1pkUU7FQ8WYKbUHuVSDkTfSQW6nGnhRLJZ8nh7mxvCX9TD3NNU5N8IyKJ6n3Ngw3BBvza28MH+4L0EXIWb11ACGYjB8Pi/aAT1x4Njl1t+7wVGl93D6oJxc8PiSONy32OXy8GSX6PIfgokDWNiMST6wdQSSbYT+aI5TVO0J2/UL8PstuCCIglhXZ/vsuqBY1g61S/iHf7uFRdC7UwMfNCWkuRV7RuKrRIAwHVF+L2sNXPY0AoaoAlDYsIjDL16qIjp71RNP+wGRqK+pNq81UjbEn5P9ufOr/cPbb//Qa1uf5hVzqafAoTazd7SZ4vrhxU1EiD7GtHb74fNQa7rtZLYr8/Ga6HehhZZs5kJ2TP/kRs2N9d8ZFsqzTqyNwl57Sx6pp0l9ltuzvSvD0jCRYwttKSpK0eesNKVR8zmx4CsAOanBTPfuu4b8UNvAI/7WuppN+cNQa1xYxMCeUucULZTWWqcCG0je9GY2mMexyefTuz0nUCNnsf2iGMdx2Pac56kaq9A/l+X1YPzCxyoX5Nr7jfx7FJjCfnMFo5TVnNcdwX1QrDh/oaMYIrf/vy8zrXJfXxJR0rilOLg6iIOB/5AfULy4i4fe0frl9GEf0C89vGhipKGw91VHEo+wUCaUV0j1C5ZKL3Cj16o3BzTwE8HSBGv6T3PoZlAyIjUOjXQGoSWvA0+z8AImsmRnZnddxykqh1RKf8JHmkyV313PO05y7vH8n50Tdy/eZea353ANJrQ3ikJT4fjN1/al90yyLSzSbz17hOTw41gCq3AyRWMzMmTiYFOtebwA9ddDqle0dK3JwZNVoEK63FhyO9Bi5ZDUVw2dSpUbGjiKBYUnmGM9vAwkg1zJxDbNvYLq1rEc1UmvkDPCzSh72U+1RKfxDUNPuyMNp6s5eZEu2evwCbROmCUYWqtB9ndLHymCKgWOITOy2lHCFnvNwYpDeK4YYZM0DX4Z7uPtCaBH/aL10RGlaxXpE7wYaHmagjokLN6MqA1yAzMBxOEbMuZ4bG6gnLJKRuiXiV4KIc3J2d0r3HJ28xyEtfVyFK4K5kdDoIsRKkV6S0SB5/MM+x6YgJFgCeD606jurWpALkvVfzj5dC58bcj217Mexo0LixemLxrqMuOijRJ2MmDz0ciCdFkeTHFpBa2kuFQ5NfuCRHy8ZLfJO6lG3awrKJPOSa1mFXkCFUkSmJ1N9pNSG8UCzhiTK4jshuJHSBzwZEpyvCeM2T3SgHfaE88JQoH4xWR3YbQGJkK8XUAET4RWXVHEUwnp/bF99plWOHk/HkJ+hjAHYod7PG8WynH9NUxdz0NOjG1qSPyoRxH1ADAEmmlGibjBdPJb7mSqdS4jEIUtoLxc7YlKW1PiayHZPaSqB/IR4QwrZtjQ4zJwM3gXl9fHGLRfEit0TBMmwRzGg1aDtqH55iimTWMX1slw1vyCU4em8FiyNR87mC0po0MycYJynNUUgpSvR4EotBeEGoEszxVmUhQT5YkMXjIyELVYz5nnRie58bAZlOL5hkTK9agRxSU/THlaMRGZSc6pjt8OB83dsGsoVoCSfMw5h3z/JNXuJvVgaNRgCWZjwUCfm/bOhALlyGinMaN2CYKV8zObswdsRYk65Ex+YhjUnpTjw2CxXSMoB1m6GuqK6ksTw2q++g24qN95KsThtI5+LRNR6S0dy+nGXYHL/K5LFYrUvXGQrEp0p1VOKj67PF7Phbu3v1qSoZtF2Hm67BT0mEQRwvURo6D2g+VWT1YQtDszfLKWWUe/uJyZE6PIQl4ixVUW1O00ohQ/gXDSnCk03Ub3roYBYZHlfJCaO4K/aA9TmYUkwWSNKXPjEokWbT3mlD4bfrkAYPRy6JiOktcYancBZxfJORXU+U07t3RSIjgsBGerJLFSOGZNmbuTdpwpdUpWUVDvj0UfT7RyhSTSJF3BLkyYdXNzq2L8r6DE7ZXiRPGKK01WZBPicPGnbrZ1j79aKj1P7084n1S9k8zx15i9ha9k/IlLbZ1vxDQ6n0zryIybaKcuuxNwPVG37wGkpDyR9OZ6s8K3GYF2mUCj/TbgvWJUg1EYYJxQ+emZ85QSLcsBpdQvfcWr9jctLhWGABBQ4gi1KiQ9uup4FOni4eKDFfiRWUEPbZerkwIHhkRZd+n9MGEYZPfMuRWMqM/ltAsezarYjOnL2QJIfXuA4NeFCOCEDNolf4sCT7pJlziLH7EJH8AXJ6s2KJpxM3He7shye+BmBLt+obDcm1ztCNB2VmiHOTBylRfGyaOzvCr3ysVmb4xsMh2ki0WBxaHSeFJBOpw0aMlwLWN1zrArnFD7gjCP89Ljcs0EckTotC+WTSn1MMYoMO3UpPHB61ezUrdSZSLwSrlPca1MShFpVT6ZmZc3gHn0jC8rZIxVSTsIV0gVPppupEggqxfhBa9Na94qMUwrFaifosfI+Iwq8tK6q5uuIdRrDzoE5DGk+VK7BlmK/EJHIxOWNti/tYA8v5bOTimz/HNPqxY7znFB2vUnaddMVXSJOEpaoHhdCW11pfqWhq1GEwjfQy04LpeF48tEyY0FHV1pSIwTR/LQCFodD0JOmLSF2JroEI7vOVTz21e+uyTm5MBm3FKsvWXpA6L4MVTpo89wQbpV8mtulYUMRAcSs4Nz0b2BvZiGhqFvhtjZaaZvZ+3ZlDdEssLKcFXriAl+6GJ3gLCp9DqU//HbZkOtZHk1mBVJhVeq8XMq/YJvso/lkNWn5zy2OrpnRs7OVOpFkcsfnajmr+wAsCQLnkYQJfwNR3fHsONU5aDWHP3rNJJNcXmMVi8uoah5xCdI5g8rI/FzqqEJQirzP2keaEbHGpARgtCV7CMM0Oqcf3pD3cMTRwvATR7ELRAca/RC26TIoPnt432GnRqut51hSw2pkT8peUqSQ5ErXn35GACqvlqp/w4vkM6kmfJDhZluh2TtLWLfQTWeSC311ykJn1glNoP7yAaNiArROC0M34bwEry6LLWqejZrWRixAch93CuUNJl+H1pRg4iZ8hAVRzywNRNtfbbByKIMKU1TlV/hjji3TNuwMHZ3ehhMPuCObSn7Fno8VkPuCMqol4zvv+4uTha4WqYLFMc7Jps0pdqq0X2GRhLVBVL2SKDEkSR2omyjfm0MUhWB0II+atVxMw9dvlgz03xJJE7T/6ZN/BYWV10avYZiR09Ci0N50pYrdfCPseaM9J6eOvDVEym8uolorgFLk1ioAaRYxyNIwE7rZSGygCngZbl+BlvR+bpsRlFxl8Vp/OsRjsPeXUgB15tYPcAAQIAXjSLkhmu189mm8hSkZSC5es+dLJjeA39iDB+qyB3RX8riP6N53IKaI6f+wd2S4k7Efbvu8wz2/Vw+jXjhyDyLlJdFoRbmUM4r+qmSZMXwYMm5nA4mlyFFIPnVuFNljlor+MyWb/bDUl/vee+VmTkdP+Z5zIzaUNtg//4qPwM5Km7fzmw2OTy6O9eSasmxfVrtHlknNhWOxR8o/3iHwGD/3j5xnjox+5i6yXhLBK2QnO3GWt5ik2hfUd0dxPGaoMucUIgq6aIYaUDoeObPDITjdAMK8RjaIO95q8xuWJpgu9lRvKKv8/HPCuLZnbPo1vu29kl6WecDdxYqRNt7yyAeJOrECBQJECUgzDnU7TKaToYJEqs1flEYe45o7LCsOixo8lrllFmYTQpcIPjtLwHga/9J8/A0gW2jNQXwtMZeSkQAq15FF8XjZOWtX78G8m0l1HonPkngvwBdo4HN7Igc6FRxpyd5J0dKXHVPyOPSHJse4Kfc7noQvlgI6g8exXKCWHpVUNk/fFEW1M2vmebOJpsLmVJOS8cMLxG5oDf7mwxYFtbZh6mqZnhua5c/nsq4U+ab/8KzCGb0ljE9kexhnHoIeogDlCmNTFo+5PTXwgcn0x/3p+w0vTzDnLK59UP0rG7HXxpYFq6mk1LY8EfZzTCoPKhIQFAitfa++1d0Io0AZVmzNGwXvOW7Poy9IohTjhj5G6Vek8OK55tFEad5NEzupZYTWWkfP0/KB96cwn+7+ncD1/zT0vzTeXFrZxwO9bTLNtKRGgLl9mWj9PhJgx5tctyW5dMMoiX3tQxiA2OQDDYfPhZ0q6ypqyP9TQbL+ZqXAYn/rXOwvJj6wukZ0YTwiUukSoA3Ze/QPsIhCNnjD+SGUrpjVgSotz3cF/Arm5+16Y0Jy5R3mZlnhXd6hCcX33dCse5h/y/04sL2bvPfeazGz4Ur//0/4CKa/Wk9Pclve+KQcIUdrn4WnfzOk21WDDeQQtKsX6XG7ORVyPSKYjM0gJb2Llg6DeEu7LFjezUq8dDnOMRGXjFvU+mVJm17m4/KmCISPDbiGb9YDZN7yMOfTagViY4zfjjUQjpb/dSD8bmdE4UjxQbQNiHBpEqJBc9DR0f5qjGHM20NmZfzrhT0H7Oi2OaEaKG5SlI6Bye2WjJTv68B1FjfA4+pN9+2R4Uyep+tS/F/hMnNVHPgl4Sz+St8ftDGkhWqUacif+bY9LkoshZLkKKNiyPVQBqkHAhP+N4gNvJRSZT5TC5VE1RkpkjeP0l4zt/dqoqknA42SNFDfeQPh9kgVgGkM72YPPKnwQDdoWJurTVoScwi69shZ2h0okp8n7NBPoMKUMv013PlgXXlNEGGDun0h243GvxYGdteNgOpvwizmc+yY2Dk2bdXSGURwDnzr2h867EYTrJxFW8Yba+kR7hm2/ZLAbJEYSHkfRWzA4z+gSBeR8gUHb7+ipiiSKqiKlS3fTrqCM83t/IBWZ6r0d6A6SDIIBBjpz3hstBdreNr+i+O5k6LYMvdAUIt0i/duGrehwEEnANzwivxYT6wMHNoI/4kniGW3zKlfKlfywW4G1UsJQUiZ8+Umrt1ErmYKbkgvEizme6QhWL71+kU+j/7IigTyX4vUCFGQlDVqWMNBSMprYb/oXHpGACt7CSkcjhFPcL7M2c2Px0HsAHpjkmpZs4PFARa5JmET6ZAC5Hqhn1+EGJw4U1a6XTZ9Vi32FKb+bm5D84J+43muX7bPfiEmE6bnDoEY+YIuOnG5aVVvoHb6E6ugdkgK5983ifnDAJPh/v3ev7KWDWRiE8xXm8WLPqpdQvdiDNJFeja5JFhcJ2qiWnPyZQAg2IUqBzkeVGnlWxXr9lLG8fHdimui2ajVpe1AK3/cg/t+xvYvlblxUwVpDgcYxft9oljCjlgybkLZZ5/ANgnDTZPvtr2t7v+j8blw6lGl3Cwu8icxRRvHcVXUYgfwyecO3lXfpSf0HTu6+jOUDqM578phPJi7rMW1+Vm39g7wfgFI6pW+uzhA0ZG5axt+Yp/ybm8G3B4H35+GdZ+9yfRr1BEzBPdu1VN1AlRsiVLK5uLR6gaAUwZj/XjvNL7fLfg6eALDQVyKCu+iDEhBTVEgUySpM7bIVLTDS57BiTCVU3a+U+e4/vrVCvPeLk1GJfUaNf42l4aetgS9BRMTcv8y85vuXzgiVsOlNCVF5aVpzT0agVpZPRhdzhhSVCwSDaW7RnIkJF7AkIwbRWeFmPBTORX154WC6dfxWXOC/5wGm5PhsaLDE9GKvzAufw9CSpJtjNiGSGibkhwfVH1+zFOR1jK37FVwdOrG6VHHvBKYGFM2R1YvmruC9AWahXPhML1NL+J3Y/wMQlpvpVTO0ZMjusO3lIbJG7bj1pEAeGL9LlqU5zcQOyaddPibVDSqQPat+8xh7rW2MdX3UoNiv7pgdd0x7awlGO85wErStg55iPDdZfJ83zpOKK72hE4QjzPcIOWJyRJtnOeLRhJk705hlMn6WNH5KOtaEHcNKTLzZ62nRa0Pwg+lKm/8bclXdo80OkzTod8qrLGH4JXrwkBp2btO9v3QFkZAe/MrVMAqqtaJaMkXcQxzi9cly+LZ36rNnPZ8vIZ1ibmqPM4fQ3k0WADpiy1CJDLXCqwA3N3GHqetStnpNX8JyphQLSqbBOdkpVQ4QhGYPrXiY7CJ+pi8x31eyJW5MUKbgJ1uolNs7x5YzAEV/XFXjaiECus1q3+BOLEVmmMy/JOaIrtDDP0ffU25LysT9+fUWkoE9Uo/UHcsh3ltPmeDPjSgJQHtsqhZIcPrMMQVELUPn0yPPBq85W/EbI3Seu8nQCiIA4v1fFPGbzRf/Q2K04TZ3D0nDsFGp63YQh4vkaDT4sKsQuT02GaMqRTfAS6J9LPXScl3zIbd15DmaO1cSmMjXCAvWIW9YW/5nP+DNEcoVJ57iC2Dz0ANLxIkXpTyeYBNr2Y0u64CjI3wqQmx7gKCb8ck7mLa2Uf6szUq7syYEUJhfx4Uv/g5IrQYGPsxbZwzU6udDnBwpqmCbULcd3f+Y+cqTedGQr7vzYT+al6eO6aKNisjCK4EJYESQ6N87EDN00RSfqBoTTgtFRe1CcDt7ratJQ7S6Tr/l249QEdm5SYSRhxYaIQ13jWQrpoPR85xLvObuVr929hRV0supq5FRXJ6bjQbM/44zZoxY4u9J96YGkv13lBC+g5EyGytV8cpSIUSteC7o1LX28tKPYLfrw2ZpCtHURTYYeYU3ugU264DqJNdK4ayNMV54NSxsBRhDqDX7DwiOyxw0S4+0otFinCiSMfKf6u07goAnzbESu8xtgtfJdZtBI74EmQ2X3jT8XXT3IUvdUelXlP3BEPXhb3LiGZGxvqT4JsHI+qPNUd//YCvXBvBVW5TWmgdWpqo9phk/zT6gr1gWQNPFId3E5GFVcdfxyXrlCohFsdoinuzQsiGcHWCH2tBYxDId279cwRSc/at8OiQkf7bKxx7iniTSgx4lzfgALY75DwgIpE3j83ifTm18twzSeuCXiV57eT2B2rykUT+2nCJgTjNRMYiDf2xNPJIizHq86VX1u/cnn69lp6+cbb7go57itT80UsJa1wf36MQvxRv2XqMS+HvcqSbdLmqybFfd07UhsEzQmITVfUpyqfU4jXcABFSz4S1RQXsJKnIt5Ai+hQeJ2eiZ+z/uaLIyjlgdZWsG94IRKjEgM48glkp5Nl4Nl+IMnNkeAZlj8xa8+HWaFka07Y+MrOBp8/qBQJPngIMBRUnf5oR1GC+vwjCUwEBnLFUAx932ssurHMb4mx97ElEhDYM6A+Ox557LFbvVctaXwm5LQg+dmz1A4VW3V6pGfZo45xl/IcUa//HlIEkuc7ja/0v17fgkg9/qmaFKDO68ljmi9nvV7Zujwwp50D2cX0oJuug6C86G5cESZfjOVwG/tRXkhSvWQp+8vbEdFqM50Efz0tAL73vzuhBbMOpiGdm/zBPKuyjbxrh7xbBo1PtNKqdVjznMbRewpqamgpdf6LiiwzIq/FpZojWpWhjjLQ1uglcMYCAviRx3CCS8AZMWe0eToIBxe6Ki4WD8qhxzvb5MZnHplV5O2r+We7VcBjq46Pk2yqmsod34QIm9RyFYLbnoKg5v4qwQCUSi0S7hmcI+75w99uSW5sv9cG7J1hYeIDsXTbz8PYBBpaug8cjm8BBz5krPX8/nBK+qjXEITlXCgu5qwaMWt+lyL8XuI9GzM2HqHZO6BkMxdMzyH8EUAJ9zcY1jzOUsrlJ7jy/FgQngk0FcF7WRJ3FIfdiQg8oKTMf5ADp36lywy7Ht2RXdIoWHcDqdbv5YKFk/eLSLlV1WMRM1PF2pzlLc6rb7HvslEMKX16VERbOSw748KzvvgUdtOi4WiucejD2XcDyS8xIa0ZF04Rjigcv76vZz4SbHZz2UfhN/LZ0sRFUmRrOKMHJ8ucdNEaRiFSzfItdsrT65kXXEUo5GoEs34HSpOPvRnHpLxyyzUaHLYQ1dkLdZE4xupYEqdq0o75CotGZ5skx6675GoAwINUFEIsrtGWXu12kh5nsvljvSDT7x+fxreKmKVcj4Y05jjF/8dO+3/u/zC6jPUfrCOY2IAhsjRpL1oe2YfAmo8bhwzZj1+higaehJdXCPMFjFcu/QFoeuo/AqNWWaBpMoIwojnAa0ngmoxRWjgrOiOj9pF/2x/1MvbwxO+wegmKYebVUcLwoMz8AMNKR+czrl0RfBDX8FtvnuAyMKWtmCvNx00jP1uaTPyATscbnGk3tmowdsjKl7ApPgSbnf//WyYIbxwsaS3lzO/+0O2EmRH0xW0Li6NC4gJIrzcfICWhCpuryUeQS9GxXwf/Xuie+TM4ucSKOgJ5jf+R7rs0E2sI85tCZTs2PByR3Hq8AjrA/mC16OlR+CB4dlSdt4KGeBm99P6bG+J7KRFiiSWNkO5dmQZZ5nVItp1euR68ENHGQi0r8xorb+/wZsz13jyEWenm48hTxuP7ow4RrCXFOwYnLuymvqbzZI/X02Z1x6RKpMgHBmaJcpOyunIVH7wJImOavVkTF3vV2PwRZiA0gOV4ACPhj5HLLUc4c62AVxfDTfrm6Y+HAKVNIHU1/CCOyflRtMC2iHSdcTTfx3FuhUSacMzXQHmIX9O0+Szmg8pyv1lAA==", "base64")).toString(); return hook$1; }; function generateLoader(shebang, loader) { return [ shebang ? `${shebang} ` : ``, `/* eslint-disable */ `, `// @ts-nocheck `, `"use strict"; `, ` `, loader, ` `, hook_1() ].join(``); } function generateJsonString(data) { return JSON.stringify(data, null, 2); } function generateStringLiteral(value) { return `'${value.replace(/\\/g, `\\\\`).replace(/'/g, `\\'`).replace(/\n/g, `\\ `)}'`; } function generateInlinedSetup(data) { return [ `const RAW_RUNTIME_STATE = `, `${generateStringLiteral(generatePrettyJson(data))}; `, `function $$SETUP_STATE(hydrateRuntimeState, basePath) { `, ` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); `, `} ` ].join(``); } function generateSplitSetup() { return [ `function $$SETUP_STATE(hydrateRuntimeState, basePath) { `, ` const fs = require('fs'); `, ` const path = require('path'); `, ` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(Filename.pnpData)}); `, ` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname}); `, `} ` ].join(``); } function generateInlinedScript(settings) { const data = generateSerializedState(settings); const setup = generateInlinedSetup(data); const loaderFile = generateLoader(settings.shebang, setup); return loaderFile; } function generateSplitScript(settings) { const data = generateSerializedState(settings); const setup = generateSplitSetup(); const loaderFile = generateLoader(settings.shebang, setup); return { dataFile: generateJsonString(data), loaderFile }; } function hydrateRuntimeState(data, { basePath }) { const portablePath = npath.toPortablePath(basePath); const absolutePortablePath = ppath.resolve(portablePath); const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; const packageLocatorsByLocations = /* @__PURE__ */ new Map(); const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { if (packageName === null !== (packageReference === null)) throw new Error(`Assertion failed: The name and reference should be null, or neither should`); const discardFromLookup = packageInformationData.discardFromLookup ?? false; const packageLocator = { name: packageName, reference: packageReference }; const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation); if (!entry) { packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup }); } else { entry.discardFromLookup = entry.discardFromLookup && discardFromLookup; if (!discardFromLookup) { entry.locator = packageLocator; } } let resolvedPackageLocation = null; return [packageReference, { packageDependencies: new Map(packageInformationData.packageDependencies), packagePeers: new Set(packageInformationData.packagePeers), linkType: packageInformationData.linkType, discardFromLookup, // we only need this for packages that are used by the currently running script // this is a lazy getter because `ppath.join` has some overhead get packageLocation() { return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation)); } }]; }))]; })); const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { return [packageName, new Set(packageReferences)]; })); const fallbackPool = new Map(data.fallbackPool); const dependencyTreeRoots = data.dependencyTreeRoots; const enableTopLevelFallback = data.enableTopLevelFallback; return { basePath: portablePath, dependencyTreeRoots, enableTopLevelFallback, fallbackExclusionList, fallbackPool, ignorePattern, packageLocatorsByLocations, packageRegistry }; } var ArrayIsArray = Array.isArray; var JSONStringify = JSON.stringify; var ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; var ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); var RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); var RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); var StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); var StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); var StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); var StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); var StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); var StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); var StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); var SafeMap = Map; var JSONParse = JSON.parse; function createErrorType(code, messageCreator, errorType) { return class extends errorType { constructor(...args) { super(messageCreator(...args)); this.code = code; this.name = `${errorType.name} [${code}]`; } }; } var ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( `ERR_PACKAGE_IMPORT_NOT_DEFINED`, (specifier, packagePath, base) => { return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; }, TypeError ); var ERR_INVALID_MODULE_SPECIFIER = createErrorType( `ERR_INVALID_MODULE_SPECIFIER`, (request, reason, base = void 0) => { return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; }, TypeError ); var ERR_INVALID_PACKAGE_TARGET = createErrorType( `ERR_INVALID_PACKAGE_TARGET`, (pkgPath, key, target, isImport = false, base = void 0) => { const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); if (key === `.`) { assert__default.default(isImport === false); return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; } return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( target )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; }, Error ); var ERR_INVALID_PACKAGE_CONFIG = createErrorType( `ERR_INVALID_PACKAGE_CONFIG`, (path3, base, message) => { return `Invalid package config ${path3}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; }, Error ); var ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType( "ERR_PACKAGE_PATH_NOT_EXPORTED", (pkgPath, subpath, base = void 0) => { if (subpath === ".") return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; }, Error ); function filterOwnProperties(source, keys) { const filtered = /* @__PURE__ */ Object.create(null); for (let i = 0; i < keys.length; i++) { const key = keys[i]; if (ObjectPrototypeHasOwnProperty(source, key)) { filtered[key] = source[key]; } } return filtered; } var packageJSONCache = new SafeMap(); function getPackageConfig(path3, specifier, base, readFileSyncFn) { const existing = packageJSONCache.get(path3); if (existing !== void 0) { return existing; } const source = readFileSyncFn(path3); if (source === void 0) { const packageConfig2 = { pjsonPath: path3, exists: false, main: void 0, name: void 0, type: "none", exports: void 0, imports: void 0 }; packageJSONCache.set(path3, packageConfig2); return packageConfig2; } let packageJSON; try { packageJSON = JSONParse(source); } catch (error) { throw new ERR_INVALID_PACKAGE_CONFIG( path3, (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), error.message ); } let { imports, main, name, type } = filterOwnProperties(packageJSON, [ "imports", "main", "name", "type" ]); const exports3 = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; if (typeof imports !== "object" || imports === null) { imports = void 0; } if (typeof main !== "string") { main = void 0; } if (typeof name !== "string") { name = void 0; } if (type !== "module" && type !== "commonjs") { type = "none"; } const packageConfig = { pjsonPath: path3, exists: true, main, name, type, exports: exports3, imports }; packageJSONCache.set(path3, packageConfig); return packageConfig; } function getPackageScopeConfig(resolved, readFileSyncFn) { let packageJSONUrl = new URL("./package.json", resolved); while (true) { const packageJSONPath2 = packageJSONUrl.pathname; if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { break; } const packageConfig2 = getPackageConfig( url.fileURLToPath(packageJSONUrl), resolved, void 0, readFileSyncFn ); if (packageConfig2.exists) { return packageConfig2; } const lastPackageJSONUrl = packageJSONUrl; packageJSONUrl = new URL("../package.json", packageJSONUrl); if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { break; } } const packageJSONPath = url.fileURLToPath(packageJSONUrl); const packageConfig = { pjsonPath: packageJSONPath, exists: false, main: void 0, name: void 0, type: "none", exports: void 0, imports: void 0 }; packageJSONCache.set(packageJSONPath, packageConfig); return packageConfig; } function throwImportNotDefined(specifier, packageJSONUrl, base) { throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( specifier, packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), url.fileURLToPath(base) ); } function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; throw new ERR_INVALID_MODULE_SPECIFIER( subpath, reason, base && url.fileURLToPath(base) ); } function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { if (typeof target === "object" && target !== null) { target = JSONStringify(target, null, ""); } else { target = `${target}`; } throw new ERR_INVALID_PACKAGE_TARGET( url.fileURLToPath(new URL(".", packageJSONUrl)), subpath, target, internal, base && url.fileURLToPath(base) ); } var invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; var patternRegEx = /\*/g; function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { if (subpath !== "" && !pattern && target[target.length - 1] !== "/") throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); if (!StringPrototypeStartsWith(target, "./")) { if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { let isURL = false; try { new URL(target); isURL = true; } catch { } if (!isURL) { const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; return exportTarget; } } throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); } if (RegExpPrototypeExec( invalidSegmentRegEx, StringPrototypeSlice(target, 2) ) !== null) throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); const resolved = new URL(target, packageJSONUrl); const resolvedPath = resolved.pathname; const packagePath = new URL(".", packageJSONUrl).pathname; if (!StringPrototypeStartsWith(resolvedPath, packagePath)) throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); if (subpath === "") return resolved; if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; throwInvalidSubpath(request, packageJSONUrl, internal, base); } if (pattern) { return new URL( RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) ); } return new URL(subpath, resolved); } function isArrayIndex(key) { const keyNum = +key; if (`${keyNum}` !== key) return false; return keyNum >= 0 && keyNum < 4294967295; } function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { if (typeof target === "string") { return resolvePackageTargetString( target, subpath, packageSubpath, packageJSONUrl, base, pattern, internal ); } else if (ArrayIsArray(target)) { if (target.length === 0) { return null; } let lastException; for (let i = 0; i < target.length; i++) { const targetItem = target[i]; let resolveResult; try { resolveResult = resolvePackageTarget( packageJSONUrl, targetItem, subpath, packageSubpath, base, pattern, internal, conditions ); } catch (e) { lastException = e; if (e.code === "ERR_INVALID_PACKAGE_TARGET") { continue; } throw e; } if (resolveResult === void 0) { continue; } if (resolveResult === null) { lastException = null; continue; } return resolveResult; } if (lastException === void 0 || lastException === null) return lastException; throw lastException; } else if (typeof target === "object" && target !== null) { const keys = ObjectGetOwnPropertyNames(target); for (let i = 0; i < keys.length; i++) { const key = keys[i]; if (isArrayIndex(key)) { throw new ERR_INVALID_PACKAGE_CONFIG( url.fileURLToPath(packageJSONUrl), base, '"exports" cannot contain numeric property keys.' ); } } for (let i = 0; i < keys.length; i++) { const key = keys[i]; if (key === "default" || conditions.has(key)) { const conditionalTarget = target[key]; const resolveResult = resolvePackageTarget( packageJSONUrl, conditionalTarget, subpath, packageSubpath, base, pattern, internal, conditions ); if (resolveResult === void 0) continue; return resolveResult; } } return void 0; } else if (target === null) { return null; } throwInvalidPackageTarget( packageSubpath, target, packageJSONUrl, internal, base ); } function patternKeyCompare(a, b) { const aPatternIndex = StringPrototypeIndexOf(a, "*"); const bPatternIndex = StringPrototypeIndexOf(b, "*"); const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; if (baseLenA > baseLenB) return -1; if (baseLenB > baseLenA) return 1; if (aPatternIndex === -1) return 1; if (bPatternIndex === -1) return -1; if (a.length > b.length) return -1; if (b.length > a.length) return 1; return 0; } function isConditionalExportsMainSugar(exports3, packageJSONUrl, base) { if (typeof exports3 === "string" || ArrayIsArray(exports3)) return true; if (typeof exports3 !== "object" || exports3 === null) return false; const keys = ObjectGetOwnPropertyNames(exports3); let isConditionalSugar = false; let i = 0; for (let j = 0; j < keys.length; j++) { const key = keys[j]; const curIsConditionalSugar = key === "" || key[0] !== "."; if (i++ === 0) { isConditionalSugar = curIsConditionalSugar; } else if (isConditionalSugar !== curIsConditionalSugar) { throw new ERR_INVALID_PACKAGE_CONFIG( url.fileURLToPath(packageJSONUrl), base, `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` ); } } return isConditionalSugar; } function throwExportsNotFound(subpath, packageJSONUrl, base) { throw new ERR_PACKAGE_PATH_NOT_EXPORTED( url.fileURLToPath(new URL(".", packageJSONUrl)), subpath, base && url.fileURLToPath(base) ); } var emittedPackageWarnings = /* @__PURE__ */ new Set(); function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { const pjsonPath = url.fileURLToPath(pjsonUrl); if (emittedPackageWarnings.has(pjsonPath + "|" + match)) return; emittedPackageWarnings.add(pjsonPath + "|" + match); process.emitWarning( `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, "DeprecationWarning", "DEP0155" ); } function packageExportsResolve({ packageJSONUrl, packageSubpath, exports: exports3, base, conditions }) { if (isConditionalExportsMainSugar(exports3, packageJSONUrl, base)) exports3 = { ".": exports3 }; if (ObjectPrototypeHasOwnProperty(exports3, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { const target = exports3[packageSubpath]; const resolveResult = resolvePackageTarget( packageJSONUrl, target, "", packageSubpath, base, false, false, conditions ); if (resolveResult == null) { throwExportsNotFound(packageSubpath, packageJSONUrl, base); } return resolveResult; } let bestMatch = ""; let bestMatchSubpath; const keys = ObjectGetOwnPropertyNames(exports3); for (let i = 0; i < keys.length; i++) { const key = keys[i]; const patternIndex = StringPrototypeIndexOf(key, "*"); if (patternIndex !== -1 && StringPrototypeStartsWith( packageSubpath, StringPrototypeSlice(key, 0, patternIndex) )) { if (StringPrototypeEndsWith(packageSubpath, "/")) emitTrailingSlashPatternDeprecation( packageSubpath, packageJSONUrl, base ); const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { bestMatch = key; bestMatchSubpath = StringPrototypeSlice( packageSubpath, patternIndex, packageSubpath.length - patternTrailer.length ); } } } if (bestMatch) { const target = exports3[bestMatch]; const resolveResult = resolvePackageTarget( packageJSONUrl, target, bestMatchSubpath, bestMatch, base, true, false, conditions ); if (resolveResult == null) { throwExportsNotFound(packageSubpath, packageJSONUrl, base); } return resolveResult; } throwExportsNotFound(packageSubpath, packageJSONUrl, base); } function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { const reason = "is not a valid internal imports specifier name"; throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); } let packageJSONUrl; const packageConfig = getPackageScopeConfig(base, readFileSyncFn); if (packageConfig.exists) { packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); const imports = packageConfig.imports; if (imports) { if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { const resolveResult = resolvePackageTarget( packageJSONUrl, imports[name], "", name, base, false, true, conditions ); if (resolveResult != null) { return resolveResult; } } else { let bestMatch = ""; let bestMatchSubpath; const keys = ObjectGetOwnPropertyNames(imports); for (let i = 0; i < keys.length; i++) { const key = keys[i]; const patternIndex = StringPrototypeIndexOf(key, "*"); if (patternIndex !== -1 && StringPrototypeStartsWith( name, StringPrototypeSlice(key, 0, patternIndex) )) { const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { bestMatch = key; bestMatchSubpath = StringPrototypeSlice( name, patternIndex, name.length - patternTrailer.length ); } } } if (bestMatch) { const target = imports[bestMatch]; const resolveResult = resolvePackageTarget( packageJSONUrl, target, bestMatchSubpath, bestMatch, base, true, true, conditions ); if (resolveResult != null) { return resolveResult; } } } } } throwImportNotDefined(name, packageJSONUrl, base); } var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { ErrorCode2["API_ERROR"] = `API_ERROR`; ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; ErrorCode2["INTERNAL"] = `INTERNAL`; ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; return ErrorCode2; })(ErrorCode || {}); var MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ "BUILTIN_NODE_RESOLUTION_FAILED", "MISSING_DEPENDENCY", "MISSING_PEER_DEPENDENCY", "QUALIFIED_PATH_RESOLUTION_FAILED", "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ ]); function makeError(pnpCode, message, data = {}, code) { code ??= MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; const propertySpec = { configurable: true, writable: true, enumerable: false }; return Object.defineProperties(new Error(message), { code: { ...propertySpec, value: code }, pnpCode: { ...propertySpec, value: pnpCode }, data: { ...propertySpec, value: data } }); } function getPathForDisplay(p) { return npath.normalize(npath.fromPortablePath(p)); } var flagSymbol = Symbol("arg flag"); var ArgError = class _ArgError extends Error { constructor(msg, code) { super(msg); this.name = "ArgError"; this.code = code; Object.setPrototypeOf(this, _ArgError.prototype); } }; function arg(opts, { argv: argv2 = process.argv.slice(2), permissive = false, stopAtPositional = false } = {}) { if (!opts) { throw new ArgError( "argument specification object is required", "ARG_CONFIG_NO_SPEC" ); } const result2 = { _: [] }; const aliases = {}; const handlers = {}; for (const key of Object.keys(opts)) { if (!key) { throw new ArgError( "argument key cannot be an empty string", "ARG_CONFIG_EMPTY_KEY" ); } if (key[0] !== "-") { throw new ArgError( `argument key must start with '-' but found: '${key}'`, "ARG_CONFIG_NONOPT_KEY" ); } if (key.length === 1) { throw new ArgError( `argument key must have a name; singular '-' keys are not allowed: ${key}`, "ARG_CONFIG_NONAME_KEY" ); } if (typeof opts[key] === "string") { aliases[key] = opts[key]; continue; } let type = opts[key]; let isFlag = false; if (Array.isArray(type) && type.length === 1 && typeof type[0] === "function") { const [fn] = type; type = (value, name, prev = []) => { prev.push(fn(value, name, prev[prev.length - 1])); return prev; }; isFlag = fn === Boolean || fn[flagSymbol] === true; } else if (typeof type === "function") { isFlag = type === Boolean || type[flagSymbol] === true; } else { throw new ArgError( `type missing or not a function or valid array type: ${key}`, "ARG_CONFIG_VAD_TYPE" ); } if (key[1] !== "-" && key.length > 2) { throw new ArgError( `short argument keys (with a single hyphen) must have only one character: ${key}`, "ARG_CONFIG_SHORTOPT_TOOLONG" ); } handlers[key] = [type, isFlag]; } for (let i = 0, len = argv2.length; i < len; i++) { const wholeArg = argv2[i]; if (stopAtPositional && result2._.length > 0) { result2._ = result2._.concat(argv2.slice(i)); break; } if (wholeArg === "--") { result2._ = result2._.concat(argv2.slice(i + 1)); break; } if (wholeArg.length > 1 && wholeArg[0] === "-") { const separatedArguments = wholeArg[1] === "-" || wholeArg.length === 2 ? [wholeArg] : wholeArg.slice(1).split("").map((a) => `-${a}`); for (let j = 0; j < separatedArguments.length; j++) { const arg2 = separatedArguments[j]; const [originalArgName, argStr] = arg2[1] === "-" ? arg2.split(/=(.*)/, 2) : [arg2, void 0]; let argName = originalArgName; while (argName in aliases) { argName = aliases[argName]; } if (!(argName in handlers)) { if (permissive) { result2._.push(arg2); continue; } else { throw new ArgError( `unknown or unexpected option: ${originalArgName}`, "ARG_UNKNOWN_OPTION" ); } } const [type, isFlag] = handlers[argName]; if (!isFlag && j + 1 < separatedArguments.length) { throw new ArgError( `option requires argument (but was followed by another short argument): ${originalArgName}`, "ARG_MISSING_REQUIRED_SHORTARG" ); } if (isFlag) { result2[argName] = type(true, argName, result2[argName]); } else if (argStr === void 0) { if (argv2.length < i + 2 || argv2[i + 1].length > 1 && argv2[i + 1][0] === "-" && !(argv2[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && (type === Number || // eslint-disable-next-line no-undef typeof BigInt !== "undefined" && type === BigInt))) { const extended = originalArgName === argName ? "" : ` (alias for ${argName})`; throw new ArgError( `option requires argument: ${originalArgName}${extended}`, "ARG_MISSING_REQUIRED_LONGARG" ); } result2[argName] = type(argv2[i + 1], argName, result2[argName]); ++i; } else { result2[argName] = type(argStr, argName, result2[argName]); } } } else { result2._.push(wholeArg); } } return result2; } arg.flag = (fn) => { fn[flagSymbol] = true; return fn; }; arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); arg.ArgError = ArgError; var arg_1 = arg; function getOptionValue(opt) { parseOptions(); return options[opt]; } var options; function parseOptions() { if (!options) { options = { "--conditions": [], ...parseArgv(getNodeOptionsEnvArgv()), ...parseArgv(process.execArgv) }; } } function parseArgv(argv2) { return arg_1( { "--conditions": [String], "-C": "--conditions" }, { argv: argv2, permissive: true } ); } function getNodeOptionsEnvArgv() { const errors = []; const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); if (errors.length !== 0) ; return envArgv; } function ParseNodeOptionsEnvVar(node_options, errors) { const env_argv = []; let is_in_string = false; let will_start_new_arg = true; for (let index = 0; index < node_options.length; ++index) { let c = node_options[index]; if (c === "\\" && is_in_string) { if (index + 1 === node_options.length) { errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); return env_argv; } else { c = node_options[++index]; } } else if (c === " " && !is_in_string) { will_start_new_arg = true; continue; } else if (c === '"') { is_in_string = !is_in_string; continue; } if (will_start_new_arg) { env_argv.push(c); will_start_new_arg = false; } else { env_argv[env_argv.length - 1] += c; } } if (is_in_string) { errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); } return env_argv; } var [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); var WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; function reportRequiredFilesToWatchMode(files) { if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename)))); if (WATCH_MODE_MESSAGE_USES_ARRAYS) { process.send({ "watch:require": files }); } else { for (const filename of files) { process.send({ "watch:require": filename }); } } } } function makeApi(runtimeState, opts) { const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; const isDirRegExp = /\/$/; const isRelativeRegexp = /^\.{0,2}\//; const topLevelLocator = { name: null, reference: null }; const fallbackLocators = []; const emittedWarnings = /* @__PURE__ */ new Set(); if (runtimeState.enableTopLevelFallback === true) fallbackLocators.push(topLevelLocator); if (opts.compatibilityMode !== false) { for (const name of [`react-scripts`, `gatsby`]) { const packageStore = runtimeState.packageRegistry.get(name); if (packageStore) { for (const reference of packageStore.keys()) { if (reference === null) { throw new Error(`Assertion failed: This reference shouldn't be null`); } else { fallbackLocators.push({ name, reference }); } } } } } const { ignorePattern, packageRegistry, packageLocatorsByLocations } = runtimeState; function makeLogEntry(name, args) { return { fn: name, args, error: null, result: null }; } function trace(entry) { const colors = process.stderr?.hasColors?.() ?? process.stdout.isTTY; const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; const error = entry.error; if (error) console.error(c(`31;1`, `\u2716 ${entry.error?.message.replace(/\n.*/s, ``)}`)); else console.error(c(`33;1`, `\u203C Resolution`)); if (entry.args.length > 0) console.error(); for (const arg2 of entry.args) console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg2, { colors, compact: true })}`); if (entry.result) { console.error(); console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); } const stack = new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2) ?? []; if (stack.length > 0) { console.error(); for (const line of stack) { console.error(` ${c(`38;5;244`, line)}`); } } console.error(); } function maybeLog(name, fn) { if (opts.allowDebug === false) return fn; if (Number.isFinite(debugLevel)) { if (debugLevel >= 2) { return (...args) => { const logEntry = makeLogEntry(name, args); try { return logEntry.result = fn(...args); } catch (error) { throw logEntry.error = error; } finally { trace(logEntry); } }; } else if (debugLevel >= 1) { return (...args) => { try { return fn(...args); } catch (error) { const logEntry = makeLogEntry(name, args); logEntry.error = error; trace(logEntry); throw error; } }; } } return fn; } function getPackageInformationSafe(packageLocator) { const packageInformation = getPackageInformation(packageLocator); if (!packageInformation) { throw makeError( ErrorCode.INTERNAL, `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)` ); } return packageInformation; } function isDependencyTreeRoot(packageLocator) { if (packageLocator.name === null) return true; for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) return true; return false; } const defaultExportsConditions = /* @__PURE__ */ new Set([ `node`, `require`, ...getOptionValue(`--conditions`) ]); function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) { const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { resolveIgnored: true, includeDiscardFromLookup: true }); if (locator === null) { throw makeError( ErrorCode.INTERNAL, `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)` ); } const { packageLocation } = getPackageInformationSafe(locator); const manifestPath = ppath.join(packageLocation, Filename.manifest); if (!opts.fakeFs.existsSync(manifestPath)) return null; const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`)); if (pkgJson.exports == null) return null; let subpath = ppath.contains(packageLocation, unqualifiedPath); if (subpath === null) { throw makeError( ErrorCode.INTERNAL, `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` ); } if (subpath !== `.` && !isRelativeRegexp.test(subpath)) subpath = `./${subpath}`; try { const resolvedExport = packageExportsResolve({ packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)), packageSubpath: subpath, exports: pkgJson.exports, base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null, conditions }); return npath.toPortablePath(url.fileURLToPath(resolvedExport)); } catch (error) { throw makeError( ErrorCode.EXPORTS_RESOLUTION_FAILED, error.message, { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, error.code ); } } function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { let stat; try { candidates.push(unqualifiedPath); stat = opts.fakeFs.statSync(unqualifiedPath); } catch (error) { } if (stat && !stat.isDirectory()) return opts.fakeFs.realpathSync(unqualifiedPath); if (stat && stat.isDirectory()) { let pkgJson; try { pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`)); } catch (error) { } let nextUnqualifiedPath; if (pkgJson && pkgJson.main) nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); if (resolution !== null) { return resolution; } } } for (let i = 0, length = extensions.length; i < length; i++) { const candidateFile = `${unqualifiedPath}${extensions[i]}`; candidates.push(candidateFile); if (opts.fakeFs.existsSync(candidateFile)) { return candidateFile; } } if (stat && stat.isDirectory()) { for (let i = 0, length = extensions.length; i < length; i++) { const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] }); candidates.push(candidateFile); if (opts.fakeFs.existsSync(candidateFile)) { return candidateFile; } } } return null; } function makeFakeModule(path3) { const fakeModule = new module$1.Module(path3, null); fakeModule.filename = path3; fakeModule.paths = module$1.Module._nodeModulePaths(path3); return fakeModule; } function callNativeResolution(request, issuer) { if (issuer.endsWith(`/`)) issuer = ppath.join(issuer, `internal.js`); return module$1.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); } function isPathIgnored(path3) { if (ignorePattern === null) return false; const subPath = ppath.contains(runtimeState.basePath, path3); if (subPath === null) return false; if (ignorePattern.test(subPath.replace(/\/$/, ``))) { return true; } else { return false; } } const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; const topLevel = topLevelLocator; function getPackageInformation({ name, reference }) { const packageInformationStore = packageRegistry.get(name); if (!packageInformationStore) return null; const packageInformation = packageInformationStore.get(reference); if (!packageInformation) return null; return packageInformation; } function findPackageDependents({ name, reference }) { const dependents = []; for (const [dependentName, packageInformationStore] of packageRegistry) { if (dependentName === null) continue; for (const [dependentReference, packageInformation] of packageInformationStore) { if (dependentReference === null) continue; const dependencyReference = packageInformation.packageDependencies.get(name); if (dependencyReference !== reference) continue; if (dependentName === name && dependentReference === reference) continue; dependents.push({ name: dependentName, reference: dependentReference }); } } return dependents; } function findBrokenPeerDependencies(dependency, initialPackage) { const brokenPackages = /* @__PURE__ */ new Map(); const alreadyVisited = /* @__PURE__ */ new Set(); const traversal = (currentPackage) => { const identifier = JSON.stringify(currentPackage.name); if (alreadyVisited.has(identifier)) return; alreadyVisited.add(identifier); const dependents = findPackageDependents(currentPackage); for (const dependent of dependents) { const dependentInformation = getPackageInformationSafe(dependent); if (dependentInformation.packagePeers.has(dependency)) { traversal(dependent); } else { let brokenSet = brokenPackages.get(dependent.name); if (typeof brokenSet === `undefined`) brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set()); brokenSet.add(dependent.reference); } } }; traversal(initialPackage); const brokenList = []; for (const name of [...brokenPackages.keys()].sort()) for (const reference of [...brokenPackages.get(name)].sort()) brokenList.push({ name, reference }); return brokenList; } function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) { if (isPathIgnored(location) && !resolveIgnored) return null; let relativeLocation = ppath.relative(runtimeState.basePath, location); if (!relativeLocation.match(isStrictRegExp)) relativeLocation = `./${relativeLocation}`; if (!relativeLocation.endsWith(`/`)) relativeLocation = `${relativeLocation}/`; do { const entry = packageLocatorsByLocations.get(relativeLocation); if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) { relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1); continue; } return entry.locator; } while (relativeLocation !== ``); return null; } function tryReadFile(filePath) { try { return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); } catch (err) { if (err.code === `ENOENT`) return void 0; throw err; } } function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { if (request.startsWith(`#`)) throw new Error(`resolveToUnqualified can not handle private import mappings`); if (request === `pnpapi`) return npath.toPortablePath(opts.pnpapiResolution); if (considerBuiltins && module$1.isBuiltin(request)) return null; const requestForDisplay = getPathForDisplay(request); const issuerForDisplay = issuer && getPathForDisplay(issuer); if (issuer && isPathIgnored(issuer)) { if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { const result2 = callNativeResolution(request, issuer); if (result2 === false) { throw makeError( ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) Require request: "${requestForDisplay}" Required by: ${issuerForDisplay} `, { request: requestForDisplay, issuer: issuerForDisplay } ); } return npath.toPortablePath(result2); } } let unqualifiedPath; const dependencyNameMatch = request.match(pathRegExp); if (!dependencyNameMatch) { if (ppath.isAbsolute(request)) { unqualifiedPath = ppath.normalize(request); } else { if (!issuer) { throw makeError( ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { request: requestForDisplay, issuer: issuerForDisplay } ); } const absoluteIssuer = ppath.resolve(issuer); if (issuer.match(isDirRegExp)) { unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request)); } else { unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request)); } } } else { if (!issuer) { throw makeError( ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { request: requestForDisplay, issuer: issuerForDisplay } ); } const [, dependencyName, subPath] = dependencyNameMatch; const issuerLocator = findPackageLocator(issuer); if (!issuerLocator) { const result2 = callNativeResolution(request, issuer); if (result2 === false) { throw makeError( ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). Require path: "${requestForDisplay}" Required by: ${issuerForDisplay} `, { request: requestForDisplay, issuer: issuerForDisplay } ); } return npath.toPortablePath(result2); } const issuerInformation = getPackageInformationSafe(issuerLocator); let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); let fallbackReference = null; if (dependencyReference == null) { if (issuerLocator.name !== null) { const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); if (canUseFallbacks) { for (let t = 0, T = fallbackLocators.length; t < T; ++t) { const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); const reference = fallbackInformation.packageDependencies.get(dependencyName); if (reference == null) continue; if (alwaysWarnOnFallback) fallbackReference = reference; else dependencyReference = reference; break; } if (runtimeState.enableTopLevelFallback) { if (dependencyReference == null && fallbackReference === null) { const reference = runtimeState.fallbackPool.get(dependencyName); if (reference != null) { fallbackReference = reference; } } } } } } let error = null; if (dependencyReference === null) { if (isDependencyTreeRoot(issuerLocator)) { error = makeError( ErrorCode.MISSING_PEER_DEPENDENCY, `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} Required by: ${issuerForDisplay} `, { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } ); } else { const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { error = makeError( ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) ${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} `).join(``)} `, { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } ); } else { error = makeError( ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) ${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} `).join(``)} `, { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } ); } } } else if (dependencyReference === void 0) { if (!considerBuiltins && module$1.isBuiltin(request)) { if (isDependencyTreeRoot(issuerLocator)) { error = makeError( ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} Required by: ${issuerForDisplay} `, { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } ); } else { error = makeError( ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound. Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} Required by: ${issuerForDisplay} `, { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } ); } } else { if (isDependencyTreeRoot(issuerLocator)) { error = makeError( ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} Required by: ${issuerForDisplay} `, { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } ); } else { error = makeError( ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) `, { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } ); } } } if (dependencyReference == null) { if (fallbackReference === null || error === null) throw error || new Error(`Assertion failed: Expected an error to have been set`); dependencyReference = fallbackReference; const message = error.message.replace(/\n.*/g, ``); error.message = message; if (!emittedWarnings.has(message) && debugLevel !== 0) { emittedWarnings.add(message); process.emitWarning(error); } } const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; const dependencyInformation = getPackageInformationSafe(dependencyLocator); if (!dependencyInformation.packageLocation) { throw makeError( ErrorCode.MISSING_DEPENDENCY, `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) `, { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } ); } const dependencyLocation = dependencyInformation.packageLocation; if (subPath) { unqualifiedPath = ppath.join(dependencyLocation, subPath); } else { unqualifiedPath = dependencyLocation; } } return ppath.normalize(unqualifiedPath); } function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) { if (isStrictRegExp.test(request)) return unqualifiedPath; const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer); if (unqualifiedExportPath) { return ppath.normalize(unqualifiedExportPath); } else { return unqualifiedPath; } } function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(module$1.Module._extensions) } = {}) { const candidates = []; const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); if (qualifiedPath) { return ppath.normalize(qualifiedPath); } else { reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate))); const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); const containingPackage = findPackageLocator(unqualifiedPath); if (containingPackage) { const { packageLocation } = getPackageInformationSafe(containingPackage); let exists = true; try { opts.fakeFs.accessSync(packageLocation); } catch (err) { if (err?.code === `ENOENT`) { exists = false; } else { const readableError = (err?.message ?? err ?? `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). Missing package: ${containingPackage.name}@${containingPackage.reference} Expected package location: ${getPathForDisplay(packageLocation)} `, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); } } if (!exists) { const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`; throw makeError( ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `${errorMessage} Missing package: ${containingPackage.name}@${containingPackage.reference} Expected package location: ${getPathForDisplay(packageLocation)} `, { unqualifiedPath: unqualifiedPathForDisplay, extensions } ); } } throw makeError( ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Qualified path resolution failed: we looked for the following paths, but none could be accessed. Source path: ${unqualifiedPathForDisplay} ${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} `).join(``)}`, { unqualifiedPath: unqualifiedPathForDisplay, extensions } ); } } function resolvePrivateRequest(request, issuer, opts2) { if (!issuer) throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); const resolved = packageImportsResolve({ name: request, base: url.pathToFileURL(npath.fromPortablePath(issuer)), conditions: opts2.conditions ?? defaultExportsConditions, readFileSyncFn: tryReadFile }); if (resolved instanceof URL) { return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); } else { if (resolved.startsWith(`#`)) throw new Error(`Mapping from one private import to another isn't allowed`); return resolveRequest(resolved, issuer, opts2); } } function resolveRequest(request, issuer, opts2 = {}) { try { if (request.startsWith(`#`)) return resolvePrivateRequest(request, issuer, opts2); const { considerBuiltins, extensions, conditions } = opts2; const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); if (request === `pnpapi`) return unqualifiedPath; if (unqualifiedPath === null) return null; const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; const remappedPath = (!considerBuiltins || !module$1.isBuiltin(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath; return resolveUnqualified(remappedPath, { extensions }); } catch (error) { if (Object.hasOwn(error, `pnpCode`)) Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); throw error; } } function resolveVirtual(request) { const normalized = ppath.normalize(request); const resolved = VirtualFS.resolveVirtual(normalized); return resolved !== normalized ? resolved : null; } return { VERSIONS, topLevel, getLocator: (name, referencish) => { if (Array.isArray(referencish)) { return { name: referencish[0], reference: referencish[1] }; } else { return { name, reference: referencish }; } }, getDependencyTreeRoots: () => { return [...runtimeState.dependencyTreeRoots]; }, getAllLocators() { const locators = []; for (const [name, entry] of packageRegistry) for (const reference of entry.keys()) if (name !== null && reference !== null) locators.push({ name, reference }); return locators; }, getPackageInformation: (locator) => { const info = getPackageInformation(locator); if (info === null) return null; const packageLocation = npath.fromPortablePath(info.packageLocation); const nativeInfo = { ...info, packageLocation }; return nativeInfo; }, findPackageLocator: (path3) => { return findPackageLocator(npath.toPortablePath(path3)); }, resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => { const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); if (resolution === null) return null; return npath.fromPortablePath(resolution); }), resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); }), resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); if (resolution === null) return null; return npath.fromPortablePath(resolution); }), resolveVirtual: maybeLog(`resolveVirtual`, (path3) => { const result2 = resolveVirtual(npath.toPortablePath(path3)); if (result2 !== null) { return npath.fromPortablePath(result2); } else { return null; } }) }; } async function hydratePnpFile(location, { fakeFs, pnpapiResolution }) { const source = await fakeFs.readFilePromise(location, `utf8`); return hydratePnpSource(source, { basePath: path2.dirname(location), fakeFs, pnpapiResolution }); } function hydratePnpSource(source, { basePath, fakeFs, pnpapiResolution }) { const data = JSON.parse(source); const runtimeState = hydrateRuntimeState(data, { basePath }); return makeApi(runtimeState, { compatibilityMode: true, fakeFs, pnpapiResolution }); } var makeRuntimeApi = (settings, basePath, fakeFs) => { const data = generateSerializedState(settings); const state = hydrateRuntimeState(data, { basePath }); const pnpapiResolution = npath.join(basePath, Filename.pnpCjs); return makeApi(state, { fakeFs, pnpapiResolution }); }; var hook; var builtLoader = () => { if (typeof hook === `undefined`) hook = require$$0__default.default.brotliDecompressSync(Buffer.from("W7YZIYrAeaAIofn/qpGBmjpZVwDLAvMwf4yXtBPC2k244urd2MomTN2aMogfZ4A7OVKdZytVrWdTrWmYxircma0wGjinrwi97kOIB/rfPvf++/N1nmkwua4pdU0vplRnJ8uTq4/IAsPFlgkUtfMXWn1Nm4s4/1OdO8sUK02YQ8V0UUTasGUTR54r1eZDT0Tg+dfNn2bSIN6Zw+V9selvZoGapDZBTNJtWlu8YiP8VAl4vuaHrmqbStPqWMGWi1ET+Wl8hECbrj9M79f7pp+KJEBcE6TKVEriNY6xXKgoIrpP3yOOwfyPgdESROE7cD251tzuvu9hZjDLwpDcErDkGhpVUc7ZLP5BvGEEUjaLZdHaf3p1wpI/ZW6ndipAYFTca6o+3B9iFWHICDGbsHGBmmPDDNvKKnyOtjGr2X7Xv2gIEIo0IUR9fyzr0RFHe+BekvwQ8A7azu4PX6uXTmr3kyZ3UxuE0AeEwE7s3f0LdIJcvAtlstfAn45Em6li+lMmn6NJtkeT0hrM6hZvhjO5NFsx6OvLtoz8vjLzBCE2tq38M2NRMff1r/HFdUdxSA4v2T8UzNbJfx16WEjKmYryX6bLx1Qi4KkviXx2b7rrUxmOfmjBZgdsdLqS9lR7LqgGoSoMNiKLAWDBhm2OenIXqbIOID+RvwRtjzFzXwcoDeaECP86wI+AHGNpQW3WAPb/lwReQ94/ItDUi2V7l5TD4XFWZ8iKTQ12efZjmhTFHWDF9Oc3y70FuMb4wQ/I8qsKeqfE1WVz8edT8MeF67oUi2PlFO03r1CeI4weV1yCaDPmoUYdmMNiRTHsQSNECB+KvgK4BSAsq0qMdK2hYiFg2XXS+o6wEpuP+WXFzRWVisb+bZhUMBx1Uk4qPk7VZ8D1ygB1KwB3KxGYr3qT58d9K84LMe4xPUVz65JDAAYiPHjF/WO1WnW5lxKhpqd4E8oB11Yhn2lsJJ6wgA1OHsJVhMgWr0L6mnDSCoEJ/1xNAVWu0xJ5jcBdoOkC7MBWt4wKYC6pZnU0L0/ZEun63aneuabhhBNM/ElZOVSwFTXhz7urfvcEdzPZNQ/Af/UI5+TJfwTyaXTx5P/jSTu0EjKokid64RDKPrpo0TiT4Dxz/C4cdmdvrVq1qtz/FZbanctieS8eT23qQvPgR6DcPtLjac8FFkDnsbtRv3C+pjh/rES8pqV/UqOax7pPArrJiAxDeArF7/TOfkGNdm1eRHltB0cWa/gCLLQmvzYGAzaC3oiqmm+BmRNUVYDye1Wrf7CoviG9h2bqkfb3co4TkHVQLpWB3sEWM6KCqxl98ZURki9KaP51AxocQP1YrTb71POvLimJLx1O3wgr+jrKYpnOaVh+kQMsaiNKd6vfUs58mCo8VZtF7aA3vcH2sfIfFG3JJY5egsfZCxbWam6tBq2rYQHOzGsbWIRyw4/RMQqrWdK0s9ucgjMyuOQBxG3s3UxOyQlvchbAK4PqV5NA7+s8i/LQewHL9ps1/11SMtq2rzO/k47/CvLVxu/VF14vKnSYvKDIgBp8YQYOrFJnbSfaKiCf2FTBdai76QQTPskJiOSQEKAGct1m9u99O1y37v5Ryvu1HnEnH4Pyn6/CGWd02gi3lBebEnDS0rjEcssB4poRl5wQ9ZteiikUd3kk9ogUkO3Tho11OUVtIukGJ9kbf5PU/PB8gGMrXP7OdPhPUuXg1usheUW1WSLUHYhseGbnUhLmToxyTdiii6DrmbM7eNWtN+y5AIGRHscz2OE8fUQNxSIQZ6hZlRsj1Hsb4x/m4jOawSTFI9FWpjZH8KZ1VTHRlu6U6l+DXBQ7EpQifgHFdiB5VffK4B1wq+IeaBjTsCQEBJBGq3xSny6qetT4lGrbfAOyCI74QeRBimUsmfY65mHj5ICnp/VFsAnaIZuAeBoI+vCFT6JvJoYsyrhaowcOo2Fj8z6AwYvLzPIj2f5esqLhnzs37MN5yy0LWnrJ0EadFAE9448ipZMWaTuelOG+8tWTQ3mIJ29XtpRgS0H42ei8U0KKuc5VWrPWLE1VGrFv2WZu+lBgfNBbBvu9yXrZH023WvtV9bhXBHIyy3a+EVXAI4JMH4ruzTys/jUtXVFd88jvMX7XmIjMgmHwEML9EdRUI18RZdXYPJUtEveG0iLRQEVPTHGBOa3STqzkApApn4QAndZyYwVctL7PXL24PCvPb3kKHTM3qbZlCZZUQ67o30+MCLu1idSB7Ko1KBlCBuX7kPCxvukHi1g7E0IUnq1iFOilXH+T92MGHQJfO5QsUgulZFfd0vWflcxXZD1lPZzB2XvF5BBbTLmzzHuhnTS4KnEPBGqXf+SofcIfJzD3CpiduYhveczjMRb1sXs46drNeQYTdLHw0oVyb3h0AB+z14AseDdgwCyU4d+RWq5Nk2qyWK9SYulIfQCzl/1IxYA0Zc1tsFTi7hVi4YJ9avMITOFjbT7JvuUggreBddtHy42woEaBtrl3C76tSSb1Jp7dwOMEratJVKxjLFKSOKc883wNPZuelXgSBmyCeRLmvoXVuwk90HGS/5yjGOiiLZDC5owKIhOnKT8u0FziBoIfb0VDK3P/uzPGyLNQ3q8Q88g1jxBae7ZindZet2uyHQxNxWbDk4cm+qnw48xcXQWId5pIu+SfEW1FY8nW5rU6w+smRmIG7Zt+CgiO9WZdMH5f8vmUZyWxck6ptvvszFtk6Zgfq10sHR0nTcxZuli/wscpETEZ2OfhVpXMFE+qsLO165Z7TZA1d1Bqmr2mZ9Hahd9lg7E8mT7YYUz9A1+3YRZ9K32VcOjPJW0L0WaPEFNbMFp8C74yc+9qBPFrVE5wPUCiQUF7VLXdWt+k+DK6uoZck62z4kEpLYA9tvMewEDrnuj6qY3lHSggl2aBf4QLEZf5GTaaaBklz+BsSey9F/Gll7EqpzrlJqi4ohTF1F5wpX0AnsfJVSAxz75XiSfSWwnKPzS9wprGuvH6wzu3HS/Y3D7Hcz4zt94iktY3VoDMBXIVU3ZhurAHW0oIkm+v8uQDLPzAmNcXoq1pGUMzuES7qoV9MvYcM/zWfYGdpY3mnjrlGUvd742zezvatOApsxYwL8mkF56vhqawtH8p17pATe1qqlQZ+5fbn6ir4u9mRFTuGNdjU9Kr4Dhb3NGiE7PFRxRGkDLHna3uExLPv9heaZ4l/IbwwjK5uX0Sz5fHSRBX2lntiN51G2bilyt53ibizDkv5bIKqCsVvYi5gM6npb/DHOxdOYFE7iXKH6x4/AIgZUk12lnNak5nTvZNqEwsJDP5qC3DSDSQdP/yQDL7Mr7VWIfD4/nglnn+Ol3aa5pjLQy7F4R1EP/w8oDypvHrmRGEdr/2ZeD9jc9qczNGvWVs1TOpaG1OWPaZ/FeGyqdqOxLql5sbNtLSLj+RigrA8Zd5Skqj5g9HG0R8woPZ8Isv2DI5UcFB74cxq5VF7XR8O+8rIDoIA0r8ZckbDl+z2XGW8kkGlTnl4bYsVvo2XOPalZQC+nHLDeDUjjrq45/Bu66uR6VaZM7XLQChJ6aOJb1zjVoJjGxl/RvOgbbEsUcg9jN6wHQVxz+YK1o4mIkTd9lr73hDhiGJmnrk09khgnZX1jZgXMvlXZfvu/4UzJMeGKZ8+tUdHXsL27CkrKTeN7GAv03B++NvNl3ScoeZpb00tw8A7uI70mwNEMLH3b4q+AS5/v1K0HXvITE/0J1tw8aOX/dv4NwY7+PyWxCzYkFIV9+BpMl+mrOMqJ+oTDH0P+y5oD0Wls9sLKBWmrBPVIBEusrH9cISnk8TJVBCZ+WuYp4oVjgVYQ74StFhLJkeVX+vnH2MZYLE4hGw/zLr1ixF4S0fuq5t1wlGdZcN3Ryiei/RvIQEttuAPEZ56X9DN3RdN1i7WZrDZ9bA2Y6QFCJL8I4FQNd0LAd8e28SZ97m49v3sySuqZT4X7yiKaymNsJy0h+JmUQ53oKpS7dI2CHicwn4nmdRaVSG8PMxr30O/p0loXp2VDeedkJ9n983Z06Xp9nOmvn+ssww+cEbjRzPuX7J+2BQZM01++bXQh6G+eFM+s+c704+9OtsQZ1bwnCZ08K5ZGvMyav8qbdAspe9+ft/QgINsPYAAJlYbcNG5yK6QACe4MsxLLW1T+2s9RJwn7N3Tlm3rL9ZJqtIYwQhWftRqFrqSbokt46nCJqXwRg36i/q7RjTmNCIrZuJc8Sw7ofcAIbN2ZDTkn/ySLoemB33MehW/gegbYAjaNvCCUK4bJs78glrWaysX9ai9TNgcwvRK4+FvwzKg9P21PWN4KwUt8/awmrBhg4sDYMNFJXeBvQ26BLMj6Rg/N6LrXanZNnMsidv4lcT58XgxA1IXpI0MIdVsux5r5bQtNBw0WVK1kTGNQSUIJuIi6AxVF0l+7Lx1z1dieSEoZA+mkP5Ylq4a4MKkLN8745tnSpG3PmlGA7XNgTGeyhijUEgFAHib//r5F5pPqL9J+peKzxJ0PvdaU8A7PiVnOqt8Pu6x7hdfJVmvd60uU7lShz7MZ+W0V3ifWezK/HicLkkP3nx3fLmVafZkIw19egheY8kUHPI8uHQcuhEaOy4pYcmpxzonwxtTiuhiUZ31qv35CM4SgUk4csI78TrbHYCCkvr9MLRSuVuz4VAfGmKhj+5+RoDKwhxJoV1SdcxbwWZ9nFu5I1jiu+ujtpSJ8igdxbOxoVTQwUXDjVFsEbDPKZ33uPtCS3Gib8Jnl06fKT39gz7DSiesYxjt1f+qlrYdKFPXG/uHojPmMAHfu6cIv1ufCH/3W0Ns9ups/HJL6qfjJsfW1cPRnlj122sQXqMt2P/4lF/vp6Lua1x9e48pQ+bsOaJUoH+HhZJhZfmsdx28stYxUj2zwB0mAiiNCXlG5RdoMnIR50mn9OuiGDweOpOKLuzCXy1d1HK9cvgsWsMRO7sA1xUaW3/Tn0Z/EpnMWIoaOG6Pt1A95uzncpFO7Enftf/+x94/6T13Uj4kwKj2u8jwa+yurOoF2+fO3laYMZon4KElVG18Pp8ThJqb5pfWXmWgMqIOMWeGRPByVkE5rAkv9DainSO805Arfc08Yuqnl7MkN5F1sq8Hm5XxpyQ7TpI8/j4dDEn0fNfBXMuuOhdCkbXBaE7ULhJTnFOAEdOX5hJhi2J2rvT+aE6ovLq0vJNnFfjnDyQUoJXnJ3brh3X+H/ab+10cRRhjOO+582DlAqxvXm8mYdkuEG4ZY97+Cy7fPONOY0jMNgUw8W6VqUAONWnGGV/ugM603iYSnR917qLJjSN5VhxfnuIe+Wu3pnZh4e7L49970k2Uhjfj7fOzjbG+1kWydmutpbBTL+75BFfLbNT0Br502jm6laNDgAoRYm7bBFpnX0GOUtU0n50Si/45IPV/QiRlZXdpDHFrHnUACn0a0rw59DTqVe3G9phSBlM9k3TFNcu3XCemc3uvTQbs9feSU/+HqHeJgTbXexE5ph7KqlM7jtT/Lx5p0+GexQuFZy0MmE7acbsX3twNvmnRztnoJ2CaML1NzRGidjukIutSTdkQ1htxO4xb7rVUTlFkeB7Ek0j7ykrp6ktH2nhoncdd9GzmMW60Fr4hoXPnUmPhe2xaZHTBiTVcytnYLvUWdBY2yX31XT8OeAuQDtVlu8xt5k/5kxrqeze3Up79nMDTqmI+u8BzVVs7J/sqH2w3lpaY4b/ZIGiSpQcMtelbSWb2kgvgITu8BaJvE+PTW/xEW0Q92LdM2O0d1RBY3fqStUpXT9W01PUug9KYgTsV5bzTndaIlS7sUc4DEnhHna/y6aDBELFrV9uSsHb7LFjYnLskmjMK6iW3/PxHXn+jjtnPk9Irst9XEfIykDfZQ9rNloWu1V2g2f9T8ms7ocYu7ckXI6/fj1zLs+D/bh654KaV+DsSbZ2EMB28fcVsnx/WD5P32wZWgLT2qklWDronQiwn9ZlvwLQ8W8j3D6vfGW8XXmj5Wb5PvocCsH4fkKAKXKo1dhiJDJo4EcC65eDgaZPec/bkWU30KVlJxt1+93tJq9eVfbXSJrME1VDqKc0xzxLWuTxB8eWmYLJXubjl7xyoailC9soRMWC+bbTKNSIMgJGpSDjFJ9rg0n7M4gvm1OMC22JOP0aW2U1IgKklcH2dT95bzdPG0293mh2QENp2u7CVj04wlDsec2IiKIMU2JfQKDqHHyanNmf7dTyUOVEzuWDm9iZMDy8Z5QJAcay5RE5QT2M4FJbjqqdWxbBBwe9MkADroHwk8lOsafoJ5iMzyozT0XuCRdoQ8qUMm2KR1LKIVsShLwekNZwxCqxyx2QYWaJ5T+37rKqq6DbHbVqjnVd4JurTVDkmoqwQhNUmv6YkTzZKATehk+2qHmxWZjGOAhCFj4t4jDw/PcvGfteQzOzAsvLJ7s4S9WnC2YHb8Pg6wGPt0sh9KTTPzjvecLHS5z1VhZRUTBs4geXXkTEbFa3rDXUIYpNGQ6KZ5/kbWMHD94uTT7yLBk1G3CZC/CrLVBJEL3iZSmIeK+DkEYxmO2cYoElRYjhlUxuYghY55e5Vu5PYOa/WGF9TEO+z64kKLMjgR8O9Oo8zPujvD/U+2ndy8ftlkY2GSI+aFwhYmgpPBlt82jUsIl166FQAAlzfqUD3S1xH37rs7Nk4ZaDSUIiIBq1VmccU3ky2+bRqWET6ztCozAykITec2lxjil+uPN2vnX7sPMbyOIHuNwZvDGDK9EvjtyJQEGjDdaaNDhjwVNzK62n59toPxVQsrh8DDTZRjINmKe1t5ad3GfXJBKYdAboyfw0KdPWW1mJAgYjxjdX8r4oWpaUgQyQIDk0qOvB3+rqSDbp1Xc49R2h5+5VjcuCIXZxLRHPmuM9dlZOd6+uPWlyGsbS+oPDi7hmn6sQDoT1wPRdycZfgffHe3+896yJJ1q3I0nZjafC4S5yX95xkP165eE65eG65kHWiTpNp+rMPGVedLK4BpCcE5FRbT2Asx8dNMj0gen2zqKCj1r4IpFNt3PM6YntBu1lOx/I3FZPdWsq8Mp2k//n1NxJRYFijdJwfZdlF/P+qZmoT35tfJHjyhS5+rQ0mI/AHBC36sX8Af3HUYizJ+mzNSUB0FWNGbE8PTHfTR2Bs2c3pPnjG6CuesDEHZl/zIviFg4Q1NaTyYs3Y52hAwOZKqgWhHiqXiCRvHCXvWYdnr7dumBTd4iud6Cuu587521YmlLWPveWj0G5RD4KmEykSYK0lAFIkQ/cuTPJzFAAyt24Y8eIomJKGhvE9DrJYv0njUniEddmu8nNRtrVkcvnxhxObJls7KaJNjz9cyCDhNeucjD+RZNldRu+l06d+4rFUPrC2c96sqN1I3ugDleefgtL2wNwIXr5MmMWeq0IeiOUr/F/Ku3rZS4PYzt6+KzZAXSCtZYYI3QBFBxg1JZ8XMwTXZxxVjFzp74LuExmVj7nnqO17MmMfsb9oabFL86NhzE/A1CI6c9s3fSIESs+J1Rzk8LDWTh3tfdwqZcp1scWKFHH6z5nihgdViBZ296XyYdXpLm6p4ztIEgkrsDp2nRwW+CVDb8rQx9qlk65hQmlgstLprc00evMTsmDoW/qxsieeiFOdhgsRarlPKIFVAi35+Z2vC+2wEzF2Crs20DX4z06bhphnjLZ7CY1UNb8z3lz6d4gMPTH+1nSxk/o8l1E/2o/p/1mJVxeco7HjsaLcTMN7lnxXGw86yZCTPD3BUrDZ8LmSalAA+xgQ45ElnJD38Zt3MYt22QrM5HaKgmmcQn+Pt+xxf8EzX6OuBmlbtjyNBl+m7MwkjFnHNHpYCAEhvw5TrjcIIgh8cr51VcLL2rjfE6fiSqTqDiteEVBP2fWg/ka0c+p/0vJqgxp63RgtKxrmyEMruMhXveJTdQIoHec229Y9rm8NQzLLCtgIIYhUr+POyGqlmzrC0hg+5AbvLUViMk+vTD/snwtLly52nDaBwSON6lAMJnULe9iVm7qyCGfwqolXl3hOUWDafo5uVANKrM7QFmXgROb3/WXM0CU5JLdyiaOfiZUtFM0F2xepBtOrqY2TU+yXWVDf8ibQ4ZKiHOLDCrasIvhRqaTXdrycvlCMGCJ15/dlndbxlrbUfXLsBBmoiWPs+u/tZlc/0Pe/1u9vzrv/13eH+993ra3fzkGDDLXL7Dq9sJAbXT9qUaTy4kmXdRtka0k+TKht0nu1xJwLIBMJ2o7Z6D3u34toEnmjl43WhtqK1GlvOhtqftfQMmIN62hMzGGNHI91u216azTS9ttv92v8AmbekGM7GBtrWXa77YRRzqsa06L3ma8LVN40aSn5OMo7ntQeOjY7I2r7kypr5xdpOoeBc2Uda2d6TG7HnXD+sU07bdxS8Hir2i1r4ffw+kTyfxhKLtI1Pp3Qq54J/+z322a++9gJ77HdTf6l3Zg3r+FeEytF2Lxs8soef2Qfs0AKusstlJP9bonsVBZdXVXPunX3r/d+wO9P977es2WfrWN1yq7hA6stWaMJFk91WvPrL8LbaCewyGs6OrVgyhLSyadqTtNt2an6QqdvjJU/5wlvWgn8Cq7DfQVrjDQ9cmsr4DVr25g5QZgmzcA+Po0qP+cxiS9RFpQbS7UqyLFg6FcKzX6OjTn3wLzbR6ibXaKL8+yfBWfxVIV578RI5O8KA9XX/jz3+9qLtP6A4MObx3U57FxxbpZc3zWHhMvzOaOlYyn+TtoHSnbU7v/O65N7FZG+FTNomGWfGcUNDSPyQkbmGt2C12fiOJLugvh+1cXgFA6DtpZouttdgKXrD7GJTVtlNuPGhe7fFb346cuy9XIP96Hs6le8QX26dcpTfAgW4sDh6wT1pjs1/d0STdAZUoX1sb0pcnqSF4rs19TE4Xs5Tqp1/Tkq9WRk3UJ3S5d45Py0HXJ1F/zE866nDi2Bmg+1y2Yeq0Zsk3WRaI1Qx3Pu6sxwjZuo7WbcEWiexiSzKfixKdwfPL+EoM613WZqV478zAc2F8bZxrtYpjralqUkywclVACr+QH/9frtyv9vWQENkrK4xPnzEM8ea3PiKv1bY3bzPAvSrieoSFU+swTSKMZjxihqvk+b0RgAO456joWF0phb16hBbjLVvcyheqcAjQh6detnGLiBvtpCqDU+quKkd75q7b8PRnHuBzuMU39mosB5/pTMfQUM54LbRK8osVZC4X5dHvtKWPRiWFo6LHukj4i3u3WjEW81a/K8fNTTcCCD4YbeeUxA0aMxxqFYdmjBRadsS7TUOns1BeWoXcAKmMqoPD+i5fyXF648uATa+5YgzPqvaD7GS7gRl2ac0+Ei0H5t6dL2kAYvmXyxVTEZJwGqMJ5rejs1ntfVciA3kJiL4ZxS4EKDFN7Tf2ucx49P+idEf7Lbzj2yaItS8JB8HbeC9DXh4r/XVu0ioL4vm+n9O7qucPTpaF8TXuNgL7+Xdj+BMpg5K2fIWwHEHuBN/eCx2mkSloNTX8E5tU9HsJJTC7886uP2ZZ2MOro+p4XhUupEExteB4Ch2Q0tdB2NHqVUoZF/TcJP5N/fof3akRsDd3Yd353pcdXyYe+YBKGyvGfoke1fcyF6p7yqUEQ4n1aOv11tvcgRyeruur3J4YfC+jKOuMzvK0SQ9ArhHDzLGmq2O2pn2S1/sDbaFfUYWUiGuRmm48txX3NJuU+q8A2Rz3026gEMQMY2Hn5LIfKfHQS3/HE420sGvttnL/FBA837M7UM6STsh4bmopEZ2dBWW8YQWJV2elnRF3KjorwRI5CtHzYkT/OfjWhecIanzRCBBIe/LepmuGvzv5yQ94U6IdfUxtXmRA9MMa0uA5B6c2Q7xCviXbOWBiLbxENZtdahRE+gEDExzi7QAYQYfgQ0hR/NVNggA+ioZNcWHKNem0FnbkE4kdL9K5zV3c9v/jpcYaz3zY4q0OGkKr5FfEgl+kPkAhxeHnwGl39qUERhfkIJ5jIDIRIjrsZd649qB0vy8I6oqKjjgMIatxre0o/Pd9oIYwJuEIPV70ysVR43mNo+AtjLF84mWxKzLw4ErqaOzLyfIfCianI+ZNCWbNr4za2EWc9L+wQ7wwgnSrysRJhrmPZCp5s6h8iuA6D6ndHf6Zw8CTSk+yxsTcgmUvJHCSsdDlECty1KVRduLsLF30yYE0xLfYJrcC4OERfMql1EWJJzkc0PalxuJSFutw7jNW8H8I3MZ/Rf7bqgserOSCQmLLcT/WcJIDfUbLgu4smr73pGIILiloo4uBAhAPaKOQP7eicj59VTs/35ZDLX2MPeGcmR56x0hJK/YCH+RCG7Wz74Bla1Y9nWKJyZwGdYauIiv26lMxZRMO3pmY9rDNrIz/DO555odBpXZj7AohGefjE5fn3kSqc/4zVy+pFs1HihJCQLoeqXpR81nR6yAjJfWOpF4I61rc3Tv/xK/2X8q/0i1A1+g/JM304oZr3nGISGxvp7PvoamR4pGUCDKvjfn6cYnrOOWiosAzHrGfsarfaTjXFJ2htEXISk+qqXAmfjKEes1mD6N0TlqnPjYLiQXOyuJWCXcT+CJb27i6ZgDHf2NAt8C5aFERT4R550wtsL4C7H4Ta4oVyc/VOkpNq1PRnbKKx5/tjm72k7UwUc1er6KF30dhQssGugiiBqksUK0s3HwptUik8wGOl/XEsdeig/STdBU0J3W5eJoLDgWoIvzMI8cBQbQcA3L+xgAV3dS0ECxcBd0kKBfWspg8OAGY1yV/yIB58OQ95MM25AEFqWK148NHDV5pqPsZZyLI9tDI0PFTaLTut7dShnIydDmCKbDEGyjRbrQ+WacqVbHnKs1Xn4t3dtqa9ThNWFJ0FfUidGz1WwXm+EQiIuKgCYvGpXVxQPG6qv5BlikjUfwCp6fdL+nvVnmg/FMBpdEDQzWfW2epHp5L7Dw6UN2135woZZ2fO7jUOuybrNE1Jg9cdUUwcEYcHypoOiOQ5fRGHzatGpqS3gEnWdKlNolnb8sV55S3jgxK54t8DLdVPfDgDbypfMBwfoxq41dc0bnOKZwTOdmc7GLv6+sMoEY6oBWlvnOpmc6Ibxu07sPx83StVyUbamL9Ar1PrMXnMsM+32TrDCZ059PS1/HMbLNpu3MMyfJowhmfecitAP4wzP9F53ae95PJxH+46zT/O+eaENUCAgZOCPvvKCPTnATye/qUbpqJhSClEoPkzRSJ20PpVdIJ4ar6HB3+T+GEp/QZofbnKk3j53fINLnJsvtJFiy1hi140f4wWyko7xmEne1Go1beiG1yisoPlLkWjHyklG7yziH0XoAN+05c5w8Nrf9rdJJfLuZjX301GXfKr0+NAh59uXL1Mx5VcfpQv3j1/LPHuydnuKDSgmqQuHzUrfm8SEJlIAwdNPZ4GuWpXFKQdhmHTKgcdTkR7YUPx2+lrupnD+BGtUZ1cKpEJp5eg8uWThRBxXguGqp7Fa0XIgAu8sjGVf/p1k8BiOHXX5T9R4bqouH9d2VyKZKtsp3ZN2Tofscxx/tYvhi4/hRrQK9QJOU2UPBoOMikMwcYAGfhwoh3j/yxNSYwQg6RauGDDPmUl2MUiXoYrXuPfhyB5ZovnATBfS2TAR7lpOMPiTNvSbr5hpdWg2oPprMnIc2kiZsR15TgdbF5Adv+ahIftgVKCNSvDl4mXEVxNgE47YCubEWx69p5g22SbsDM0G9f2k/+OqpVAmNSuIEQ/Vqaj4xy4af7KFcmXZjbhFW5u+EhqLZ9eyeshsR6WU8FXSwy91mzgbdh8K2/lvrhglwWAq+v3lwsiI9annoPIVhQHGz62AqgT6EgKzyiLjHtBceZ2YyXEcZl6IDTcmD5ZY+bY1aOHP8AynIQh1p/uRqkR1nvzPnzAbnB6CvgoGae031B5Jx+pQrbKGJfkttvVTgtBCu2Hotrs/UD92L4ZxQChCyoCqByv/3+hfcPHuk0NBJ+uQQfnxM7bC4rswuiTm6TGqCEjjbzVtEB5uZ00auG3aSMfe/KwaMlqdW5GIRWLKuF74Fi6z9Bw76c2A/jvKLaAnGC6Xt8WKQEIdTpmUu6kAYrsPlazkFPM/MJR06ieGmoV7sxi1QXm9sS9M/REh3V+XV2kJh37/7oknUkB1VQYaNsU7ojX14OgRYPeTJbzqp6cxlYv4mwqmRywPiwi4XoE7vAiOJX5ouDCtCXfo0DpVGKEPW9Z9HoRI0g/nsQIcSeAS5BACRjfPGWQ18NrBNU3Uw8H2rClTwhdKHYMFWWFHMUpS6J8SSoovMCfNGByryoXK57C4KtuWOVel05M1DfKIspR1A3u1xdqrnqWjjnRueFWnlKwY42urV0xdNS3Fkml2HUU3lRFRWB9odyUaOBnYEpDwxeKeIdDxcdd9ezlrKBgd3nf7Ck9JC4OiW/YFO7xcMZlSk2WfZODOx5DMrYOxvjK74K1XAT3U+MR0HluiwR8DaDJHyTNavychuXTpg2xSE701CiGq6raiJ3deCFeWRe+zCFeapDzFazSDnecmnmLj5WNdyV3esGfpgti4VzIq23FFcVFRGBwo5rG4S1XfF7TiROfMgDiQnQnlF6JA6lyRByN1LefSa/pFPbsub4YhOLolrSAjjX+VvH3oO/y3NiW9svMeHCMIoXK2x/9Uly5CAUlIg3S0RFHQrCqHmxx3SxU8M4JNjQgQJJ1pH/hvUvXEj6u3QAjKlWCLPBO+toyX2pHNNev2oIPsLGe+D7ykCyn/Ty9vTHyNhH0CY6IWUa77154g3fMSdSnwCYOk+KMVULGjru3XLRk2muhfyZNxR1P/uRP8eRPeY03KCqVn++oYdHYeftDLKe7y3d8kIRm4AIr54oDxuGDblRgU8G6U9BxrpKzRLKgSFnt/UHdANqO0RVtitGXkcTb6vj3OHvlyP1dRjleE6OExnBSFB/O1AA8R0C7fzzK2oY0iBv2RrY+fiNbH1fn4+HetQsv2iwkfLsbBzdDDDdkA7+LFUH2HqkIRbWn2CQtrZnZnaasgb2/g1YEXRzx0RYwxokcDOV1Lq0w9Tr3XWQ4FvG7tf4SiuZOH9z6lVDPAKSNCynTCztsCwCwwbaP0H6O/yAg47yWUosy8pnct3Trv7+Ua6z858b+v2Vbx91Yf9fe9Wzd1mw9X/c1X/u56sB6uf4s9URbO6+Pdb+6zazf8zewq0dovb/aWUf0btZAfedWsKNfZR6+rUz0TYuxVI1e2MDw8kHiYlBzQyG1SWk5QawOcLUSRwMI009FcBzErsRxwcLp9loOXXG2y7bjs1FNgGYvt2Jmd/XprbFituCngBOjd4chj14i1OnZYeMMZWQyKsKGF3tX1ASAqr50xs9eWR0fc3UIkEaqcAiaPHwy4cK65aXTcE7JIJmDF7HHTU12YFbuIl0evi48j0HUuX+h5IItl6yPFQVUVj6ghEl7v8jaYVTKVIXtRcI9HHtfG48NcLJ4MOq4iKZhbMhZ4OaymQC6qprDwff9/N/SlPJF0SU2NUErqCw7E4KU/5TmuCYF4WDIeM1p6YQtebofS1pN0QDRV252IdEeJd7QW0IPjoXa9aXvJKiOUgkz5Jw6cXoWsAITWEk2pgMH+CHFrXql63b4YcO9q42VsVJaq2PdtBqTNF44Ph3LCpBp08HtlkUz9aEIzTk+eR26UBE+rk0tkHGsv2o0t+i8K4bZaa3fNagzlWIragJE0zXMHy7IBEMhK1jEDDljUW5uuI4VUr6S9YaAZpUe4Gxc6bhurYumNk/QCwKkPQBMIvzhjFAicIQxC9gdgOSMyDipd3nNHAS7ByAzjJGTGJ81SlwT8q2RdyGnUm55jrnllSDyO3sJiM5o8Hz4GYB89gSV1SD/JVlbACLd+jomF9Zhf24q6XkmJL0JHnx3GCp4rRmmYDbDpxT7R3hUihF04i/XeD1w8ykEj7rGiFZSOY+pxcgS+AEFjJ9zBmpvHXPtM+a4YmDs/ro1evIq5lo1c6mXnqch1U7ZRTmRqkduCUsT5PakS38gCBeMSrpSXLQctv3pe9VvaXcYEw9gGXDP+CYAuMmOTBflgpR7ceLPheKvaxnjtb+T3ucv3h3AQg2lalIH8+2Tmu3mZWr0ok2QcyZ3p4QurELcg7d8/A+LjXvhMRHZNvNgZePFhpGOUxUbwnU75Ta0cd998js1wu84PAbJf3lp9iSI//lKRqG+fgoNa/3JZSTvlLynRHlIjCYNUNqjC/OQ7/TkzY95TXOUvKX4ZqkWOsjFfk1xq0KWSP6tfM+N5aKIk51sTPuv723k++E0k87aDXvATsHZv+zGmLJREdbYqlT4G+h5bbWZ/Vb+jU6X2Am9gDmfqQbsZK1GHfLwAfvxHIsqjuBL3ZKu2zvSyra+lZYOxnzkR+GtBxN0ckVJh1s8RNHZo+N2B1B3SAcxbF3Vc4WFTL7ruJsSDYMA6GVLR38Xhl9KLmbFZUgNFve5buXKWC0RkOZain1e5YKe7OOpn/IjY8irpa47hlzzN9GylEMPfwCmxHqrYvDTl7FohLTvXu2hbjaR62nuXLFs/KL6cWT2b0OvgBVv2Fg2AUYuB01ORGCwqgTfWR2VIp1nT0+g1JNyBgksohrL57UqflkDKFHrUbHtRWyEjOppYipQbDCEDjttkHvj1hZkDWK4jIRUmYfIwj+UBqHUNpGMUVM+8tPjk4Rw9FyUk8jWRfEipixfj70DTGOuUs0opiRLLMaAnvRfPnacnaHZzIGWEFzlS828mMwfeau9+Orp1f3lXSffHTFvD8BwkzUF0OYEyin463HBzkN6nByQs8JMswriP5g5WehS4SYyjwVIZcEi3l9JM3Axzbb5RtFvfAD/RIgUCqlbAP0BlJ7pFLq0ozlZ3yrOjtJl9Lu4ZzfELvBRw6zoqgZSu/kJ4pWcf/eN2zV0+ijHSfXTNke72O0pcpj/8+Pcn55EEdYuHneXInCso8+8Zv0M8ZVjA027vuDuiC2fUd8aVNLU50X07PZkTtBf8+nc0Tea+C5MfBSugYnKLWJR3kncEuUwXFiP1JSAr5veUI8qa7ioTShCby0+caFw1LZk3uOyR3m1HgqiROtc6zxCB6ZiaeoinIozcYWqTO6x+jPhnH1bPZHtWirPIOnjNXKCVnhAbFqflyZ1VLSD3dmH40WD4FZJF+UjSwmXiojv4HXCWGbvfG+KFmds9BvAQa6Ix1/crd0/RNGI5KUot4kEm++Nxv32ozG7PiqwXx9Qv+Ssawfn28MAv9qU4DCrd8LH1Gqkorw0BXM9Q4AcXNTWT8Rx238Wz7zTCN8Wb6+H4V0WWkUQcAP/xnqRaBYDnAKKJY3liMiVp7SHln0n7gRrNCqKxE+xQG1ALpnKO5VIYR82U3YFAkBKlAnnV601gO+4fRtw8pKHauhynFFrTQxK8G+4zOiUBClxWWeJ1QaxBArEDJBrq2EOJ/GdoQ8KNe70RUbYpLkY3bfD2HRVxtxg4Rd0F7lACUIDXIe7uGVbE0CNm6VHX+O3IEPya45tNW2AeLXqzpeFzkqWMEruOL9Y35cV1UZZZvshxrALnUaW3PGTupSoZvP+CRVEzUlDVC8yQclUhy0PidnqJ6G2aavL5a57czkWiKPNMZ1YyefiDZlMNJmZtKUc3E+EGYrq4PBm9HC9P2y7ztKdEkhug65bVfGAA6SaPrHHKmCaFwYpKRS0aZtYPWaDjKDDPkVi4DSdVeIe0B+XeEsPW8r3XLj7y6VtWQ43kZ8D4/wW3nG4rtFxWLiGtenmiOpMcj0vgrAFi2ZgB2dGnvpfbzPG4PhNeytzET4Ro2zS9QKCtBWB8Nmp3w41R2tXki5VajJjqfvNtKUPKbwWopbNQAnzu0A9E+u/3LeyukNDXcd0ZiF5iMroX9QtXMAMmyI/J1mQaJd9F5pb8xCiTOej5SKiciyILWMB6raNSfAnIMf3GWMSlyIYO7ssONgNaDTyCLTbgk0lHOuOCp8E8fFfscx/+KWTMpWLysdPfl/DdZhq8knTZ8lNX4vJZXDOy4wmgk0ZToY09zqovLVgKh6uBTCnZhAmV8BATno1QtFg2qLXiq6pKre3cSThQwdEnxCYaJZiBrIsJ+A95NLXHuFLGeWobtNr10IH/Z35+TrGxc9OCto6ZktgAkjP75M/Cz1YWMdQoABzq1dkmkA5U7gm/MSEW4Uy9+KDBdxtZm+pwiIwHcraaBSJgImm2oV9IyUo4wYXWUjwkwEYiNEzjkJw8S3FPvnBR1NuWQOiWQc3AjaZuvhJtEo5mck+daTk9PO+W2efl7FeJmv9qz71G3H/3q/4e4xNSlTCMAxa9sLYuk+AEy9XLt4puqzycsrLSi8jVWGL5QoJECvGDpZ5KOYrD88MY60/vp9nyrulyh6XkiKRA8+Qf8qK0SgBN0X/w2aJEj0A", "base64")).toString(); return hook; }; exports2.LinkType = LinkType; exports2.generateInlinedScript = generateInlinedScript; exports2.generateLoader = generateLoader; exports2.generatePrettyJson = generatePrettyJson; exports2.generateSplitScript = generateSplitScript; exports2.getESMLoaderTemplate = builtLoader; exports2.hydratePnpFile = hydratePnpFile; exports2.hydratePnpSource = hydratePnpSource; exports2.makeRuntimeApi = makeRuntimeApi; } }); // ../lockfile/lockfile-to-pnp/lib/index.js var require_lib157 = __commonJS({ "../lockfile/lockfile-to-pnp/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.writePnpFile = writePnpFile; exports2.lockfileToPackageRegistry = lockfileToPackageRegistry; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var lockfile_utils_1 = require_lib125(); var dependency_path_1 = require_lib86(); var pnp_1 = require_lib156(); var normalize_path_1 = __importDefault2(require_normalize_path()); async function writePnpFile(lockfile, opts) { const packageRegistry = lockfileToPackageRegistry(lockfile, opts); const loaderFile = (0, pnp_1.generateInlinedScript)({ dependencyTreeRoots: [], ignorePattern: void 0, packageRegistry, shebang: void 0 }); await fs_1.promises.writeFile(path_1.default.join(opts.lockfileDir, ".pnp.cjs"), loaderFile, "utf8"); } function lockfileToPackageRegistry(lockfile, opts) { const packageRegistry = /* @__PURE__ */ new Map(); for (const [importerId, importer] of Object.entries(lockfile.importers)) { if (importerId === ".") { const packageStore = /* @__PURE__ */ new Map([ [ null, { packageDependencies: new Map([ ...importer.dependencies != null ? toPackageDependenciesMap(lockfile, importer.dependencies) : [], ...importer.optionalDependencies != null ? toPackageDependenciesMap(lockfile, importer.optionalDependencies) : [], ...importer.devDependencies != null ? toPackageDependenciesMap(lockfile, importer.devDependencies) : [] ]), packageLocation: "./" } ] ]); packageRegistry.set(null, packageStore); } else { const name = opts.importerNames[importerId]; const packageStore = /* @__PURE__ */ new Map([ [ importerId, { packageDependencies: new Map([ [name, importerId], ...importer.dependencies != null ? toPackageDependenciesMap(lockfile, importer.dependencies, importerId) : [], ...importer.optionalDependencies != null ? toPackageDependenciesMap(lockfile, importer.optionalDependencies, importerId) : [], ...importer.devDependencies != null ? toPackageDependenciesMap(lockfile, importer.devDependencies, importerId) : [] ]), packageLocation: `./${importerId}` } ] ]); packageRegistry.set(name, packageStore); } } for (const [relDepPath, pkgSnapshot] of Object.entries(lockfile.packages ?? {})) { const { name, version: version2, peerDepGraphHash } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(relDepPath, pkgSnapshot); const pnpVersion = toPnPVersion(version2, peerDepGraphHash); let packageStore = packageRegistry.get(name); if (!packageStore) { packageStore = /* @__PURE__ */ new Map(); packageRegistry.set(name, packageStore); } let packageLocation = (0, normalize_path_1.default)(path_1.default.relative(opts.lockfileDir, path_1.default.join(opts.virtualStoreDir, (0, dependency_path_1.depPathToFilename)(relDepPath, opts.virtualStoreDirMaxLength), "node_modules", name))); if (!packageLocation.startsWith("../")) { packageLocation = `./${packageLocation}`; } if (!packageLocation.endsWith("/")) { packageLocation += "/"; } packageStore.set(pnpVersion, { packageDependencies: new Map([ [name, pnpVersion], ...pkgSnapshot.dependencies != null ? toPackageDependenciesMap(lockfile, pkgSnapshot.dependencies) : [], ...pkgSnapshot.optionalDependencies != null ? toPackageDependenciesMap(lockfile, pkgSnapshot.optionalDependencies) : [] ]), packageLocation }); } return packageRegistry; } function toPackageDependenciesMap(lockfile, deps, importerId) { return Object.entries(deps).map(([depAlias, ref]) => { if (importerId && ref.startsWith("link:")) { return [depAlias, path_1.default.join(importerId, ref.slice(5))]; } const relDepPath = (0, dependency_path_1.refToRelative)(ref, depAlias); if (!relDepPath) return [depAlias, ref]; const { name, version: version2, peerDepGraphHash } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(relDepPath, lockfile.packages[relDepPath]); const pnpVersion = toPnPVersion(version2, peerDepGraphHash); if (depAlias === name) { return [depAlias, pnpVersion]; } return [depAlias, [name, pnpVersion]]; }); } function toPnPVersion(version2, peerDepGraphHash) { return peerDepGraphHash ? `virtual:${version2}${peerDepGraphHash}#${version2}` : version2; } } }); // ../pkg-manager/modules-cleaner/lib/removeDirectDependency.js var require_removeDirectDependency = __commonJS({ "../pkg-manager/modules-cleaner/lib/removeDirectDependency.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.removeDirectDependency = removeDirectDependency; exports2.removeIfEmpty = removeIfEmpty; var path_1 = __importDefault2(require("path")); var fs_1 = require("fs"); var core_loggers_1 = require_lib8(); var remove_bins_1 = require_lib110(); var rimraf_1 = __importDefault2(require_rimraf()); async function removeDirectDependency(dependency, opts) { const dependencyDir = path_1.default.join(opts.modulesDir, dependency.name); const results = await Promise.all([ (0, remove_bins_1.removeBinsOfDependency)(dependencyDir, opts), !opts.dryRun && (0, remove_bins_1.removeBin)(dependencyDir) // eslint-disable-line @typescript-eslint/no-explicit-any ]); await removeIfEmpty(opts.binsDir); const uninstalledPkg = results[0]; if (!opts.muteLogs) { core_loggers_1.rootLogger.debug({ prefix: opts.rootDir, removed: { dependencyType: dependency.dependenciesField === "devDependencies" && "dev" || dependency.dependenciesField === "optionalDependencies" && "optional" || dependency.dependenciesField === "dependencies" && "prod" || void 0, name: dependency.name, version: uninstalledPkg?.version } }); } } async function removeIfEmpty(dir) { if (await dirIsEmpty(dir)) { await (0, rimraf_1.default)(dir); } } async function dirIsEmpty(dir) { try { const fileNames = await fs_1.promises.readdir(dir); return fileNames.length === 0; } catch { return false; } } } }); // ../pkg-manager/modules-cleaner/lib/prune.js var require_prune2 = __commonJS({ "../pkg-manager/modules-cleaner/lib/prune.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.prune = prune; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var core_loggers_1 = require_lib8(); var lockfile_filtering_1 = require_lib154(); var lockfile_utils_1 = require_lib125(); var logger_1 = require_lib(); var read_modules_dir_1 = require_lib68(); var types_1 = require_lib9(); var dependency_path_1 = require_lib86(); var rimraf_1 = __importDefault2(require_rimraf()); var difference_1 = __importDefault2(require_difference()); var equals_1 = __importDefault2(require_equals2()); var mergeAll_1 = __importDefault2(require_mergeAll2()); var pickAll_1 = __importDefault2(require_pickAll()); var removeDirectDependency_js_1 = require_removeDirectDependency(); async function prune(importers, opts) { const wantedLockfile = (0, lockfile_filtering_1.filterLockfile)(opts.wantedLockfile, { include: opts.include, skipped: opts.skipped }); const rootImporter = wantedLockfile.importers["."] ?? {}; const wantedRootPkgs = mergeDependencies(rootImporter); await Promise.all(importers.map(async ({ binsDir, id, modulesDir, pruneDirectDependencies, removePackages, rootDir }) => { const currentImporter = opts.currentLockfile.importers[id] || {}; const currentPkgs = Object.entries(mergeDependencies(currentImporter)); const wantedPkgs = mergeDependencies(wantedLockfile.importers[id]); const allCurrentPackages = new Set(pruneDirectDependencies === true || removePackages?.length ? await (0, read_modules_dir_1.readModulesDir)(modulesDir) ?? [] : []); const depsToRemove = new Set((removePackages ?? []).filter((removePackage) => allCurrentPackages.has(removePackage))); for (const [depName, depVersion] of currentPkgs) { if (!wantedPkgs[depName] || wantedPkgs[depName] !== depVersion || opts.dedupeDirectDeps && id !== "." && wantedPkgs[depName] === wantedRootPkgs[depName]) { depsToRemove.add(depName); } } if (pruneDirectDependencies) { const publiclyHoistedDeps = getPubliclyHoistedDependencies(opts.hoistedDependencies); if (allCurrentPackages.size > 0) { for (const currentPackage of allCurrentPackages) { if (!wantedPkgs[currentPackage] && !publiclyHoistedDeps.has(currentPackage)) { depsToRemove.add(currentPackage); } } } } const removedFromScopes = /* @__PURE__ */ new Set(); await Promise.all(Array.from(depsToRemove).map(async (depName) => { const scope = getScopeFromPackageName(depName); if (scope) { removedFromScopes.add(scope); } return (0, removeDirectDependency_js_1.removeDirectDependency)({ dependenciesField: currentImporter.devDependencies?.[depName] != null && "devDependencies" || currentImporter.optionalDependencies?.[depName] != null && "optionalDependencies" || currentImporter.dependencies?.[depName] != null && "dependencies" || void 0, name: depName }, { binsDir, dryRun: opts.dryRun, modulesDir, rootDir }); })); await Promise.all(Array.from(removedFromScopes).map((scope) => (0, removeDirectDependency_js_1.removeIfEmpty)(path_1.default.join(modulesDir, scope)))); try { await (0, removeDirectDependency_js_1.removeIfEmpty)(modulesDir); } catch { } })); const selectedImporterIds = importers.map((importer) => importer.id).sort(); const currentPkgIdsByDepPaths = (0, equals_1.default)(selectedImporterIds, Object.keys(opts.wantedLockfile.importers)) ? getPkgsDepPaths(opts.currentLockfile.packages ?? {}, opts.skipped) : getPkgsDepPathsOwnedOnlyByImporters(selectedImporterIds, opts.currentLockfile, opts.include, opts.skipped); const wantedPkgIdsByDepPaths = getPkgsDepPaths(wantedLockfile.packages ?? {}, opts.skipped); const orphanDepPaths = Object.keys(currentPkgIdsByDepPaths).filter((path2) => !wantedPkgIdsByDepPaths[path2]); const orphanPkgIds = new Set(orphanDepPaths.map((path2) => currentPkgIdsByDepPaths[path2])); core_loggers_1.statsLogger.debug({ prefix: opts.lockfileDir, removed: orphanPkgIds.size }); if (!opts.dryRun) { if (orphanDepPaths.length > 0 && opts.currentLockfile.packages != null && (opts.hoistedModulesDir != null || opts.publicHoistedModulesDir != null)) { const prefix = path_1.default.join(opts.virtualStoreDir, "../.."); await Promise.all(orphanDepPaths.map(async (orphanDepPath) => { if (opts.hoistedDependencies[orphanDepPath]) { await Promise.all(Object.entries(opts.hoistedDependencies[orphanDepPath]).map(([alias, hoistType]) => { const modulesDir = hoistType === "public" ? opts.publicHoistedModulesDir : opts.hoistedModulesDir; if (!modulesDir) return void 0; return (0, removeDirectDependency_js_1.removeDirectDependency)({ name: alias }, { binsDir: path_1.default.join(modulesDir, ".bin"), modulesDir, muteLogs: true, rootDir: prefix }); })); } delete opts.hoistedDependencies[orphanDepPath]; })); } if (opts.pruneVirtualStore !== false) { const _tryRemovePkg = tryRemovePkg.bind(null, opts.lockfileDir, opts.virtualStoreDir); await Promise.all(orphanDepPaths.map((orphanDepPath) => (0, dependency_path_1.depPathToFilename)(orphanDepPath, opts.virtualStoreDirMaxLength)).map(async (orphanDepPath) => _tryRemovePkg(orphanDepPath))); const neededPkgs = /* @__PURE__ */ new Set(["node_modules"]); for (const depPath of Object.keys(opts.wantedLockfile.packages ?? {})) { if (opts.skipped.has(depPath)) continue; neededPkgs.add((0, dependency_path_1.depPathToFilename)(depPath, opts.virtualStoreDirMaxLength)); } const availablePkgs = await readVirtualStoreDir(opts.virtualStoreDir, opts.lockfileDir); await Promise.all(availablePkgs.filter((availablePkg) => !neededPkgs.has(availablePkg)).map(async (orphanDepPath) => _tryRemovePkg(orphanDepPath))); } } return new Set(orphanDepPaths); } function getScopeFromPackageName(pkgName) { if (pkgName[0] === "@") { return pkgName.substring(0, pkgName.indexOf("/")); } return void 0; } async function readVirtualStoreDir(virtualStoreDir, lockfileDir) { try { return await fs_1.promises.readdir(virtualStoreDir); } catch (err) { if (err.code !== "ENOENT") { logger_1.logger.warn({ error: err, message: `Failed to read virtualStoreDir at "${virtualStoreDir}"`, prefix: lockfileDir }); } return []; } } async function tryRemovePkg(lockfileDir, virtualStoreDir, pkgDir) { const pathToRemove = path_1.default.join(virtualStoreDir, pkgDir); core_loggers_1.removalLogger.debug(pathToRemove); try { await (0, rimraf_1.default)(pathToRemove); } catch (err) { logger_1.logger.warn({ error: err, message: `Failed to remove "${pathToRemove}"`, prefix: lockfileDir }); } } function mergeDependencies(projectSnapshot) { return (0, mergeAll_1.default)(types_1.DEPENDENCIES_FIELDS.map((depType) => projectSnapshot[depType] ?? {})); } function getPkgsDepPaths(packages, skipped) { const acc = {}; for (const [depPath, pkg] of Object.entries(packages)) { if (skipped.has(depPath)) continue; acc[depPath] = (0, lockfile_utils_1.packageIdFromSnapshot)(depPath, pkg); } return acc; } function getPkgsDepPathsOwnedOnlyByImporters(importerIds, lockfile, include, skipped) { const selected = (0, lockfile_filtering_1.filterLockfileByImporters)(lockfile, importerIds, { failOnMissingDependencies: false, include, skipped }); const other = (0, lockfile_filtering_1.filterLockfileByImporters)(lockfile, (0, difference_1.default)(Object.keys(lockfile.importers), importerIds), { failOnMissingDependencies: false, include, skipped }); const packagesOfSelectedOnly = (0, pickAll_1.default)((0, difference_1.default)(Object.keys(selected.packages), Object.keys(other.packages)), selected.packages); return getPkgsDepPaths(packagesOfSelectedOnly, skipped); } function getPubliclyHoistedDependencies(hoistedDependencies) { const publiclyHoistedDeps = /* @__PURE__ */ new Set(); for (const hoistedAliases of Object.values(hoistedDependencies)) { for (const [alias, hoistType] of Object.entries(hoistedAliases)) { if (hoistType === "public") { publiclyHoistedDeps.add(alias); } } } return publiclyHoistedDeps; } } }); // ../pkg-manager/modules-cleaner/lib/index.js var require_lib158 = __commonJS({ "../pkg-manager/modules-cleaner/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.prune = void 0; var prune_js_1 = require_prune2(); Object.defineProperty(exports2, "prune", { enumerable: true, get: function() { return prune_js_1.prune; } }); } }); // ../fs/symlink-dependency/lib/symlinkDirectRootDependency.js var require_symlinkDirectRootDependency = __commonJS({ "../fs/symlink-dependency/lib/symlinkDirectRootDependency.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.symlinkDirectRootDependency = symlinkDirectRootDependency; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var core_loggers_1 = require_lib8(); var symlink_dir_1 = __importDefault2(require_dist18()); var DEP_TYPE_BY_DEPS_FIELD_NAME = { dependencies: "prod", devDependencies: "dev", optionalDependencies: "optional" }; async function symlinkDirectRootDependency(dependencyLocation, destModulesDir, importAs, opts) { let destModulesDirReal; try { destModulesDirReal = await fs_1.promises.realpath(destModulesDir); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { await fs_1.promises.mkdir(destModulesDir, { recursive: true }); destModulesDirReal = await fs_1.promises.realpath(destModulesDir); } else { throw err; } } const dest = path_1.default.join(destModulesDirReal, importAs); const { reused } = await (0, symlink_dir_1.default)(dependencyLocation, dest); if (reused) return; core_loggers_1.rootLogger.debug({ added: { dependencyType: opts.fromDependenciesField && DEP_TYPE_BY_DEPS_FIELD_NAME[opts.fromDependenciesField], linkedFrom: dependencyLocation, name: importAs, realName: opts.linkedPackage.name, version: opts.linkedPackage.version }, prefix: opts.prefix }); } } }); // ../fs/symlink-dependency/lib/index.js var require_lib159 = __commonJS({ "../fs/symlink-dependency/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.symlinkDirectRootDependency = void 0; exports2.symlinkDependency = symlinkDependency; exports2.symlinkDependencySync = symlinkDependencySync; var path_1 = __importDefault2(require("path")); var core_loggers_1 = require_lib8(); var symlink_dir_1 = __importDefault2(require_dist18()); var symlinkDirectRootDependency_js_1 = require_symlinkDirectRootDependency(); Object.defineProperty(exports2, "symlinkDirectRootDependency", { enumerable: true, get: function() { return symlinkDirectRootDependency_js_1.symlinkDirectRootDependency; } }); async function symlinkDependency(dependencyRealLocation, destModulesDir, importAs) { const link = path_1.default.join(destModulesDir, importAs); core_loggers_1.linkLogger.debug({ target: dependencyRealLocation, link }); return (0, symlink_dir_1.default)(dependencyRealLocation, link); } function symlinkDependencySync(dependencyRealLocation, destModulesDir, importAs) { const link = path_1.default.join(destModulesDir, importAs); core_loggers_1.linkLogger.debug({ target: dependencyRealLocation, link }); return symlink_dir_1.default.sync(dependencyRealLocation, link); } } }); // ../pkg-manager/headless/lib/linkHoistedModules.js var require_linkHoistedModules = __commonJS({ "../pkg-manager/headless/lib/linkHoistedModules.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.linkHoistedModules = linkHoistedModules; var path_1 = __importDefault2(require("path")); var calc_dep_state_1 = require_lib118(); var core_loggers_1 = require_lib8(); var link_bins_1 = require_lib69(); var logger_1 = require_lib(); var p_limit_12 = __importDefault2(require_p_limit()); var difference_1 = __importDefault2(require_difference()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var rimraf_1 = __importDefault2(require_rimraf()); var limitLinking = (0, p_limit_12.default)(16); async function linkHoistedModules(storeController, graph, prevGraph, hierarchy, opts) { const dirsToRemove = (0, difference_1.default)(Object.keys(prevGraph), Object.keys(graph)); core_loggers_1.statsLogger.debug({ prefix: opts.lockfileDir, removed: dirsToRemove.length }); await Promise.all(dirsToRemove.map((dir) => tryRemoveDir(dir))); await Promise.all(Object.entries(hierarchy).map(([parentDir, depsHierarchy]) => { function warn(message) { logger_1.logger.info({ message, prefix: parentDir }); } return linkAllPkgsInOrder(storeController, graph, depsHierarchy, parentDir, { ...opts, warn }); })); } async function tryRemoveDir(dir) { core_loggers_1.removalLogger.debug(dir); try { await (0, rimraf_1.default)(dir); } catch (err) { } } async function linkAllPkgsInOrder(storeController, graph, hierarchy, parentDir, opts) { const _calcDepState = calc_dep_state_1.calcDepState.bind(null, graph, opts.depsStateCache); await Promise.all(Object.entries(hierarchy).map(async ([dir, deps]) => { const depNode = graph[dir]; if (depNode.fetching) { let filesResponse; try { filesResponse = (await depNode.fetching()).files; } catch (err) { if (depNode.optional) return; throw err; } depNode.requiresBuild = filesResponse.requiresBuild; let sideEffectsCacheKey; if (opts.sideEffectsCacheRead && filesResponse.sideEffects && !(0, isEmpty_1.default)(filesResponse.sideEffects)) { if (opts?.allowBuild?.(depNode.name, depNode.version) !== false) { sideEffectsCacheKey = _calcDepState(dir, { includeDepGraphHash: !opts.ignoreScripts && depNode.requiresBuild, // true when is built patchFileHash: depNode.patch?.file.hash }); } } await limitLinking(async () => { const { importMethod, isBuilt } = await storeController.importPackage(depNode.dir, { filesResponse, force: true, disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps, keepModulesDir: true, requiresBuild: depNode.patch != null || depNode.requiresBuild, sideEffectsCacheKey }); if (importMethod) { core_loggers_1.progressLogger.debug({ method: importMethod, requester: opts.lockfileDir, status: "imported", to: depNode.dir }); } depNode.isBuilt = isBuilt; }); } return linkAllPkgsInOrder(storeController, graph, deps, dir, opts); })); const modulesDir = path_1.default.join(parentDir, "node_modules"); const binsDir = path_1.default.join(modulesDir, ".bin"); await (0, link_bins_1.linkBins)(modulesDir, binsDir, { allowExoticManifests: true, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, warn: opts.warn }); } } }); // ../patching/config/lib/groupPatchedDependencies.js var require_groupPatchedDependencies = __commonJS({ "../patching/config/lib/groupPatchedDependencies.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.groupPatchedDependencies = groupPatchedDependencies; var dp = __importStar3(require_lib86()); var error_1 = require_lib6(); var semver_12 = require_semver2(); function groupPatchedDependencies(patchedDependencies) { const result2 = {}; function getGroup(name) { let group = result2[name]; if (group) return group; group = { exact: {}, range: [], all: void 0 }; result2[name] = group; return group; } for (const key in patchedDependencies) { const file = patchedDependencies[key]; const { name, version: version2, nonSemverVersion } = dp.parse(key); if (name && version2) { getGroup(name).exact[version2] = { strict: true, file, key }; continue; } if (name && nonSemverVersion) { if (!(0, semver_12.validRange)(nonSemverVersion)) { throw new error_1.PnpmError("PATCH_NON_SEMVER_RANGE", `${nonSemverVersion} is not a valid semantic version range.`); } if (nonSemverVersion.trim() === "*") { getGroup(name).all = { strict: true, file, key }; } else { getGroup(name).range.push({ version: nonSemverVersion, patch: { strict: true, file, key } }); } continue; } getGroup(key).all = { strict: false, file, key }; } return result2; } } }); // ../patching/config/lib/getPatchInfo.js var require_getPatchInfo = __commonJS({ "../patching/config/lib/getPatchInfo.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPatchInfo = getPatchInfo; var error_1 = require_lib6(); var semver_12 = require_semver2(); var PatchKeyConflictError = class extends error_1.PnpmError { constructor(pkgName, pkgVersion, satisfied) { const pkgId = `${pkgName}@${pkgVersion}`; const satisfiedVersions = satisfied.map(({ version: version2 }) => version2); const message = `Unable to choose between ${satisfied.length} version ranges to patch ${pkgId}: ${satisfiedVersions.join(", ")}`; super("PATCH_KEY_CONFLICT", message, { hint: `Explicitly set the exact version (${pkgId}) to resolve conflict` }); } }; function getPatchInfo(patchFileGroups, pkgName, pkgVersion) { if (!patchFileGroups?.[pkgName]) return void 0; const exactVersion = patchFileGroups[pkgName].exact[pkgVersion]; if (exactVersion) return exactVersion; const satisfied = patchFileGroups[pkgName].range.filter((item) => (0, semver_12.satisfies)(pkgVersion, item.version)); if (satisfied.length > 1) { throw new PatchKeyConflictError(pkgName, pkgVersion, satisfied); } if (satisfied.length === 1) { return satisfied[0].patch; } return patchFileGroups[pkgName].all; } } }); // ../patching/config/lib/allPatchKeys.js var require_allPatchKeys = __commonJS({ "../patching/config/lib/allPatchKeys.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.allPatchKeys = allPatchKeys; function* allPatchKeys(patchedDependencies) { for (const name in patchedDependencies) { const group = patchedDependencies[name]; for (const version2 in group.exact) { yield group.exact[version2].key; } for (const item of group.range) { yield item.patch.key; } if (group.all) { yield group.all.key; } } } } }); // ../patching/config/lib/verifyPatches.js var require_verifyPatches = __commonJS({ "../patching/config/lib/verifyPatches.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.verifyPatches = verifyPatches; var error_1 = require_lib6(); var logger_1 = require_lib22(); var allPatchKeys_js_1 = require_allPatchKeys(); function verifyPatches({ patchedDependencies, appliedPatches, allowUnusedPatches }) { const unusedPatches = []; for (const patchKey of (0, allPatchKeys_js_1.allPatchKeys)(patchedDependencies)) { if (!appliedPatches.has(patchKey)) unusedPatches.push(patchKey); } if (!unusedPatches.length) return; const message = `The following patches were not used: ${unusedPatches.join(", ")}`; if (allowUnusedPatches) { (0, logger_1.globalWarn)(message); return; } throw new error_1.PnpmError("UNUSED_PATCH", message, { hint: 'Either remove them from "patchedDependencies" or update them to match packages in your dependencies.' }); } } }); // ../patching/config/lib/index.js var require_lib160 = __commonJS({ "../patching/config/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.verifyPatches = exports2.getPatchInfo = exports2.groupPatchedDependencies = void 0; var groupPatchedDependencies_js_1 = require_groupPatchedDependencies(); Object.defineProperty(exports2, "groupPatchedDependencies", { enumerable: true, get: function() { return groupPatchedDependencies_js_1.groupPatchedDependencies; } }); var getPatchInfo_js_1 = require_getPatchInfo(); Object.defineProperty(exports2, "getPatchInfo", { enumerable: true, get: function() { return getPatchInfo_js_1.getPatchInfo; } }); var verifyPatches_js_1 = require_verifyPatches(); Object.defineProperty(exports2, "verifyPatches", { enumerable: true, get: function() { return verifyPatches_js_1.verifyPatches; } }); } }); // ../deps/graph-builder/lib/iteratePkgsForVirtualStore.js var require_iteratePkgsForVirtualStore = __commonJS({ "../deps/graph-builder/lib/iteratePkgsForVirtualStore.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.iteratePkgsForVirtualStore = iteratePkgsForVirtualStore; var calc_dep_state_1 = require_lib118(); var lockfile_utils_1 = require_lib125(); var dp = __importStar3(require_lib86()); function* iteratePkgsForVirtualStore(lockfile, opts) { if (opts.enableGlobalVirtualStore) { for (const { hash, pkgMeta } of hashDependencyPaths(lockfile)) { yield { dirNameInVirtualStore: hash, pkgMeta }; } } else if (lockfile.packages) { for (const depPath in lockfile.packages) { if (Object.hasOwn(lockfile.packages, depPath)) { const pkgSnapshot = lockfile.packages[depPath]; const { name, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); yield { pkgMeta: { depPath, pkgIdWithPatchHash: dp.getPkgIdWithPatchHash(depPath), name, version: version2, pkgSnapshot }, dirNameInVirtualStore: dp.depPathToFilename(depPath, opts.virtualStoreDirMaxLength) }; } } } } function hashDependencyPaths(lockfile) { const graph = (0, calc_dep_state_1.lockfileToDepGraph)(lockfile); return (0, calc_dep_state_1.iterateHashedGraphNodes)(graph, iteratePkgMeta(lockfile, graph)); } function* iteratePkgMeta(lockfile, graph) { if (lockfile.packages == null) { return; } for (const depPath in lockfile.packages) { if (!Object.hasOwn(lockfile.packages, depPath)) { continue; } const pkgSnapshot = lockfile.packages[depPath]; const { name, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); yield { name, version: version2, depPath, pkgIdWithPatchHash: graph[depPath].pkgIdWithPatchHash ?? dp.getPkgIdWithPatchHash(depPath), pkgSnapshot }; } } } }); // ../deps/graph-builder/lib/lockfileToDepGraph.js var require_lockfileToDepGraph = __commonJS({ "../deps/graph-builder/lib/lockfileToDepGraph.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.lockfileToDepGraph = lockfileToDepGraph; var path_1 = __importDefault2(require("path")); var constants_1 = require_lib5(); var core_loggers_1 = require_lib8(); var lockfile_utils_1 = require_lib125(); var logger_1 = require_lib(); var package_is_installable_1 = require_lib85(); var patching_config_1 = require_lib160(); var dp = __importStar3(require_lib86()); var path_exists_1 = __importDefault2(require_path_exists2()); var equals_1 = __importDefault2(require_equals2()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var iteratePkgsForVirtualStore_js_1 = require_iteratePkgsForVirtualStore(); var brokenModulesLogger = (0, logger_1.logger)("_broken_node_modules"); async function lockfileToDepGraph(lockfile, currentLockfile, opts) { const { graph, locationByDepPath } = await buildGraphFromPackages(lockfile, currentLockfile, opts); const _getChildrenPaths = getChildrenPaths.bind(null, { force: opts.force, graph, lockfileDir: opts.lockfileDir, registries: opts.registries, sideEffectsCacheRead: opts.sideEffectsCacheRead, skipped: opts.skipped, storeController: opts.storeController, storeDir: opts.storeDir, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, locationByDepPath }); for (const node of Object.values(graph)) { const pkgSnapshot = lockfile.packages[node.depPath]; const allDeps = { ...pkgSnapshot.dependencies, ...opts.include.optionalDependencies ? pkgSnapshot.optionalDependencies : {} }; const peerDeps = pkgSnapshot.peerDependencies ? new Set(Object.keys(pkgSnapshot.peerDependencies)) : null; node.children = _getChildrenPaths(allDeps, peerDeps, "."); } const directDependenciesByImporterId = {}; for (const importerId of opts.importerIds) { const projectSnapshot = lockfile.importers[importerId]; const rootDeps = { ...opts.include.devDependencies ? projectSnapshot.devDependencies : {}, ...opts.include.dependencies ? projectSnapshot.dependencies : {}, ...opts.include.optionalDependencies ? projectSnapshot.optionalDependencies : {} }; directDependenciesByImporterId[importerId] = _getChildrenPaths(rootDeps, null, importerId); } return { graph, directDependenciesByImporterId }; } async function buildGraphFromPackages(lockfile, currentLockfile, opts) { const currentPackages = currentLockfile?.packages ?? {}; const graph = {}; const locationByDepPath = {}; const _getPatchInfo = patching_config_1.getPatchInfo.bind(null, opts.patchedDependencies); const promises = []; const pkgSnapshotsWithLocations = (0, iteratePkgsForVirtualStore_js_1.iteratePkgsForVirtualStore)(lockfile, opts); for (const { dirNameInVirtualStore, pkgMeta } of pkgSnapshotsWithLocations) { promises.push((async () => { const { pkgIdWithPatchHash, name: pkgName, version: pkgVersion, depPath, pkgSnapshot } = pkgMeta; if (opts.skipped.has(depPath)) return; const pkg = { name: pkgName, version: pkgVersion, engines: pkgSnapshot.engines, cpu: pkgSnapshot.cpu, os: pkgSnapshot.os, libc: pkgSnapshot.libc }; const packageId = (0, lockfile_utils_1.packageIdFromSnapshot)(depPath, pkgSnapshot); if (!opts.force && (0, package_is_installable_1.packageIsInstallable)(packageId, pkg, { engineStrict: opts.engineStrict, lockfileDir: opts.lockfileDir, nodeVersion: opts.nodeVersion, optional: pkgSnapshot.optional === true, supportedArchitectures: opts.supportedArchitectures }) === false) { opts.skipped.add(depPath); return; } const depIsPresent = !("directory" in pkgSnapshot.resolution && pkgSnapshot.resolution.directory != null) && currentPackages[depPath] && (0, equals_1.default)(currentPackages[depPath].dependencies, pkgSnapshot.dependencies); const depIntegrityIsUnchanged = isIntegrityEqual(pkgSnapshot.resolution, currentPackages[depPath]?.resolution); const modules = path_1.default.join(opts.virtualStoreDir, dirNameInVirtualStore, "node_modules"); const dir = path_1.default.join(modules, pkgName); locationByDepPath[depPath] = dir; let dirExists; if (depIsPresent && depIntegrityIsUnchanged && (0, isEmpty_1.default)(currentPackages[depPath].optionalDependencies ?? {}) && (0, isEmpty_1.default)(pkgSnapshot.optionalDependencies ?? {}) && !opts.includeUnchangedDeps) { dirExists = await (0, path_exists_1.default)(dir); if (dirExists) return; brokenModulesLogger.debug({ missing: dir }); } let fetchResponse; if (depIsPresent && depIntegrityIsUnchanged && (0, equals_1.default)(currentPackages[depPath].optionalDependencies, pkgSnapshot.optionalDependencies)) { if (dirExists ?? await (0, path_exists_1.default)(dir)) { fetchResponse = {}; } else { brokenModulesLogger.debug({ missing: dir }); } } if (!fetchResponse) { const resolution = (0, lockfile_utils_1.pkgSnapshotToResolution)(depPath, pkgSnapshot, opts.registries); core_loggers_1.progressLogger.debug({ packageId, requester: opts.lockfileDir, status: "resolved" }); try { fetchResponse = await opts.storeController.fetchPackage({ allowBuild: opts.allowBuild, force: false, lockfileDir: opts.lockfileDir, ignoreScripts: opts.ignoreScripts, pkg: { name: pkgName, version: pkgVersion, id: packageId, resolution }, supportedArchitectures: opts.supportedArchitectures }); } catch (err) { if (pkgSnapshot.optional) return; throw err; } } graph[dir] = { children: {}, pkgIdWithPatchHash, resolution: pkgSnapshot.resolution, depPath, dir, fetching: fetchResponse.fetching, filesIndexFile: fetchResponse.filesIndexFile, forceImportPackage: !depIntegrityIsUnchanged, hasBin: pkgSnapshot.hasBin === true, hasBundledDependencies: pkgSnapshot.bundledDependencies != null, modules, name: pkgName, version: pkgVersion, optional: !!pkgSnapshot.optional, optionalDependencies: new Set(Object.keys(pkgSnapshot.optionalDependencies ?? {})), patch: _getPatchInfo(pkgName, pkgVersion) }; })()); } await Promise.all(promises); return { graph, locationByDepPath }; } function getChildrenPaths(ctx, allDeps, peerDeps, importerId) { const children = {}; for (const [alias, ref] of Object.entries(allDeps)) { const childDepPath = dp.refToRelative(ref, alias); if (childDepPath === null) { children[alias] = path_1.default.resolve(ctx.lockfileDir, importerId, ref.slice(5)); continue; } const childRelDepPath = dp.refToRelative(ref, alias); if (ctx.locationByDepPath[childRelDepPath]) { children[alias] = ctx.locationByDepPath[childRelDepPath]; } else if (ctx.graph[childRelDepPath]) { children[alias] = ctx.graph[childRelDepPath].dir; } else if (ref.startsWith("file:")) { children[alias] = path_1.default.resolve(ctx.lockfileDir, ref.slice(5)); } else if (!ctx.skipped.has(childRelDepPath) && (peerDeps == null || !peerDeps.has(alias))) { throw new Error(`${childRelDepPath} not found in ${constants_1.WANTED_LOCKFILE}`); } } return children; } function isIntegrityEqual(resolutionA, resolutionB) { const integrityA = resolutionA?.integrity; const integrityB = resolutionB?.integrity; return integrityA === integrityB; } } }); // ../deps/graph-builder/lib/index.js var require_lib161 = __commonJS({ "../deps/graph-builder/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); __exportStar2(require_lockfileToDepGraph(), exports2); } }); // ../node_modules/.pnpm/@yarnpkg+nm@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/nm/lib/hoist.js var require_hoist = __commonJS({ "../node_modules/.pnpm/@yarnpkg+nm@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/nm/lib/hoist.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.hoist = exports2.HoisterDependencyKind = void 0; var HoisterDependencyKind; (function(HoisterDependencyKind2) { HoisterDependencyKind2[HoisterDependencyKind2["REGULAR"] = 0] = "REGULAR"; HoisterDependencyKind2[HoisterDependencyKind2["WORKSPACE"] = 1] = "WORKSPACE"; HoisterDependencyKind2[HoisterDependencyKind2["EXTERNAL_SOFT_LINK"] = 2] = "EXTERNAL_SOFT_LINK"; })(HoisterDependencyKind || (exports2.HoisterDependencyKind = HoisterDependencyKind = {})); var Hoistable; (function(Hoistable2) { Hoistable2[Hoistable2["YES"] = 0] = "YES"; Hoistable2[Hoistable2["NO"] = 1] = "NO"; Hoistable2[Hoistable2["DEPENDS"] = 2] = "DEPENDS"; })(Hoistable || (Hoistable = {})); var makeLocator = (name, reference) => `${name}@${reference}`; var makeIdent = (name, reference) => { const hashIdx = reference.indexOf(`#`); const realReference = hashIdx >= 0 ? reference.substring(hashIdx + 1) : reference; return makeLocator(name, realReference); }; var DebugLevel; (function(DebugLevel2) { DebugLevel2[DebugLevel2["NONE"] = -1] = "NONE"; DebugLevel2[DebugLevel2["PERF"] = 0] = "PERF"; DebugLevel2[DebugLevel2["CHECK"] = 1] = "CHECK"; DebugLevel2[DebugLevel2["REASONS"] = 2] = "REASONS"; DebugLevel2[DebugLevel2["INTENSIVE_CHECK"] = 9] = "INTENSIVE_CHECK"; })(DebugLevel || (DebugLevel = {})); var hoist = (tree, opts = {}) => { const debugLevel = opts.debugLevel || Number(process.env.NM_DEBUG_LEVEL || DebugLevel.NONE); const check = opts.check || debugLevel >= DebugLevel.INTENSIVE_CHECK; const hoistingLimits = opts.hoistingLimits || /* @__PURE__ */ new Map(); const options = { check, debugLevel, hoistingLimits, fastLookupPossible: true }; let startTime; if (options.debugLevel >= DebugLevel.PERF) startTime = Date.now(); const treeCopy = cloneTree(tree, options); let anotherRoundNeeded = false; let round = 0; do { const result2 = hoistTo(treeCopy, [treeCopy], /* @__PURE__ */ new Set([treeCopy.locator]), /* @__PURE__ */ new Map(), options); anotherRoundNeeded = result2.anotherRoundNeeded || result2.isGraphChanged; options.fastLookupPossible = false; round++; } while (anotherRoundNeeded); if (options.debugLevel >= DebugLevel.PERF) console.log(`hoist time: ${Date.now() - startTime}ms, rounds: ${round}`); if (options.debugLevel >= DebugLevel.CHECK) { const prevTreeDump = dumpDepTree(treeCopy); const isGraphChanged = hoistTo(treeCopy, [treeCopy], /* @__PURE__ */ new Set([treeCopy.locator]), /* @__PURE__ */ new Map(), options).isGraphChanged; if (isGraphChanged) throw new Error(`The hoisting result is not terminal, prev tree: ${prevTreeDump}, next tree: ${dumpDepTree(treeCopy)}`); const checkLog = selfCheck(treeCopy); if (checkLog) { throw new Error(`${checkLog}, after hoisting finished: ${dumpDepTree(treeCopy)}`); } } if (options.debugLevel >= DebugLevel.REASONS) console.log(dumpDepTree(treeCopy)); return shrinkTree(treeCopy); }; exports2.hoist = hoist; var getZeroRoundUsedDependencies = (rootNodePath) => { const rootNode = rootNodePath[rootNodePath.length - 1]; const usedDependencies = /* @__PURE__ */ new Map(); const seenNodes = /* @__PURE__ */ new Set(); const addUsedDependencies = (node) => { if (seenNodes.has(node)) return; seenNodes.add(node); for (const dep of node.hoistedDependencies.values()) usedDependencies.set(dep.name, dep); for (const dep of node.dependencies.values()) { if (!node.peerNames.has(dep.name)) { addUsedDependencies(dep); } } }; addUsedDependencies(rootNode); return usedDependencies; }; var getUsedDependencies = (rootNodePath) => { const rootNode = rootNodePath[rootNodePath.length - 1]; const usedDependencies = /* @__PURE__ */ new Map(); const seenNodes = /* @__PURE__ */ new Set(); const hiddenDependencies = /* @__PURE__ */ new Set(); const addUsedDependencies = (node, hiddenDependencies2) => { if (seenNodes.has(node)) return; seenNodes.add(node); for (const dep of node.hoistedDependencies.values()) { if (!hiddenDependencies2.has(dep.name)) { let reachableDependency; for (const node2 of rootNodePath) { reachableDependency = node2.dependencies.get(dep.name); if (reachableDependency) { usedDependencies.set(reachableDependency.name, reachableDependency); } } } } const childrenHiddenDependencies = /* @__PURE__ */ new Set(); for (const dep of node.dependencies.values()) childrenHiddenDependencies.add(dep.name); for (const dep of node.dependencies.values()) { if (!node.peerNames.has(dep.name)) { addUsedDependencies(dep, childrenHiddenDependencies); } } }; addUsedDependencies(rootNode, hiddenDependencies); return usedDependencies; }; var decoupleGraphNode = (parent, node) => { if (node.decoupled) return node; const { name, references, ident, locator, dependencies, originalDependencies, hoistedDependencies, peerNames, reasons, isHoistBorder, hoistPriority, dependencyKind, hoistedFrom, hoistedTo } = node; const clone = { name, references: new Set(references), ident, locator, dependencies: new Map(dependencies), originalDependencies: new Map(originalDependencies), hoistedDependencies: new Map(hoistedDependencies), peerNames: new Set(peerNames), reasons: new Map(reasons), decoupled: true, isHoistBorder, hoistPriority, dependencyKind, hoistedFrom: new Map(hoistedFrom), hoistedTo: new Map(hoistedTo) }; const selfDep = clone.dependencies.get(name); if (selfDep && selfDep.ident == clone.ident) clone.dependencies.set(name, clone); parent.dependencies.set(clone.name, clone); return clone; }; var getHoistIdentMap = (rootNode, preferenceMap) => { const identMap = /* @__PURE__ */ new Map([[rootNode.name, [rootNode.ident]]]); for (const dep of rootNode.dependencies.values()) { if (!rootNode.peerNames.has(dep.name)) { identMap.set(dep.name, [dep.ident]); } } const keyList = Array.from(preferenceMap.keys()); keyList.sort((key1, key2) => { const entry1 = preferenceMap.get(key1); const entry2 = preferenceMap.get(key2); if (entry2.hoistPriority !== entry1.hoistPriority) { return entry2.hoistPriority - entry1.hoistPriority; } else { const entry1Usages = entry1.dependents.size + entry1.peerDependents.size; const entry2Usages = entry2.dependents.size + entry2.peerDependents.size; return entry2Usages - entry1Usages; } }); for (const key of keyList) { const name = key.substring(0, key.indexOf(`@`, 1)); const ident = key.substring(name.length + 1); if (!rootNode.peerNames.has(name)) { let idents = identMap.get(name); if (!idents) { idents = []; identMap.set(name, idents); } if (idents.indexOf(ident) < 0) { idents.push(ident); } } } return identMap; }; var getSortedRegularDependencies = (node) => { const dependencies = /* @__PURE__ */ new Set(); const addDep = (dep, seenDeps = /* @__PURE__ */ new Set()) => { if (seenDeps.has(dep)) return; seenDeps.add(dep); for (const peerName of dep.peerNames) { if (!node.peerNames.has(peerName)) { const peerDep = node.dependencies.get(peerName); if (peerDep && !dependencies.has(peerDep)) { addDep(peerDep, seenDeps); } } } dependencies.add(dep); }; for (const dep of node.dependencies.values()) { if (!node.peerNames.has(dep.name)) { addDep(dep); } } return dependencies; }; var hoistTo = (tree, rootNodePath, rootNodePathLocators, parentShadowedNodes, options, seenNodes = /* @__PURE__ */ new Set()) => { const rootNode = rootNodePath[rootNodePath.length - 1]; if (seenNodes.has(rootNode)) return { anotherRoundNeeded: false, isGraphChanged: false }; seenNodes.add(rootNode); const preferenceMap = buildPreferenceMap(rootNode); const hoistIdentMap = getHoistIdentMap(rootNode, preferenceMap); const usedDependencies = tree == rootNode ? /* @__PURE__ */ new Map() : options.fastLookupPossible ? getZeroRoundUsedDependencies(rootNodePath) : getUsedDependencies(rootNodePath); let wasStateChanged; let anotherRoundNeeded = false; let isGraphChanged = false; const hoistIdents = new Map(Array.from(hoistIdentMap.entries()).map(([k, v]) => [k, v[0]])); const shadowedNodes = /* @__PURE__ */ new Map(); do { const result2 = hoistGraph(tree, rootNodePath, rootNodePathLocators, usedDependencies, hoistIdents, hoistIdentMap, parentShadowedNodes, shadowedNodes, options); if (result2.isGraphChanged) isGraphChanged = true; if (result2.anotherRoundNeeded) anotherRoundNeeded = true; wasStateChanged = false; for (const [name, idents] of hoistIdentMap) { if (idents.length > 1 && !rootNode.dependencies.has(name)) { hoistIdents.delete(name); idents.shift(); hoistIdents.set(name, idents[0]); wasStateChanged = true; } } } while (wasStateChanged); for (const dependency of rootNode.dependencies.values()) { if (!rootNode.peerNames.has(dependency.name) && !rootNodePathLocators.has(dependency.locator)) { rootNodePathLocators.add(dependency.locator); const result2 = hoistTo(tree, [...rootNodePath, dependency], rootNodePathLocators, shadowedNodes, options); if (result2.isGraphChanged) isGraphChanged = true; if (result2.anotherRoundNeeded) anotherRoundNeeded = true; rootNodePathLocators.delete(dependency.locator); } } return { anotherRoundNeeded, isGraphChanged }; }; var hasUnhoistedDependencies = (node) => { for (const [subName, subDependency] of node.dependencies) { if (!node.peerNames.has(subName) && subDependency.ident !== node.ident) { return true; } } return false; }; var getNodeHoistInfo = (rootNode, rootNodePathLocators, nodePath, node, usedDependencies, hoistIdents, hoistIdentMap, shadowedNodes, { outputReason, fastLookupPossible }) => { let reasonRoot; let reason = null; let dependsOn = /* @__PURE__ */ new Set(); if (outputReason) reasonRoot = `${Array.from(rootNodePathLocators).map((x) => prettyPrintLocator(x)).join(`\u2192`)}`; const parentNode = nodePath[nodePath.length - 1]; const isSelfReference = node.ident === parentNode.ident; let isHoistable = !isSelfReference; if (outputReason && !isHoistable) reason = `- self-reference`; if (isHoistable) { isHoistable = node.dependencyKind !== HoisterDependencyKind.WORKSPACE; if (outputReason && !isHoistable) { reason = `- workspace`; } } if (isHoistable && node.dependencyKind === HoisterDependencyKind.EXTERNAL_SOFT_LINK) { isHoistable = !hasUnhoistedDependencies(node); if (outputReason && !isHoistable) { reason = `- external soft link with unhoisted dependencies`; } } if (isHoistable) { isHoistable = !rootNode.peerNames.has(node.name); if (outputReason && !isHoistable) { reason = `- cannot shadow peer: ${prettyPrintLocator(rootNode.originalDependencies.get(node.name).locator)} at ${reasonRoot}`; } } if (isHoistable) { let isNameAvailable = false; const usedDep = usedDependencies.get(node.name); isNameAvailable = !usedDep || usedDep.ident === node.ident; if (outputReason && !isNameAvailable) reason = `- filled by: ${prettyPrintLocator(usedDep.locator)} at ${reasonRoot}`; if (isNameAvailable) { for (let idx = nodePath.length - 1; idx >= 1; idx--) { const parent = nodePath[idx]; const parentDep = parent.dependencies.get(node.name); if (parentDep && parentDep.ident !== node.ident) { isNameAvailable = false; let shadowedNames = shadowedNodes.get(parentNode); if (!shadowedNames) { shadowedNames = /* @__PURE__ */ new Set(); shadowedNodes.set(parentNode, shadowedNames); } shadowedNames.add(node.name); if (outputReason) reason = `- filled by ${prettyPrintLocator(parentDep.locator)} at ${nodePath.slice(0, idx).map((x) => prettyPrintLocator(x.locator)).join(`\u2192`)}`; break; } } } isHoistable = isNameAvailable; } if (isHoistable) { const hoistedIdent = hoistIdents.get(node.name); isHoistable = hoistedIdent === node.ident; if (outputReason && !isHoistable) { reason = `- filled by: ${prettyPrintLocator(hoistIdentMap.get(node.name)[0])} at ${reasonRoot}`; } } if (isHoistable) { let arePeerDepsSatisfied = true; const checkList = new Set(node.peerNames); for (let idx = nodePath.length - 1; idx >= 1; idx--) { const parent = nodePath[idx]; for (const name of checkList) { if (parent.peerNames.has(name) && parent.originalDependencies.has(name)) continue; const parentDepNode = parent.dependencies.get(name); if (parentDepNode && rootNode.dependencies.get(name) !== parentDepNode) { if (idx === nodePath.length - 1) { dependsOn.add(parentDepNode); } else { dependsOn = null; arePeerDepsSatisfied = false; if (outputReason) { reason = `- peer dependency ${prettyPrintLocator(parentDepNode.locator)} from parent ${prettyPrintLocator(parent.locator)} was not hoisted to ${reasonRoot}`; } } } checkList.delete(name); } if (!arePeerDepsSatisfied) { break; } } isHoistable = arePeerDepsSatisfied; } if (isHoistable && !fastLookupPossible) { for (const origDep of node.hoistedDependencies.values()) { const usedDep = usedDependencies.get(origDep.name) || rootNode.dependencies.get(origDep.name); if (!usedDep || origDep.ident !== usedDep.ident) { isHoistable = false; if (outputReason) reason = `- previously hoisted dependency mismatch, needed: ${prettyPrintLocator(origDep.locator)}, available: ${prettyPrintLocator(usedDep?.locator)}`; break; } } } if (dependsOn !== null && dependsOn.size > 0) { return { isHoistable: Hoistable.DEPENDS, dependsOn, reason }; } else { return { isHoistable: isHoistable ? Hoistable.YES : Hoistable.NO, reason }; } }; var getAliasedLocator = (node) => `${node.name}@${node.locator}`; var hoistGraph = (tree, rootNodePath, rootNodePathLocators, usedDependencies, hoistIdents, hoistIdentMap, parentShadowedNodes, shadowedNodes, options) => { const rootNode = rootNodePath[rootNodePath.length - 1]; const seenNodes = /* @__PURE__ */ new Set(); let anotherRoundNeeded = false; let isGraphChanged = false; const hoistNodeDependencies = (nodePath, locatorPath, aliasedLocatorPath, parentNode, newNodes2) => { if (seenNodes.has(parentNode)) return; const nextLocatorPath = [...locatorPath, getAliasedLocator(parentNode)]; const nextAliasedLocatorPath = [...aliasedLocatorPath, getAliasedLocator(parentNode)]; const dependantTree = /* @__PURE__ */ new Map(); const hoistInfos = /* @__PURE__ */ new Map(); for (const subDependency of getSortedRegularDependencies(parentNode)) { const hoistInfo = getNodeHoistInfo(rootNode, rootNodePathLocators, [rootNode, ...nodePath, parentNode], subDependency, usedDependencies, hoistIdents, hoistIdentMap, shadowedNodes, { outputReason: options.debugLevel >= DebugLevel.REASONS, fastLookupPossible: options.fastLookupPossible }); hoistInfos.set(subDependency, hoistInfo); if (hoistInfo.isHoistable === Hoistable.DEPENDS) { for (const node of hoistInfo.dependsOn) { const nodeDependants = dependantTree.get(node.name) || /* @__PURE__ */ new Set(); nodeDependants.add(subDependency.name); dependantTree.set(node.name, nodeDependants); } } } const unhoistableNodes = /* @__PURE__ */ new Set(); const addUnhoistableNode = (node, hoistInfo, reason) => { if (!unhoistableNodes.has(node)) { unhoistableNodes.add(node); hoistInfos.set(node, { isHoistable: Hoistable.NO, reason }); for (const dependantName of dependantTree.get(node.name) || []) { addUnhoistableNode(parentNode.dependencies.get(dependantName), hoistInfo, options.debugLevel >= DebugLevel.REASONS ? `- peer dependency ${prettyPrintLocator(node.locator)} from parent ${prettyPrintLocator(parentNode.locator)} was not hoisted` : ``); } } }; for (const [node, hoistInfo] of hoistInfos) if (hoistInfo.isHoistable === Hoistable.NO) addUnhoistableNode(node, hoistInfo, hoistInfo.reason); let wereNodesHoisted = false; for (const node of hoistInfos.keys()) { if (!unhoistableNodes.has(node)) { isGraphChanged = true; const shadowedNames = parentShadowedNodes.get(parentNode); if (shadowedNames && shadowedNames.has(node.name)) anotherRoundNeeded = true; wereNodesHoisted = true; parentNode.dependencies.delete(node.name); parentNode.hoistedDependencies.set(node.name, node); parentNode.reasons.delete(node.name); const hoistedNode = rootNode.dependencies.get(node.name); if (options.debugLevel >= DebugLevel.REASONS) { const hoistedFrom = Array.from(locatorPath).concat([parentNode.locator]).map((x) => prettyPrintLocator(x)).join(`\u2192`); let hoistedFromArray = rootNode.hoistedFrom.get(node.name); if (!hoistedFromArray) { hoistedFromArray = []; rootNode.hoistedFrom.set(node.name, hoistedFromArray); } hoistedFromArray.push(hoistedFrom); parentNode.hoistedTo.set(node.name, Array.from(rootNodePath).map((x) => prettyPrintLocator(x.locator)).join(`\u2192`)); } if (!hoistedNode) { if (rootNode.ident !== node.ident) { rootNode.dependencies.set(node.name, node); newNodes2.add(node); } } else { for (const reference of node.references) { hoistedNode.references.add(reference); } } } } if (parentNode.dependencyKind === HoisterDependencyKind.EXTERNAL_SOFT_LINK && wereNodesHoisted) anotherRoundNeeded = true; if (options.check) { const checkLog = selfCheck(tree); if (checkLog) { throw new Error(`${checkLog}, after hoisting dependencies of ${[rootNode, ...nodePath, parentNode].map((x) => prettyPrintLocator(x.locator)).join(`\u2192`)}: ${dumpDepTree(tree)}`); } } const children = getSortedRegularDependencies(parentNode); for (const node of children) { if (unhoistableNodes.has(node)) { const hoistInfo = hoistInfos.get(node); const hoistableIdent = hoistIdents.get(node.name); if ((hoistableIdent === node.ident || !parentNode.reasons.has(node.name)) && hoistInfo.isHoistable !== Hoistable.YES) parentNode.reasons.set(node.name, hoistInfo.reason); if (!node.isHoistBorder && nextAliasedLocatorPath.indexOf(getAliasedLocator(node)) < 0) { seenNodes.add(parentNode); const decoupledNode = decoupleGraphNode(parentNode, node); hoistNodeDependencies([...nodePath, parentNode], nextLocatorPath, nextAliasedLocatorPath, decoupledNode, nextNewNodes); seenNodes.delete(parentNode); } } } }; let newNodes; let nextNewNodes = new Set(getSortedRegularDependencies(rootNode)); const aliasedRootNodePathLocators = Array.from(rootNodePath).map((x) => getAliasedLocator(x)); do { newNodes = nextNewNodes; nextNewNodes = /* @__PURE__ */ new Set(); for (const dep of newNodes) { if (dep.locator === rootNode.locator || dep.isHoistBorder) continue; const decoupledDependency = decoupleGraphNode(rootNode, dep); hoistNodeDependencies([], Array.from(rootNodePathLocators), aliasedRootNodePathLocators, decoupledDependency, nextNewNodes); } } while (nextNewNodes.size > 0); return { anotherRoundNeeded, isGraphChanged }; }; var selfCheck = (tree) => { const log = []; const seenNodes = /* @__PURE__ */ new Set(); const parents = /* @__PURE__ */ new Set(); const checkNode = (node, parentDeps, parent) => { if (seenNodes.has(node)) return; seenNodes.add(node); if (parents.has(node)) return; const dependencies = new Map(parentDeps); for (const dep of node.dependencies.values()) if (!node.peerNames.has(dep.name)) dependencies.set(dep.name, dep); for (const origDep of node.originalDependencies.values()) { const dep = dependencies.get(origDep.name); const prettyPrintTreePath = () => `${Array.from(parents).concat([node]).map((x) => prettyPrintLocator(x.locator)).join(`\u2192`)}`; if (node.peerNames.has(origDep.name)) { const parentDep = parentDeps.get(origDep.name); if (parentDep !== dep || !parentDep || parentDep.ident !== origDep.ident) { log.push(`${prettyPrintTreePath()} - broken peer promise: expected ${origDep.ident} but found ${parentDep ? parentDep.ident : parentDep}`); } } else { const hoistedFrom = parent.hoistedFrom.get(node.name); const originalHoistedTo = node.hoistedTo.get(origDep.name); const prettyHoistedFrom = `${hoistedFrom ? ` hoisted from ${hoistedFrom.join(`, `)}` : ``}`; const prettyOriginalHoistedTo = `${originalHoistedTo ? ` hoisted to ${originalHoistedTo}` : ``}`; const prettyNodePath = `${prettyPrintTreePath()}${prettyHoistedFrom}`; if (!dep) { log.push(`${prettyNodePath} - broken require promise: no required dependency ${origDep.name}${prettyOriginalHoistedTo} found`); } else if (dep.ident !== origDep.ident) { log.push(`${prettyNodePath} - broken require promise for ${origDep.name}${prettyOriginalHoistedTo}: expected ${origDep.ident}, but found: ${dep.ident}`); } } } parents.add(node); for (const dep of node.dependencies.values()) { if (!node.peerNames.has(dep.name)) { checkNode(dep, dependencies, node); } } parents.delete(node); }; checkNode(tree, tree.dependencies, tree); return log.join(` `); }; var cloneTree = (tree, options) => { const { identName, name, reference, peerNames } = tree; const treeCopy = { name, references: /* @__PURE__ */ new Set([reference]), locator: makeLocator(identName, reference), ident: makeIdent(identName, reference), dependencies: /* @__PURE__ */ new Map(), originalDependencies: /* @__PURE__ */ new Map(), hoistedDependencies: /* @__PURE__ */ new Map(), peerNames: new Set(peerNames), reasons: /* @__PURE__ */ new Map(), decoupled: true, isHoistBorder: true, hoistPriority: 0, dependencyKind: HoisterDependencyKind.WORKSPACE, hoistedFrom: /* @__PURE__ */ new Map(), hoistedTo: /* @__PURE__ */ new Map() }; const seenNodes = /* @__PURE__ */ new Map([[tree, treeCopy]]); const addNode = (node, parentNode) => { let workNode = seenNodes.get(node); const isSeen = !!workNode; if (!workNode) { const { name: name2, identName: identName2, reference: reference2, peerNames: peerNames2, hoistPriority, dependencyKind } = node; const dependenciesNmHoistingLimits = options.hoistingLimits.get(parentNode.locator); workNode = { name: name2, references: /* @__PURE__ */ new Set([reference2]), locator: makeLocator(identName2, reference2), ident: makeIdent(identName2, reference2), dependencies: /* @__PURE__ */ new Map(), originalDependencies: /* @__PURE__ */ new Map(), hoistedDependencies: /* @__PURE__ */ new Map(), peerNames: new Set(peerNames2), reasons: /* @__PURE__ */ new Map(), decoupled: true, isHoistBorder: dependenciesNmHoistingLimits ? dependenciesNmHoistingLimits.has(name2) : false, hoistPriority: hoistPriority || 0, dependencyKind: dependencyKind || HoisterDependencyKind.REGULAR, hoistedFrom: /* @__PURE__ */ new Map(), hoistedTo: /* @__PURE__ */ new Map() }; seenNodes.set(node, workNode); } parentNode.dependencies.set(node.name, workNode); parentNode.originalDependencies.set(node.name, workNode); if (!isSeen) { for (const dep of node.dependencies) { addNode(dep, workNode); } } else { const seenCoupledNodes = /* @__PURE__ */ new Set(); const markNodeCoupled = (node2) => { if (seenCoupledNodes.has(node2)) return; seenCoupledNodes.add(node2); node2.decoupled = false; for (const dep of node2.dependencies.values()) { if (!node2.peerNames.has(dep.name)) { markNodeCoupled(dep); } } }; markNodeCoupled(workNode); } }; for (const dep of tree.dependencies) addNode(dep, treeCopy); return treeCopy; }; var getIdentName = (locator) => locator.substring(0, locator.indexOf(`@`, 1)); var shrinkTree = (tree) => { const treeCopy = { name: tree.name, identName: getIdentName(tree.locator), references: new Set(tree.references), dependencies: /* @__PURE__ */ new Set() }; const seenNodes = /* @__PURE__ */ new Set([tree]); const addNode = (node, parentWorkNode, parentNode) => { const isSeen = seenNodes.has(node); let resultNode; if (parentWorkNode === node) { resultNode = parentNode; } else { const { name, references, locator } = node; resultNode = { name, identName: getIdentName(locator), references, dependencies: /* @__PURE__ */ new Set() }; } parentNode.dependencies.add(resultNode); if (!isSeen) { seenNodes.add(node); for (const dep of node.dependencies.values()) { if (!node.peerNames.has(dep.name)) { addNode(dep, node, resultNode); } } seenNodes.delete(node); } }; for (const dep of tree.dependencies.values()) addNode(dep, tree, treeCopy); return treeCopy; }; var buildPreferenceMap = (rootNode) => { const preferenceMap = /* @__PURE__ */ new Map(); const seenNodes = /* @__PURE__ */ new Set([rootNode]); const getPreferenceKey = (node) => `${node.name}@${node.ident}`; const getOrCreatePreferenceEntry = (node) => { const key = getPreferenceKey(node); let entry = preferenceMap.get(key); if (!entry) { entry = { dependents: /* @__PURE__ */ new Set(), peerDependents: /* @__PURE__ */ new Set(), hoistPriority: 0 }; preferenceMap.set(key, entry); } return entry; }; const addDependent = (dependent, node) => { const isSeen = !!seenNodes.has(node); const entry = getOrCreatePreferenceEntry(node); entry.dependents.add(dependent.ident); if (!isSeen) { seenNodes.add(node); for (const dep of node.dependencies.values()) { const entry2 = getOrCreatePreferenceEntry(dep); entry2.hoistPriority = Math.max(entry2.hoistPriority, dep.hoistPriority); if (node.peerNames.has(dep.name)) { entry2.peerDependents.add(node.ident); } else { addDependent(node, dep); } } } }; for (const dep of rootNode.dependencies.values()) if (!rootNode.peerNames.has(dep.name)) addDependent(rootNode, dep); return preferenceMap; }; var prettyPrintLocator = (locator) => { if (!locator) return `none`; const idx = locator.indexOf(`@`, 1); let name = locator.substring(0, idx); if (name.endsWith(`$wsroot$`)) name = `wh:${name.replace(`$wsroot$`, ``)}`; const reference = locator.substring(idx + 1); if (reference === `workspace:.`) { return `.`; } else if (!reference) { return `${name}`; } else { let version2 = (reference.indexOf(`#`) > 0 ? reference.split(`#`)[1] : reference).replace(`npm:`, ``); if (reference.startsWith(`virtual`)) name = `v:${name}`; if (version2.startsWith(`workspace`)) { name = `w:${name}`; version2 = ``; } return `${name}${version2 ? `@${version2}` : ``}`; } }; var MAX_NODES_TO_DUMP = 5e4; var dumpDepTree = (tree) => { let nodeCount = 0; const dumpPackage = (pkg, parents, prefix = ``) => { if (nodeCount > MAX_NODES_TO_DUMP || parents.has(pkg)) return ``; nodeCount++; const dependencies = Array.from(pkg.dependencies.values()).sort((n1, n2) => { if (n1.name === n2.name) { return 0; } else { return n1.name > n2.name ? 1 : -1; } }); let str = ``; parents.add(pkg); for (let idx = 0; idx < dependencies.length; idx++) { const dep = dependencies[idx]; if (!pkg.peerNames.has(dep.name) && dep !== pkg) { const reason = pkg.reasons.get(dep.name); const identName = getIdentName(dep.locator); str += `${prefix}${idx < dependencies.length - 1 ? `\u251C\u2500` : `\u2514\u2500`}${(parents.has(dep) ? `>` : ``) + (identName !== dep.name ? `a:${dep.name}:` : ``) + prettyPrintLocator(dep.locator) + (reason ? ` ${reason}` : ``)} `; str += dumpPackage(dep, parents, `${prefix}${idx < dependencies.length - 1 ? `\u2502 ` : ` `}`); } } parents.delete(pkg); return str; }; const treeDump = dumpPackage(tree, /* @__PURE__ */ new Set()); return treeDump + (nodeCount > MAX_NODES_TO_DUMP ? ` Tree is too large, part of the tree has been dunped ` : ``); }; } }); // ../pkg-manager/real-hoist/lib/index.js var require_lib162 = __commonJS({ "../pkg-manager/real-hoist/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.hoist = hoist; var error_1 = require_lib6(); var lockfile_utils_1 = require_lib125(); var dp = __importStar3(require_lib86()); var hoist_1 = require_hoist(); function hoist(lockfile, opts) { const nodes = /* @__PURE__ */ new Map(); const ctx = { autoInstallPeers: opts?.autoInstallPeers, nodes, lockfile, depPathByPkgId: /* @__PURE__ */ new Map() }; const _toTree = toTree.bind(null, ctx); const node = { name: ".", identName: ".", reference: "", peerNames: /* @__PURE__ */ new Set([]), dependencyKind: hoist_1.HoisterDependencyKind.WORKSPACE, dependencies: _toTree({ ...lockfile.importers["."]?.dependencies, ...lockfile.importers["."]?.devDependencies, ...lockfile.importers["."]?.optionalDependencies, ...Array.from(opts?.externalDependencies ?? []).reduce((acc, dep) => { acc[dep] = "link:"; return acc; }, {}) }) }; for (const [importerId, importer] of Object.entries(lockfile.importers)) { if (importerId === ".") continue; const importerNode = { name: encodeURIComponent(importerId), identName: encodeURIComponent(importerId), reference: `workspace:${importerId}`, peerNames: /* @__PURE__ */ new Set([]), dependencyKind: hoist_1.HoisterDependencyKind.WORKSPACE, dependencies: _toTree({ ...importer.dependencies, ...importer.devDependencies, ...importer.optionalDependencies }) }; node.dependencies.add(importerNode); } const hoisterResult = (0, hoist_1.hoist)(node, opts); if (opts?.externalDependencies) { for (const hoistedDep of hoisterResult.dependencies.values()) { if (opts.externalDependencies.has(hoistedDep.name)) { hoisterResult.dependencies.delete(hoistedDep); } } } return hoisterResult; } function toTree({ nodes, lockfile, depPathByPkgId, autoInstallPeers }, deps) { return new Set(Object.entries(deps).map(([alias, ref]) => { const depPath = dp.refToRelative(ref, alias); if (!depPath) { const key2 = `${alias}:${ref}`; let node2 = nodes.get(key2); if (!node2) { node2 = { name: alias, identName: alias, reference: ref, dependencyKind: hoist_1.HoisterDependencyKind.REGULAR, dependencies: /* @__PURE__ */ new Set(), peerNames: /* @__PURE__ */ new Set() }; nodes.set(key2, node2); } return node2; } const key = `${alias}:${depPath}`; let node = nodes.get(key); if (!node) { const pkgSnapshot = lockfile.packages[depPath]; if (!pkgSnapshot) { throw new error_1.LockfileMissingDependencyError(depPath); } const { name: pkgName, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); const id = `${pkgName}@${version2}`; if (!depPathByPkgId.has(id)) { depPathByPkgId.set(id, depPath); } node = { name: alias, identName: pkgName, reference: depPathByPkgId.get(id), dependencyKind: hoist_1.HoisterDependencyKind.REGULAR, dependencies: /* @__PURE__ */ new Set(), peerNames: new Set(autoInstallPeers ? [] : [ ...Object.keys(pkgSnapshot.peerDependencies ?? {}), ...pkgSnapshot.transitivePeerDependencies ?? [] ]) }; nodes.set(key, node); node.dependencies = toTree({ nodes, lockfile, depPathByPkgId, autoInstallPeers }, { ...pkgSnapshot.dependencies, ...pkgSnapshot.optionalDependencies }); } return node; })); } } }); // ../pkg-manager/headless/lib/lockfileToHoistedDepGraph.js var require_lockfileToHoistedDepGraph = __commonJS({ "../pkg-manager/headless/lib/lockfileToHoistedDepGraph.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.lockfileToHoistedDepGraph = lockfileToHoistedDepGraph; var path_exists_1 = __importDefault2(require_path_exists2()); var path_1 = __importDefault2(require("path")); var lockfile_utils_1 = require_lib125(); var package_is_installable_1 = require_lib85(); var patching_config_1 = require_lib160(); var read_package_json_1 = require_lib61(); var real_hoist_1 = require_lib162(); var dp = __importStar3(require_lib86()); async function lockfileToHoistedDepGraph(lockfile, currentLockfile, opts) { let prevGraph; if (currentLockfile?.packages != null) { prevGraph = (await _lockfileToHoistedDepGraph(currentLockfile, { ...opts, force: true, skipped: /* @__PURE__ */ new Set() })).graph; } else { prevGraph = {}; } return { ...await _lockfileToHoistedDepGraph(lockfile, opts), prevGraph }; } async function _lockfileToHoistedDepGraph(lockfile, opts) { const tree = (0, real_hoist_1.hoist)(lockfile, { hoistingLimits: opts.hoistingLimits, externalDependencies: opts.externalDependencies, autoInstallPeers: opts.autoInstallPeers }); const graph = {}; const modulesDir = path_1.default.join(opts.lockfileDir, opts.modulesDir ?? "node_modules"); const fetchDepsOpts = { ...opts, lockfile, graph, pkgLocationsByDepPath: {}, hoistedLocations: {} }; const hierarchy = { [opts.lockfileDir]: await fetchDeps(fetchDepsOpts, modulesDir, tree.dependencies) }; const directDependenciesByImporterId = { ".": directDepsMap(Object.keys(hierarchy[opts.lockfileDir]), graph) }; const symlinkedDirectDependenciesByImporterId = { ".": {} }; await Promise.all(Array.from(tree.dependencies).map(async (rootDep) => { const reference = Array.from(rootDep.references)[0]; if (reference.startsWith("workspace:")) { const importerId = reference.replace("workspace:", ""); const projectDir = path_1.default.join(opts.lockfileDir, importerId); const modulesDir2 = path_1.default.join(projectDir, "node_modules"); const nextHierarchy = await fetchDeps(fetchDepsOpts, modulesDir2, rootDep.dependencies); hierarchy[projectDir] = nextHierarchy; const importer = lockfile.importers[importerId]; const importerDir = path_1.default.join(opts.lockfileDir, importerId); symlinkedDirectDependenciesByImporterId[importerId] = pickLinkedDirectDeps(importer, importerDir, opts.include); directDependenciesByImporterId[importerId] = directDepsMap(Object.keys(nextHierarchy), graph); } })); return { directDependenciesByImporterId, graph, hierarchy, pkgLocationsByDepPath: fetchDepsOpts.pkgLocationsByDepPath, symlinkedDirectDependenciesByImporterId, hoistedLocations: fetchDepsOpts.hoistedLocations }; } function directDepsMap(directDepDirs, graph) { const acc = {}; for (const dir of directDepDirs) { acc[graph[dir].alias] = dir; } return acc; } function pickLinkedDirectDeps(importer, importerDir, include) { const rootDeps = { ...include.devDependencies ? importer.devDependencies : {}, ...include.dependencies ? importer.dependencies : {}, ...include.optionalDependencies ? importer.optionalDependencies : {} }; const directDeps = {}; for (const alias in rootDeps) { const ref = rootDeps[alias]; if (ref.startsWith("link:")) { directDeps[alias] = path_1.default.resolve(importerDir, ref.slice(5)); } } return directDeps; } async function fetchDeps(opts, modules, deps) { const depHierarchy = {}; await Promise.all(Array.from(deps).map(async (dep) => { const depPath = Array.from(dep.references)[0]; if (opts.skipped.has(depPath) || depPath.startsWith("workspace:")) return; const pkgSnapshot = opts.lockfile.packages[depPath]; if (!pkgSnapshot) { return; } const { name: pkgName, version: pkgVersion } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); const packageId = (0, lockfile_utils_1.packageIdFromSnapshot)(depPath, pkgSnapshot); const pkgIdWithPatchHash = dp.getPkgIdWithPatchHash(depPath); const pkg = { name: pkgName, version: pkgVersion, engines: pkgSnapshot.engines, cpu: pkgSnapshot.cpu, os: pkgSnapshot.os, libc: pkgSnapshot.libc }; if (!opts.force && (0, package_is_installable_1.packageIsInstallable)(packageId, pkg, { engineStrict: opts.engineStrict, lockfileDir: opts.lockfileDir, nodeVersion: opts.nodeVersion, optional: pkgSnapshot.optional === true, supportedArchitectures: opts.supportedArchitectures }) === false) { opts.skipped.add(depPath); return; } const dir = path_1.default.join(modules, dep.name); const depLocation = path_1.default.relative(opts.lockfileDir, dir); const resolution = (0, lockfile_utils_1.pkgSnapshotToResolution)(depPath, pkgSnapshot, opts.registries); let fetchResponse; const skipFetch = opts.currentHoistedLocations?.[depPath]?.includes(depLocation) && await dirHasPackageJsonWithVersion(path_1.default.join(opts.lockfileDir, depLocation), pkgVersion); const pkgResolution = { id: packageId, resolution, name: pkgName, version: pkgVersion }; if (skipFetch) { const { filesIndexFile } = opts.storeController.getFilesIndexFilePath({ ignoreScripts: opts.ignoreScripts, pkg: pkgResolution }); fetchResponse = { filesIndexFile }; } else { try { fetchResponse = opts.storeController.fetchPackage({ allowBuild: opts.allowBuild, force: false, lockfileDir: opts.lockfileDir, ignoreScripts: opts.ignoreScripts, pkg: pkgResolution, supportedArchitectures: opts.supportedArchitectures }); if (fetchResponse instanceof Promise) fetchResponse = await fetchResponse; } catch (err) { if (pkgSnapshot.optional) return; throw err; } } opts.graph[dir] = { alias: dep.name, children: {}, depPath, pkgIdWithPatchHash, dir, fetching: fetchResponse.fetching, filesIndexFile: fetchResponse.filesIndexFile, hasBin: pkgSnapshot.hasBin === true, hasBundledDependencies: pkgSnapshot.bundledDependencies != null, modules, name: pkgName, version: pkgVersion, optional: !!pkgSnapshot.optional, optionalDependencies: new Set(Object.keys(pkgSnapshot.optionalDependencies ?? {})), patch: (0, patching_config_1.getPatchInfo)(opts.patchedDependencies, pkgName, pkgVersion), resolution: pkgSnapshot.resolution }; if (!opts.pkgLocationsByDepPath[depPath]) { opts.pkgLocationsByDepPath[depPath] = []; } opts.pkgLocationsByDepPath[depPath].push(dir); depHierarchy[dir] = await fetchDeps(opts, path_1.default.join(dir, "node_modules"), dep.dependencies); if (!opts.hoistedLocations[depPath]) { opts.hoistedLocations[depPath] = []; } opts.hoistedLocations[depPath].push(depLocation); opts.graph[dir].children = getChildren(pkgSnapshot, opts.pkgLocationsByDepPath, opts); })); return depHierarchy; } async function dirHasPackageJsonWithVersion(dir, expectedVersion) { if (!expectedVersion) return (0, path_exists_1.default)(dir); try { const manifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(dir); return manifest?.version === expectedVersion; } catch (err) { if (err.code === "ENOENT") { return (0, path_exists_1.default)(dir); } throw err; } } function getChildren(pkgSnapshot, pkgLocationsByDepPath, opts) { const allDeps = { ...pkgSnapshot.dependencies, ...opts.include.optionalDependencies ? pkgSnapshot.optionalDependencies : {} }; const children = {}; for (const [childName, childRef] of Object.entries(allDeps)) { const childDepPath = dp.refToRelative(childRef, childName); if (childDepPath && pkgLocationsByDepPath[childDepPath]) { children[childName] = pkgLocationsByDepPath[childDepPath][0]; } } return children; } } }); // ../pkg-manager/direct-dep-linker/lib/linkDirectDeps.js var require_linkDirectDeps = __commonJS({ "../pkg-manager/direct-dep-linker/lib/linkDirectDeps.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.linkDirectDeps = linkDirectDeps; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var core_loggers_1 = require_lib8(); var symlink_dependency_1 = require_lib159(); var omit_1 = __importDefault2(require_omit()); var read_modules_dir_1 = require_lib68(); var rimraf_1 = __importDefault2(require_rimraf()); var resolve_link_target_1 = __importDefault2(require_resolve_link_target()); async function linkDirectDeps(projects, opts) { if (opts.dedupe && projects["."] && Object.keys(projects).length > 1) { return linkDirectDepsAndDedupe(projects["."], (0, omit_1.default)(["."], projects)); } const numberOfLinkedDeps = await Promise.all(Object.values(projects).map(linkDirectDepsOfProject)); return numberOfLinkedDeps.reduce((sum, count) => sum + count, 0); } async function linkDirectDepsAndDedupe(rootProject, projects) { const linkedDeps = await linkDirectDepsOfProject(rootProject); const pkgsLinkedToRoot = await readLinkedDeps(rootProject.modulesDir); await Promise.all(Object.values(projects).map(async (project) => { const deletedAll = await deletePkgsPresentInRoot(project.modulesDir, pkgsLinkedToRoot); const dependencies = omitDepsFromRoot(project.dependencies, pkgsLinkedToRoot); if (dependencies.length > 0) { await linkDirectDepsOfProject({ ...project, dependencies }); return; } if (deletedAll) { await (0, rimraf_1.default)(project.modulesDir); } })); return linkedDeps; } function omitDepsFromRoot(deps, pkgsLinkedToRoot) { return deps.filter(({ dir }) => !pkgsLinkedToRoot.some(pathsEqual.bind(null, dir))); } function pathsEqual(path1, path2) { return path_1.default.relative(path1, path2) === ""; } async function readLinkedDeps(modulesDir) { const deps = await (0, read_modules_dir_1.readModulesDir)(modulesDir) ?? []; return Promise.all(deps.map((alias) => resolveLinkTargetOrFile(path_1.default.join(modulesDir, alias)))); } async function deletePkgsPresentInRoot(modulesDir, pkgsLinkedToRoot) { const pkgsLinkedToCurrentProject = await readLinkedDepsWithRealLocations(modulesDir); const pkgsToDelete = pkgsLinkedToCurrentProject.filter(({ linkedFrom, linkedTo }) => linkedFrom !== linkedTo && pkgsLinkedToRoot.some(pathsEqual.bind(null, linkedFrom))); await Promise.all(pkgsToDelete.map(({ linkedTo }) => fs_1.default.promises.unlink(linkedTo))); return pkgsToDelete.length === pkgsLinkedToCurrentProject.length; } async function readLinkedDepsWithRealLocations(modulesDir) { const deps = await (0, read_modules_dir_1.readModulesDir)(modulesDir) ?? []; return Promise.all(deps.map(async (alias) => { const linkedTo = path_1.default.join(modulesDir, alias); return { linkedTo, linkedFrom: await resolveLinkTargetOrFile(linkedTo) }; })); } async function resolveLinkTargetOrFile(filePath) { try { return await (0, resolve_link_target_1.default)(filePath); } catch (err) { if (err.code !== "EINVAL" && err.code !== "UNKNOWN") throw err; return filePath; } } async function linkDirectDepsOfProject(project) { let linkedDeps = 0; await Promise.all(project.dependencies.map(async (dep) => { if (dep.isExternalLink) { await (0, symlink_dependency_1.symlinkDirectRootDependency)(dep.dir, project.modulesDir, dep.alias, { fromDependenciesField: dep.dependencyType === "dev" && "devDependencies" || dep.dependencyType === "optional" && "optionalDependencies" || "dependencies", linkedPackage: { name: dep.name, version: dep.version }, prefix: project.dir }); return; } if ((await (0, symlink_dependency_1.symlinkDependency)(dep.dir, project.modulesDir, dep.alias)).reused) { return; } core_loggers_1.rootLogger.debug({ added: { dependencyType: dep.dependencyType, id: dep.id, latest: dep.latest, name: dep.alias, realName: dep.name, version: dep.version }, prefix: project.dir }); linkedDeps++; })); return linkedDeps; } } }); // ../pkg-manager/direct-dep-linker/lib/index.js var require_lib163 = __commonJS({ "../pkg-manager/direct-dep-linker/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); __exportStar2(require_linkDirectDeps(), exports2); } }); // ../pkg-manager/headless/lib/index.js var require_lib164 = __commonJS({ "../pkg-manager/headless/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.headlessInstall = headlessInstall; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var build_modules_1 = require_lib153(); var builder_policy_1 = require_lib128(); var calc_dep_state_1 = require_lib118(); var constants_1 = require_lib5(); var core_loggers_1 = require_lib8(); var lockfile_filtering_1 = require_lib154(); var hoist_1 = require_lib155(); var lifecycle_1 = require_lib71(); var link_bins_1 = require_lib69(); var lockfile_fs_1 = require_lib121(); var lockfile_to_pnp_1 = require_lib157(); var lockfile_utils_1 = require_lib125(); var logger_1 = require_lib(); var modules_cleaner_1 = require_lib158(); var modules_yaml_1 = require_lib115(); var read_package_json_1 = require_lib61(); var read_project_manifest_1 = require_lib16(); var symlink_dependency_1 = require_lib159(); var types_1 = require_lib9(); var dp = __importStar3(require_lib86()); var worker_1 = require_lib73(); var p_limit_12 = __importDefault2(require_p_limit()); var path_absolute_1 = __importDefault2(require_path_absolute()); var equals_1 = __importDefault2(require_equals2()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var omit_1 = __importDefault2(require_omit()); var pick_1 = __importDefault2(require_pick()); var pickBy_1 = __importDefault2(require_pickBy()); var props_1 = __importDefault2(require_props()); var union_1 = __importDefault2(require_union()); var realpath_missing_1 = __importDefault2(require_realpath_missing()); var linkHoistedModules_js_1 = require_linkHoistedModules(); var deps_graph_builder_1 = require_lib161(); var lockfileToHoistedDepGraph_js_1 = require_lockfileToHoistedDepGraph(); var pkg_manager_direct_dep_linker_1 = require_lib163(); async function headlessInstall(opts) { const reporter = opts.reporter; if (reporter != null && typeof reporter === "function") { logger_1.streamParser.on("data", reporter); } const lockfileDir = opts.lockfileDir; const wantedLockfile = opts.wantedLockfile ?? await (0, lockfile_fs_1.readWantedLockfile)(lockfileDir, { ignoreIncompatible: false, useGitBranchLockfile: opts.useGitBranchLockfile, // mergeGitBranchLockfiles is intentionally not supported in headless mergeGitBranchLockfiles: false }); if (wantedLockfile == null) { throw new Error(`Headless installation requires a ${constants_1.WANTED_LOCKFILE} file`); } const depsStateCache = {}; const relativeModulesDir = opts.modulesDir ?? "node_modules"; const rootModulesDir = await (0, realpath_missing_1.default)(path_1.default.join(lockfileDir, relativeModulesDir)); const internalPnpmDir = path_1.default.join(rootModulesDir, ".pnpm"); const currentLockfile = opts.currentLockfile ?? await (0, lockfile_fs_1.readCurrentLockfile)(internalPnpmDir, { ignoreIncompatible: false }); const virtualStoreDir = (0, path_absolute_1.default)(opts.virtualStoreDir ?? path_1.default.join(relativeModulesDir, ".pnpm"), lockfileDir); const hoistedModulesDir = path_1.default.join(opts.enableGlobalVirtualStore ? internalPnpmDir : virtualStoreDir, "node_modules"); const publicHoistedModulesDir = rootModulesDir; const selectedProjects = Object.values((0, pick_1.default)(opts.selectedProjectDirs, opts.allProjects)); const scriptsOpts = { optional: false, extraBinPaths: opts.extraBinPaths, extraNodePaths: opts.extraNodePaths, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, extraEnv: opts.extraEnv, rawConfig: opts.rawConfig, resolveSymlinksInInjectedDirs: opts.resolveSymlinksInInjectedDirs, scriptsPrependNodePath: opts.scriptsPrependNodePath, scriptShell: opts.scriptShell, shellEmulator: opts.shellEmulator, stdio: opts.ownLifecycleHooksStdio ?? "inherit", storeController: opts.storeController, unsafePerm: opts.unsafePerm || false }; const skipped = opts.skipped || /* @__PURE__ */ new Set(); const filterOpts = { include: opts.include, registries: opts.registries, skipped, currentEngine: opts.currentEngine, engineStrict: opts.engineStrict, failOnMissingDependencies: true, includeIncompatiblePackages: opts.force, lockfileDir, supportedArchitectures: opts.supportedArchitectures }; let removed = 0; if (opts.nodeLinker !== "hoisted") { if (currentLockfile != null && !opts.ignorePackageManifest) { const removedDepPaths = await (0, modules_cleaner_1.prune)(selectedProjects, { currentLockfile, dedupeDirectDeps: opts.dedupeDirectDeps, dryRun: false, hoistedDependencies: opts.hoistedDependencies, hoistedModulesDir: opts.hoistPattern == null ? void 0 : hoistedModulesDir, include: opts.include, lockfileDir, pruneStore: opts.pruneStore, pruneVirtualStore: opts.pruneVirtualStore, publicHoistedModulesDir: opts.publicHoistPattern == null ? void 0 : publicHoistedModulesDir, skipped, storeController: opts.storeController, virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, wantedLockfile: (0, lockfile_filtering_1.filterLockfileByEngine)(wantedLockfile, filterOpts).lockfile }); removed = removedDepPaths.size; } else { core_loggers_1.statsLogger.debug({ prefix: lockfileDir, removed: 0 }); } } core_loggers_1.stageLogger.debug({ prefix: lockfileDir, stage: "importing_started" }); const initialImporterIds = opts.ignorePackageManifest === true || opts.nodeLinker === "hoisted" ? Object.keys(wantedLockfile.importers) : selectedProjects.map(({ id }) => id); const { lockfile: filteredLockfile, selectedImporterIds: importerIds } = (0, lockfile_filtering_1.filterLockfileByImportersAndEngine)(wantedLockfile, initialImporterIds, filterOpts); if (opts.excludeLinksFromLockfile) { for (const { id, manifest, rootDir } of selectedProjects) { if (filteredLockfile.importers[id]) { for (const depType of types_1.DEPENDENCIES_FIELDS) { filteredLockfile.importers[id][depType] = { ...filteredLockfile.importers[id][depType], ...Object.entries(manifest[depType] ?? {}).filter(([_, spec]) => spec.startsWith("link:")).reduce((acc, [depName, spec]) => { const linkPath = spec.substring(5); acc[depName] = path_1.default.isAbsolute(linkPath) ? `link:${path_1.default.relative(rootDir, spec.substring(5))}` : spec; return acc; }, {}) }; } } } } const initialImporterIdSet = new Set(initialImporterIds); const missingIds = importerIds.filter((importerId) => !initialImporterIdSet.has(importerId)); if (missingIds.length > 0) { for (const project of Object.values(opts.allProjects)) { if (missingIds.includes(project.id)) { selectedProjects.push(project); } } } const allowBuild = (0, builder_policy_1.createAllowBuildFunction)(opts); const lockfileToDepGraphOpts = { ...opts, allowBuild, importerIds, lockfileDir, skipped, virtualStoreDir, nodeVersion: opts.currentEngine.nodeVersion, pnpmVersion: opts.currentEngine.pnpmVersion, supportedArchitectures: opts.supportedArchitectures, includeUnchangedDeps: !(0, equals_1.default)(opts.currentHoistPattern, opts.hoistPattern ?? void 0) || !(0, equals_1.default)(opts.currentPublicHoistPattern, opts.publicHoistPattern ?? void 0) }; const { directDependenciesByImporterId, graph, hierarchy, hoistedLocations, pkgLocationsByDepPath, prevGraph, symlinkedDirectDependenciesByImporterId } = await (opts.nodeLinker === "hoisted" ? (0, lockfileToHoistedDepGraph_js_1.lockfileToHoistedDepGraph)(filteredLockfile, currentLockfile, lockfileToDepGraphOpts) : (0, deps_graph_builder_1.lockfileToDepGraph)(filteredLockfile, opts.force ? null : currentLockfile, lockfileToDepGraphOpts)); if (opts.enablePnp) { const importerNames = Object.fromEntries(selectedProjects.map(({ manifest, id }) => [id, manifest.name ?? id])); await (0, lockfile_to_pnp_1.writePnpFile)(filteredLockfile, { importerNames, lockfileDir, virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, registries: opts.registries }); } const depNodes = Object.values(graph); const added = depNodes.filter(({ fetching }) => fetching).length; core_loggers_1.statsLogger.debug({ added, prefix: lockfileDir }); function warn(message) { logger_1.logger.info({ message, prefix: lockfileDir }); } let newHoistedDependencies; let linkedToRoot = 0; if (opts.nodeLinker === "hoisted" && hierarchy && prevGraph) { await (0, linkHoistedModules_js_1.linkHoistedModules)(opts.storeController, graph, prevGraph, hierarchy, { allowBuild, depsStateCache, disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps, force: opts.force, ignoreScripts: opts.ignoreScripts, lockfileDir: opts.lockfileDir, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, sideEffectsCacheRead: opts.sideEffectsCacheRead }); core_loggers_1.stageLogger.debug({ prefix: lockfileDir, stage: "importing_done" }); linkedToRoot = await symlinkDirectDependencies({ directDependenciesByImporterId: symlinkedDirectDependenciesByImporterId, dedupe: Boolean(opts.dedupeDirectDeps), filteredLockfile, lockfileDir, projects: selectedProjects, registries: opts.registries, symlink: opts.symlink }); } else if (opts.enableModulesDir !== false) { await Promise.all(depNodes.map(async (depNode) => fs_1.promises.mkdir(depNode.modules, { recursive: true }))); await Promise.all([ opts.symlink === false ? Promise.resolve() : linkAllModules(depNodes, { optional: opts.include.optionalDependencies }), linkAllPkgs(opts.storeController, depNodes, { allowBuild, force: opts.force, disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps, depGraph: graph, depsStateCache, ignoreScripts: opts.ignoreScripts, lockfileDir: opts.lockfileDir, sideEffectsCacheRead: opts.sideEffectsCacheRead }) ]); core_loggers_1.stageLogger.debug({ prefix: lockfileDir, stage: "importing_done" }); if (opts.ignorePackageManifest !== true && (opts.hoistPattern != null || opts.publicHoistPattern != null)) { newHoistedDependencies = { ...opts.hoistedDependencies, ...await (0, hoist_1.hoist)({ extraNodePath: opts.extraNodePaths, graph, directDepsByImporterId: Object.fromEntries(Object.entries(directDependenciesByImporterId).map(([projectId, deps]) => [ projectId, new Map(Object.entries(deps)) ])), importerIds, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, privateHoistedModulesDir: hoistedModulesDir, privateHoistPattern: opts.hoistPattern ?? [], publicHoistedModulesDir, publicHoistPattern: opts.publicHoistPattern ?? [], virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, hoistedWorkspacePackages: opts.hoistWorkspacePackages ? Object.values(opts.allProjects).reduce((hoistedWorkspacePackages, project) => { if (project.manifest.name && project.id !== ".") { hoistedWorkspacePackages[project.id] = { dir: project.rootDir, name: project.manifest.name }; } return hoistedWorkspacePackages; }, {}) : void 0, skipped: opts.skipped }) }; } else { newHoistedDependencies = {}; } await linkAllBins(graph, { extraNodePaths: opts.extraNodePaths, optional: opts.include.optionalDependencies, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, warn }); if (currentLockfile != null && !(0, equals_1.default)(importerIds.sort(), Object.keys(filteredLockfile.importers).sort())) { Object.assign(filteredLockfile.packages, currentLockfile.packages); } if (!opts.ignorePackageManifest) { linkedToRoot = await symlinkDirectDependencies({ dedupe: Boolean(opts.dedupeDirectDeps), directDependenciesByImporterId, filteredLockfile, lockfileDir, projects: selectedProjects, registries: opts.registries, symlink: opts.symlink }); } } if (opts.ignoreScripts) { for (const { id, manifest } of selectedProjects) { if (opts.ignoreScripts && manifest?.scripts != null && (manifest.scripts.preinstall ?? manifest.scripts.prepublish ?? manifest.scripts.install ?? manifest.scripts.postinstall ?? manifest.scripts.prepare)) { opts.pendingBuilds.push(id); } } opts.pendingBuilds = opts.pendingBuilds.concat(depNodes.filter(({ requiresBuild }) => requiresBuild).map(({ depPath }) => depPath)); } let ignoredBuilds; if ((!opts.ignoreScripts || Object.keys(opts.patchedDependencies ?? {}).length > 0) && opts.enableModulesDir !== false) { const directNodes = /* @__PURE__ */ new Set(); for (const id of (0, union_1.default)(importerIds, ["."])) { const directDependencies = directDependenciesByImporterId[id]; for (const alias in directDependencies) { const loc = directDependencies[alias]; if (!graph[loc]) continue; directNodes.add(loc); } } const extraBinPaths = [...opts.extraBinPaths ?? []]; if (opts.hoistPattern != null) { extraBinPaths.unshift(path_1.default.join(hoistedModulesDir, ".bin")); } let extraEnv = opts.extraEnv; if (opts.enablePnp) { extraEnv = { ...extraEnv, ...(0, lifecycle_1.makeNodeRequireOption)(path_1.default.join(opts.lockfileDir, ".pnp.cjs")) }; } ignoredBuilds = (await (0, build_modules_1.buildModules)(graph, Array.from(directNodes), { allowBuild, ignoredBuiltDependencies: opts.ignoredBuiltDependencies, ignorePatchFailures: opts.ignorePatchFailures, childConcurrency: opts.childConcurrency, extraBinPaths, extraEnv, depsStateCache, ignoreScripts: opts.ignoreScripts || opts.ignoreDepScripts, hoistedLocations, lockfileDir, optional: opts.include.optionalDependencies, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, rawConfig: opts.rawConfig, rootModulesDir: virtualStoreDir, scriptsPrependNodePath: opts.scriptsPrependNodePath, scriptShell: opts.scriptShell, shellEmulator: opts.shellEmulator, sideEffectsCacheWrite: opts.sideEffectsCacheWrite, storeController: opts.storeController, unsafePerm: opts.unsafePerm, userAgent: opts.userAgent })).ignoredBuilds; if (opts.modulesFile?.ignoredBuilds?.size) { ignoredBuilds ??= /* @__PURE__ */ new Set(); for (const ignoredBuild of opts.modulesFile.ignoredBuilds.values()) { if (filteredLockfile.packages?.[ignoredBuild]) { ignoredBuilds.add(ignoredBuild); } } } } const projectsToBeBuilt = (0, lockfile_utils_1.extendProjectsWithTargetDirs)(selectedProjects, wantedLockfile, { pkgLocationsByDepPath, virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }); if (opts.enableModulesDir !== false) { const rootProjectDeps = !opts.dedupeDirectDeps ? {} : directDependenciesByImporterId["."] ?? {}; if (!opts.ignorePackageManifest) { await Promise.all(selectedProjects.map(async (project) => { if (opts.nodeLinker === "hoisted" || opts.publicHoistPattern?.length && path_1.default.relative(opts.lockfileDir, project.rootDir) === "") { await linkBinsOfImporter(project, { extraNodePaths: opts.extraNodePaths, preferSymlinkedExecutables: opts.preferSymlinkedExecutables }); } else { let directPkgDirs; if (project.id === ".") { directPkgDirs = Object.values(directDependenciesByImporterId[project.id]); } else { directPkgDirs = []; for (const [alias, dir] of Object.entries(directDependenciesByImporterId[project.id])) { if (rootProjectDeps[alias] !== dir) { directPkgDirs.push(dir); } } } await (0, link_bins_1.linkBinsOfPackages)((await Promise.all(directPkgDirs.map(async (dir) => ({ location: dir, manifest: await (0, read_project_manifest_1.safeReadProjectManifestOnly)(dir) })))).filter(({ manifest }) => manifest != null), project.binsDir, { extraNodePaths: opts.extraNodePaths, preferSymlinkedExecutables: opts.preferSymlinkedExecutables }); } })); } const injectedDeps = {}; for (const project of projectsToBeBuilt) { if (project.targetDirs.length > 0) { injectedDeps[project.id] = project.targetDirs.map((targetDir) => path_1.default.relative(opts.lockfileDir, targetDir)); } } await (0, modules_yaml_1.writeModulesManifest)(rootModulesDir, { hoistedDependencies: newHoistedDependencies, hoistPattern: opts.hoistPattern, included: opts.include, injectedDeps, ignoredBuilds, layoutVersion: constants_1.LAYOUT_VERSION, hoistedLocations, nodeLinker: opts.nodeLinker, packageManager: `${opts.packageManager.name}@${opts.packageManager.version}`, pendingBuilds: opts.pendingBuilds, publicHoistPattern: opts.publicHoistPattern, prunedAt: opts.pruneVirtualStore === true || opts.prunedAt == null ? (/* @__PURE__ */ new Date()).toUTCString() : opts.prunedAt, registries: opts.registries, skipped: Array.from(skipped), storeDir: opts.storeDir, virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }, { makeModulesDir: Object.keys(filteredLockfile.packages ?? {}).length > 0 }); const currentLockfileDir = path_1.default.join(rootModulesDir, ".pnpm"); if (opts.useLockfile) { await (0, lockfile_fs_1.writeLockfiles)({ wantedLockfileDir: opts.lockfileDir, currentLockfileDir, wantedLockfile, currentLockfile: filteredLockfile }); } else { await (0, lockfile_fs_1.writeCurrentLockfile)(currentLockfileDir, filteredLockfile); } } await Promise.all(depNodes.map(async ({ fetching }) => { try { await fetching?.(); } catch { } })); core_loggers_1.summaryLogger.debug({ prefix: lockfileDir }); await opts.storeController.close(); if (!opts.ignoreScripts && !opts.ignorePackageManifest) { await (0, lifecycle_1.runLifecycleHooksConcurrently)(["preinstall", "install", "postinstall", "preprepare", "prepare", "postprepare"], projectsToBeBuilt, opts.childConcurrency ?? 5, scriptsOpts); } if (reporter != null && typeof reporter === "function") { logger_1.streamParser.removeListener("data", reporter); } return { stats: { added, removed, linkedToRoot }, ignoredBuilds }; } async function symlinkDirectDependencies({ filteredLockfile, dedupe, directDependenciesByImporterId, lockfileDir, projects, registries, symlink }) { for (const { rootDir, manifest } of projects) { core_loggers_1.packageManifestLogger.debug({ prefix: rootDir, updated: manifest }); } if (symlink === false) return 0; const importerManifestsByImporterId = {}; for (const { id, manifest } of projects) { importerManifestsByImporterId[id] = manifest; } const projectsToLink = Object.fromEntries(await Promise.all(projects.map(async ({ rootDir, id, modulesDir }) => [id, { dir: rootDir, modulesDir, dependencies: await getRootPackagesToLink(filteredLockfile, { importerId: id, importerModulesDir: modulesDir, lockfileDir, projectDir: rootDir, importerManifestsByImporterId, registries, rootDependencies: directDependenciesByImporterId[id] }) }]))); const rootProject = projectsToLink["."]; if (rootProject && dedupe) { const rootDeps = Object.fromEntries(rootProject.dependencies.map((dep) => [dep.alias, dep.dir])); for (const project of Object.values((0, omit_1.default)(["."], projectsToLink))) { project.dependencies = project.dependencies.filter((dep) => dep.dir !== rootDeps[dep.alias]); } } return (0, pkg_manager_direct_dep_linker_1.linkDirectDeps)(projectsToLink, { dedupe: Boolean(dedupe) }); } async function linkBinsOfImporter({ manifest, modulesDir, binsDir, rootDir }, { extraNodePaths, preferSymlinkedExecutables } = {}) { const warn = (message) => { logger_1.logger.info({ message, prefix: rootDir }); }; return (0, link_bins_1.linkBins)(modulesDir, binsDir, { extraNodePaths, allowExoticManifests: true, preferSymlinkedExecutables, projectManifest: manifest, warn }); } async function getRootPackagesToLink(lockfile, opts) { const projectSnapshot = lockfile.importers[opts.importerId]; const allDeps = { ...projectSnapshot.devDependencies, ...projectSnapshot.dependencies, ...projectSnapshot.optionalDependencies }; return (await Promise.all(Object.entries(allDeps).map(async ([alias, ref]) => { if (ref.startsWith("link:")) { const isDev2 = Boolean(projectSnapshot.devDependencies?.[alias]); const isOptional2 = Boolean(projectSnapshot.optionalDependencies?.[alias]); const packageDir = path_1.default.join(opts.projectDir, ref.slice(5)); const linkedPackage = await (async () => { const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, packageDir); if (opts.importerManifestsByImporterId[importerId]) { return opts.importerManifestsByImporterId[importerId]; } try { return await (0, read_project_manifest_1.readProjectManifestOnly)(packageDir); } catch (err) { if (err["code"] !== "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND") throw err; return { name: alias, version: "0.0.0" }; } })(); return { alias, name: linkedPackage.name, version: linkedPackage.version, dir: packageDir, id: ref, isExternalLink: true, dependencyType: isDev2 && "dev" || isOptional2 && "optional" || "prod" }; } const dir = opts.rootDependencies[alias]; if (!dir) { return; } const isDev = Boolean(projectSnapshot.devDependencies?.[alias]); const isOptional = Boolean(projectSnapshot.optionalDependencies?.[alias]); const depPath = dp.refToRelative(ref, alias); if (depPath === null) return; const pkgSnapshot = lockfile.packages?.[depPath]; if (pkgSnapshot == null) return; const pkgId = pkgSnapshot.id ?? dp.refToRelative(ref, alias) ?? void 0; const pkgInfo = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); return { alias, isExternalLink: false, name: pkgInfo.name, version: pkgInfo.version, dependencyType: isDev && "dev" || isOptional && "optional" || "prod", dir, id: pkgId }; }))).filter(Boolean); } var limitLinking = (0, p_limit_12.default)(16); async function linkAllPkgs(storeController, depNodes, opts) { await Promise.all(depNodes.map(async (depNode) => { if (!depNode.fetching) return; let filesResponse; try { filesResponse = (await depNode.fetching()).files; } catch (err) { if (depNode.optional) return; throw err; } depNode.requiresBuild = filesResponse.requiresBuild; let sideEffectsCacheKey; if (opts.sideEffectsCacheRead && filesResponse.sideEffects && !(0, isEmpty_1.default)(filesResponse.sideEffects)) { if (opts?.allowBuild?.(depNode.name, depNode.version) !== false) { sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(opts.depGraph, opts.depsStateCache, depNode.dir, { includeDepGraphHash: !opts.ignoreScripts && depNode.requiresBuild, // true when is built patchFileHash: depNode.patch?.file.hash }); } } const { importMethod, isBuilt } = await storeController.importPackage(depNode.dir, { filesResponse, force: depNode.forceImportPackage ?? opts.force, disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps, requiresBuild: depNode.patch != null || depNode.requiresBuild, sideEffectsCacheKey }); if (importMethod) { core_loggers_1.progressLogger.debug({ method: importMethod, requester: opts.lockfileDir, status: "imported", to: depNode.dir }); } depNode.isBuilt = isBuilt; const selfDep = depNode.children[depNode.name]; if (selfDep) { const pkg = opts.depGraph[selfDep]; if (!pkg) return; const targetModulesDir = path_1.default.join(depNode.modules, depNode.name, "node_modules"); await limitLinking(async () => (0, symlink_dependency_1.symlinkDependency)(pkg.dir, targetModulesDir, depNode.name)); } })); } async function linkAllBins(depGraph, opts) { await Promise.all(Object.values(depGraph).map(async (depNode) => limitLinking(async () => { const childrenToLink = opts.optional ? depNode.children : (0, pickBy_1.default)((_, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children); const binPath = path_1.default.join(depNode.dir, "node_modules/.bin"); const pkgSnapshots = (0, props_1.default)(Object.values(childrenToLink), depGraph); if (pkgSnapshots.includes(void 0)) { await (0, link_bins_1.linkBins)(depNode.modules, binPath, { extraNodePaths: opts.extraNodePaths, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, warn: opts.warn }); } else { const pkgs = await Promise.all(pkgSnapshots.filter(({ hasBin }) => hasBin).map(async ({ dir }) => ({ location: dir, manifest: await (0, read_package_json_1.readPackageJsonFromDir)(dir) }))); await (0, link_bins_1.linkBinsOfPackages)(pkgs, binPath, { extraNodePaths: opts.extraNodePaths, preferSymlinkedExecutables: opts.preferSymlinkedExecutables }); } if (depNode.hasBundledDependencies) { const bundledModules = path_1.default.join(depNode.dir, "node_modules"); await (0, link_bins_1.linkBins)(bundledModules, binPath, { extraNodePaths: opts.extraNodePaths, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, warn: opts.warn }); } }))); } async function linkAllModules(depNodes, opts) { await (0, worker_1.symlinkAllModules)({ deps: depNodes.map((depNode) => ({ children: opts.optional ? depNode.children : (0, pickBy_1.default)((_, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children), modules: depNode.modules, name: depNode.name })) }); } } }); // ../lockfile/preferred-versions/lib/index.js var require_lib165 = __commonJS({ "../lockfile/preferred-versions/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPreferredVersionsFromLockfileAndManifests = getPreferredVersionsFromLockfileAndManifests; var lockfile_utils_1 = require_lib125(); var manifest_utils_1 = require_lib10(); var resolver_base_1 = require_lib88(); var version_selector_type_1 = __importDefault2(require_version_selector_type()); function getPreferredVersionsFromLockfileAndManifests(snapshots, manifests) { const preferredVersions = {}; for (const manifest of manifests) { const specs = (0, manifest_utils_1.getAllDependenciesFromManifest)(manifest); for (const [name, spec] of Object.entries(specs)) { const selector = (0, version_selector_type_1.default)(spec); if (!selector) continue; preferredVersions[name] = preferredVersions[name] ?? {}; preferredVersions[name][spec] = { selectorType: selector.type, weight: resolver_base_1.DIRECT_DEP_SELECTOR_WEIGHT }; } } if (!snapshots) return preferredVersions; addPreferredVersionsFromLockfile(snapshots, preferredVersions); return preferredVersions; } function addPreferredVersionsFromLockfile(snapshots, preferredVersions) { for (const [depPath, snapshot] of Object.entries(snapshots)) { const { name, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, snapshot); if (!preferredVersions[name]) { preferredVersions[name] = { [version2]: "version" }; } else if (!preferredVersions[name][version2]) { preferredVersions[name][version2] = "version"; } } } } }); // ../pkg-manager/resolve-dependencies/lib/getWantedDependencies.js var require_getWantedDependencies = __commonJS({ "../pkg-manager/resolve-dependencies/lib/getWantedDependencies.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getWantedDependencies = getWantedDependencies; var manifest_utils_1 = require_lib10(); function getWantedDependencies(pkg, opts) { let depsToInstall = (0, manifest_utils_1.filterDependenciesByType)(pkg, opts?.includeDirect ?? { dependencies: true, devDependencies: true, optionalDependencies: true }); if (opts?.autoInstallPeers) { depsToInstall = { ...pkg.peerDependencies, ...depsToInstall }; } return getWantedDependenciesFromGivenSet(depsToInstall, { dependencies: pkg.dependencies ?? {}, devDependencies: pkg.devDependencies ?? {}, optionalDependencies: pkg.optionalDependencies ?? {}, dependenciesMeta: pkg.dependenciesMeta ?? {}, peerDependencies: pkg.peerDependencies ?? {} }); } function getWantedDependenciesFromGivenSet(deps, opts) { if (!deps) return []; return Object.entries(deps).map(([alias, bareSpecifier]) => { let depType; if (opts.optionalDependencies[alias] != null) depType = "optional"; else if (opts.dependencies[alias] != null) depType = "prod"; else if (opts.devDependencies[alias] != null) depType = "dev"; else if (opts.peerDependencies[alias] != null) depType = "prod"; return { alias, dev: depType === "dev", injected: opts.dependenciesMeta[alias]?.injected, optional: depType === "optional", nodeExecPath: opts.nodeExecPath ?? opts.dependenciesMeta[alias]?.node, bareSpecifier, prevSpecifier: bareSpecifier }; }); } } }); // ../pkg-manager/resolve-dependencies/lib/depPathToRef.js var require_depPathToRef = __commonJS({ "../pkg-manager/resolve-dependencies/lib/depPathToRef.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.depPathToRef = depPathToRef; function depPathToRef(depPath, opts) { if (opts.alias === opts.realName && depPath.startsWith(`${opts.realName}@`)) { return depPath.substring(opts.realName.length + 1); } return depPath; } } }); // ../pkg-manager/resolve-dependencies/lib/getNonDevWantedDependencies.js var require_getNonDevWantedDependencies = __commonJS({ "../pkg-manager/resolve-dependencies/lib/getNonDevWantedDependencies.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getNonDevWantedDependencies = getNonDevWantedDependencies; var pickBy_1 = __importDefault2(require_pickBy()); function getNonDevWantedDependencies(pkg) { let bd = pkg.bundledDependencies ?? pkg.bundleDependencies; if (bd === true) { bd = pkg.dependencies != null ? Object.keys(pkg.dependencies) : []; } const bundledDeps = new Set(Array.isArray(bd) ? bd : []); const filterDeps = getNotBundledDeps.bind(null, bundledDeps); return getWantedDependenciesFromGivenSet(filterDeps({ ...pkg.optionalDependencies, ...pkg.dependencies }), { dependenciesMeta: pkg.dependenciesMeta ?? {}, devDependencies: {}, optionalDependencies: pkg.optionalDependencies ?? {} }); } function getWantedDependenciesFromGivenSet(deps, opts) { if (!deps) return []; return Object.entries(deps).map(([alias, bareSpecifier]) => ({ alias, dev: !!opts.devDependencies[alias], injected: opts.dependenciesMeta[alias]?.injected, optional: !!opts.optionalDependencies[alias], bareSpecifier })); } function getNotBundledDeps(bundledDeps, deps) { return (0, pickBy_1.default)((_, depName) => !bundledDeps.has(depName), deps); } } }); // ../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/utils.js var require_utils18 = __commonJS({ "../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/utils.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); var semver_12 = __importDefault2(require_semver2()); function isNotNull(value) { return value !== null; } exports2.isNotNull = isNotNull; function uniqueArray(array) { return [...new Set(array)]; } exports2.uniqueArray = uniqueArray; function isNoIncludeNull(value) { return value.every(isNotNull); } exports2.isNoIncludeNull = isNoIncludeNull; function isPrerelease(version2) { if (version2 instanceof semver_12.default.SemVer) { return version2.prerelease.length !== 0; } else { return false; } } exports2.isPrerelease = isPrerelease; function isValidOperator(comparator, operatorList) { return operatorList.includes(comparator.operator); } exports2.isValidOperator = isValidOperator; function equalComparator(comparatorA, comparatorB) { return comparatorA.value === comparatorB.value; } exports2.equalComparator = equalComparator; function comparator2versionStr(comparator) { const compSemver = comparator.semver; return compSemver instanceof semver_12.default.SemVer ? compSemver.version : ""; } exports2.comparator2versionStr = comparator2versionStr; function isSameVersionEqualsLikeComparator(comparatorA, comparatorB) { const compVersionA = comparator2versionStr(comparatorA); const compVersionB = comparator2versionStr(comparatorB); return compVersionA !== "" && compVersionB !== "" && compVersionA === compVersionB && /=|^$/.test(comparatorA.operator) && /=|^$/.test(comparatorB.operator); } exports2.isSameVersionEqualsLikeComparator = isSameVersionEqualsLikeComparator; function isEqualsComparator(comparator) { return comparator.semver instanceof semver_12.default.SemVer && isValidOperator(comparator, ["", "="]); } exports2.isEqualsComparator = isEqualsComparator; function filterUniqueComparator(comparator, index, self2) { return self2.findIndex((comp) => equalComparator(comparator, comp)) === index; } exports2.filterUniqueComparator = filterUniqueComparator; function filterOperator(operatorList) { return (comparator) => isValidOperator(comparator, operatorList); } exports2.filterOperator = filterOperator; function isIntersectRanges(semverRangeList) { return semverRangeList.every((rangeA, index, rangeList) => rangeList.slice(index + 1).every((rangeB) => rangeA.intersects(rangeB))); } exports2.isIntersectRanges = isIntersectRanges; function stripSemVerPrerelease(semverVersion) { if (!(semverVersion instanceof semver_12.default.SemVer)) { return ""; } if (!semverVersion.prerelease.length) { return semverVersion.version; } const newSemverVersion = new semver_12.default.SemVer(semverVersion.version, semverVersion.options); newSemverVersion.prerelease = []; return newSemverVersion.format(); } exports2.stripSemVerPrerelease = stripSemVerPrerelease; function stripComparatorOperator(comparator) { if (!comparator.operator) { return comparator; } const versionStr = comparator2versionStr(comparator); return new semver_12.default.Comparator(versionStr, comparator.options); } exports2.stripComparatorOperator = stripComparatorOperator; function getLowerBoundComparator(comparatorList, options = {}) { const validComparatorList = comparatorList.filter((comparator) => isValidOperator(comparator, [">", ">="]) || !(comparator.semver instanceof semver_12.default.SemVer)); const leComparatorVersionList = comparatorList.filter(filterOperator(["<="])).map(comparator2versionStr); if (validComparatorList.length >= 1) { return validComparatorList.reduce((a, b) => { const semverA = a.semver; const semverB = b.semver; if (!(semverA instanceof semver_12.default.SemVer)) { if (!options.singleRange && isPrerelease(semverB) && !(b.operator === ">=" && leComparatorVersionList.some((version2) => version2 === String(semverB)))) { return new semver_12.default.Comparator(`>=${stripSemVerPrerelease(semverB)}`, b.options); } return b; } else if (!(semverB instanceof semver_12.default.SemVer)) { if (!options.singleRange && isPrerelease(semverA) && !(a.operator === ">=" && leComparatorVersionList.some((version2) => version2 === String(semverA)))) { return new semver_12.default.Comparator(`>=${stripSemVerPrerelease(semverA)}`, a.options); } return a; } const semverCmp = semver_12.default.compare(semverA, semverB); if (a.operator === b.operator || semverCmp !== 0) { if (!options.singleRange) { const semverCmpMain = semverA.compareMain(semverB); if (semverCmpMain !== 0 && semverA.prerelease.length && semverB.prerelease.length) { if (semverCmpMain > 0) { return new semver_12.default.Comparator(a.operator + stripSemVerPrerelease(semverA), a.options); } else { return new semver_12.default.Comparator(b.operator + stripSemVerPrerelease(semverB), b.options); } } } if (semverCmp > 0) { return a; } else { return b; } } else { if (a.operator === ">") { return a; } else { return b; } } }); } else { return new semver_12.default.Comparator(""); } } exports2.getLowerBoundComparator = getLowerBoundComparator; function getUpperBoundComparator(comparatorList, options = {}) { const validComparatorList = comparatorList.filter((comparator) => isValidOperator(comparator, ["<", "<="]) || !(comparator.semver instanceof semver_12.default.SemVer)); const geComparatorVersionList = comparatorList.filter(filterOperator([">="])).map(comparator2versionStr); if (validComparatorList.length >= 1) { return validComparatorList.reduce((a, b) => { const semverA = a.semver; const semverB = b.semver; if (!(semverA instanceof semver_12.default.SemVer)) { if (!options.singleRange && isPrerelease(semverB) && !(b.operator === "<=" && geComparatorVersionList.some((version2) => version2 === String(semverB)))) { return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverB)}`, b.options); } return b; } else if (!(semverB instanceof semver_12.default.SemVer)) { if (!options.singleRange && isPrerelease(semverA) && !(a.operator === "<=" && geComparatorVersionList.some((version2) => version2 === String(semverA)))) { return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverA)}`, a.options); } return a; } const semverCmp = semver_12.default.compare(semverA, semverB); if (a.operator === b.operator || semverCmp !== 0) { if (!options.singleRange) { const semverCmpMain = semverA.compareMain(semverB); if (semverCmpMain !== 0 && semverA.prerelease.length && semverB.prerelease.length) { if (semverCmpMain < 0) { return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverA)}`, a.options); } else { return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverB)}`, b.options); } } } if (semverCmp < 0) { return a; } else { return b; } } else { if (a.operator === "<") { return a; } else { return b; } } }); } else { return new semver_12.default.Comparator(""); } } exports2.getUpperBoundComparator = getUpperBoundComparator; } }); // ../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/single-range.js var require_single_range = __commonJS({ "../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/single-range.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); var semver_12 = __importDefault2(require_semver2()); var utils_1 = require_utils18(); var SingleVer = class { constructor(comp) { this.comp = comp; } toString() { return this.comp.value; } intersect(singleRange) { if (semver_12.default.intersects(String(this), String(singleRange))) { return this; } else { return null; } } merge(singleRange) { if (semver_12.default.intersects(String(this), String(singleRange))) { return singleRange; } return null; } }; exports2.SingleVer = SingleVer; var SingleRange = class _SingleRange { constructor(lowerBound, upperBound) { this.lowerBound = lowerBound; this.upperBound = upperBound; if (!lowerBound.intersects(upperBound)) { throw new Error(`Invalid range; version range does not intersect: ${this}`); } } toString() { return [this.lowerBound.value, this.upperBound.value].filter((v) => v !== "").join(" "); } intersect(singleRange) { if (semver_12.default.intersects(String(this), String(singleRange))) { if (singleRange instanceof SingleVer) { return singleRange; } else { const lowerBoundComparatorList = [ this.lowerBound, singleRange.lowerBound ]; const upperBoundComparatorList = [ this.upperBound, singleRange.upperBound ]; const lowerBound = utils_1.getLowerBoundComparator([ ...lowerBoundComparatorList, ...upperBoundComparatorList.filter((comparator) => comparator.semver instanceof semver_12.default.SemVer) ]); const upperBound = utils_1.getUpperBoundComparator([ ...upperBoundComparatorList, ...lowerBoundComparatorList.filter((comparator) => comparator.semver instanceof semver_12.default.SemVer) ]); if (utils_1.isSameVersionEqualsLikeComparator(lowerBound, upperBound)) { return new SingleVer(utils_1.stripComparatorOperator(lowerBound)); } return new _SingleRange(lowerBound, upperBound); } } else { return null; } } merge(singleRange) { if (semver_12.default.intersects(String(this), String(singleRange))) { if (singleRange instanceof SingleVer) { return this; } else { const lowerBound = ((a, b) => { const semverA = a.semver; const semverB = b.semver; if (!(semverA instanceof semver_12.default.SemVer)) { if (utils_1.isPrerelease(semverB)) { return null; } return a; } else if (!(semverB instanceof semver_12.default.SemVer)) { if (utils_1.isPrerelease(semverA)) { return null; } return b; } const cmpMain = semverA.compareMain(semverB); if (cmpMain < 0 && utils_1.isPrerelease(semverB) || cmpMain > 0 && utils_1.isPrerelease(semverA)) { return null; } const semverCmp = semver_12.default.compare(semverA, semverB); if (a.operator === b.operator || semverCmp !== 0) { if (semverCmp < 0) { return a; } else { return b; } } else { if (a.operator === ">=") { return a; } else { return b; } } })(this.lowerBound, singleRange.lowerBound); const upperBound = ((a, b) => { const semverA = a.semver; const semverB = b.semver; if (!(semverA instanceof semver_12.default.SemVer)) { if (utils_1.isPrerelease(semverB)) { return null; } return a; } else if (!(semverB instanceof semver_12.default.SemVer)) { if (utils_1.isPrerelease(semverA)) { return null; } return b; } const cmpMain = semverA.compareMain(semverB); if (cmpMain > 0 && utils_1.isPrerelease(semverB) || cmpMain < 0 && utils_1.isPrerelease(semverA)) { return null; } const semverCmp = semver_12.default.compare(semverA, semverB); if (a.operator === b.operator || semverCmp !== 0) { if (semverCmp > 0) { return a; } else { return b; } } else { if (a.operator === "<=") { return a; } else { return b; } } })(this.upperBound, singleRange.upperBound); if (lowerBound && upperBound) { return new _SingleRange(lowerBound, upperBound); } } } return null; } }; exports2.SingleRange = SingleRange; function createSingleRange(comparatorList) { const equalsComparatorList = comparatorList.filter(utils_1.isEqualsComparator).filter(utils_1.filterUniqueComparator); switch (equalsComparatorList.length) { case 0: { const lowerBound = utils_1.getLowerBoundComparator(comparatorList, { singleRange: true }); const upperBound = utils_1.getUpperBoundComparator(comparatorList, { singleRange: true }); if (utils_1.isSameVersionEqualsLikeComparator(lowerBound, upperBound)) { return new SingleVer(utils_1.stripComparatorOperator(lowerBound)); } try { return new SingleRange(lowerBound, upperBound); } catch (err) { return null; } } case 1: return new SingleVer(equalsComparatorList[0]); default: return null; } } exports2.createSingleRange = createSingleRange; function isSingleRange(value) { return value instanceof SingleVer || value instanceof SingleRange; } exports2.isSingleRange = isSingleRange; } }); // ../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/multi-range.js var require_multi_range = __commonJS({ "../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/multi-range.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var single_range_1 = require_single_range(); var utils_1 = require_utils18(); function normalizeSingleRangeList(singleRangeList) { return singleRangeList.reduce((singleRangeList2, singleRange) => { if (!singleRange) { return [...singleRangeList2, singleRange]; } let insertFirst = false; const removeIndexList = []; const appendSingleRange = singleRangeList2.reduce((appendSingleRange2, insertedSingleRange, index) => { if (insertedSingleRange && appendSingleRange2) { const mergedSingleRange = insertedSingleRange.merge(appendSingleRange2); if (mergedSingleRange) { if (String(mergedSingleRange) === String(insertedSingleRange)) { return; } else { removeIndexList.push(index); if (insertedSingleRange instanceof single_range_1.SingleRange && appendSingleRange2 instanceof single_range_1.SingleRange) { insertFirst = true; } return mergedSingleRange; } } } return appendSingleRange2; }, singleRange); const removedSingleRangeList = singleRangeList2.filter((_, index) => !removeIndexList.includes(index)); if (appendSingleRange) { if (insertFirst) { return [appendSingleRange, ...removedSingleRangeList]; } else { return [...removedSingleRangeList, appendSingleRange]; } } return removedSingleRangeList; }, []); } exports2.normalizeSingleRangeList = normalizeSingleRangeList; var MultiRange = class _MultiRange { get valid() { return this.set.length >= 1; } constructor(rangeList) { if (rangeList) { const singleRangeList = normalizeSingleRangeList(rangeList.map((singleRangeOrComparatorList) => { if (single_range_1.isSingleRange(singleRangeOrComparatorList) || !singleRangeOrComparatorList) { return singleRangeOrComparatorList; } else { return single_range_1.createSingleRange(singleRangeOrComparatorList); } })); this.set = singleRangeList.filter(utils_1.isNotNull); } else { this.set = []; } } toString() { if (!this.valid) { throw new Error("Invalid range"); } return utils_1.uniqueArray(this.set.map(String)).join(" || "); } intersect(multiRange) { if (this.valid && multiRange.valid) { const singleRangeList = this.set.map((singleRangeA) => multiRange.set.map((singleRangeB) => singleRangeA.intersect(singleRangeB))).reduce((a, b) => [...a, ...b]).filter(utils_1.isNotNull); return new _MultiRange(singleRangeList); } else if (this.valid) { return this; } else if (multiRange.valid) { return multiRange; } else { return new _MultiRange(null); } } }; exports2.MultiRange = MultiRange; } }); // ../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/index.js var require_dist20 = __commonJS({ "../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); var semver_12 = __importDefault2(require_semver2()); var multi_range_1 = require_multi_range(); var utils_1 = require_utils18(); function intersect(...ranges) { const semverRangeList = (() => { try { return ranges.map((rangeStr) => new semver_12.default.Range(rangeStr)); } catch (err) { return null; } })(); if (!semverRangeList || !utils_1.isIntersectRanges(semverRangeList)) { return null; } const intersectRange = semverRangeList.map((range) => new multi_range_1.MultiRange(range.set)).reduce((multiRangeA, multiRangeB) => multiRangeA.intersect(multiRangeB), new multi_range_1.MultiRange(null)); return intersectRange.valid ? String(intersectRange) || "*" : null; } exports2.intersect = intersect; } }); // ../pkg-manager/resolve-dependencies/lib/mergePeers.js var require_mergePeers = __commonJS({ "../pkg-manager/resolve-dependencies/lib/mergePeers.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.mergePeers = mergePeers; exports2.safeIntersect = safeIntersect; var semver_range_intersect_1 = require_dist20(); function mergePeers(missingPeers) { const conflicts = []; const intersections = {}; for (const [peerName, ranges] of Object.entries(missingPeers)) { if (ranges.every(({ optional }) => optional)) continue; if (ranges.length === 1) { intersections[peerName] = ranges[0].wantedRange; continue; } const intersection = safeIntersect(ranges.map(({ wantedRange }) => wantedRange)); if (intersection === null) { conflicts.push(peerName); } else { intersections[peerName] = intersection; } } return { conflicts, intersections }; } function safeIntersect(ranges) { try { return (0, semver_range_intersect_1.intersect)(...ranges); } catch { return null; } } } }); // ../pkg-manager/resolve-dependencies/lib/nextNodeId.js var require_nextNodeId = __commonJS({ "../pkg-manager/resolve-dependencies/lib/nextNodeId.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.nextNodeId = nextNodeId; var nodeIdCounter = 0; function nextNodeId() { return ++nodeIdCounter; } } }); // ../pkg-manager/resolve-dependencies/lib/parentIdsContainSequence.js var require_parentIdsContainSequence = __commonJS({ "../pkg-manager/resolve-dependencies/lib/parentIdsContainSequence.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parentIdsContainSequence = parentIdsContainSequence; function parentIdsContainSequence(pkgIds, pkgId1, pkgId2) { const pkg1Index = pkgIds.indexOf(pkgId1); if (pkg1Index === -1 || pkg1Index === pkgIds.length - 1) { return false; } const pkg2Index = pkgIds.lastIndexOf(pkgId2); return pkg1Index < pkg2Index && pkg2Index !== pkgIds.length - 1; } } }); // ../pkg-manager/resolve-dependencies/lib/hoistPeers.js var require_hoistPeers = __commonJS({ "../pkg-manager/resolve-dependencies/lib/hoistPeers.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.hoistPeers = hoistPeers; exports2.getHoistableOptionalPeers = getHoistableOptionalPeers; var util_lex_comparator_1 = require_dist4(); var semver_12 = __importDefault2(require_semver2()); function hoistPeers(opts, missingRequiredPeers) { const dependencies = {}; for (const [peerName, { range }] of missingRequiredPeers) { const rootDepByAlias = opts.workspaceRootDeps.find((rootDep2) => rootDep2.alias === peerName); if (rootDepByAlias?.normalizedBareSpecifier) { dependencies[peerName] = rootDepByAlias.normalizedBareSpecifier; continue; } const rootDep = opts.workspaceRootDeps.filter((rootDep2) => rootDep2.pkg.name === peerName).sort((rootDep1, rootDep2) => (0, util_lex_comparator_1.lexCompare)(rootDep1.alias, rootDep2.alias))[0]; if (rootDep?.normalizedBareSpecifier) { dependencies[peerName] = rootDep.normalizedBareSpecifier; continue; } if (opts.allPreferredVersions[peerName]) { const versions = []; const nonVersions = []; for (const [spec, specType] of Object.entries(opts.allPreferredVersions[peerName])) { if (specType === "version") { versions.push(spec); } else { nonVersions.push(spec); } } dependencies[peerName] = [semver_12.default.maxSatisfying(versions, "*", { includePrerelease: true }), ...nonVersions].join(" || "); } else if (opts.autoInstallPeers) { dependencies[peerName] = range; } } return dependencies; } function getHoistableOptionalPeers(allMissingOptionalPeers, allPreferredVersions) { const optionalDependencies = {}; for (const [missingOptionalPeerName, ranges] of Object.entries(allMissingOptionalPeers)) { if (!allPreferredVersions[missingOptionalPeerName]) continue; let maxSatisfyingVersion; for (const [version2, specType] of Object.entries(allPreferredVersions[missingOptionalPeerName])) { if (specType === "version" && ranges.every((range) => semver_12.default.satisfies(version2, range)) && (!maxSatisfyingVersion || semver_12.default.gt(version2, maxSatisfyingVersion))) { maxSatisfyingVersion = version2; } } if (maxSatisfyingVersion) { optionalDependencies[missingOptionalPeerName] = maxSatisfyingVersion; } } return optionalDependencies; } } }); // ../pkg-manager/resolve-dependencies/lib/wantedDepIsLocallyAvailable.js var require_wantedDepIsLocallyAvailable = __commonJS({ "../pkg-manager/resolve-dependencies/lib/wantedDepIsLocallyAvailable.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.wantedDepIsLocallyAvailable = wantedDepIsLocallyAvailable; var npm_resolver_1 = require_lib49(); var semver_12 = __importDefault2(require_semver2()); function wantedDepIsLocallyAvailable(workspacePackages, wantedDependency, opts) { const spec = (0, npm_resolver_1.parseBareSpecifier)(wantedDependency.bareSpecifier, wantedDependency.alias, opts.defaultTag || "latest", opts.registry); if (spec == null || !workspacePackages.has(spec.name)) return false; return pickMatchingLocalVersionOrNull(workspacePackages.get(spec.name), spec) !== null; } function pickMatchingLocalVersionOrNull(versions, spec) { const localVersions = Object.keys(versions); switch (spec.type) { case "tag": return semver_12.default.maxSatisfying(localVersions, "*"); case "version": return versions.has(spec.fetchSpec) ? spec.fetchSpec : null; case "range": return semver_12.default.maxSatisfying(localVersions, spec.fetchSpec, true); default: return null; } } } }); // ../pkg-manager/resolve-dependencies/lib/replaceVersionInBareSpecifier.js var require_replaceVersionInBareSpecifier = __commonJS({ "../pkg-manager/resolve-dependencies/lib/replaceVersionInBareSpecifier.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.replaceVersionInBareSpecifier = replaceVersionInBareSpecifier; var semver_12 = __importDefault2(require_semver2()); function replaceVersionInBareSpecifier(bareSpecifier, version2) { if (semver_12.default.validRange(bareSpecifier)) { return version2; } if (!bareSpecifier.startsWith("npm:")) { return bareSpecifier; } const versionDelimiter = bareSpecifier.lastIndexOf("@"); if (versionDelimiter === -1 || bareSpecifier.indexOf("/") > versionDelimiter) { return `${bareSpecifier}@${version2}`; } return `${bareSpecifier.substring(0, versionDelimiter + 1)}${version2}`; } } }); // ../pkg-manager/resolve-dependencies/lib/resolveDependencies.js var require_resolveDependencies = __commonJS({ "../pkg-manager/resolve-dependencies/lib/resolveDependencies.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPkgsInfoFromIds = getPkgsInfoFromIds; exports2.resolveRootDependencies = resolveRootDependencies; exports2.resolveDependencies = resolveDependencies; exports2.createNodeIdForLinkedLocalPkg = createNodeIdForLinkedLocalPkg; exports2.getManifestFromResponse = getManifestFromResponse; var path_1 = __importDefault2(require("path")); var catalogs_resolver_1 = require_lib148(); var core_loggers_1 = require_lib8(); var error_1 = require_lib6(); var lockfile_utils_1 = require_lib125(); var logger_1 = require_lib(); var patching_config_1 = require_lib160(); var resolver_base_1 = require_lib88(); var dp = __importStar3(require_lib86()); var lockfile_preferred_versions_1 = require_lib165(); var manifest_utils_1 = require_lib10(); var normalize_path_1 = __importDefault2(require_normalize_path()); var path_exists_1 = __importDefault2(require_path_exists2()); var p_defer_1 = __importDefault2(require_p_defer2()); var promise_share_1 = __importDefault2(require_promise_share()); var pickBy_1 = __importDefault2(require_pickBy()); var omit_1 = __importDefault2(require_omit()); var zipWith_1 = __importDefault2(require_zipWith2()); var semver_12 = __importDefault2(require_semver2()); var getNonDevWantedDependencies_js_1 = require_getNonDevWantedDependencies(); var mergePeers_js_1 = require_mergePeers(); var nextNodeId_js_1 = require_nextNodeId(); var parentIdsContainSequence_js_1 = require_parentIdsContainSequence(); var hoistPeers_js_1 = require_hoistPeers(); var wantedDepIsLocallyAvailable_js_1 = require_wantedDepIsLocallyAvailable(); var replaceVersionInBareSpecifier_js_1 = require_replaceVersionInBareSpecifier(); var dependencyResolvedLogger = (0, logger_1.logger)("_dependency_resolved"); var omitDepsFields = (0, omit_1.default)(["dependencies", "optionalDependencies", "peerDependencies", "peerDependenciesMeta"]); function getPkgsInfoFromIds(ids, resolvedPkgsById) { return ids.slice(1).map((id) => { const { name, version: version2 } = resolvedPkgsById[id]; return { id, name, version: version2 }; }); } async function resolveRootDependencies(ctx, importers) { if (ctx.autoInstallPeers) { ctx.allPreferredVersions = (0, lockfile_preferred_versions_1.getPreferredVersionsFromLockfileAndManifests)(ctx.wantedLockfile.packages, []); } else if (ctx.hoistPeers) { ctx.allPreferredVersions = {}; } const { pkgAddressesByImportersWithoutPeers, publishedBy, time } = await resolveDependenciesOfImporters(ctx, importers); if (!ctx.hoistPeers) { return { pkgAddressesByImporters: pkgAddressesByImportersWithoutPeers.map(({ pkgAddresses }) => pkgAddresses), time }; } let workspaceRootDeps; if (ctx.resolvePeersFromWorkspaceRoot) { const rootImporterIndex = importers.findIndex(({ options }) => options.parentIds[0] === "."); workspaceRootDeps = pkgAddressesByImportersWithoutPeers[rootImporterIndex]?.pkgAddresses ?? []; } else { workspaceRootDeps = []; } const _hoistPeers = hoistPeers_js_1.hoistPeers.bind(null, { autoInstallPeers: ctx.autoInstallPeers, allPreferredVersions: ctx.allPreferredVersions, workspaceRootDeps }); while (true) { const allMissingOptionalPeersByImporters = await Promise.all(pkgAddressesByImportersWithoutPeers.map(async (importerResolutionResult, index) => { const { parentPkgAliases, preferredVersions, options } = importers[index]; const allMissingOptionalPeers = {}; while (true) { for (const pkgAddress of importerResolutionResult.pkgAddresses) { parentPkgAliases[pkgAddress.alias] = true; } const missingOptionalPeers = []; const missingRequiredPeers = []; for (const [peerName, peerInfo] of Object.entries(importerResolutionResult.missingPeers ?? {})) { if (peerInfo.optional) { missingOptionalPeers.push([peerName, peerInfo]); } else { missingRequiredPeers.push([peerName, peerInfo]); parentPkgAliases[peerName] = true; } } if (ctx.autoInstallPeers) { for (const [resolvedPeerName, resolvedPeerAddress] of Object.entries(importerResolutionResult.resolvedPeers ?? {})) { if (!parentPkgAliases[resolvedPeerName]) { importerResolutionResult.pkgAddresses.push(resolvedPeerAddress); } } } for (const [missingOptionalPeerName, { range: missingOptionalPeerRange }] of missingOptionalPeers) { if (!allMissingOptionalPeers[missingOptionalPeerName]) { allMissingOptionalPeers[missingOptionalPeerName] = [missingOptionalPeerRange]; } else if (!allMissingOptionalPeers[missingOptionalPeerName].includes(missingOptionalPeerRange)) { allMissingOptionalPeers[missingOptionalPeerName].push(missingOptionalPeerRange); } } if (!missingRequiredPeers.length) break; const dependencies = _hoistPeers(missingRequiredPeers); if (!Object.keys(dependencies).length) break; const wantedDependencies = (0, getNonDevWantedDependencies_js_1.getNonDevWantedDependencies)({ dependencies }); const resolveDependenciesResult = await resolveDependencies(ctx, preferredVersions, wantedDependencies, { ...options, parentPkgAliases, publishedBy, updateToLatest: false }); importerResolutionResult.pkgAddresses.push(...resolveDependenciesResult.pkgAddresses); Object.assign(importerResolutionResult, filterMissingPeers(await resolveDependenciesResult.resolvingPeers, parentPkgAliases)); } return allMissingOptionalPeers; })); let hasNewMissingPeers = false; await Promise.all(allMissingOptionalPeersByImporters.map(async (allMissingOptionalPeers, index) => { const { preferredVersions, parentPkgAliases, options } = importers[index]; if (Object.keys(allMissingOptionalPeers).length && ctx.allPreferredVersions) { const optionalDependencies = (0, hoistPeers_js_1.getHoistableOptionalPeers)(allMissingOptionalPeers, ctx.allPreferredVersions); if (Object.keys(optionalDependencies).length) { hasNewMissingPeers = true; const wantedDependencies = (0, getNonDevWantedDependencies_js_1.getNonDevWantedDependencies)({ optionalDependencies }); const resolveDependenciesResult = await resolveDependencies(ctx, preferredVersions, wantedDependencies, { ...options, parentPkgAliases, publishedBy, updateToLatest: false }); pkgAddressesByImportersWithoutPeers[index].pkgAddresses.push(...resolveDependenciesResult.pkgAddresses); Object.assign(pkgAddressesByImportersWithoutPeers[index], filterMissingPeers(await resolveDependenciesResult.resolvingPeers, parentPkgAliases)); } } })); if (!hasNewMissingPeers) break; } return { pkgAddressesByImporters: pkgAddressesByImportersWithoutPeers.map(({ pkgAddresses }) => pkgAddresses), time }; } async function resolveDependenciesOfImporters(ctx, importers) { const pickLowestVersion = ctx.resolutionMode === "time-based" || ctx.resolutionMode === "lowest-direct"; const resolveResults = await Promise.all(importers.map(async (importer) => { const extendedWantedDeps = getDepsToResolve(importer.wantedDependencies, ctx.wantedLockfile, { preferredDependencies: importer.options.preferredDependencies, prefix: importer.options.prefix, proceed: importer.options.proceed || ctx.forceFullResolution, registries: ctx.registries, resolvedDependencies: importer.options.resolvedDependencies }); const postponedResolutionsQueue = []; const postponedPeersResolutionQueue = []; const pkgAddresses = []; const resolveDependenciesOfImporterWantedDep = resolveDependenciesOfImporterDependency.bind(null, { ctx, importer, pickLowestVersion }); const resolvedDependenciesOfImporter = await Promise.all(extendedWantedDeps.map(resolveDependenciesOfImporterWantedDep)); for (const { resolveDependencyResult, postponedPeersResolution, postponedResolution } of resolvedDependenciesOfImporter) { if (resolveDependencyResult) { pkgAddresses.push(resolveDependencyResult); } if (postponedResolution) { postponedResolutionsQueue.push(postponedResolution); } if (postponedPeersResolution) { postponedPeersResolutionQueue.push(postponedPeersResolution); } } return { pkgAddresses, postponedResolutionsQueue, postponedPeersResolutionQueue }; })); let publishedBy; let time; if (ctx.resolutionMode === "time-based") { const result2 = getPublishedByDate(resolveResults.map(({ pkgAddresses }) => pkgAddresses).flat(), ctx.wantedLockfile.time); if (result2.publishedBy) { publishedBy = new Date(result2.publishedBy.getTime() + 60 * 60 * 1e3); time = result2.newTime; } } if (ctx.maximumPublishedBy && (publishedBy == null || publishedBy > ctx.maximumPublishedBy)) { publishedBy = ctx.maximumPublishedBy; } const pkgAddressesByImportersWithoutPeers = await Promise.all((0, zipWith_1.default)(async (importer, { pkgAddresses, postponedResolutionsQueue, postponedPeersResolutionQueue }) => { const newPreferredVersions = Object.create(importer.preferredVersions); const currentParentPkgAliases = {}; for (const pkgAddress of pkgAddresses) { if (currentParentPkgAliases[pkgAddress.alias] !== true) { currentParentPkgAliases[pkgAddress.alias] = pkgAddress; } if (pkgAddress.updated) { ctx.updatedSet.add(pkgAddress.alias); } const resolvedPackage = ctx.resolvedPkgsById[pkgAddress.pkgId]; if (!resolvedPackage) continue; if (!Object.hasOwn(newPreferredVersions, resolvedPackage.name)) { newPreferredVersions[resolvedPackage.name] = { ...importer.preferredVersions[resolvedPackage.name] }; } if (!newPreferredVersions[resolvedPackage.name][resolvedPackage.version]) { newPreferredVersions[resolvedPackage.name][resolvedPackage.version] = { selectorType: "version", weight: resolver_base_1.DIRECT_DEP_SELECTOR_WEIGHT }; } } const newParentPkgAliases = { ...importer.parentPkgAliases, ...currentParentPkgAliases }; const postponedResolutionOpts = { preferredVersions: newPreferredVersions, parentPkgAliases: newParentPkgAliases, publishedBy }; const childrenResults = await Promise.all(postponedResolutionsQueue.map((postponedResolution) => postponedResolution(postponedResolutionOpts))); if (!ctx.hoistPeers) { return { missingPeers: {}, pkgAddresses, resolvedPeers: {} }; } const postponedPeersResolution = await Promise.all(postponedPeersResolutionQueue.map((postponedMissingPeers) => postponedMissingPeers(postponedResolutionOpts.parentPkgAliases))); const resolvedPeers = [...childrenResults, ...postponedPeersResolution].reduce((acc, { resolvedPeers: resolvedPeers2 }) => Object.assign(acc, resolvedPeers2), {}); const allMissingPeers = mergePkgsDeps([ ...filterMissingPeersFromPkgAddresses(pkgAddresses, currentParentPkgAliases, resolvedPeers), ...childrenResults, ...postponedPeersResolution ].map(({ missingPeers }) => missingPeers).filter(Boolean), { autoInstallPeersFromHighestMatch: ctx.autoInstallPeersFromHighestMatch }); return { missingPeers: allMissingPeers, pkgAddresses, resolvedPeers }; }, importers, resolveResults)); return { pkgAddressesByImportersWithoutPeers, publishedBy, time }; } async function resolveDependenciesOfImporterDependency({ ctx, importer, pickLowestVersion }, extendedWantedDep) { const catalogLookup = (0, catalogs_resolver_1.matchCatalogResolveResult)(ctx.catalogResolver(extendedWantedDep.wantedDependency), { found: (result3) => result3.resolution, unused: () => void 0, misconfiguration: (result3) => { throw result3.error; } }); const originalBareSpecifier = extendedWantedDep.wantedDependency.bareSpecifier; if (catalogLookup != null) { extendedWantedDep.wantedDependency.bareSpecifier = catalogLookup.specifier; extendedWantedDep.preferredVersion = getCatalogExistingVersionFromSnapshot(catalogLookup, ctx.wantedLockfile, extendedWantedDep.wantedDependency); } const result2 = await resolveDependenciesOfDependency(ctx, importer.preferredVersions, { ...importer.options, parentPkgAliases: importer.parentPkgAliases, pickLowestVersion: pickLowestVersion && !importer.updatePackageManifest, pinnedVersion: importer.pinnedVersion, publishedBy: ctx.maximumPublishedBy }, extendedWantedDep); if (result2.resolveDependencyResult != null && catalogLookup != null) { result2.resolveDependencyResult.catalogLookup = { ...catalogLookup, userSpecifiedBareSpecifier: originalBareSpecifier }; } return result2; } function filterMissingPeersFromPkgAddresses(pkgAddresses, currentParentPkgAliases, resolvedPeers) { return pkgAddresses.map((pkgAddress) => ({ ...pkgAddress, missingPeers: (0, pickBy_1.default)((_, peerName) => { if (!currentParentPkgAliases[peerName]) return true; if (currentParentPkgAliases[peerName] !== true) { resolvedPeers[peerName] = currentParentPkgAliases[peerName]; } return false; }, pkgAddress.missingPeers ?? {}) })); } function getPublishedByDate(pkgAddresses, timeFromLockfile = {}) { const newTime = {}; for (const pkgAddress of pkgAddresses) { if (pkgAddress.publishedAt) { newTime[pkgAddress.pkgId] = pkgAddress.publishedAt; } else if (timeFromLockfile[pkgAddress.pkgId]) { newTime[pkgAddress.pkgId] = timeFromLockfile[pkgAddress.pkgId]; } } const sortedDates = Object.values(newTime).map((publishedAt) => new Date(publishedAt)).sort((d1, d2) => d1.getTime() - d2.getTime()); return { publishedBy: sortedDates[sortedDates.length - 1], newTime }; } async function resolveDependencies(ctx, preferredVersions, wantedDependencies, options) { const extendedWantedDeps = getDepsToResolve(wantedDependencies, ctx.wantedLockfile, { preferredDependencies: options.preferredDependencies, prefix: options.prefix, proceed: options.proceed || ctx.forceFullResolution, registries: ctx.registries, resolvedDependencies: options.resolvedDependencies }); const postponedResolutionsQueue = []; const postponedPeersResolutionQueue = []; const pkgAddresses = []; await Promise.all(extendedWantedDeps.map(async (extendedWantedDep) => { const { resolveDependencyResult, postponedResolution, postponedPeersResolution } = await resolveDependenciesOfDependency(ctx, preferredVersions, options, extendedWantedDep); if (resolveDependencyResult) { pkgAddresses.push(resolveDependencyResult); } if (postponedResolution) { postponedResolutionsQueue.push(postponedResolution); } if (postponedPeersResolution) { postponedPeersResolutionQueue.push(postponedPeersResolution); } })); const newPreferredVersions = Object.create(preferredVersions); const currentParentPkgAliases = {}; for (const pkgAddress of pkgAddresses) { if (currentParentPkgAliases[pkgAddress.alias] !== true) { currentParentPkgAliases[pkgAddress.alias] = pkgAddress; } if (pkgAddress.updated) { ctx.updatedSet.add(pkgAddress.alias); } const resolvedPackage = ctx.resolvedPkgsById[pkgAddress.pkgId]; if (!resolvedPackage) continue; if (!Object.hasOwn(newPreferredVersions, resolvedPackage.name)) { newPreferredVersions[resolvedPackage.name] = { ...preferredVersions[resolvedPackage.name] }; } if (!newPreferredVersions[resolvedPackage.name][resolvedPackage.version]) { newPreferredVersions[resolvedPackage.name][resolvedPackage.version] = "version"; } } const newParentPkgAliases = { ...options.parentPkgAliases, ...currentParentPkgAliases }; const postponedResolutionOpts = { preferredVersions: newPreferredVersions, parentPkgAliases: newParentPkgAliases, publishedBy: options.publishedBy }; const childrenResults = await Promise.all(postponedResolutionsQueue.map((postponedResolution) => postponedResolution(postponedResolutionOpts))); if (!ctx.hoistPeers) { return { resolvingPeers: Promise.resolve({ missingPeers: {}, resolvedPeers: {} }), pkgAddresses }; } return { pkgAddresses, resolvingPeers: startResolvingPeers({ childrenResults, pkgAddresses, parentPkgAliases: options.parentPkgAliases, currentParentPkgAliases, postponedPeersResolutionQueue, autoInstallPeersFromHighestMatch: ctx.autoInstallPeersFromHighestMatch }) }; } async function startResolvingPeers({ childrenResults, currentParentPkgAliases, parentPkgAliases, pkgAddresses, postponedPeersResolutionQueue, autoInstallPeersFromHighestMatch }) { const results = await Promise.all(postponedPeersResolutionQueue.map((postponedPeersResolution) => postponedPeersResolution(parentPkgAliases))); const resolvedPeers = [...childrenResults, ...results].reduce((acc, { resolvedPeers: resolvedPeers2 }) => Object.assign(acc, resolvedPeers2), {}); const allMissingPeers = mergePkgsDeps([ ...filterMissingPeersFromPkgAddresses(pkgAddresses, currentParentPkgAliases, resolvedPeers), ...childrenResults, ...results ].map(({ missingPeers }) => missingPeers).filter(Boolean), { autoInstallPeersFromHighestMatch }); return { missingPeers: allMissingPeers, resolvedPeers }; } function mergePkgsDeps(pkgsDeps, opts) { const groupedRanges = {}; for (const deps of pkgsDeps) { for (const [name, { range, optional }] of Object.entries(deps)) { if (!groupedRanges[name]) { groupedRanges[name] = { ranges: [], optional }; } else { groupedRanges[name].optional &&= optional; } groupedRanges[name].ranges.push(range); } } const mergedPkgDeps = {}; for (const [name, { ranges, optional }] of Object.entries(groupedRanges)) { const intersection = (0, mergePeers_js_1.safeIntersect)(ranges); if (intersection) { mergedPkgDeps[name] = { range: intersection, optional }; } else if (opts.autoInstallPeersFromHighestMatch) { mergedPkgDeps[name] = { range: ranges.join(" || "), optional }; } } return mergedPkgDeps; } async function resolveDependenciesOfDependency(ctx, preferredVersions, options, extendedWantedDep) { const updateDepth = typeof extendedWantedDep.wantedDependency.updateDepth === "number" ? extendedWantedDep.wantedDependency.updateDepth : options.updateDepth; const updateShouldContinue = options.currentDepth <= updateDepth; const updateRequested = updateShouldContinue && (options.updateMatching == null || extendedWantedDep.infoFromLockfile?.name != null && options.updateMatching(extendedWantedDep.infoFromLockfile.name)); const update = updateRequested || extendedWantedDep.infoFromLockfile?.dependencyLockfile == null || Boolean(ctx.workspacePackages != null && ctx.linkWorkspacePackagesDepth !== -1 && (0, wantedDepIsLocallyAvailable_js_1.wantedDepIsLocallyAvailable)(ctx.workspacePackages, extendedWantedDep.wantedDependency, { defaultTag: ctx.defaultTag, registry: ctx.registries.default })) || ctx.updatedSet.has(extendedWantedDep.infoFromLockfile.name); const resolveDependencyOpts = { currentDepth: options.currentDepth, parentPkg: options.parentPkg, parentPkgAliases: options.parentPkgAliases, preferredVersions, currentPkg: extendedWantedDep.infoFromLockfile ?? void 0, preferredVersion: extendedWantedDep.preferredVersion, pickLowestVersion: options.pickLowestVersion, prefix: options.prefix, proceed: extendedWantedDep.proceed || updateShouldContinue || ctx.updatedSet.size > 0, publishedBy: options.publishedBy, update: update ? options.updateToLatest ? "latest" : "compatible" : false, updateDepth, updateRequested, supportedArchitectures: options.supportedArchitectures, parentIds: options.parentIds, pinnedVersion: options.pinnedVersion }; const isInjectedWorkspacePackage = options.parentPkg.resolvedVia === "workspace" && options.parentPkg.pkgId.startsWith("file:"); if (isInjectedWorkspacePackage) { const catalogLookup = (0, catalogs_resolver_1.matchCatalogResolveResult)(ctx.catalogResolver(extendedWantedDep.wantedDependency), { found: (result2) => result2.resolution, unused: () => void 0, misconfiguration: (result2) => { throw result2.error; } }); if (catalogLookup != null) { extendedWantedDep.wantedDependency.bareSpecifier = catalogLookup.specifier; extendedWantedDep.preferredVersion = getCatalogExistingVersionFromSnapshot(catalogLookup, ctx.wantedLockfile, extendedWantedDep.wantedDependency); } } const resolveDependencyResult = await resolveDependency(extendedWantedDep.wantedDependency, ctx, resolveDependencyOpts); if (resolveDependencyResult == null) return { resolveDependencyResult: null }; if (resolveDependencyResult.isLinkedDependency) { ctx.dependenciesTree.set(createNodeIdForLinkedLocalPkg(ctx.lockfileDir, resolveDependencyResult.resolution.directory), { children: {}, depth: -1, installable: true, resolvedPackage: { name: resolveDependencyResult.name, version: resolveDependencyResult.version } }); return { resolveDependencyResult }; } if (!resolveDependencyResult.isNew) { return { resolveDependencyResult, postponedPeersResolution: resolveDependencyResult.missingPeersOfChildren != null ? async (parentPkgAliases) => { const missingPeers = await resolveDependencyResult.missingPeersOfChildren.get(); return filterMissingPeers({ missingPeers, resolvedPeers: {} }, parentPkgAliases); } : void 0 }; } const postponedResolution = resolveChildren.bind(null, ctx, { parentPkg: resolveDependencyResult, dependencyLockfile: extendedWantedDep.infoFromLockfile?.dependencyLockfile, parentDepth: options.currentDepth, parentIds: [...options.parentIds, resolveDependencyResult.pkgId], updateDepth, prefix: options.prefix, updateMatching: options.updateMatching, supportedArchitectures: options.supportedArchitectures, updateToLatest: options.updateToLatest }); return { resolveDependencyResult, postponedResolution: async (postponedResolutionOpts) => { const { missingPeers, resolvedPeers } = await postponedResolution(postponedResolutionOpts); if (resolveDependencyResult.missingPeersOfChildren) { resolveDependencyResult.missingPeersOfChildren.resolved = true; resolveDependencyResult.missingPeersOfChildren.resolve(missingPeers); } return filterMissingPeers({ missingPeers, resolvedPeers }, postponedResolutionOpts.parentPkgAliases); } }; } function createNodeIdForLinkedLocalPkg(lockfileDir, pkgDir) { return `link:${(0, normalize_path_1.default)(path_1.default.relative(lockfileDir, pkgDir))}`; } function filterMissingPeers({ missingPeers, resolvedPeers }, parentPkgAliases) { const newMissing = {}; for (const [peerName, peerVersion] of Object.entries(missingPeers)) { if (parentPkgAliases[peerName]) { if (parentPkgAliases[peerName] !== true) { resolvedPeers[peerName] = parentPkgAliases[peerName]; } } else { newMissing[peerName] = peerVersion; } } return { resolvedPeers, missingPeers: newMissing }; } async function resolveChildren(ctx, { parentPkg, parentIds, dependencyLockfile, parentDepth, updateDepth, updateMatching, prefix, supportedArchitectures }, { parentPkgAliases, preferredVersions, publishedBy }) { const currentResolvedDependencies = dependencyLockfile != null ? { ...dependencyLockfile.dependencies, ...dependencyLockfile.optionalDependencies } : void 0; const resolvedDependencies = parentPkg.updated ? void 0 : currentResolvedDependencies; const parentDependsOnPeer = Boolean(Object.keys(dependencyLockfile?.peerDependencies ?? parentPkg.pkg.peerDependencies ?? {}).length); const wantedDependencies = (0, getNonDevWantedDependencies_js_1.getNonDevWantedDependencies)(parentPkg.pkg); const { pkgAddresses, resolvingPeers } = await resolveDependencies(ctx, preferredVersions, wantedDependencies, { currentDepth: parentDepth + 1, parentPkg, parentPkgAliases, preferredDependencies: currentResolvedDependencies, prefix, // If the package is not linked, we should also gather information about its dependencies. // After linking the package we'll need to symlink its dependencies. proceed: !parentPkg.depIsLinked || parentDependsOnPeer, publishedBy, resolvedDependencies, updateDepth, updateMatching, supportedArchitectures, parentIds }); ctx.childrenByParentId[parentPkg.pkgId] = pkgAddresses.map((child) => ({ alias: child.alias, id: child.pkgId })); ctx.dependenciesTree.set(parentPkg.nodeId, { children: pkgAddresses.reduce((chn, child) => { chn[child.alias] = child.nodeId ?? child.pkgId; return chn; }, {}), depth: parentDepth, installable: parentPkg.installable, resolvedPackage: ctx.resolvedPkgsById[parentPkg.pkgId] }); return resolvingPeers; } function getDepsToResolve(wantedDependencies, wantedLockfile, options) { const resolvedDependencies = options.resolvedDependencies ?? {}; const preferredDependencies = options.preferredDependencies ?? {}; const extendedWantedDeps = []; let proceedAll = options.proceed; const satisfiesWanted2Args = referenceSatisfiesWantedSpec.bind(null, { lockfile: wantedLockfile, prefix: options.prefix }); for (const wantedDependency of wantedDependencies) { let reference = void 0; let proceed = proceedAll; if (wantedDependency.alias) { const satisfiesWanted = satisfiesWanted2Args.bind(null, wantedDependency); if (resolvedDependencies[wantedDependency.alias] && (satisfiesWanted(resolvedDependencies[wantedDependency.alias]) || resolvedDependencies[wantedDependency.alias].startsWith("file:"))) { reference = resolvedDependencies[wantedDependency.alias]; } else if ( // If dependencies that were used by the previous version of the package // satisfy the newer version's requirements, then pnpm tries to keep // the previous dependency. // So for example, if foo@1.0.0 had bar@1.0.0 as a dependency // and foo was updated to 1.1.0 which depends on bar ^1.0.0 // then bar@1.0.0 can be reused for foo@1.1.0 semver_12.default.validRange(wantedDependency.bareSpecifier) !== null && preferredDependencies[wantedDependency.alias] && satisfiesWanted(preferredDependencies[wantedDependency.alias]) ) { proceed = true; reference = preferredDependencies[wantedDependency.alias]; } } const infoFromLockfile = getInfoFromLockfile(wantedLockfile, options.registries, reference, wantedDependency.alias); if (!proceedAll && (infoFromLockfile == null || infoFromLockfile.dependencyLockfile != null && (infoFromLockfile.dependencyLockfile.peerDependencies != null || infoFromLockfile.dependencyLockfile.transitivePeerDependencies?.length))) { proceed = true; proceedAll = true; for (const extendedWantedDep of extendedWantedDeps) { if (!extendedWantedDep.proceed) { extendedWantedDep.proceed = true; } } } extendedWantedDeps.push({ infoFromLockfile, proceed, wantedDependency }); } return extendedWantedDeps; } function referenceSatisfiesWantedSpec(opts, wantedDep, preferredRef) { const depPath = dp.refToRelative(preferredRef, wantedDep.alias); if (depPath === null) return false; const pkgSnapshot = opts.lockfile.packages?.[depPath]; if (pkgSnapshot == null) { logger_1.logger.warn({ message: `Could not find preferred package ${depPath} in lockfile`, prefix: opts.prefix }); return false; } const { version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); if (!semver_12.default.validRange(wantedDep.bareSpecifier) && Object.values(opts.lockfile.importers).filter((importer) => importer.specifiers[wantedDep.alias] === wantedDep.bareSpecifier).length) { return true; } return semver_12.default.satisfies(version2, wantedDep.bareSpecifier, true); } function getInfoFromLockfile(lockfile, registries, reference, alias) { if (!reference || !alias) { return void 0; } const depPath = dp.refToRelative(reference, alias); if (!depPath) { return void 0; } let dependencyLockfile = lockfile.packages?.[depPath]; if (dependencyLockfile != null) { if (dependencyLockfile.peerDependencies != null && dependencyLockfile.dependencies != null) { const dependencies = {}; for (const [depName, ref] of Object.entries(dependencyLockfile.dependencies ?? {})) { if (dependencyLockfile.peerDependencies[depName]) continue; dependencies[depName] = ref; } dependencyLockfile = { ...dependencyLockfile, dependencies }; } const { name, version: version2, nonSemverVersion } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, dependencyLockfile); return { name, version: version2, dependencyLockfile, pkgId: nonSemverVersion ?? `${name}@${version2}`, // resolution may not exist if lockfile is broken, and an unexpected error will be thrown // if resolution does not exist, return undefined so it can be autofixed later resolution: dependencyLockfile.resolution && (0, lockfile_utils_1.pkgSnapshotToResolution)(depPath, dependencyLockfile, registries) }; } else { const parsed = dp.parse(depPath); return { pkgId: parsed.nonSemverVersion ?? (parsed.name && parsed.version ? `${parsed.name}@${parsed.version}` : depPath) // Does it make sense to set pkgId when we're not sure? }; } } async function resolveDependency(wantedDependency, ctx, options) { const currentPkg = options.currentPkg ?? {}; const currentLockfileContainsTheDep = currentPkg.depPath ? Boolean(ctx.currentLockfile.packages?.[currentPkg.depPath]) : void 0; const depIsLinked = Boolean( // if package is not in `node_modules/.pnpm-lock.yaml` // we can safely assume that it doesn't exist in `node_modules` currentLockfileContainsTheDep && currentPkg.depPath && currentPkg.dependencyLockfile && currentPkg.name && await (0, path_exists_1.default)(path_1.default.join(ctx.virtualStoreDir, dp.depPathToFilename(currentPkg.depPath, ctx.virtualStoreDirMaxLength), "node_modules", currentPkg.name, "package.json")) ); if (!options.update && !options.proceed && currentPkg.resolution != null && depIsLinked) { return null; } let pkgResponse; if (!options.parentPkg.installable) { wantedDependency = { ...wantedDependency, optional: true }; } try { const calcSpecifier = options.currentDepth === 0; if (!options.update && currentPkg.version && currentPkg.pkgId?.endsWith(`@${currentPkg.version}`) && !calcSpecifier) { wantedDependency.bareSpecifier = (0, replaceVersionInBareSpecifier_js_1.replaceVersionInBareSpecifier)(wantedDependency.bareSpecifier, currentPkg.version); } if (!options.updateRequested && options.preferredVersion != null) { wantedDependency.bareSpecifier = (0, replaceVersionInBareSpecifier_js_1.replaceVersionInBareSpecifier)(wantedDependency.bareSpecifier, options.preferredVersion); } pkgResponse = await ctx.storeController.requestPackage(wantedDependency, { allowBuild: ctx.allowBuild, alwaysTryWorkspacePackages: ctx.linkWorkspacePackagesDepth >= options.currentDepth, currentPkg: currentPkg ? { id: currentPkg.pkgId, name: currentPkg.name, resolution: currentPkg.resolution, version: currentPkg.version } : void 0, expectedPkg: currentPkg, defaultTag: ctx.defaultTag, ignoreScripts: ctx.ignoreScripts, publishedBy: options.publishedBy, publishedByExclude: ctx.publishedByExclude, pickLowestVersion: options.pickLowestVersion, downloadPriority: -options.currentDepth, lockfileDir: ctx.lockfileDir, preferredVersions: options.preferredVersions, preferWorkspacePackages: ctx.preferWorkspacePackages, projectDir: options.currentDepth > 0 && !wantedDependency.bareSpecifier.startsWith("file:") ? ctx.lockfileDir : options.parentPkg.rootDir, skipFetch: ctx.dryRun, trustPolicy: ctx.trustPolicy, trustPolicyExclude: ctx.trustPolicyExclude, update: options.update, workspacePackages: ctx.workspacePackages, supportedArchitectures: options.supportedArchitectures, onFetchError: (err) => { err.prefix = options.prefix; err.pkgsStack = getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById); return err; }, injectWorkspacePackages: ctx.injectWorkspacePackages, calcSpecifier, pinnedVersion: options.pinnedVersion }); } catch (err) { const wantedDependencyDetails = { name: wantedDependency.alias, bareSpecifier: wantedDependency.bareSpecifier, version: wantedDependency.alias ? wantedDependency.bareSpecifier : void 0 }; if (wantedDependency.optional && err.code !== "ERR_PNPM_TRUST_DOWNGRADE" && err.code !== "ERR_PNPM_NO_MATURE_MATCHING_VERSION") { core_loggers_1.skippedOptionalDependencyLogger.debug({ details: err.toString(), package: wantedDependencyDetails, parents: getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById), prefix: options.prefix, reason: "resolution_failure" }); return null; } err.package = wantedDependencyDetails; err.prefix = options.prefix; err.pkgsStack = getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById); throw err; } dependencyResolvedLogger.debug({ resolution: pkgResponse.body.id, wanted: { dependentId: options.parentPkg.pkgId, name: wantedDependency.alias, rawSpec: wantedDependency.bareSpecifier } }); if (ctx.blockExoticSubdeps && options.currentDepth > 0 && pkgResponse.body.resolvedVia != null && // This is already coming from the lockfile, we skip the check in this case for now. Should be fixed later. isExoticDep(pkgResponse.body.resolvedVia)) { const error = new error_1.PnpmError("EXOTIC_SUBDEP", `Exotic dependency "${wantedDependency.alias ?? wantedDependency.bareSpecifier}" (resolved via ${pkgResponse.body.resolvedVia}) is not allowed in subdependencies when blockExoticSubdeps is enabled`); error.prefix = options.prefix; error.pkgsStack = getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById); throw error; } if (ctx.allPreferredVersions && pkgResponse.body.manifest?.version) { if (!ctx.allPreferredVersions[pkgResponse.body.manifest.name]) { ctx.allPreferredVersions[pkgResponse.body.manifest.name] = {}; } ctx.allPreferredVersions[pkgResponse.body.manifest.name][pkgResponse.body.manifest.version] = "version"; } if (!pkgResponse.body.updated && options.currentDepth === Math.max(0, options.updateDepth) && depIsLinked && !ctx.force && !options.proceed) { return null; } if (pkgResponse.body.isLocal) { if (!pkgResponse.body.manifest) { throw new error_1.PnpmError("MISSING_PACKAGE_JSON", `Can't install ${wantedDependency.bareSpecifier}: Missing package.json file`); } return { alias: wantedDependency.alias ?? pkgResponse.body.alias ?? pkgResponse.body.manifest.name ?? path_1.default.basename(pkgResponse.body.resolution.directory), dev: wantedDependency.dev, isLinkedDependency: true, name: pkgResponse.body.manifest.name, optional: wantedDependency.optional, pkgId: pkgResponse.body.id, resolution: pkgResponse.body.resolution, version: pkgResponse.body.manifest.version, normalizedBareSpecifier: pkgResponse.body.normalizedBareSpecifier, pkg: pkgResponse.body.manifest }; } let prepare; let hasBin; let pkg = getManifestFromResponse(pkgResponse, wantedDependency, currentPkg); if (!pkg.dependencies) { pkg.dependencies = {}; } if (ctx.readPackageHook != null) { pkg = await ctx.readPackageHook(pkg); } if (pkg.peerDependencies && pkg.dependencies) { if (ctx.autoInstallPeers) { pkg = { ...pkg, dependencies: (0, omit_1.default)(Object.keys(pkg.peerDependencies), pkg.dependencies) }; } else { pkg = { ...pkg, dependencies: (0, omit_1.default)(Object.keys(pkg.peerDependencies).filter((peerDep) => options.parentPkgAliases[peerDep]), pkg.dependencies) }; } } if (pkg.engines?.runtime != null) { (0, manifest_utils_1.convertEnginesRuntimeToDependencies)(pkg, "engines", "dependencies"); } if (!pkg.name) { throw new error_1.PnpmError("MISSING_PACKAGE_NAME", `Can't install ${wantedDependency.bareSpecifier}: Missing package name`); } let pkgIdWithPatchHash = pkgResponse.body.id.startsWith(`${pkg.name}@`) ? pkgResponse.body.id : `${pkg.name}@${pkgResponse.body.id}`; const patch = (0, patching_config_1.getPatchInfo)(ctx.patchedDependencies, pkg.name, pkg.version); if (patch) { ctx.appliedPatches.add(patch.key); pkgIdWithPatchHash = `${pkgIdWithPatchHash}(patch_hash=${patch.file.hash})`; } if ((0, parentIdsContainSequence_js_1.parentIdsContainSequence)(options.parentIds, options.parentPkg.pkgId, pkgResponse.body.id) || pkgResponse.body.id === options.parentPkg.pkgId) { return null; } if (!options.update && currentPkg.dependencyLockfile != null && currentPkg.depPath && !pkgResponse.body.updated && // peerDependencies field is also used for transitive peer dependencies which should not be linked // That's why we cannot omit reading package.json of such dependencies. // This can be removed if we implement something like peerDependenciesMeta.transitive: true currentPkg.dependencyLockfile.peerDependencies == null) { hasBin = currentPkg.dependencyLockfile.hasBin === true; pkg = { ...(0, lockfile_utils_1.nameVerFromPkgSnapshot)(currentPkg.depPath, currentPkg.dependencyLockfile), ...omitDepsFields(currentPkg.dependencyLockfile), ...pkg }; } else { prepare = Boolean(pkgResponse.body.resolvedVia === "git-repository" && typeof pkg.scripts?.prepare === "string"); if (currentPkg.dependencyLockfile?.deprecated && !pkgResponse.body.updated && !pkg.deprecated) { pkg.deprecated = currentPkg.dependencyLockfile.deprecated; } hasBin = currentPkg.dependencyLockfile?.hasBin != null && !pkg.bin ? currentPkg.dependencyLockfile.hasBin : Boolean((pkg.bin && !(pkg.bin === "" || Object.keys(pkg.bin).length === 0)) ?? pkg.directories?.bin); } if (options.currentDepth === 0 && pkgResponse.body.latest && pkgResponse.body.latest !== pkg.version) { ctx.outdatedDependencies[pkgResponse.body.id] = pkgResponse.body.latest; } if (pkg.peerDependencies != null) { for (const name in pkg.peerDependencies) { ctx.allPeerDepNames.add(name); } } if (pkg.peerDependenciesMeta != null) { for (const name in pkg.peerDependenciesMeta) { ctx.allPeerDepNames.add(name); } } const nodeId = pkgIsLeaf(pkg) ? pkgResponse.body.id : (0, nextNodeId_js_1.nextNodeId)(); const parentIsInstallable = options.parentPkg.installable === void 0 || options.parentPkg.installable; const installable = parentIsInstallable && pkgResponse.body.isInstallable !== false; const isNew = !ctx.resolvedPkgsById[pkgResponse.body.id]; const parentImporterId = options.parentIds[0]; const currentIsOptional = wantedDependency.optional || options.parentPkg.optional; if (isNew) { if (pkg.deprecated && (!ctx.allowedDeprecatedVersions[pkg.name] || !semver_12.default.satisfies(pkg.version, ctx.allowedDeprecatedVersions[pkg.name]))) { core_loggers_1.deprecationLogger.debug({ deprecated: pkg.deprecated, depth: options.currentDepth, pkgId: pkgResponse.body.id, pkgName: pkg.name, pkgVersion: pkg.version, prefix: options.prefix }); } if (pkgResponse.body.isInstallable === false || !parentIsInstallable) { ctx.skipped.add(pkgResponse.body.id); } core_loggers_1.progressLogger.debug({ packageId: pkgResponse.body.id, requester: ctx.lockfileDir, status: "resolved" }); ctx.resolvedPkgsById[pkgResponse.body.id] = getResolvedPackage({ dependencyLockfile: currentPkg.dependencyLockfile, pkgIdWithPatchHash, force: ctx.force, hasBin, patch, pkg, pkgResponse, prepare, wantedDependency, parentImporterId, optional: currentIsOptional }); } else { ctx.resolvedPkgsById[pkgResponse.body.id].prod = ctx.resolvedPkgsById[pkgResponse.body.id].prod || !wantedDependency.dev && !wantedDependency.optional; ctx.resolvedPkgsById[pkgResponse.body.id].dev = ctx.resolvedPkgsById[pkgResponse.body.id].dev || wantedDependency.dev; ctx.resolvedPkgsById[pkgResponse.body.id].optional = ctx.resolvedPkgsById[pkgResponse.body.id].optional && currentIsOptional; if (ctx.resolvedPkgsById[pkgResponse.body.id].fetching == null && pkgResponse.fetching != null) { ctx.resolvedPkgsById[pkgResponse.body.id].fetching = pkgResponse.fetching; ctx.resolvedPkgsById[pkgResponse.body.id].filesIndexFile = pkgResponse.filesIndexFile; } if (ctx.dependenciesTree.has(nodeId)) { ctx.dependenciesTree.get(nodeId).depth = Math.min(ctx.dependenciesTree.get(nodeId).depth, options.currentDepth); } else { ctx.pendingNodes.push({ alias: wantedDependency.alias ?? pkgResponse.body.alias ?? pkg.name, depth: options.currentDepth, parentIds: options.parentIds, installable, nodeId, resolvedPackage: ctx.resolvedPkgsById[pkgResponse.body.id] }); } } const rootDir = pkgResponse.body.resolution.type === "directory" ? path_1.default.resolve(ctx.lockfileDir, pkgResponse.body.resolution.directory) : options.prefix; let missingPeersOfChildren; if (ctx.hoistPeers && !options.parentIds.includes(pkgResponse.body.id)) { if (ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id]) { if (ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id].depth >= options.currentDepth || ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id].missingPeersOfChildren.resolved) { missingPeersOfChildren = ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id].missingPeersOfChildren; } } else { const p = (0, p_defer_1.default)(); missingPeersOfChildren = { resolve: p.resolve, reject: p.reject, get: (0, promise_share_1.default)(p.promise) }; ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id] = { depth: options.currentDepth, missingPeersOfChildren }; } } const resolvedPkg = ctx.resolvedPkgsById[pkgResponse.body.id]; return { alias: wantedDependency.alias ?? pkgResponse.body.alias ?? pkg.name, depIsLinked, resolvedVia: pkgResponse.body.resolvedVia, isNew, nodeId, normalizedBareSpecifier: pkgResponse.body.normalizedBareSpecifier, missingPeersOfChildren, pkgId: pkgResponse.body.id, rootDir, missingPeers: getMissingPeers(pkg), optional: resolvedPkg.optional, version: resolvedPkg.version, saveCatalogName: wantedDependency.saveCatalogName, // Next fields are actually only needed when isNew = true installable, isLinkedDependency: void 0, pkg, updated: pkgResponse.body.updated, publishedAt: pkgResponse.body.publishedAt }; } function getManifestFromResponse(pkgResponse, wantedDependency, currentPkg) { if (pkgResponse.body.manifest) return pkgResponse.body.manifest; if (currentPkg?.name && currentPkg?.version) { return { name: currentPkg.name, version: currentPkg.version }; } return { name: wantedDependency.alias ? wantedDependency.alias : wantedDependency.bareSpecifier.split("/").pop(), version: "0.0.0" }; } function getMissingPeers(pkg) { const missingPeers = {}; for (const [peerName, peerVersion] of Object.entries(pkg.peerDependencies ?? {})) { missingPeers[peerName] = { range: peerVersion, optional: pkg.peerDependenciesMeta?.[peerName]?.optional === true }; } return missingPeers; } function pkgIsLeaf(pkg) { return Object.keys(pkg.dependencies ?? {}).length === 0 && Object.keys(pkg.optionalDependencies ?? {}).length === 0 && Object.keys(pkg.peerDependencies ?? {}).length === 0 && // Package manifests can declare peerDependenciesMeta without declaring // peerDependencies. peerDependenciesMeta implies the later. Object.keys(pkg.peerDependenciesMeta ?? {}).length === 0; } function getResolvedPackage(options) { const peerDependencies = peerDependenciesWithoutOwn(options.pkg); return { additionalInfo: { bundledDependencies: options.pkg.bundledDependencies, bundleDependencies: options.pkg.bundleDependencies, cpu: options.pkg.cpu, deprecated: options.pkg.deprecated, engines: options.pkg.engines, os: options.pkg.os, libc: options.pkg.libc }, isLeaf: pkgIsLeaf(options.pkg), pkgIdWithPatchHash: options.pkgIdWithPatchHash, dev: options.wantedDependency.dev, fetching: options.pkgResponse.fetching, filesIndexFile: options.pkgResponse.filesIndexFile, hasBin: options.hasBin, hasBundledDependencies: !((options.pkg.bundledDependencies ?? options.pkg.bundleDependencies) == null), id: options.pkgResponse.body.id, name: options.pkg.name, optional: options.optional, optionalDependencies: new Set(Object.keys(options.pkg.optionalDependencies ?? {})), patch: options.patch, peerDependencies, prepare: options.prepare, prod: !options.wantedDependency.dev && !options.wantedDependency.optional, resolution: options.pkgResponse.body.resolution, version: options.pkg.version }; } function peerDependenciesWithoutOwn(pkg) { if (pkg.peerDependencies == null && pkg.peerDependenciesMeta == null) return {}; const ownDeps = /* @__PURE__ */ new Set([ pkg.name, ...Object.keys(pkg.dependencies ?? {}), ...Object.keys(pkg.optionalDependencies ?? {}) ]); const result2 = {}; if (pkg.peerDependencies != null) { for (const [peerName, peerRange] of Object.entries(pkg.peerDependencies)) { if (ownDeps.has(peerName)) continue; result2[peerName] = { version: peerRange }; } } if (pkg.peerDependenciesMeta != null) { for (const [peerName, peerMeta] of Object.entries(pkg.peerDependenciesMeta)) { if (ownDeps.has(peerName) || peerMeta.optional !== true) continue; if (!result2[peerName]) result2[peerName] = { version: "*" }; result2[peerName].optional = true; } } return result2; } function getCatalogExistingVersionFromSnapshot(catalogLookup, wantedLockfile, wantedDependency) { const existingCatalogResolution = wantedLockfile.catalogs?.[catalogLookup.catalogName]?.[wantedDependency.alias]; return existingCatalogResolution?.specifier === catalogLookup.specifier ? existingCatalogResolution.version : void 0; } var NON_EXOTIC_RESOLVED_VIA = /* @__PURE__ */ new Set([ "custom-resolver", "github.com/denoland/deno", "github.com/oven-sh/bun", "jsr-registry", "local-filesystem", "nodejs.org", "npm-registry", "workspace" ]); function isExoticDep(resolvedVia) { return !NON_EXOTIC_RESOLVED_VIA.has(resolvedVia); } } }); // ../pkg-manager/resolve-dependencies/lib/resolveDependencyTree.js var require_resolveDependencyTree = __commonJS({ "../pkg-manager/resolve-dependencies/lib/resolveDependencyTree.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveDependencyTree = resolveDependencyTree; var error_1 = require_lib6(); var catalogs_resolver_1 = require_lib148(); var logger_1 = require_lib(); var config_version_policy_1 = require_lib127(); var partition_1 = __importDefault2(require_partition4()); var zipObj_1 = __importDefault2(require_zipObj()); var nextNodeId_js_1 = require_nextNodeId(); var parentIdsContainSequence_js_1 = require_parentIdsContainSequence(); var resolveDependencies_js_1 = require_resolveDependencies(); async function resolveDependencyTree(importers, opts) { const wantedToBeSkippedPackageIds = /* @__PURE__ */ new Set(); const autoInstallPeers = opts.autoInstallPeers === true; const ctx = { allowBuild: opts.allowBuild, autoInstallPeers, autoInstallPeersFromHighestMatch: opts.autoInstallPeersFromHighestMatch === true, allowedDeprecatedVersions: opts.allowedDeprecatedVersions, catalogResolver: catalogs_resolver_1.resolveFromCatalog.bind(null, opts.catalogs ?? {}), childrenByParentId: {}, currentLockfile: opts.currentLockfile, defaultTag: opts.tag, dependenciesTree: /* @__PURE__ */ new Map(), dryRun: opts.dryRun, engineStrict: opts.engineStrict, force: opts.force, forceFullResolution: opts.forceFullResolution, ignoreScripts: opts.ignoreScripts, injectWorkspacePackages: opts.injectWorkspacePackages, linkWorkspacePackagesDepth: opts.linkWorkspacePackagesDepth ?? -1, lockfileDir: opts.lockfileDir, nodeVersion: opts.nodeVersion, outdatedDependencies: {}, patchedDependencies: opts.patchedDependencies, pendingNodes: [], pnpmVersion: opts.pnpmVersion, preferWorkspacePackages: opts.preferWorkspacePackages, readPackageHook: opts.hooks.readPackage, registries: opts.registries, resolvedPkgsById: {}, resolvePeersFromWorkspaceRoot: opts.resolvePeersFromWorkspaceRoot, resolutionMode: opts.resolutionMode, skipped: wantedToBeSkippedPackageIds, storeController: opts.storeController, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, wantedLockfile: opts.wantedLockfile, appliedPatches: /* @__PURE__ */ new Set(), updatedSet: /* @__PURE__ */ new Set(), workspacePackages: opts.workspacePackages, missingPeersOfChildrenByPkgId: {}, hoistPeers: autoInstallPeers || opts.dedupePeerDependents, allPeerDepNames: /* @__PURE__ */ new Set(), maximumPublishedBy: opts.minimumReleaseAge ? new Date(Date.now() - opts.minimumReleaseAge * 60 * 1e3) : void 0, publishedByExclude: opts.minimumReleaseAgeExclude ? createPackageVersionPolicyByExclude(opts.minimumReleaseAgeExclude, "minimumReleaseAgeExclude") : void 0, trustPolicy: opts.trustPolicy, trustPolicyExclude: opts.trustPolicyExclude ? createPackageVersionPolicyByExclude(opts.trustPolicyExclude, "trustPolicyExclude") : void 0, blockExoticSubdeps: opts.blockExoticSubdeps }; function createPackageVersionPolicyByExclude(patterns, key) { try { return (0, config_version_policy_1.createPackageVersionPolicy)(patterns); } catch (err) { if (!err || typeof err !== "object" || !("message" in err)) throw err; throw new error_1.PnpmError(`INVALID_${key.replace(/([A-Z])/g, "_$1").toUpperCase()}`, `Invalid value in ${key}: ${err.message}`); } } const resolveArgs = importers.map((importer) => { const projectSnapshot = opts.wantedLockfile.importers[importer.id]; const proceed = importer.id === "." || importer.hasRemovedDependencies === true || importer.wantedDependencies.some((wantedDep) => wantedDep.isNew); const resolveOpts = { currentDepth: 0, parentPkg: { installable: true, nodeId: importer.id, optional: false, pkgId: importer.id, rootDir: importer.rootDir }, parentIds: [importer.id], proceed, resolvedDependencies: { ...projectSnapshot.dependencies, ...projectSnapshot.devDependencies, ...projectSnapshot.optionalDependencies }, updateDepth: -1, updateMatching: importer.updateMatching, updateToLatest: importer.updateToLatest, prefix: importer.rootDir, supportedArchitectures: opts.supportedArchitectures }; return { updatePackageManifest: importer.updatePackageManifest, parentPkgAliases: Object.fromEntries(importer.wantedDependencies.filter(({ alias }) => alias).map(({ alias }) => [alias, true])), preferredVersions: importer.preferredVersions ?? {}, wantedDependencies: importer.wantedDependencies, options: resolveOpts, pinnedVersion: importer.pinnedVersion }; }); const { pkgAddressesByImporters, time } = await (0, resolveDependencies_js_1.resolveRootDependencies)(ctx, resolveArgs); const directDepsByImporterId = (0, zipObj_1.default)(importers.map(({ id }) => id), pkgAddressesByImporters); for (const directDependencies of pkgAddressesByImporters) { for (const directDep of directDependencies) { const { alias, normalizedBareSpecifier, version: version2, saveCatalogName } = directDep; if (saveCatalogName == null) { continue; } const existingCatalog = opts.catalogs?.default?.[alias]; if (existingCatalog != null) { if (existingCatalog !== normalizedBareSpecifier) { (0, logger_1.globalWarn)(`Skip adding ${alias} to the default catalog because it already exists as ${existingCatalog}. Please use \`pnpm update\` to update the catalogs.`); } } else if (normalizedBareSpecifier != null && version2 != null) { const userSpecifiedBareSpecifier = `catalog:${saveCatalogName === "default" ? "" : saveCatalogName}`; directDep.catalogLookup = { catalogName: saveCatalogName, specifier: normalizedBareSpecifier, userSpecifiedBareSpecifier }; } } } for (const pendingNode of ctx.pendingNodes) { ctx.dependenciesTree.set(pendingNode.nodeId, { children: () => buildTree(ctx, pendingNode.resolvedPackage.id, pendingNode.parentIds, ctx.childrenByParentId[pendingNode.resolvedPackage.id], pendingNode.depth + 1, pendingNode.installable), depth: pendingNode.depth, installable: pendingNode.installable, resolvedPackage: pendingNode.resolvedPackage }); } const resolvedImporters = {}; for (const { id, wantedDependencies } of importers) { const directDeps = dedupeSameAliasDirectDeps(directDepsByImporterId[id], wantedDependencies); const [linkedDependencies, directNonLinkedDeps] = (0, partition_1.default)((dep) => dep.isLinkedDependency === true, directDeps); resolvedImporters[id] = { directDependencies: directDeps.map((dep) => { if (dep.isLinkedDependency === true) { return dep; } const resolvedPackage = ctx.dependenciesTree.get(dep.nodeId).resolvedPackage; return { alias: dep.alias, catalogLookup: dep.catalogLookup, dev: resolvedPackage.dev, name: resolvedPackage.name, optional: resolvedPackage.optional, pkgId: resolvedPackage.id, resolution: resolvedPackage.resolution, version: resolvedPackage.version, normalizedBareSpecifier: dep.normalizedBareSpecifier }; }), directNodeIdsByAlias: new Map(directNonLinkedDeps.map(({ alias, nodeId }) => [alias, nodeId])), linkedDependencies }; } return { dependenciesTree: ctx.dependenciesTree, outdatedDependencies: ctx.outdatedDependencies, resolvedImporters, resolvedPkgsById: ctx.resolvedPkgsById, wantedToBeSkippedPackageIds, appliedPatches: ctx.appliedPatches, time, allPeerDepNames: ctx.allPeerDepNames }; } function buildTree(ctx, parentId, parentIds, children, depth, installable) { const childrenNodeIds = {}; for (const child of children) { if (child.id.startsWith("link:")) { childrenNodeIds[child.alias] = child.id; continue; } if ((0, parentIdsContainSequence_js_1.parentIdsContainSequence)(parentIds, parentId, child.id) || parentId === child.id) { continue; } if (ctx.resolvedPkgsById[child.id].isLeaf) { childrenNodeIds[child.alias] = child.id; continue; } const childNodeId = (0, nextNodeId_js_1.nextNodeId)(); childrenNodeIds[child.alias] = childNodeId; installable = installable || !ctx.skipped.has(child.id); ctx.dependenciesTree.set(childNodeId, { children: () => buildTree(ctx, child.id, [...parentIds, child.id], ctx.childrenByParentId[child.id], depth + 1, installable), depth, installable, resolvedPackage: ctx.resolvedPkgsById[child.id] }); } return childrenNodeIds; } function dedupeSameAliasDirectDeps(directDeps, wantedDependencies) { const deps = /* @__PURE__ */ new Map(); for (const directDep of directDeps) { const { alias, normalizedBareSpecifier } = directDep; if (!deps.has(alias)) { deps.set(alias, directDep); } else { const wantedDep = wantedDependencies.find((dep) => dep.alias ? dep.alias === alias : dep.bareSpecifier === normalizedBareSpecifier); if (wantedDep?.isNew) { deps.set(alias, directDep); } } } return Array.from(deps.values()); } } }); // ../node_modules/.pnpm/escape-string-regexp@1.0.5/node_modules/escape-string-regexp/index.js var require_escape_string_regexp2 = __commonJS({ "../node_modules/.pnpm/escape-string-regexp@1.0.5/node_modules/escape-string-regexp/index.js"(exports2, module2) { "use strict"; var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; module2.exports = function(str) { if (typeof str !== "string") { throw new TypeError("Expected a string"); } return str.replace(matchOperatorsRe, "\\$&"); }; } }); // ../node_modules/.pnpm/trim-repeated@1.0.0/node_modules/trim-repeated/index.js var require_trim_repeated = __commonJS({ "../node_modules/.pnpm/trim-repeated@1.0.0/node_modules/trim-repeated/index.js"(exports2, module2) { "use strict"; var escapeStringRegexp = require_escape_string_regexp2(); module2.exports = function(str, target) { if (typeof str !== "string" || typeof target !== "string") { throw new TypeError("Expected a string"); } return str.replace(new RegExp("(?:" + escapeStringRegexp(target) + "){2,}", "g"), target); }; } }); // ../node_modules/.pnpm/filename-reserved-regex@2.0.0/node_modules/filename-reserved-regex/index.js var require_filename_reserved_regex = __commonJS({ "../node_modules/.pnpm/filename-reserved-regex@2.0.0/node_modules/filename-reserved-regex/index.js"(exports2, module2) { "use strict"; module2.exports = () => /[<>:"\/\\|?*\x00-\x1F]/g; module2.exports.windowsNames = () => /^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i; } }); // ../node_modules/.pnpm/strip-outer@1.0.1/node_modules/strip-outer/index.js var require_strip_outer = __commonJS({ "../node_modules/.pnpm/strip-outer@1.0.1/node_modules/strip-outer/index.js"(exports2, module2) { "use strict"; var escapeStringRegexp = require_escape_string_regexp2(); module2.exports = function(str, sub) { if (typeof str !== "string" || typeof sub !== "string") { throw new TypeError(); } sub = escapeStringRegexp(sub); return str.replace(new RegExp("^" + sub + "|" + sub + "$", "g"), ""); }; } }); // ../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/filenamify.js var require_filenamify = __commonJS({ "../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/filenamify.js"(exports2, module2) { "use strict"; var trimRepeated = require_trim_repeated(); var filenameReservedRegex = require_filename_reserved_regex(); var stripOuter = require_strip_outer(); var MAX_FILENAME_LENGTH = 100; var reControlChars = /[\u0000-\u001f\u0080-\u009f]/g; var reRelativePath = /^\.+/; var reTrailingPeriods = /\.+$/; var filenamify = (string, options = {}) => { if (typeof string !== "string") { throw new TypeError("Expected a string"); } const replacement = options.replacement === void 0 ? "!" : options.replacement; if (filenameReservedRegex().test(replacement) && reControlChars.test(replacement)) { throw new Error("Replacement string cannot contain reserved filename characters"); } string = string.replace(filenameReservedRegex(), replacement); string = string.replace(reControlChars, replacement); string = string.replace(reRelativePath, replacement); string = string.replace(reTrailingPeriods, ""); if (replacement.length > 0) { string = trimRepeated(string, replacement); string = string.length > 1 ? stripOuter(string, replacement) : string; } string = filenameReservedRegex.windowsNames().test(string) ? string + replacement : string; string = string.slice(0, typeof options.maxLength === "number" ? options.maxLength : MAX_FILENAME_LENGTH); return string; }; module2.exports = filenamify; } }); // ../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/filenamify-path.js var require_filenamify_path = __commonJS({ "../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/filenamify-path.js"(exports2, module2) { "use strict"; var path2 = require("path"); var filenamify = require_filenamify(); var filenamifyPath = (filePath, options) => { filePath = path2.resolve(filePath); return path2.join(path2.dirname(filePath), filenamify(path2.basename(filePath), options)); }; module2.exports = filenamifyPath; } }); // ../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/index.js var require_filenamify2 = __commonJS({ "../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/index.js"(exports2, module2) { "use strict"; var filenamify = require_filenamify(); var filenamifyPath = require_filenamify_path(); var filenamifyCombined = filenamify; filenamifyCombined.path = filenamifyPath; module2.exports = filenamify; } }); // ../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/treebase.js var require_treebase = __commonJS({ "../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/treebase.js"(exports2, module2) { function TreeBase() { } TreeBase.prototype.clear = function() { this._root = null; this.size = 0; }; TreeBase.prototype.find = function(data) { var res = this._root; while (res !== null) { var c = this._comparator(data, res.data); if (c === 0) { return res.data; } else { res = res.get_child(c > 0); } } return null; }; TreeBase.prototype.findIter = function(data) { var res = this._root; var iter = this.iterator(); while (res !== null) { var c = this._comparator(data, res.data); if (c === 0) { iter._cursor = res; return iter; } else { iter._ancestors.push(res); res = res.get_child(c > 0); } } return null; }; TreeBase.prototype.lowerBound = function(item) { var cur = this._root; var iter = this.iterator(); var cmp = this._comparator; while (cur !== null) { var c = cmp(item, cur.data); if (c === 0) { iter._cursor = cur; return iter; } iter._ancestors.push(cur); cur = cur.get_child(c > 0); } for (var i = iter._ancestors.length - 1; i >= 0; --i) { cur = iter._ancestors[i]; if (cmp(item, cur.data) < 0) { iter._cursor = cur; iter._ancestors.length = i; return iter; } } iter._ancestors.length = 0; return iter; }; TreeBase.prototype.upperBound = function(item) { var iter = this.lowerBound(item); var cmp = this._comparator; while (iter.data() !== null && cmp(iter.data(), item) === 0) { iter.next(); } return iter; }; TreeBase.prototype.min = function() { var res = this._root; if (res === null) { return null; } while (res.left !== null) { res = res.left; } return res.data; }; TreeBase.prototype.max = function() { var res = this._root; if (res === null) { return null; } while (res.right !== null) { res = res.right; } return res.data; }; TreeBase.prototype.iterator = function() { return new Iterator2(this); }; TreeBase.prototype.each = function(cb) { var it = this.iterator(), data; while ((data = it.next()) !== null) { if (cb(data) === false) { return; } } }; TreeBase.prototype.reach = function(cb) { var it = this.iterator(), data; while ((data = it.prev()) !== null) { if (cb(data) === false) { return; } } }; function Iterator2(tree) { this._tree = tree; this._ancestors = []; this._cursor = null; } Iterator2.prototype.data = function() { return this._cursor !== null ? this._cursor.data : null; }; Iterator2.prototype.next = function() { if (this._cursor === null) { var root = this._tree._root; if (root !== null) { this._minNode(root); } } else { if (this._cursor.right === null) { var save; do { save = this._cursor; if (this._ancestors.length) { this._cursor = this._ancestors.pop(); } else { this._cursor = null; break; } } while (this._cursor.right === save); } else { this._ancestors.push(this._cursor); this._minNode(this._cursor.right); } } return this._cursor !== null ? this._cursor.data : null; }; Iterator2.prototype.prev = function() { if (this._cursor === null) { var root = this._tree._root; if (root !== null) { this._maxNode(root); } } else { if (this._cursor.left === null) { var save; do { save = this._cursor; if (this._ancestors.length) { this._cursor = this._ancestors.pop(); } else { this._cursor = null; break; } } while (this._cursor.left === save); } else { this._ancestors.push(this._cursor); this._maxNode(this._cursor.left); } } return this._cursor !== null ? this._cursor.data : null; }; Iterator2.prototype._minNode = function(start) { while (start.left !== null) { this._ancestors.push(start); start = start.left; } this._cursor = start; }; Iterator2.prototype._maxNode = function(start) { while (start.right !== null) { this._ancestors.push(start); start = start.right; } this._cursor = start; }; module2.exports = TreeBase; } }); // ../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/rbtree.js var require_rbtree = __commonJS({ "../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/rbtree.js"(exports2, module2) { var TreeBase = require_treebase(); function Node(data) { this.data = data; this.left = null; this.right = null; this.red = true; } Node.prototype.get_child = function(dir) { return dir ? this.right : this.left; }; Node.prototype.set_child = function(dir, val) { if (dir) { this.right = val; } else { this.left = val; } }; function RBTree(comparator) { this._root = null; this._comparator = comparator; this.size = 0; } RBTree.prototype = new TreeBase(); RBTree.prototype.insert = function(data) { var ret2 = false; if (this._root === null) { this._root = new Node(data); ret2 = true; this.size++; } else { var head = new Node(void 0); var dir = 0; var last = 0; var gp = null; var ggp = head; var p = null; var node = this._root; ggp.right = this._root; while (true) { if (node === null) { node = new Node(data); p.set_child(dir, node); ret2 = true; this.size++; } else if (is_red(node.left) && is_red(node.right)) { node.red = true; node.left.red = false; node.right.red = false; } if (is_red(node) && is_red(p)) { var dir2 = ggp.right === gp; if (node === p.get_child(last)) { ggp.set_child(dir2, single_rotate(gp, !last)); } else { ggp.set_child(dir2, double_rotate(gp, !last)); } } var cmp = this._comparator(node.data, data); if (cmp === 0) { break; } last = dir; dir = cmp < 0; if (gp !== null) { ggp = gp; } gp = p; p = node; node = node.get_child(dir); } this._root = head.right; } this._root.red = false; return ret2; }; RBTree.prototype.remove = function(data) { if (this._root === null) { return false; } var head = new Node(void 0); var node = head; node.right = this._root; var p = null; var gp = null; var found = null; var dir = 1; while (node.get_child(dir) !== null) { var last = dir; gp = p; p = node; node = node.get_child(dir); var cmp = this._comparator(data, node.data); dir = cmp > 0; if (cmp === 0) { found = node; } if (!is_red(node) && !is_red(node.get_child(dir))) { if (is_red(node.get_child(!dir))) { var sr = single_rotate(node, dir); p.set_child(last, sr); p = sr; } else if (!is_red(node.get_child(!dir))) { var sibling = p.get_child(!last); if (sibling !== null) { if (!is_red(sibling.get_child(!last)) && !is_red(sibling.get_child(last))) { p.red = false; sibling.red = true; node.red = true; } else { var dir2 = gp.right === p; if (is_red(sibling.get_child(last))) { gp.set_child(dir2, double_rotate(p, last)); } else if (is_red(sibling.get_child(!last))) { gp.set_child(dir2, single_rotate(p, last)); } var gpc = gp.get_child(dir2); gpc.red = true; node.red = true; gpc.left.red = false; gpc.right.red = false; } } } } } if (found !== null) { found.data = node.data; p.set_child(p.right === node, node.get_child(node.left === null)); this.size--; } this._root = head.right; if (this._root !== null) { this._root.red = false; } return found !== null; }; function is_red(node) { return node !== null && node.red; } function single_rotate(root, dir) { var save = root.get_child(!dir); root.set_child(!dir, save.get_child(dir)); save.set_child(dir, root); root.red = true; save.red = false; return save; } function double_rotate(root, dir) { root.set_child(!dir, single_rotate(root.get_child(!dir), !dir)); return single_rotate(root, dir); } module2.exports = RBTree; } }); // ../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/bintree.js var require_bintree = __commonJS({ "../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/bintree.js"(exports2, module2) { var TreeBase = require_treebase(); function Node(data) { this.data = data; this.left = null; this.right = null; } Node.prototype.get_child = function(dir) { return dir ? this.right : this.left; }; Node.prototype.set_child = function(dir, val) { if (dir) { this.right = val; } else { this.left = val; } }; function BinTree(comparator) { this._root = null; this._comparator = comparator; this.size = 0; } BinTree.prototype = new TreeBase(); BinTree.prototype.insert = function(data) { if (this._root === null) { this._root = new Node(data); this.size++; return true; } var dir = 0; var p = null; var node = this._root; while (true) { if (node === null) { node = new Node(data); p.set_child(dir, node); ret = true; this.size++; return true; } if (this._comparator(node.data, data) === 0) { return false; } dir = this._comparator(node.data, data) < 0; p = node; node = node.get_child(dir); } }; BinTree.prototype.remove = function(data) { if (this._root === null) { return false; } var head = new Node(void 0); var node = head; node.right = this._root; var p = null; var found = null; var dir = 1; while (node.get_child(dir) !== null) { p = node; node = node.get_child(dir); var cmp = this._comparator(data, node.data); dir = cmp > 0; if (cmp === 0) { found = node; } } if (found !== null) { found.data = node.data; p.set_child(p.right === node, node.get_child(node.left === null)); this._root = head.right; this.size--; return true; } else { return false; } }; module2.exports = BinTree; } }); // ../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/index.js var require_bintrees = __commonJS({ "../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/index.js"(exports2, module2) { module2.exports = { RBTree: require_rbtree(), BinTree: require_bintree() }; } }); // ../node_modules/.pnpm/short-tree@1.0.0/node_modules/short-tree/dist/index.js var require_dist21 = __commonJS({ "../node_modules/.pnpm/short-tree@1.0.0/node_modules/short-tree/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ShortTree = void 0; var bintrees_1 = require_bintrees(); function makeArrayCompare(cmp) { return function(a, b) { const lenA = a.length; const lenB = b.length; const minLength = Math.min(lenA, lenB); for (let i = 0; i < minLength; ++i) { const diff = cmp(a[i], b[i]); if (diff === 0) continue; return diff; } return lenA > lenB ? 1 : lenA < lenB ? -1 : 0; }; } function arrayStartsWith(haystack, needle, cmp) { if (haystack.length < needle.length) return false; for (let i = 0; i < needle.length; ++i) if (cmp(haystack[i], needle[i]) !== 0) return false; return true; } var ShortTree = class extends bintrees_1.RBTree { constructor(cmp, arrayCmp = makeArrayCompare(cmp)) { super(arrayCmp); this.cmp = cmp; this.arrayCmp = arrayCmp; } arrayStartsWith(haystack, needle) { return arrayStartsWith(haystack, needle, this.cmp); } insert(path2) { const iter = this.lowerBound(path2); const data = iter.data(); if (data) { const cmp = this.arrayCmp(data, path2); if (cmp === 0) return false; else if (this.arrayStartsWith(data, path2)) this.chopOff(path2); } const prev = this.lowerBound(path2).prev(); if (prev && this.arrayStartsWith(path2, prev)) return false; return super.insert(path2); } chopOff(path2) { const iter = this.lowerBound(path2); const found = []; do { const data = iter.data(); if (data && this.arrayStartsWith(data, path2)) found.push(data); else break; iter.next(); } while (true); for (const node of found) this.remove(node); return found.length > 0; } values() { const ret2 = []; this.each((node) => ret2.push(node)); return ret2; } }; exports2.ShortTree = ShortTree; } }); // ../node_modules/.pnpm/rotated-array-set@1.0.0/node_modules/rotated-array-set/dist/index.js var require_dist22 = __commonJS({ "../node_modules/.pnpm/rotated-array-set@1.0.0/node_modules/rotated-array-set/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.RotatedArraySet = exports2.rotatedArrayEqual = exports2.arrayEqual = void 0; function arrayEqual(a, b) { if (a.length !== b.length) return false; else if (a.length === 0) return true; return !a.some((nodeA, i) => nodeA !== b[i]); } exports2.arrayEqual = arrayEqual; function rotatedArrayEqual(a, b) { if (a.length !== b.length) return false; else if (!a.length) return true; const offset = b.indexOf(a[0]); if (offset === -1) return false; const _b = offset === 0 ? b : [...b.slice(offset), ...b.slice(0, offset)]; return arrayEqual(a, _b); } exports2.rotatedArrayEqual = rotatedArrayEqual; function simpleHash(text, hashCache) { const textLength = text.length; if (textLength === 0) return 4711; const quads = []; for (let i = 0; i < textLength; ++i) { let byte = text.charCodeAt(i) + i * 13; byte = byte % 256; const mod = i % 4; if (mod === 0) quads.push(byte); else quads[quads.length - 1] |= byte << (mod === 1 ? 8 : mod === 2 ? 16 : 24); } const hash = quads.reduce((prev, cur) => prev ^ cur, textLength * 13); hashCache.set(text, hash); return hash; } function nodeHash(keys, hashCache) { if (keys.length === 0) return 31415; return keys.map((key) => { var _a; return (_a = hashCache.get(key)) !== null && _a !== void 0 ? _a : simpleHash(key, hashCache); }).reduce((prev, cur) => prev ^ cur, keys.length * 13); } var RotatedArraySet = class { constructor(stringify2 = (t) => `${t}`) { this.stringify = stringify2; this.hashCache = /* @__PURE__ */ new Map(); this.tree = /* @__PURE__ */ new Map(); } makeNode(arr) { const keys = arr.map((t) => this.stringify(t)); const hash = nodeHash(keys, this.hashCache); const node = { keys, hash, value: arr }; return node; } add(arr) { const node = this.makeNode(arr); if (this._has(node)) return false; let set = this.tree.get(node.hash); if (!set) { set = /* @__PURE__ */ new Set(); this.tree.set(node.hash, set); } set.add(node); return true; } _has(node) { const set = this.tree.get(node.hash); if (!set) return void 0; for (const iter of set.values()) if (rotatedArrayEqual(iter.keys, node.keys)) return iter; return void 0; } has(arr) { return !!this._has(this.makeNode(arr)); } delete(arr) { const node = this._has(this.makeNode(arr)); if (!node) return false; const set = this.tree.get(node.hash); set.delete(node); if (set.size === 0) this.tree.delete(node.hash); return true; } values() { const set = new Set([...this.tree.values()].flatMap((set2) => [...set2.values()])); return [...set].map(({ value }) => value); } }; exports2.RotatedArraySet = RotatedArraySet; } }); // ../node_modules/.pnpm/fast-string-compare@1.0.0/node_modules/fast-string-compare/dist/index.js var require_dist23 = __commonJS({ "../node_modules/.pnpm/fast-string-compare@1.0.0/node_modules/fast-string-compare/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.compare = void 0; function compare(a, b) { const lenA = a.length; const lenB = b.length; const minLen = lenA < lenB ? lenA : lenB; var i = 0; for (; i < minLen; ++i) { const ca = a.charCodeAt(i); const cb = b.charCodeAt(i); if (ca > cb) return 1; else if (ca < cb) return -1; } if (lenA === lenB) return 0; return lenA > lenB ? 1 : -1; } exports2.compare = compare; } }); // ../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/util.js var require_util8 = __commonJS({ "../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/util.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.sortFastAnalysisResult = exports2.sortFullAnalysisResult = exports2.rotateArray = exports2.arrayCompare = exports2.uniqArrays = exports2.uniq = void 0; var fast_string_compare_1 = require_dist23(); function uniq(arr) { return [...new Set(arr)]; } exports2.uniq = uniq; function uniqArrays(arrays) { const known = []; return arrays.filter((array) => { const isKnown = known.some((arr) => !arrayCompare(arr, array)); if (isKnown) return false; known.push(array); return true; }); } exports2.uniqArrays = uniqArrays; function arrayCompare(a, b) { if (a.length !== b.length) return a.length > b.length ? 1 : -1; else if (a.length === 0) return 0; for (let i = 0; i < a.length; ++i) { const diff = fast_string_compare_1.compare(a[i], b[i]); if (diff !== 0) return diff; } return 0; } exports2.arrayCompare = arrayCompare; function sortArrays(arr) { return [...arr].sort((a, b) => { if (a.length < b.length) return -1; else if (a.length > b.length) return 1; else return fast_string_compare_1.compare(JSON.stringify(a), JSON.stringify(b)); }); } function rotateArray(arr, offset) { return [...arr.slice(offset), ...arr.slice(0, offset)]; } exports2.rotateArray = rotateArray; function rotationSort(arr) { const anchor = [...arr].sort(fast_string_compare_1.compare)[0]; while (arr[0] !== anchor) arr = rotateArray(arr, 1); return [...arr]; } function rotationSortArrays(arrays) { return arrays.map((arr) => rotationSort(arr)); } function sortFullAnalysisResult(result2) { return { cycles: sortArrays(rotationSortArrays(result2.cycles)), entrypoints: sortArrays(result2.entrypoints), dependencies: [...result2.dependencies].sort(fast_string_compare_1.compare), dependents: [...result2.dependents].sort(fast_string_compare_1.compare), all: [...result2.all].sort(fast_string_compare_1.compare) }; } exports2.sortFullAnalysisResult = sortFullAnalysisResult; function sortFastAnalysisResult(result2) { return { cyclic: [...result2.cyclic].sort(fast_string_compare_1.compare), dependencies: [...result2.dependencies].sort(fast_string_compare_1.compare), dependents: [...result2.dependents].sort(fast_string_compare_1.compare) }; } exports2.sortFastAnalysisResult = sortFastAnalysisResult; } }); // ../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/types.js var require_types8 = __commonJS({ "../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/types.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); } }); // ../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/index.js var require_dist24 = __commonJS({ "../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.analyzeGraphFast = exports2.analyzeGraph = exports2.sortFastAnalysisResult = exports2.sortFullAnalysisResult = void 0; var short_tree_1 = require_dist21(); var rotated_array_set_1 = require_dist22(); var fast_string_compare_1 = require_dist23(); var util_1 = require_util8(); __exportStar2(require_types8(), exports2); var util_2 = require_util8(); Object.defineProperty(exports2, "sortFullAnalysisResult", { enumerable: true, get: function() { return util_2.sortFullAnalysisResult; } }); Object.defineProperty(exports2, "sortFastAnalysisResult", { enumerable: true, get: function() { return util_2.sortFastAnalysisResult; } }); function buildAndEnsureValidGraph(edges) { const fromSet = /* @__PURE__ */ new Set(); edges.forEach(([from]) => { if (fromSet.has(from)) throw new Error(`Duplicate edge specification from "${from}"`); fromSet.add(from); }); return new Map(edges.map(([from, to]) => [from, util_1.uniq(to)])); } function analyzeGraph(graph) { const graphMap = buildAndEnsureValidGraph(graph); const entrypoints = new short_tree_1.ShortTree(fast_string_compare_1.compare); const cycleNodes = /* @__PURE__ */ new Set(); const cycles = new rotated_array_set_1.RotatedArraySet(); const dependencies = /* @__PURE__ */ new Set(); const allExitPaths = new Array(); const recordCycleEntrypoint = (path2) => { if (path2.length === 0) return; entrypoints.insert(path2); }; const recordCycle = (path2) => { if (cycles.add(path2)) { for (const node of path2) cycleNodes.add(node); } }; const isPartOfCycle = (node) => cycleNodes.has(node); for (const [from, _to] of graphMap.entries()) { const path2 = [from]; const visited = /* @__PURE__ */ new Set(); let foundCycle = false; let createdCycle = false; const exitPaths = []; let to = _to; let nodeNextIndex = 0; const getLeaf = () => path2[path2.length - 1]; const testNode = () => { const node = getLeaf(); const shouldCheckCycles = !createdCycle; if (shouldCheckCycles && isPartOfCycle(node)) { recordCycleEntrypoint(path2.slice(0, -1)); foundCycle = true; return true; } if (visited.has(node)) { const entrypointPath = path2.slice(0, path2.indexOf(node) + 1); if (entrypointPath.length > 1) recordCycleEntrypoint(entrypointPath.slice(0, -1)); const cycle = path2.slice(path2.indexOf(node), -1); recordCycle(cycle); createdCycle = true; return true; } return false; }; const walkDown = () => { var _a; if (nodeNextIndex >= to.length) return false; const node = getLeaf(); visited.add(node); const nextLeaf = to[nodeNextIndex]; path2.push(nextLeaf); to = (_a = graphMap.get(nextLeaf)) !== null && _a !== void 0 ? _a : []; nodeNextIndex = 0; return true; }; const walkUp = () => { var _a; if (path2.length === 1) return true; const lastLeaf = getLeaf(); path2.pop(); const node = getLeaf(); visited.delete(node); to = (_a = graphMap.get(node)) !== null && _a !== void 0 ? _a : []; nodeNextIndex = to.indexOf(lastLeaf) + 1; if (nodeNextIndex >= to.length) return walkUp(); else walkDown(); return false; }; while (true) { if (testNode()) { if (walkUp()) break; else continue; } if (walkDown()) continue; exitPaths.push([...path2]); if (walkUp()) break; } if (foundCycle || createdCycle) exitPaths.forEach((path3) => { while (path3.length > 0 && !isPartOfCycle(path3[path3.length - 1])) { dependencies.add(path3[path3.length - 1]); path3.pop(); } }); for (const path3 of exitPaths) allExitPaths.push(path3); } const trimmedEntrypoints = util_1.uniqArrays(entrypoints.values().map((path2) => { for (let i = 0; i < path2.length; ++i) { if (isPartOfCycle(path2[i])) { path2 = path2.slice(0, i); break; } } return path2; }).filter((path2) => path2.length > 0)); const all = /* @__PURE__ */ new Set([...cycleNodes, ...trimmedEntrypoints.flat()]); const dependenciesList = [...dependencies].filter((dep) => !all.has(dep)); const allInclDeps = /* @__PURE__ */ new Set([...all, ...dependenciesList]); const dependents = /* @__PURE__ */ new Set(); allExitPaths.forEach((path2) => { if (path2.length > 0 && allInclDeps.has(path2[path2.length - 1])) { const prePath = path2.slice(0, -1); if (prePath.some((node) => allInclDeps.has(node))) return; prePath.forEach((node) => dependents.add(node)); } }); return { cycles: cycles.values(), entrypoints: trimmedEntrypoints, dependencies: dependenciesList, dependents: [...dependents], all: [...all] }; } exports2.analyzeGraph = analyzeGraph; function analyzeGraphFast(graph) { const graphMap = buildAndEnsureValidGraph(graph); const cycleNodes = /* @__PURE__ */ new Set(); const dependencies = /* @__PURE__ */ new Set(); const dependents = /* @__PURE__ */ new Set(); const exitPaths = []; const recordCycle = (path2) => { for (const node of path2) cycleNodes.add(node); }; const isPartOfCycle = (node) => cycleNodes.has(node); for (const [from, _to] of graphMap.entries()) { const path2 = [from]; const visited = /* @__PURE__ */ new Set(); let to = _to; let nodeNextIndex = 0; const getLeaf = () => path2[path2.length - 1]; const testNode = () => { const node = getLeaf(); if (isPartOfCycle(node)) { recordCycle(path2.slice(0, -1)); return true; } if (visited.has(node)) { const cycle = path2.slice(0, -1); recordCycle(cycle); return true; } return false; }; const walkDown = () => { var _a; if (nodeNextIndex >= to.length) return false; const node = getLeaf(); visited.add(node); const nextLeaf = to[nodeNextIndex]; path2.push(nextLeaf); to = (_a = graphMap.get(nextLeaf)) !== null && _a !== void 0 ? _a : []; nodeNextIndex = 0; return true; }; const walkUp = () => { var _a; if (path2.length === 1) return true; const lastLeaf = getLeaf(); path2.pop(); const node = getLeaf(); visited.delete(node); to = (_a = graphMap.get(node)) !== null && _a !== void 0 ? _a : []; nodeNextIndex = to.indexOf(lastLeaf) + 1; if (nodeNextIndex >= to.length) return walkUp(); else walkDown(); return false; }; while (true) { if (testNode()) { if (walkUp()) break; else continue; } if (walkDown()) continue; exitPaths.push([...path2]); if (walkUp()) break; } } exitPaths.forEach((origPath) => { const path2 = [...origPath]; const localPath2 = []; while (path2.length > 0 && !isPartOfCycle(path2[path2.length - 1])) { localPath2.push(path2[path2.length - 1]); path2.pop(); } if (path2.length > 0) localPath2.forEach((segment) => dependencies.add(segment)); }); const all = /* @__PURE__ */ new Set([...dependencies, ...cycleNodes]); exitPaths.forEach((path2) => { if (path2.length > 0 && all.has(path2[path2.length - 1])) { const prePath = path2.slice(0, -1); if (prePath.some((node) => all.has(node))) return; prePath.forEach((node) => dependents.add(node)); } }); return { cyclic: [...cycleNodes], dependencies: [...dependencies].filter((dep) => !cycleNodes.has(dep)), dependents: [...dependents].filter((dep) => !cycleNodes.has(dep)) }; } exports2.analyzeGraphFast = analyzeGraphFast; } }); // ../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/semverUtils.js var require_semverUtils = __commonJS({ "../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/semverUtils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SemVer = void 0; exports2.satisfiesWithPrereleases = satisfiesWithPrereleases; exports2.validRange = validRange; exports2.clean = clean; exports2.getComparator = getComparator; exports2.mergeComparators = mergeComparators; exports2.stringifyComparator = stringifyComparator; exports2.simplifyRanges = simplifyRanges; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var semver_12 = tslib_12.__importDefault(require_semver2()); var semver_2 = require_semver2(); Object.defineProperty(exports2, "SemVer", { enumerable: true, get: function() { return semver_2.SemVer; } }); var satisfiesWithPrereleasesCache = /* @__PURE__ */ new Map(); function satisfiesWithPrereleases(version2, range, loose = false) { if (!version2) return false; const key = `${range}${loose}`; let semverRange = satisfiesWithPrereleasesCache.get(key); if (typeof semverRange === `undefined`) { try { semverRange = new semver_12.default.Range(range, { includePrerelease: true, loose }); } catch { return false; } finally { satisfiesWithPrereleasesCache.set(key, semverRange || null); } } else if (semverRange === null) { return false; } let semverVersion; try { semverVersion = new semver_12.default.SemVer(version2, semverRange); } catch (err) { return false; } if (semverRange.test(semverVersion)) return true; if (semverVersion.prerelease) semverVersion.prerelease = []; return semverRange.set.some((comparatorSet) => { for (const comparator of comparatorSet) if (comparator.semver.prerelease) comparator.semver.prerelease = []; return comparatorSet.every((comparator) => { return comparator.test(semverVersion); }); }); } var rangesCache = /* @__PURE__ */ new Map(); function validRange(potentialRange) { if (potentialRange.indexOf(`:`) !== -1) return null; let range = rangesCache.get(potentialRange); if (typeof range !== `undefined`) return range; try { range = new semver_12.default.Range(potentialRange); } catch { range = null; } rangesCache.set(potentialRange, range); return range; } var CLEAN_SEMVER_REGEXP = /^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/; function clean(potentialVersion) { const version2 = CLEAN_SEMVER_REGEXP.exec(potentialVersion); return version2 ? version2[1] : null; } function getComparator(comparators) { if (comparators.semver === semver_12.default.Comparator.ANY) return { gt: null, lt: null }; switch (comparators.operator) { case ``: return { gt: [`>=`, comparators.semver], lt: [`<=`, comparators.semver] }; case `>`: case `>=`: return { gt: [comparators.operator, comparators.semver], lt: null }; case `<`: case `<=`: return { gt: null, lt: [comparators.operator, comparators.semver] }; default: { throw new Error(`Assertion failed: Unexpected comparator operator (${comparators.operator})`); } } } function mergeComparators(comparators) { if (comparators.length === 0) return null; let maxGtComparator = null; let minLtComparator = null; for (const comparator of comparators) { if (comparator.gt) { const cmp = maxGtComparator !== null ? semver_12.default.compare(comparator.gt[1], maxGtComparator[1]) : null; if (cmp === null || cmp > 0 || cmp === 0 && comparator.gt[0] === `>`) { maxGtComparator = comparator.gt; } } if (comparator.lt) { const cmp = minLtComparator !== null ? semver_12.default.compare(comparator.lt[1], minLtComparator[1]) : null; if (cmp === null || cmp < 0 || cmp === 0 && comparator.lt[0] === `<`) { minLtComparator = comparator.lt; } } } if (maxGtComparator && minLtComparator) { const cmp = semver_12.default.compare(maxGtComparator[1], minLtComparator[1]); if (cmp === 0 && (maxGtComparator[0] === `>` || minLtComparator[0] === `<`)) return null; if (cmp > 0) { return null; } } return { gt: maxGtComparator, lt: minLtComparator }; } function stringifyComparator(comparator) { if (comparator.gt && comparator.lt) { if (comparator.gt[0] === `>=` && comparator.lt[0] === `<=` && comparator.gt[1].version === comparator.lt[1].version) return comparator.gt[1].version; if (comparator.gt[0] === `>=` && comparator.lt[0] === `<`) { if (comparator.lt[1].version === `${comparator.gt[1].major + 1}.0.0-0`) return `^${comparator.gt[1].version}`; if (comparator.lt[1].version === `${comparator.gt[1].major}.${comparator.gt[1].minor + 1}.0-0`) { return `~${comparator.gt[1].version}`; } } } const parts = []; if (comparator.gt) parts.push(comparator.gt[0] + comparator.gt[1].version); if (comparator.lt) parts.push(comparator.lt[0] + comparator.lt[1].version); if (!parts.length) return `*`; return parts.join(` `); } function simplifyRanges(ranges) { const parsedRanges = ranges.map(removeSubsets).map((range) => validRange(range).set.map((comparators) => comparators.map((comparator) => getComparator(comparator)))); let alternatives = parsedRanges.shift().map((comparators) => mergeComparators(comparators)).filter((range) => range !== null); for (const parsedRange of parsedRanges) { const nextAlternatives = []; for (const comparator of alternatives) { for (const refiners of parsedRange) { const nextComparators = mergeComparators([ comparator, ...refiners ]); if (nextComparators !== null) { nextAlternatives.push(nextComparators); } } } alternatives = nextAlternatives; } if (alternatives.length === 0) return null; return alternatives.map((comparator) => stringifyComparator(comparator)).join(` || `); } function removeSubsets(rangeString) { const parts = rangeString.split(`||`); if (parts.length > 1) { const newParts = /* @__PURE__ */ new Set(); for (const potentialSubset of parts) { if (!parts.some((part) => part !== potentialSubset && semver_12.default.subset(potentialSubset, part))) { newParts.add(potentialSubset); } } if (newParts.size < parts.length) { const newRange = [...newParts].join(` || `); return newRange; } } return rangeString; } } }); // ../pkg-manager/resolve-dependencies/lib/dedupeInjectedDeps.js var require_dedupeInjectedDeps = __commonJS({ "../pkg-manager/resolve-dependencies/lib/dedupeInjectedDeps.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.dedupeInjectedDeps = dedupeInjectedDeps; var path_1 = __importDefault2(require("path")); var normalize_path_1 = __importDefault2(require_normalize_path()); function dedupeInjectedDeps(opts) { const injectedDepsByProjects = getInjectedDepsByProjects(opts); const dedupeMap = getDedupeMap(injectedDepsByProjects, opts); applyDedupeMap(dedupeMap, opts); } function getInjectedDepsByProjects(opts) { const injectedDepsByProjects = /* @__PURE__ */ new Map(); for (const project of opts.projects) { for (const [alias, nodeId] of project.directNodeIdsByAlias.entries()) { const depPath = opts.pathsByNodeId.get(nodeId); if (!opts.depGraph[depPath].id.startsWith("file:")) continue; const id = opts.depGraph[depPath].id.substring(5); if (opts.projects.some((project2) => project2.id === id)) { if (!injectedDepsByProjects.has(project.id)) injectedDepsByProjects.set(project.id, /* @__PURE__ */ new Map()); injectedDepsByProjects.get(project.id).set(alias, { depPath, id }); } } } return injectedDepsByProjects; } function getDedupeMap(injectedDepsByProjects, opts) { const toDedupe = /* @__PURE__ */ new Map(); for (const [id, deps] of injectedDepsByProjects.entries()) { const dedupedInjectedDeps = /* @__PURE__ */ new Map(); for (const [alias, dep] of deps.entries()) { const isSubset = Object.entries(opts.depGraph[dep.depPath].children).every(([alias2, depPath]) => opts.dependenciesByProjectId[dep.id].get(alias2) === depPath); if (isSubset) { dedupedInjectedDeps.set(alias, dep.id); } } toDedupe.set(id, dedupedInjectedDeps); } return toDedupe; } function applyDedupeMap(dedupeMap, opts) { for (const [id, aliases] of dedupeMap.entries()) { for (const [alias, dedupedProjectId] of aliases.entries()) { opts.dependenciesByProjectId[id].delete(alias); const index = opts.resolvedImporters[id].directDependencies.findIndex((dep) => dep.alias === alias); const prev = opts.resolvedImporters[id].directDependencies[index]; const linkedDep = { ...prev, pkg: prev, isLinkedDependency: true, pkgId: `link:${(0, normalize_path_1.default)(path_1.default.relative(id, dedupedProjectId))}`, resolution: { type: "directory", directory: path_1.default.join(opts.lockfileDir, dedupedProjectId) } }; opts.resolvedImporters[id].directDependencies[index] = linkedDep; opts.resolvedImporters[id].linkedDependencies.push(linkedDep); } } } } }); // ../pkg-manager/resolve-dependencies/lib/resolvePeers.js var require_resolvePeers = __commonJS({ "../pkg-manager/resolve-dependencies/lib/resolvePeers.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolvePeers = resolvePeers; var filenamify_1 = __importDefault2(require_filenamify2()); var graph_cycles_1 = require_dist24(); var path_1 = __importDefault2(require("path")); var p_defer_1 = __importDefault2(require_p_defer2()); var semver_12 = __importDefault2(require_semver2()); var semverUtils = __importStar3(require_semverUtils()); var dependency_path_1 = require_lib86(); var partition_1 = __importDefault2(require_partition4()); var pick_1 = __importDefault2(require_pick()); var mergePeers_js_1 = require_mergePeers(); var dedupeInjectedDeps_js_1 = require_dedupeInjectedDeps(); async function resolvePeers(opts) { const depGraph = {}; const pathsByNodeId = /* @__PURE__ */ new Map(); const pathsByNodeIdPromises = /* @__PURE__ */ new Map(); const depPathsByPkgId = /* @__PURE__ */ new Map(); const _createPkgsByName = createPkgsByName.bind(null, opts.dependenciesTree); const rootPkgsByName = opts.resolvePeersFromWorkspaceRoot ? getRootPkgsByName(opts.dependenciesTree, opts.projects) : {}; const peerDependencyIssuesByProjects = {}; const finishingList = []; const peersCache = /* @__PURE__ */ new Map(); const purePkgs = /* @__PURE__ */ new Set(); for (const { directNodeIdsByAlias, topParents, rootDir, id } of opts.projects) { const peerDependencyIssues = { bad: {}, missing: {} }; const pkgsByName = Object.fromEntries(Object.entries({ ...rootPkgsByName, ..._createPkgsByName({ directNodeIdsByAlias, topParents }) }).filter(([peerName]) => opts.allPeerDepNames.has(peerName))); for (const { nodeId } of Object.values(pkgsByName)) { if (nodeId && !pathsByNodeIdPromises.has(nodeId)) { pathsByNodeIdPromises.set(nodeId, (0, p_defer_1.default)()); } } const { finishing } = await resolvePeersOfChildren(Object.fromEntries(directNodeIdsByAlias.entries()), pkgsByName, { allPeerDepNames: opts.allPeerDepNames, parentPkgsOfNode: /* @__PURE__ */ new Map(), dependenciesTree: opts.dependenciesTree, depGraph, lockfileDir: opts.lockfileDir, parentNodeIds: [], parentDepPathsChain: [], pathsByNodeId, pathsByNodeIdPromises, depPathsByPkgId, peersCache, peerDependencyIssues, purePkgs, peersSuffixMaxLength: opts.peersSuffixMaxLength, rootDir, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }); if (finishing) { finishingList.push(finishing); } if (Object.keys(peerDependencyIssues.bad).length > 0 || Object.keys(peerDependencyIssues.missing).length > 0) { peerDependencyIssuesByProjects[id] = { ...peerDependencyIssues, ...(0, mergePeers_js_1.mergePeers)(peerDependencyIssues.missing) }; } } await Promise.all(finishingList); const depGraphWithResolvedChildren = resolveChildren(depGraph); function resolveChildren(depGraph2) { for (const node of Object.values(depGraph2)) { node.children = {}; for (const [alias, childNodeId] of Object.entries(node.childrenNodeIds)) { node.children[alias] = pathsByNodeId.get(childNodeId) ?? childNodeId; } delete node.childrenNodeIds; } return depGraph2; } const dependenciesByProjectId = {}; for (const { directNodeIdsByAlias, id } of opts.projects) { dependenciesByProjectId[id] = /* @__PURE__ */ new Map(); for (const [alias, nodeId] of directNodeIdsByAlias.entries()) { dependenciesByProjectId[id].set(alias, pathsByNodeId.get(nodeId)); } } if (opts.dedupeInjectedDeps) { (0, dedupeInjectedDeps_js_1.dedupeInjectedDeps)({ dependenciesByProjectId, projects: opts.projects, depGraph: depGraphWithResolvedChildren, pathsByNodeId, lockfileDir: opts.lockfileDir, resolvedImporters: opts.resolvedImporters }); } if (opts.dedupePeerDependents) { const duplicates = Array.from(depPathsByPkgId.values()).filter((item) => item.size > 1); const allDepPathsMap = deduplicateAll(depGraphWithResolvedChildren, duplicates); for (const { id } of opts.projects) { for (const [alias, depPath] of dependenciesByProjectId[id].entries()) { dependenciesByProjectId[id].set(alias, allDepPathsMap[depPath] ?? depPath); } } } return { dependenciesGraph: depGraphWithResolvedChildren, dependenciesByProjectId, peerDependencyIssuesByProjects }; } function nodeDepsCount(node) { return Object.keys(node.children).length + node.resolvedPeerNames.size; } function deduplicateAll(depGraph, duplicates) { const { depPathsMap, remainingDuplicates } = deduplicateDepPaths(duplicates, depGraph); if (remainingDuplicates.length === duplicates.length) { return depPathsMap; } for (const node of Object.values(depGraph)) { for (const [alias, childDepPath] of Object.entries(node.children)) { if (depPathsMap[childDepPath]) { node.children[alias] = depPathsMap[childDepPath]; } } } if (Object.keys(depPathsMap).length > 0) { return { ...depPathsMap, ...deduplicateAll(depGraph, remainingDuplicates) }; } return depPathsMap; } function deduplicateDepPaths(duplicates, depGraph) { const depCountSorter = (depPath1, depPath2) => nodeDepsCount(depGraph[depPath1]) - nodeDepsCount(depGraph[depPath2]); const depPathsMap = {}; const remainingDuplicates = []; for (const depPaths of duplicates) { const unresolvedDepPaths = new Set(depPaths.values()); let currentDepPaths = [...depPaths].sort(depCountSorter); while (currentDepPaths.length) { const depPath1 = currentDepPaths.pop(); const nextDepPaths = []; while (currentDepPaths.length) { const depPath2 = currentDepPaths.pop(); if (isCompatibleAndHasMoreDeps(depGraph, depPath1, depPath2)) { depPathsMap[depPath2] = depPath1; unresolvedDepPaths.delete(depPath1); unresolvedDepPaths.delete(depPath2); } else { nextDepPaths.push(depPath2); } } nextDepPaths.push(...currentDepPaths); currentDepPaths = nextDepPaths.sort(depCountSorter); } if (unresolvedDepPaths.size) { remainingDuplicates.push(unresolvedDepPaths); } } return { depPathsMap, remainingDuplicates }; } function isCompatibleAndHasMoreDeps(depGraph, depPath1, depPath2) { const node1 = depGraph[depPath1]; const node2 = depGraph[depPath2]; if (nodeDepsCount(node1) < nodeDepsCount(node2)) return false; const node1DepPathsSet = new Set(Object.values(node1.children)); const node2DepPaths = Object.values(node2.children); if (!node2DepPaths.every((depPath) => node1DepPathsSet.has(depPath))) return false; for (const depPath of node2.resolvedPeerNames) { if (!node1.resolvedPeerNames.has(depPath)) return false; } return true; } function getRootPkgsByName(dependenciesTree, projects) { const rootProject = projects.length > 1 ? projects.find(({ id }) => id === ".") : null; return rootProject == null ? {} : createPkgsByName(dependenciesTree, rootProject); } function createPkgsByName(dependenciesTree, { directNodeIdsByAlias, topParents }) { const parentRefs = toPkgByName(Array.from(directNodeIdsByAlias.entries()).map(([alias, nodeId]) => ({ alias, node: dependenciesTree.get(nodeId), nodeId, parentNodeIds: [] }))); const _updateParentRefs = updateParentRefs.bind(null, parentRefs); for (const { name, version: version2, alias, linkedDir } of topParents) { const pkg = { occurrence: 0, alias, depth: 0, version: version2, nodeId: linkedDir, parentNodeIds: [] }; _updateParentRefs(name, pkg); if (alias && alias !== name) { _updateParentRefs(alias, pkg); } } return parentRefs; } async function resolvePeersOfNode(currentAlias, nodeId, parentParentPkgs, ctx) { const node = ctx.dependenciesTree.get(nodeId); if (node.depth === -1) return { resolvedPeers: /* @__PURE__ */ new Map(), missingPeers: /* @__PURE__ */ new Map() }; const resolvedPackage = node.resolvedPackage; if (ctx.purePkgs.has(resolvedPackage.pkgIdWithPatchHash) && ctx.depGraph[resolvedPackage.pkgIdWithPatchHash].depth <= node.depth && Object.keys(resolvedPackage.peerDependencies).length === 0) { ctx.pathsByNodeId.set(nodeId, resolvedPackage.pkgIdWithPatchHash); ctx.pathsByNodeIdPromises.get(nodeId).resolve(resolvedPackage.pkgIdWithPatchHash); return { resolvedPeers: /* @__PURE__ */ new Map(), missingPeers: /* @__PURE__ */ new Map() }; } if (typeof node.children === "function") { node.children = node.children(); } const parentNodeIds = [...ctx.parentNodeIds, nodeId]; const children = node.children; let parentPkgs; if (Object.keys(children).length === 0) { parentPkgs = parentParentPkgs; } else { parentPkgs = { ...parentParentPkgs }; const parentPkgNodes = []; for (const [alias, nodeId2] of Object.entries(children)) { if (ctx.allPeerDepNames.has(alias)) { parentPkgNodes.push({ alias, node: ctx.dependenciesTree.get(nodeId2), nodeId: nodeId2, parentNodeIds }); } } const newParentPkgs = toPkgByName(parentPkgNodes); const _parentPkgsMatch = parentPkgsMatch.bind(null, ctx.dependenciesTree); for (const [newParentPkgName, newParentPkg] of Object.entries(newParentPkgs)) { if (parentPkgs[newParentPkgName]) { if (!_parentPkgsMatch(parentPkgs[newParentPkgName], newParentPkg)) { newParentPkg.occurrence = parentPkgs[newParentPkgName].occurrence + 1; parentPkgs[newParentPkgName] = newParentPkg; } } else { parentPkgs[newParentPkgName] = newParentPkg; } } } const hit = findHit(ctx, parentPkgs, resolvedPackage.pkgIdWithPatchHash); if (hit != null) { for (const [peerName, { range: wantedRange, optional }] of hit.missingPeers.entries()) { if (ctx.peerDependencyIssues.missing[peerName] == null) { ctx.peerDependencyIssues.missing[peerName] = []; } const { parents } = getLocationFromParentNodeIds({ dependenciesTree: ctx.dependenciesTree, parentNodeIds }); ctx.peerDependencyIssues.missing[peerName].push({ optional, parents, wantedRange }); } return { missingPeers: hit.missingPeers, finishing: (async () => { const depPath = await hit.depPath.promise; ctx.pathsByNodeId.set(nodeId, depPath); ctx.depGraph[depPath].depth = Math.min(ctx.depGraph[depPath].depth, node.depth); ctx.pathsByNodeIdPromises.get(nodeId).resolve(depPath); })(), resolvedPeers: hit.resolvedPeers }; } const { resolvedPeers: unknownResolvedPeersOfChildren, missingPeers: missingPeersOfChildren, finishing } = await resolvePeersOfChildren(children, parentPkgs, { ...ctx, parentNodeIds, parentDepPathsChain: ctx.parentDepPathsChain.includes(resolvedPackage.pkgIdWithPatchHash) ? ctx.parentDepPathsChain : [...ctx.parentDepPathsChain, resolvedPackage.pkgIdWithPatchHash] }); const { resolvedPeers, missingPeers } = Object.keys(resolvedPackage.peerDependencies).length === 0 ? { resolvedPeers: /* @__PURE__ */ new Map(), missingPeers: /* @__PURE__ */ new Map() } : _resolvePeers({ currentDepth: node.depth, dependenciesTree: ctx.dependenciesTree, lockfileDir: ctx.lockfileDir, nodeId, parentPkgs, peerDependencyIssues: ctx.peerDependencyIssues, resolvedPackage, rootDir: ctx.rootDir, parentNodeIds }); const allResolvedPeers = unknownResolvedPeersOfChildren; for (const [k, v] of resolvedPeers) { allResolvedPeers.set(k, v); } allResolvedPeers.delete(node.resolvedPackage.name); const allMissingPeers = /* @__PURE__ */ new Map(); for (const [peer, range] of missingPeersOfChildren.entries()) { allMissingPeers.set(peer, range); } for (const [peer, range] of missingPeers.entries()) { allMissingPeers.set(peer, range); } let cache; const isPure = allResolvedPeers.size === 0 && allMissingPeers.size === 0; if (isPure) { ctx.purePkgs.add(resolvedPackage.pkgIdWithPatchHash); } else { cache = { missingPeers: allMissingPeers, depPath: (0, p_defer_1.default)(), resolvedPeers: allResolvedPeers }; if (ctx.peersCache.has(resolvedPackage.pkgIdWithPatchHash)) { ctx.peersCache.get(resolvedPackage.pkgIdWithPatchHash).push(cache); } else { ctx.peersCache.set(resolvedPackage.pkgIdWithPatchHash, [cache]); } } let calculateDepPathIfNeeded; if (allResolvedPeers.size === 0) { addDepPathToGraph(resolvedPackage.pkgIdWithPatchHash); } else { const peerIds = []; const pendingPeers = []; for (const [alias, peerNodeId] of allResolvedPeers.entries()) { if (typeof peerNodeId === "string" && peerNodeId.startsWith("link:")) { const linkedDir = peerNodeId.slice(5); peerIds.push({ name: alias, version: (0, filenamify_1.default)(linkedDir, { replacement: "+" }) }); continue; } const peerDepPath = ctx.pathsByNodeId.get(peerNodeId); if (peerDepPath) { peerIds.push(peerDepPath); continue; } pendingPeers.push({ alias, nodeId: peerNodeId }); } if (pendingPeers.length === 0) { const peerDepGraphHash = (0, dependency_path_1.createPeerDepGraphHash)(peerIds, ctx.peersSuffixMaxLength); addDepPathToGraph(`${resolvedPackage.pkgIdWithPatchHash}${peerDepGraphHash}`); } else { calculateDepPathIfNeeded = calculateDepPath.bind(null, peerIds, pendingPeers); } } return { resolvedPeers: allResolvedPeers, missingPeers: allMissingPeers, calculateDepPath: calculateDepPathIfNeeded, finishing }; async function calculateDepPath(peerIds, pendingPeerNodes, cycles) { const cyclicPeerAliases = /* @__PURE__ */ new Set(); for (const cycle of cycles) { if (cycle.includes(currentAlias)) { for (const peerAlias of cycle) { cyclicPeerAliases.add(peerAlias); } } } const peerDepGraphHash = (0, dependency_path_1.createPeerDepGraphHash)([ ...peerIds, ...await Promise.all(pendingPeerNodes.map(async (pendingPeer) => { if (cyclicPeerAliases.has(pendingPeer.alias)) { const { name, version: version2 } = ctx.dependenciesTree.get(pendingPeer.nodeId)?.resolvedPackage; const id = `${name}@${version2}`; ctx.pathsByNodeIdPromises.get(pendingPeer.nodeId)?.resolve(id); return id; } return ctx.pathsByNodeIdPromises.get(pendingPeer.nodeId).promise; })) ], ctx.peersSuffixMaxLength); addDepPathToGraph(`${resolvedPackage.pkgIdWithPatchHash}${peerDepGraphHash}`); } function addDepPathToGraph(depPath) { cache?.depPath.resolve(depPath); ctx.pathsByNodeId.set(nodeId, depPath); ctx.pathsByNodeIdPromises.get(nodeId).resolve(depPath); if (ctx.depPathsByPkgId != null) { if (!ctx.depPathsByPkgId.has(resolvedPackage.pkgIdWithPatchHash)) { ctx.depPathsByPkgId.set(resolvedPackage.pkgIdWithPatchHash, /* @__PURE__ */ new Set([depPath])); } else { ctx.depPathsByPkgId.get(resolvedPackage.pkgIdWithPatchHash).add(depPath); } } const peerDependencies = { ...resolvedPackage.peerDependencies }; if (!ctx.depGraph[depPath] || ctx.depGraph[depPath].depth > node.depth) { const modules = path_1.default.join(ctx.virtualStoreDir, (0, dependency_path_1.depPathToFilename)(depPath, ctx.virtualStoreDirMaxLength), "node_modules"); const dir = path_1.default.join(modules, resolvedPackage.name); const transitivePeerDependencies = /* @__PURE__ */ new Set(); for (const unknownPeer of allResolvedPeers.keys()) { if (!peerDependencies[unknownPeer]) { transitivePeerDependencies.add(unknownPeer); } } for (const unknownPeer of missingPeersOfChildren.keys()) { if (!peerDependencies[unknownPeer]) { transitivePeerDependencies.add(unknownPeer); } } ctx.depGraph[depPath] = { ...node.resolvedPackage, childrenNodeIds: Object.assign(getPreviouslyResolvedChildren(ctx, node.resolvedPackage.pkgIdWithPatchHash), children, Object.fromEntries(resolvedPeers.entries())), depPath, depth: node.depth, dir, installable: node.installable, isPure, modules, peerDependencies, transitivePeerDependencies, resolvedPeerNames: new Set(allResolvedPeers.keys()) }; } } } function parentPkgsMatch(dependenciesTree, currentParentPkg, newParentPkg) { if (currentParentPkg.version !== newParentPkg.version || currentParentPkg.alias !== newParentPkg.alias) { return false; } const currentParentResolvedPkg = currentParentPkg.nodeId && dependenciesTree.get(currentParentPkg.nodeId)?.resolvedPackage; if (currentParentResolvedPkg == null) return true; const newParentResolvedPkg = newParentPkg.nodeId && dependenciesTree.get(newParentPkg.nodeId)?.resolvedPackage; if (newParentResolvedPkg == null) return true; return currentParentResolvedPkg.name === newParentResolvedPkg.name; } function findHit(ctx, parentPkgs, pkgIdWithPatchHash) { const cacheItems = ctx.peersCache.get(pkgIdWithPatchHash); if (!cacheItems) return void 0; return cacheItems.find((cache) => { for (const [name, cachedNodeId] of cache.resolvedPeers) { const parentPkgNodeId = parentPkgs[name]?.nodeId; if (Boolean(parentPkgNodeId) !== Boolean(cachedNodeId)) return false; if (parentPkgNodeId === cachedNodeId) continue; if (!parentPkgNodeId) return false; if (ctx.pathsByNodeId.has(cachedNodeId) && ctx.pathsByNodeId.get(cachedNodeId) === ctx.pathsByNodeId.get(parentPkgNodeId)) continue; if (!ctx.dependenciesTree.has(parentPkgNodeId) && typeof parentPkgNodeId === "string" && parentPkgNodeId.startsWith("link:")) { return false; } const parentPkgId = ctx.dependenciesTree.get(parentPkgNodeId).resolvedPackage.pkgIdWithPatchHash; const cachedPkgId = ctx.dependenciesTree.get(cachedNodeId).resolvedPackage.pkgIdWithPatchHash; if (parentPkgId !== cachedPkgId) { return false; } if (!ctx.purePkgs.has(parentPkgId) && !parentPackagesMatch(ctx, cachedNodeId, parentPkgNodeId)) { return false; } } for (const missingPeer of cache.missingPeers.keys()) { if (parentPkgs[missingPeer]) return false; } return true; }); } function parentPackagesMatch(ctx, cachedNodeId, checkedNodeId) { const cachedParentPkgs = ctx.parentPkgsOfNode.get(cachedNodeId); if (!cachedParentPkgs) return false; const checkedParentPkgs = ctx.parentPkgsOfNode.get(checkedNodeId); if (!checkedParentPkgs) return false; if (Object.keys(cachedParentPkgs).length !== Object.keys(checkedParentPkgs).length) return false; const maxDepth = Object.values(checkedParentPkgs).reduce((maxDepth2, { depth }) => Math.max(depth ?? 0, maxDepth2), 0); const peerDepsAreNotShadowed = parentPkgsHaveSingleOccurrence(cachedParentPkgs) && parentPkgsHaveSingleOccurrence(checkedParentPkgs); return Object.entries(cachedParentPkgs).every(([name, { version: version2, pkgIdWithPatchHash }]) => { if (checkedParentPkgs[name] == null) return false; if (version2 && checkedParentPkgs[name].version) { return version2 === checkedParentPkgs[name].version; } return pkgIdWithPatchHash != null && pkgIdWithPatchHash === checkedParentPkgs[name].pkgIdWithPatchHash && (peerDepsAreNotShadowed || // Peer dependencies that appear last we can consider valid. // If they do depend on other peer dependencies then they must be those that we will check further. checkedParentPkgs[name].depth === maxDepth || ctx.purePkgs.has(pkgIdWithPatchHash)); }); } function parentPkgsHaveSingleOccurrence(parentPkgs) { return Object.values(parentPkgs).every(({ occurrence }) => occurrence === 0 || occurrence == null); } function getPreviouslyResolvedChildren({ parentNodeIds, parentDepPathsChain, dependenciesTree }, currentDepPath) { const allChildren = {}; if (!currentDepPath || !parentDepPathsChain.includes(currentDepPath)) return allChildren; for (let i = parentNodeIds.length - 1; i >= 0; i--) { const parentNode = dependenciesTree.get(parentNodeIds[i]); if (parentNode.resolvedPackage.pkgIdWithPatchHash === currentDepPath) { if (typeof parentNode.children === "function") { parentNode.children = parentNode.children(); } Object.assign(allChildren, parentNode.children); } } return allChildren; } async function resolvePeersOfChildren(children, parentPkgs, ctx) { const allResolvedPeers = /* @__PURE__ */ new Map(); const allMissingPeers = /* @__PURE__ */ new Map(); const [repeated, notRepeated] = (0, partition_1.default)(([alias]) => parentPkgs[alias] != null, Object.entries(children)); const nodeIds = Array.from(new Set([...repeated, ...notRepeated].map(([, nodeId]) => nodeId))); const aliasByNodeId = Object.fromEntries(Object.entries(children).map(([alias, nodeId]) => [nodeId, alias])); for (const nodeId of nodeIds) { if (!ctx.pathsByNodeIdPromises.has(nodeId)) { ctx.pathsByNodeIdPromises.set(nodeId, (0, p_defer_1.default)()); } } const calculateDepPaths = []; const graph = /* @__PURE__ */ new Map(); const finishingList = []; const parentDepPaths = {}; for (const [name, parentPkg] of Object.entries(parentPkgs)) { if (!ctx.allPeerDepNames.has(name)) continue; if (parentPkg.nodeId && (typeof parentPkg.nodeId === "number" || !parentPkg.nodeId.startsWith("link:"))) { parentDepPaths[name] = { pkgIdWithPatchHash: ctx.dependenciesTree.get(parentPkg.nodeId).resolvedPackage.pkgIdWithPatchHash, depth: parentPkg.depth, occurrence: parentPkg.occurrence }; } else { parentDepPaths[name] = { version: parentPkg.version }; } } for (const childNodeId of nodeIds) { ctx.parentPkgsOfNode.set(childNodeId, parentDepPaths); } for (const childNodeId of nodeIds) { const currentAlias = aliasByNodeId[childNodeId]; const { resolvedPeers, missingPeers, calculateDepPath, finishing: finishing2 } = await resolvePeersOfNode(currentAlias, childNodeId, parentPkgs, ctx); if (finishing2) { finishingList.push(finishing2); } if (calculateDepPath) { calculateDepPaths.push(calculateDepPath); } const edges = []; for (const [peerName, peerNodeId] of resolvedPeers) { allResolvedPeers.set(peerName, peerNodeId); edges.push(peerName); } addEdgesToGraph(currentAlias, edges); const node = ctx.dependenciesTree.get(childNodeId); if (currentAlias !== node.resolvedPackage.name) { addEdgesToGraph(node.resolvedPackage.name, edges); } for (const [missingPeer, range] of missingPeers.entries()) { allMissingPeers.set(missingPeer, range); } } function addEdgesToGraph(pkgName, edges) { const existingEdges = graph.get(pkgName); if (existingEdges == null) { graph.set(pkgName, edges); } else { existingEdges.push(...edges); } } if (calculateDepPaths.length) { const { cycles } = (0, graph_cycles_1.analyzeGraph)(Array.from(graph.entries())); finishingList.push(...calculateDepPaths.map((calculateDepPath) => calculateDepPath(cycles))); } const finishing = Promise.all(finishingList).then(() => { }); const unknownResolvedPeersOfChildren = /* @__PURE__ */ new Map(); for (const [alias, v] of allResolvedPeers) { if (!children[alias]) { unknownResolvedPeersOfChildren.set(alias, v); } } return { resolvedPeers: unknownResolvedPeersOfChildren, missingPeers: allMissingPeers, finishing }; } function _resolvePeers(ctx) { const resolvedPeers = /* @__PURE__ */ new Map(); const missingPeers = /* @__PURE__ */ new Map(); for (const [peerName, { version: version2, optional }] of Object.entries(ctx.resolvedPackage.peerDependencies)) { const peerVersionRange = version2.replace(/^workspace:/, ""); const resolved = ctx.parentPkgs[peerName]; const optionalPeer = optional === true; if (!resolved) { missingPeers.set(peerName, { range: version2, optional: optionalPeer }); const location = getLocationFromParentNodeIds(ctx); if (!ctx.peerDependencyIssues.missing[peerName]) { ctx.peerDependencyIssues.missing[peerName] = []; } ctx.peerDependencyIssues.missing[peerName].push({ parents: location.parents, optional: optionalPeer, wantedRange: peerVersionRange }); continue; } if (!semverUtils.satisfiesWithPrereleases(resolved.version, peerVersionRange, true)) { const location = getLocationFromParentNodeIds(ctx); if (!ctx.peerDependencyIssues.bad[peerName]) { ctx.peerDependencyIssues.bad[peerName] = []; } const peerLocation = resolved.nodeId == null ? [] : getLocationFromParentNodeIds({ dependenciesTree: ctx.dependenciesTree, parentNodeIds: resolved.parentNodeIds }).parents; ctx.peerDependencyIssues.bad[peerName].push({ foundVersion: resolved.version, resolvedFrom: peerLocation, parents: location.parents, optional: optionalPeer, wantedRange: peerVersionRange }); } if (resolved?.nodeId) resolvedPeers.set(peerName, resolved.nodeId); } return { resolvedPeers, missingPeers }; } function getLocationFromParentNodeIds({ dependenciesTree, parentNodeIds }) { const parents = parentNodeIds.map((nid) => (0, pick_1.default)(["name", "version"], dependenciesTree.get(nid).resolvedPackage)); return { projectId: ".", parents }; } function toPkgByName(nodes) { const pkgsByName = {}; const _updateParentRefs = updateParentRefs.bind(null, pkgsByName); for (const { alias, node, nodeId, parentNodeIds } of nodes) { const pkg = { alias, depth: node.depth, nodeId, version: node.resolvedPackage.version, occurrence: 0, parentNodeIds }; _updateParentRefs(alias, pkg); if (alias !== node.resolvedPackage.name) { _updateParentRefs(node.resolvedPackage.name, pkg); } } return pkgsByName; } function updateParentRefs(parentRefs, newAlias, pkg) { const existing = parentRefs[newAlias]; if (existing) { const existingHasAlias = existing.alias != null && existing.alias !== newAlias; if (!existingHasAlias) return; const newHasAlias = pkg.alias != null && pkg.alias !== newAlias; if (newHasAlias && semver_12.default.gte(existing.version, pkg.version)) return; } parentRefs[newAlias] = pkg; } } }); // ../node_modules/.pnpm/is-inner-link@4.0.0/node_modules/is-inner-link/index.js var require_is_inner_link = __commonJS({ "../node_modules/.pnpm/is-inner-link@4.0.0/node_modules/is-inner-link/index.js"(exports2, module2) { "use strict"; var path2 = require("path"); var isSubdir = require_is_subdir(); var resolveLinkTarget = require_resolve_link_target(); module2.exports = async function(parent, relativePathToLink) { const linkPath = path2.resolve(parent, relativePathToLink); const target = await resolveLinkTarget(linkPath); return { isInner: isSubdir(parent, target), target }; }; } }); // ../pkg-manager/resolve-dependencies/lib/safeIsInnerLink.js var require_safeIsInnerLink = __commonJS({ "../pkg-manager/resolve-dependencies/lib/safeIsInnerLink.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.safeIsInnerLink = safeIsInnerLink; var path_1 = __importDefault2(require("path")); var logger_1 = require_lib(); var is_inner_link_1 = __importDefault2(require_is_inner_link()); var is_subdir_1 = __importDefault2(require_is_subdir()); var rename_overwrite_1 = __importDefault2(require_rename_overwrite()); async function safeIsInnerLink(projectModulesDir, depName, opts) { try { const link = await (0, is_inner_link_1.default)(projectModulesDir, depName); if (link.isInner) return true; if ((0, is_subdir_1.default)(opts.virtualStoreDir, link.target)) return true; return link.target; } catch (err) { if (err.code === "ENOENT") return true; if (opts.hideAlienModules) { logger_1.logger.warn({ message: `Moving ${depName} that was installed by a different package manager to "node_modules/.ignored"`, prefix: opts.projectDir }); const ignoredDir = path_1.default.join(projectModulesDir, ".ignored", depName); await (0, rename_overwrite_1.default)(path_1.default.join(projectModulesDir, depName), ignoredDir); } return true; } } } }); // ../semver/peer-range/lib/index.js var require_lib166 = __commonJS({ "../semver/peer-range/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isValidPeerRange = isValidPeerRange; var semver_12 = require_semver2(); function isValidPeerRange(version2) { return typeof (0, semver_12.validRange)(version2) === "string" || version2.includes("workspace:") || version2.includes("catalog:"); } } }); // ../pkg-manager/resolve-dependencies/lib/validatePeerDependencies.js var require_validatePeerDependencies = __commonJS({ "../pkg-manager/resolve-dependencies/lib/validatePeerDependencies.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validatePeerDependencies = validatePeerDependencies; var error_1 = require_lib6(); var semver_peer_range_1 = require_lib166(); function validatePeerDependencies(project) { const { name, peerDependencies } = project.manifest; const projectId = name ?? project.rootDir; for (const depName in peerDependencies) { const version2 = peerDependencies[depName]; if (!(0, semver_peer_range_1.isValidPeerRange)(version2)) { throw new error_1.PnpmError("INVALID_PEER_DEPENDENCY_SPECIFICATION", `The peerDependencies field named '${depName}' of package '${projectId}' has an invalid value: '${version2}'`, { hint: "The values in peerDependencies should be either a valid semver range, a `workspace:` spec, or a `catalog:` spec" }); } } } } }); // ../pkg-manager/resolve-dependencies/lib/toResolveImporter.js var require_toResolveImporter = __commonJS({ "../pkg-manager/resolve-dependencies/lib/toResolveImporter.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.toResolveImporter = toResolveImporter; var logger_1 = require_lib(); var manifest_utils_1 = require_lib10(); var version_selector_type_1 = __importDefault2(require_version_selector_type()); var getWantedDependencies_js_1 = require_getWantedDependencies(); var safeIsInnerLink_js_1 = require_safeIsInnerLink(); var validatePeerDependencies_js_1 = require_validatePeerDependencies(); async function toResolveImporter(opts, project) { (0, validatePeerDependencies_js_1.validatePeerDependencies)(project); const allDeps = (0, getWantedDependencies_js_1.getWantedDependencies)(project.manifest); const nonLinkedDependencies = await partitionLinkedPackages(allDeps, { lockfileOnly: opts.lockfileOnly, modulesDir: project.modulesDir, projectDir: project.rootDir, virtualStoreDir: opts.virtualStoreDir, workspacePackages: opts.workspacePackages }); const defaultUpdateDepth = project.update === true || project.updateMatching != null ? opts.defaultUpdateDepth : -1; const existingDeps = nonLinkedDependencies.filter(({ alias }) => !project.wantedDependencies.some((wantedDep) => wantedDep.alias === alias)); if (opts.updateToLatest && opts.noDependencySelectors) { for (const dep of existingDeps) { dep.updateSpec = true; } } let wantedDependencies; if (!project.manifest) { wantedDependencies = [ ...project.wantedDependencies, ...existingDeps ].map((dep) => ({ ...dep, updateDepth: defaultUpdateDepth })); } else { const updateLocalTarballs = (dep) => ({ ...dep, updateDepth: project.updateMatching != null ? defaultUpdateDepth : prefIsLocalTarball(dep.bareSpecifier) ? 0 : defaultUpdateDepth }); wantedDependencies = [ ...project.wantedDependencies.map(defaultUpdateDepth < 0 ? updateLocalTarballs : (dep) => ({ ...dep, updateDepth: defaultUpdateDepth })), ...existingDeps.map(opts.noDependencySelectors && project.updateMatching != null ? updateLocalTarballs : (dep) => ({ ...dep, updateDepth: -1 })) ]; } return { ...project, hasRemovedDependencies: Boolean(project.removePackages?.length), preferredVersions: opts.preferredVersions ?? (project.manifest && getPreferredVersionsFromPackage(project.manifest)) ?? {}, wantedDependencies }; } function prefIsLocalTarball(bareSpecifier) { return bareSpecifier.startsWith("file:") && bareSpecifier.endsWith(".tgz"); } async function partitionLinkedPackages(dependencies, opts) { const nonLinkedDependencies = []; const linkedAliases = /* @__PURE__ */ new Set(); await Promise.all(dependencies.map(async (dependency) => { if (!dependency.alias || opts.workspacePackages?.get(dependency.alias) != null || dependency.bareSpecifier.startsWith("workspace:")) { nonLinkedDependencies.push(dependency); return; } const isInnerLink = await (0, safeIsInnerLink_js_1.safeIsInnerLink)(opts.modulesDir, dependency.alias, { hideAlienModules: !opts.lockfileOnly, projectDir: opts.projectDir, virtualStoreDir: opts.virtualStoreDir }); if (isInnerLink === true) { nonLinkedDependencies.push(dependency); return; } if (!dependency.bareSpecifier.startsWith("link:")) { logger_1.logger.info({ message: `${dependency.alias} is linked to ${opts.modulesDir} from ${isInnerLink}`, prefix: opts.projectDir }); } linkedAliases.add(dependency.alias); })); return nonLinkedDependencies; } function getPreferredVersionsFromPackage(pkg) { return getVersionSpecsByRealNames((0, manifest_utils_1.getAllDependenciesFromManifest)(pkg)); } function getVersionSpecsByRealNames(deps) { const acc = {}; for (const depName in deps) { const currentBareSpecifier = deps[depName]; if (currentBareSpecifier.startsWith("npm:")) { const bareSpecifier = currentBareSpecifier.slice(4); const index = bareSpecifier.lastIndexOf("@"); const spec = bareSpecifier.slice(index + 1); const selector = (0, version_selector_type_1.default)(spec); if (selector != null) { const pkgName = bareSpecifier.substring(0, index); acc[pkgName] = acc[pkgName] || {}; acc[pkgName][selector.normalized] = selector.type; } } else if (!currentBareSpecifier.includes(":")) { const selector = (0, version_selector_type_1.default)(currentBareSpecifier); if (selector != null) { acc[depName] = acc[depName] || {}; acc[depName][selector.normalized] = selector.type; } } } return acc; } } }); // ../lockfile/pruner/lib/index.js var require_lib167 = __commonJS({ "../lockfile/pruner/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pruneSharedLockfile = pruneSharedLockfile; exports2.pruneLockfile = pruneLockfile; var constants_1 = require_lib5(); var dependency_path_1 = require_lib86(); var difference_1 = __importDefault2(require_difference()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var unnest_1 = __importDefault2(require_unnest()); __exportStar2(require_lib119(), exports2); function pruneSharedLockfile(lockfile, opts) { const copiedPackages = lockfile.packages == null ? {} : copyPackageSnapshots(lockfile.packages, { devDepPaths: (0, unnest_1.default)(Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.devDependencies ?? {}))), optionalDepPaths: (0, unnest_1.default)(Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.optionalDependencies ?? {}))), prodDepPaths: (0, unnest_1.default)(Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.dependencies ?? {}))), warn: opts?.warn ?? ((msg) => void 0), dependenciesGraph: opts?.dependenciesGraph }); const prunedLockfile = { ...lockfile, packages: copiedPackages }; if ((0, isEmpty_1.default)(prunedLockfile.packages)) { delete prunedLockfile.packages; } return prunedLockfile; } function pruneLockfile(lockfile, pkg, importerId, opts) { const importer = lockfile.importers[importerId]; const lockfileSpecs = importer.specifiers ?? {}; const optionalDependencies = Object.keys(pkg.optionalDependencies ?? {}); const dependencies = (0, difference_1.default)(Object.keys(pkg.dependencies ?? {}), optionalDependencies); const devDependencies = (0, difference_1.default)((0, difference_1.default)(Object.keys(pkg.devDependencies ?? {}), optionalDependencies), dependencies); const allDeps = /* @__PURE__ */ new Set([ ...optionalDependencies, ...devDependencies, ...dependencies ]); const specifiers = {}; const lockfileDependencies = {}; const lockfileOptionalDependencies = {}; const lockfileDevDependencies = {}; for (const depName in lockfileSpecs) { if (!allDeps.has(depName)) continue; specifiers[depName] = lockfileSpecs[depName]; if (importer.dependencies?.[depName]) { lockfileDependencies[depName] = importer.dependencies[depName]; } else if (importer.optionalDependencies?.[depName]) { lockfileOptionalDependencies[depName] = importer.optionalDependencies[depName]; } else if (importer.devDependencies?.[depName]) { lockfileDevDependencies[depName] = importer.devDependencies[depName]; } } if (importer.dependencies != null) { for (const [alias, dep] of Object.entries(importer.dependencies)) { if (!lockfileDependencies[alias] && dep.startsWith("link:") && // If the linked dependency was removed from package.json // then it is removed from pnpm-lock.yaml as well !(lockfileSpecs[alias] && !allDeps.has(alias))) { lockfileDependencies[alias] = dep; } } } const updatedImporter = { specifiers }; const prunedLockfile = { importers: { ...lockfile.importers, [importerId]: updatedImporter }, lockfileVersion: lockfile.lockfileVersion || constants_1.LOCKFILE_VERSION, packages: lockfile.packages }; if (!(0, isEmpty_1.default)(lockfileDependencies)) { updatedImporter.dependencies = lockfileDependencies; } if (!(0, isEmpty_1.default)(lockfileOptionalDependencies)) { updatedImporter.optionalDependencies = lockfileOptionalDependencies; } if (!(0, isEmpty_1.default)(lockfileDevDependencies)) { updatedImporter.devDependencies = lockfileDevDependencies; } if (lockfile.pnpmfileChecksum) { prunedLockfile.pnpmfileChecksum = lockfile.pnpmfileChecksum; } if (lockfile.ignoredOptionalDependencies && !(0, isEmpty_1.default)(lockfile.ignoredOptionalDependencies)) { prunedLockfile.ignoredOptionalDependencies = lockfile.ignoredOptionalDependencies; } return pruneSharedLockfile(prunedLockfile, opts); } function copyPackageSnapshots(originalPackages, opts) { const copiedSnapshots = {}; const ctx = { copiedSnapshots, nonOptional: /* @__PURE__ */ new Set(), originalPackages, walked: /* @__PURE__ */ new Set(), warn: opts.warn, dependenciesGraph: opts.dependenciesGraph }; copyDependencySubGraph(ctx, opts.devDepPaths, { optional: false }); copyDependencySubGraph(ctx, opts.optionalDepPaths, { optional: true }); copyDependencySubGraph(ctx, opts.prodDepPaths, { optional: false }); return copiedSnapshots; } function resolvedDepsToDepPaths(deps) { return Object.entries(deps).map(([alias, ref]) => (0, dependency_path_1.refToRelative)(ref, alias)).filter((depPath) => depPath !== null); } function copyDependencySubGraph(ctx, depPaths, opts) { for (const depPath of depPaths) { const key = `${depPath}:${opts.optional.toString()}`; if (ctx.walked.has(key)) continue; ctx.walked.add(key); if (!ctx.originalPackages[depPath]) { if (depPath.startsWith("link:") || depPath.startsWith("file:") && !depPath.endsWith(".tar.gz")) continue; ctx.warn(`Cannot find resolution of ${depPath} in lockfile`); continue; } const depLockfile = ctx.originalPackages[depPath]; ctx.copiedSnapshots[depPath] = depLockfile; if (opts.optional && !ctx.nonOptional.has(depPath)) { depLockfile.optional = true; if (ctx.dependenciesGraph?.[depPath]) { ctx.dependenciesGraph[depPath].optional = true; } } else { ctx.nonOptional.add(depPath); delete depLockfile.optional; if (ctx.dependenciesGraph?.[depPath]) { ctx.dependenciesGraph[depPath].optional = false; } } const newDependencies = resolvedDepsToDepPaths(depLockfile.dependencies ?? {}); copyDependencySubGraph(ctx, newDependencies, opts); const newOptionalDependencies = resolvedDepsToDepPaths(depLockfile.optionalDependencies ?? {}); copyDependencySubGraph(ctx, newOptionalDependencies, { optional: true }); } } } }); // ../pkg-manager/resolve-dependencies/lib/updateLockfile.js var require_updateLockfile = __commonJS({ "../pkg-manager/resolve-dependencies/lib/updateLockfile.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.updateLockfile = updateLockfile; var logger_1 = require_lib(); var lockfile_pruner_1 = require_lib167(); var dp = __importStar3(require_lib86()); var get_npm_tarball_url_1 = __importDefault2(require_lib95()); var partition_1 = __importDefault2(require_partition4()); var depPathToRef_js_1 = require_depPathToRef(); function updateLockfile({ dependenciesGraph, lockfile, prefix, registries, lockfileIncludeTarballUrl }) { lockfile.packages = lockfile.packages ?? {}; for (const [depPath, depNode] of Object.entries(dependenciesGraph)) { const [updatedOptionalDeps, updatedDeps] = (0, partition_1.default)((child) => depNode.optionalDependencies.has(child.alias) || depNode.peerDependencies[child.alias]?.optional === true, Object.entries(depNode.children).map(([alias, depPath2]) => ({ alias, depPath: depPath2 }))); lockfile.packages[depPath] = toLockfileDependency(depNode, { depGraph: dependenciesGraph, depPath, prevSnapshot: lockfile.packages[depPath], registries, registry: dp.getRegistryByPackageName(registries, depNode.name), updatedDeps, updatedOptionalDeps, lockfileIncludeTarballUrl }); } const warn = (message) => { logger_1.logger.warn({ message, prefix }); }; return (0, lockfile_pruner_1.pruneSharedLockfile)(lockfile, { warn, dependenciesGraph }); } function toLockfileDependency(pkg, opts) { const lockfileResolution = toLockfileResolution({ name: pkg.name, version: pkg.version }, pkg.resolution, opts.registry, opts.lockfileIncludeTarballUrl); const newResolvedDeps = updateResolvedDeps(opts.updatedDeps, opts.depGraph); const newResolvedOptionalDeps = updateResolvedDeps(opts.updatedOptionalDeps, opts.depGraph); const result2 = { resolution: lockfileResolution }; if (opts.depPath.includes(":")) { if (pkg.version && (!("type" in lockfileResolution) || lockfileResolution.type !== "directory")) { result2["version"] = pkg.version; } } if (Object.keys(newResolvedDeps).length > 0) { result2["dependencies"] = newResolvedDeps; } if (Object.keys(newResolvedOptionalDeps).length > 0) { result2["optionalDependencies"] = newResolvedOptionalDeps; } if (pkg.optional) { result2["optional"] = true; } if (pkg.transitivePeerDependencies.size) { result2["transitivePeerDependencies"] = Array.from(pkg.transitivePeerDependencies).sort(); } if (Object.keys(pkg.peerDependencies ?? {}).length > 0) { const peerPkgs = {}; const normalizedPeerDependenciesMeta = {}; for (const [peer, { version: version2, optional }] of Object.entries(pkg.peerDependencies)) { peerPkgs[peer] = version2; if (optional) { normalizedPeerDependenciesMeta[peer] = { optional: true }; } } result2["peerDependencies"] = peerPkgs; if (Object.keys(normalizedPeerDependenciesMeta).length > 0) { result2["peerDependenciesMeta"] = normalizedPeerDependenciesMeta; } } if (pkg.additionalInfo.engines != null) { for (const [engine, version2] of Object.entries(pkg.additionalInfo.engines)) { if (version2 === "*") continue; result2.engines = result2.engines ?? {}; result2.engines[engine] = version2; } } if (pkg.additionalInfo.cpu != null) { result2["cpu"] = pkg.additionalInfo.cpu; } if (pkg.additionalInfo.os != null) { result2["os"] = pkg.additionalInfo.os; } if (pkg.additionalInfo.libc != null) { result2["libc"] = pkg.additionalInfo.libc; } if (Array.isArray(pkg.additionalInfo.bundledDependencies) || pkg.additionalInfo.bundledDependencies === true) { result2["bundledDependencies"] = pkg.additionalInfo.bundledDependencies; } else if (Array.isArray(pkg.additionalInfo.bundleDependencies) || pkg.additionalInfo.bundleDependencies === true) { result2["bundledDependencies"] = pkg.additionalInfo.bundleDependencies; } if (pkg.additionalInfo.deprecated) { result2["deprecated"] = pkg.additionalInfo.deprecated; } if (pkg.hasBin) { result2["hasBin"] = true; } if (pkg.patch) { result2["patched"] = true; } return result2; } function updateResolvedDeps(updatedDeps, depGraph) { return Object.fromEntries(updatedDeps.map(({ alias, depPath }) => { if (depPath.startsWith("link:")) { return [alias, depPath]; } const depNode = depGraph[depPath]; return [ alias, (0, depPathToRef_js_1.depPathToRef)(depPath, { alias, realName: depNode.name }) ]; })); } function toLockfileResolution(pkg, resolution, registry, lockfileIncludeTarballUrl) { if (resolution.type !== void 0 || !resolution["integrity"]) { return resolution; } if (lockfileIncludeTarballUrl) { return { integrity: resolution["integrity"], tarball: resolution["tarball"] }; } const expectedTarball = (0, get_npm_tarball_url_1.default)(pkg.name, pkg.version, { registry }); const actualTarball = resolution["tarball"].replace("%2f", "/"); if (removeProtocol(expectedTarball) !== removeProtocol(actualTarball)) { return { integrity: resolution["integrity"], tarball: resolution["tarball"] }; } return { integrity: resolution["integrity"] }; } function removeProtocol(url) { return url.split("://")[1]; } } }); // ../pkg-manager/resolve-dependencies/lib/updateProjectManifest.js var require_updateProjectManifest = __commonJS({ "../pkg-manager/resolve-dependencies/lib/updateProjectManifest.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.updateProjectManifest = updateProjectManifest; var manifest_utils_1 = require_lib10(); async function updateProjectManifest(importer, opts) { if (!importer.manifest) { throw new Error("Cannot save because no package.json found"); } const specsToUpsert = opts.directDependencies.filter((rdd, index) => importer.wantedDependencies[index]?.updateSpec).map((rdd, index) => { const wantedDep = importer.wantedDependencies[index]; return { alias: rdd.alias, nodeExecPath: wantedDep.nodeExecPath, peer: importer.peer, bareSpecifier: rdd.catalogLookup?.userSpecifiedBareSpecifier ?? rdd.normalizedBareSpecifier ?? wantedDep.bareSpecifier, saveType: importer.targetDependenciesField }; }); for (const pkgToInstall of importer.wantedDependencies) { if (pkgToInstall.updateSpec && pkgToInstall.alias && !specsToUpsert.some(({ alias }) => alias === pkgToInstall.alias)) { specsToUpsert.push({ alias: pkgToInstall.alias, nodeExecPath: pkgToInstall.nodeExecPath, peer: importer.peer, saveType: importer.targetDependenciesField }); } } const hookedManifest = await (0, manifest_utils_1.updateProjectManifestObject)(importer.rootDir, importer.manifest, specsToUpsert); const originalManifest = importer.originalManifest != null ? await (0, manifest_utils_1.updateProjectManifestObject)(importer.rootDir, importer.originalManifest, specsToUpsert) : void 0; return [hookedManifest, originalManifest]; } } }); // ../pkg-manager/resolve-dependencies/lib/getCatalogSnapshots.js var require_getCatalogSnapshots = __commonJS({ "../pkg-manager/resolve-dependencies/lib/getCatalogSnapshots.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getCatalogSnapshots = getCatalogSnapshots; function getCatalogSnapshots(resolvedDirectDeps, updatedCatalogs) { const catalogSnapshots = {}; const catalogedDeps = resolvedDirectDeps.filter(isCatalogedDep); for (const dep of catalogedDeps) { const snapshotForSingleCatalog = catalogSnapshots[dep.catalogLookup.catalogName] ??= {}; const updatedSpecifier = updatedCatalogs?.[dep.catalogLookup.catalogName]?.[dep.alias]; snapshotForSingleCatalog[dep.alias] = { // The "updated specifier" will be present when pnpm add/update is ran and // bare specifiers need to be added in the pnpm-workspace.yaml file. When // this happens, the updated specifier should be saved to lockfile instead // of the original specifier before the update. specifier: updatedSpecifier ?? dep.catalogLookup.specifier, version: dep.version }; } return catalogSnapshots; } function isCatalogedDep(dep) { return dep.catalogLookup != null; } } }); // ../pkg-manager/resolve-dependencies/lib/index.js var require_lib168 = __commonJS({ "../pkg-manager/resolve-dependencies/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getWantedDependencies = void 0; exports2.resolveDependencies = resolveDependencies; var path_1 = __importDefault2(require("path")); var core_loggers_1 = require_lib8(); var calc_dep_state_1 = require_lib118(); var manifest_utils_1 = require_lib10(); var patching_config_1 = require_lib160(); var read_package_json_1 = require_lib61(); var types_1 = require_lib9(); var difference_1 = __importDefault2(require_difference()); var zipWith_1 = __importDefault2(require_zipWith2()); var is_subdir_1 = __importDefault2(require_is_subdir()); var getWantedDependencies_js_1 = require_getWantedDependencies(); Object.defineProperty(exports2, "getWantedDependencies", { enumerable: true, get: function() { return getWantedDependencies_js_1.getWantedDependencies; } }); var depPathToRef_js_1 = require_depPathToRef(); var resolveDependencies_js_1 = require_resolveDependencies(); var resolveDependencyTree_js_1 = require_resolveDependencyTree(); var resolvePeers_js_1 = require_resolvePeers(); var toResolveImporter_js_1 = require_toResolveImporter(); var updateLockfile_js_1 = require_updateLockfile(); var updateProjectManifest_js_1 = require_updateProjectManifest(); var getCatalogSnapshots_js_1 = require_getCatalogSnapshots(); async function resolveDependencies(importers, opts) { const _toResolveImporter = toResolveImporter_js_1.toResolveImporter.bind(null, { defaultUpdateDepth: opts.defaultUpdateDepth, lockfileOnly: opts.dryRun, preferredVersions: opts.preferredVersions, virtualStoreDir: opts.virtualStoreDir, workspacePackages: opts.workspacePackages, noDependencySelectors: importers.every(({ wantedDependencies }) => wantedDependencies.length === 0) }); const projectsToResolve = await Promise.all(importers.map(async (project) => _toResolveImporter(project))); const { dependenciesTree, outdatedDependencies, resolvedImporters, resolvedPkgsById, wantedToBeSkippedPackageIds, appliedPatches, time, allPeerDepNames } = await (0, resolveDependencyTree_js_1.resolveDependencyTree)(projectsToResolve, opts); opts.storeController.clearResolutionCache(); if (opts.patchedDependencies && (opts.forceFullResolution || !Object.keys(opts.wantedLockfile.packages ?? {})?.length) && Object.keys(opts.wantedLockfile.importers).length === importers.length) { (0, patching_config_1.verifyPatches)({ patchedDependencies: opts.patchedDependencies, appliedPatches, allowUnusedPatches: opts.allowUnusedPatches }); } const projectsToLink = await Promise.all(projectsToResolve.map(async (project) => { const resolvedImporter = resolvedImporters[project.id]; const topParents = project.manifest ? await getTopParents((0, difference_1.default)(Object.keys((0, manifest_utils_1.getAllDependenciesFromManifest)(project.manifest)), resolvedImporter.directDependencies.map(({ alias }) => alias) || []), project.modulesDir) : []; for (const linkedDependency of resolvedImporter.linkedDependencies) { const target = !opts.excludeLinksFromLockfile || (0, is_subdir_1.default)(opts.lockfileDir, linkedDependency.resolution.directory) ? linkedDependency.resolution.directory : path_1.default.join(project.modulesDir, linkedDependency.alias); const linkedDir = (0, resolveDependencies_js_1.createNodeIdForLinkedLocalPkg)(opts.lockfileDir, target); topParents.push({ name: linkedDependency.alias, version: linkedDependency.version, linkedDir }); } return { binsDir: project.binsDir, directNodeIdsByAlias: resolvedImporter.directNodeIdsByAlias, id: project.id, linkedDependencies: resolvedImporter.linkedDependencies, manifest: project.manifest, modulesDir: project.modulesDir, rootDir: project.rootDir, topParents }; })); const { dependenciesGraph, dependenciesByProjectId, peerDependencyIssuesByProjects } = await (0, resolvePeers_js_1.resolvePeers)({ allPeerDepNames, dependenciesTree, dedupePeerDependents: opts.dedupePeerDependents, dedupeInjectedDeps: opts.dedupeInjectedDeps, lockfileDir: opts.lockfileDir, projects: projectsToLink, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, resolvePeersFromWorkspaceRoot: Boolean(opts.resolvePeersFromWorkspaceRoot), resolvedImporters, peersSuffixMaxLength: opts.peersSuffixMaxLength }); const linkedDependenciesByProjectId = {}; await Promise.all(projectsToResolve.map(async (project, index) => { const resolvedImporter = resolvedImporters[project.id]; linkedDependenciesByProjectId[project.id] = resolvedImporter.linkedDependencies; let updatedManifest; let updatedOriginalManifest; if (project.updatePackageManifest) { [updatedManifest, updatedOriginalManifest] = await (0, updateProjectManifest_js_1.updateProjectManifest)(project, { directDependencies: resolvedImporter.directDependencies, preserveWorkspaceProtocol: opts.preserveWorkspaceProtocol, saveWorkspaceProtocol: opts.saveWorkspaceProtocol }); } else { updatedManifest = project.manifest; updatedOriginalManifest = project.originalManifest; core_loggers_1.packageManifestLogger.debug({ prefix: project.rootDir, updated: project.manifest }); } if (updatedManifest != null) { if (opts.autoInstallPeers) { if (updatedManifest.peerDependencies) { const allDeps = (0, manifest_utils_1.getAllDependenciesFromManifest)(updatedManifest); for (const [peerName, peerRange] of Object.entries(updatedManifest.peerDependencies)) { if (allDeps[peerName]) continue; updatedManifest.dependencies ??= {}; updatedManifest.dependencies[peerName] = peerRange; } } } const projectSnapshot = opts.wantedLockfile.importers[project.id]; opts.wantedLockfile.importers[project.id] = addDirectDependenciesToLockfile(updatedManifest, projectSnapshot, resolvedImporter.linkedDependencies, resolvedImporter.directDependencies, opts.excludeLinksFromLockfile); } importers[index].manifest = updatedOriginalManifest ?? project.originalManifest ?? project.manifest; for (const [alias, depPath] of dependenciesByProjectId[project.id].entries()) { const projectSnapshot = opts.wantedLockfile.importers[project.id]; if (project.manifest.dependenciesMeta != null) { projectSnapshot.dependenciesMeta = project.manifest.dependenciesMeta; } const depNode = dependenciesGraph[depPath]; const ref = (0, depPathToRef_js_1.depPathToRef)(depPath, { alias, realName: depNode.name }); if (projectSnapshot.dependencies?.[alias]) { projectSnapshot.dependencies[alias] = ref; } else if (projectSnapshot.devDependencies?.[alias]) { projectSnapshot.devDependencies[alias] = ref; } else if (projectSnapshot.optionalDependencies?.[alias]) { projectSnapshot.optionalDependencies[alias] = ref; } } })); let updatedCatalogs; for (const project of projectsToResolve) { if (!project.updatePackageManifest) continue; const resolvedImporter = resolvedImporters[project.id]; for (let i = 0; i < resolvedImporter.directDependencies.length; i++) { if (project.wantedDependencies[i]?.updateSpec == null) continue; const dep = resolvedImporter.directDependencies[i]; if (dep.catalogLookup == null) continue; updatedCatalogs ??= {}; updatedCatalogs[dep.catalogLookup.catalogName] ??= {}; updatedCatalogs[dep.catalogLookup.catalogName][dep.alias] = dep.normalizedBareSpecifier ?? dep.catalogLookup.userSpecifiedBareSpecifier; } } if (opts.dedupeDirectDeps) { const rootDeps = dependenciesByProjectId["."]; if (rootDeps) { for (const [id, deps] of Object.entries(dependenciesByProjectId)) { if (id === ".") continue; for (const [alias, depPath] of deps.entries()) { if (depPath === rootDeps.get(alias)) { deps.delete(alias); } } } } } const newLockfile = (0, updateLockfile_js_1.updateLockfile)({ dependenciesGraph, lockfile: opts.wantedLockfile, prefix: opts.virtualStoreDir, registries: opts.registries, lockfileIncludeTarballUrl: opts.lockfileIncludeTarballUrl }); if (time) { newLockfile.time = { ...opts.wantedLockfile.time, ...time }; } newLockfile.catalogs = (0, getCatalogSnapshots_js_1.getCatalogSnapshots)(Object.values(resolvedImporters).flatMap(({ directDependencies }) => directDependencies), updatedCatalogs); async function waitTillAllFetchingsFinish() { await Promise.all(Object.values(resolvedPkgsById).map(async ({ fetching }) => { try { await fetching?.(); } catch { } })); } return { dependenciesByProjectId, dependenciesGraph: opts.enableGlobalVirtualStore ? extendGraph(dependenciesGraph, opts.virtualStoreDir) : dependenciesGraph, outdatedDependencies, linkedDependenciesByProjectId, updatedCatalogs, newLockfile, peerDependencyIssuesByProjects, waitTillAllFetchingsFinish, wantedToBeSkippedPackageIds }; } function addDirectDependenciesToLockfile(newManifest, projectSnapshot, linkedPackages, directDependencies, excludeLinksFromLockfile) { const newProjectSnapshot = { dependencies: {}, devDependencies: {}, optionalDependencies: {}, specifiers: {} }; if (newManifest.publishConfig?.directory) { newProjectSnapshot.publishDirectory = newManifest.publishConfig.directory; } for (const linkedPkg of linkedPackages) { newProjectSnapshot.specifiers[linkedPkg.alias] = (0, manifest_utils_1.getSpecFromPackageManifest)(newManifest, linkedPkg.alias); } const directDependenciesByAlias = {}; for (const directDependency of directDependencies) { directDependenciesByAlias[directDependency.alias] = directDependency; } const allDeps = Array.from(new Set(Object.keys((0, manifest_utils_1.getAllDependenciesFromManifest)(newManifest)))); for (const alias of allDeps) { const dep = directDependenciesByAlias[alias]; const spec = dep && (0, manifest_utils_1.getSpecFromPackageManifest)(newManifest, dep.alias); if (dep && (!excludeLinksFromLockfile || !dep.isLinkedDependency || spec.startsWith("workspace:"))) { const ref = (0, depPathToRef_js_1.depPathToRef)(dep.pkgId, { alias: dep.alias, realName: dep.name }); if (dep.dev) { newProjectSnapshot.devDependencies[dep.alias] = ref; } else if (dep.optional) { newProjectSnapshot.optionalDependencies[dep.alias] = ref; } else { newProjectSnapshot.dependencies[dep.alias] = ref; } newProjectSnapshot.specifiers[dep.alias] = spec; } else if (projectSnapshot.specifiers[alias]) { newProjectSnapshot.specifiers[alias] = projectSnapshot.specifiers[alias]; if (projectSnapshot.dependencies?.[alias]) { newProjectSnapshot.dependencies[alias] = projectSnapshot.dependencies[alias]; } else if (projectSnapshot.optionalDependencies?.[alias]) { newProjectSnapshot.optionalDependencies[alias] = projectSnapshot.optionalDependencies[alias]; } else if (projectSnapshot.devDependencies?.[alias]) { newProjectSnapshot.devDependencies[alias] = projectSnapshot.devDependencies[alias]; } } } alignDependencyTypes(newManifest, newProjectSnapshot); return newProjectSnapshot; } function alignDependencyTypes(manifest, projectSnapshot) { const depTypesOfAliases = getAliasToDependencyTypeMap(manifest); for (const depType of types_1.DEPENDENCIES_FIELDS) { if (projectSnapshot[depType] == null) continue; for (const [alias, ref] of Object.entries(projectSnapshot[depType] ?? {})) { if (depType === depTypesOfAliases[alias] || !depTypesOfAliases[alias]) continue; projectSnapshot[depTypesOfAliases[alias]][alias] = ref; delete projectSnapshot[depType][alias]; } } } function getAliasToDependencyTypeMap(manifest) { const depTypesOfAliases = {}; for (const depType of types_1.DEPENDENCIES_FIELDS) { if (manifest[depType] == null) continue; for (const alias of Object.keys(manifest[depType] ?? {})) { if (!depTypesOfAliases[alias]) { depTypesOfAliases[alias] = depType; } } } return depTypesOfAliases; } async function getTopParents(pkgAliases, modulesDir) { const pkgs = await Promise.all(pkgAliases.map((alias) => path_1.default.join(modulesDir, alias)).map(read_package_json_1.safeReadPackageJsonFromDir)); return (0, zipWith_1.default)((manifest, alias) => { if (!manifest) return null; return { alias, name: manifest.name, version: manifest.version }; }, pkgs, pkgAliases).filter(Boolean); } function extendGraph(graph, virtualStoreDir) { const pkgMetaIter = (function* () { for (const depPath in graph) { if (Object.hasOwn(graph, depPath)) { const { name, version: version2, pkgIdWithPatchHash } = graph[depPath]; yield { name, version: version2, depPath, pkgIdWithPatchHash }; } } })(); for (const { pkgMeta: { depPath }, hash } of (0, calc_dep_state_1.iterateHashedGraphNodes)(graph, pkgMetaIter)) { const modules = path_1.default.join(virtualStoreDir, hash, "node_modules"); const node = graph[depPath]; Object.assign(node, { modules, dir: path_1.default.join(modules, node.name) }); } return graph; } } }); // ../pkg-manager/core/lib/parseWantedDependencies.js var require_parseWantedDependencies = __commonJS({ "../pkg-manager/core/lib/parseWantedDependencies.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseWantedDependencies = parseWantedDependencies; var parse_wanted_dependency_1 = require_lib100(); function parseWantedDependencies(rawWantedDependencies, opts) { return rawWantedDependencies.map((rawWantedDependency) => { const parsed = (0, parse_wanted_dependency_1.parseWantedDependency)(rawWantedDependency); const alias = parsed["alias"]; let bareSpecifier = parsed["bareSpecifier"]; if (!opts.allowNew && (!alias || !opts.currentBareSpecifiers[alias])) { return null; } if (alias && opts.defaultCatalog?.[alias] && (!opts.currentBareSpecifiers[alias] && bareSpecifier === void 0 || opts.defaultCatalog[alias] === bareSpecifier || opts.defaultCatalog[alias] === opts.currentBareSpecifiers[alias])) { bareSpecifier = "catalog:"; } if (alias && opts.currentBareSpecifiers[alias]) { bareSpecifier ??= opts.currentBareSpecifiers[alias]; } const result2 = { alias, dev: Boolean(opts.dev || alias && !!opts.devDependencies[alias]), optional: Boolean(opts.optional || alias && !!opts.optionalDependencies[alias]), prevSpecifier: alias && opts.currentBareSpecifiers[alias], saveCatalogName: opts.saveCatalogName }; if (bareSpecifier) { return { ...result2, bareSpecifier }; } if (alias && opts.preferredSpecs?.[alias]) { return { ...result2, bareSpecifier: opts.preferredSpecs[alias] }; } if (alias && opts.overrides?.[alias]) { return { ...result2, bareSpecifier: opts.overrides[alias] }; } return { ...result2, bareSpecifier: opts.defaultTag }; }).filter((wd) => wd !== null); } } }); // ../pkg-manager/core/lib/uninstall/removeDeps.js var require_removeDeps = __commonJS({ "../pkg-manager/core/lib/uninstall/removeDeps.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.removeDeps = removeDeps; var core_loggers_1 = require_lib8(); var types_1 = require_lib9(); async function removeDeps(packageManifest, removedPackages, opts) { if (opts.saveType) { if (packageManifest[opts.saveType] == null) return packageManifest; for (const dependency of removedPackages) { delete packageManifest[opts.saveType][dependency]; } } else { for (const depField of types_1.DEPENDENCIES_FIELDS) { if (!packageManifest[depField]) continue; for (const dependency of removedPackages) { delete packageManifest[depField][dependency]; } } } if (packageManifest.peerDependencies != null) { for (const removedDependency of removedPackages) { delete packageManifest.peerDependencies[removedDependency]; } } if (packageManifest.dependenciesMeta != null) { for (const removedDependency of removedPackages) { delete packageManifest.dependenciesMeta[removedDependency]; } } core_loggers_1.packageManifestLogger.debug({ prefix: opts.prefix, updated: packageManifest }); return packageManifest; } } }); // ../node_modules/.pnpm/@yarnpkg+extensions@2.0.3_@yarnpkg+core@4.2.0_typanion@3.14.0_/node_modules/@yarnpkg/extensions/lib/index.js var require_lib169 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+extensions@2.0.3_@yarnpkg+core@4.2.0_typanion@3.14.0_/node_modules/@yarnpkg/extensions/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.packageExtensions = void 0; var optionalPeerDep = { optional: true }; exports2.packageExtensions = [ // https://github.com/tailwindlabs/tailwindcss-aspect-ratio/pull/14 [`@tailwindcss/aspect-ratio@<0.2.1`, { peerDependencies: { [`tailwindcss`]: `^2.0.2` } }], // https://github.com/tailwindlabs/tailwindcss-line-clamp/pull/6 [`@tailwindcss/line-clamp@<0.2.1`, { peerDependencies: { [`tailwindcss`]: `^2.0.2` } }], // https://github.com/FullHuman/purgecss/commit/24116f394dc54c913e4fd254cf2d78c03db971f2 [`@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0`, { peerDependencies: { [`postcss`]: `^8.0.0` } }], // https://github.com/SamVerschueren/stream-to-observable/pull/5 [`@samverschueren/stream-to-observable@<0.3.1`, { peerDependenciesMeta: { [`rxjs`]: optionalPeerDep, [`zenObservable`]: optionalPeerDep } }], // https://github.com/sindresorhus/any-observable/pull/25 [`any-observable@<0.5.1`, { peerDependenciesMeta: { [`rxjs`]: optionalPeerDep, [`zenObservable`]: optionalPeerDep } }], // https://github.com/keymetrics/pm2-io-agent/pull/125 [`@pm2/agent@<1.0.4`, { dependencies: { [`debug`]: `*` } }], // https://github.com/visionmedia/debug/pull/727 [`debug@<4.2.0`, { peerDependenciesMeta: { [`supports-color`]: optionalPeerDep } }], // https://github.com/sindresorhus/got/pull/1125 [`got@<11`, { dependencies: { [`@types/responselike`]: `^1.0.0`, [`@types/keyv`]: `^3.1.1` } }], // https://github.com/szmarczak/cacheable-lookup/pull/12 [`cacheable-lookup@<4.1.2`, { dependencies: { [`@types/keyv`]: `^3.1.1` } }], // https://github.com/prisma-labs/http-link-dataloader/pull/22 [`http-link-dataloader@*`, { peerDependencies: { [`graphql`]: `^0.13.1 || ^14.0.0` } }], // https://github.com/theia-ide/typescript-language-server/issues/144 [`typescript-language-server@*`, { dependencies: { [`vscode-jsonrpc`]: `^5.0.1`, [`vscode-languageserver-protocol`]: `^3.15.0` } }], // https://github.com/gucong3000/postcss-syntax/pull/46 [`postcss-syntax@*`, { peerDependenciesMeta: { [`postcss-html`]: optionalPeerDep, [`postcss-jsx`]: optionalPeerDep, [`postcss-less`]: optionalPeerDep, [`postcss-markdown`]: optionalPeerDep, [`postcss-scss`]: optionalPeerDep } }], // https://github.com/cssinjs/jss/pull/1315 [`jss-plugin-rule-value-function@<=10.1.1`, { dependencies: { [`tiny-warning`]: `^1.0.2` } }], // https://github.com/vadimdemedes/ink-select-input/pull/26 [`ink-select-input@<4.1.0`, { peerDependencies: { react: `^16.8.2` } }], // https://github.com/xz64/license-webpack-plugin/pull/100 [`license-webpack-plugin@<2.3.18`, { peerDependenciesMeta: { [`webpack`]: optionalPeerDep } }], // https://github.com/snowpackjs/snowpack/issues/3158 [`snowpack@>=3.3.0`, { dependencies: { [`node-gyp`]: `^7.1.0` } }], // https://github.com/iarna/promise-inflight/pull/4 [`promise-inflight@*`, { peerDependenciesMeta: { [`bluebird`]: optionalPeerDep } }], // https://github.com/casesandberg/reactcss/pull/153 [`reactcss@*`, { peerDependencies: { react: `*` } }], // https://github.com/casesandberg/react-color/pull/746 [`react-color@<=2.19.0`, { peerDependencies: { react: `*` } }], // https://github.com/angeloocana/gatsby-plugin-i18n/pull/145 [`gatsby-plugin-i18n@*`, { dependencies: { ramda: `^0.24.1` } }], // https://github.com/3rd-Eden/useragent/pull/159 [`useragent@^2.0.0`, { dependencies: { request: `^2.88.0`, yamlparser: `0.0.x`, semver: `5.5.x` } }], // https://github.com/apollographql/apollo-tooling/pull/2049 [`@apollographql/apollo-tools@<=0.5.2`, { peerDependencies: { graphql: `^14.2.1 || ^15.0.0` } }], // https://github.com/mbrn/material-table/pull/2374 [`material-table@^2.0.0`, { dependencies: { "@babel/runtime": `^7.11.2` } }], // https://github.com/babel/babel/pull/11118 [`@babel/parser@*`, { dependencies: { "@babel/types": `^7.8.3` } }], // https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/pull/507 [`fork-ts-checker-webpack-plugin@<=6.3.4`, { peerDependencies: { eslint: `>= 6`, typescript: `>= 2.7`, webpack: `>= 4`, "vue-template-compiler": `*` }, peerDependenciesMeta: { eslint: optionalPeerDep, "vue-template-compiler": optionalPeerDep } }], // https://github.com/react-component/animate/pull/116 [`rc-animate@<=3.1.1`, { peerDependencies: { react: `>=16.9.0`, "react-dom": `>=16.9.0` } }], // https://github.com/react-bootstrap-table/react-bootstrap-table2/pull/1491 [`react-bootstrap-table2-paginator@*`, { dependencies: { classnames: `^2.2.6` } }], // https://github.com/STRML/react-draggable/pull/525 [`react-draggable@<=4.4.3`, { peerDependencies: { react: `>= 16.3.0`, "react-dom": `>= 16.3.0` } }], // https://github.com/jaydenseric/apollo-upload-client/commit/336691cec6698661ab404649e4e8435750255803 [`apollo-upload-client@<14`, { peerDependencies: { graphql: `14 - 15` } }], // https://github.com/algolia/react-instantsearch/pull/2975 [`react-instantsearch-core@<=6.7.0`, { peerDependencies: { algoliasearch: `>= 3.1 < 5` } }], // https://github.com/algolia/react-instantsearch/pull/2975 [`react-instantsearch-dom@<=6.7.0`, { dependencies: { "react-fast-compare": `^3.0.0` } }], // https://github.com/websockets/ws/pull/1626 [`ws@<7.2.1`, { peerDependencies: { bufferutil: `^4.0.1`, "utf-8-validate": `^5.0.2` }, peerDependenciesMeta: { bufferutil: optionalPeerDep, "utf-8-validate": optionalPeerDep } }], // https://github.com/tajo/react-portal/pull/233 // https://github.com/tajo/react-portal/commit/daf85792c2fce25a3481b6f9132ef61a110f3d78 [`react-portal@<4.2.2`, { peerDependencies: { "react-dom": `^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0` } }], // https://github.com/facebook/create-react-app/pull/9872 [`react-scripts@<=4.0.1`, { peerDependencies: { [`react`]: `*` } }], // https://github.com/DevExpress/testcafe/pull/5872 [`testcafe@<=1.10.1`, { dependencies: { "@babel/plugin-transform-for-of": `^7.12.1`, "@babel/runtime": `^7.12.5` } }], // https://github.com/DevExpress/testcafe-legacy-api/pull/51 [`testcafe-legacy-api@<=4.2.0`, { dependencies: { "testcafe-hammerhead": `^17.0.1`, "read-file-relative": `^1.2.0` } }], // https://github.com/googleapis/nodejs-firestore/pull/1425 [`@google-cloud/firestore@<=4.9.3`, { dependencies: { protobufjs: `^6.8.6` } }], // https://github.com/thinhle-agilityio/gatsby-source-apiserver/pull/58 [`gatsby-source-apiserver@*`, { dependencies: { [`babel-polyfill`]: `^6.26.0` } }], // https://github.com/webpack/webpack-cli/pull/2097 [`@webpack-cli/package-utils@<=1.0.1-alpha.4`, { dependencies: { [`cross-spawn`]: `^7.0.3` } }], // https://github.com/gatsbyjs/gatsby/pull/20156 [`gatsby-remark-prismjs@<3.3.28`, { dependencies: { [`lodash`]: `^4` } }], // https://github.com/Creatiwity/gatsby-plugin-favicon/pull/65 [`gatsby-plugin-favicon@*`, { peerDependencies: { [`webpack`]: `*` } }], // https://github.com/gatsbyjs/gatsby/pull/28759 [`gatsby-plugin-sharp@<=4.6.0-next.3`, { dependencies: { [`debug`]: `^4.3.1` } }], // https://github.com/gatsbyjs/gatsby/pull/28759 [`gatsby-react-router-scroll@<=5.6.0-next.0`, { dependencies: { [`prop-types`]: `^15.7.2` } }], // https://github.com/rebassjs/rebass/pull/934 [`@rebass/forms@*`, { dependencies: { [`@styled-system/should-forward-prop`]: `^5.0.0` }, peerDependencies: { react: `^16.8.6` } }], // https://github.com/rebassjs/rebass/pull/934 [`rebass@*`, { peerDependencies: { react: `^16.8.6` } }], // https://github.com/ant-design/react-slick/pull/95 [`@ant-design/react-slick@<=0.28.3`, { peerDependencies: { react: `>=16.0.0` } }], // https://github.com/mqttjs/MQTT.js/pull/1266 [`mqtt@<4.2.7`, { dependencies: { duplexify: `^4.1.1` } }], // https://github.com/vuetifyjs/vue-cli-plugins/pull/155 [`vue-cli-plugin-vuetify@<=2.0.3`, { dependencies: { semver: `^6.3.0` }, peerDependenciesMeta: { "sass-loader": optionalPeerDep, "vuetify-loader": optionalPeerDep } }], // https://github.com/vuetifyjs/vue-cli-plugins/pull/152 [`vue-cli-plugin-vuetify@<=2.0.4`, { dependencies: { "null-loader": `^3.0.0` } }], // https://github.com/vuetifyjs/vue-cli-plugins/pull/324 [`vue-cli-plugin-vuetify@>=2.4.3`, { peerDependencies: { vue: `*` } }], // https://github.com/vuetifyjs/vue-cli-plugins/pull/155 [`@vuetify/cli-plugin-utils@<=0.0.4`, { dependencies: { semver: `^6.3.0` }, peerDependenciesMeta: { "sass-loader": optionalPeerDep } }], // https://github.com/vuejs/vue-cli/pull/6060/files#diff-857cfb6f3e9a676b0de4a00c2c712297068c038a7d5820c133b8d6aa8cceb146R28 [`@vue/cli-plugin-typescript@<=5.0.0-alpha.0`, { dependencies: { "babel-loader": `^8.1.0` } }], // https://github.com/vuejs/vue-cli/pull/6456 [`@vue/cli-plugin-typescript@<=5.0.0-beta.0`, { dependencies: { "@babel/core": `^7.12.16` }, peerDependencies: { "vue-template-compiler": `^2.0.0` }, peerDependenciesMeta: { "vue-template-compiler": optionalPeerDep } }], // https://github.com/apache/cordova-ios/pull/1105 [`cordova-ios@<=6.3.0`, { dependencies: { underscore: `^1.9.2` } }], // https://github.com/apache/cordova-lib/pull/871 [`cordova-lib@<=10.0.1`, { dependencies: { underscore: `^1.9.2` } }], // https://github.com/creationix/git-node-fs/pull/8 [`git-node-fs@*`, { peerDependencies: { "js-git": `^0.7.8` }, peerDependenciesMeta: { "js-git": optionalPeerDep } }], // https://github.com/tj/consolidate.js/pull/339 // https://github.com/tj/consolidate.js/commit/6068c17fd443897e540d69b1786db07a0d64b53b [`consolidate@<0.16.0`, { peerDependencies: { mustache: `^3.0.0` }, peerDependenciesMeta: { mustache: optionalPeerDep } }], // https://github.com/tj/consolidate.js/pull/339 [`consolidate@<=0.16.0`, { peerDependencies: { velocityjs: `^2.0.1`, tinyliquid: `^0.2.34`, "liquid-node": `^3.0.1`, jade: `^1.11.0`, "then-jade": `*`, dust: `^0.3.0`, "dustjs-helpers": `^1.7.4`, "dustjs-linkedin": `^2.7.5`, swig: `^1.4.2`, "swig-templates": `^2.0.3`, "razor-tmpl": `^1.3.1`, atpl: `>=0.7.6`, liquor: `^0.0.5`, twig: `^1.15.2`, ejs: `^3.1.5`, eco: `^1.1.0-rc-3`, jazz: `^0.0.18`, jqtpl: `~1.1.0`, hamljs: `^0.6.2`, hamlet: `^0.3.3`, whiskers: `^0.4.0`, "haml-coffee": `^1.14.1`, "hogan.js": `^3.0.2`, templayed: `>=0.2.3`, handlebars: `^4.7.6`, underscore: `^1.11.0`, lodash: `^4.17.20`, pug: `^3.0.0`, "then-pug": `*`, qejs: `^3.0.5`, walrus: `^0.10.1`, mustache: `^4.0.1`, just: `^0.1.8`, ect: `^0.5.9`, mote: `^0.2.0`, toffee: `^0.3.6`, dot: `^1.1.3`, "bracket-template": `^1.1.5`, ractive: `^1.3.12`, nunjucks: `^3.2.2`, htmling: `^0.0.8`, "babel-core": `^6.26.3`, plates: `~0.4.11`, "react-dom": `^16.13.1`, react: `^16.13.1`, "arc-templates": `^0.5.3`, vash: `^0.13.0`, slm: `^2.0.0`, marko: `^3.14.4`, teacup: `^2.0.0`, "coffee-script": `^1.12.7`, squirrelly: `^5.1.0`, twing: `^5.0.2` }, peerDependenciesMeta: { velocityjs: optionalPeerDep, tinyliquid: optionalPeerDep, "liquid-node": optionalPeerDep, jade: optionalPeerDep, "then-jade": optionalPeerDep, dust: optionalPeerDep, "dustjs-helpers": optionalPeerDep, "dustjs-linkedin": optionalPeerDep, swig: optionalPeerDep, "swig-templates": optionalPeerDep, "razor-tmpl": optionalPeerDep, atpl: optionalPeerDep, liquor: optionalPeerDep, twig: optionalPeerDep, ejs: optionalPeerDep, eco: optionalPeerDep, jazz: optionalPeerDep, jqtpl: optionalPeerDep, hamljs: optionalPeerDep, hamlet: optionalPeerDep, whiskers: optionalPeerDep, "haml-coffee": optionalPeerDep, "hogan.js": optionalPeerDep, templayed: optionalPeerDep, handlebars: optionalPeerDep, underscore: optionalPeerDep, lodash: optionalPeerDep, pug: optionalPeerDep, "then-pug": optionalPeerDep, qejs: optionalPeerDep, walrus: optionalPeerDep, mustache: optionalPeerDep, just: optionalPeerDep, ect: optionalPeerDep, mote: optionalPeerDep, toffee: optionalPeerDep, dot: optionalPeerDep, "bracket-template": optionalPeerDep, ractive: optionalPeerDep, nunjucks: optionalPeerDep, htmling: optionalPeerDep, "babel-core": optionalPeerDep, plates: optionalPeerDep, "react-dom": optionalPeerDep, react: optionalPeerDep, "arc-templates": optionalPeerDep, vash: optionalPeerDep, slm: optionalPeerDep, marko: optionalPeerDep, teacup: optionalPeerDep, "coffee-script": optionalPeerDep, squirrelly: optionalPeerDep, twing: optionalPeerDep } }], // https://github.com/vuejs/vue-loader/pull/1853 // https://github.com/vuejs/vue-loader/commit/089473af97077b8e14b3feff48d32d2733ad792c [`vue-loader@<=16.3.3`, { peerDependencies: { "@vue/compiler-sfc": `^3.0.8`, webpack: `^4.1.0 || ^5.0.0-0` }, peerDependenciesMeta: { "@vue/compiler-sfc": optionalPeerDep } }], // https://github.com/vuejs/vue-loader/pull/1944 [`vue-loader@^16.7.0`, { peerDependencies: { "@vue/compiler-sfc": `^3.0.8`, vue: `^3.2.13` }, peerDependenciesMeta: { "@vue/compiler-sfc": optionalPeerDep, vue: optionalPeerDep } }], // https://github.com/salesforce-ux/scss-parser/pull/43 [`scss-parser@<=1.0.5`, { dependencies: { lodash: `^4.17.21` } }], // https://github.com/salesforce-ux/query-ast/pull/25 [`query-ast@<1.0.5`, { dependencies: { lodash: `^4.17.21` } }], // https://github.com/reduxjs/redux-thunk/pull/251 [`redux-thunk@<=2.3.0`, { peerDependencies: { redux: `^4.0.0` } }], // https://github.com/snowpackjs/snowpack/pull/3556 [`skypack@<=0.3.2`, { dependencies: { tar: `^6.1.0` } }], // https://github.com/npm/metavuln-calculator/pull/8 [`@npmcli/metavuln-calculator@<2.0.0`, { dependencies: { "json-parse-even-better-errors": `^2.3.1` } }], // https://github.com/npm/bin-links/pull/17 [`bin-links@<2.3.0`, { dependencies: { "mkdirp-infer-owner": `^1.0.2` } }], // https://github.com/snowpackjs/rollup-plugin-polyfill-node/pull/30 [`rollup-plugin-polyfill-node@<=0.8.0`, { peerDependencies: { rollup: `^1.20.0 || ^2.0.0` } }], // https://github.com/snowpackjs/snowpack/pull/3673 [`snowpack@<3.8.6`, { dependencies: { "magic-string": `^0.25.7` } }], // https://github.com/elm-community/elm-webpack-loader/pull/202 [`elm-webpack-loader@*`, { dependencies: { temp: `^0.9.4` } }], // https://github.com/winstonjs/winston-transport/pull/58 [`winston-transport@<=4.4.0`, { dependencies: { logform: `^2.2.0` } }], // https://github.com/vire/jest-vue-preprocessor/pull/177 [`jest-vue-preprocessor@*`, { dependencies: { "@babel/core": `7.8.7`, "@babel/template": `7.8.6` }, peerDependencies: { pug: `^2.0.4` }, peerDependenciesMeta: { pug: optionalPeerDep } }], // https://github.com/rt2zz/redux-persist/pull/1336 [`redux-persist@*`, { peerDependencies: { react: `>=16` }, peerDependenciesMeta: { react: optionalPeerDep } }], // https://github.com/paixaop/node-sodium/pull/159 [`sodium@>=3`, { dependencies: { "node-gyp": `^3.8.0` } }], // https://github.com/gajus/babel-plugin-graphql-tag/pull/63 [`babel-plugin-graphql-tag@<=3.1.0`, { peerDependencies: { graphql: `^14.0.0 || ^15.0.0` } }], // https://github.com/microsoft/playwright/pull/8501 [`@playwright/test@<=1.14.1`, { dependencies: { "jest-matcher-utils": `^26.4.2` } }], // https://github.com/gatsbyjs/gatsby/pull/32954 ...[ `babel-plugin-remove-graphql-queries@<3.14.0-next.1`, `babel-preset-gatsby-package@<1.14.0-next.1`, `create-gatsby@<1.14.0-next.1`, `gatsby-admin@<0.24.0-next.1`, `gatsby-cli@<3.14.0-next.1`, `gatsby-core-utils@<2.14.0-next.1`, `gatsby-design-tokens@<3.14.0-next.1`, `gatsby-legacy-polyfills@<1.14.0-next.1`, `gatsby-plugin-benchmark-reporting@<1.14.0-next.1`, `gatsby-plugin-graphql-config@<0.23.0-next.1`, `gatsby-plugin-image@<1.14.0-next.1`, `gatsby-plugin-mdx@<2.14.0-next.1`, `gatsby-plugin-netlify-cms@<5.14.0-next.1`, `gatsby-plugin-no-sourcemaps@<3.14.0-next.1`, `gatsby-plugin-page-creator@<3.14.0-next.1`, `gatsby-plugin-preact@<5.14.0-next.1`, `gatsby-plugin-preload-fonts@<2.14.0-next.1`, `gatsby-plugin-schema-snapshot@<2.14.0-next.1`, `gatsby-plugin-styletron@<6.14.0-next.1`, `gatsby-plugin-subfont@<3.14.0-next.1`, `gatsby-plugin-utils@<1.14.0-next.1`, `gatsby-recipes@<0.25.0-next.1`, `gatsby-source-shopify@<5.6.0-next.1`, `gatsby-source-wikipedia@<3.14.0-next.1`, `gatsby-transformer-screenshot@<3.14.0-next.1`, `gatsby-worker@<0.5.0-next.1` ].map((descriptorString) => [ descriptorString, { dependencies: { "@babel/runtime": `^7.14.8` } } ]), // Originally fixed in https://github.com/gatsbyjs/gatsby/pull/31837 (https://github.com/gatsbyjs/gatsby/commit/6378692d7ec1eb902520720e27aca97e8eb42c21) // Version updated and added in https://github.com/gatsbyjs/gatsby/pull/32928 [`gatsby-core-utils@<2.14.0-next.1`, { dependencies: { got: `8.3.2` } }], // https://github.com/gatsbyjs/gatsby/pull/32861 [`gatsby-plugin-gatsby-cloud@<=3.1.0-next.0`, { dependencies: { "gatsby-core-utils": `^2.13.0-next.0` } }], // https://github.com/gatsbyjs/gatsby/pull/31837 [`gatsby-plugin-gatsby-cloud@<=3.2.0-next.1`, { peerDependencies: { webpack: `*` } }], // https://github.com/gatsbyjs/gatsby/pull/31837 [`babel-plugin-remove-graphql-queries@<=3.14.0-next.1`, { dependencies: { "gatsby-core-utils": `^2.8.0-next.1` } }], // https://github.com/gatsbyjs/gatsby/pull/32861 [`gatsby-plugin-netlify@3.13.0-next.1`, { dependencies: { "gatsby-core-utils": `^2.13.0-next.0` } }], // https://github.com/paul-soporan/clipanion-v3-codemod/pull/1 [`clipanion-v3-codemod@<=0.2.0`, { peerDependencies: { jscodeshift: `^0.11.0` } }], // https://github.com/FormidableLabs/react-live/pull/180 [`react-live@*`, { peerDependencies: { "react-dom": `*`, react: `*` } }], // https://github.com/webpack/webpack/pull/11190 [`webpack@<4.44.1`, { peerDependenciesMeta: { "webpack-cli": optionalPeerDep, "webpack-command": optionalPeerDep } }], // https://github.com/webpack/webpack/pull/11189 [`webpack@<5.0.0-beta.23`, { peerDependenciesMeta: { "webpack-cli": optionalPeerDep } }], // https://github.com/webpack/webpack-dev-server/pull/2396 [`webpack-dev-server@<3.10.2`, { peerDependenciesMeta: { "webpack-cli": optionalPeerDep } }], // https://github.com/slorber/responsive-loader/pull/1/files [`@docusaurus/responsive-loader@<1.5.0`, { peerDependenciesMeta: { sharp: optionalPeerDep, jimp: optionalPeerDep } }], // https://github.com/import-js/eslint-plugin-import/pull/2283 [`eslint-module-utils@*`, { peerDependenciesMeta: { "eslint-import-resolver-node": optionalPeerDep, "eslint-import-resolver-typescript": optionalPeerDep, "eslint-import-resolver-webpack": optionalPeerDep, "@typescript-eslint/parser": optionalPeerDep } }], // https://github.com/import-js/eslint-plugin-import/pull/2283 [`eslint-plugin-import@*`, { peerDependenciesMeta: { "@typescript-eslint/parser": optionalPeerDep } }], // https://github.com/GoogleChromeLabs/critters/pull/91 [`critters-webpack-plugin@<3.0.2`, { peerDependenciesMeta: { "html-webpack-plugin": optionalPeerDep } }], // https://github.com/terser/terser/commit/05b23eeb682d732484ad51b19bf528258fd5dc2a [`terser@<=5.10.0`, { dependencies: { acorn: `^8.5.0` } }], // https://github.com/facebook/create-react-app/pull/12364 [`babel-preset-react-app@10.0.x <10.0.2`, { dependencies: { "@babel/plugin-proposal-private-property-in-object": `^7.16.7` } }], // https://github.com/facebook/create-react-app/pull/11751 [`eslint-config-react-app@*`, { peerDependenciesMeta: { typescript: optionalPeerDep } }], // https://github.com/vuejs/eslint-config-typescript/pull/39 [`@vue/eslint-config-typescript@<11.0.0`, { peerDependenciesMeta: { typescript: optionalPeerDep } }], // https://github.com/antfu/unplugin-vue2-script-setup/pull/100 [`unplugin-vue2-script-setup@<0.9.1`, { peerDependencies: { "@vue/composition-api": `^1.4.3`, "@vue/runtime-dom": `^3.2.26` } }], // https://github.com/cypress-io/snapshot/pull/159 [`@cypress/snapshot@*`, { dependencies: { debug: `^3.2.7` } }], // https://github.com/wemaintain/auto-relay/pull/95 [`auto-relay@<=0.14.0`, { peerDependencies: { "reflect-metadata": `^0.1.13` } }], // https://github.com/JuniorTour/vue-template-babel-compiler/pull/40 [`vue-template-babel-compiler@<1.2.0`, { peerDependencies: { [`vue-template-compiler`]: `^2.6.0` } }], // https://github.com/parcel-bundler/parcel/pull/7977 [`@parcel/transformer-image@<2.5.0`, { peerDependencies: { [`@parcel/core`]: `*` } }], // https://github.com/parcel-bundler/parcel/pull/7977 [`@parcel/transformer-js@<2.5.0`, { peerDependencies: { [`@parcel/core`]: `*` } }], // Experiment to unblock the usage of Parcel in E2E tests [`parcel@*`, { peerDependenciesMeta: { [`@parcel/core`]: optionalPeerDep } }], // This doesn't have an upstream PR. // The auto types causes two instances of eslint-config-react-app, // one that has access to @types/eslint and one that doesn't. // ESLint doesn't allow the same plugin to show up multiple times so it throws. // As a temporary workaround until create-react-app fixes their ESLint // setup we make eslint a peer dependency /w fallback. // TODO: Lock the range when create-react-app fixes their ESLint setup [`react-scripts@*`, { peerDependencies: { [`eslint`]: `*` } }], // https://github.com/focus-trap/focus-trap-react/pull/691 [`focus-trap-react@^8.0.0`, { dependencies: { tabbable: `^5.3.2` } }], // https://github.com/bokuweb/react-rnd/pull/864 [`react-rnd@<10.3.7`, { peerDependencies: { react: `>=16.3.0`, "react-dom": `>=16.3.0` } }], // https://github.com/jdesboeufs/connect-mongo/pull/458 // https://github.com/jdesboeufs/connect-mongo/commit/f462a2598d1dea0722a89e1f101937d427462458 [`connect-mongo@<5.0.0`, { peerDependencies: { "express-session": `^1.17.1` } }], // https://github.com/intlify/vue-i18n-next/commit/ed932b9e575807dc27c30573b280ad8ae48e98c9 [`vue-i18n@<9`, { peerDependencies: { vue: `^2` } }], // https://github.com/vuejs/router/commit/c2305083a8fcb42d1bb1f3f0d92f09930124b530 [`vue-router@<4`, { peerDependencies: { vue: `^2` } }], // https://github.com/unifiedjs/unified/pull/146 [`unified@<10`, { dependencies: { "@types/unist": `^2.0.0` } }], // https://github.com/ntkme/react-github-btn/pull/23 [`react-github-btn@<=1.3.0`, { peerDependencies: { react: `>=16.3.0` } }], // There are two candidates upstream, clean this up when either is merged. // - https://github.com/facebook/create-react-app/pull/11526 // - https://github.com/facebook/create-react-app/pull/11716 [`react-dev-utils@*`, { peerDependencies: { typescript: `>=2.7`, webpack: `>=4` }, peerDependenciesMeta: { typescript: optionalPeerDep } }], // https://github.com/asyncapi/asyncapi-react/pull/614 [`@asyncapi/react-component@<=1.0.0-next.39`, { peerDependencies: { react: `>=16.8.0`, "react-dom": `>=16.8.0` } }], // https://github.com/xojs/xo/pull/678 [`xo@*`, { peerDependencies: { webpack: `>=1.11.0` }, peerDependenciesMeta: { webpack: optionalPeerDep } }], // https://github.com/gatsbyjs/gatsby/pull/36230 [`babel-plugin-remove-graphql-queries@<=4.20.0-next.0`, { dependencies: { "@babel/types": `^7.15.4` } }], // https://github.com/gatsbyjs/gatsby/pull/36230 [`gatsby-plugin-page-creator@<=4.20.0-next.1`, { dependencies: { "fs-extra": `^10.1.0` } }], // https://github.com/gatsbyjs/gatsby/pull/36230 [`gatsby-plugin-utils@<=3.14.0-next.1`, { dependencies: { fastq: `^1.13.0` }, peerDependencies: { graphql: `^15.0.0` } }], // https://github.com/gatsbyjs/gatsby/pull/33724 [`gatsby-plugin-mdx@<3.1.0-next.1`, { dependencies: { mkdirp: `^1.0.4` } }], // https://github.com/gatsbyjs/gatsby/pull/33170 [`gatsby-plugin-mdx@^2`, { peerDependencies: { gatsby: `^3.0.0-next` } }], // https://github.com/thecodrr/fdir/pull/76 // https://github.com/thecodrr/fdir/pull/80 [`fdir@<=5.2.0`, { peerDependencies: { picomatch: `2.x` }, peerDependenciesMeta: { picomatch: optionalPeerDep } }], // https://github.com/leonardfactory/babel-plugin-transform-typescript-metadata/pull/61 [`babel-plugin-transform-typescript-metadata@<=0.3.2`, { peerDependencies: { "@babel/core": `^7`, "@babel/traverse": `^7` }, peerDependenciesMeta: { "@babel/traverse": optionalPeerDep } }], // https://github.com/graphql-compose/graphql-compose/pull/398 [`graphql-compose@>=9.0.10`, { peerDependencies: { graphql: `^14.2.0 || ^15.0.0 || ^16.0.0` } }], // https://github.com/vuetifyjs/vuetify-loader/commit/6634db3218dcc706db1c5c9e90f338ce76e9fff3 [`vite-plugin-vuetify@<=1.0.2`, { peerDependencies: { vue: `^3.0.0` } }], // https://github.com/vuetifyjs/vuetify-loader/commit/6634db3218dcc706db1c5c9e90f338ce76e9fff3 [`webpack-plugin-vuetify@<=2.0.1`, { peerDependencies: { vue: `^3.2.6` } }], // https://github.com/pzmosquito/eslint-import-resolver-vite/pull/22 // https://github.com/pzmosquito/eslint-import-resolver-vite/commit/97b8111b03d3f8c66506732ac965e906568e8dc1#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519 [`eslint-import-resolver-vite@<2.0.1`, { dependencies: { debug: `^4.3.4`, resolve: `^1.22.8` } }] ]; } }); // ../hooks/read-package-hook/lib/createOptionalDependenciesRemover.js var require_createOptionalDependenciesRemover = __commonJS({ "../hooks/read-package-hook/lib/createOptionalDependenciesRemover.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createOptionalDependenciesRemover = createOptionalDependenciesRemover; var matcher_1 = require_lib19(); function createOptionalDependenciesRemover(toBeRemoved) { if (!toBeRemoved.length) return (manifest) => manifest; const shouldBeRemoved = (0, matcher_1.createMatcher)(toBeRemoved); return (manifest) => removeOptionalDependencies(manifest, shouldBeRemoved); } function removeOptionalDependencies(manifest, shouldBeRemoved) { for (const optionalDependency in manifest.optionalDependencies) { if (shouldBeRemoved(optionalDependency)) { delete manifest.optionalDependencies[optionalDependency]; delete manifest.dependencies?.[optionalDependency]; } } return manifest; } } }); // ../hooks/read-package-hook/lib/createPackageExtender.js var require_createPackageExtender = __commonJS({ "../hooks/read-package-hook/lib/createPackageExtender.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPackageExtender = createPackageExtender; var parse_wanted_dependency_1 = require_lib100(); var semver_12 = __importDefault2(require_semver2()); function createPackageExtender(packageExtensions) { const extensionsByPkgName = /* @__PURE__ */ new Map(); for (const selector in packageExtensions) { const packageExtension = packageExtensions[selector]; const { alias, bareSpecifier } = (0, parse_wanted_dependency_1.parseWantedDependency)(selector); if (!extensionsByPkgName.has(alias)) { extensionsByPkgName.set(alias, []); } extensionsByPkgName.get(alias).push({ packageExtension, range: bareSpecifier }); } return extendPkgHook.bind(null, extensionsByPkgName); } function extendPkgHook(extensionsByPkgName, manifest) { const extensions = extensionsByPkgName.get(manifest.name); if (extensions == null) return manifest; extendPkg(manifest, extensions); return manifest; } function extendPkg(manifest, extensions) { for (const { range, packageExtension } of extensions) { if (range != null && !semver_12.default.satisfies(manifest.version, range)) continue; for (const field of ["dependencies", "optionalDependencies", "peerDependencies", "peerDependenciesMeta"]) { if (!packageExtension[field]) continue; manifest[field] = { ...packageExtension[field], ...manifest[field] }; } } } } }); // ../hooks/read-package-hook/lib/isIntersectingRange.js var require_isIntersectingRange = __commonJS({ "../hooks/read-package-hook/lib/isIntersectingRange.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.isIntersectingRange = isIntersectingRange; var semver_12 = __importDefault2(require_semver2()); function isIntersectingRange(range1, range2) { return !range1 || range2 === range1 || semver_12.default.validRange(range2) != null && semver_12.default.validRange(range1) != null && semver_12.default.intersects(range2, range1); } } }); // ../hooks/read-package-hook/lib/createVersionsOverrider.js var require_createVersionsOverrider = __commonJS({ "../hooks/read-package-hook/lib/createVersionsOverrider.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createVersionsOverrider = createVersionsOverrider; var path_1 = __importDefault2(require("path")); var semver_12 = __importDefault2(require_semver2()); var partition_1 = __importDefault2(require_partition4()); var semver_peer_range_1 = require_lib166(); var normalize_path_1 = __importDefault2(require_normalize_path()); var isIntersectingRange_js_1 = require_isIntersectingRange(); function createVersionsOverrider(overrides, rootDir) { const [versionOverrides, genericVersionOverrides] = (0, partition_1.default)(({ parentPkg }) => parentPkg != null, overrides.map((override) => ({ ...override, localTarget: createLocalTarget(override, rootDir) }))); return ((manifest, dir) => { const versionOverridesWithParent = versionOverrides.filter(({ parentPkg }) => { return parentPkg.name === manifest.name && (!parentPkg.bareSpecifier || semver_12.default.satisfies(manifest.version, parentPkg.bareSpecifier)); }); overrideDepsOfPkg({ manifest, dir }, versionOverridesWithParent, genericVersionOverrides); return manifest; }); } function createLocalTarget(override, rootDir) { let protocol; if (override.newBareSpecifier.startsWith("file:")) { protocol = "file:"; } else if (override.newBareSpecifier.startsWith("link:")) { protocol = "link:"; } else { return void 0; } const pkgPath = override.newBareSpecifier.substring(protocol.length); const specifiedViaRelativePath = !path_1.default.isAbsolute(pkgPath); const absolutePath = specifiedViaRelativePath ? path_1.default.join(rootDir, pkgPath) : pkgPath; return { absolutePath, specifiedViaRelativePath, protocol }; } function overrideDepsOfPkg({ manifest, dir }, versionOverrides, genericVersionOverrides) { const { dependencies, optionalDependencies, devDependencies, peerDependencies } = manifest; const _overrideDeps = overrideDeps.bind(null, { versionOverrides, genericVersionOverrides, dir }); for (const deps of [dependencies, optionalDependencies, devDependencies]) { if (deps) { _overrideDeps(deps, void 0); } } if (peerDependencies) { if (!manifest.dependencies) manifest.dependencies = {}; _overrideDeps(manifest.dependencies, peerDependencies); } } function overrideDeps({ versionOverrides, genericVersionOverrides, dir }, deps, peerDeps) { for (const [name, bareSpecifier] of Object.entries(peerDeps ?? deps)) { const versionOverride = pickMostSpecificVersionOverride(versionOverrides.filter(({ targetPkg }) => targetPkg.name === name && (0, isIntersectingRange_js_1.isIntersectingRange)(targetPkg.bareSpecifier, bareSpecifier))) ?? pickMostSpecificVersionOverride(genericVersionOverrides.filter(({ targetPkg }) => targetPkg.name === name && (0, isIntersectingRange_js_1.isIntersectingRange)(targetPkg.bareSpecifier, bareSpecifier))); if (!versionOverride) continue; if (versionOverride.newBareSpecifier === "-") { if (peerDeps) { delete peerDeps[versionOverride.targetPkg.name]; } else { delete deps[versionOverride.targetPkg.name]; } continue; } const newBareSpecifier = versionOverride.localTarget ? `${versionOverride.localTarget.protocol}${resolveLocalOverride(versionOverride.localTarget, dir)}` : versionOverride.newBareSpecifier; if (peerDeps == null || !(0, semver_peer_range_1.isValidPeerRange)(newBareSpecifier)) { deps[versionOverride.targetPkg.name] = newBareSpecifier; } else if ((0, semver_peer_range_1.isValidPeerRange)(newBareSpecifier)) { peerDeps[versionOverride.targetPkg.name] = newBareSpecifier; } } } function resolveLocalOverride({ specifiedViaRelativePath, absolutePath }, pkgDir) { return specifiedViaRelativePath && pkgDir ? (0, normalize_path_1.default)(path_1.default.relative(pkgDir, absolutePath)) : absolutePath; } function pickMostSpecificVersionOverride(versionOverrides) { return versionOverrides.sort((a, b) => (0, isIntersectingRange_js_1.isIntersectingRange)(b.targetPkg.bareSpecifier ?? "", a.targetPkg.bareSpecifier ?? "") ? -1 : 1)[0]; } } }); // ../hooks/read-package-hook/lib/createReadPackageHook.js var require_createReadPackageHook = __commonJS({ "../hooks/read-package-hook/lib/createReadPackageHook.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createReadPackageHook = createReadPackageHook; var extensions_1 = require_lib169(); var isEmpty_1 = __importDefault2(require_isEmpty2()); var pipeWith_1 = __importDefault2(require_pipeWith()); var createOptionalDependenciesRemover_js_1 = require_createOptionalDependenciesRemover(); var createPackageExtender_js_1 = require_createPackageExtender(); var createVersionsOverrider_js_1 = require_createVersionsOverrider(); function createReadPackageHook({ ignoreCompatibilityDb, lockfileDir, overrides, ignoredOptionalDependencies, packageExtensions, readPackageHook }) { const hooks = []; if (!ignoreCompatibilityDb) { hooks.push((0, createPackageExtender_js_1.createPackageExtender)(Object.fromEntries(extensions_1.packageExtensions))); } if (!(0, isEmpty_1.default)(packageExtensions ?? {})) { hooks.push((0, createPackageExtender_js_1.createPackageExtender)(packageExtensions)); } if (Array.isArray(readPackageHook)) { hooks.push(...readPackageHook); } else if (readPackageHook) { hooks.push(readPackageHook); } if (!(0, isEmpty_1.default)(overrides ?? {})) { hooks.push((0, createVersionsOverrider_js_1.createVersionsOverrider)(overrides, lockfileDir)); } if (ignoredOptionalDependencies && !(0, isEmpty_1.default)(ignoredOptionalDependencies)) { hooks.push((0, createOptionalDependenciesRemover_js_1.createOptionalDependenciesRemover)(ignoredOptionalDependencies)); } if (hooks.length === 0) { return void 0; } const readPackageAndExtend = hooks.length === 1 ? hooks[0] : ((pkg, dir) => (0, pipeWith_1.default)(async (f, res) => f(await res, dir), hooks)(pkg, dir)); return readPackageAndExtend; } } }); // ../hooks/read-package-hook/lib/index.js var require_lib170 = __commonJS({ "../hooks/read-package-hook/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createReadPackageHook = void 0; var createReadPackageHook_js_1 = require_createReadPackageHook(); Object.defineProperty(exports2, "createReadPackageHook", { enumerable: true, get: function() { return createReadPackageHook_js_1.createReadPackageHook; } }); } }); // ../pkg-manager/core/lib/pnpmPkgJson.js var require_pnpmPkgJson = __commonJS({ "../pkg-manager/core/lib/pnpmPkgJson.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pnpmPkgJson = void 0; var path_1 = __importDefault2(require("path")); var load_json_file_1 = require_load_json_file(); var pnpmPkgJson; try { exports2.pnpmPkgJson = pnpmPkgJson = (0, load_json_file_1.sync)(path_1.default.resolve(__dirname, "../package.json")); } catch (err) { exports2.pnpmPkgJson = pnpmPkgJson = { name: "pnpm", version: "0.0.0" }; } } }); // ../pkg-manager/core/lib/install/extendInstallOptions.js var require_extendInstallOptions = __commonJS({ "../pkg-manager/core/lib/install/extendInstallOptions.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.extendOptions = extendOptions; var path_1 = __importDefault2(require("path")); var constants_1 = require_lib5(); var error_1 = require_lib6(); var hooks_read_package_hook_1 = require_lib170(); var normalize_registries_1 = require_lib122(); var parse_overrides_1 = require_lib149(); var pnpmPkgJson_js_1 = require_pnpmPkgJson(); var defaults = (opts) => { const packageManager = opts.packageManager ?? { name: pnpmPkgJson_js_1.pnpmPkgJson.name, version: pnpmPkgJson_js_1.pnpmPkgJson.version }; return { allowedDeprecatedVersions: {}, allowUnusedPatches: false, ignorePatchFailures: void 0, autoInstallPeers: true, autoInstallPeersFromHighestMatch: false, catalogs: {}, childConcurrency: 5, confirmModulesPurge: !opts.force, depth: 0, dedupeInjectedDeps: true, enableGlobalVirtualStore: false, enablePnp: false, engineStrict: false, force: false, forceFullResolution: false, frozenLockfile: false, hoistPattern: void 0, publicHoistPattern: void 0, hooks: {}, ignoreCurrentSpecifiers: false, ignoreDepScripts: false, ignoreScripts: false, include: { dependencies: true, devDependencies: true, optionalDependencies: true }, includeDirect: { dependencies: true, devDependencies: true, optionalDependencies: true }, lockfileDir: opts.lockfileDir ?? opts.dir ?? process.cwd(), lockfileOnly: false, nodeVersion: opts.nodeVersion, nodeLinker: "isolated", overrides: {}, ownLifecycleHooksStdio: "inherit", ignoreCompatibilityDb: false, ignorePackageManifest: false, packageExtensions: {}, ignoredOptionalDependencies: [], packageManager, preferFrozenLockfile: true, preferWorkspacePackages: false, preserveWorkspaceProtocol: true, pruneLockfileImporters: false, pruneStore: false, rawConfig: {}, registries: normalize_registries_1.DEFAULT_REGISTRIES, resolutionMode: "lowest-direct", saveWorkspaceProtocol: "rolling", lockfileIncludeTarballUrl: false, scriptsPrependNodePath: false, shamefullyHoist: false, shellEmulator: false, sideEffectsCacheRead: false, sideEffectsCacheWrite: false, symlink: true, storeController: opts.storeController, storeDir: opts.storeDir, strictPeerDependencies: false, tag: "latest", unsafePerm: process.platform === "win32" || process.platform === "cygwin" || !process.setgid || process.getuid?.() !== 0, catalogMode: "manual", cleanupUnusedCatalogs: false, useLockfile: true, saveLockfile: true, useGitBranchLockfile: false, mergeGitBranchLockfiles: false, userAgent: `${packageManager.name}/${packageManager.version} npm/? node/${process.version} ${process.platform} ${process.arch}`, verifyStoreIntegrity: true, enableModulesDir: true, modulesCacheMaxAge: 7 * 24 * 60, resolveSymlinksInInjectedDirs: false, dedupeDirectDeps: true, dedupePeerDependents: true, resolvePeersFromWorkspaceRoot: true, extendNodePath: true, ignoreWorkspaceCycles: false, disallowWorkspaceCycles: false, excludeLinksFromLockfile: false, virtualStoreDirMaxLength: 120, peersSuffixMaxLength: 1e3, blockExoticSubdeps: false }; }; function extendOptions(opts) { if (opts) { for (const key in opts) { if (opts[key] === void 0) { delete opts[key]; } } } if (opts.neverBuiltDependencies == null && opts.onlyBuiltDependencies == null && opts.onlyBuiltDependenciesFile == null) { opts.onlyBuiltDependencies = []; } if (opts.onlyBuiltDependencies && opts.neverBuiltDependencies) { throw new error_1.PnpmError("CONFIG_CONFLICT_BUILT_DEPENDENCIES", "Cannot have both neverBuiltDependencies and onlyBuiltDependencies"); } const defaultOpts = defaults(opts); const extendedOpts = { ...defaultOpts, ...opts, storeDir: defaultOpts.storeDir, parsedOverrides: (0, parse_overrides_1.parseOverrides)(opts.overrides ?? {}, opts.catalogs ?? {}) }; extendedOpts.readPackageHook = (0, hooks_read_package_hook_1.createReadPackageHook)({ ignoreCompatibilityDb: extendedOpts.ignoreCompatibilityDb, readPackageHook: extendedOpts.hooks?.readPackage, overrides: extendedOpts.parsedOverrides, lockfileDir: extendedOpts.lockfileDir, packageExtensions: extendedOpts.packageExtensions, ignoredOptionalDependencies: extendedOpts.ignoredOptionalDependencies }); if (extendedOpts.lockfileOnly) { extendedOpts.ignoreScripts = true; if (!extendedOpts.useLockfile) { throw new error_1.PnpmError("CONFIG_CONFLICT_LOCKFILE_ONLY_WITH_NO_LOCKFILE", `Cannot generate a ${constants_1.WANTED_LOCKFILE} because lockfile is set to false`); } } if (extendedOpts.userAgent.startsWith("npm/")) { extendedOpts.userAgent = `${extendedOpts.packageManager.name}/${extendedOpts.packageManager.version} ${extendedOpts.userAgent}`; } extendedOpts.registries = (0, normalize_registries_1.normalizeRegistries)(extendedOpts.registries); extendedOpts.rawConfig["registry"] = extendedOpts.registries.default; if (extendedOpts.enableGlobalVirtualStore && extendedOpts.virtualStoreDir == null) { extendedOpts.virtualStoreDir = path_1.default.join(extendedOpts.storeDir, "links"); } return extendedOpts; } } }); // ../pkg-manager/core/lib/install/link.js var require_link3 = __commonJS({ "../pkg-manager/core/lib/install/link.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.linkPackages = linkPackages; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var calc_dep_state_1 = require_lib118(); var core_loggers_1 = require_lib8(); var lockfile_filtering_1 = require_lib154(); var pkg_manager_direct_dep_linker_1 = require_lib163(); var hoist_1 = require_lib155(); var logger_1 = require_lib(); var modules_cleaner_1 = require_lib158(); var symlink_dependency_1 = require_lib159(); var worker_1 = require_lib73(); var p_limit_12 = __importDefault2(require_p_limit()); var path_exists_1 = __importDefault2(require_path_exists2()); var equals_1 = __importDefault2(require_equals2()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var difference_1 = __importDefault2(require_difference()); var pick_1 = __importDefault2(require_pick()); var pickBy_1 = __importDefault2(require_pickBy()); var props_1 = __importDefault2(require_props()); var brokenModulesLogger = (0, logger_1.logger)("_broken_node_modules"); async function linkPackages(projects, depGraph, opts) { let depNodes = Object.values(depGraph).filter(({ depPath, id }) => { if (opts.wantedLockfile.packages?.[depPath] != null && !opts.wantedLockfile.packages[depPath].optional) { opts.skipped.delete(depPath); return true; } if (opts.wantedToBeSkippedPackageIds.has(id)) { opts.skipped.add(depPath); return false; } opts.skipped.delete(depPath); return true; }); if (!opts.include.dependencies) { depNodes = depNodes.filter(({ dev, optional }) => dev || optional); } if (!opts.include.devDependencies) { depNodes = depNodes.filter(({ optional, prod }) => prod || optional); } if (!opts.include.optionalDependencies) { depNodes = depNodes.filter(({ optional }) => !optional); } depGraph = Object.fromEntries(depNodes.map((depNode) => [depNode.depPath, depNode])); const removedDepPaths = await (0, modules_cleaner_1.prune)(projects, { currentLockfile: opts.currentLockfile, dedupeDirectDeps: opts.dedupeDirectDeps, hoistedDependencies: opts.hoistedDependencies, hoistedModulesDir: opts.hoistPattern != null ? opts.hoistedModulesDir : void 0, include: opts.include, lockfileDir: opts.lockfileDir, pruneStore: opts.pruneStore, pruneVirtualStore: opts.pruneVirtualStore, publicHoistedModulesDir: opts.publicHoistPattern != null ? opts.rootModulesDir : void 0, skipped: opts.skipped, storeController: opts.storeController, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, wantedLockfile: opts.wantedLockfile }); core_loggers_1.stageLogger.debug({ prefix: opts.lockfileDir, stage: "importing_started" }); const projectIds = projects.map(({ id }) => id); const filterOpts = { include: opts.include, registries: opts.registries, skipped: opts.skipped }; const newCurrentLockfile = (0, lockfile_filtering_1.filterLockfileByImporters)(opts.wantedLockfile, projectIds, { ...filterOpts, failOnMissingDependencies: true, skipped: /* @__PURE__ */ new Set() }); const { newDepPaths, added } = await linkNewPackages((0, lockfile_filtering_1.filterLockfileByImporters)(opts.currentLockfile, projectIds, { ...filterOpts, failOnMissingDependencies: false }), newCurrentLockfile, depGraph, { allowBuild: opts.allowBuild, disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps, force: opts.force, depsStateCache: opts.depsStateCache, ignoreScripts: opts.ignoreScripts, lockfileDir: opts.lockfileDir, optional: opts.include.optionalDependencies, sideEffectsCacheRead: opts.sideEffectsCacheRead, symlink: opts.symlink, skipped: opts.skipped, storeController: opts.storeController, virtualStoreDir: opts.virtualStoreDir }); core_loggers_1.stageLogger.debug({ prefix: opts.lockfileDir, stage: "importing_done" }); let currentLockfile; const allImportersIncluded = (0, equals_1.default)(projectIds.sort(), Object.keys(opts.wantedLockfile.importers).sort()); if (opts.makePartialCurrentLockfile || !allImportersIncluded) { const packages = opts.currentLockfile.packages ?? {}; if (opts.wantedLockfile.packages != null) { for (const depPath in opts.wantedLockfile.packages) { if (depGraph[depPath]) { packages[depPath] = opts.wantedLockfile.packages[depPath]; } } } const projects2 = { ...opts.currentLockfile.importers, ...(0, pick_1.default)(projectIds, opts.wantedLockfile.importers) }; currentLockfile = (0, lockfile_filtering_1.filterLockfileByImporters)({ ...opts.wantedLockfile, importers: projects2, packages }, Object.keys(projects2), { ...filterOpts, failOnMissingDependencies: false, skipped: /* @__PURE__ */ new Set() }); } else if (opts.include.dependencies && opts.include.devDependencies && opts.include.optionalDependencies && opts.skipped.size === 0) { currentLockfile = opts.wantedLockfile; } else { currentLockfile = newCurrentLockfile; } let newHoistedDependencies; if (opts.hoistPattern == null && opts.publicHoistPattern == null) { newHoistedDependencies = {}; } else if (newDepPaths.length > 0 || removedDepPaths.size > 0) { newHoistedDependencies = { ...opts.hoistedDependencies, ...await (0, hoist_1.hoist)({ extraNodePath: opts.extraNodePaths, graph: depGraph, directDepsByImporterId: { ...opts.dependenciesByProjectId, ".": new Map(Array.from(opts.dependenciesByProjectId["."]?.entries() ?? []).filter(([alias]) => { return newCurrentLockfile.importers["."].specifiers[alias]; })) }, importerIds: projectIds, privateHoistedModulesDir: opts.hoistedModulesDir, privateHoistPattern: opts.hoistPattern ?? [], publicHoistedModulesDir: opts.rootModulesDir, publicHoistPattern: opts.publicHoistPattern ?? [], virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, hoistedWorkspacePackages: opts.hoistWorkspacePackages ? projects.reduce((hoistedWorkspacePackages, project) => { if (project.manifest.name && project.id !== ".") { hoistedWorkspacePackages[project.id] = { dir: project.rootDir, name: project.manifest.name }; } return hoistedWorkspacePackages; }, {}) : void 0, skipped: opts.skipped }) }; } else { newHoistedDependencies = opts.hoistedDependencies; } let linkedToRoot = 0; if (opts.symlink) { const projectsToLink = Object.fromEntries(await Promise.all(projects.map(async ({ id, manifest, modulesDir, rootDir }) => { const deps = opts.dependenciesByProjectId[id]; const importerFromLockfile = newCurrentLockfile.importers[id]; return [id, { dir: rootDir, modulesDir, dependencies: await Promise.all([ ...Array.from(deps.entries()).filter(([rootAlias]) => importerFromLockfile.specifiers[rootAlias]).map(([rootAlias, depPath]) => ({ rootAlias, depGraphNode: depGraph[depPath] })).filter(({ depGraphNode }) => depGraphNode).map(async ({ rootAlias, depGraphNode }) => { const isDev = Boolean(manifest.devDependencies?.[depGraphNode.name]); const isOptional = Boolean(manifest.optionalDependencies?.[depGraphNode.name]); return { alias: rootAlias, name: depGraphNode.name, version: depGraphNode.version, dir: depGraphNode.dir, id: depGraphNode.id, dependencyType: isDev && "dev" || isOptional && "optional" || "prod", latest: opts.outdatedDependencies[depGraphNode.id], isExternalLink: false }; }), ...opts.linkedDependenciesByProjectId[id].map(async (linkedDependency) => { const dir = resolvePath(rootDir, linkedDependency.resolution.directory); return { alias: linkedDependency.alias, name: linkedDependency.name, version: linkedDependency.version, dir, id: linkedDependency.resolution.directory, dependencyType: linkedDependency.dev && "dev" || linkedDependency.optional && "optional" || "prod", isExternalLink: true }; }) ]) }]; }))); linkedToRoot = await (0, pkg_manager_direct_dep_linker_1.linkDirectDeps)(projectsToLink, { dedupe: opts.dedupeDirectDeps }); } return { currentLockfile, newDepPaths, newHoistedDependencies, removedDepPaths, stats: { added, removed: removedDepPaths.size, linkedToRoot } }; } var isAbsolutePath = /^\/|^[A-Z]:/i; function resolvePath(where, spec) { if (isAbsolutePath.test(spec)) return spec; return path_1.default.resolve(where, spec); } async function linkNewPackages(currentLockfile, wantedLockfile, depGraph, opts) { const wantedRelDepPaths = (0, difference_1.default)(Object.keys(wantedLockfile.packages ?? {}), Array.from(opts.skipped)); let newDepPathsSet; if (opts.force) { newDepPathsSet = new Set(wantedRelDepPaths.filter((depPath) => depGraph[depPath])); } else { newDepPathsSet = await selectNewFromWantedDeps(wantedRelDepPaths, currentLockfile, depGraph); } const added = newDepPathsSet.size; core_loggers_1.statsLogger.debug({ added, prefix: opts.lockfileDir }); const existingWithUpdatedDeps = []; if (!opts.force && currentLockfile.packages != null && wantedLockfile.packages != null) { for (const depPath of wantedRelDepPaths) { if (currentLockfile.packages[depPath] && (!(0, equals_1.default)(currentLockfile.packages[depPath].dependencies, wantedLockfile.packages[depPath].dependencies) || !(0, isEmpty_1.default)(currentLockfile.packages[depPath].optionalDependencies ?? {}) || !(0, isEmpty_1.default)(wantedLockfile.packages[depPath].optionalDependencies ?? {}))) { if (depGraph[depPath] && !newDepPathsSet.has(depPath)) { existingWithUpdatedDeps.push(depGraph[depPath]); } } } } if (!newDepPathsSet.size && existingWithUpdatedDeps.length === 0) return { newDepPaths: [], added }; const newDepPaths = Array.from(newDepPathsSet); const newPkgs = (0, props_1.default)(newDepPaths, depGraph); await Promise.all(newPkgs.map(async (depNode) => fs_1.promises.mkdir(depNode.modules, { recursive: true }))); await Promise.all([ !opts.symlink ? Promise.resolve() : linkAllModules([...newPkgs, ...existingWithUpdatedDeps], depGraph, { lockfileDir: opts.lockfileDir, optional: opts.optional }), linkAllPkgs(opts.storeController, newPkgs, { allowBuild: opts.allowBuild, depGraph, depsStateCache: opts.depsStateCache, disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps, force: opts.force, ignoreScripts: opts.ignoreScripts, lockfileDir: opts.lockfileDir, sideEffectsCacheRead: opts.sideEffectsCacheRead }) ]); return { newDepPaths, added }; } async function selectNewFromWantedDeps(wantedRelDepPaths, currentLockfile, depGraph) { const newDeps = /* @__PURE__ */ new Set(); const prevDeps = currentLockfile.packages ?? {}; await Promise.all(wantedRelDepPaths.map(async (depPath) => { const depNode = depGraph[depPath]; if (!depNode) return; const prevDep = prevDeps[depPath]; if (prevDep && // Local file should always be treated as a new dependency // https://github.com/pnpm/pnpm/issues/5381 depNode.resolution.type !== "directory" && depNode.resolution.integrity === prevDep.resolution.integrity) { if (await (0, path_exists_1.default)(depNode.dir)) { return; } brokenModulesLogger.debug({ missing: depNode.dir }); } newDeps.add(depPath); })); return newDeps; } var limitLinking = (0, p_limit_12.default)(16); async function linkAllPkgs(storeController, depNodes, opts) { await Promise.all(depNodes.map(async (depNode) => { const { files } = await depNode.fetching(); depNode.requiresBuild = files.requiresBuild; let sideEffectsCacheKey; if (opts.sideEffectsCacheRead && files.sideEffects && !(0, isEmpty_1.default)(files.sideEffects)) { if (opts?.allowBuild?.(depNode.name, depNode.version) !== false) { sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(opts.depGraph, opts.depsStateCache, depNode.depPath, { includeDepGraphHash: !opts.ignoreScripts && depNode.requiresBuild, // true when is built patchFileHash: depNode.patch?.file.hash }); } } const { importMethod, isBuilt } = await storeController.importPackage(depNode.dir, { disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps, filesResponse: files, force: opts.force, sideEffectsCacheKey, requiresBuild: depNode.patch != null || depNode.requiresBuild }); if (importMethod) { core_loggers_1.progressLogger.debug({ method: importMethod, requester: opts.lockfileDir, status: "imported", to: depNode.dir }); } depNode.isBuilt = isBuilt; const selfDep = depNode.children[depNode.name]; if (selfDep) { const pkg = opts.depGraph[selfDep]; if (!pkg || !pkg.installable && pkg.optional) return; const targetModulesDir = path_1.default.join(depNode.modules, depNode.name, "node_modules"); await limitLinking(async () => (0, symlink_dependency_1.symlinkDependency)(pkg.dir, targetModulesDir, depNode.name)); } })); } async function linkAllModules(depNodes, depGraph, opts) { await (0, worker_1.symlinkAllModules)({ deps: depNodes.map((depNode) => { const children = opts.optional ? depNode.children : (0, pickBy_1.default)((_, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children); const childrenPaths = {}; for (const [alias, childDepPath] of Object.entries(children ?? {})) { if (childDepPath.startsWith("link:")) { childrenPaths[alias] = path_1.default.resolve(opts.lockfileDir, childDepPath.slice(5)); } else { const pkg = depGraph[childDepPath]; if (!pkg || !pkg.installable && pkg.optional || alias === depNode.name) continue; childrenPaths[alias] = pkg.dir; } } return { children: childrenPaths, modules: depNode.modules, name: depNode.name }; }) }); } } }); // ../pkg-manager/core/lib/install/reportPeerDependencyIssues.js var require_reportPeerDependencyIssues2 = __commonJS({ "../pkg-manager/core/lib/install/reportPeerDependencyIssues.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.PeerDependencyIssuesError = void 0; exports2.reportPeerDependencyIssues = reportPeerDependencyIssues; exports2.filterPeerDependencyIssues = filterPeerDependencyIssues; var error_1 = require_lib6(); var matcher_1 = require_lib19(); var core_loggers_1 = require_lib8(); var semver_12 = __importDefault2(require_semver2()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var parse_overrides_1 = require_lib149(); function reportPeerDependencyIssues(peerDependencyIssuesByProjects, opts) { const newPeerDependencyIssuesByProjects = filterPeerDependencyIssues(peerDependencyIssuesByProjects, opts.rules); if (Object.values(newPeerDependencyIssuesByProjects).every((peerIssuesOfProject) => (0, isEmpty_1.default)(peerIssuesOfProject.bad) && ((0, isEmpty_1.default)(peerIssuesOfProject.missing) || peerIssuesOfProject.conflicts.length === 0 && Object.keys(peerIssuesOfProject.intersections).length === 0))) return; if (opts.strictPeerDependencies) { throw new PeerDependencyIssuesError(newPeerDependencyIssuesByProjects); } core_loggers_1.peerDependencyIssuesLogger.debug({ issuesByProjects: newPeerDependencyIssuesByProjects }); } function filterPeerDependencyIssues(peerDependencyIssuesByProjects, rules) { if (!rules) return peerDependencyIssuesByProjects; const ignoreMissingPatterns = [...new Set(rules?.ignoreMissing ?? [])]; const ignoreMissingMatcher = (0, matcher_1.createMatcher)(ignoreMissingPatterns); const allowAnyPatterns = [...new Set(rules?.allowAny ?? [])]; const allowAnyMatcher = (0, matcher_1.createMatcher)(allowAnyPatterns); const { allowedVersionsMatchAll, allowedVersionsByParentPkgName } = parseAllowedVersions(rules?.allowedVersions ?? {}); const newPeerDependencyIssuesByProjects = {}; for (const [projectId, { bad, missing, conflicts, intersections }] of Object.entries(peerDependencyIssuesByProjects)) { newPeerDependencyIssuesByProjects[projectId] = { bad: {}, missing: {}, conflicts, intersections }; for (const [peerName, issues] of Object.entries(missing)) { if (ignoreMissingMatcher(peerName) || issues.every(({ optional }) => optional)) { continue; } newPeerDependencyIssuesByProjects[projectId].missing[peerName] = issues; } for (const [peerName, issues] of Object.entries(bad)) { if (allowAnyMatcher(peerName)) continue; const filteredIssues = []; for (const issue of issues) { if (allowedVersionsMatchAll[peerName]?.some((range) => semver_12.default.satisfies(issue.foundVersion, range))) continue; const currentParentPkg = issue.parents.at(-1); if (currentParentPkg && allowedVersionsByParentPkgName[peerName]?.[currentParentPkg.name]) { const allowedVersionsByParent = {}; for (const { targetPkg, parentPkg, ranges } of allowedVersionsByParentPkgName[peerName][currentParentPkg.name]) { if (!parentPkg.bareSpecifier || currentParentPkg.version && (isSubRange(parentPkg.bareSpecifier, currentParentPkg.version) || semver_12.default.satisfies(currentParentPkg.version, parentPkg.bareSpecifier))) { allowedVersionsByParent[targetPkg.name] = ranges; } } if (allowedVersionsByParent[peerName]?.some((range) => semver_12.default.satisfies(issue.foundVersion, range))) continue; } filteredIssues.push(issue); } if (filteredIssues.length) { newPeerDependencyIssuesByProjects[projectId].bad[peerName] = filteredIssues; } } } return newPeerDependencyIssuesByProjects; } function isSubRange(superRange, subRange) { return !superRange || subRange === superRange || semver_12.default.validRange(subRange) != null && semver_12.default.validRange(superRange) != null && semver_12.default.subset(subRange, superRange); } function tryParseAllowedVersions(allowedVersions) { try { return (0, parse_overrides_1.parseOverrides)(allowedVersions ?? {}); } catch (err) { throw new error_1.PnpmError("INVALID_ALLOWED_VERSION_SELECTOR", `${err.message} in pnpm.peerDependencyRules.allowedVersions`); } } function parseAllowedVersions(allowedVersions) { const overrides = tryParseAllowedVersions(allowedVersions); const allowedVersionsMatchAll = {}; const allowedVersionsByParentPkgName = {}; for (const { parentPkg, targetPkg, newBareSpecifier } of overrides) { const ranges = parseVersions(newBareSpecifier); if (!parentPkg) { allowedVersionsMatchAll[targetPkg.name] = ranges; continue; } if (!allowedVersionsByParentPkgName[targetPkg.name]) { allowedVersionsByParentPkgName[targetPkg.name] = {}; } if (!allowedVersionsByParentPkgName[targetPkg.name][parentPkg.name]) { allowedVersionsByParentPkgName[targetPkg.name][parentPkg.name] = []; } allowedVersionsByParentPkgName[targetPkg.name][parentPkg.name].push({ parentPkg, targetPkg, ranges }); } return { allowedVersionsMatchAll, allowedVersionsByParentPkgName }; } function parseVersions(versions) { return versions.split("||").map((v) => v.trim()); } var PeerDependencyIssuesError = class extends error_1.PnpmError { issuesByProjects; constructor(issues) { super("PEER_DEP_ISSUES", "Unmet peer dependencies"); this.issuesByProjects = issues; } }; exports2.PeerDependencyIssuesError = PeerDependencyIssuesError; } }); // ../pkg-manager/core/lib/install/checkCompatibility/BreakingChangeError.js var require_BreakingChangeError = __commonJS({ "../pkg-manager/core/lib/install/checkCompatibility/BreakingChangeError.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.BreakingChangeError = void 0; var error_1 = require_lib6(); var BreakingChangeError = class extends error_1.PnpmError { relatedIssue; relatedPR; additionalInformation; constructor(opts) { super(opts.code, opts.message); this.relatedIssue = opts.relatedIssue; this.relatedPR = opts.relatedPR; this.additionalInformation = opts.additionalInformation; } }; exports2.BreakingChangeError = BreakingChangeError; } }); // ../pkg-manager/core/lib/install/checkCompatibility/ModulesBreakingChangeError.js var require_ModulesBreakingChangeError = __commonJS({ "../pkg-manager/core/lib/install/checkCompatibility/ModulesBreakingChangeError.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ModulesBreakingChangeError = void 0; var BreakingChangeError_js_1 = require_BreakingChangeError(); var ModulesBreakingChangeError = class extends BreakingChangeError_js_1.BreakingChangeError { modulesPath; constructor(opts) { super({ additionalInformation: opts.additionalInformation, code: "MODULES_BREAKING_CHANGE", message: `The node_modules structure at "${opts.modulesPath}" is not compatible with the current pnpm version. Run "pnpm install --force" to recreate node_modules.`, relatedIssue: opts.relatedIssue, relatedPR: opts.relatedPR }); this.modulesPath = opts.modulesPath; } }; exports2.ModulesBreakingChangeError = ModulesBreakingChangeError; } }); // ../pkg-manager/core/lib/install/checkCompatibility/UnexpectedStoreError.js var require_UnexpectedStoreError = __commonJS({ "../pkg-manager/core/lib/install/checkCompatibility/UnexpectedStoreError.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.UnexpectedStoreError = void 0; var error_1 = require_lib6(); var UnexpectedStoreError = class extends error_1.PnpmError { expectedStorePath; actualStorePath; modulesDir; constructor(opts) { super("UNEXPECTED_STORE", "Unexpected store location"); this.expectedStorePath = opts.expectedStorePath; this.actualStorePath = opts.actualStorePath; this.modulesDir = opts.modulesDir; } }; exports2.UnexpectedStoreError = UnexpectedStoreError; } }); // ../pkg-manager/core/lib/install/checkCompatibility/UnexpectedVirtualStoreDirError.js var require_UnexpectedVirtualStoreDirError = __commonJS({ "../pkg-manager/core/lib/install/checkCompatibility/UnexpectedVirtualStoreDirError.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.UnexpectedVirtualStoreDirError = void 0; var error_1 = require_lib6(); var UnexpectedVirtualStoreDirError = class extends error_1.PnpmError { expected; actual; modulesDir; constructor(opts) { super("UNEXPECTED_VIRTUAL_STORE", "Unexpected virtual store location"); this.expected = opts.expected; this.actual = opts.actual; this.modulesDir = opts.modulesDir; } }; exports2.UnexpectedVirtualStoreDirError = UnexpectedVirtualStoreDirError; } }); // ../pkg-manager/core/lib/install/checkCompatibility/index.js var require_checkCompatibility = __commonJS({ "../pkg-manager/core/lib/install/checkCompatibility/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.checkCompatibility = checkCompatibility; var path_1 = __importDefault2(require("path")); var constants_1 = require_lib5(); var ModulesBreakingChangeError_js_1 = require_ModulesBreakingChangeError(); var UnexpectedStoreError_js_1 = require_UnexpectedStoreError(); var UnexpectedVirtualStoreDirError_js_1 = require_UnexpectedVirtualStoreDirError(); function checkCompatibility(modules, opts) { if (!modules.layoutVersion || modules.layoutVersion !== constants_1.LAYOUT_VERSION) { throw new ModulesBreakingChangeError_js_1.ModulesBreakingChangeError({ modulesPath: opts.modulesDir }); } if (!modules.storeDir || path_1.default.relative(modules.storeDir, opts.storeDir) !== "" && path_1.default.relative(modules.storeDir, path_1.default.join(opts.storeDir, "../v3")) !== "") { throw new UnexpectedStoreError_js_1.UnexpectedStoreError({ actualStorePath: opts.storeDir, expectedStorePath: modules.storeDir, modulesDir: opts.modulesDir }); } if (modules.virtualStoreDir && path_1.default.relative(modules.virtualStoreDir, opts.virtualStoreDir) !== "") { throw new UnexpectedVirtualStoreDirError_js_1.UnexpectedVirtualStoreDirError({ actual: opts.virtualStoreDir, expected: modules.virtualStoreDir, modulesDir: opts.modulesDir }); } } } }); // ../pkg-manager/core/lib/install/validateModules.js var require_validateModules = __commonJS({ "../pkg-manager/core/lib/install/validateModules.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateModules = validateModules; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var error_1 = require_lib6(); var logger_1 = require_lib(); var types_1 = require_lib9(); var rimraf_1 = __importDefault2(require_rimraf()); var enquirer_1 = __importDefault2(require_enquirer()); var equals_1 = __importDefault2(require_equals2()); var index_js_1 = require_checkCompatibility(); async function validateModules(modules, projects, opts) { const rootProject = projects.find(({ id }) => id === "."); if (opts.virtualStoreDirMaxLength !== modules.virtualStoreDirMaxLength) { if (opts.forceNewModules && rootProject != null) { await purgeModulesDirsOfImporter(opts, rootProject); return { purged: true }; } throw new error_1.PnpmError("VIRTUAL_STORE_DIR_MAX_LENGTH_DIFF", 'This modules directory was created using a different virtual-store-dir-max-length value. Run "pnpm install" to recreate the modules directory.'); } if (opts.forcePublicHoistPattern && // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing !(0, equals_1.default)(modules.publicHoistPattern, opts.publicHoistPattern || void 0)) { if (opts.forceNewModules && rootProject != null) { await purgeModulesDirsOfImporter(opts, rootProject); return { purged: true }; } throw new error_1.PnpmError("PUBLIC_HOIST_PATTERN_DIFF", 'This modules directory was created using a different public-hoist-pattern value. Run "pnpm install" to recreate the modules directory.'); } const importersToPurge = []; if (opts.forceHoistPattern && rootProject != null) { try { if (!(0, equals_1.default)(opts.currentHoistPattern, opts.hoistPattern || void 0)) { throw new error_1.PnpmError("HOIST_PATTERN_DIFF", 'This modules directory was created using a different hoist-pattern value. Run "pnpm install" to recreate the modules directory.'); } } catch (err) { if (!opts.forceNewModules) throw err; importersToPurge.push(rootProject); } } for (const project of projects) { try { (0, index_js_1.checkCompatibility)(modules, { modulesDir: project.modulesDir, storeDir: opts.storeDir, virtualStoreDir: opts.virtualStoreDir }); if (opts.lockfileDir !== project.rootDir && opts.include != null && modules.included) { for (const depsField of types_1.DEPENDENCIES_FIELDS) { if (opts.include[depsField] !== modules.included[depsField]) { throw new error_1.PnpmError("INCLUDED_DEPS_CONFLICT", `modules directory (at "${opts.lockfileDir}") was installed with ${stringifyIncludedDeps(modules.included)}. Current install wants ${stringifyIncludedDeps(opts.include)}.`); } } } } catch (err) { if (!opts.forceNewModules) throw err; importersToPurge.push(project); } } if (importersToPurge.length > 0 && rootProject == null) { importersToPurge.push({ modulesDir: path_1.default.join(opts.lockfileDir, opts.modulesDir), rootDir: opts.lockfileDir }); } const purged = importersToPurge.length > 0; if (purged) { await purgeModulesDirsOfImporters(opts, importersToPurge); } return { purged }; } async function purgeModulesDirsOfImporter(opts, importer) { return purgeModulesDirsOfImporters(opts, [importer]); } async function purgeModulesDirsOfImporters(opts, importers) { if (opts.confirmModulesPurge ?? true) { if (!process.stdin.isTTY) { throw new error_1.PnpmError("ABORTED_REMOVE_MODULES_DIR_NO_TTY", "Aborted removal of modules directory due to no TTY", { hint: 'If you are running pnpm in CI, set the CI environment variable to "true".' }); } const confirmed = await enquirer_1.default.prompt({ type: "confirm", name: "question", message: importers.length === 1 ? `The modules directory at "${importers[0].modulesDir}" will be removed and reinstalled from scratch. Proceed?` : "The modules directories will be removed and reinstalled from scratch. Proceed?", initial: true }); if (!confirmed.question) { throw new error_1.PnpmError("ABORTED_REMOVE_MODULES_DIR", "Aborted removal of modules directory"); } } await Promise.all(importers.map(async (importer) => { logger_1.logger.info({ message: `Recreating ${importer.modulesDir}`, prefix: importer.rootDir }); try { await removeContentsOfDir(importer.modulesDir, opts.virtualStoreDir); } catch (err) { if (err.code !== "ENOENT") throw err; } })); } async function removeContentsOfDir(dir, virtualStoreDir) { const items = await fs_1.promises.readdir(dir); await Promise.all(items.map(async (item) => { if (item[0] === "." && item !== ".bin" && item !== ".modules.yaml" && !dirsAreEqual(path_1.default.join(dir, item), virtualStoreDir)) { return; } await (0, rimraf_1.default)(path_1.default.join(dir, item)); })); } function dirsAreEqual(dir1, dir2) { return path_1.default.relative(dir1, dir2) === ""; } function stringifyIncludedDeps(included) { return types_1.DEPENDENCIES_FIELDS.filter((depsField) => included[depsField]).join(", "); } } }); // ../pkg-manager/core/lib/install/checkCompatibility/CatalogVersionMismatchError.js var require_CatalogVersionMismatchError = __commonJS({ "../pkg-manager/core/lib/install/checkCompatibility/CatalogVersionMismatchError.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CatalogVersionMismatchError = void 0; var error_1 = require_lib6(); var CatalogVersionMismatchError = class extends error_1.PnpmError { catalogDep; wantedDep; constructor(opts) { super("CATALOG_VERSION_MISMATCH", "Wanted dependency outside the version range defined in catalog"); this.catalogDep = opts.catalogDep; this.wantedDep = opts.wantedDep; } }; exports2.CatalogVersionMismatchError = CatalogVersionMismatchError; } }); // ../pkg-manager/core/lib/install/index.js var require_install = __commonJS({ "../pkg-manager/core/lib/install/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.IgnoredBuildsError = void 0; exports2.install = install; exports2.mutateModulesInSingleProject = mutateModulesInSingleProject; exports2.mutateModules = mutateModules; exports2.addDependenciesToPackage = addDependenciesToPackage; var path_1 = __importDefault2(require("path")); var build_modules_1 = require_lib153(); var builder_policy_1 = require_lib128(); var catalogs_protocol_parser_1 = require_lib147(); var catalogs_resolver_1 = require_lib148(); var config_version_policy_1 = require_lib127(); var constants_1 = require_lib5(); var core_loggers_1 = require_lib8(); var crypto_object_hasher_1 = require_lib117(); var dp = __importStar3(require_lib86()); var lockfile_settings_checker_1 = require_lib146(); var error_1 = require_lib6(); var get_context_1 = require_lib124(); var headless_1 = require_lib164(); var lifecycle_1 = require_lib71(); var link_bins_1 = require_lib69(); var lockfile_fs_1 = require_lib121(); var lockfile_to_pnp_1 = require_lib157(); var lockfile_utils_1 = require_lib125(); var lockfile_verification_1 = require_lib145(); var lockfile_preferred_versions_1 = require_lib165(); var logger_1 = require_lib(); var manifest_utils_1 = require_lib10(); var modules_yaml_1 = require_lib115(); var patching_config_1 = require_lib160(); var plugin_commands_rebuild_1 = require_lib131(); var read_project_manifest_1 = require_lib16(); var resolve_dependencies_1 = require_lib168(); var util_lex_comparator_1 = require_dist4(); var is_subdir_1 = __importDefault2(require_is_subdir()); var p_limit_12 = __importDefault2(require_p_limit()); var map_1 = __importDefault2(require_map3()); var clone_1 = __importDefault2(require_clone5()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var pipeWith_1 = __importDefault2(require_pipeWith()); var props_1 = __importDefault2(require_props()); var parseWantedDependencies_js_1 = require_parseWantedDependencies(); var removeDeps_js_1 = require_removeDeps(); var extendInstallOptions_js_1 = require_extendInstallOptions(); var link_js_1 = require_link3(); var reportPeerDependencyIssues_js_1 = require_reportPeerDependencyIssues2(); var validateModules_js_1 = require_validateModules(); var semver_12 = __importDefault2(require_semver2()); var CatalogVersionMismatchError_js_1 = require_CatalogVersionMismatchError(); var LockfileConfigMismatchError = class extends error_1.PnpmError { constructor(outdatedLockfileSettingName) { super("LOCKFILE_CONFIG_MISMATCH", `Cannot proceed with the frozen installation. The current "${outdatedLockfileSettingName}" configuration doesn't match the value found in the lockfile`, { hint: 'Update your lockfile using "pnpm install --no-frozen-lockfile"' }); } }; var BROKEN_LOCKFILE_INTEGRITY_ERRORS = /* @__PURE__ */ new Set([ "ERR_PNPM_UNEXPECTED_PKG_CONTENT_IN_STORE", "ERR_PNPM_TARBALL_INTEGRITY" ]); var DEV_PREINSTALL = "pnpm:devPreinstall"; async function install(manifest, opts) { const rootDir = opts.dir ?? process.cwd(); const { updatedCatalogs, updatedProjects: projects, ignoredBuilds } = await mutateModules([ { mutation: "install", pruneDirectDependencies: opts.pruneDirectDependencies, rootDir, update: opts.update, updateMatching: opts.updateMatching, updateToLatest: opts.updateToLatest, updatePackageManifest: opts.updatePackageManifest } ], { ...opts, allProjects: [{ buildIndex: 0, manifest, rootDir, binsDir: opts.binsDir }] }); return { updatedCatalogs, updatedManifest: projects[0].manifest, ignoredBuilds }; } async function mutateModulesInSingleProject(project, maybeOpts) { const result2 = await mutateModules([ { ...project, update: maybeOpts.update, updateToLatest: maybeOpts.updateToLatest, updateMatching: maybeOpts.updateMatching, updatePackageManifest: maybeOpts.updatePackageManifest } ], { ...maybeOpts, allProjects: [{ buildIndex: 0, ...project }] }); return { updatedCatalogs: result2.updatedCatalogs, updatedProject: result2.updatedProjects[0], ignoredBuilds: result2.ignoredBuilds }; } var pickCatalogSpecifier = { found: (found) => found.resolution.specifier, misconfiguration: () => void 0, unused: () => void 0 }; async function mutateModules(projects, maybeOpts) { const reporter = maybeOpts?.reporter; if (reporter != null && typeof reporter === "function") { logger_1.streamParser.on("data", reporter); } const opts = (0, extendInstallOptions_js_1.extendOptions)(maybeOpts); if (!opts.include.dependencies && opts.include.optionalDependencies) { throw new error_1.PnpmError("OPTIONAL_DEPS_REQUIRE_PROD_DEPS", "Optional dependencies cannot be installed without production dependencies"); } const installsOnly = allMutationsAreInstalls(projects); if (!installsOnly) opts.strictPeerDependencies = false; const rootProjectManifest = opts.allProjects.find(({ rootDir }) => rootDir === opts.lockfileDir)?.manifest ?? // When running install/update on a subset of projects, the root project might not be included, // so reading its manifest explicitly here. await (0, read_project_manifest_1.safeReadProjectManifestOnly)(opts.lockfileDir); let ctx = await (0, get_context_1.getContext)(opts); if (!opts.lockfileOnly && ctx.modulesFile != null) { const { purged } = await (0, validateModules_js_1.validateModules)(ctx.modulesFile, Object.values(ctx.projects), { forceNewModules: installsOnly, include: opts.include, lockfileDir: opts.lockfileDir, modulesDir: opts.modulesDir ?? "node_modules", registries: opts.registries, storeDir: opts.storeDir, virtualStoreDir: ctx.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, confirmModulesPurge: opts.confirmModulesPurge && !opts.ci, forceHoistPattern: opts.forceHoistPattern, hoistPattern: opts.hoistPattern, currentHoistPattern: ctx.currentHoistPattern, forcePublicHoistPattern: opts.forcePublicHoistPattern, publicHoistPattern: opts.publicHoistPattern, currentPublicHoistPattern: ctx.currentPublicHoistPattern, global: opts.global }); if (purged) { ctx = await (0, get_context_1.getContext)(opts); } } if (opts.hooks.preResolution) { for (const preResolution of opts.hooks.preResolution) { await preResolution({ currentLockfile: ctx.currentLockfile, wantedLockfile: ctx.wantedLockfile, existsCurrentLockfile: ctx.existsCurrentLockfile, existsNonEmptyWantedLockfile: ctx.existsNonEmptyWantedLockfile, lockfileDir: ctx.lockfileDir, storeDir: ctx.storeDir, registries: ctx.registries }); } } const pruneVirtualStore = !opts.enableGlobalVirtualStore && (ctx.modulesFile?.prunedAt && opts.modulesCacheMaxAge > 0 ? cacheExpired(ctx.modulesFile.prunedAt, opts.modulesCacheMaxAge) : true); if (!maybeOpts.ignorePackageManifest) { for (const { manifest, rootDir } of Object.values(ctx.projects)) { if (!manifest) { throw new Error(`No package.json found in "${rootDir}"`); } } } const result2 = await _install(); if (global["verifiedFileIntegrity"] > 1e3) { (0, logger_1.globalInfo)(`The integrity of ${global["verifiedFileIntegrity"]} files was checked. This might have caused installation to take longer.`); } if (opts.mergeGitBranchLockfiles) { await (0, lockfile_fs_1.cleanGitBranchLockfiles)(ctx.lockfileDir); } let ignoredBuilds = result2.ignoredBuilds; if (!opts.ignoreScripts && ignoredBuilds?.size) { ignoredBuilds = await runUnignoredDependencyBuilds(opts, ignoredBuilds); } if (!opts.neverBuiltDependencies) { core_loggers_1.ignoredScriptsLogger.debug({ packageNames: ignoredBuilds ? dedupePackageNamesFromIgnoredBuilds(ignoredBuilds) : [] }); } if (reporter != null && typeof reporter === "function") { logger_1.streamParser.removeListener("data", reporter); } return { updatedCatalogs: result2.updatedCatalogs, updatedProjects: result2.updatedProjects, stats: result2.stats ?? { added: 0, removed: 0, linkedToRoot: 0 }, depsRequiringBuild: result2.depsRequiringBuild, ignoredBuilds }; async function _install() { const scriptsOpts = { extraBinPaths: opts.extraBinPaths, extraNodePaths: ctx.extraNodePaths, extraEnv: opts.extraEnv, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, rawConfig: opts.rawConfig, resolveSymlinksInInjectedDirs: opts.resolveSymlinksInInjectedDirs, scriptsPrependNodePath: opts.scriptsPrependNodePath, scriptShell: opts.scriptShell, shellEmulator: opts.shellEmulator, stdio: opts.ownLifecycleHooksStdio, storeController: opts.storeController, unsafePerm: opts.unsafePerm || false, prepareExecutionEnv: opts.prepareExecutionEnv }; if (!opts.ignoreScripts && !opts.ignorePackageManifest && rootProjectManifest?.scripts?.[DEV_PREINSTALL]) { await (0, lifecycle_1.runLifecycleHook)(DEV_PREINSTALL, rootProjectManifest, { ...scriptsOpts, depPath: opts.lockfileDir, pkgRoot: opts.lockfileDir, rootModulesDir: ctx.rootModulesDir }); } const packageExtensionsChecksum = (0, crypto_object_hasher_1.hashObjectNullableWithPrefix)(opts.packageExtensions); const pnpmfileChecksum = await opts.hooks.calculatePnpmfileChecksum?.(); const patchedDependencies = opts.ignorePackageManifest ? ctx.wantedLockfile.patchedDependencies : opts.patchedDependencies ? await (0, lockfile_settings_checker_1.calcPatchHashes)(opts.patchedDependencies, opts.lockfileDir) : {}; const patchedDependenciesWithResolvedPath = patchedDependencies ? (0, map_1.default)((patchFile) => ({ hash: patchFile.hash, path: path_1.default.join(opts.lockfileDir, patchFile.path) }), patchedDependencies) : void 0; const patchGroups = patchedDependenciesWithResolvedPath && (0, patching_config_1.groupPatchedDependencies)(patchedDependenciesWithResolvedPath); const frozenLockfile = opts.frozenLockfile || opts.frozenLockfileIfExists && ctx.existsNonEmptyWantedLockfile; let outdatedLockfileSettings = false; const overridesMap = (0, lockfile_settings_checker_1.createOverridesMapFromParsed)(opts.parsedOverrides); if (!opts.ignorePackageManifest) { const outdatedLockfileSettingName = (0, lockfile_settings_checker_1.getOutdatedLockfileSetting)(ctx.wantedLockfile, { autoInstallPeers: opts.autoInstallPeers, catalogs: opts.catalogs, injectWorkspacePackages: opts.injectWorkspacePackages, excludeLinksFromLockfile: opts.excludeLinksFromLockfile, peersSuffixMaxLength: opts.peersSuffixMaxLength, overrides: overridesMap, ignoredOptionalDependencies: opts.ignoredOptionalDependencies?.sort(), packageExtensionsChecksum, patchedDependencies, pnpmfileChecksum }); outdatedLockfileSettings = outdatedLockfileSettingName != null; if (frozenLockfile && outdatedLockfileSettings) { throw new LockfileConfigMismatchError(outdatedLockfileSettingName); } } const _isWantedDepBareSpecifierSame = isWantedDepBareSpecifierSame.bind(null, ctx.wantedLockfile.catalogs, opts.catalogs); const upToDateLockfileMajorVersion = ctx.wantedLockfile.lockfileVersion.toString().startsWith(`${constants_1.LOCKFILE_MAJOR_VERSION}.`); let needsFullResolution = outdatedLockfileSettings || opts.fixLockfile || !upToDateLockfileMajorVersion || opts.forceFullResolution; if (needsFullResolution) { ctx.wantedLockfile.settings = { autoInstallPeers: opts.autoInstallPeers, excludeLinksFromLockfile: opts.excludeLinksFromLockfile, peersSuffixMaxLength: opts.peersSuffixMaxLength, injectWorkspacePackages: opts.injectWorkspacePackages }; ctx.wantedLockfile.overrides = overridesMap; ctx.wantedLockfile.packageExtensionsChecksum = packageExtensionsChecksum; ctx.wantedLockfile.ignoredOptionalDependencies = opts.ignoredOptionalDependencies; ctx.wantedLockfile.pnpmfileChecksum = pnpmfileChecksum; ctx.wantedLockfile.patchedDependencies = patchedDependencies; } else if (!frozenLockfile) { ctx.wantedLockfile.settings = { autoInstallPeers: opts.autoInstallPeers, excludeLinksFromLockfile: opts.excludeLinksFromLockfile, peersSuffixMaxLength: opts.peersSuffixMaxLength, injectWorkspacePackages: opts.injectWorkspacePackages }; } const frozenInstallResult = await tryFrozenInstall({ frozenLockfile, needsFullResolution, patchGroups, upToDateLockfileMajorVersion }); if (frozenInstallResult !== null) { if ("needsFullResolution" in frozenInstallResult) { needsFullResolution = frozenInstallResult.needsFullResolution; } else { return frozenInstallResult; } } const projectsToInstall = []; let preferredSpecs = null; for (const project of projects) { const projectOpts = { ...project, ...ctx.projects[project.rootDir] }; switch (project.mutation) { case "uninstallSome": projectsToInstall.push({ pruneDirectDependencies: false, ...projectOpts, removePackages: project.dependencyNames, updatePackageManifest: true, wantedDependencies: [] }); break; case "install": { await installCase({ ...projectOpts, updatePackageManifest: projectOpts.updatePackageManifest ?? projectOpts.update }); break; } case "installSome": { await installSome({ ...projectOpts, updatePackageManifest: projectOpts.updatePackageManifest !== false }); break; } } } async function installCase(project) { const wantedDependencies = (0, resolve_dependencies_1.getWantedDependencies)(project.manifest, { autoInstallPeers: opts.autoInstallPeers, includeDirect: opts.includeDirect, nodeExecPath: opts.nodeExecPath }).map((wantedDependency) => ({ ...wantedDependency, updateSpec: true })); if (ctx.wantedLockfile?.importers) { forgetResolutionsOfPrevWantedDeps(ctx.wantedLockfile.importers[project.id], wantedDependencies, _isWantedDepBareSpecifierSame); } if (opts.ignoreScripts && project.manifest?.scripts && (project.manifest.scripts.preinstall != null || project.manifest.scripts.install != null || project.manifest.scripts.postinstall != null || project.manifest.scripts.prepare)) { ctx.pendingBuilds.push(project.id); } projectsToInstall.push({ pruneDirectDependencies: false, ...project, wantedDependencies }); } async function installSome(project) { const currentBareSpecifiers = opts.ignoreCurrentSpecifiers ? {} : (0, manifest_utils_1.getAllDependenciesFromManifest)(project.manifest); const optionalDependencies = project.targetDependenciesField ? {} : project.manifest.optionalDependencies ?? {}; const devDependencies = project.targetDependenciesField ? {} : project.manifest.devDependencies ?? {}; if (preferredSpecs == null) { const manifests = []; for (const versions of ctx.workspacePackages.values()) { for (const { manifest } of versions.values()) { manifests.push(manifest); } } preferredSpecs = (0, manifest_utils_1.getAllUniqueSpecs)(manifests); } const wantedDeps = (0, parseWantedDependencies_js_1.parseWantedDependencies)(project.dependencySelectors, { allowNew: project.allowNew !== false, currentBareSpecifiers, defaultTag: opts.tag, dev: project.targetDependenciesField === "devDependencies", devDependencies, optional: project.targetDependenciesField === "optionalDependencies", optionalDependencies, updateWorkspaceDependencies: project.update, preferredSpecs, saveCatalogName: opts.saveCatalogName, overrides: opts.overrides, defaultCatalog: opts.catalogs?.default }); if (opts.catalogMode !== "manual") { const catalogBareSpecifier = `catalog:${opts.saveCatalogName == null || opts.saveCatalogName === "default" ? "" : opts.saveCatalogName}`; for (const wantedDep of wantedDeps) { const catalog = (0, catalogs_resolver_1.resolveFromCatalog)(opts.catalogs, { ...wantedDep, bareSpecifier: catalogBareSpecifier }); const catalogDepSpecifier = (0, catalogs_resolver_1.matchCatalogResolveResult)(catalog, pickCatalogSpecifier); if (!catalogDepSpecifier || wantedDep.bareSpecifier === catalogBareSpecifier || semver_12.default.validRange(wantedDep.bareSpecifier) && semver_12.default.validRange(catalogDepSpecifier) && semver_12.default.eq(wantedDep.bareSpecifier, catalogDepSpecifier)) { wantedDep.saveCatalogName = opts.saveCatalogName ?? "default"; continue; } switch (opts.catalogMode) { case "strict": throw new CatalogVersionMismatchError_js_1.CatalogVersionMismatchError({ catalogDep: `${wantedDep.alias}@${catalogDepSpecifier}`, wantedDep: `${wantedDep.alias}@${wantedDep.bareSpecifier}` }); case "prefer": logger_1.logger.warn({ message: `Catalog version mismatch for "${wantedDep.alias}": using direct version "${wantedDep.bareSpecifier}" instead of catalog version "${catalogDepSpecifier}".`, prefix: opts.lockfileDir }); } } } projectsToInstall.push({ pruneDirectDependencies: false, ...project, wantedDependencies: wantedDeps.map((wantedDep) => ({ ...wantedDep, isNew: !currentBareSpecifiers[wantedDep.alias], updateSpec: true, nodeExecPath: opts.nodeExecPath })) }); } const makePartialCurrentLockfile = !installsOnly && (ctx.existsNonEmptyWantedLockfile && !ctx.existsCurrentLockfile || !ctx.currentLockfileIsUpToDate); const result3 = await installInContext(projectsToInstall, ctx, { ...opts, currentLockfileIsUpToDate: !ctx.existsNonEmptyWantedLockfile || ctx.currentLockfileIsUpToDate, makePartialCurrentLockfile, needsFullResolution, pruneVirtualStore, scriptsOpts, updateLockfileMinorVersion: true, patchedDependencies: patchGroups }); return { updatedCatalogs: result3.updatedCatalogs, updatedProjects: result3.projects, stats: result3.stats, depsRequiringBuild: result3.depsRequiringBuild, ignoredBuilds: result3.ignoredBuilds }; } async function tryFrozenInstall({ frozenLockfile, needsFullResolution, patchGroups, upToDateLockfileMajorVersion }) { const isFrozenInstallPossible = ( // A frozen install is never possible when any of these are true: !ctx.lockfileHadConflicts && !opts.fixLockfile && !opts.dedupe && installsOnly && // If the user explicitly requested a frozen lockfile install, attempt // to perform one. An error will be thrown if updates are required. (frozenLockfile || // Otherwise, check if a frozen-like install is possible for // performance. This will be the case if all projects are up-to-date. opts.ignorePackageManifest || !needsFullResolution && opts.preferFrozenLockfile && (!opts.pruneLockfileImporters || Object.keys(ctx.wantedLockfile.importers).length === Object.keys(ctx.projects).length) && ctx.existsNonEmptyWantedLockfile && ctx.wantedLockfile.lockfileVersion === constants_1.LOCKFILE_VERSION && await (0, lockfile_verification_1.allProjectsAreUpToDate)(Object.values(ctx.projects), { catalogs: opts.catalogs, autoInstallPeers: opts.autoInstallPeers, excludeLinksFromLockfile: opts.excludeLinksFromLockfile, linkWorkspacePackages: opts.linkWorkspacePackagesDepth >= 0, wantedLockfile: ctx.wantedLockfile, workspacePackages: ctx.workspacePackages, lockfileDir: opts.lockfileDir })) ); if (!isFrozenInstallPossible) { return null; } if (needsFullResolution) { throw new error_1.PnpmError("FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE", "Cannot perform a frozen installation because the version of the lockfile is incompatible with this version of pnpm", { hint: `Try either: 1. Aligning the version of pnpm that generated the lockfile with the version that installs from it, or 2. Migrating the lockfile so that it is compatible with the newer version of pnpm, or 3. Using "pnpm install --no-frozen-lockfile". Note that in CI environments, this setting is enabled by default.` }); } if (!opts.ignorePackageManifest) { const _satisfiesPackageManifest = lockfile_verification_1.satisfiesPackageManifest.bind(null, { autoInstallPeers: opts.autoInstallPeers, excludeLinksFromLockfile: opts.excludeLinksFromLockfile }); for (const { id, manifest, rootDir } of Object.values(ctx.projects)) { const { satisfies, detailedReason } = _satisfiesPackageManifest(ctx.wantedLockfile.importers[id], manifest); if (!satisfies) { if (!ctx.existsWantedLockfile) { throw new error_1.PnpmError("NO_LOCKFILE", `Cannot install with "frozen-lockfile" because ${constants_1.WANTED_LOCKFILE} is absent`, { hint: 'Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile"' }); } throw new error_1.PnpmError("OUTDATED_LOCKFILE", `Cannot install with "frozen-lockfile" because ${constants_1.WANTED_LOCKFILE} is not up to date with ` + path_1.default.join("", path_1.default.relative(opts.lockfileDir, path_1.default.join(rootDir, "package.json"))), { hint: `Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile" Failure reason: ${detailedReason ?? ""}` }); } } } if (opts.lockfileOnly) { await (0, lockfile_fs_1.writeWantedLockfile)(ctx.lockfileDir, ctx.wantedLockfile); return { updatedProjects: projects.map((mutatedProject) => ctx.projects[mutatedProject.rootDir]), ignoredBuilds: void 0 }; } if (!ctx.existsNonEmptyWantedLockfile) { if (Object.values(ctx.projects).some((project) => pkgHasDependencies(project.manifest))) { throw new Error(`Headless installation requires a ${constants_1.WANTED_LOCKFILE} file`); } return null; } if (maybeOpts.ignorePackageManifest) { logger_1.logger.info({ message: "Importing packages to virtual store", prefix: opts.lockfileDir }); } else { logger_1.logger.info({ message: "Lockfile is up to date, resolution step is skipped", prefix: opts.lockfileDir }); } try { const { stats, ignoredBuilds: ignoredBuilds2 } = await (0, headless_1.headlessInstall)({ ...ctx, ...opts, currentEngine: { nodeVersion: opts.nodeVersion, pnpmVersion: opts.packageManager.name === "pnpm" ? opts.packageManager.version : "" }, currentHoistedLocations: ctx.modulesFile?.hoistedLocations, patchedDependencies: patchGroups, selectedProjectDirs: projects.map((project) => project.rootDir), allProjects: ctx.projects, prunedAt: ctx.modulesFile?.prunedAt, pruneVirtualStore, wantedLockfile: maybeOpts.ignorePackageManifest ? void 0 : ctx.wantedLockfile, useLockfile: opts.useLockfile && ctx.wantedLockfileIsModified }); if (opts.useLockfile && opts.saveLockfile && opts.mergeGitBranchLockfiles || !upToDateLockfileMajorVersion && !opts.frozenLockfile) { const currentLockfileDir = path_1.default.join(ctx.rootModulesDir, ".pnpm"); await (0, lockfile_fs_1.writeLockfiles)({ currentLockfile: ctx.currentLockfile, currentLockfileDir, wantedLockfile: ctx.wantedLockfile, wantedLockfileDir: ctx.lockfileDir, useGitBranchLockfile: opts.useGitBranchLockfile, mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles }); } return { updatedProjects: projects.map((mutatedProject) => { const project = ctx.projects[mutatedProject.rootDir]; return { ...project, manifest: project.originalManifest ?? project.manifest }; }), stats, ignoredBuilds: ignoredBuilds2 }; } catch (error) { if (frozenLockfile || error.code !== "ERR_PNPM_LOCKFILE_MISSING_DEPENDENCY" && !BROKEN_LOCKFILE_INTEGRITY_ERRORS.has(error.code) || !ctx.existsNonEmptyWantedLockfile && !ctx.existsCurrentLockfile) throw error; if (BROKEN_LOCKFILE_INTEGRITY_ERRORS.has(error.code)) { needsFullResolution = true; for (const project of projects) { project.update = true; } } logger_1.logger.warn({ error, message: error.message, prefix: ctx.lockfileDir }); logger_1.logger.error(new error_1.PnpmError(error.code, "The lockfile is broken! Resolution step will be performed to fix it.")); return { needsFullResolution }; } } } async function runUnignoredDependencyBuilds(opts, previousIgnoredBuilds) { if (!opts.onlyBuiltDependencies?.length) { return previousIgnoredBuilds; } const onlyBuiltDeps = (0, config_version_policy_1.createPackageVersionPolicy)(opts.onlyBuiltDependencies); const pkgsToBuild = Array.from(previousIgnoredBuilds).flatMap((ignoredPkg) => { const ignoredPkgName = dp.parse(ignoredPkg).name; if (!ignoredPkgName) return []; const matchResult = onlyBuiltDeps(ignoredPkgName); if (matchResult === true) { return [ignoredPkgName]; } else if (Array.isArray(matchResult)) { return matchResult.map((version2) => `${ignoredPkgName}@${version2}`); } return []; }); if (pkgsToBuild.length) { return (await (0, plugin_commands_rebuild_1.rebuildSelectedPkgs)(opts.allProjects, pkgsToBuild, { ...opts, reporter: void 0, // We don't want to attach the reporter again, it was already attached. rootProjectManifestDir: opts.lockfileDir })).ignoredBuilds ?? previousIgnoredBuilds; } return previousIgnoredBuilds; } function cacheExpired(prunedAt, maxAgeInMinutes) { return (Date.now() - new Date(prunedAt).valueOf()) / (1e3 * 60) > maxAgeInMinutes; } function pkgHasDependencies(manifest) { return Boolean(Object.keys(manifest.dependencies ?? {}).length > 0 || Object.keys(manifest.devDependencies ?? {}).length || Object.keys(manifest.optionalDependencies ?? {}).length); } function forgetResolutionsOfPrevWantedDeps(importer, wantedDeps, isWantedDepBareSpecifierSame2) { if (!importer.specifiers) return; importer.dependencies = importer.dependencies ?? {}; importer.devDependencies = importer.devDependencies ?? {}; importer.optionalDependencies = importer.optionalDependencies ?? {}; for (const { alias, bareSpecifier } of wantedDeps) { if (alias && !isWantedDepBareSpecifierSame2(alias, importer.specifiers[alias], bareSpecifier)) { if (!importer.dependencies[alias]?.startsWith("link:")) { delete importer.dependencies[alias]; } delete importer.devDependencies[alias]; delete importer.optionalDependencies[alias]; } } } function forgetResolutionsOfAllPrevWantedDeps(wantedLockfile) { if (wantedLockfile.importers != null && !(0, isEmpty_1.default)(wantedLockfile.importers)) { wantedLockfile.importers = (0, map_1.default)(({ dependencies, devDependencies, optionalDependencies, ...rest }) => rest, wantedLockfile.importers); } if (wantedLockfile.packages != null && !(0, isEmpty_1.default)(wantedLockfile.packages)) { wantedLockfile.packages = (0, map_1.default)(({ dependencies, optionalDependencies, ...rest }) => rest, wantedLockfile.packages); } if (wantedLockfile.catalogs != null && !(0, isEmpty_1.default)(wantedLockfile.catalogs)) { wantedLockfile.catalogs = void 0; } } function isWantedDepBareSpecifierSame(prevCatalogs, catalogsConfig, alias, prevBareSpecifier, nextBareSpecifier) { if (prevBareSpecifier !== nextBareSpecifier) { return false; } const catalogName = (0, catalogs_protocol_parser_1.parseCatalogProtocol)(prevBareSpecifier); if (catalogName === null) { return true; } const prevCatalogEntrySpec = prevCatalogs?.[catalogName]?.[alias]?.specifier; const nextCatalogEntrySpec = catalogsConfig?.[catalogName]?.[alias]; return prevCatalogEntrySpec === nextCatalogEntrySpec; } async function addDependenciesToPackage(manifest, dependencySelectors, opts) { const rootDir = opts.dir ?? process.cwd(); const { updatedCatalogs, updatedProjects: projects, ignoredBuilds } = await mutateModules([ { allowNew: opts.allowNew, dependencySelectors, mutation: "installSome", peer: opts.peer, pinnedVersion: opts.pinnedVersion, rootDir, targetDependenciesField: opts.targetDependenciesField, update: opts.update, updateMatching: opts.updateMatching, updatePackageManifest: opts.updatePackageManifest, updateToLatest: opts.updateToLatest } ], { ...opts, lockfileDir: opts.lockfileDir ?? opts.dir, allProjects: [ { buildIndex: 0, binsDir: opts.bin, manifest, rootDir } ] }); return { updatedCatalogs, updatedManifest: projects[0].manifest, ignoredBuilds }; } var _installInContext = async (projects, ctx, opts) => { const originalLockfileForCheck = opts.lockfileCheck != null ? (0, clone_1.default)(ctx.wantedLockfile) : null; const isInstallationOnlyForLockfileCheck = opts.lockfileCheck != null; ctx.wantedLockfile.importers = ctx.wantedLockfile.importers || {}; for (const { id } of projects) { if (!ctx.wantedLockfile.importers[id]) { ctx.wantedLockfile.importers[id] = { specifiers: {} }; } } if (opts.pruneLockfileImporters) { const projectIds = new Set(projects.map(({ id }) => id)); for (const wantedImporter of Object.keys(ctx.wantedLockfile.importers)) { if (!projectIds.has(wantedImporter)) { delete ctx.wantedLockfile.importers[wantedImporter]; } } } await Promise.all(projects.map(async (project) => { if (project.mutation !== "uninstallSome") return; const _removeDeps = async (manifest) => (0, removeDeps_js_1.removeDeps)(manifest, project.dependencyNames, { prefix: project.rootDir, saveType: project.targetDependenciesField }); project.manifest = await _removeDeps(project.manifest); if (project.originalManifest != null) { project.originalManifest = await _removeDeps(project.originalManifest); } })); core_loggers_1.stageLogger.debug({ prefix: ctx.lockfileDir, stage: "resolution_started" }); const update = projects.some((project) => project.update); const preferredVersions = opts.preferredVersions ?? (!update ? (0, lockfile_preferred_versions_1.getPreferredVersionsFromLockfileAndManifests)(ctx.wantedLockfile.packages, Object.values(ctx.projects).map(({ manifest }) => manifest)) : void 0); const forceFullResolution = ctx.wantedLockfile.lockfileVersion !== constants_1.LOCKFILE_VERSION || !opts.currentLockfileIsUpToDate || opts.force || opts.needsFullResolution || ctx.lockfileHadConflicts || opts.dedupePeerDependents; if (opts.fixLockfile && ctx.wantedLockfile.packages != null && !(0, isEmpty_1.default)(ctx.wantedLockfile.packages)) { ctx.wantedLockfile.packages = (0, map_1.default)(({ dependencies, optionalDependencies, resolution }) => ({ // These fields are needed to avoid losing information of the locked dependencies if these fields are not broken // If these fields are broken, they will also be regenerated dependencies, optionalDependencies, resolution }), ctx.wantedLockfile.packages); } if (opts.dedupe) { forgetResolutionsOfAllPrevWantedDeps(ctx.wantedLockfile); } const allowBuild = (0, builder_policy_1.createAllowBuildFunction)(opts); let { dependenciesGraph, dependenciesByProjectId, linkedDependenciesByProjectId, updatedCatalogs, newLockfile, outdatedDependencies, peerDependencyIssuesByProjects, wantedToBeSkippedPackageIds, waitTillAllFetchingsFinish } = await (0, resolve_dependencies_1.resolveDependencies)(projects, { allowBuild, allowedDeprecatedVersions: opts.allowedDeprecatedVersions, allowUnusedPatches: opts.allowUnusedPatches, autoInstallPeers: opts.autoInstallPeers, autoInstallPeersFromHighestMatch: opts.autoInstallPeersFromHighestMatch, catalogs: opts.catalogs, currentLockfile: ctx.currentLockfile, defaultUpdateDepth: opts.depth, dedupeDirectDeps: opts.dedupeDirectDeps, dedupeInjectedDeps: opts.dedupeInjectedDeps, dedupePeerDependents: opts.dedupePeerDependents, dryRun: opts.lockfileOnly, enableGlobalVirtualStore: opts.enableGlobalVirtualStore, engineStrict: opts.engineStrict, excludeLinksFromLockfile: opts.excludeLinksFromLockfile, force: opts.force, forceFullResolution, ignoreScripts: opts.ignoreScripts, hooks: { readPackage: opts.readPackageHook }, linkWorkspacePackagesDepth: opts.linkWorkspacePackagesDepth ?? (opts.saveWorkspaceProtocol ? 0 : -1), lockfileDir: opts.lockfileDir, nodeVersion: opts.nodeVersion, pnpmVersion: opts.packageManager.name === "pnpm" ? opts.packageManager.version : "", preferWorkspacePackages: opts.preferWorkspacePackages, preferredVersions, preserveWorkspaceProtocol: opts.preserveWorkspaceProtocol, registries: ctx.registries, resolutionMode: opts.resolutionMode, saveWorkspaceProtocol: opts.saveWorkspaceProtocol, storeController: opts.storeController, tag: opts.tag, virtualStoreDir: ctx.virtualStoreDir, virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength, wantedLockfile: ctx.wantedLockfile, workspacePackages: ctx.workspacePackages, patchedDependencies: opts.patchedDependencies, lockfileIncludeTarballUrl: opts.lockfileIncludeTarballUrl, resolvePeersFromWorkspaceRoot: opts.resolvePeersFromWorkspaceRoot, supportedArchitectures: opts.supportedArchitectures, peersSuffixMaxLength: opts.peersSuffixMaxLength, injectWorkspacePackages: opts.injectWorkspacePackages, minimumReleaseAge: opts.minimumReleaseAge, minimumReleaseAgeExclude: opts.minimumReleaseAgeExclude, trustPolicy: opts.trustPolicy, trustPolicyExclude: opts.trustPolicyExclude, blockExoticSubdeps: opts.blockExoticSubdeps }); if (!opts.include.optionalDependencies || !opts.include.devDependencies || !opts.include.dependencies) { linkedDependenciesByProjectId = (0, map_1.default)((linkedDeps) => linkedDeps.filter((linkedDep) => !(linkedDep.dev && !opts.include.devDependencies || linkedDep.optional && !opts.include.optionalDependencies || !linkedDep.dev && !linkedDep.optional && !opts.include.dependencies)), linkedDependenciesByProjectId ?? {}); for (const { id, manifest } of projects) { for (const [alias, depPath] of dependenciesByProjectId[id].entries()) { let include; const dep = dependenciesGraph[depPath]; if (!dep) { include = false; } else { const isDev = Boolean(manifest.devDependencies?.[dep.name]); const isOptional = Boolean(manifest.optionalDependencies?.[dep.name]); include = !(isDev && !opts.include.devDependencies || isOptional && !opts.include.optionalDependencies || !isDev && !isOptional && !opts.include.dependencies); } if (!include) { dependenciesByProjectId[id].delete(alias); } } } } core_loggers_1.stageLogger.debug({ prefix: ctx.lockfileDir, stage: "resolution_done" }); newLockfile = opts.hooks?.afterAllResolved != null ? await (0, pipeWith_1.default)(async (f, res) => f(await res), opts.hooks.afterAllResolved)(newLockfile) : newLockfile; if (opts.updateLockfileMinorVersion) { newLockfile.lockfileVersion = constants_1.LOCKFILE_VERSION; } const depsStateCache = {}; const lockfileOpts = { useGitBranchLockfile: opts.useGitBranchLockfile, mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles }; let stats; let ignoredBuilds; if (!opts.lockfileOnly && !isInstallationOnlyForLockfileCheck && opts.enableModulesDir) { const result2 = await (0, link_js_1.linkPackages)(projects, dependenciesGraph, { allowBuild, currentLockfile: ctx.currentLockfile, dedupeDirectDeps: opts.dedupeDirectDeps, dependenciesByProjectId, depsStateCache, disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps, extraNodePaths: ctx.extraNodePaths, force: opts.force, hoistedDependencies: ctx.hoistedDependencies, hoistedModulesDir: ctx.hoistedModulesDir, hoistPattern: ctx.hoistPattern, ignoreScripts: opts.ignoreScripts, include: opts.include, linkedDependenciesByProjectId, lockfileDir: opts.lockfileDir, makePartialCurrentLockfile: opts.makePartialCurrentLockfile, outdatedDependencies, pruneStore: opts.pruneStore, pruneVirtualStore: opts.pruneVirtualStore, publicHoistPattern: ctx.publicHoistPattern, registries: ctx.registries, rootModulesDir: ctx.rootModulesDir, sideEffectsCacheRead: opts.sideEffectsCacheRead, symlink: opts.symlink, skipped: ctx.skipped, storeController: opts.storeController, virtualStoreDir: ctx.virtualStoreDir, virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength, wantedLockfile: newLockfile, wantedToBeSkippedPackageIds, hoistWorkspacePackages: opts.hoistWorkspacePackages }); stats = result2.stats; if (opts.enablePnp) { const importerNames = Object.fromEntries(projects.map(({ manifest, id }) => [id, manifest.name ?? id])); await (0, lockfile_to_pnp_1.writePnpFile)(result2.currentLockfile, { importerNames, lockfileDir: ctx.lockfileDir, virtualStoreDir: ctx.virtualStoreDir, virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength, registries: ctx.registries }); } ctx.pendingBuilds = ctx.pendingBuilds.filter((relDepPath) => !result2.removedDepPaths.has(relDepPath)); if (result2.newDepPaths?.length) { if (opts.ignoreScripts) { ctx.pendingBuilds = ctx.pendingBuilds.concat(result2.newDepPaths.filter((depPath) => dependenciesGraph[depPath].requiresBuild)); } if (!opts.ignoreScripts || Object.keys(opts.patchedDependencies ?? {}).length > 0) { const depPaths = Object.keys(dependenciesGraph); const rootNodes = depPaths.filter((depPath) => dependenciesGraph[depPath].depth === 0); let extraEnv = opts.scriptsOpts.extraEnv; if (opts.enablePnp) { extraEnv = { ...extraEnv, ...(0, lifecycle_1.makeNodeRequireOption)(path_1.default.join(opts.lockfileDir, ".pnp.cjs")) }; } ignoredBuilds = (await (0, build_modules_1.buildModules)(dependenciesGraph, rootNodes, { allowBuild, ignorePatchFailures: opts.ignorePatchFailures, ignoredBuiltDependencies: opts.ignoredBuiltDependencies, childConcurrency: opts.childConcurrency, depsStateCache, depsToBuild: new Set(result2.newDepPaths), extraBinPaths: ctx.extraBinPaths, extraNodePaths: ctx.extraNodePaths, extraEnv, ignoreScripts: opts.ignoreScripts || opts.ignoreDepScripts, lockfileDir: ctx.lockfileDir, optional: opts.include.optionalDependencies, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, rawConfig: opts.rawConfig, rootModulesDir: ctx.virtualStoreDir, scriptsPrependNodePath: opts.scriptsPrependNodePath, scriptShell: opts.scriptShell, shellEmulator: opts.shellEmulator, sideEffectsCacheWrite: opts.sideEffectsCacheWrite, storeController: opts.storeController, unsafePerm: opts.unsafePerm, userAgent: opts.userAgent })).ignoredBuilds; if (ctx.modulesFile?.ignoredBuilds?.size) { ignoredBuilds ??= /* @__PURE__ */ new Set(); for (const ignoredBuild of ctx.modulesFile.ignoredBuilds.values()) { if (result2.currentLockfile.packages?.[ignoredBuild]) { ignoredBuilds.add(ignoredBuild); } } } } } const binWarn = (prefix, message) => { logger_1.logger.info({ message, prefix }); }; if (result2.newDepPaths?.length) { const newPkgs = (0, props_1.default)(result2.newDepPaths, dependenciesGraph); await linkAllBins(newPkgs, dependenciesGraph, { extraNodePaths: ctx.extraNodePaths, optional: opts.include.optionalDependencies, warn: binWarn.bind(null, opts.lockfileDir) }); } await Promise.all(projects.map(async (project, index) => { let linkedPackages; if (ctx.publicHoistPattern?.length && path_1.default.relative(project.rootDir, opts.lockfileDir) === "") { const nodeExecPathByAlias = {}; for (const alias in project.manifest.dependenciesMeta) { const { node } = project.manifest.dependenciesMeta[alias]; if (node) { nodeExecPathByAlias[alias] = node; } } linkedPackages = await (0, link_bins_1.linkBins)(project.modulesDir, project.binsDir, { allowExoticManifests: true, preferSymlinkedExecutables: opts.preferSymlinkedExecutables, projectManifest: project.manifest, nodeExecPathByAlias, extraNodePaths: ctx.extraNodePaths, warn: binWarn.bind(null, project.rootDir) }); } else { const directPkgs = [ ...(0, props_1.default)(Array.from(dependenciesByProjectId[project.id].values()).filter((depPath) => !ctx.skipped.has(depPath)), dependenciesGraph), ...linkedDependenciesByProjectId[project.id].map(({ pkgId }) => ({ dir: path_1.default.join(project.rootDir, pkgId.substring(5)), fetching: void 0 })) ]; linkedPackages = await (0, link_bins_1.linkBinsOfPackages)((await Promise.all(directPkgs.map(async (dep) => { const manifest = (await dep.fetching?.())?.bundledManifest ?? await (0, read_project_manifest_1.safeReadProjectManifestOnly)(dep.dir); let nodeExecPath; if (manifest?.name) { nodeExecPath = project.manifest.dependenciesMeta?.[manifest.name]?.node; } return { location: dep.dir, manifest, nodeExecPath }; }))).filter(({ manifest }) => manifest != null), project.binsDir, { extraNodePaths: ctx.extraNodePaths, preferSymlinkedExecutables: opts.preferSymlinkedExecutables }); } const projectToInstall = projects[index]; if (opts.global && projectToInstall.mutation.includes("install")) { for (const pkg of projectToInstall.wantedDependencies) { if (pkg.alias && !linkedPackages?.includes(pkg.alias)) { logger_1.logger.warn({ message: `${pkg.alias} has no binaries`, prefix: opts.lockfileDir }); } } } })); const projectsWithTargetDirs = (0, lockfile_utils_1.extendProjectsWithTargetDirs)(projects, newLockfile, { virtualStoreDir: ctx.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }); const currentLockfileDir = path_1.default.join(ctx.rootModulesDir, ".pnpm"); await Promise.all([ opts.useLockfile && opts.saveLockfile ? (0, lockfile_fs_1.writeLockfiles)({ currentLockfile: result2.currentLockfile, currentLockfileDir, wantedLockfile: newLockfile, wantedLockfileDir: ctx.lockfileDir, ...lockfileOpts }) : (0, lockfile_fs_1.writeCurrentLockfile)(ctx.virtualStoreDir, result2.currentLockfile), (async () => { if (result2.currentLockfile.packages === void 0 && result2.removedDepPaths.size === 0) { return Promise.resolve(); } const injectedDeps = {}; for (const project of projectsWithTargetDirs) { if (project.targetDirs.length > 0) { injectedDeps[project.id] = project.targetDirs.map((targetDir) => path_1.default.relative(opts.lockfileDir, targetDir)); } } return (0, modules_yaml_1.writeModulesManifest)(ctx.rootModulesDir, { ...ctx.modulesFile, hoistedDependencies: result2.newHoistedDependencies, hoistPattern: ctx.hoistPattern, included: ctx.include, injectedDeps, ignoredBuilds, layoutVersion: constants_1.LAYOUT_VERSION, nodeLinker: opts.nodeLinker, packageManager: `${opts.packageManager.name}@${opts.packageManager.version}`, pendingBuilds: ctx.pendingBuilds, publicHoistPattern: ctx.publicHoistPattern, prunedAt: opts.pruneVirtualStore || ctx.modulesFile == null ? (/* @__PURE__ */ new Date()).toUTCString() : ctx.modulesFile.prunedAt, registries: ctx.registries, skipped: Array.from(ctx.skipped), storeDir: ctx.storeDir, virtualStoreDir: ctx.virtualStoreDir, virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength }, { makeModulesDir: Object.keys(result2.currentLockfile.packages ?? {}).length > 0 }); })() ]); if (!opts.ignoreScripts) { if (opts.enablePnp) { opts.scriptsOpts.extraEnv = { ...opts.scriptsOpts.extraEnv, ...(0, lifecycle_1.makeNodeRequireOption)(path_1.default.join(opts.lockfileDir, ".pnp.cjs")) }; } const projectsToBeBuilt = projectsWithTargetDirs.filter(({ mutation }) => mutation === "install"); await (0, lifecycle_1.runLifecycleHooksConcurrently)(["preinstall", "install", "postinstall", "preprepare", "prepare", "postprepare"], projectsToBeBuilt, opts.childConcurrency, opts.scriptsOpts); } } else { if (opts.useLockfile && opts.saveLockfile && !isInstallationOnlyForLockfileCheck) { await (0, lockfile_fs_1.writeWantedLockfile)(ctx.lockfileDir, newLockfile, lockfileOpts); } if (opts.nodeLinker !== "hoisted") { core_loggers_1.stageLogger.debug({ prefix: opts.lockfileDir, stage: "importing_done" }); } } await waitTillAllFetchingsFinish(); const depsRequiringBuild = []; if (opts.returnListOfDepsRequiringBuild) { await Promise.all(Object.entries(dependenciesGraph).map(async ([depPath, node]) => { if (node?.fetching == null) return; const { files } = await node.fetching(); if (files.requiresBuild) { depsRequiringBuild.push(depPath); } })); } (0, reportPeerDependencyIssues_js_1.reportPeerDependencyIssues)(peerDependencyIssuesByProjects, { lockfileDir: opts.lockfileDir, strictPeerDependencies: opts.strictPeerDependencies, rules: opts.peerDependencyRules }); core_loggers_1.summaryLogger.debug({ prefix: opts.lockfileDir }); if (originalLockfileForCheck != null) { opts.lockfileCheck?.(originalLockfileForCheck, newLockfile); } return { updatedCatalogs, newLockfile, projects: projects.map(({ id, manifest, rootDir }) => ({ manifest, peerDependencyIssues: peerDependencyIssuesByProjects[id], rootDir })), stats, depsRequiringBuild, ignoredBuilds }; }; function allMutationsAreInstalls(projects) { return projects.every((project) => project.mutation === "install" && !project.update && !project.updateMatching); } var installInContext = async (projects, ctx, opts) => { try { const isPathInsideWorkspace = is_subdir_1.default.bind(null, opts.lockfileDir); if (!opts.frozenLockfile && opts.useLockfile) { const allProjectsLocatedInsideWorkspace = Object.values(ctx.projects).filter((project) => isPathInsideWorkspace(project.rootDirRealPath ?? project.rootDir)); if (allProjectsLocatedInsideWorkspace.length > projects.length) { const newProjects = [...projects]; const getWantedDepsOpts = { autoInstallPeers: opts.autoInstallPeers, includeDirect: opts.includeDirect, updateWorkspaceDependencies: false, nodeExecPath: opts.nodeExecPath, injectWorkspacePackages: opts.injectWorkspacePackages }; const _isWantedDepBareSpecifierSame = isWantedDepBareSpecifierSame.bind(null, ctx.wantedLockfile.catalogs, opts.catalogs); for (const project of allProjectsLocatedInsideWorkspace) { if (!newProjects.some(({ rootDir }) => rootDir === project.rootDir)) { const wantedDependencies = (0, resolve_dependencies_1.getWantedDependencies)(project.manifest, getWantedDepsOpts).map((wantedDependency) => ({ ...wantedDependency, updateSpec: true, preserveNonSemverVersionSpec: true })); forgetResolutionsOfPrevWantedDeps(ctx.wantedLockfile.importers[project.id], wantedDependencies, _isWantedDepBareSpecifierSame); newProjects.push({ mutation: "install", ...project, wantedDependencies, pruneDirectDependencies: false, updatePackageManifest: false }); } } const result2 = await installInContext(newProjects, ctx, { ...opts, lockfileOnly: true }); const { stats, ignoredBuilds } = await (0, headless_1.headlessInstall)({ ...ctx, ...opts, currentEngine: { nodeVersion: opts.nodeVersion, pnpmVersion: opts.packageManager.name === "pnpm" ? opts.packageManager.version : "" }, currentHoistedLocations: ctx.modulesFile?.hoistedLocations, selectedProjectDirs: projects.map((project) => project.rootDir), allProjects: ctx.projects, prunedAt: ctx.modulesFile?.prunedAt, wantedLockfile: result2.newLockfile, useLockfile: opts.useLockfile && ctx.wantedLockfileIsModified, hoistWorkspacePackages: opts.hoistWorkspacePackages }); return { ...result2, stats, ignoredBuilds }; } } if (opts.nodeLinker === "hoisted" && !opts.lockfileOnly) { const result2 = await _installInContext(projects, ctx, { ...opts, lockfileOnly: true }); const { stats, ignoredBuilds } = await (0, headless_1.headlessInstall)({ ...ctx, ...opts, currentEngine: { nodeVersion: opts.nodeVersion, pnpmVersion: opts.packageManager.name === "pnpm" ? opts.packageManager.version : "" }, currentHoistedLocations: ctx.modulesFile?.hoistedLocations, selectedProjectDirs: projects.map((project) => project.rootDir), allProjects: ctx.projects, prunedAt: ctx.modulesFile?.prunedAt, wantedLockfile: result2.newLockfile, useLockfile: opts.useLockfile && ctx.wantedLockfileIsModified, hoistWorkspacePackages: opts.hoistWorkspacePackages }); return { ...result2, stats, ignoredBuilds }; } return await _installInContext(projects, ctx, opts); } catch (error) { if (!BROKEN_LOCKFILE_INTEGRITY_ERRORS.has(error.code) || !ctx.existsNonEmptyWantedLockfile && !ctx.existsCurrentLockfile) throw error; opts.needsFullResolution = true; for (const project of projects) { project.update = true; } logger_1.logger.warn({ error, message: error.message, prefix: ctx.lockfileDir }); logger_1.logger.error(new error_1.PnpmError(error.code, "The lockfile is broken! A full installation will be performed in an attempt to fix it.")); return _installInContext(projects, ctx, opts); } finally { await opts.storeController.close(); } }; var limitLinking = (0, p_limit_12.default)(16); async function linkAllBins(depNodes, depGraph, opts) { await Promise.all(depNodes.map(async (depNode) => limitLinking(async () => (0, build_modules_1.linkBinsOfDependencies)(depNode, depGraph, opts)))); } var IgnoredBuildsError = class extends error_1.PnpmError { constructor(ignoredBuilds) { const packageNames = dedupePackageNamesFromIgnoredBuilds(ignoredBuilds); super("IGNORED_BUILDS", `Ignored build scripts: ${packageNames.join(", ")}`, { hint: 'Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.' }); } }; exports2.IgnoredBuildsError = IgnoredBuildsError; function dedupePackageNamesFromIgnoredBuilds(ignoredBuilds) { return Array.from(new Set(Array.from(ignoredBuilds ?? []).map(dp.removeSuffix))).sort(util_lex_comparator_1.lexCompare); } } }); // ../pkg-manager/core/lib/getPeerDependencyIssues.js var require_getPeerDependencyIssues = __commonJS({ "../pkg-manager/core/lib/getPeerDependencyIssues.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPeerDependencyIssues = getPeerDependencyIssues; var lockfile_preferred_versions_1 = require_lib165(); var resolve_dependencies_1 = require_lib168(); var get_context_1 = require_lib124(); var hooks_read_package_hook_1 = require_lib170(); var normalize_registries_1 = require_lib122(); var parse_overrides_1 = require_lib149(); async function getPeerDependencyIssues(projects, opts) { const lockfileDir = opts.lockfileDir ?? process.cwd(); const ctx = await (0, get_context_1.getContext)({ force: false, extraBinPaths: [], lockfileDir, nodeLinker: opts.nodeLinker ?? "isolated", registries: normalize_registries_1.DEFAULT_REGISTRIES, useLockfile: true, allProjects: projects, ...opts }); const projectsToResolve = Object.values(ctx.projects).map((project) => ({ ...project, updatePackageManifest: false, wantedDependencies: (0, resolve_dependencies_1.getWantedDependencies)(project.manifest, opts) })); const preferredVersions = (0, lockfile_preferred_versions_1.getPreferredVersionsFromLockfileAndManifests)(ctx.wantedLockfile.packages, Object.values(ctx.projects).map(({ manifest }) => manifest)); const overrides = (0, parse_overrides_1.parseOverrides)(opts.overrides ?? {}, opts.catalogs ?? {}); const { peerDependencyIssuesByProjects, waitTillAllFetchingsFinish } = await (0, resolve_dependencies_1.resolveDependencies)(projectsToResolve, { currentLockfile: ctx.currentLockfile, allowedDeprecatedVersions: {}, allowUnusedPatches: false, catalogs: opts.catalogs, defaultUpdateDepth: -1, dedupePeerDependents: opts.dedupePeerDependents, dryRun: true, engineStrict: false, force: false, forceFullResolution: true, hooks: { readPackage: (0, hooks_read_package_hook_1.createReadPackageHook)({ ignoreCompatibilityDb: opts.ignoreCompatibilityDb, lockfileDir, overrides, packageExtensions: opts.packageExtensions, readPackageHook: opts.hooks?.readPackage, ignoredOptionalDependencies: opts.ignoredOptionalDependencies }) }, linkWorkspacePackagesDepth: opts.linkWorkspacePackagesDepth ?? (opts.saveWorkspaceProtocol ? 0 : -1), lockfileDir, nodeVersion: opts.nodeVersion ?? process.version, pnpmVersion: "", preferWorkspacePackages: opts.preferWorkspacePackages, preferredVersions, preserveWorkspaceProtocol: false, registries: ctx.registries, saveWorkspaceProtocol: false, // this doesn't matter in our case. We won't write changes to package.json files storeController: opts.storeController, tag: "latest", virtualStoreDir: ctx.virtualStoreDir, virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength, wantedLockfile: ctx.wantedLockfile, workspacePackages: ctx.workspacePackages ?? /* @__PURE__ */ new Map(), supportedArchitectures: opts.supportedArchitectures, peersSuffixMaxLength: opts.peersSuffixMaxLength }); await waitTillAllFetchingsFinish(); return peerDependencyIssuesByProjects; } } }); // ../pkg-manager/core/lib/api.js var require_api3 = __commonJS({ "../pkg-manager/core/lib/api.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.PeerDependencyIssuesError = void 0; __exportStar2(require_install(), exports2); var reportPeerDependencyIssues_js_1 = require_reportPeerDependencyIssues2(); Object.defineProperty(exports2, "PeerDependencyIssuesError", { enumerable: true, get: function() { return reportPeerDependencyIssues_js_1.PeerDependencyIssuesError; } }); __exportStar2(require_getPeerDependencyIssues(), exports2); } }); // ../pkg-manager/core/lib/index.js var require_lib171 = __commonJS({ "../pkg-manager/core/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.UnexpectedVirtualStoreDirError = exports2.UnexpectedStoreError = void 0; __exportStar2(require_api3(), exports2); var UnexpectedStoreError_js_1 = require_UnexpectedStoreError(); Object.defineProperty(exports2, "UnexpectedStoreError", { enumerable: true, get: function() { return UnexpectedStoreError_js_1.UnexpectedStoreError; } }); var UnexpectedVirtualStoreDirError_js_1 = require_UnexpectedVirtualStoreDirError(); Object.defineProperty(exports2, "UnexpectedVirtualStoreDirError", { enumerable: true, get: function() { return UnexpectedVirtualStoreDirError_js_1.UnexpectedVirtualStoreDirError; } }); } }); // ../pkg-manager/plugin-commands-installation/lib/getPinnedVersion.js var require_getPinnedVersion = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/getPinnedVersion.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPinnedVersion = getPinnedVersion; function getPinnedVersion(opts) { if (opts.saveExact === true || opts.savePrefix === "") return "patch"; return opts.savePrefix === "~" ? "minor" : "major"; } } }); // ../pkg-manager/plugin-commands-installation/lib/getSaveType.js var require_getSaveType = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/getSaveType.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getSaveType = getSaveType; function getSaveType(opts) { if (opts.saveDev === true || opts.savePeer) return "devDependencies"; if (opts.saveOptional) return "optionalDependencies"; if (opts.saveProd) return "dependencies"; return void 0; } } }); // ../pkg-manager/plugin-commands-installation/lib/nodeExecPath.js var require_nodeExecPath = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/nodeExecPath.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getNodeExecPath = getNodeExecPath; var fs_1 = require("fs"); var which_1 = __importDefault2(require_lib20()); async function getNodeExecPath() { try { const nodeExecPath = await (0, which_1.default)("node"); return fs_1.promises.realpath(nodeExecPath); } catch (err) { if (err["code"] !== "ENOENT") throw err; return process.env.NODE ?? process.execPath; } } } }); // ../pkg-manager/plugin-commands-installation/lib/updateWorkspaceDependencies.js var require_updateWorkspaceDependencies = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/updateWorkspaceDependencies.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.updateToWorkspacePackagesFromManifest = updateToWorkspacePackagesFromManifest; exports2.createWorkspaceSpecs = createWorkspaceSpecs; var error_1 = require_lib6(); var parse_wanted_dependency_1 = require_lib100(); function updateToWorkspacePackagesFromManifest(manifest, include, workspacePackages) { const allDeps = { ...include.devDependencies ? manifest.devDependencies : {}, ...include.dependencies ? manifest.dependencies : {}, ...include.optionalDependencies ? manifest.optionalDependencies : {} }; return Object.keys(allDeps).filter((depName) => workspacePackages.has(depName)).map((depName) => `${depName}@workspace:*`); } function createWorkspaceSpecs(specs, workspacePackages) { return specs.map((spec) => { const parsed = (0, parse_wanted_dependency_1.parseWantedDependency)(spec); if (!parsed.alias) throw new error_1.PnpmError("NO_PKG_NAME_IN_SPEC", `Cannot update/install from workspace through "${spec}"`); if (!workspacePackages.has(parsed.alias)) throw new error_1.PnpmError("WORKSPACE_PACKAGE_NOT_FOUND", `"${parsed.alias}" not found in the workspace`); if (!parsed.bareSpecifier) return `${parsed.alias}@workspace:*`; if (parsed.bareSpecifier.startsWith("workspace:")) return spec; return `${parsed.alias}@workspace:${parsed.bareSpecifier}`; }); } } }); // ../pkg-manager/plugin-commands-installation/lib/recursive.js var require_recursive2 = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/recursive.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.recursive = recursive; exports2.matchDependencies = matchDependencies; exports2.createMatcher = createMatcher; exports2.parseUpdateParam = parseUpdateParam; exports2.makeIgnorePatterns = makeIgnorePatterns; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var error_1 = require_lib6(); var get_context_1 = require_lib124(); var logger_1 = require_lib(); var manifest_utils_1 = require_lib10(); var matcher_1 = require_lib19(); var plugin_commands_rebuild_1 = require_lib131(); var pnpmfile_1 = require_lib102(); var sort_packages_1 = require_lib130(); var store_connection_manager_1 = require_lib94(); var workspace_manifest_writer_1 = require_lib97(); var core_1 = require_lib171(); var is_subdir_1 = __importDefault2(require_is_subdir()); var mem_1 = __importDefault2(require_dist15()); var p_filter_1 = __importDefault2(require_p_filter()); var p_limit_12 = __importDefault2(require_p_limit()); var updateWorkspaceDependencies_js_1 = require_updateWorkspaceDependencies(); var getSaveType_js_1 = require_getSaveType(); var getPinnedVersion_js_1 = require_getPinnedVersion(); async function recursive(allProjects, params, opts, cmdFullName) { if (allProjects.length === 0) { return false; } const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package); if (pkgs.length === 0) { return false; } const manifestsByPath = getManifestsByPath(allProjects); const throwOnFail = cli_utils_1.throwOnCommandFail.bind(null, `pnpm recursive ${cmdFullName}`); const store = opts.storeControllerAndDir ?? await (0, store_connection_manager_1.createOrConnectStoreController)(opts); const workspacePackages = (0, get_context_1.arrayOfWorkspacePackagesToMap)(allProjects); const targetDependenciesField = (0, getSaveType_js_1.getSaveType)(opts); const rootManifestDir = opts.lockfileDir ?? opts.dir; const installOpts = Object.assign(opts, { ...(0, config_1.getOptionsFromRootManifest)(rootManifestDir, manifestsByPath[rootManifestDir]?.manifest ?? {}), allProjects: getAllProjects(manifestsByPath, opts.allProjectsGraph, opts.sort), linkWorkspacePackagesDepth: opts.linkWorkspacePackages === "deep" ? Infinity : opts.linkWorkspacePackages ? 0 : -1, ownLifecycleHooksStdio: "pipe", peer: opts.savePeer, pruneLockfileImporters: opts.pruneLockfileImporters ?? ((opts.ignoredPackages == null || opts.ignoredPackages.size === 0) && pkgs.length === allProjects.length), saveCatalogName: opts.saveCatalogName, storeController: store.ctrl, storeDir: store.dir, targetDependenciesField, workspacePackages, forceHoistPattern: typeof opts.rawLocalConfig?.["hoist-pattern"] !== "undefined" || typeof opts.rawLocalConfig?.["hoist"] !== "undefined", forceShamefullyHoist: typeof opts.rawLocalConfig?.["shamefully-hoist"] !== "undefined" }); const result2 = {}; const memReadLocalConfig = (0, mem_1.default)(config_1.readLocalConfig); const updateToLatest = opts.update && opts.latest; const includeDirect = opts.includeDirect ?? { dependencies: true, devDependencies: true, optionalDependencies: true }; let updateMatch; if (cmdFullName === "update") { if (params.length === 0) { const ignoreDeps = manifestsByPath[opts.workspaceDir]?.manifest?.pnpm?.updateConfig?.ignoreDependencies; if (ignoreDeps?.length) { params = makeIgnorePatterns(ignoreDeps); } } updateMatch = params.length ? createMatcher(params) : null; } else { updateMatch = null; } if (opts.lockfileDir && ["add", "install", "remove", "update", "import"].includes(cmdFullName)) { let importers = getImporters(opts); const calculatedRepositoryRoot = await fs_1.promises.realpath(calculateRepositoryRoot(opts.workspaceDir, importers.map((x) => x.rootDir))); const isFromWorkspace = is_subdir_1.default.bind(null, calculatedRepositoryRoot); importers = await (0, p_filter_1.default)(importers, async ({ rootDirRealPath }) => isFromWorkspace(rootDirRealPath)); if (importers.length === 0) return true; let mutation; switch (cmdFullName) { case "remove": mutation = "uninstallSome"; break; case "import": mutation = "install"; break; default: mutation = params.length === 0 && !updateToLatest ? "install" : "installSome"; break; } const mutatedImporters = []; await Promise.all(importers.map(async ({ rootDir }) => { const localConfig = await memReadLocalConfig(rootDir); const modulesDir = localConfig.modulesDir ?? opts.modulesDir; const { manifest } = manifestsByPath[rootDir]; let currentInput = [...params]; if (updateMatch != null) { currentInput = matchDependencies(updateMatch, manifest, includeDirect); if (currentInput.length === 0 && (typeof opts.depth === "undefined" || opts.depth <= 0)) { installOpts.pruneLockfileImporters = false; return; } } if (updateToLatest && (!params || params.length === 0)) { currentInput = Object.keys((0, manifest_utils_1.filterDependenciesByType)(manifest, includeDirect)); } if (opts.workspace) { if (!currentInput || currentInput.length === 0) { currentInput = (0, updateWorkspaceDependencies_js_1.updateToWorkspacePackagesFromManifest)(manifest, includeDirect, workspacePackages); } else { currentInput = (0, updateWorkspaceDependencies_js_1.createWorkspaceSpecs)(currentInput, workspacePackages); } } switch (mutation) { case "uninstallSome": mutatedImporters.push({ dependencyNames: currentInput, modulesDir, mutation, rootDir, targetDependenciesField }); return; case "installSome": mutatedImporters.push({ allowNew: cmdFullName === "install" || cmdFullName === "add", dependencySelectors: currentInput, modulesDir, mutation, peer: opts.savePeer, pinnedVersion: (0, getPinnedVersion_js_1.getPinnedVersion)({ saveExact: typeof localConfig.saveExact === "boolean" ? localConfig.saveExact : opts.saveExact, savePrefix: typeof localConfig.savePrefix === "string" ? localConfig.savePrefix : opts.savePrefix }), rootDir, targetDependenciesField, update: opts.update, updateMatching: opts.updateMatching, updatePackageManifest: opts.updatePackageManifest, updateToLatest: opts.latest }); return; case "install": mutatedImporters.push({ modulesDir, mutation, pruneDirectDependencies: opts.pruneDirectDependencies, rootDir, update: opts.update, updateMatching: opts.updateMatching, updatePackageManifest: opts.updatePackageManifest, updateToLatest: opts.latest }); } })); if (!opts.selectedProjectsGraph[opts.workspaceDir] && manifestsByPath[opts.workspaceDir] != null) { mutatedImporters.push({ mutation: "install", rootDir: opts.workspaceDir }); } if (mutatedImporters.length === 0 && cmdFullName === "update" && opts.depth === 0) { throw new error_1.PnpmError("NO_PACKAGE_IN_DEPENDENCIES", "None of the specified packages were found in the dependencies of any of the projects."); } const { updatedCatalogs: updatedCatalogs2, updatedProjects: mutatedPkgs, ignoredBuilds } = await (0, core_1.mutateModules)(mutatedImporters, { ...installOpts, storeController: store.ctrl }); if (opts.save !== false) { const promises = mutatedPkgs.map(async ({ originalManifest, manifest, rootDir }) => { return manifestsByPath[rootDir].writeProjectManifest(originalManifest ?? manifest); }); promises.push((0, workspace_manifest_writer_1.updateWorkspaceManifest)(opts.workspaceDir, { updatedCatalogs: updatedCatalogs2, cleanupUnusedCatalogs: opts.cleanupUnusedCatalogs, allProjects })); await Promise.all(promises); } if (opts.strictDepBuilds && ignoredBuilds?.size) { throw new core_1.IgnoredBuildsError(ignoredBuilds); } return true; } const pkgPaths = Object.keys(opts.selectedProjectsGraph).sort(); let updatedCatalogs; const limitInstallation = (0, p_limit_12.default)((0, config_1.getWorkspaceConcurrency)(opts.workspaceConcurrency)); await Promise.all(pkgPaths.map(async (rootDir) => limitInstallation(async () => { const hooks = opts.ignorePnpmfile ? {} : (() => { const { hooks: pnpmfileHooks } = (0, pnpmfile_1.requireHooks)(rootDir, opts); return { ...opts.hooks, ...pnpmfileHooks, afterAllResolved: [...pnpmfileHooks.afterAllResolved ?? [], ...opts.hooks?.afterAllResolved ?? []], readPackage: [...pnpmfileHooks.readPackage ?? [], ...opts.hooks?.readPackage ?? []] }; })(); try { if (opts.ignoredPackages?.has(rootDir)) { return; } result2[rootDir] = { status: "running" }; const { manifest, writeProjectManifest } = manifestsByPath[rootDir]; let currentInput = [...params]; if (updateMatch != null) { currentInput = matchDependencies(updateMatch, manifest, includeDirect); if (currentInput.length === 0) return; } if (updateToLatest && (!params || params.length === 0)) { currentInput = Object.keys((0, manifest_utils_1.filterDependenciesByType)(manifest, includeDirect)); } if (opts.workspace) { if (!currentInput || currentInput.length === 0) { currentInput = (0, updateWorkspaceDependencies_js_1.updateToWorkspacePackagesFromManifest)(manifest, includeDirect, workspacePackages); } else { currentInput = (0, updateWorkspaceDependencies_js_1.createWorkspaceSpecs)(currentInput, workspacePackages); } } let action; switch (cmdFullName) { case "remove": action = async (manifest2, opts2) => { const mutationResult = await (0, core_1.mutateModules)([ { dependencyNames: currentInput, mutation: "uninstallSome", rootDir } ], opts2); return { updatedCatalogs: void 0, // there's no reason to add new or update catalogs on `pnpm remove` updatedManifest: mutationResult.updatedProjects[0].manifest, ignoredBuilds: mutationResult.ignoredBuilds }; }; break; default: action = currentInput.length === 0 ? core_1.install : async (manifest2, opts2) => (0, core_1.addDependenciesToPackage)(manifest2, currentInput, opts2); break; } const localConfig = await memReadLocalConfig(rootDir); const { updatedCatalogs: newCatalogsAddition, updatedManifest: newManifest, ignoredBuilds } = await action(manifest, { ...installOpts, ...localConfig, ...(0, config_1.getOptionsFromRootManifest)(rootDir, manifest), ...opts.allProjectsGraph[rootDir]?.package, bin: path_1.default.join(rootDir, "node_modules", ".bin"), dir: rootDir, hooks, ignoreScripts: true, pinnedVersion: (0, getPinnedVersion_js_1.getPinnedVersion)({ saveExact: typeof localConfig.saveExact === "boolean" ? localConfig.saveExact : opts.saveExact, savePrefix: typeof localConfig.savePrefix === "string" ? localConfig.savePrefix : opts.savePrefix }), rawConfig: { ...installOpts.rawConfig, ...localConfig }, storeController: store.ctrl }); if (opts.save !== false) { await writeProjectManifest(newManifest); if (newCatalogsAddition) { updatedCatalogs ??= {}; Object.assign(updatedCatalogs, newCatalogsAddition); } } if (opts.strictDepBuilds && ignoredBuilds?.size) { throw new core_1.IgnoredBuildsError(ignoredBuilds); } result2[rootDir].status = "passed"; } catch (err) { logger_1.logger.info(err); if (!opts.bail) { result2[rootDir] = { status: "failure", error: err, message: err.message, prefix: rootDir }; return; } err["prefix"] = rootDir; throw err; } }))); await (0, workspace_manifest_writer_1.updateWorkspaceManifest)(opts.workspaceDir, { updatedCatalogs, cleanupUnusedCatalogs: opts.cleanupUnusedCatalogs, allProjects }); if (!opts.lockfileOnly && !opts.ignoreScripts && (cmdFullName === "add" || cmdFullName === "install" || cmdFullName === "update")) { await plugin_commands_rebuild_1.rebuild.handler({ ...opts, pending: opts.pending === true, skipIfHasSideEffectsCache: true }, []); } throwOnFail(result2); if (!Object.values(result2).filter(({ status }) => status === "passed").length && cmdFullName === "update" && opts.depth === 0) { throw new error_1.PnpmError("NO_PACKAGE_IN_DEPENDENCIES", "None of the specified packages were found in the dependencies of any of the projects."); } return true; } function calculateRepositoryRoot(workspaceDir, projectDirs) { let relativeRepoRoot = "."; for (const rootDir of projectDirs) { const relativePartRegExp = new RegExp(`^(\\.\\.\\${path_1.default.sep})+`); const relativePartMatch = relativePartRegExp.exec(path_1.default.relative(workspaceDir, rootDir)); if (relativePartMatch != null) { const relativePart = relativePartMatch[0]; if (relativePart.length > relativeRepoRoot.length) { relativeRepoRoot = relativePart; } } } return path_1.default.resolve(workspaceDir, relativeRepoRoot); } function matchDependencies(match, manifest, include) { const deps = Object.keys((0, manifest_utils_1.filterDependenciesByType)(manifest, include)); const matchedDeps = []; for (const dep of deps) { const spec = match(dep); if (spec === null) continue; matchedDeps.push(spec ? `${dep}@${spec}` : dep); } return matchedDeps; } function createMatcher(params) { const patterns = []; const specs = []; for (const param of params) { const { pattern, versionSpec } = parseUpdateParam(param); patterns.push(pattern); specs.push(versionSpec ?? ""); } const matcher = (0, matcher_1.createMatcherWithIndex)(patterns); return (depName) => { const index = matcher(depName); if (index === -1) return null; return specs[index]; }; } function parseUpdateParam(param) { const atIndex = param.indexOf("@", param[0] === "!" ? 2 : 1); if (atIndex === -1) { return { pattern: param, versionSpec: void 0 }; } return { pattern: param.slice(0, atIndex), versionSpec: param.slice(atIndex + 1) }; } function makeIgnorePatterns(ignoredDependencies) { return ignoredDependencies.map((depName) => `!${depName}`); } function getAllProjects(manifestsByPath, allProjectsGraph, sort) { const chunks = sort !== false ? (0, sort_packages_1.sortPackages)(allProjectsGraph) : [Object.keys(allProjectsGraph).sort()]; return chunks.map((prefixes, buildIndex) => prefixes.map((rootDir) => { const { rootDirRealPath, modulesDir } = allProjectsGraph[rootDir].package; return { buildIndex, manifest: manifestsByPath[rootDir].manifest, rootDir, rootDirRealPath, modulesDir }; })).flat(); } function getManifestsByPath(projects) { const manifestsByPath = {}; for (const { rootDir, manifest, writeProjectManifest } of projects) { manifestsByPath[rootDir] = { manifest, writeProjectManifest }; } return manifestsByPath; } function getImporters(opts) { let rootDirs = Object.keys(opts.selectedProjectsGraph); if (opts.ignoredPackages != null) { rootDirs = rootDirs.filter((rootDir) => !opts.ignoredPackages.has(rootDir)); } return rootDirs.map((rootDir) => ({ rootDir, rootDirRealPath: opts.selectedProjectsGraph[rootDir].package.rootDirRealPath })); } } }); // ../pkg-manager/plugin-commands-installation/lib/installDeps.js var require_installDeps = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/installDeps.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.installDeps = installDeps; var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var deps_status_1 = require_lib151(); var error_1 = require_lib6(); var get_context_1 = require_lib124(); var filter_workspace_packages_1 = require_lib108(); var manifest_utils_1 = require_lib10(); var workspace_find_packages_1 = require_lib105(); var plugin_commands_rebuild_1 = require_lib131(); var store_connection_manager_1 = require_lib94(); var core_1 = require_lib171(); var logger_1 = require_lib(); var sort_packages_1 = require_lib130(); var workspace_manifest_writer_1 = require_lib97(); var workspace_pkgs_graph_1 = require_lib107(); var workspace_state_1 = require_lib150(); var is_subdir_1 = __importDefault2(require_is_subdir()); var getPinnedVersion_js_1 = require_getPinnedVersion(); var getSaveType_js_1 = require_getSaveType(); var nodeExecPath_js_1 = require_nodeExecPath(); var recursive_js_1 = require_recursive2(); var updateWorkspaceDependencies_js_1 = require_updateWorkspaceDependencies(); var OVERWRITE_UPDATE_OPTIONS = { allowNew: true, update: false }; async function installDeps(opts, params) { if (!opts.update && !opts.dedupe && params.length === 0 && opts.optimisticRepeatInstall) { const { upToDate } = await (0, deps_status_1.checkDepsStatus)({ ...opts, ignoreFilteredInstallCache: true }); if (upToDate) { (0, logger_1.globalInfo)("Already up to date"); return; } } if (opts.workspace) { if (opts.latest) { throw new error_1.PnpmError("BAD_OPTIONS", "Cannot use --latest with --workspace simultaneously"); } if (!opts.workspaceDir) { throw new error_1.PnpmError("WORKSPACE_OPTION_OUTSIDE_WORKSPACE", "--workspace can only be used inside a workspace"); } if (!opts.linkWorkspacePackages && !opts.saveWorkspaceProtocol) { if (opts.rawLocalConfig["save-workspace-protocol"] === false) { throw new error_1.PnpmError("BAD_OPTIONS", "This workspace has link-workspace-packages turned off, so dependencies are linked from the workspace only when the workspace protocol is used. Either set link-workspace-packages to true or don't use the --no-save-workspace-protocol option when running add/update with the --workspace option"); } else { opts.saveWorkspaceProtocol = true; } } opts["preserveWorkspaceProtocol"] = !opts.linkWorkspacePackages; } const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); const includeDirect = opts.includeDirect ?? { dependencies: true, devDependencies: true, optionalDependencies: true }; const forceHoistPattern = typeof opts.rawLocalConfig["hoist-pattern"] !== "undefined" || typeof opts.rawLocalConfig["hoist"] !== "undefined"; const forcePublicHoistPattern = typeof opts.rawLocalConfig["shamefully-hoist"] !== "undefined" || typeof opts.rawLocalConfig["public-hoist-pattern"] !== "undefined"; const allProjects = opts.allProjects ?? (opts.workspaceDir ? await (0, workspace_find_packages_1.findWorkspacePackages)(opts.workspaceDir, { ...opts, patterns: opts.workspacePackagePatterns }) : []); if (opts.workspaceDir) { const selectedProjectsGraph = opts.selectedProjectsGraph ?? selectProjectByDir(allProjects, opts.dir); if (selectedProjectsGraph != null) { const sequencedGraph = (0, sort_packages_1.sequenceGraph)(selectedProjectsGraph); if (!opts.ignoreWorkspaceCycles && !sequencedGraph.safe) { const cyclicDependenciesInfo = sequencedGraph.cycles.length > 0 ? `: ${sequencedGraph.cycles.map((deps) => deps.join(", ")).join("; ")}` : ""; if (opts.disallowWorkspaceCycles) { throw new error_1.PnpmError("DISALLOW_WORKSPACE_CYCLES", `There are cyclic workspace dependencies${cyclicDependenciesInfo}`); } logger_1.logger.warn({ message: `There are cyclic workspace dependencies${cyclicDependenciesInfo}`, prefix: opts.workspaceDir }); } const allProjectsGraph = opts.allProjectsGraph ?? (0, workspace_pkgs_graph_1.createPkgGraph)(allProjects, { linkWorkspacePackages: Boolean(opts.linkWorkspacePackages) }).graph; await recursiveInstallThenUpdateWorkspaceState(allProjects, params, { ...opts, ...(0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest ?? {}), forceHoistPattern, forcePublicHoistPattern, allProjectsGraph, selectedProjectsGraph, storeControllerAndDir: store, workspaceDir: opts.workspaceDir }, opts.update ? "update" : params.length === 0 ? "install" : "add"); return; } } params = params.filter(Boolean); const dir = opts.dir || process.cwd(); let workspacePackages; if (opts.workspaceDir) { workspacePackages = (0, get_context_1.arrayOfWorkspacePackagesToMap)(allProjects); } let { manifest, writeProjectManifest } = await (0, cli_utils_1.tryReadProjectManifest)(opts.dir, opts); if (manifest === null) { if (opts.update === true || params.length === 0) { throw new error_1.PnpmError("NO_PKG_MANIFEST", `No package.json found in ${opts.dir}`); } manifest = {}; } const installOpts = { ...opts, ...(0, config_1.getOptionsFromRootManifest)(opts.dir, opts.dir === opts.rootProjectManifestDir ? opts.rootProjectManifest ?? manifest : manifest), forceHoistPattern, forcePublicHoistPattern, // In case installation is done in a multi-package repository // The dependencies should be built first, // so ignoring scripts for now ignoreScripts: !!workspacePackages || opts.ignoreScripts, linkWorkspacePackagesDepth: opts.linkWorkspacePackages === "deep" ? Infinity : opts.linkWorkspacePackages ? 0 : -1, sideEffectsCacheRead: opts.sideEffectsCache ?? opts.sideEffectsCacheReadonly, sideEffectsCacheWrite: opts.sideEffectsCache, storeController: store.ctrl, storeDir: store.dir, workspacePackages }; if (opts.global && opts.pnpmHomeDir != null) { const nodeExecPath = await (0, nodeExecPath_js_1.getNodeExecPath)(); if ((0, is_subdir_1.default)(opts.pnpmHomeDir, nodeExecPath)) { installOpts["nodeExecPath"] = nodeExecPath; } } let updateMatch; let updatePackageManifest = opts.updatePackageManifest; let updateMatching; if (opts.update) { if (params.length === 0) { const ignoreDeps = opts.updateConfig?.ignoreDependencies; if (ignoreDeps?.length) { params = (0, recursive_js_1.makeIgnorePatterns)(ignoreDeps); } } updateMatch = params.length ? (0, recursive_js_1.createMatcher)(params) : null; } else { updateMatch = null; } if (updateMatch != null) { params = (0, recursive_js_1.matchDependencies)(updateMatch, manifest, includeDirect); if (params.length === 0) { if (opts.latest) return; if (opts.depth === 0) { throw new error_1.PnpmError("NO_PACKAGE_IN_DEPENDENCIES", "None of the specified packages were found in the dependencies."); } updatePackageManifest = false; updateMatching = (pkgName) => updateMatch(pkgName) != null; } } if (opts.update && opts.latest && (!params || params.length === 0)) { params = Object.keys((0, manifest_utils_1.filterDependenciesByType)(manifest, includeDirect)); } if (opts.workspace) { if (!params || params.length === 0) { params = (0, updateWorkspaceDependencies_js_1.updateToWorkspacePackagesFromManifest)(manifest, includeDirect, workspacePackages); } else { params = (0, updateWorkspaceDependencies_js_1.createWorkspaceSpecs)(params, workspacePackages); } } if (params?.length) { const mutatedProject = { allowNew: opts.allowNew, binsDir: opts.bin, dependencySelectors: params, manifest, mutation: "installSome", peer: opts.savePeer, pinnedVersion: (0, getPinnedVersion_js_1.getPinnedVersion)(opts), rootDir: opts.dir, targetDependenciesField: (0, getSaveType_js_1.getSaveType)(opts) }; const { updatedCatalogs: updatedCatalogs2, updatedProject, ignoredBuilds: ignoredBuilds2 } = await (0, core_1.mutateModulesInSingleProject)(mutatedProject, installOpts); if (opts.save !== false) { await Promise.all([ writeProjectManifest(updatedProject.manifest), (0, workspace_manifest_writer_1.updateWorkspaceManifest)(opts.workspaceDir ?? opts.dir, { updatedCatalogs: updatedCatalogs2, cleanupUnusedCatalogs: opts.cleanupUnusedCatalogs, allProjects: opts.allProjects }) ]); } if (!opts.lockfileOnly) { await (0, workspace_state_1.updateWorkspaceState)({ allProjects, settings: opts, workspaceDir: opts.workspaceDir ?? opts.lockfileDir ?? opts.dir, pnpmfiles: opts.pnpmfile, filteredInstall: allProjects.length !== Object.keys(opts.selectedProjectsGraph ?? {}).length, configDependencies: opts.configDependencies }); } if (opts.strictDepBuilds && ignoredBuilds2?.size) { throw new core_1.IgnoredBuildsError(ignoredBuilds2); } return; } const { updatedCatalogs, updatedManifest, ignoredBuilds } = await (0, core_1.install)(manifest, { ...installOpts, updatePackageManifest, updateMatching }); if (opts.update === true && opts.save !== false) { await Promise.all([ writeProjectManifest(updatedManifest), (0, workspace_manifest_writer_1.updateWorkspaceManifest)(opts.workspaceDir ?? opts.dir, { updatedCatalogs, cleanupUnusedCatalogs: opts.cleanupUnusedCatalogs, allProjects }) ]); } if (opts.strictDepBuilds && ignoredBuilds?.size) { throw new core_1.IgnoredBuildsError(ignoredBuilds); } if (opts.linkWorkspacePackages && opts.workspaceDir) { const { selectedProjectsGraph } = await (0, filter_workspace_packages_1.filterPkgsBySelectorObjects)(allProjects, [ { excludeSelf: true, includeDependencies: true, parentDir: dir } ], { workspaceDir: opts.workspaceDir }); await recursiveInstallThenUpdateWorkspaceState(allProjects, [], { ...opts, ...OVERWRITE_UPDATE_OPTIONS, allProjectsGraph: opts.allProjectsGraph, selectedProjectsGraph, workspaceDir: opts.workspaceDir // Otherwise TypeScript doesn't understand that is not undefined }, "install"); if (opts.ignoreScripts) return; await (0, plugin_commands_rebuild_1.rebuildProjects)([ { buildIndex: 0, manifest: await (0, cli_utils_1.readProjectManifestOnly)(opts.dir, opts), rootDir: opts.dir } ], { ...opts, pending: true, storeController: store.ctrl, storeDir: store.dir, skipIfHasSideEffectsCache: true }); } else { if (!opts.lockfileOnly) { await (0, workspace_state_1.updateWorkspaceState)({ allProjects, settings: opts, workspaceDir: opts.workspaceDir ?? opts.lockfileDir ?? opts.dir, pnpmfiles: opts.pnpmfile, filteredInstall: allProjects.length !== Object.keys(opts.selectedProjectsGraph ?? {}).length, configDependencies: opts.configDependencies }); } } } function selectProjectByDir(projects, searchedDir) { const project = projects.find(({ rootDir }) => path_1.default.relative(rootDir, searchedDir) === ""); if (project == null) return void 0; return { [searchedDir]: { dependencies: [], package: project } }; } async function recursiveInstallThenUpdateWorkspaceState(allProjects, params, opts, cmdFullName) { const recursiveResult = await (0, recursive_js_1.recursive)(allProjects, params, opts, cmdFullName); if (!opts.lockfileOnly) { await (0, workspace_state_1.updateWorkspaceState)({ allProjects, settings: opts, workspaceDir: opts.workspaceDir, pnpmfiles: opts.pnpmfile, filteredInstall: allProjects.length !== Object.keys(opts.selectedProjectsGraph ?? {}).length, configDependencies: opts.configDependencies }); } return recursiveResult; } } }); // ../pkg-manager/plugin-commands-installation/lib/add.js var require_add2 = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/add.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var config_deps_installer_1 = require_lib101(); var error_1 = require_lib6(); var plugin_commands_env_1 = require_lib112(); var store_connection_manager_1 = require_lib94(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var getFetchFullMetadata_js_1 = require_getFetchFullMetadata(); var installDeps_js_1 = require_installDeps(); var config_config_writer_1 = require_lib98(); exports2.shorthands = { "save-catalog": "--save-catalog-name=default" }; function rcOptionsTypes() { return (0, pick_1.default)([ "cache-dir", "cpu", "child-concurrency", "dangerously-allow-all-builds", "engine-strict", "fetch-retries", "fetch-retry-factor", "fetch-retry-maxtimeout", "fetch-retry-mintimeout", "fetch-timeout", "force", "global-bin-dir", "global-dir", "global-pnpmfile", "global", "hoist", "hoist-pattern", "https-proxy", "ignore-pnpmfile", "ignore-scripts", "ignore-workspace-root-check", "libc", "link-workspace-packages", "lockfile-dir", "lockfile-directory", "lockfile-only", "lockfile", "modules-dir", "network-concurrency", "node-linker", "noproxy", "npm-path", "os", "package-import-method", "pnpmfile", "prefer-offline", "production", "proxy", "public-hoist-pattern", "registry", "reporter", "save-catalog-name", "save-dev", "save-exact", "save-optional", "save-peer", "save-prefix", "save-prod", "save-workspace-protocol", "shamefully-flatten", "shamefully-hoist", "shared-workspace-lockfile", "side-effects-cache-readonly", "side-effects-cache", "store-dir", "strict-peer-dependencies", "trust-policy", "trust-policy-exclude", "unsafe-perm", "offline", "only", "optional", "use-running-store-server", "use-store-server", "verify-store-integrity", "virtual-store-dir" ], config_1.types); } function cliOptionsTypes() { return { ...rcOptionsTypes(), "allow-build": [String, Array], recursive: Boolean, save: Boolean, workspace: Boolean, config: Boolean }; } exports2.commandNames = ["add"]; function help() { return (0, render_help_1.default)({ description: "Installs a package and any packages that it depends on.", descriptionLists: [ { title: "Options", list: [ { description: "Save package to your `dependencies`. The default behavior", name: "--save-prod", shortAlias: "-P" }, { description: "Save package to your `devDependencies`", name: "--save-dev", shortAlias: "-D" }, { description: "Save package to your `optionalDependencies`", name: "--save-optional", shortAlias: "-O" }, { description: "Save package to your `peerDependencies` and `devDependencies`", name: "--save-peer" }, { description: "Save package to the default catalog", name: "--save-catalog" }, { description: "Save package to the specified catalog", name: "--save-catalog-name=" }, { description: "Install exact version", name: "--[no-]save-exact", shortAlias: "-E" }, { description: 'Save packages from the workspace with a "workspace:" protocol. True by default', name: "--[no-]save-workspace-protocol" }, { description: "Install as a global package", name: "--global", shortAlias: "-g" }, { description: 'Run installation recursively in every package found in subdirectories or in every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, { description: "Only adds the new dependency if it is found in the workspace", name: "--workspace" }, { description: "Save the dependency to configurational dependencies", name: "--config" }, common_cli_options_help_1.OPTIONS.ignoreScripts, common_cli_options_help_1.OPTIONS.offline, common_cli_options_help_1.OPTIONS.preferOffline, common_cli_options_help_1.OPTIONS.storeDir, common_cli_options_help_1.OPTIONS.virtualStoreDir, common_cli_options_help_1.OPTIONS.globalDir, ...common_cli_options_help_1.UNIVERSAL_OPTIONS, { description: "A list of package names that are allowed to run postinstall scripts during installation", name: "--allow-build" } ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("add"), usages: [ "pnpm add ", "pnpm add @", "pnpm add @", "pnpm add @", "pnpm add :/", "pnpm add ", "pnpm add ", "pnpm add ", "pnpm add " ] }); } async function handler(opts, params) { if (opts.cliOptions["save"] === false) { throw new error_1.PnpmError("OPTION_NOT_SUPPORTED", 'The "add" command currently does not support the no-save option'); } if (!params || params.length === 0) { throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "`pnpm add` requires the package name"); } if (opts.config) { const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); await (0, config_deps_installer_1.resolveConfigDeps)(params, { ...opts, store: store.ctrl, rootDir: opts.workspaceDir ?? opts.rootProjectManifestDir }); return; } if (!opts.recursive && opts.workspaceDir === opts.dir && !opts.ignoreWorkspaceRootCheck && !opts.workspaceRoot && opts.workspacePackagePatterns && opts.workspacePackagePatterns.length > 1) { throw new error_1.PnpmError("ADDING_TO_ROOT", "Running this command will add the dependency to the workspace root, which might not be what you want - if you really meant it, make it explicit by running this command again with the -w flag (or --workspace-root). If you don't want to see this warning anymore, you may set the ignore-workspace-root-check setting to true."); } if (opts.global) { if (!opts.bin) { throw new error_1.PnpmError("NO_GLOBAL_BIN_DIR", "Unable to find the global bin directory", { hint: 'Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.' }); } if (params.includes("pnpm") || params.includes("@pnpm/exe")) { throw new error_1.PnpmError("GLOBAL_PNPM_INSTALL", 'Use the "pnpm self-update" command to install or update pnpm'); } } const include = { dependencies: opts.production !== false, devDependencies: opts.dev !== false, optionalDependencies: opts.optional !== false }; if (opts.allowBuild?.length) { if (opts.argv.original.includes("--allow-build")) { throw new error_1.PnpmError("ALLOW_BUILD_MISSING_PACKAGE", "The --allow-build flag is missing a package name. Please specify the package name(s) that are allowed to run installation scripts."); } if (opts.rootProjectManifest?.pnpm?.ignoredBuiltDependencies?.length) { const overlapDependencies = opts.rootProjectManifest.pnpm.ignoredBuiltDependencies.filter((dep) => opts.allowBuild?.includes(dep)); if (overlapDependencies.length) { throw new error_1.PnpmError("OVERRIDING_IGNORED_BUILT_DEPENDENCIES", `The following dependencies are ignored by the root project, but are allowed to be built by the current command: ${overlapDependencies.join(", ")}`, { hint: "If you are sure you want to allow those dependencies to run installation scripts, remove them from the pnpm.ignoredBuiltDependencies list." }); } } opts.onlyBuiltDependencies = Array.from(/* @__PURE__ */ new Set([ ...opts.onlyBuiltDependencies ?? [], ...opts.allowBuild ])).sort((a, b) => a.localeCompare(b)); if (opts.rootProjectManifestDir) { opts.rootProjectManifest = opts.rootProjectManifest ?? {}; await (0, config_config_writer_1.writeSettings)({ ...opts, workspaceDir: opts.workspaceDir ?? opts.rootProjectManifestDir, updatedSettings: { onlyBuiltDependencies: opts.onlyBuiltDependencies } }); } } return (0, installDeps_js_1.installDeps)({ ...opts, fetchFullMetadata: (0, getFetchFullMetadata_js_1.getFetchFullMetadata)(opts), include, includeDirect: include, prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts) }, params); } } }); // ../pkg-manager/plugin-commands-installation/lib/ci.js var require_ci = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/ci.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var error_1 = require_lib6(); var render_help_1 = __importDefault2(require_lib109()); var rcOptionsTypes = () => ({}); exports2.rcOptionsTypes = rcOptionsTypes; var cliOptionsTypes = () => ({}); exports2.cliOptionsTypes = cliOptionsTypes; exports2.shorthands = {}; exports2.commandNames = ["ci", "clean-install", "ic", "install-clean"]; function help() { return (0, render_help_1.default)({ aliases: ["clean-install", "ic", "install-clean"], description: "Clean install a project", descriptionLists: [], url: (0, cli_utils_1.docsUrl)("ci"), usages: ["pnpm ci"] }); } async function handler(opts) { throw new error_1.PnpmError("CI_NOT_IMPLEMENTED", "The ci command is not implemented yet"); } } }); // ../dedupe/check/lib/DedupeCheckIssuesError.js var require_DedupeCheckIssuesError = __commonJS({ "../dedupe/check/lib/DedupeCheckIssuesError.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DedupeCheckIssuesError = void 0; var error_1 = require_lib6(); var DedupeCheckIssuesError = class extends error_1.PnpmError { dedupeCheckIssues; constructor(dedupeCheckIssues) { super("DEDUPE_CHECK_ISSUES", "Dedupe --check found changes to the lockfile"); this.dedupeCheckIssues = dedupeCheckIssues; } }; exports2.DedupeCheckIssuesError = DedupeCheckIssuesError; } }); // ../dedupe/check/lib/dedupeDiffCheck.js var require_dedupeDiffCheck = __commonJS({ "../dedupe/check/lib/dedupeDiffCheck.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.dedupeDiffCheck = dedupeDiffCheck; exports2.countChangedSnapshots = countChangedSnapshots; var types_1 = require_lib9(); var DedupeCheckIssuesError_js_1 = require_DedupeCheckIssuesError(); var PACKAGE_SNAPSHOT_DEP_FIELDS = ["dependencies", "optionalDependencies"]; function dedupeDiffCheck(prev, next) { const issues = { importerIssuesByImporterId: diffSnapshots(prev.importers, next.importers, types_1.DEPENDENCIES_FIELDS), packageIssuesByDepPath: diffSnapshots(prev.packages ?? {}, next.packages ?? {}, PACKAGE_SNAPSHOT_DEP_FIELDS) }; const changesCount = countChangedSnapshots(issues.importerIssuesByImporterId) + countChangedSnapshots(issues.packageIssuesByDepPath); if (changesCount > 0) { throw new DedupeCheckIssuesError_js_1.DedupeCheckIssuesError(issues); } } function diffSnapshots(prev, next, fields) { const removed = []; const updated = {}; for (const [id, prevSnapshot] of Object.entries(prev)) { const nextSnapshot = next[id]; if (nextSnapshot == null) { removed.push(id); continue; } const updates = {}; for (const dependencyField of fields) { Object.assign(updates, getResolutionUpdates(prevSnapshot[dependencyField] ?? {}, nextSnapshot[dependencyField] ?? {})); } if (Object.keys(updates).length > 0) { updated[id] = updates; } } const added = Object.keys(next).filter((id) => prev[id] == null); return { added, removed, updated }; } function getResolutionUpdates(prev, next) { const updates = {}; for (const [alias, prevResolution] of Object.entries(prev)) { const nextResolution = next[alias]; if (prevResolution === nextResolution) { continue; } updates[alias] = nextResolution == null ? { type: "removed", prev: prevResolution } : { type: "updated", prev: prevResolution, next: nextResolution }; } const newAliases = Object.entries(next).filter(([alias]) => prev[alias] == null); for (const [alias, nextResolution] of newAliases) { updates[alias] = { type: "added", next: nextResolution }; } return updates; } function countChangedSnapshots(snapshotChanges) { return snapshotChanges.added.length + snapshotChanges.removed.length + Object.keys(snapshotChanges.updated).length; } } }); // ../dedupe/check/lib/index.js var require_lib172 = __commonJS({ "../dedupe/check/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DedupeCheckIssuesError = exports2.countChangedSnapshots = exports2.dedupeDiffCheck = void 0; var dedupeDiffCheck_js_1 = require_dedupeDiffCheck(); Object.defineProperty(exports2, "dedupeDiffCheck", { enumerable: true, get: function() { return dedupeDiffCheck_js_1.dedupeDiffCheck; } }); Object.defineProperty(exports2, "countChangedSnapshots", { enumerable: true, get: function() { return dedupeDiffCheck_js_1.countChangedSnapshots; } }); var DedupeCheckIssuesError_js_1 = require_DedupeCheckIssuesError(); Object.defineProperty(exports2, "DedupeCheckIssuesError", { enumerable: true, get: function() { return DedupeCheckIssuesError_js_1.DedupeCheckIssuesError; } }); } }); // ../pkg-manager/plugin-commands-installation/lib/install.js var require_install2 = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/install.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var constants_1 = require_lib5(); var plugin_commands_env_1 = require_lib112(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var getFetchFullMetadata_js_1 = require_getFetchFullMetadata(); var installDeps_js_1 = require_installDeps(); function rcOptionsTypes() { return (0, pick_1.default)([ "cache-dir", "child-concurrency", "cpu", "dangerously-allow-all-builds", "dev", "engine-strict", "fetch-retries", "fetch-retry-factor", "fetch-retry-maxtimeout", "fetch-retry-mintimeout", "fetch-timeout", "frozen-lockfile", "global-dir", "global-pnpmfile", "global", "hoist", "hoist-pattern", "https-proxy", "ignore-pnpmfile", "ignore-scripts", "optimistic-repeat-install", "os", "libc", "link-workspace-packages", "lockfile-dir", "lockfile-directory", "lockfile-only", "lockfile", "merge-git-branch-lockfiles", "merge-git-branch-lockfiles-branch-pattern", "modules-dir", "network-concurrency", "node-linker", "noproxy", "package-import-method", "pnpmfile", "prefer-frozen-lockfile", "prefer-offline", "production", "proxy", "public-hoist-pattern", "registry", "reporter", "save-workspace-protocol", "scripts-prepend-node-path", "shamefully-flatten", "shamefully-hoist", "shared-workspace-lockfile", "side-effects-cache-readonly", "side-effects-cache", "store-dir", "strict-peer-dependencies", "trust-policy", "trust-policy-exclude", "offline", "only", "optional", "unsafe-perm", "use-running-store-server", "use-store-server", "verify-store-integrity", "virtual-store-dir" ], config_1.types); } var cliOptionsTypes = () => ({ ...rcOptionsTypes(), ...(0, pick_1.default)(["force"], config_1.types), "fix-lockfile": Boolean, "resolution-only": Boolean, recursive: Boolean }); exports2.cliOptionsTypes = cliOptionsTypes; exports2.shorthands = { D: "--dev", P: "--production" }; exports2.commandNames = ["install", "i"]; function help() { return (0, render_help_1.default)({ aliases: ["i"], description: "Installs all dependencies of the project in the current working directory. When executed inside a workspace, installs all dependencies of all projects.", descriptionLists: [ { title: "Options", list: [ { description: 'Run installation recursively in every package found in subdirectories. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, common_cli_options_help_1.OPTIONS.ignoreScripts, common_cli_options_help_1.OPTIONS.offline, common_cli_options_help_1.OPTIONS.preferOffline, common_cli_options_help_1.OPTIONS.globalDir, { description: "Packages in `devDependencies` won't be installed", name: "--prod", shortAlias: "-P" }, { description: "Only `devDependencies` are installed", name: "--dev", shortAlias: "-D" }, { description: "Skip reinstall if the workspace state is up-to-date", name: "--optimistic-repeat-install" }, { description: "`optionalDependencies` are not installed", name: "--no-optional" }, { description: `Don't read or generate a \`${constants_1.WANTED_LOCKFILE}\` file`, name: "--no-lockfile" }, { description: `Dependencies are not downloaded. Only \`${constants_1.WANTED_LOCKFILE}\` is updated`, name: "--lockfile-only" }, { description: "Don't generate a lockfile and fail if an update is needed. This setting is on by default in CI environments, so use --no-frozen-lockfile if you need to disable it for some reason", name: "--[no-]frozen-lockfile" }, { description: `If the available \`${constants_1.WANTED_LOCKFILE}\` satisfies the \`package.json\` then perform a headless installation`, name: "--prefer-frozen-lockfile" }, { description: `The directory in which the ${constants_1.WANTED_LOCKFILE} of the package will be created. Several projects may share a single lockfile.`, name: "--lockfile-dir " }, { description: "Fix broken lockfile entries automatically", name: "--fix-lockfile" }, { description: "Merge lockfiles were generated on git branch", name: "--merge-git-branch-lockfiles" }, { description: "The directory in which dependencies will be installed (instead of node_modules)", name: "--modules-dir " }, { description: "Dependencies inside the modules directory will have access only to their listed dependencies", name: "--no-hoist" }, { description: "All the subdeps will be hoisted into the root node_modules. Your code will have access to them", name: "--shamefully-hoist" }, { description: "Hoist all dependencies matching the pattern to `node_modules/.pnpm/node_modules`. The default pattern is * and matches everything. Hoisted packages can be required by any dependencies, so it is an emulation of a flat node_modules", name: "--hoist-pattern " }, { description: "Hoist all dependencies matching the pattern to the root of the modules directory", name: "--public-hoist-pattern " }, common_cli_options_help_1.OPTIONS.storeDir, common_cli_options_help_1.OPTIONS.virtualStoreDir, { description: "Maximum number of concurrent network requests", name: "--network-concurrency " }, { description: "Controls the number of child processes run parallelly to build node modules", name: "--child-concurrency " }, { description: "Disable pnpm hooks defined in .pnpmfile.cjs", name: "--ignore-pnpmfile" }, { description: "Ignore pnpm-workspace.yaml if exists in the parent directory, and treat the installation as normal non-workspace installation.", name: "--ignore-workspace" }, { description: "If false, doesn't check whether packages in the store were mutated", name: "--[no-]verify-store-integrity" }, { description: "Fail on missing or invalid peer dependencies", name: "--strict-peer-dependencies" }, { description: "Fail when a package's trust level is downgraded (e.g., from a trusted publisher to provenance only or no trust evidence)", name: "--trust-policy no-downgrade" }, { description: "Exclude specific packages from trust policy checks", name: "--trust-policy-exclude " }, { description: "Starts a store server in the background. The store server will keep running after installation is done. To stop the store server, run `pnpm server stop`", name: "--use-store-server" }, { description: "Only allows installation with a store server. If no store server is running, installation will fail", name: "--use-running-store-server" }, { description: "Clones/hardlinks or copies packages. The selected method depends from the file system", name: "--package-import-method auto" }, { description: "Hardlink packages from the store", name: "--package-import-method hardlink" }, { description: "Copy packages from the store", name: "--package-import-method copy" }, { description: "Clone (aka copy-on-write) packages from the store", name: "--package-import-method clone" }, { description: "Force reinstall dependencies: refetch packages modified in store, recreate a lockfile and/or modules directory created by a non-compatible version of pnpm. Install all optionalDependencies even they don't satisfy the current environment(cpu, os, arch)", name: "--force" }, { description: "Use or cache the results of (pre/post)install hooks", name: "--side-effects-cache" }, { description: "Only use the side effects cache if present, do not create it for new packages", name: "--side-effects-cache-readonly" }, { description: "Re-runs resolution: useful for printing out peer dependency issues", name: "--resolution-only" }, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] }, common_cli_options_help_1.OUTPUT_OPTIONS, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("install"), usages: ["pnpm install [options]"] }); } async function handler(opts) { const include = { dependencies: opts.production !== false, devDependencies: opts.dev !== false, optionalDependencies: opts.optional !== false }; const installDepsOptions = { ...opts, frozenLockfileIfExists: opts.frozenLockfileIfExists ?? (opts.ci && !opts.lockfileOnly && typeof opts.rawLocalConfig["frozen-lockfile"] === "undefined" && typeof opts.rawLocalConfig["prefer-frozen-lockfile"] === "undefined"), include, includeDirect: include, prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts), fetchFullMetadata: (0, getFetchFullMetadata_js_1.getFetchFullMetadata)(opts) }; if (opts.resolutionOnly) { installDepsOptions.lockfileOnly = true; installDepsOptions.forceFullResolution = true; } return (0, installDeps_js_1.installDeps)(installDepsOptions, []); } } }); // ../pkg-manager/plugin-commands-installation/lib/dedupe.js var require_dedupe = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/dedupe.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var dedupe_check_1 = require_lib172(); var plugin_commands_env_1 = require_lib112(); var render_help_1 = __importDefault2(require_lib109()); var install_js_1 = require_install2(); var installDeps_js_1 = require_installDeps(); var omit_1 = __importDefault2(require_omit()); function rcOptionsTypes() { return (0, omit_1.default)(["frozen-lockfile"], (0, install_js_1.rcOptionsTypes)()); } function cliOptionsTypes() { return { ...rcOptionsTypes(), check: Boolean }; } exports2.commandNames = ["dedupe"]; function help() { return (0, render_help_1.default)({ description: "Perform an install removing older dependencies in the lockfile if a newer version can be used.", descriptionLists: [ { title: "Options", list: [ ...common_cli_options_help_1.UNIVERSAL_OPTIONS, { description: "Check if running dedupe would result in changes without installing packages or editing the lockfile. Exits with a non-zero status code if changes are possible.", name: "--check" }, common_cli_options_help_1.OPTIONS.ignoreScripts, common_cli_options_help_1.OPTIONS.offline, common_cli_options_help_1.OPTIONS.preferOffline, common_cli_options_help_1.OPTIONS.storeDir, common_cli_options_help_1.OPTIONS.virtualStoreDir, common_cli_options_help_1.OPTIONS.globalDir ] } ], url: (0, cli_utils_1.docsUrl)("dedupe"), usages: ["pnpm dedupe"] }); } async function handler(opts) { const include = { dependencies: opts.production !== false, devDependencies: opts.dev !== false, optionalDependencies: opts.optional !== false }; return (0, installDeps_js_1.installDeps)({ ...opts, dedupe: true, include, includeDirect: include, lockfileCheck: opts.check ? dedupe_check_1.dedupeDiffCheck : void 0, prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts) }, []); } } }); // ../pkg-manager/plugin-commands-installation/lib/fetch.js var require_fetch3 = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/fetch.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var store_connection_manager_1 = require_lib94(); var core_1 = require_lib171(); var render_help_1 = __importDefault2(require_lib109()); var install_js_1 = require_install2(); Object.defineProperty(exports2, "cliOptionsTypes", { enumerable: true, get: function() { return install_js_1.cliOptionsTypes; } }); exports2.rcOptionsTypes = install_js_1.cliOptionsTypes; exports2.shorthands = { D: "--dev", P: "--production" }; exports2.commandNames = ["fetch"]; function help() { return (0, render_help_1.default)({ description: "Fetch packages from a lockfile into virtual store, package manifest is ignored. WARNING! This is an experimental command. Breaking changes may be introduced in non-major versions of the CLI", descriptionLists: [ { title: "Options", list: [ { description: "Only development packages will be fetched", name: "--dev", shortAlias: "-D" }, { description: "Development packages will not be fetched", name: "--prod", shortAlias: "-P" }, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] } ], url: (0, cli_utils_1.docsUrl)("fetch"), usages: ["pnpm fetch [--dev | --prod]"] }); } async function handler(opts) { const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); const include = { dependencies: opts.production !== false, devDependencies: opts.dev !== false, // when including optional deps, production is also required when perform headless install optionalDependencies: opts.production !== false }; await (0, core_1.mutateModulesInSingleProject)({ manifest: {}, mutation: "install", pruneDirectDependencies: true, rootDir: process.cwd() }, { ...opts, ...(0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest ?? {}), ignorePackageManifest: true, include, modulesCacheMaxAge: 0, pruneStore: true, storeController: store.ctrl, storeDir: store.dir, // Hoisting is skipped anyway, // so we store these empty patterns in node_modules/.modules.yaml // to let the subsequent install know that hoisting should be performed. hoistPattern: [], publicHoistPattern: [] }); } } }); // ../pkg-manager/plugin-commands-installation/lib/createProjectManifestWriter.js var require_createProjectManifestWriter = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/createProjectManifestWriter.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createProjectManifestWriter = createProjectManifestWriter; var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var read_project_manifest_1 = require_lib16(); var write_project_manifest_1 = require_lib14(); async function createProjectManifestWriter(projectDir) { try { const { writeProjectManifest } = await (0, read_project_manifest_1.readProjectManifest)(projectDir); return writeProjectManifest; } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND") { return write_project_manifest_1.writeProjectManifest.bind(null, path_1.default.join(projectDir, "package.json")); } throw err; } } } }); // ../pkg-manager/plugin-commands-installation/lib/link.js var require_link4 = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/link.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_config_writer_1 = require_lib98(); var config_1 = require_lib23(); var types_1 = require_lib9(); var error_1 = require_lib6(); var get_context_1 = require_lib124(); var workspace_find_packages_1 = require_lib105(); var logger_1 = require_lib(); var pick_1 = __importDefault2(require_pick()); var partition_1 = __importDefault2(require_partition4()); var render_help_1 = __importDefault2(require_lib109()); var createProjectManifestWriter_js_1 = require_createProjectManifestWriter(); var getSaveType_js_1 = require_getSaveType(); var install = __importStar3(require_install2()); var normalize_path_1 = __importDefault2(require_normalize_path()); var isWindows = process.platform === "win32" || global["FAKE_WINDOWS"]; var isFilespec = isWindows ? /^(?:[./\\]|~\/|[a-z]:)/i : /^(?:[./]|~\/|[a-z]:)/i; exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return (0, pick_1.default)([ "global-dir", "global", "only", "package-import-method", "production", "registry", "reporter", "save-dev", "save-exact", "save-optional", "save-prefix", "unsafe-perm" ], config_1.types); } exports2.commandNames = ["link", "ln"]; function help() { return (0, render_help_1.default)({ aliases: ["ln"], descriptionLists: [ { title: "Options", list: common_cli_options_help_1.UNIVERSAL_OPTIONS } ], url: (0, cli_utils_1.docsUrl)("link"), usages: [ "pnpm link ", "pnpm link" ] }); } async function checkPeerDeps(linkCwdDir, opts) { const { manifest } = await (0, cli_utils_1.tryReadProjectManifest)(linkCwdDir, opts); if (manifest?.peerDependencies && Object.keys(manifest.peerDependencies).length > 0) { const packageName = manifest.name ?? path_1.default.basename(linkCwdDir); const peerDeps = Object.entries(manifest.peerDependencies).map(([key, value]) => ` - ${key}@${String(value)}`).join(", "); logger_1.logger.warn({ message: `The package ${packageName}, which you have just pnpm linked, has the following peerDependencies specified in its package.json: ${peerDeps} The linked in dependency will not resolve the peer dependencies from the target node_modules. This might cause issues in your project. To resolve this, you may use the "file:" protocol to reference the local dependency.`, prefix: opts.dir }); } } async function handler(opts, params) { let workspacePackagesArr; let workspacePackages; if (opts.workspaceDir) { workspacePackagesArr = await (0, workspace_find_packages_1.findWorkspacePackages)(opts.workspaceDir, { ...opts, patterns: opts.workspacePackagePatterns }); workspacePackages = (0, get_context_1.arrayOfWorkspacePackagesToMap)(workspacePackagesArr); } else { workspacePackages = /* @__PURE__ */ new Map(); } const linkOpts = Object.assign(opts, { targetDependenciesField: (0, getSaveType_js_1.getSaveType)(opts), workspacePackages, binsDir: opts.bin }); if (opts.cliOptions?.global && !opts.bin) { throw new error_1.PnpmError("NO_GLOBAL_BIN_DIR", "Unable to find the global bin directory", { hint: 'Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.' }); } const writeProjectManifest = await (0, createProjectManifestWriter_js_1.createProjectManifestWriter)(opts.rootProjectManifestDir); if (params == null || params.length === 0) { const cwd = process.cwd(); if (path_1.default.relative(linkOpts.dir, cwd) === "") { throw new error_1.PnpmError("LINK_BAD_PARAMS", "You must provide a parameter"); } await checkPeerDeps(cwd, opts); const newManifest2 = opts.rootProjectManifest ?? {}; await addLinkToManifest(opts, newManifest2, cwd, opts.rootProjectManifestDir); await writeProjectManifest(newManifest2); await install.handler({ ...linkOpts, frozenLockfileIfExists: false, rootProjectManifest: newManifest2 }); return; } const [pkgPaths, pkgNames] = (0, partition_1.default)((inp) => isFilespec.test(inp), params); pkgNames.forEach((pkgName) => pkgPaths.push(path_1.default.join(opts.globalPkgDir, "node_modules", pkgName))); const newManifest = opts.rootProjectManifest ?? {}; await Promise.all(pkgPaths.map(async (dir) => { await addLinkToManifest(opts, newManifest, dir, opts.rootProjectManifestDir); await checkPeerDeps(dir, opts); })); await writeProjectManifest(newManifest); await install.handler({ ...linkOpts, frozenLockfileIfExists: false, rootProjectManifest: newManifest }); } async function addLinkToManifest(opts, manifest, linkedDepDir, manifestDir) { const { manifest: linkedManifest } = await (0, cli_utils_1.tryReadProjectManifest)(linkedDepDir, opts); const linkedPkgName = linkedManifest?.name ?? path_1.default.basename(linkedDepDir); const linkedPkgSpec = `link:${(0, normalize_path_1.default)(path_1.default.relative(manifestDir, linkedDepDir))}`; opts.overrides = { ...opts.overrides, [linkedPkgName]: linkedPkgSpec }; await (0, config_config_writer_1.writeSettings)({ ...opts, workspaceDir: opts.workspaceDir ?? opts.rootProjectManifestDir, updatedSettings: { overrides: opts.overrides } }); if (types_1.DEPENDENCIES_FIELDS.every((depField) => manifest[depField]?.[linkedPkgName] == null)) { manifest.dependencies = manifest.dependencies ?? {}; manifest.dependencies[linkedPkgName] = linkedPkgSpec; } } } }); // ../pkg-manager/plugin-commands-installation/lib/prune.js var require_prune3 = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/prune.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var install = __importStar3(require_install2()); exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return (0, pick_1.default)([ "dev", "optional", "production", "ignore-scripts" ], config_1.types); } exports2.commandNames = ["prune"]; function help() { return (0, render_help_1.default)({ description: "Removes extraneous packages", descriptionLists: [ { title: "Options", list: [ { description: "Remove the packages specified in `devDependencies`", name: "--prod" }, { description: "Remove the packages specified in `optionalDependencies`", name: "--no-optional" }, common_cli_options_help_1.OPTIONS.ignoreScripts, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] } ], url: (0, cli_utils_1.docsUrl)("prune"), usages: ["pnpm prune [--prod]"] }); } async function handler(opts) { return install.handler({ ...opts, modulesCacheMaxAge: 0, pruneDirectDependencies: true, pruneStore: true }); } } }); // ../pkg-manager/plugin-commands-installation/lib/remove.js var require_remove4 = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/remove.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.completion = exports2.commandNames = exports2.cliOptionsTypes = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var error_1 = require_lib6(); var get_context_1 = require_lib124(); var workspace_find_packages_1 = require_lib105(); var workspace_manifest_writer_1 = require_lib97(); var manifest_utils_1 = require_lib10(); var store_connection_manager_1 = require_lib94(); var core_1 = require_lib171(); var pick_1 = __importDefault2(require_pick()); var without_1 = __importDefault2(require_without()); var render_help_1 = __importDefault2(require_lib109()); var getSaveType_js_1 = require_getSaveType(); var recursive_js_1 = require_recursive2(); var RemoveMissingDepsError = class extends error_1.PnpmError { constructor(opts) { let message = "Cannot remove "; message += `${opts.nonMatchedDependencies.map((dep) => `'${dep}'`).join(", ")}: `; if (opts.availableDependencies.length > 0) { message += `no such ${opts.nonMatchedDependencies.length > 1 ? "dependencies" : "dependency"} `; message += `found${opts.targetDependenciesField ? ` in '${opts.targetDependenciesField}'` : ""}`; const hint = `Available dependencies: ${opts.availableDependencies.join(", ")}`; super("CANNOT_REMOVE_MISSING_DEPS", message, { hint }); return; } message += opts.targetDependenciesField ? `project has no '${opts.targetDependenciesField}'` : "project has no dependencies of any kind"; super("CANNOT_REMOVE_MISSING_DEPS", message); } }; function rcOptionsTypes() { return (0, pick_1.default)([ "cache-dir", "global-dir", "global-pnpmfile", "global", "lockfile-dir", "lockfile-directory", "lockfile-only", "lockfile", "node-linker", "package-import-method", "pnpmfile", "reporter", "save-dev", "save-optional", "save-prod", "shared-workspace-lockfile", "store-dir", "strict-peer-dependencies", "virtual-store-dir" ], config_1.types); } var cliOptionsTypes = () => ({ ...rcOptionsTypes(), ...(0, pick_1.default)(["force"], config_1.types), recursive: Boolean }); exports2.cliOptionsTypes = cliOptionsTypes; function help() { return (0, render_help_1.default)({ aliases: ["rm", "uninstall", "un"], description: "Removes packages from `node_modules` and from the project's `package.json`.", descriptionLists: [ { title: "Options", list: [ { description: 'Remove from every package found in subdirectories or from every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, { description: 'Remove the dependency only from "devDependencies"', name: "--save-dev", shortAlias: "-D" }, { description: 'Remove the dependency only from "optionalDependencies"', name: "--save-optional", shortAlias: "-O" }, { description: 'Remove the dependency only from "dependencies"', name: "--save-prod", shortAlias: "-P" }, common_cli_options_help_1.OPTIONS.globalDir, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("remove"), usages: ["pnpm remove [@]..."] }); } exports2.commandNames = ["remove", "uninstall", "rm", "un", "uni"]; var completion = async (cliOpts) => { return (0, cli_utils_1.readDepNameCompletions)(cliOpts.dir); }; exports2.completion = completion; async function handler(opts, params) { if (params.length === 0) throw new error_1.PnpmError("MUST_REMOVE_SOMETHING", "At least one dependency name should be specified for removal"); const include = { dependencies: opts.production !== false, devDependencies: opts.dev !== false, optionalDependencies: opts.optional !== false }; const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); if (opts.recursive && opts.allProjects != null && opts.selectedProjectsGraph != null && opts.workspaceDir) { await (0, recursive_js_1.recursive)(opts.allProjects, params, { ...opts, allProjectsGraph: opts.allProjectsGraph, include, selectedProjectsGraph: opts.selectedProjectsGraph, storeControllerAndDir: store, workspaceDir: opts.workspaceDir }, "remove"); return; } const removeOpts = Object.assign(opts, { ...(0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest ?? {}), linkWorkspacePackagesDepth: opts.linkWorkspacePackages === "deep" ? Infinity : opts.linkWorkspacePackages ? 0 : -1, storeController: store.ctrl, storeDir: store.dir, include }); const allProjects = opts.allProjects ?? (opts.workspaceDir ? await (0, workspace_find_packages_1.findWorkspacePackages)(opts.workspaceDir, { ...opts, patterns: opts.workspacePackagePatterns }) : void 0); removeOpts["workspacePackages"] = allProjects ? (0, get_context_1.arrayOfWorkspacePackagesToMap)(allProjects) : void 0; const targetDependenciesField = (0, getSaveType_js_1.getSaveType)(opts); const { manifest: currentManifest, writeProjectManifest } = await (0, cli_utils_1.readProjectManifest)(opts.dir, opts); const availableDependencies = Object.keys(targetDependenciesField === void 0 ? (0, manifest_utils_1.getAllDependenciesFromManifest)(currentManifest) : currentManifest[targetDependenciesField] ?? {}); const nonMatchedDependencies = (0, without_1.default)(availableDependencies, params); if (nonMatchedDependencies.length !== 0) { throw new RemoveMissingDepsError({ availableDependencies, nonMatchedDependencies, targetDependenciesField }); } const mutationResult = await (0, core_1.mutateModulesInSingleProject)({ binsDir: opts.bin, dependencyNames: params, manifest: currentManifest, mutation: "uninstallSome", rootDir: opts.dir, targetDependenciesField }, removeOpts); await writeProjectManifest(mutationResult.updatedProject.manifest); const updatedProjects = []; if (allProjects != null) { for (const project of allProjects) { if (project.rootDir === mutationResult.updatedProject.rootDir) { updatedProjects.push({ ...project, manifest: mutationResult.updatedProject.manifest }); } else { updatedProjects.push(project); } } } await (0, workspace_manifest_writer_1.updateWorkspaceManifest)(opts.workspaceDir ?? opts.dir, { cleanupUnusedCatalogs: opts.cleanupUnusedCatalogs, allProjects: updatedProjects }); } } }); // ../pkg-manager/plugin-commands-installation/lib/unlink.js var require_unlink = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/unlink.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = exports2.cliOptionsTypes = void 0; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var render_help_1 = __importDefault2(require_lib109()); var createProjectManifestWriter_js_1 = require_createProjectManifestWriter(); var install = __importStar3(require_install2()); exports2.cliOptionsTypes = install.cliOptionsTypes; exports2.rcOptionsTypes = install.rcOptionsTypes; exports2.commandNames = ["unlink", "dislink"]; function help() { return (0, render_help_1.default)({ aliases: ["dislink"], description: "Removes the link created by `pnpm link` and reinstalls package if it is saved in `package.json`", descriptionLists: [ { title: "Options", list: [ { description: 'Unlink in every package found in subdirectories or in every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] } ], url: (0, cli_utils_1.docsUrl)("unlink"), usages: [ "pnpm unlink (in package dir)", "pnpm unlink ..." ] }); } async function handler(opts, params) { if (!opts.rootProjectManifest?.pnpm?.overrides) return "Nothing to unlink"; if (!params || params.length === 0) { for (const selector in opts.rootProjectManifest.pnpm.overrides) { if (opts.rootProjectManifest.pnpm.overrides[selector].startsWith("link:")) { delete opts.rootProjectManifest.pnpm.overrides[selector]; } } } else { for (const selector in opts.rootProjectManifest.pnpm.overrides) { if (opts.rootProjectManifest.pnpm.overrides[selector].startsWith("link:") && params.includes(selector)) { delete opts.rootProjectManifest.pnpm.overrides[selector]; } } } const writeProjectManifest = await (0, createProjectManifestWriter_js_1.createProjectManifestWriter)(opts.rootProjectManifestDir); await writeProjectManifest(opts.rootProjectManifest); await install.handler(opts); return void 0; } } }); // ../reviewing/outdated/lib/createManifestGetter.js var require_createManifestGetter = __commonJS({ "../reviewing/outdated/lib/createManifestGetter.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createManifestGetter = createManifestGetter; exports2.getManifest = getManifest; var client_1 = require_lib78(); var config_version_policy_1 = require_lib127(); function createManifestGetter(opts) { const publishedByExclude = opts.minimumReleaseAgeExclude ? (0, config_version_policy_1.createPackageVersionPolicy)(opts.minimumReleaseAgeExclude) : void 0; const { resolve } = (0, client_1.createResolver)({ ...opts, authConfig: opts.rawConfig, filterMetadata: false, // We need all the data from metadata for "outdated --long" to work. strictPublishedByCheck: Boolean(opts.minimumReleaseAge) }); const publishedBy = opts.minimumReleaseAge ? new Date(Date.now() - opts.minimumReleaseAge * 60 * 1e3) : void 0; return getManifest.bind(null, { ...opts, resolve, publishedBy, publishedByExclude }); } async function getManifest(opts, packageName, bareSpecifier) { try { const resolution = await opts.resolve({ alias: packageName, bareSpecifier }, { lockfileDir: opts.lockfileDir, preferredVersions: {}, projectDir: opts.dir, publishedBy: opts.publishedBy, publishedByExclude: opts.publishedByExclude }); return resolution?.manifest ?? null; } catch (err) { if (err.code === "ERR_PNPM_NO_MATURE_MATCHING_VERSION" && opts.publishedBy) { return null; } throw err; } } } }); // ../reviewing/outdated/lib/outdated.js var require_outdated = __commonJS({ "../reviewing/outdated/lib/outdated.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p); }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.outdated = outdated; var catalogs_resolver_1 = require_lib148(); var constants_1 = require_lib5(); var error_1 = require_lib6(); var lockfile_fs_1 = require_lib121(); var lockfile_utils_1 = require_lib125(); var manifest_utils_1 = require_lib10(); var npm_resolver_1 = require_lib49(); var pick_registry_for_package_1 = require_lib42(); var types_1 = require_lib9(); var dp = __importStar3(require_lib86()); var semver_12 = __importDefault2(require_semver2()); var matcher_1 = require_lib19(); var hooks_read_package_hook_1 = require_lib170(); var parse_overrides_1 = require_lib149(); __exportStar2(require_createManifestGetter(), exports2); async function outdated(opts) { if (packageHasNoDeps(opts.manifest)) return []; if (opts.wantedLockfile == null) { throw new error_1.PnpmError("OUTDATED_NO_LOCKFILE", `No lockfile in directory "${opts.lockfileDir}". Run \`pnpm install\` to generate one.`); } async function getOverriddenManifest() { const overrides = opts.currentLockfile?.overrides ?? opts.wantedLockfile?.overrides; if (overrides) { const readPackageHook = (0, hooks_read_package_hook_1.createReadPackageHook)({ lockfileDir: opts.lockfileDir, overrides: (0, parse_overrides_1.parseOverrides)(overrides, opts.catalogs ?? {}) }); const manifest = await readPackageHook?.(opts.manifest, opts.lockfileDir); if (manifest) return manifest; } return opts.manifest; } const allDeps = (0, manifest_utils_1.getAllDependenciesFromManifest)(await getOverriddenManifest()); const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, opts.prefix); const currentLockfile = opts.currentLockfile ?? { lockfileVersion: constants_1.LOCKFILE_VERSION, importers: { [importerId]: { specifiers: {} } } }; const outdated2 = []; const ignoreDependenciesMatcher = opts.ignoreDependencies?.length ? (0, matcher_1.createMatcher)(opts.ignoreDependencies) : void 0; await Promise.all(types_1.DEPENDENCIES_FIELDS.map(async (depType) => { if (opts.include?.[depType] === false || opts.wantedLockfile.importers[importerId][depType] == null) return; let pkgs = Object.keys(opts.wantedLockfile.importers[importerId][depType]); if (opts.match != null) { pkgs = pkgs.filter((pkgName) => opts.match(pkgName)); } const _replaceCatalogProtocolIfNecessary = replaceCatalogProtocolIfNecessary.bind(null, opts.catalogs ?? {}); await Promise.all(pkgs.map(async (alias) => { if (!allDeps[alias]) return; const ref = opts.wantedLockfile.importers[importerId][depType][alias]; if (ref.startsWith("file:") || // ignoring linked packages. (For backward compatibility) ignoreDependenciesMatcher?.(alias)) { return; } const relativeDepPath = dp.refToRelative(ref, alias); if (relativeDepPath === null) return; const pkgSnapshot = opts.wantedLockfile.packages?.[relativeDepPath]; if (pkgSnapshot == null) { throw new Error(`Invalid ${constants_1.WANTED_LOCKFILE} file. ${relativeDepPath} not found in packages field`); } const currentRef = currentLockfile.importers[importerId]?.[depType]?.[alias]; const currentRelative = currentRef && dp.refToRelative(currentRef, alias); const current = (currentRelative && dp.parse(currentRelative).version) ?? currentRef; const wanted = dp.parse(relativeDepPath).version ?? ref; const { name: packageName } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(relativeDepPath, pkgSnapshot); const name = dp.parse(relativeDepPath).name ?? packageName; const bareSpecifier = _replaceCatalogProtocolIfNecessary({ alias, bareSpecifier: allDeps[alias] }); if ((0, npm_resolver_1.parseBareSpecifier)(bareSpecifier, alias, "latest", (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, name)) == null) { if (current !== wanted) { outdated2.push({ alias, belongsTo: depType, current, latestManifest: void 0, packageName, wanted, workspace: opts.manifest.name }); } return; } const latestManifest = await opts.getLatestManifest(name, opts.compatible ? bareSpecifier ?? "latest" : "latest"); if (latestManifest == null) return; if (!current) { outdated2.push({ alias, belongsTo: depType, latestManifest, packageName, wanted, workspace: opts.manifest.name }); return; } if (current !== wanted || semver_12.default.lt(current, latestManifest.version) || latestManifest.deprecated) { outdated2.push({ alias, belongsTo: depType, current, latestManifest, packageName, wanted, workspace: opts.manifest.name }); } })); })); return outdated2.sort((pkg1, pkg2) => pkg1.packageName.localeCompare(pkg2.packageName)); } function packageHasNoDeps(manifest) { return (manifest.dependencies == null || isEmpty(manifest.dependencies)) && (manifest.devDependencies == null || isEmpty(manifest.devDependencies)) && (manifest.optionalDependencies == null || isEmpty(manifest.optionalDependencies)); } function isEmpty(obj) { return Object.keys(obj).length === 0; } function replaceCatalogProtocolIfNecessary(catalogs, wantedDependency) { return (0, catalogs_resolver_1.matchCatalogResolveResult)((0, catalogs_resolver_1.resolveFromCatalog)(catalogs, wantedDependency), { unused: () => wantedDependency.bareSpecifier, found: (found) => found.resolution.specifier, misconfiguration: (misconfiguration) => { throw misconfiguration.error; } }); } } }); // ../reviewing/outdated/lib/outdatedDepsOfProjects.js var require_outdatedDepsOfProjects = __commonJS({ "../reviewing/outdated/lib/outdatedDepsOfProjects.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.outdatedDepsOfProjects = outdatedDepsOfProjects; var path_1 = __importDefault2(require("path")); var lockfile_fs_1 = require_lib121(); var matcher_1 = require_lib19(); var unnest_1 = __importDefault2(require_unnest()); var createManifestGetter_js_1 = require_createManifestGetter(); var outdated_js_1 = require_outdated(); async function outdatedDepsOfProjects(pkgs, args, opts) { if (!opts.lockfileDir) { return (0, unnest_1.default)(await Promise.all(pkgs.map(async (pkg) => outdatedDepsOfProjects([pkg], args, { ...opts, lockfileDir: pkg.rootDir })))); } const lockfileDir = opts.lockfileDir ?? opts.dir; const internalPnpmDir = path_1.default.join(path_1.default.join(lockfileDir, "node_modules/.pnpm")); const currentLockfile = await (0, lockfile_fs_1.readCurrentLockfile)(internalPnpmDir, { ignoreIncompatible: false }); const wantedLockfile = await (0, lockfile_fs_1.readWantedLockfile)(lockfileDir, { ignoreIncompatible: false }) ?? currentLockfile; const getLatestManifest = (0, createManifestGetter_js_1.createManifestGetter)({ ...opts, fullMetadata: opts.fullMetadata === true || Boolean(opts.minimumReleaseAge), lockfileDir, minimumReleaseAge: opts.minimumReleaseAge, minimumReleaseAgeExclude: opts.minimumReleaseAgeExclude }); return Promise.all(pkgs.map(async ({ rootDir, manifest }) => { const match = args.length > 0 && (0, matcher_1.createMatcher)(args) || void 0; return (0, outdated_js_1.outdated)({ catalogs: opts.catalogs, compatible: opts.compatible, currentLockfile, getLatestManifest, ignoreDependencies: opts.ignoreDependencies, include: opts.include, lockfileDir, manifest, match, minimumReleaseAge: opts.minimumReleaseAge, minimumReleaseAgeExclude: opts.minimumReleaseAgeExclude, prefix: rootDir, registries: opts.registries, wantedLockfile }); })); } } }); // ../reviewing/outdated/lib/index.js var require_lib173 = __commonJS({ "../reviewing/outdated/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.outdatedDepsOfProjects = void 0; var outdatedDepsOfProjects_js_1 = require_outdatedDepsOfProjects(); Object.defineProperty(exports2, "outdatedDepsOfProjects", { enumerable: true, get: function() { return outdatedDepsOfProjects_js_1.outdatedDepsOfProjects; } }); } }); // ../node_modules/.pnpm/@pnpm+colorize-semver-diff@1.0.1/node_modules/@pnpm/colorize-semver-diff/lib/index.js var require_lib174 = __commonJS({ "../node_modules/.pnpm/@pnpm+colorize-semver-diff@1.0.1/node_modules/@pnpm/colorize-semver-diff/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var chalk = require_source(); var DIFF_COLORS = { feature: chalk.yellowBright.bold, fix: chalk.greenBright.bold }; function colorizeSemverDiff(semverDiff) { var _a; if (!semverDiff) { throw new TypeError("semverDiff must be defined"); } if (typeof semverDiff.change !== "string") { throw new TypeError("semverDiff.change must be defined"); } const highlight = (_a = DIFF_COLORS[semverDiff.change]) !== null && _a !== void 0 ? _a : chalk.redBright.bold; const same = joinVersionTuples(semverDiff.diff[0], 0); const other = highlight(joinVersionTuples(semverDiff.diff[1], semverDiff.diff[0].length)); if (!same) return other; if (!other) { return same; } return semverDiff.diff[0].length === 3 ? `${same}-${other}` : `${same}.${other}`; } exports2.default = colorizeSemverDiff; function joinVersionTuples(versionTuples, startIndex) { const neededForSemver = 3 - startIndex; if (versionTuples.length <= neededForSemver || neededForSemver <= 0) { return versionTuples.join("."); } return `${versionTuples.slice(0, neededForSemver).join(".")}-${versionTuples.slice(neededForSemver).join(".")}`; } } }); // ../node_modules/.pnpm/@pnpm+semver-diff@1.1.0/node_modules/@pnpm/semver-diff/lib/index.js var require_lib175 = __commonJS({ "../node_modules/.pnpm/@pnpm+semver-diff@1.1.0/node_modules/@pnpm/semver-diff/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var SEMVER_CHANGE_BY_TUPLE_NUMBER = ["breaking", "feature", "fix"]; function semverDiff(version1, version2) { if (version1 === version2) { return { change: null, diff: [parseVersion(version1), []] }; } const [version1Prefix, version1Semver] = parsePrefix(version1); const [version2Prefix, version2Semver] = parsePrefix(version2); if (version1Prefix !== version2Prefix) { const { change: change2 } = semverDiff(version1Semver, version2Semver); return { change: change2, diff: [[], parseVersion(version2)] }; } const version1Tuples = parseVersion(version1); const version2Tuples = parseVersion(version2); const same = []; let change = "unknown"; const maxTuples = Math.max(version1Tuples.length, version2Tuples.length); let unstable = version1Tuples[0] === "0" || version2Tuples[0] === "0" || maxTuples > 3; for (let i = 0; i < maxTuples; i++) { if (version1Tuples[i] === version2Tuples[i]) { same.push(version1Tuples[i]); continue; } if (unstable === false) { change = SEMVER_CHANGE_BY_TUPLE_NUMBER[i] || "unknown"; } return { change, diff: [same, version2Tuples.slice(i)] }; } return { change, diff: [same, []] }; } exports2.default = semverDiff; function parsePrefix(version2) { if (version2.startsWith("~") || version2.startsWith("^")) { return [version2[0], version2.substr(1)]; } return ["", version2]; } function parseVersion(version2) { const dashIndex = version2.indexOf("-"); let normalVersion; let prereleaseVersion; if (dashIndex === -1) { normalVersion = version2; } else { normalVersion = version2.substr(0, dashIndex); prereleaseVersion = version2.substr(dashIndex + 1); } return [ ...normalVersion.split("."), ...typeof prereleaseVersion !== "undefined" ? prereleaseVersion.split(".") : [] ]; } } }); // ../pkg-manager/plugin-commands-installation/lib/update/getUpdateChoices.js var require_getUpdateChoices = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/update/getUpdateChoices.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getUpdateChoices = getUpdateChoices; var colorize_semver_diff_1 = __importDefault2(require_lib174()); var semver_diff_1 = __importDefault2(require_lib175()); var table_1 = require_src4(); var ramda_1 = require_src5(); var isEmpty_1 = __importDefault2(require_isEmpty2()); function getUpdateChoices(outdatedPkgsOfProjects, workspacesEnabled) { if ((0, isEmpty_1.default)(outdatedPkgsOfProjects)) { return []; } const pkgUniqueKey = (outdatedPkg) => { return JSON.stringify([outdatedPkg.packageName, outdatedPkg.latestManifest?.version, outdatedPkg.current]); }; const dedupeAndGroupPkgs = (0, ramda_1.pipe)((0, ramda_1.uniqBy)((outdatedPkg) => pkgUniqueKey(outdatedPkg)), (0, ramda_1.groupBy)((outdatedPkg) => outdatedPkg.belongsTo)); const groupPkgsByType = dedupeAndGroupPkgs(outdatedPkgsOfProjects); const headerRow = { Package: true, Current: true, " ": true, Target: true, Workspace: workspacesEnabled, URL: true }; const header = Object.keys((0, ramda_1.pickBy)(ramda_1.and, headerRow)); const finalChoices = []; for (const [depGroup, choiceRows] of Object.entries(groupPkgsByType)) { if (choiceRows.length === 0) continue; const rawChoices = []; for (const choice of choiceRows) { if (choice.latestManifest?.version !== choice.current) { rawChoices.push(buildPkgChoice(choice, workspacesEnabled)); } } if (rawChoices.length === 0) continue; rawChoices.unshift({ raw: header, name: "", disabled: true }); const renderedTable = alignColumns((0, ramda_1.pluck)("raw", rawChoices)).filter(Boolean); const choices = rawChoices.map((outdatedPkg, i) => { if (i === 0) { return { name: renderedTable[i], value: "", disabled: true, hint: "" }; } return { name: outdatedPkg.name, message: renderedTable[i], value: outdatedPkg.name }; }); finalChoices.push({ name: `[${depGroup}]`, choices, message: depGroup }); } return finalChoices; } function buildPkgChoice(outdatedPkg, workspacesEnabled) { const sdiff = (0, semver_diff_1.default)(outdatedPkg.wanted, outdatedPkg.latestManifest.version); const nextVersion = sdiff.change === null ? outdatedPkg.latestManifest.version : (0, colorize_semver_diff_1.default)(sdiff); const label = outdatedPkg.packageName; const lineParts = { label, current: outdatedPkg.current, arrow: "\u276F", nextVersion, workspace: outdatedPkg.workspace, url: getPkgUrl(outdatedPkg) }; if (!workspacesEnabled) { delete lineParts.workspace; } return { raw: Object.values(lineParts), name: outdatedPkg.packageName }; } function getPkgUrl(pkg) { if (pkg.latestManifest?.homepage) { return pkg.latestManifest?.homepage; } if (typeof pkg.latestManifest?.repository !== "string") { if (pkg.latestManifest?.repository?.url) { return pkg.latestManifest?.repository?.url; } } return ""; } function alignColumns(rows) { return (0, table_1.table)(rows, { border: (0, table_1.getBorderCharacters)("void"), columnDefault: { paddingLeft: 0, paddingRight: 1, wrapWord: true }, columns: { 0: { width: 50, truncate: 100 }, 1: { width: 15, alignment: "right" }, 3: { width: 15 }, 4: { paddingLeft: 2 }, 5: { paddingLeft: 2 } }, drawHorizontalLine: () => false }).split("\n"); } } }); // ../pkg-manager/plugin-commands-installation/lib/update/index.js var require_update2 = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/update/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.completion = exports2.commandNames = exports2.shorthands = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var logger_1 = require_lib(); var matcher_1 = require_lib19(); var outdated_1 = require_lib173(); var error_1 = require_lib6(); var plugin_commands_env_1 = require_lib112(); var enquirer_1 = require_enquirer(); var chalk_1 = __importDefault2(require_source()); var pick_1 = __importDefault2(require_pick()); var pluck_1 = __importDefault2(require_pluck2()); var unnest_1 = __importDefault2(require_unnest()); var render_help_1 = __importDefault2(require_lib109()); var installDeps_js_1 = require_installDeps(); var getUpdateChoices_js_1 = require_getUpdateChoices(); var recursive_js_1 = require_recursive2(); function rcOptionsTypes() { return (0, pick_1.default)([ "cache-dir", "dangerously-allow-all-builds", "depth", "dev", "engine-strict", "fetch-retries", "fetch-retry-factor", "fetch-retry-maxtimeout", "fetch-retry-mintimeout", "fetch-timeout", "force", "global-dir", "global-pnpmfile", "global", "https-proxy", "ignore-pnpmfile", "ignore-scripts", "lockfile-dir", "lockfile-directory", "lockfile-only", "lockfile", "lockfile-include-tarball-url", "network-concurrency", "noproxy", "npm-path", "offline", "only", "optional", "package-import-method", "pnpmfile", "prefer-offline", "production", "proxy", "registry", "reporter", "save", "save-exact", "save-prefix", "save-workspace-protocol", "scripts-prepend-node-path", "shamefully-flatten", "shamefully-hoist", "shared-workspace-lockfile", "side-effects-cache-readonly", "side-effects-cache", "store-dir", "unsafe-perm", "use-running-store-server" ], config_1.types); } function cliOptionsTypes() { return { ...rcOptionsTypes(), interactive: Boolean, latest: Boolean, recursive: Boolean, workspace: Boolean }; } exports2.shorthands = { D: "--dev", P: "--production" }; exports2.commandNames = ["update", "up", "upgrade"]; var completion = async (cliOpts) => { return (0, cli_utils_1.readDepNameCompletions)(cliOpts.dir); }; exports2.completion = completion; function help() { return (0, render_help_1.default)({ aliases: ["up", "upgrade"], description: 'Updates packages to their latest version based on the specified range. You can use "*" in package name to update all packages with the same pattern.', descriptionLists: [ { title: "Options", list: [ { description: 'Update in every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, { description: "Update globally installed packages", name: "--global", shortAlias: "-g" }, { description: "How deep should levels of dependencies be inspected. Infinity is default. 0 would mean top-level dependencies only", name: "--depth " }, { description: "Ignore version ranges in package.json", name: "--latest", shortAlias: "-L" }, { description: 'Update packages only in "dependencies" and "optionalDependencies"', name: "--prod", shortAlias: "-P" }, { description: 'Update packages only in "devDependencies"', name: "--dev", shortAlias: "-D" }, { description: `Don't update packages in "optionalDependencies"`, name: "--no-optional" }, { description: "Tries to link all packages from the workspace. Versions are updated to match the versions of packages inside the workspace. If specific packages are updated, the command will fail if any of the updated dependencies is not found inside the workspace", name: "--workspace" }, { description: "Show outdated dependencies and select which ones to update", name: "--interactive", shortAlias: "-i" }, common_cli_options_help_1.OPTIONS.globalDir, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("update"), usages: ["pnpm update [-g] [...]"] }); } async function handler(opts, params = []) { if (opts.global && opts.rootProjectManifest == null) { return "No global packages found"; } if (opts.interactive) { return interactiveUpdate(params, opts); } return update(params, opts); } async function interactiveUpdate(input, opts) { const include = makeIncludeDependenciesFromCLI(opts.cliOptions); const projects = opts.selectedProjectsGraph != null ? Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package) : [ { rootDir: opts.dir, manifest: await (0, cli_utils_1.readProjectManifestOnly)(opts.dir, opts) } ]; const outdatedPkgsOfProjects = await (0, outdated_1.outdatedDepsOfProjects)(projects, input, { ...opts, compatible: opts.latest !== true, ignoreDependencies: opts.updateConfig?.ignoreDependencies, include, retry: { factor: opts.fetchRetryFactor, maxTimeout: opts.fetchRetryMaxtimeout, minTimeout: opts.fetchRetryMintimeout, retries: opts.fetchRetries }, timeout: opts.fetchTimeout }); const workspacesEnabled = !!opts.workspaceDir; const choices = (0, getUpdateChoices_js_1.getUpdateChoices)((0, unnest_1.default)(outdatedPkgsOfProjects), workspacesEnabled); if (choices.length === 0) { if (opts.latest) { return "All of your dependencies are already up to date"; } return "All of your dependencies are already up to date inside the specified ranges. Use the --latest option to update the ranges in package.json"; } const { updateDependencies } = await (0, enquirer_1.prompt)({ choices, footer: "\nEnter to start updating. Ctrl-c to cancel.", indicator(state, choice) { return ` ${choice.enabled ? "\u25CF" : "\u25CB"}`; }, message: `Choose which packages to update (Press ${chalk_1.default.cyan("")} to select, ${chalk_1.default.cyan("")} to toggle all, ${chalk_1.default.cyan("")} to invert selection)`, name: "updateDependencies", pointer: "\u276F", result() { return this.selected; }, format() { if (!this.state.submitted || this.state.cancelled) return ""; if (Array.isArray(this.selected)) { return this.selected.filter((choice) => !/^\[.+\]$/.test(choice.name)).map((choice) => this.styles.primary(choice.name)).join(", "); } return this.styles.primary(this.selected.name); }, styles: { dark: chalk_1.default.reset, em: chalk_1.default.bgBlack.whiteBright, success: chalk_1.default.reset }, type: "multiselect", validate(value) { if (value.length === 0) { return "You must choose at least one package."; } return true; }, // For Vim users (related: https://github.com/enquirer/enquirer/pull/163) j() { return this.down(); }, k() { return this.up(); }, cancel() { (0, logger_1.globalInfo)("Update canceled"); process.exit(0); } }); const updatePkgNames = (0, pluck_1.default)("value", updateDependencies); return update(updatePkgNames, opts); } async function update(dependencies, opts) { if (opts.latest) { const dependenciesWithTags = dependencies.filter((name) => (0, recursive_js_1.parseUpdateParam)(name).versionSpec != null); if (dependenciesWithTags.length) { throw new error_1.PnpmError("LATEST_WITH_SPEC", `Specs are not allowed to be used with --latest (${dependenciesWithTags.join(", ")})`); } } const includeDirect = makeIncludeDependenciesFromCLI(opts.cliOptions); const include = { dependencies: opts.rawConfig.production !== false, devDependencies: opts.rawConfig.dev !== false, optionalDependencies: opts.rawConfig.optional !== false }; const depth = opts.depth ?? Infinity; return (0, installDeps_js_1.installDeps)({ ...opts, allowNew: false, depth, ignoreCurrentSpecifiers: false, includeDirect, include, update: true, updateToLatest: opts.latest, updateMatching: dependencies.length > 0 && dependencies.every((dep) => !dep.substring(1).includes("@")) && depth > 0 && !opts.latest ? (0, matcher_1.createMatcher)(dependencies) : void 0, updatePackageManifest: opts.save !== false, resolutionMode: opts.save === false ? "highest" : opts.resolutionMode, prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts) }, dependencies); } function makeIncludeDependenciesFromCLI(opts) { return { dependencies: opts.production === true || opts.dev !== true && opts.optional !== true, devDependencies: opts.dev === true || opts.production !== true && opts.optional !== true, optionalDependencies: opts.optional === true || opts.production !== true && opts.dev !== true }; } } }); // ../node_modules/.pnpm/@yarnpkg+lockfile@1.1.0/node_modules/@yarnpkg/lockfile/index.js var require_lockfile = __commonJS({ "../node_modules/.pnpm/@yarnpkg+lockfile@1.1.0/node_modules/@yarnpkg/lockfile/index.js"(exports2, module2) { module2.exports = /******/ (function(modules) { var installedModules = {}; function __webpack_require__(moduleId) { if (installedModules[moduleId]) { return installedModules[moduleId].exports; } var module3 = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__); module3.l = true; return module3.exports; } __webpack_require__.m = modules; __webpack_require__.c = installedModules; __webpack_require__.i = function(value) { return value; }; __webpack_require__.d = function(exports3, name, getter) { if (!__webpack_require__.o(exports3, name)) { Object.defineProperty(exports3, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); } }; __webpack_require__.n = function(module3) { var getter = module3 && module3.__esModule ? ( /******/ function getDefault() { return module3["default"]; } ) : ( /******/ function getModuleExports() { return module3; } ); __webpack_require__.d(getter, "a", getter); return getter; }; __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; __webpack_require__.p = ""; return __webpack_require__(__webpack_require__.s = 14); })([ /* 0 */ /***/ (function(module3, exports3) { module3.exports = require("path"); }), /* 1 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; exports3.__esModule = true; var _promise = __webpack_require__(173); var _promise2 = _interopRequireDefault(_promise); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports3.default = function(fn) { return function() { var gen = fn.apply(this, arguments); return new _promise2.default(function(resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return _promise2.default.resolve(value).then(function(value2) { step("next", value2); }, function(err) { step("throw", err); }); } } return step("next"); }); }; }; }), /* 2 */ /***/ (function(module3, exports3) { module3.exports = require("util"); }), /* 3 */ /***/ (function(module3, exports3) { module3.exports = require("fs"); }), /* 4 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); class MessageError extends Error { constructor(msg, code) { super(msg); this.code = code; } } exports3.MessageError = MessageError; class ProcessSpawnError extends MessageError { constructor(msg, code, process2) { super(msg, code); this.process = process2; } } exports3.ProcessSpawnError = ProcessSpawnError; class SecurityError extends MessageError { } exports3.SecurityError = SecurityError; class ProcessTermError extends MessageError { } exports3.ProcessTermError = ProcessTermError; class ResponseError extends Error { constructor(msg, responseCode) { super(msg); this.responseCode = responseCode; } } exports3.ResponseError = ResponseError; }), /* 5 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.getFirstSuitableFolder = exports3.readFirstAvailableStream = exports3.makeTempDir = exports3.hardlinksWork = exports3.writeFilePreservingEol = exports3.getFileSizeOnDisk = exports3.walk = exports3.symlink = exports3.find = exports3.readJsonAndFile = exports3.readJson = exports3.readFileAny = exports3.hardlinkBulk = exports3.copyBulk = exports3.unlink = exports3.glob = exports3.link = exports3.chmod = exports3.lstat = exports3.exists = exports3.mkdirp = exports3.stat = exports3.access = exports3.rename = exports3.readdir = exports3.realpath = exports3.readlink = exports3.writeFile = exports3.open = exports3.readFileBuffer = exports3.lockQueue = exports3.constants = void 0; var _asyncToGenerator2; function _load_asyncToGenerator() { return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1)); } let buildActionsForCopy = (() => { var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { let build = (() => { var _ref5 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { const src = data.src, dest = data.dest, type = data.type; const onFresh = data.onFresh || noop; const onDone = data.onDone || noop; if (files.has(dest.toLowerCase())) { reporter.verbose(`The case-insensitive file ${dest} shouldn't be copied twice in one bulk copy`); } else { files.add(dest.toLowerCase()); } if (type === "symlink") { yield mkdirp((_path || _load_path()).default.dirname(dest)); onFresh(); actions.symlink.push({ dest, linkname: src }); onDone(); return; } if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { return; } const srcStat = yield lstat(src); let srcFiles; if (srcStat.isDirectory()) { srcFiles = yield readdir(src); } let destStat; try { destStat = yield lstat(dest); } catch (e) { if (e.code !== "ENOENT") { throw e; } } if (destStat) { const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); const bothFiles = srcStat.isFile() && destStat.isFile(); if (bothFiles && artifactFiles.has(dest)) { onDone(); reporter.verbose(reporter.lang("verboseFileSkipArtifact", src)); return; } if (bothFiles && srcStat.size === destStat.size && (0, (_fsNormalized || _load_fsNormalized()).fileDatesEqual)(srcStat.mtime, destStat.mtime)) { onDone(); reporter.verbose(reporter.lang("verboseFileSkip", src, dest, srcStat.size, +srcStat.mtime)); return; } if (bothSymlinks) { const srcReallink = yield readlink(src); if (srcReallink === (yield readlink(dest))) { onDone(); reporter.verbose(reporter.lang("verboseFileSkipSymlink", src, dest, srcReallink)); return; } } if (bothFolders) { const destFiles = yield readdir(dest); invariant(srcFiles, "src files not initialised"); for (var _iterator4 = destFiles, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator](); ; ) { var _ref6; if (_isArray4) { if (_i4 >= _iterator4.length) break; _ref6 = _iterator4[_i4++]; } else { _i4 = _iterator4.next(); if (_i4.done) break; _ref6 = _i4.value; } const file = _ref6; if (srcFiles.indexOf(file) < 0) { const loc = (_path || _load_path()).default.join(dest, file); possibleExtraneous.add(loc); if ((yield lstat(loc)).isDirectory()) { for (var _iterator5 = yield readdir(loc), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator](); ; ) { var _ref7; if (_isArray5) { if (_i5 >= _iterator5.length) break; _ref7 = _iterator5[_i5++]; } else { _i5 = _iterator5.next(); if (_i5.done) break; _ref7 = _i5.value; } const file2 = _ref7; possibleExtraneous.add((_path || _load_path()).default.join(loc, file2)); } } } } } } if (destStat && destStat.isSymbolicLink()) { yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); destStat = null; } if (srcStat.isSymbolicLink()) { onFresh(); const linkname = yield readlink(src); actions.symlink.push({ dest, linkname }); onDone(); } else if (srcStat.isDirectory()) { if (!destStat) { reporter.verbose(reporter.lang("verboseFileFolder", dest)); yield mkdirp(dest); } const destParts = dest.split((_path || _load_path()).default.sep); while (destParts.length) { files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); destParts.pop(); } invariant(srcFiles, "src files not initialised"); let remaining = srcFiles.length; if (!remaining) { onDone(); } for (var _iterator6 = srcFiles, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator](); ; ) { var _ref8; if (_isArray6) { if (_i6 >= _iterator6.length) break; _ref8 = _iterator6[_i6++]; } else { _i6 = _iterator6.next(); if (_i6.done) break; _ref8 = _i6.value; } const file = _ref8; queue.push({ dest: (_path || _load_path()).default.join(dest, file), onFresh, onDone: (function(_onDone) { function onDone2() { return _onDone.apply(this, arguments); } onDone2.toString = function() { return _onDone.toString(); }; return onDone2; })(function() { if (--remaining === 0) { onDone(); } }), src: (_path || _load_path()).default.join(src, file) }); } } else if (srcStat.isFile()) { onFresh(); actions.file.push({ src, dest, atime: srcStat.atime, mtime: srcStat.mtime, mode: srcStat.mode }); onDone(); } else { throw new Error(`unsure how to copy this: ${src}`); } }); return function build2(_x5) { return _ref5.apply(this, arguments); }; })(); const artifactFiles = new Set(events.artifactFiles || []); const files = /* @__PURE__ */ new Set(); for (var _iterator = queue, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ; ) { var _ref2; if (_isArray) { if (_i >= _iterator.length) break; _ref2 = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref2 = _i.value; } const item = _ref2; const onDone = item.onDone; item.onDone = function() { events.onProgress(item.dest); if (onDone) { onDone(); } }; } events.onStart(queue.length); const actions = { file: [], symlink: [], link: [] }; while (queue.length) { const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); yield Promise.all(items.map(build)); } for (var _iterator2 = artifactFiles, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator](); ; ) { var _ref3; if (_isArray2) { if (_i2 >= _iterator2.length) break; _ref3 = _iterator2[_i2++]; } else { _i2 = _iterator2.next(); if (_i2.done) break; _ref3 = _i2.value; } const file = _ref3; if (possibleExtraneous.has(file)) { reporter.verbose(reporter.lang("verboseFilePhantomExtraneous", file)); possibleExtraneous.delete(file); } } for (var _iterator3 = possibleExtraneous, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator](); ; ) { var _ref4; if (_isArray3) { if (_i3 >= _iterator3.length) break; _ref4 = _iterator3[_i3++]; } else { _i3 = _iterator3.next(); if (_i3.done) break; _ref4 = _i3.value; } const loc = _ref4; if (files.has(loc.toLowerCase())) { possibleExtraneous.delete(loc); } } return actions; }); return function buildActionsForCopy2(_x, _x2, _x3, _x4) { return _ref.apply(this, arguments); }; })(); let buildActionsForHardlink = (() => { var _ref9 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { let build = (() => { var _ref13 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { const src = data.src, dest = data.dest; const onFresh = data.onFresh || noop; const onDone = data.onDone || noop; if (files.has(dest.toLowerCase())) { onDone(); return; } files.add(dest.toLowerCase()); if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { return; } const srcStat = yield lstat(src); let srcFiles; if (srcStat.isDirectory()) { srcFiles = yield readdir(src); } const destExists = yield exists(dest); if (destExists) { const destStat = yield lstat(dest); const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); const bothFiles = srcStat.isFile() && destStat.isFile(); if (srcStat.mode !== destStat.mode) { try { yield access(dest, srcStat.mode); } catch (err) { reporter.verbose(err); } } if (bothFiles && artifactFiles.has(dest)) { onDone(); reporter.verbose(reporter.lang("verboseFileSkipArtifact", src)); return; } if (bothFiles && srcStat.ino !== null && srcStat.ino === destStat.ino) { onDone(); reporter.verbose(reporter.lang("verboseFileSkip", src, dest, srcStat.ino)); return; } if (bothSymlinks) { const srcReallink = yield readlink(src); if (srcReallink === (yield readlink(dest))) { onDone(); reporter.verbose(reporter.lang("verboseFileSkipSymlink", src, dest, srcReallink)); return; } } if (bothFolders) { const destFiles = yield readdir(dest); invariant(srcFiles, "src files not initialised"); for (var _iterator10 = destFiles, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator](); ; ) { var _ref14; if (_isArray10) { if (_i10 >= _iterator10.length) break; _ref14 = _iterator10[_i10++]; } else { _i10 = _iterator10.next(); if (_i10.done) break; _ref14 = _i10.value; } const file = _ref14; if (srcFiles.indexOf(file) < 0) { const loc = (_path || _load_path()).default.join(dest, file); possibleExtraneous.add(loc); if ((yield lstat(loc)).isDirectory()) { for (var _iterator11 = yield readdir(loc), _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator](); ; ) { var _ref15; if (_isArray11) { if (_i11 >= _iterator11.length) break; _ref15 = _iterator11[_i11++]; } else { _i11 = _iterator11.next(); if (_i11.done) break; _ref15 = _i11.value; } const file2 = _ref15; possibleExtraneous.add((_path || _load_path()).default.join(loc, file2)); } } } } } } if (srcStat.isSymbolicLink()) { onFresh(); const linkname = yield readlink(src); actions.symlink.push({ dest, linkname }); onDone(); } else if (srcStat.isDirectory()) { reporter.verbose(reporter.lang("verboseFileFolder", dest)); yield mkdirp(dest); const destParts = dest.split((_path || _load_path()).default.sep); while (destParts.length) { files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); destParts.pop(); } invariant(srcFiles, "src files not initialised"); let remaining = srcFiles.length; if (!remaining) { onDone(); } for (var _iterator12 = srcFiles, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator](); ; ) { var _ref16; if (_isArray12) { if (_i12 >= _iterator12.length) break; _ref16 = _iterator12[_i12++]; } else { _i12 = _iterator12.next(); if (_i12.done) break; _ref16 = _i12.value; } const file = _ref16; queue.push({ onFresh, src: (_path || _load_path()).default.join(src, file), dest: (_path || _load_path()).default.join(dest, file), onDone: (function(_onDone2) { function onDone2() { return _onDone2.apply(this, arguments); } onDone2.toString = function() { return _onDone2.toString(); }; return onDone2; })(function() { if (--remaining === 0) { onDone(); } }) }); } } else if (srcStat.isFile()) { onFresh(); actions.link.push({ src, dest, removeDest: destExists }); onDone(); } else { throw new Error(`unsure how to copy this: ${src}`); } }); return function build2(_x10) { return _ref13.apply(this, arguments); }; })(); const artifactFiles = new Set(events.artifactFiles || []); const files = /* @__PURE__ */ new Set(); for (var _iterator7 = queue, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator](); ; ) { var _ref10; if (_isArray7) { if (_i7 >= _iterator7.length) break; _ref10 = _iterator7[_i7++]; } else { _i7 = _iterator7.next(); if (_i7.done) break; _ref10 = _i7.value; } const item = _ref10; const onDone = item.onDone || noop; item.onDone = function() { events.onProgress(item.dest); onDone(); }; } events.onStart(queue.length); const actions = { file: [], symlink: [], link: [] }; while (queue.length) { const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); yield Promise.all(items.map(build)); } for (var _iterator8 = artifactFiles, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator](); ; ) { var _ref11; if (_isArray8) { if (_i8 >= _iterator8.length) break; _ref11 = _iterator8[_i8++]; } else { _i8 = _iterator8.next(); if (_i8.done) break; _ref11 = _i8.value; } const file = _ref11; if (possibleExtraneous.has(file)) { reporter.verbose(reporter.lang("verboseFilePhantomExtraneous", file)); possibleExtraneous.delete(file); } } for (var _iterator9 = possibleExtraneous, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator](); ; ) { var _ref12; if (_isArray9) { if (_i9 >= _iterator9.length) break; _ref12 = _iterator9[_i9++]; } else { _i9 = _iterator9.next(); if (_i9.done) break; _ref12 = _i9.value; } const loc = _ref12; if (files.has(loc.toLowerCase())) { possibleExtraneous.delete(loc); } } return actions; }); return function buildActionsForHardlink2(_x6, _x7, _x8, _x9) { return _ref9.apply(this, arguments); }; })(); let copyBulk = exports3.copyBulk = (() => { var _ref17 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { const events = { onStart: _events && _events.onStart || noop, onProgress: _events && _events.onProgress || noop, possibleExtraneous: _events ? _events.possibleExtraneous : /* @__PURE__ */ new Set(), ignoreBasenames: _events && _events.ignoreBasenames || [], artifactFiles: _events && _events.artifactFiles || [] }; const actions = yield buildActionsForCopy(queue, events, events.possibleExtraneous, reporter); events.onStart(actions.file.length + actions.symlink.length + actions.link.length); const fileActions = actions.file; const currentlyWriting = /* @__PURE__ */ new Map(); yield (_promise || _load_promise()).queue(fileActions, (() => { var _ref18 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { let writePromise; while (writePromise = currentlyWriting.get(data.dest)) { yield writePromise; } reporter.verbose(reporter.lang("verboseFileCopy", data.src, data.dest)); const copier = (0, (_fsNormalized || _load_fsNormalized()).copyFile)(data, function() { return currentlyWriting.delete(data.dest); }); currentlyWriting.set(data.dest, copier); events.onProgress(data.dest); return copier; }); return function(_x14) { return _ref18.apply(this, arguments); }; })(), CONCURRENT_QUEUE_ITEMS); const symlinkActions = actions.symlink; yield (_promise || _load_promise()).queue(symlinkActions, function(data) { const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); reporter.verbose(reporter.lang("verboseFileSymlink", data.dest, linkname)); return symlink(linkname, data.dest); }); }); return function copyBulk2(_x11, _x12, _x13) { return _ref17.apply(this, arguments); }; })(); let hardlinkBulk = exports3.hardlinkBulk = (() => { var _ref19 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { const events = { onStart: _events && _events.onStart || noop, onProgress: _events && _events.onProgress || noop, possibleExtraneous: _events ? _events.possibleExtraneous : /* @__PURE__ */ new Set(), artifactFiles: _events && _events.artifactFiles || [], ignoreBasenames: [] }; const actions = yield buildActionsForHardlink(queue, events, events.possibleExtraneous, reporter); events.onStart(actions.file.length + actions.symlink.length + actions.link.length); const fileActions = actions.link; yield (_promise || _load_promise()).queue(fileActions, (() => { var _ref20 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { reporter.verbose(reporter.lang("verboseFileLink", data.src, data.dest)); if (data.removeDest) { yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(data.dest); } yield link(data.src, data.dest); }); return function(_x18) { return _ref20.apply(this, arguments); }; })(), CONCURRENT_QUEUE_ITEMS); const symlinkActions = actions.symlink; yield (_promise || _load_promise()).queue(symlinkActions, function(data) { const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); reporter.verbose(reporter.lang("verboseFileSymlink", data.dest, linkname)); return symlink(linkname, data.dest); }); }); return function hardlinkBulk2(_x15, _x16, _x17) { return _ref19.apply(this, arguments); }; })(); let readFileAny = exports3.readFileAny = (() => { var _ref21 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (files) { for (var _iterator13 = files, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator](); ; ) { var _ref22; if (_isArray13) { if (_i13 >= _iterator13.length) break; _ref22 = _iterator13[_i13++]; } else { _i13 = _iterator13.next(); if (_i13.done) break; _ref22 = _i13.value; } const file = _ref22; if (yield exists(file)) { return readFile(file); } } return null; }); return function readFileAny2(_x19) { return _ref21.apply(this, arguments); }; })(); let readJson = exports3.readJson = (() => { var _ref23 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { return (yield readJsonAndFile(loc)).object; }); return function readJson2(_x20) { return _ref23.apply(this, arguments); }; })(); let readJsonAndFile = exports3.readJsonAndFile = (() => { var _ref24 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { const file = yield readFile(loc); try { return { object: (0, (_map || _load_map()).default)(JSON.parse(stripBOM(file))), content: file }; } catch (err) { err.message = `${loc}: ${err.message}`; throw err; } }); return function readJsonAndFile2(_x21) { return _ref24.apply(this, arguments); }; })(); let find = exports3.find = (() => { var _ref25 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (filename, dir) { const parts = dir.split((_path || _load_path()).default.sep); while (parts.length) { const loc = parts.concat(filename).join((_path || _load_path()).default.sep); if (yield exists(loc)) { return loc; } else { parts.pop(); } } return false; }); return function find2(_x22, _x23) { return _ref25.apply(this, arguments); }; })(); let symlink = exports3.symlink = (() => { var _ref26 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest) { try { const stats = yield lstat(dest); if (stats.isSymbolicLink()) { const resolved = yield realpath(dest); if (resolved === src) { return; } } } catch (err) { if (err.code !== "ENOENT") { throw err; } } yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); if (process.platform === "win32") { yield fsSymlink(src, dest, "junction"); } else { let relative; try { relative = (_path || _load_path()).default.relative((_fs || _load_fs()).default.realpathSync((_path || _load_path()).default.dirname(dest)), (_fs || _load_fs()).default.realpathSync(src)); } catch (err) { if (err.code !== "ENOENT") { throw err; } relative = (_path || _load_path()).default.relative((_path || _load_path()).default.dirname(dest), src); } yield fsSymlink(relative || ".", dest); } }); return function symlink2(_x24, _x25) { return _ref26.apply(this, arguments); }; })(); let walk = exports3.walk = (() => { var _ref27 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir, relativeDir, ignoreBasenames = /* @__PURE__ */ new Set()) { let files = []; let filenames = yield readdir(dir); if (ignoreBasenames.size) { filenames = filenames.filter(function(name) { return !ignoreBasenames.has(name); }); } for (var _iterator14 = filenames, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator](); ; ) { var _ref28; if (_isArray14) { if (_i14 >= _iterator14.length) break; _ref28 = _iterator14[_i14++]; } else { _i14 = _iterator14.next(); if (_i14.done) break; _ref28 = _i14.value; } const name = _ref28; const relative = relativeDir ? (_path || _load_path()).default.join(relativeDir, name) : name; const loc = (_path || _load_path()).default.join(dir, name); const stat2 = yield lstat(loc); files.push({ relative, basename: name, absolute: loc, mtime: +stat2.mtime }); if (stat2.isDirectory()) { files = files.concat(yield walk(loc, relative, ignoreBasenames)); } } return files; }); return function walk2(_x26, _x27) { return _ref27.apply(this, arguments); }; })(); let getFileSizeOnDisk = exports3.getFileSizeOnDisk = (() => { var _ref29 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { const stat2 = yield lstat(loc); const size = stat2.size, blockSize = stat2.blksize; return Math.ceil(size / blockSize) * blockSize; }); return function getFileSizeOnDisk2(_x28) { return _ref29.apply(this, arguments); }; })(); let getEolFromFile = (() => { var _ref30 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path2) { if (!(yield exists(path2))) { return void 0; } const buffer = yield readFileBuffer(path2); for (let i = 0; i < buffer.length; ++i) { if (buffer[i] === cr) { return "\r\n"; } if (buffer[i] === lf) { return "\n"; } } return void 0; }); return function getEolFromFile2(_x29) { return _ref30.apply(this, arguments); }; })(); let writeFilePreservingEol = exports3.writeFilePreservingEol = (() => { var _ref31 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path2, data) { const eol = (yield getEolFromFile(path2)) || (_os || _load_os()).default.EOL; if (eol !== "\n") { data = data.replace(/\n/g, eol); } yield writeFile(path2, data); }); return function writeFilePreservingEol2(_x30, _x31) { return _ref31.apply(this, arguments); }; })(); let hardlinksWork = exports3.hardlinksWork = (() => { var _ref32 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir) { const filename = "test-file" + Math.random(); const file = (_path || _load_path()).default.join(dir, filename); const fileLink = (_path || _load_path()).default.join(dir, filename + "-link"); try { yield writeFile(file, "test"); yield link(file, fileLink); } catch (err) { return false; } finally { yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(file); yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(fileLink); } return true; }); return function hardlinksWork2(_x32) { return _ref32.apply(this, arguments); }; })(); let makeTempDir = exports3.makeTempDir = (() => { var _ref33 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (prefix) { const dir = (_path || _load_path()).default.join((_os || _load_os()).default.tmpdir(), `yarn-${prefix || ""}-${Date.now()}-${Math.random()}`); yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dir); yield mkdirp(dir); return dir; }); return function makeTempDir2(_x33) { return _ref33.apply(this, arguments); }; })(); let readFirstAvailableStream = exports3.readFirstAvailableStream = (() => { var _ref34 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths) { for (var _iterator15 = paths, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator](); ; ) { var _ref35; if (_isArray15) { if (_i15 >= _iterator15.length) break; _ref35 = _iterator15[_i15++]; } else { _i15 = _iterator15.next(); if (_i15.done) break; _ref35 = _i15.value; } const path2 = _ref35; try { const fd = yield open(path2, "r"); return (_fs || _load_fs()).default.createReadStream(path2, { fd }); } catch (err) { } } return null; }); return function readFirstAvailableStream2(_x34) { return _ref34.apply(this, arguments); }; })(); let getFirstSuitableFolder = exports3.getFirstSuitableFolder = (() => { var _ref36 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths, mode = constants.W_OK | constants.X_OK) { const result2 = { skipped: [], folder: null }; for (var _iterator16 = paths, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator](); ; ) { var _ref37; if (_isArray16) { if (_i16 >= _iterator16.length) break; _ref37 = _iterator16[_i16++]; } else { _i16 = _iterator16.next(); if (_i16.done) break; _ref37 = _i16.value; } const folder = _ref37; try { yield mkdirp(folder); yield access(folder, mode); result2.folder = folder; return result2; } catch (error) { result2.skipped.push({ error, folder }); } } return result2; }); return function getFirstSuitableFolder2(_x35) { return _ref36.apply(this, arguments); }; })(); exports3.copy = copy; exports3.readFile = readFile; exports3.readFileRaw = readFileRaw; exports3.normalizeOS = normalizeOS; var _fs; function _load_fs() { return _fs = _interopRequireDefault(__webpack_require__(3)); } var _glob; function _load_glob() { return _glob = _interopRequireDefault(__webpack_require__(75)); } var _os; function _load_os() { return _os = _interopRequireDefault(__webpack_require__(36)); } var _path; function _load_path() { return _path = _interopRequireDefault(__webpack_require__(0)); } var _blockingQueue; function _load_blockingQueue() { return _blockingQueue = _interopRequireDefault(__webpack_require__(84)); } var _promise; function _load_promise() { return _promise = _interopRequireWildcard(__webpack_require__(40)); } var _promise2; function _load_promise2() { return _promise2 = __webpack_require__(40); } var _map; function _load_map() { return _map = _interopRequireDefault(__webpack_require__(20)); } var _fsNormalized; function _load_fsNormalized() { return _fsNormalized = __webpack_require__(164); } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const constants = exports3.constants = typeof (_fs || _load_fs()).default.constants !== "undefined" ? (_fs || _load_fs()).default.constants : { R_OK: (_fs || _load_fs()).default.R_OK, W_OK: (_fs || _load_fs()).default.W_OK, X_OK: (_fs || _load_fs()).default.X_OK }; const lockQueue = exports3.lockQueue = new (_blockingQueue || _load_blockingQueue()).default("fs lock"); const readFileBuffer = exports3.readFileBuffer = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readFile); const open = exports3.open = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.open); const writeFile = exports3.writeFile = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.writeFile); const readlink = exports3.readlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readlink); const realpath = exports3.realpath = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.realpath); const readdir = exports3.readdir = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readdir); const rename = exports3.rename = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.rename); const access = exports3.access = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.access); const stat = exports3.stat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.stat); const mkdirp = exports3.mkdirp = (0, (_promise2 || _load_promise2()).promisify)(__webpack_require__(116)); const exists = exports3.exists = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.exists, true); const lstat = exports3.lstat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.lstat); const chmod = exports3.chmod = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.chmod); const link = exports3.link = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.link); const glob = exports3.glob = (0, (_promise2 || _load_promise2()).promisify)((_glob || _load_glob()).default); exports3.unlink = (_fsNormalized || _load_fsNormalized()).unlink; const CONCURRENT_QUEUE_ITEMS = (_fs || _load_fs()).default.copyFile ? 128 : 4; const fsSymlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.symlink); const invariant = __webpack_require__(7); const stripBOM = __webpack_require__(122); const noop = () => { }; function copy(src, dest, reporter) { return copyBulk([{ src, dest }], reporter); } function _readFile(loc, encoding) { return new Promise((resolve, reject) => { (_fs || _load_fs()).default.readFile(loc, encoding, function(err, content) { if (err) { reject(err); } else { resolve(content); } }); }); } function readFile(loc) { return _readFile(loc, "utf8").then(normalizeOS); } function readFileRaw(loc) { return _readFile(loc, "binary"); } function normalizeOS(body) { return body.replace(/\r\n/g, "\n"); } const cr = "\r".charCodeAt(0); const lf = "\n".charCodeAt(0); }), /* 6 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.getPathKey = getPathKey; const os = __webpack_require__(36); const path2 = __webpack_require__(0); const userHome = __webpack_require__(45).default; var _require = __webpack_require__(171); const getCacheDir = _require.getCacheDir, getConfigDir = _require.getConfigDir, getDataDir = _require.getDataDir; const isWebpackBundle = __webpack_require__(227); const DEPENDENCY_TYPES = exports3.DEPENDENCY_TYPES = ["devDependencies", "dependencies", "optionalDependencies", "peerDependencies"]; const RESOLUTIONS = exports3.RESOLUTIONS = "resolutions"; const MANIFEST_FIELDS = exports3.MANIFEST_FIELDS = [RESOLUTIONS, ...DEPENDENCY_TYPES]; const SUPPORTED_NODE_VERSIONS = exports3.SUPPORTED_NODE_VERSIONS = "^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0"; const YARN_REGISTRY = exports3.YARN_REGISTRY = "https://registry.yarnpkg.com"; const YARN_DOCS = exports3.YARN_DOCS = "https://yarnpkg.com/en/docs/cli/"; const YARN_INSTALLER_SH = exports3.YARN_INSTALLER_SH = "https://yarnpkg.com/install.sh"; const YARN_INSTALLER_MSI = exports3.YARN_INSTALLER_MSI = "https://yarnpkg.com/latest.msi"; const SELF_UPDATE_VERSION_URL = exports3.SELF_UPDATE_VERSION_URL = "https://yarnpkg.com/latest-version"; const CACHE_VERSION = exports3.CACHE_VERSION = 2; const LOCKFILE_VERSION = exports3.LOCKFILE_VERSION = 1; const NETWORK_CONCURRENCY = exports3.NETWORK_CONCURRENCY = 8; const NETWORK_TIMEOUT = exports3.NETWORK_TIMEOUT = 30 * 1e3; const CHILD_CONCURRENCY = exports3.CHILD_CONCURRENCY = 5; const REQUIRED_PACKAGE_KEYS = exports3.REQUIRED_PACKAGE_KEYS = ["name", "version", "_uid"]; function getPreferredCacheDirectories() { const preferredCacheDirectories = [getCacheDir()]; if (process.getuid) { preferredCacheDirectories.push(path2.join(os.tmpdir(), `.yarn-cache-${process.getuid()}`)); } preferredCacheDirectories.push(path2.join(os.tmpdir(), `.yarn-cache`)); return preferredCacheDirectories; } const PREFERRED_MODULE_CACHE_DIRECTORIES = exports3.PREFERRED_MODULE_CACHE_DIRECTORIES = getPreferredCacheDirectories(); const CONFIG_DIRECTORY = exports3.CONFIG_DIRECTORY = getConfigDir(); const DATA_DIRECTORY = exports3.DATA_DIRECTORY = getDataDir(); const LINK_REGISTRY_DIRECTORY = exports3.LINK_REGISTRY_DIRECTORY = path2.join(DATA_DIRECTORY, "link"); const GLOBAL_MODULE_DIRECTORY = exports3.GLOBAL_MODULE_DIRECTORY = path2.join(DATA_DIRECTORY, "global"); const NODE_BIN_PATH = exports3.NODE_BIN_PATH = process.execPath; const YARN_BIN_PATH = exports3.YARN_BIN_PATH = getYarnBinPath(); function getYarnBinPath() { if (isWebpackBundle) { return __filename; } else { return path2.join(__dirname, "..", "bin", "yarn.js"); } } const NODE_MODULES_FOLDER = exports3.NODE_MODULES_FOLDER = "node_modules"; const NODE_PACKAGE_JSON = exports3.NODE_PACKAGE_JSON = "package.json"; const POSIX_GLOBAL_PREFIX = exports3.POSIX_GLOBAL_PREFIX = `${process.env.DESTDIR || ""}/usr/local`; const FALLBACK_GLOBAL_PREFIX = exports3.FALLBACK_GLOBAL_PREFIX = path2.join(userHome, ".yarn"); const META_FOLDER = exports3.META_FOLDER = ".yarn-meta"; const INTEGRITY_FILENAME = exports3.INTEGRITY_FILENAME = ".yarn-integrity"; const LOCKFILE_FILENAME = exports3.LOCKFILE_FILENAME = "yarn.lock"; const METADATA_FILENAME = exports3.METADATA_FILENAME = ".yarn-metadata.json"; const TARBALL_FILENAME = exports3.TARBALL_FILENAME = ".yarn-tarball.tgz"; const CLEAN_FILENAME = exports3.CLEAN_FILENAME = ".yarnclean"; const NPM_LOCK_FILENAME = exports3.NPM_LOCK_FILENAME = "package-lock.json"; const NPM_SHRINKWRAP_FILENAME = exports3.NPM_SHRINKWRAP_FILENAME = "npm-shrinkwrap.json"; const DEFAULT_INDENT = exports3.DEFAULT_INDENT = " "; const SINGLE_INSTANCE_PORT = exports3.SINGLE_INSTANCE_PORT = 31997; const SINGLE_INSTANCE_FILENAME = exports3.SINGLE_INSTANCE_FILENAME = ".yarn-single-instance"; const ENV_PATH_KEY = exports3.ENV_PATH_KEY = getPathKey(process.platform, process.env); function getPathKey(platform, env) { let pathKey = "PATH"; if (platform === "win32") { pathKey = "Path"; for (const key in env) { if (key.toLowerCase() === "path") { pathKey = key; } } } return pathKey; } const VERSION_COLOR_SCHEME = exports3.VERSION_COLOR_SCHEME = { major: "red", premajor: "red", minor: "yellow", preminor: "yellow", patch: "green", prepatch: "green", prerelease: "red", unchanged: "white", unknown: "red" }; }), /* 7 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var NODE_ENV = process.env.NODE_ENV; var invariant = function(condition, format, a, b, c, d, e, f) { if (NODE_ENV !== "production") { if (format === void 0) { throw new Error("invariant requires an error message argument"); } } if (!condition) { var error; if (format === void 0) { error = new Error( "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings." ); } else { var args = [a, b, c, d, e, f]; var argIndex = 0; error = new Error( format.replace(/%s/g, function() { return args[argIndex++]; }) ); error.name = "Invariant Violation"; } error.framesToPop = 1; throw error; } }; module3.exports = invariant; }), , /* 9 */ /***/ (function(module3, exports3) { module3.exports = require("crypto"); }), , /* 11 */ /***/ (function(module3, exports3) { var global2 = module3.exports = typeof window != "undefined" && window.Math == Math ? window : typeof self != "undefined" && self.Math == Math ? self : Function("return this")(); if (typeof __g == "number") __g = global2; }), /* 12 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.sortAlpha = sortAlpha; exports3.entries = entries; exports3.removePrefix = removePrefix; exports3.removeSuffix = removeSuffix; exports3.addSuffix = addSuffix; exports3.hyphenate = hyphenate; exports3.camelCase = camelCase; exports3.compareSortedArrays = compareSortedArrays; exports3.sleep = sleep; const _camelCase = __webpack_require__(176); function sortAlpha(a, b) { const shortLen = Math.min(a.length, b.length); for (let i = 0; i < shortLen; i++) { const aChar = a.charCodeAt(i); const bChar = b.charCodeAt(i); if (aChar !== bChar) { return aChar - bChar; } } return a.length - b.length; } function entries(obj) { const entries2 = []; if (obj) { for (const key in obj) { entries2.push([key, obj[key]]); } } return entries2; } function removePrefix(pattern, prefix) { if (pattern.startsWith(prefix)) { pattern = pattern.slice(prefix.length); } return pattern; } function removeSuffix(pattern, suffix) { if (pattern.endsWith(suffix)) { return pattern.slice(0, -suffix.length); } return pattern; } function addSuffix(pattern, suffix) { if (!pattern.endsWith(suffix)) { return pattern + suffix; } return pattern; } function hyphenate(str) { return str.replace(/[A-Z]/g, (match) => { return "-" + match.charAt(0).toLowerCase(); }); } function camelCase(str) { if (/[A-Z]/.test(str)) { return null; } else { return _camelCase(str); } } function compareSortedArrays(array1, array2) { if (array1.length !== array2.length) { return false; } for (let i = 0, len = array1.length; i < len; i++) { if (array1[i] !== array2[i]) { return false; } } return true; } function sleep(ms) { return new Promise((resolve) => { setTimeout(resolve, ms); }); } }), /* 13 */ /***/ (function(module3, exports3, __webpack_require__) { var store = __webpack_require__(107)("wks"); var uid = __webpack_require__(111); var Symbol2 = __webpack_require__(11).Symbol; var USE_SYMBOL = typeof Symbol2 == "function"; var $exports = module3.exports = function(name) { return store[name] || (store[name] = USE_SYMBOL && Symbol2[name] || (USE_SYMBOL ? Symbol2 : uid)("Symbol." + name)); }; $exports.store = store; }), /* 14 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.stringify = exports3.parse = void 0; var _asyncToGenerator2; function _load_asyncToGenerator() { return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1)); } var _parse; function _load_parse() { return _parse = __webpack_require__(81); } Object.defineProperty(exports3, "parse", { enumerable: true, get: function get() { return _interopRequireDefault(_parse || _load_parse()).default; } }); var _stringify; function _load_stringify() { return _stringify = __webpack_require__(150); } Object.defineProperty(exports3, "stringify", { enumerable: true, get: function get() { return _interopRequireDefault(_stringify || _load_stringify()).default; } }); exports3.implodeEntry = implodeEntry; exports3.explodeEntry = explodeEntry; var _misc; function _load_misc() { return _misc = __webpack_require__(12); } var _normalizePattern; function _load_normalizePattern() { return _normalizePattern = __webpack_require__(29); } var _parse2; function _load_parse2() { return _parse2 = _interopRequireDefault(__webpack_require__(81)); } var _constants; function _load_constants() { return _constants = __webpack_require__(6); } var _fs; function _load_fs() { return _fs = _interopRequireWildcard(__webpack_require__(5)); } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const invariant = __webpack_require__(7); const path2 = __webpack_require__(0); const ssri = __webpack_require__(55); function getName(pattern) { return (0, (_normalizePattern || _load_normalizePattern()).normalizePattern)(pattern).name; } function blankObjectUndefined(obj) { return obj && Object.keys(obj).length ? obj : void 0; } function keyForRemote(remote) { return remote.resolved || (remote.reference && remote.hash ? `${remote.reference}#${remote.hash}` : null); } function serializeIntegrity(integrity) { return integrity.toString().split(" ").sort().join(" "); } function implodeEntry(pattern, obj) { const inferredName = getName(pattern); const integrity = obj.integrity ? serializeIntegrity(obj.integrity) : ""; const imploded = { name: inferredName === obj.name ? void 0 : obj.name, version: obj.version, uid: obj.uid === obj.version ? void 0 : obj.uid, resolved: obj.resolved, registry: obj.registry === "npm" ? void 0 : obj.registry, dependencies: blankObjectUndefined(obj.dependencies), optionalDependencies: blankObjectUndefined(obj.optionalDependencies), permissions: blankObjectUndefined(obj.permissions), prebuiltVariants: blankObjectUndefined(obj.prebuiltVariants) }; if (integrity) { imploded.integrity = integrity; } return imploded; } function explodeEntry(pattern, obj) { obj.optionalDependencies = obj.optionalDependencies || {}; obj.dependencies = obj.dependencies || {}; obj.uid = obj.uid || obj.version; obj.permissions = obj.permissions || {}; obj.registry = obj.registry || "npm"; obj.name = obj.name || getName(pattern); const integrity = obj.integrity; if (integrity && integrity.isIntegrity) { obj.integrity = ssri.parse(integrity); } return obj; } class Lockfile { constructor({ cache, source, parseResultType } = {}) { this.source = source || ""; this.cache = cache; this.parseResultType = parseResultType; } // source string if the `cache` was parsed // if true, we're parsing an old yarn file and need to update integrity fields hasEntriesExistWithoutIntegrity() { if (!this.cache) { return false; } for (const key in this.cache) { if (!/^.*@(file:|http)/.test(key) && this.cache[key] && !this.cache[key].integrity) { return true; } } return false; } static fromDirectory(dir, reporter) { return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { const lockfileLoc = path2.join(dir, (_constants || _load_constants()).LOCKFILE_FILENAME); let lockfile; let rawLockfile = ""; let parseResult; if (yield (_fs || _load_fs()).exists(lockfileLoc)) { rawLockfile = yield (_fs || _load_fs()).readFile(lockfileLoc); parseResult = (0, (_parse2 || _load_parse2()).default)(rawLockfile, lockfileLoc); if (reporter) { if (parseResult.type === "merge") { reporter.info(reporter.lang("lockfileMerged")); } else if (parseResult.type === "conflict") { reporter.warn(reporter.lang("lockfileConflict")); } } lockfile = parseResult.object; } else if (reporter) { reporter.info(reporter.lang("noLockfileFound")); } return new Lockfile({ cache: lockfile, source: rawLockfile, parseResultType: parseResult && parseResult.type }); })(); } getLocked(pattern) { const cache = this.cache; if (!cache) { return void 0; } const shrunk = pattern in cache && cache[pattern]; if (typeof shrunk === "string") { return this.getLocked(shrunk); } else if (shrunk) { explodeEntry(pattern, shrunk); return shrunk; } return void 0; } removePattern(pattern) { const cache = this.cache; if (!cache) { return; } delete cache[pattern]; } getLockfile(patterns) { const lockfile = {}; const seen = /* @__PURE__ */ new Map(); const sortedPatternsKeys = Object.keys(patterns).sort((_misc || _load_misc()).sortAlpha); for (var _iterator = sortedPatternsKeys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ; ) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } const pattern = _ref; const pkg = patterns[pattern]; const remote = pkg._remote, ref = pkg._reference; invariant(ref, "Package is missing a reference"); invariant(remote, "Package is missing a remote"); const remoteKey = keyForRemote(remote); const seenPattern = remoteKey && seen.get(remoteKey); if (seenPattern) { lockfile[pattern] = seenPattern; if (!seenPattern.name && getName(pattern) !== pkg.name) { seenPattern.name = pkg.name; } continue; } const obj = implodeEntry(pattern, { name: pkg.name, version: pkg.version, uid: pkg._uid, resolved: remote.resolved, integrity: remote.integrity, registry: remote.registry, dependencies: pkg.dependencies, peerDependencies: pkg.peerDependencies, optionalDependencies: pkg.optionalDependencies, permissions: ref.permissions, prebuiltVariants: pkg.prebuiltVariants }); lockfile[pattern] = obj; if (remoteKey) { seen.set(remoteKey, obj); } } return lockfile; } } exports3.default = Lockfile; }), , , /* 17 */ /***/ (function(module3, exports3) { module3.exports = require("stream"); }), , , /* 20 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.default = nullify; function nullify(obj = {}) { if (Array.isArray(obj)) { for (var _iterator = obj, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ; ) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } const item = _ref; nullify(item); } } else if (obj !== null && typeof obj === "object" || typeof obj === "function") { Object.setPrototypeOf(obj, null); if (typeof obj === "object") { for (const key in obj) { nullify(obj[key]); } } } return obj; } }), , /* 22 */ /***/ (function(module3, exports3) { module3.exports = require("assert"); }), /* 23 */ /***/ (function(module3, exports3) { var core = module3.exports = { version: "2.5.7" }; if (typeof __e == "number") __e = core; }), , , , /* 27 */ /***/ (function(module3, exports3, __webpack_require__) { var isObject = __webpack_require__(34); module3.exports = function(it) { if (!isObject(it)) throw TypeError(it + " is not an object!"); return it; }; }), , /* 29 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.normalizePattern = normalizePattern; function normalizePattern(pattern) { let hasVersion = false; let range = "latest"; let name = pattern; let isScoped = false; if (name[0] === "@") { isScoped = true; name = name.slice(1); } const parts = name.split("@"); if (parts.length > 1) { name = parts.shift(); range = parts.join("@"); if (range) { hasVersion = true; } else { range = "*"; } } if (isScoped) { name = `@${name}`; } return { name, range, hasVersion }; } }), , /* 31 */ /***/ (function(module3, exports3, __webpack_require__) { var dP = __webpack_require__(50); var createDesc = __webpack_require__(106); module3.exports = __webpack_require__(33) ? function(object, key, value) { return dP.f(object, key, createDesc(1, value)); } : function(object, key, value) { object[key] = value; return object; }; }), /* 32 */ /***/ (function(module3, exports3, __webpack_require__) { var buffer = __webpack_require__(63); var Buffer2 = buffer.Buffer; function copyProps(src, dst) { for (var key in src) { dst[key] = src[key]; } } if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) { module3.exports = buffer; } else { copyProps(buffer, exports3); exports3.Buffer = SafeBuffer; } function SafeBuffer(arg, encodingOrOffset, length) { return Buffer2(arg, encodingOrOffset, length); } copyProps(Buffer2, SafeBuffer); SafeBuffer.from = function(arg, encodingOrOffset, length) { if (typeof arg === "number") { throw new TypeError("Argument must not be a number"); } return Buffer2(arg, encodingOrOffset, length); }; SafeBuffer.alloc = function(size, fill, encoding) { if (typeof size !== "number") { throw new TypeError("Argument must be a number"); } var buf = Buffer2(size); if (fill !== void 0) { if (typeof encoding === "string") { buf.fill(fill, encoding); } else { buf.fill(fill); } } else { buf.fill(0); } return buf; }; SafeBuffer.allocUnsafe = function(size) { if (typeof size !== "number") { throw new TypeError("Argument must be a number"); } return Buffer2(size); }; SafeBuffer.allocUnsafeSlow = function(size) { if (typeof size !== "number") { throw new TypeError("Argument must be a number"); } return buffer.SlowBuffer(size); }; }), /* 33 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = !__webpack_require__(85)(function() { return Object.defineProperty({}, "a", { get: function() { return 7; } }).a != 7; }); }), /* 34 */ /***/ (function(module3, exports3) { module3.exports = function(it) { return typeof it === "object" ? it !== null : typeof it === "function"; }; }), /* 35 */ /***/ (function(module3, exports3) { module3.exports = {}; }), /* 36 */ /***/ (function(module3, exports3) { module3.exports = require("os"); }), , , , /* 40 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.wait = wait; exports3.promisify = promisify; exports3.queue = queue; function wait(delay) { return new Promise((resolve) => { setTimeout(resolve, delay); }); } function promisify(fn, firstData) { return function(...args) { return new Promise(function(resolve, reject) { args.push(function(err, ...result2) { let res = result2; if (result2.length <= 1) { res = result2[0]; } if (firstData) { res = err; err = null; } if (err) { reject(err); } else { resolve(res); } }); fn.apply(null, args); }); }; } function queue(arr, promiseProducer, concurrency = Infinity) { concurrency = Math.min(concurrency, arr.length); arr = arr.slice(); const results = []; let total = arr.length; if (!total) { return Promise.resolve(results); } return new Promise((resolve, reject) => { for (let i = 0; i < concurrency; i++) { next(); } function next() { const item = arr.shift(); const promise = promiseProducer(item); promise.then(function(result2) { results.push(result2); total--; if (total === 0) { resolve(results); } else { if (arr.length) { next(); } } }, reject); } }); } }), /* 41 */ /***/ (function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__(11); var core = __webpack_require__(23); var ctx = __webpack_require__(48); var hide = __webpack_require__(31); var has = __webpack_require__(49); var PROTOTYPE = "prototype"; var $export = function(type, name, source) { var IS_FORCED = type & $export.F; var IS_GLOBAL = type & $export.G; var IS_STATIC = type & $export.S; var IS_PROTO = type & $export.P; var IS_BIND = type & $export.B; var IS_WRAP = type & $export.W; var exports4 = IS_GLOBAL ? core : core[name] || (core[name] = {}); var expProto = exports4[PROTOTYPE]; var target = IS_GLOBAL ? global2 : IS_STATIC ? global2[name] : (global2[name] || {})[PROTOTYPE]; var key, own, out; if (IS_GLOBAL) source = name; for (key in source) { own = !IS_FORCED && target && target[key] !== void 0; if (own && has(exports4, key)) continue; out = own ? target[key] : source[key]; exports4[key] = IS_GLOBAL && typeof target[key] != "function" ? source[key] : IS_BIND && own ? ctx(out, global2) : IS_WRAP && target[key] == out ? (function(C) { var F = function(a, b, c) { if (this instanceof C) { switch (arguments.length) { case 0: return new C(); case 1: return new C(a); case 2: return new C(a, b); } return new C(a, b, c); } return C.apply(this, arguments); }; F[PROTOTYPE] = C[PROTOTYPE]; return F; })(out) : IS_PROTO && typeof out == "function" ? ctx(Function.call, out) : out; if (IS_PROTO) { (exports4.virtual || (exports4.virtual = {}))[key] = out; if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); } } }; $export.F = 1; $export.G = 2; $export.S = 4; $export.P = 8; $export.B = 16; $export.W = 32; $export.U = 64; $export.R = 128; module3.exports = $export; }), /* 42 */ /***/ (function(module3, exports3, __webpack_require__) { try { var util = __webpack_require__(2); if (typeof util.inherits !== "function") throw ""; module3.exports = util.inherits; } catch (e) { module3.exports = __webpack_require__(224); } }), , , /* 45 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.home = void 0; var _rootUser; function _load_rootUser() { return _rootUser = _interopRequireDefault(__webpack_require__(169)); } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const path2 = __webpack_require__(0); const home = exports3.home = __webpack_require__(36).homedir(); const userHomeDir = (_rootUser || _load_rootUser()).default ? path2.resolve("/usr/local/share") : home; exports3.default = userHomeDir; }), /* 46 */ /***/ (function(module3, exports3) { module3.exports = function(it) { if (typeof it != "function") throw TypeError(it + " is not a function!"); return it; }; }), /* 47 */ /***/ (function(module3, exports3) { var toString = {}.toString; module3.exports = function(it) { return toString.call(it).slice(8, -1); }; }), /* 48 */ /***/ (function(module3, exports3, __webpack_require__) { var aFunction = __webpack_require__(46); module3.exports = function(fn, that, length) { aFunction(fn); if (that === void 0) return fn; switch (length) { case 1: return function(a) { return fn.call(that, a); }; case 2: return function(a, b) { return fn.call(that, a, b); }; case 3: return function(a, b, c) { return fn.call(that, a, b, c); }; } return function() { return fn.apply(that, arguments); }; }; }), /* 49 */ /***/ (function(module3, exports3) { var hasOwnProperty2 = {}.hasOwnProperty; module3.exports = function(it, key) { return hasOwnProperty2.call(it, key); }; }), /* 50 */ /***/ (function(module3, exports3, __webpack_require__) { var anObject = __webpack_require__(27); var IE8_DOM_DEFINE = __webpack_require__(184); var toPrimitive = __webpack_require__(201); var dP = Object.defineProperty; exports3.f = __webpack_require__(33) ? Object.defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); if (IE8_DOM_DEFINE) try { return dP(O, P, Attributes); } catch (e) { } if ("get" in Attributes || "set" in Attributes) throw TypeError("Accessors not supported!"); if ("value" in Attributes) O[P] = Attributes.value; return O; }; }), , , , /* 54 */ /***/ (function(module3, exports3) { module3.exports = require("events"); }), /* 55 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; const Buffer2 = __webpack_require__(32).Buffer; const crypto5 = __webpack_require__(9); const Transform = __webpack_require__(17).Transform; const SPEC_ALGORITHMS = ["sha256", "sha384", "sha512"]; const BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i; const SRI_REGEX = /^([^-]+)-([^?]+)([?\S*]*)$/; const STRICT_SRI_REGEX = /^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/; const VCHAR_REGEX = /^[\x21-\x7E]+$/; class Hash { get isHash() { return true; } constructor(hash, opts) { const strict = !!(opts && opts.strict); this.source = hash.trim(); const match = this.source.match( strict ? STRICT_SRI_REGEX : SRI_REGEX ); if (!match) { return; } if (strict && !SPEC_ALGORITHMS.some((a) => a === match[1])) { return; } this.algorithm = match[1]; this.digest = match[2]; const rawOpts = match[3]; this.options = rawOpts ? rawOpts.slice(1).split("?") : []; } hexDigest() { return this.digest && Buffer2.from(this.digest, "base64").toString("hex"); } toJSON() { return this.toString(); } toString(opts) { if (opts && opts.strict) { if (!// The spec has very restricted productions for algorithms. // https://www.w3.org/TR/CSP2/#source-list-syntax (SPEC_ALGORITHMS.some((x) => x === this.algorithm) && // Usually, if someone insists on using a "different" base64, we // leave it as-is, since there's multiple standards, and the // specified is not a URL-safe variant. // https://www.w3.org/TR/CSP2/#base64_value this.digest.match(BASE64_REGEX) && // Option syntax is strictly visual chars. // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression // https://tools.ietf.org/html/rfc5234#appendix-B.1 (this.options || []).every((opt) => opt.match(VCHAR_REGEX)))) { return ""; } } const options = this.options && this.options.length ? `?${this.options.join("?")}` : ""; return `${this.algorithm}-${this.digest}${options}`; } } class Integrity { get isIntegrity() { return true; } toJSON() { return this.toString(); } toString(opts) { opts = opts || {}; let sep = opts.sep || " "; if (opts.strict) { sep = sep.replace(/\S+/g, " "); } return Object.keys(this).map((k) => { return this[k].map((hash) => { return Hash.prototype.toString.call(hash, opts); }).filter((x) => x.length).join(sep); }).filter((x) => x.length).join(sep); } concat(integrity, opts) { const other = typeof integrity === "string" ? integrity : stringify2(integrity, opts); return parse2(`${this.toString(opts)} ${other}`, opts); } hexDigest() { return parse2(this, { single: true }).hexDigest(); } match(integrity, opts) { const other = parse2(integrity, opts); const algo = other.pickAlgorithm(opts); return this[algo] && other[algo] && this[algo].find( (hash) => other[algo].find( (otherhash) => hash.digest === otherhash.digest ) ) || false; } pickAlgorithm(opts) { const pickAlgorithm = opts && opts.pickAlgorithm || getPrioritizedHash; const keys = Object.keys(this); if (!keys.length) { throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`); } return keys.reduce((acc, algo) => { return pickAlgorithm(acc, algo) || acc; }); } } module3.exports.parse = parse2; function parse2(sri, opts) { opts = opts || {}; if (typeof sri === "string") { return _parse(sri, opts); } else if (sri.algorithm && sri.digest) { const fullSri = new Integrity(); fullSri[sri.algorithm] = [sri]; return _parse(stringify2(fullSri, opts), opts); } else { return _parse(stringify2(sri, opts), opts); } } function _parse(integrity, opts) { if (opts.single) { return new Hash(integrity, opts); } return integrity.trim().split(/\s+/).reduce((acc, string) => { const hash = new Hash(string, opts); if (hash.algorithm && hash.digest) { const algo = hash.algorithm; if (!acc[algo]) { acc[algo] = []; } acc[algo].push(hash); } return acc; }, new Integrity()); } module3.exports.stringify = stringify2; function stringify2(obj, opts) { if (obj.algorithm && obj.digest) { return Hash.prototype.toString.call(obj, opts); } else if (typeof obj === "string") { return stringify2(parse2(obj, opts), opts); } else { return Integrity.prototype.toString.call(obj, opts); } } module3.exports.fromHex = fromHex; function fromHex(hexDigest, algorithm, opts) { const optString = opts && opts.options && opts.options.length ? `?${opts.options.join("?")}` : ""; return parse2( `${algorithm}-${Buffer2.from(hexDigest, "hex").toString("base64")}${optString}`, opts ); } module3.exports.fromData = fromData; function fromData(data, opts) { opts = opts || {}; const algorithms = opts.algorithms || ["sha512"]; const optString = opts.options && opts.options.length ? `?${opts.options.join("?")}` : ""; return algorithms.reduce((acc, algo) => { const digest = crypto5.createHash(algo).update(data).digest("base64"); const hash = new Hash( `${algo}-${digest}${optString}`, opts ); if (hash.algorithm && hash.digest) { const algo2 = hash.algorithm; if (!acc[algo2]) { acc[algo2] = []; } acc[algo2].push(hash); } return acc; }, new Integrity()); } module3.exports.fromStream = fromStream; function fromStream(stream, opts) { opts = opts || {}; const P = opts.Promise || Promise; const istream = integrityStream(opts); return new P((resolve, reject) => { stream.pipe(istream); stream.on("error", reject); istream.on("error", reject); let sri; istream.on("integrity", (s) => { sri = s; }); istream.on("end", () => resolve(sri)); istream.on("data", () => { }); }); } module3.exports.checkData = checkData; function checkData(data, sri, opts) { opts = opts || {}; sri = parse2(sri, opts); if (!Object.keys(sri).length) { if (opts.error) { throw Object.assign( new Error("No valid integrity hashes to check against"), { code: "EINTEGRITY" } ); } else { return false; } } const algorithm = sri.pickAlgorithm(opts); const digest = crypto5.createHash(algorithm).update(data).digest("base64"); const newSri = parse2({ algorithm, digest }); const match = newSri.match(sri, opts); if (match || !opts.error) { return match; } else if (typeof opts.size === "number" && data.length !== opts.size) { const err = new Error(`data size mismatch when checking ${sri}. Wanted: ${opts.size} Found: ${data.length}`); err.code = "EBADSIZE"; err.found = data.length; err.expected = opts.size; err.sri = sri; throw err; } else { const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`); err.code = "EINTEGRITY"; err.found = newSri; err.expected = sri; err.algorithm = algorithm; err.sri = sri; throw err; } } module3.exports.checkStream = checkStream; function checkStream(stream, sri, opts) { opts = opts || {}; const P = opts.Promise || Promise; const checker = integrityStream(Object.assign({}, opts, { integrity: sri })); return new P((resolve, reject) => { stream.pipe(checker); stream.on("error", reject); checker.on("error", reject); let sri2; checker.on("verified", (s) => { sri2 = s; }); checker.on("end", () => resolve(sri2)); checker.on("data", () => { }); }); } module3.exports.integrityStream = integrityStream; function integrityStream(opts) { opts = opts || {}; const sri = opts.integrity && parse2(opts.integrity, opts); const goodSri = sri && Object.keys(sri).length; const algorithm = goodSri && sri.pickAlgorithm(opts); const digests = goodSri && sri[algorithm]; const algorithms = Array.from( new Set( (opts.algorithms || ["sha512"]).concat(algorithm ? [algorithm] : []) ) ); const hashes = algorithms.map(crypto5.createHash); let streamSize = 0; const stream = new Transform({ transform(chunk, enc, cb) { streamSize += chunk.length; hashes.forEach((h) => h.update(chunk, enc)); cb(null, chunk, enc); } }).on("end", () => { const optString = opts.options && opts.options.length ? `?${opts.options.join("?")}` : ""; const newSri = parse2(hashes.map((h, i) => { return `${algorithms[i]}-${h.digest("base64")}${optString}`; }).join(" "), opts); const match = goodSri && newSri.match(sri, opts); if (typeof opts.size === "number" && streamSize !== opts.size) { const err = new Error(`stream size mismatch when checking ${sri}. Wanted: ${opts.size} Found: ${streamSize}`); err.code = "EBADSIZE"; err.found = streamSize; err.expected = opts.size; err.sri = sri; stream.emit("error", err); } else if (opts.integrity && !match) { const err = new Error(`${sri} integrity checksum failed when using ${algorithm}: wanted ${digests} but got ${newSri}. (${streamSize} bytes)`); err.code = "EINTEGRITY"; err.found = newSri; err.expected = digests; err.algorithm = algorithm; err.sri = sri; stream.emit("error", err); } else { stream.emit("size", streamSize); stream.emit("integrity", newSri); match && stream.emit("verified", match); } }); return stream; } module3.exports.create = createIntegrity; function createIntegrity(opts) { opts = opts || {}; const algorithms = opts.algorithms || ["sha512"]; const optString = opts.options && opts.options.length ? `?${opts.options.join("?")}` : ""; const hashes = algorithms.map(crypto5.createHash); return { update: function(chunk, enc) { hashes.forEach((h) => h.update(chunk, enc)); return this; }, digest: function(enc) { const integrity = algorithms.reduce((acc, algo) => { const digest = hashes.shift().digest("base64"); const hash = new Hash( `${algo}-${digest}${optString}`, opts ); if (hash.algorithm && hash.digest) { const algo2 = hash.algorithm; if (!acc[algo2]) { acc[algo2] = []; } acc[algo2].push(hash); } return acc; }, new Integrity()); return integrity; } }; } const NODE_HASHES = new Set(crypto5.getHashes()); const DEFAULT_PRIORITY = [ "md5", "whirlpool", "sha1", "sha224", "sha256", "sha384", "sha512", // TODO - it's unclear _which_ of these Node will actually use as its name // for the algorithm, so we guesswork it based on the OpenSSL names. "sha3", "sha3-256", "sha3-384", "sha3-512", "sha3_256", "sha3_384", "sha3_512" ].filter((algo) => NODE_HASHES.has(algo)); function getPrioritizedHash(algo1, algo2) { return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) ? algo1 : algo2; } }), , , , , /* 60 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = minimatch; minimatch.Minimatch = Minimatch; var path2 = { sep: "/" }; try { path2 = __webpack_require__(0); } catch (er) { } var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}; var expand = __webpack_require__(175); var plTypes = { "!": { open: "(?:(?!(?:", close: "))[^/]*?)" }, "?": { open: "(?:", close: ")?" }, "+": { open: "(?:", close: ")+" }, "*": { open: "(?:", close: ")*" }, "@": { open: "(?:", close: ")" } }; var qmark = "[^/]"; var star = qmark + "*?"; var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; var reSpecials = charSet("().*{}+?[]^$\\!"); function charSet(s) { return s.split("").reduce(function(set, c) { set[c] = true; return set; }, {}); } var slashSplit = /\/+/; minimatch.filter = filter; function filter(pattern, options) { options = options || {}; return function(p, i, list) { return minimatch(p, pattern, options); }; } function ext(a, b) { a = a || {}; b = b || {}; var t = {}; Object.keys(b).forEach(function(k) { t[k] = b[k]; }); Object.keys(a).forEach(function(k) { t[k] = a[k]; }); return t; } minimatch.defaults = function(def) { if (!def || !Object.keys(def).length) return minimatch; var orig = minimatch; var m = function minimatch2(p, pattern, options) { return orig.minimatch(p, pattern, ext(def, options)); }; m.Minimatch = function Minimatch2(pattern, options) { return new orig.Minimatch(pattern, ext(def, options)); }; return m; }; Minimatch.defaults = function(def) { if (!def || !Object.keys(def).length) return Minimatch; return minimatch.defaults(def).Minimatch; }; function minimatch(p, pattern, options) { if (typeof pattern !== "string") { throw new TypeError("glob pattern string required"); } if (!options) options = {}; if (!options.nocomment && pattern.charAt(0) === "#") { return false; } if (pattern.trim() === "") return p === ""; return new Minimatch(pattern, options).match(p); } function Minimatch(pattern, options) { if (!(this instanceof Minimatch)) { return new Minimatch(pattern, options); } if (typeof pattern !== "string") { throw new TypeError("glob pattern string required"); } if (!options) options = {}; pattern = pattern.trim(); if (path2.sep !== "/") { pattern = pattern.split(path2.sep).join("/"); } this.options = options; this.set = []; this.pattern = pattern; this.regexp = null; this.negate = false; this.comment = false; this.empty = false; this.make(); } Minimatch.prototype.debug = function() { }; Minimatch.prototype.make = make; function make() { if (this._made) return; var pattern = this.pattern; var options = this.options; if (!options.nocomment && pattern.charAt(0) === "#") { this.comment = true; return; } if (!pattern) { this.empty = true; return; } this.parseNegate(); var set = this.globSet = this.braceExpand(); if (options.debug) this.debug = console.error; this.debug(this.pattern, set); set = this.globParts = set.map(function(s) { return s.split(slashSplit); }); this.debug(this.pattern, set); set = set.map(function(s, si, set2) { return s.map(this.parse, this); }, this); this.debug(this.pattern, set); set = set.filter(function(s) { return s.indexOf(false) === -1; }); this.debug(this.pattern, set); this.set = set; } Minimatch.prototype.parseNegate = parseNegate; function parseNegate() { var pattern = this.pattern; var negate = false; var options = this.options; var negateOffset = 0; if (options.nonegate) return; for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) { negate = !negate; negateOffset++; } if (negateOffset) this.pattern = pattern.substr(negateOffset); this.negate = negate; } minimatch.braceExpand = function(pattern, options) { return braceExpand(pattern, options); }; Minimatch.prototype.braceExpand = braceExpand; function braceExpand(pattern, options) { if (!options) { if (this instanceof Minimatch) { options = this.options; } else { options = {}; } } pattern = typeof pattern === "undefined" ? this.pattern : pattern; if (typeof pattern === "undefined") { throw new TypeError("undefined pattern"); } if (options.nobrace || !pattern.match(/\{.*\}/)) { return [pattern]; } return expand(pattern); } Minimatch.prototype.parse = parse2; var SUBPARSE = {}; function parse2(pattern, isSub) { if (pattern.length > 1024 * 64) { throw new TypeError("pattern is too long"); } var options = this.options; if (!options.noglobstar && pattern === "**") return GLOBSTAR; if (pattern === "") return ""; var re = ""; var hasMagic = !!options.nocase; var escaping = false; var patternListStack = []; var negativeLists = []; var stateChar; var inClass = false; var reClassStart = -1; var classStart = -1; var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)"; var self2 = this; function clearStateChar() { if (stateChar) { switch (stateChar) { case "*": re += star; hasMagic = true; break; case "?": re += qmark; hasMagic = true; break; default: re += "\\" + stateChar; break; } self2.debug("clearStateChar %j %j", stateChar, re); stateChar = false; } } for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) { this.debug("%s %s %s %j", pattern, i, re, c); if (escaping && reSpecials[c]) { re += "\\" + c; escaping = false; continue; } switch (c) { case "/": return false; case "\\": clearStateChar(); escaping = true; continue; // the various stateChar values // for the "extglob" stuff. case "?": case "*": case "+": case "@": case "!": this.debug("%s %s %s %j <-- stateChar", pattern, i, re, c); if (inClass) { this.debug(" in class"); if (c === "!" && i === classStart + 1) c = "^"; re += c; continue; } self2.debug("call clearStateChar %j", stateChar); clearStateChar(); stateChar = c; if (options.noext) clearStateChar(); continue; case "(": if (inClass) { re += "("; continue; } if (!stateChar) { re += "\\("; continue; } patternListStack.push({ type: stateChar, start: i - 1, reStart: re.length, open: plTypes[stateChar].open, close: plTypes[stateChar].close }); re += stateChar === "!" ? "(?:(?!(?:" : "(?:"; this.debug("plType %j %j", stateChar, re); stateChar = false; continue; case ")": if (inClass || !patternListStack.length) { re += "\\)"; continue; } clearStateChar(); hasMagic = true; var pl = patternListStack.pop(); re += pl.close; if (pl.type === "!") { negativeLists.push(pl); } pl.reEnd = re.length; continue; case "|": if (inClass || !patternListStack.length || escaping) { re += "\\|"; escaping = false; continue; } clearStateChar(); re += "|"; continue; // these are mostly the same in regexp and glob case "[": clearStateChar(); if (inClass) { re += "\\" + c; continue; } inClass = true; classStart = i; reClassStart = re.length; re += c; continue; case "]": if (i === classStart + 1 || !inClass) { re += "\\" + c; escaping = false; continue; } if (inClass) { var cs = pattern.substring(classStart + 1, i); try { RegExp("[" + cs + "]"); } catch (er) { var sp = this.parse(cs, SUBPARSE); re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]"; hasMagic = hasMagic || sp[1]; inClass = false; continue; } } hasMagic = true; inClass = false; re += c; continue; default: clearStateChar(); if (escaping) { escaping = false; } else if (reSpecials[c] && !(c === "^" && inClass)) { re += "\\"; } re += c; } } if (inClass) { cs = pattern.substr(classStart + 1); sp = this.parse(cs, SUBPARSE); re = re.substr(0, reClassStart) + "\\[" + sp[0]; hasMagic = hasMagic || sp[1]; } for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { var tail = re.slice(pl.reStart + pl.open.length); this.debug("setting tail", re, pl); tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_, $1, $2) { if (!$2) { $2 = "\\"; } return $1 + $1 + $2 + "|"; }); this.debug("tail=%j\n %s", tail, tail, pl, re); var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type; hasMagic = true; re = re.slice(0, pl.reStart) + t + "\\(" + tail; } clearStateChar(); if (escaping) { re += "\\\\"; } var addPatternStart = false; switch (re.charAt(0)) { case ".": case "[": case "(": addPatternStart = true; } for (var n = negativeLists.length - 1; n > -1; n--) { var nl = negativeLists[n]; var nlBefore = re.slice(0, nl.reStart); var nlFirst = re.slice(nl.reStart, nl.reEnd - 8); var nlLast = re.slice(nl.reEnd - 8, nl.reEnd); var nlAfter = re.slice(nl.reEnd); nlLast += nlAfter; var openParensBefore = nlBefore.split("(").length - 1; var cleanAfter = nlAfter; for (i = 0; i < openParensBefore; i++) { cleanAfter = cleanAfter.replace(/\)[+*?]?/, ""); } nlAfter = cleanAfter; var dollar = ""; if (nlAfter === "" && isSub !== SUBPARSE) { dollar = "$"; } var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast; re = newRe; } if (re !== "" && hasMagic) { re = "(?=.)" + re; } if (addPatternStart) { re = patternStart + re; } if (isSub === SUBPARSE) { return [re, hasMagic]; } if (!hasMagic) { return globUnescape(pattern); } var flags = options.nocase ? "i" : ""; try { var regExp = new RegExp("^" + re + "$", flags); } catch (er) { return new RegExp("$."); } regExp._glob = pattern; regExp._src = re; return regExp; } minimatch.makeRe = function(pattern, options) { return new Minimatch(pattern, options || {}).makeRe(); }; Minimatch.prototype.makeRe = makeRe; function makeRe() { if (this.regexp || this.regexp === false) return this.regexp; var set = this.set; if (!set.length) { this.regexp = false; return this.regexp; } var options = this.options; var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot; var flags = options.nocase ? "i" : ""; var re = set.map(function(pattern) { return pattern.map(function(p) { return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src; }).join("\\/"); }).join("|"); re = "^(?:" + re + ")$"; if (this.negate) re = "^(?!" + re + ").*$"; try { this.regexp = new RegExp(re, flags); } catch (ex) { this.regexp = false; } return this.regexp; } minimatch.match = function(list, pattern, options) { options = options || {}; var mm = new Minimatch(pattern, options); list = list.filter(function(f) { return mm.match(f); }); if (mm.options.nonull && !list.length) { list.push(pattern); } return list; }; Minimatch.prototype.match = match; function match(f, partial) { this.debug("match", f, this.pattern); if (this.comment) return false; if (this.empty) return f === ""; if (f === "/" && partial) return true; var options = this.options; if (path2.sep !== "/") { f = f.split(path2.sep).join("/"); } f = f.split(slashSplit); this.debug(this.pattern, "split", f); var set = this.set; this.debug(this.pattern, "set", set); var filename; var i; for (i = f.length - 1; i >= 0; i--) { filename = f[i]; if (filename) break; } for (i = 0; i < set.length; i++) { var pattern = set[i]; var file = f; if (options.matchBase && pattern.length === 1) { file = [filename]; } var hit = this.matchOne(file, pattern, partial); if (hit) { if (options.flipNegate) return true; return !this.negate; } } if (options.flipNegate) return false; return this.negate; } Minimatch.prototype.matchOne = function(file, pattern, partial) { var options = this.options; this.debug( "matchOne", { "this": this, file, pattern } ); this.debug("matchOne", file.length, pattern.length); for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) { this.debug("matchOne loop"); var p = pattern[pi]; var f = file[fi]; this.debug(pattern, p, f); if (p === false) return false; if (p === GLOBSTAR) { this.debug("GLOBSTAR", [pattern, p, f]); var fr = fi; var pr = pi + 1; if (pr === pl) { this.debug("** at the end"); for (; fi < fl; fi++) { if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false; } return true; } while (fr < fl) { var swallowee = file[fr]; this.debug("\nglobstar while", file, fr, pattern, pr, swallowee); if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { this.debug("globstar found match!", fr, fl, swallowee); return true; } else { if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") { this.debug("dot detected!", file, fr, pattern, pr); break; } this.debug("globstar swallow a segment, and continue"); fr++; } } if (partial) { this.debug("\n>>> no match, partial?", file, fr, pattern, pr); if (fr === fl) return true; } return false; } var hit; if (typeof p === "string") { if (options.nocase) { hit = f.toLowerCase() === p.toLowerCase(); } else { hit = f === p; } this.debug("string match", p, f, hit); } else { hit = f.match(p); this.debug("pattern match", p, f, hit); } if (!hit) return false; } if (fi === fl && pi === pl) { return true; } else if (fi === fl) { return partial; } else if (pi === pl) { var emptyFileEnd = fi === fl - 1 && file[fi] === ""; return emptyFileEnd; } throw new Error("wtf?"); }; function globUnescape(s) { return s.replace(/\\(.)/g, "$1"); } function regExpEscape(s) { return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); } }), /* 61 */ /***/ (function(module3, exports3, __webpack_require__) { var wrappy = __webpack_require__(123); module3.exports = wrappy(once); module3.exports.strict = wrappy(onceStrict); once.proto = once(function() { Object.defineProperty(Function.prototype, "once", { value: function() { return once(this); }, configurable: true }); Object.defineProperty(Function.prototype, "onceStrict", { value: function() { return onceStrict(this); }, configurable: true }); }); function once(fn) { var f = function() { if (f.called) return f.value; f.called = true; return f.value = fn.apply(this, arguments); }; f.called = false; return f; } function onceStrict(fn) { var f = function() { if (f.called) throw new Error(f.onceError); f.called = true; return f.value = fn.apply(this, arguments); }; var name = fn.name || "Function wrapped with `once`"; f.onceError = name + " shouldn't be called more than once"; f.called = false; return f; } }), , /* 63 */ /***/ (function(module3, exports3) { module3.exports = require("buffer"); }), , , , /* 67 */ /***/ (function(module3, exports3) { module3.exports = function(it) { if (it == void 0) throw TypeError("Can't call method on " + it); return it; }; }), /* 68 */ /***/ (function(module3, exports3, __webpack_require__) { var isObject = __webpack_require__(34); var document2 = __webpack_require__(11).document; var is = isObject(document2) && isObject(document2.createElement); module3.exports = function(it) { return is ? document2.createElement(it) : {}; }; }), /* 69 */ /***/ (function(module3, exports3) { module3.exports = true; }), /* 70 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var aFunction = __webpack_require__(46); function PromiseCapability(C) { var resolve, reject; this.promise = new C(function($$resolve, $$reject) { if (resolve !== void 0 || reject !== void 0) throw TypeError("Bad Promise constructor"); resolve = $$resolve; reject = $$reject; }); this.resolve = aFunction(resolve); this.reject = aFunction(reject); } module3.exports.f = function(C) { return new PromiseCapability(C); }; }), /* 71 */ /***/ (function(module3, exports3, __webpack_require__) { var def = __webpack_require__(50).f; var has = __webpack_require__(49); var TAG = __webpack_require__(13)("toStringTag"); module3.exports = function(it, tag, stat) { if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); }; }), /* 72 */ /***/ (function(module3, exports3, __webpack_require__) { var shared = __webpack_require__(107)("keys"); var uid = __webpack_require__(111); module3.exports = function(key) { return shared[key] || (shared[key] = uid(key)); }; }), /* 73 */ /***/ (function(module3, exports3) { var ceil = Math.ceil; var floor = Math.floor; module3.exports = function(it) { return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; }), /* 74 */ /***/ (function(module3, exports3, __webpack_require__) { var IObject = __webpack_require__(131); var defined = __webpack_require__(67); module3.exports = function(it) { return IObject(defined(it)); }; }), /* 75 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = glob; var fs = __webpack_require__(3); var rp = __webpack_require__(114); var minimatch = __webpack_require__(60); var Minimatch = minimatch.Minimatch; var inherits = __webpack_require__(42); var EE = __webpack_require__(54).EventEmitter; var path2 = __webpack_require__(0); var assert = __webpack_require__(22); var isAbsolute = __webpack_require__(76); var globSync = __webpack_require__(218); var common = __webpack_require__(115); var alphasort = common.alphasort; var alphasorti = common.alphasorti; var setopts = common.setopts; var ownProp = common.ownProp; var inflight = __webpack_require__(223); var util = __webpack_require__(2); var childrenIgnored = common.childrenIgnored; var isIgnored = common.isIgnored; var once = __webpack_require__(61); function glob(pattern, options, cb) { if (typeof options === "function") cb = options, options = {}; if (!options) options = {}; if (options.sync) { if (cb) throw new TypeError("callback provided to sync glob"); return globSync(pattern, options); } return new Glob(pattern, options, cb); } glob.sync = globSync; var GlobSync = glob.GlobSync = globSync.GlobSync; glob.glob = glob; function extend(origin, add) { if (add === null || typeof add !== "object") { return origin; } var keys = Object.keys(add); var i = keys.length; while (i--) { origin[keys[i]] = add[keys[i]]; } return origin; } glob.hasMagic = function(pattern, options_) { var options = extend({}, options_); options.noprocess = true; var g = new Glob(pattern, options); var set = g.minimatch.set; if (!pattern) return false; if (set.length > 1) return true; for (var j = 0; j < set[0].length; j++) { if (typeof set[0][j] !== "string") return true; } return false; }; glob.Glob = Glob; inherits(Glob, EE); function Glob(pattern, options, cb) { if (typeof options === "function") { cb = options; options = null; } if (options && options.sync) { if (cb) throw new TypeError("callback provided to sync glob"); return new GlobSync(pattern, options); } if (!(this instanceof Glob)) return new Glob(pattern, options, cb); setopts(this, pattern, options); this._didRealPath = false; var n = this.minimatch.set.length; this.matches = new Array(n); if (typeof cb === "function") { cb = once(cb); this.on("error", cb); this.on("end", function(matches) { cb(null, matches); }); } var self2 = this; this._processing = 0; this._emitQueue = []; this._processQueue = []; this.paused = false; if (this.noprocess) return this; if (n === 0) return done(); var sync = true; for (var i = 0; i < n; i++) { this._process(this.minimatch.set[i], i, false, done); } sync = false; function done() { --self2._processing; if (self2._processing <= 0) { if (sync) { process.nextTick(function() { self2._finish(); }); } else { self2._finish(); } } } } Glob.prototype._finish = function() { assert(this instanceof Glob); if (this.aborted) return; if (this.realpath && !this._didRealpath) return this._realpath(); common.finish(this); this.emit("end", this.found); }; Glob.prototype._realpath = function() { if (this._didRealpath) return; this._didRealpath = true; var n = this.matches.length; if (n === 0) return this._finish(); var self2 = this; for (var i = 0; i < this.matches.length; i++) this._realpathSet(i, next); function next() { if (--n === 0) self2._finish(); } }; Glob.prototype._realpathSet = function(index, cb) { var matchset = this.matches[index]; if (!matchset) return cb(); var found = Object.keys(matchset); var self2 = this; var n = found.length; if (n === 0) return cb(); var set = this.matches[index] = /* @__PURE__ */ Object.create(null); found.forEach(function(p, i) { p = self2._makeAbs(p); rp.realpath(p, self2.realpathCache, function(er, real) { if (!er) set[real] = true; else if (er.syscall === "stat") set[p] = true; else self2.emit("error", er); if (--n === 0) { self2.matches[index] = set; cb(); } }); }); }; Glob.prototype._mark = function(p) { return common.mark(this, p); }; Glob.prototype._makeAbs = function(f) { return common.makeAbs(this, f); }; Glob.prototype.abort = function() { this.aborted = true; this.emit("abort"); }; Glob.prototype.pause = function() { if (!this.paused) { this.paused = true; this.emit("pause"); } }; Glob.prototype.resume = function() { if (this.paused) { this.emit("resume"); this.paused = false; if (this._emitQueue.length) { var eq = this._emitQueue.slice(0); this._emitQueue.length = 0; for (var i = 0; i < eq.length; i++) { var e = eq[i]; this._emitMatch(e[0], e[1]); } } if (this._processQueue.length) { var pq = this._processQueue.slice(0); this._processQueue.length = 0; for (var i = 0; i < pq.length; i++) { var p = pq[i]; this._processing--; this._process(p[0], p[1], p[2], p[3]); } } } }; Glob.prototype._process = function(pattern, index, inGlobStar, cb) { assert(this instanceof Glob); assert(typeof cb === "function"); if (this.aborted) return; this._processing++; if (this.paused) { this._processQueue.push([pattern, index, inGlobStar, cb]); return; } var n = 0; while (typeof pattern[n] === "string") { n++; } var prefix; switch (n) { // if not, then this is rather simple case pattern.length: this._processSimple(pattern.join("/"), index, cb); return; case 0: prefix = null; break; default: prefix = pattern.slice(0, n).join("/"); break; } var remain = pattern.slice(n); var read; if (prefix === null) read = "."; else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) { if (!prefix || !isAbsolute(prefix)) prefix = "/" + prefix; read = prefix; } else read = prefix; var abs = this._makeAbs(read); if (childrenIgnored(this, read)) return cb(); var isGlobStar = remain[0] === minimatch.GLOBSTAR; if (isGlobStar) this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb); else this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb); }; Glob.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar, cb) { var self2 = this; this._readdir(abs, inGlobStar, function(er, entries) { return self2._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb); }); }; Glob.prototype._processReaddir2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) { if (!entries) return cb(); var pn = remain[0]; var negate = !!this.minimatch.negate; var rawGlob = pn._glob; var dotOk = this.dot || rawGlob.charAt(0) === "."; var matchedEntries = []; for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (e.charAt(0) !== "." || dotOk) { var m; if (negate && !prefix) { m = !e.match(pn); } else { m = e.match(pn); } if (m) matchedEntries.push(e); } } var len = matchedEntries.length; if (len === 0) return cb(); if (remain.length === 1 && !this.mark && !this.stat) { if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; if (prefix) { if (prefix !== "/") e = prefix + "/" + e; else e = prefix + e; } if (e.charAt(0) === "/" && !this.nomount) { e = path2.join(this.root, e); } this._emitMatch(index, e); } return cb(); } remain.shift(); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; var newPattern; if (prefix) { if (prefix !== "/") e = prefix + "/" + e; else e = prefix + e; } this._process([e].concat(remain), index, inGlobStar, cb); } cb(); }; Glob.prototype._emitMatch = function(index, e) { if (this.aborted) return; if (isIgnored(this, e)) return; if (this.paused) { this._emitQueue.push([index, e]); return; } var abs = isAbsolute(e) ? e : this._makeAbs(e); if (this.mark) e = this._mark(e); if (this.absolute) e = abs; if (this.matches[index][e]) return; if (this.nodir) { var c = this.cache[abs]; if (c === "DIR" || Array.isArray(c)) return; } this.matches[index][e] = true; var st = this.statCache[abs]; if (st) this.emit("stat", e, st); this.emit("match", e); }; Glob.prototype._readdirInGlobStar = function(abs, cb) { if (this.aborted) return; if (this.follow) return this._readdir(abs, false, cb); var lstatkey = "lstat\0" + abs; var self2 = this; var lstatcb = inflight(lstatkey, lstatcb_); if (lstatcb) fs.lstat(abs, lstatcb); function lstatcb_(er, lstat) { if (er && er.code === "ENOENT") return cb(); var isSym = lstat && lstat.isSymbolicLink(); self2.symlinks[abs] = isSym; if (!isSym && lstat && !lstat.isDirectory()) { self2.cache[abs] = "FILE"; cb(); } else self2._readdir(abs, false, cb); } }; Glob.prototype._readdir = function(abs, inGlobStar, cb) { if (this.aborted) return; cb = inflight("readdir\0" + abs + "\0" + inGlobStar, cb); if (!cb) return; if (inGlobStar && !ownProp(this.symlinks, abs)) return this._readdirInGlobStar(abs, cb); if (ownProp(this.cache, abs)) { var c = this.cache[abs]; if (!c || c === "FILE") return cb(); if (Array.isArray(c)) return cb(null, c); } var self2 = this; fs.readdir(abs, readdirCb(this, abs, cb)); }; function readdirCb(self2, abs, cb) { return function(er, entries) { if (er) self2._readdirError(abs, er, cb); else self2._readdirEntries(abs, entries, cb); }; } Glob.prototype._readdirEntries = function(abs, entries, cb) { if (this.aborted) return; if (!this.mark && !this.stat) { for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (abs === "/") e = abs + e; else e = abs + "/" + e; this.cache[e] = true; } } this.cache[abs] = entries; return cb(null, entries); }; Glob.prototype._readdirError = function(f, er, cb) { if (this.aborted) return; switch (er.code) { case "ENOTSUP": // https://github.com/isaacs/node-glob/issues/205 case "ENOTDIR": var abs = this._makeAbs(f); this.cache[abs] = "FILE"; if (abs === this.cwdAbs) { var error = new Error(er.code + " invalid cwd " + this.cwd); error.path = this.cwd; error.code = er.code; this.emit("error", error); this.abort(); } break; case "ENOENT": // not terribly unusual case "ELOOP": case "ENAMETOOLONG": case "UNKNOWN": this.cache[this._makeAbs(f)] = false; break; default: this.cache[this._makeAbs(f)] = false; if (this.strict) { this.emit("error", er); this.abort(); } if (!this.silent) console.error("glob error", er); break; } return cb(); }; Glob.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar, cb) { var self2 = this; this._readdir(abs, inGlobStar, function(er, entries) { self2._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb); }); }; Glob.prototype._processGlobStar2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) { if (!entries) return cb(); var remainWithoutGlobStar = remain.slice(1); var gspref = prefix ? [prefix] : []; var noGlobStar = gspref.concat(remainWithoutGlobStar); this._process(noGlobStar, index, false, cb); var isSym = this.symlinks[abs]; var len = entries.length; if (isSym && inGlobStar) return cb(); for (var i = 0; i < len; i++) { var e = entries[i]; if (e.charAt(0) === "." && !this.dot) continue; var instead = gspref.concat(entries[i], remainWithoutGlobStar); this._process(instead, index, true, cb); var below = gspref.concat(entries[i], remain); this._process(below, index, true, cb); } cb(); }; Glob.prototype._processSimple = function(prefix, index, cb) { var self2 = this; this._stat(prefix, function(er, exists) { self2._processSimple2(prefix, index, er, exists, cb); }); }; Glob.prototype._processSimple2 = function(prefix, index, er, exists, cb) { if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); if (!exists) return cb(); if (prefix && isAbsolute(prefix) && !this.nomount) { var trail = /[\/\\]$/.test(prefix); if (prefix.charAt(0) === "/") { prefix = path2.join(this.root, prefix); } else { prefix = path2.resolve(this.root, prefix); if (trail) prefix += "/"; } } if (process.platform === "win32") prefix = prefix.replace(/\\/g, "/"); this._emitMatch(index, prefix); cb(); }; Glob.prototype._stat = function(f, cb) { var abs = this._makeAbs(f); var needDir = f.slice(-1) === "/"; if (f.length > this.maxLength) return cb(); if (!this.stat && ownProp(this.cache, abs)) { var c = this.cache[abs]; if (Array.isArray(c)) c = "DIR"; if (!needDir || c === "DIR") return cb(null, c); if (needDir && c === "FILE") return cb(); } var exists; var stat = this.statCache[abs]; if (stat !== void 0) { if (stat === false) return cb(null, stat); else { var type = stat.isDirectory() ? "DIR" : "FILE"; if (needDir && type === "FILE") return cb(); else return cb(null, type, stat); } } var self2 = this; var statcb = inflight("stat\0" + abs, lstatcb_); if (statcb) fs.lstat(abs, statcb); function lstatcb_(er, lstat) { if (lstat && lstat.isSymbolicLink()) { return fs.stat(abs, function(er2, stat2) { if (er2) self2._stat2(f, abs, null, lstat, cb); else self2._stat2(f, abs, er2, stat2, cb); }); } else { self2._stat2(f, abs, er, lstat, cb); } } }; Glob.prototype._stat2 = function(f, abs, er, stat, cb) { if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) { this.statCache[abs] = false; return cb(); } var needDir = f.slice(-1) === "/"; this.statCache[abs] = stat; if (abs.slice(-1) === "/" && stat && !stat.isDirectory()) return cb(null, false, stat); var c = true; if (stat) c = stat.isDirectory() ? "DIR" : "FILE"; this.cache[abs] = this.cache[abs] || c; if (needDir && c === "FILE") return cb(); return cb(null, c, stat); }; }), /* 76 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; function posix(path2) { return path2.charAt(0) === "/"; } function win32(path2) { var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; var result2 = splitDeviceRe.exec(path2); var device = result2[1] || ""; var isUnc = Boolean(device && device.charAt(1) !== ":"); return Boolean(result2[2] || isUnc); } module3.exports = process.platform === "win32" ? win32 : posix; module3.exports.posix = posix; module3.exports.win32 = win32; }), , , /* 79 */ /***/ (function(module3, exports3) { module3.exports = require("tty"); }), , /* 81 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.default = function(str, fileLoc = "lockfile") { str = (0, (_stripBom || _load_stripBom()).default)(str); return hasMergeConflicts(str) ? parseWithConflict(str, fileLoc) : { type: "success", object: parse2(str, fileLoc) }; }; var _util; function _load_util() { return _util = _interopRequireDefault(__webpack_require__(2)); } var _invariant; function _load_invariant() { return _invariant = _interopRequireDefault(__webpack_require__(7)); } var _stripBom; function _load_stripBom() { return _stripBom = _interopRequireDefault(__webpack_require__(122)); } var _constants; function _load_constants() { return _constants = __webpack_require__(6); } var _errors; function _load_errors() { return _errors = __webpack_require__(4); } var _map; function _load_map() { return _map = _interopRequireDefault(__webpack_require__(20)); } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const VERSION_REGEX = /^yarn lockfile v(\d+)$/; const TOKEN_TYPES = { boolean: "BOOLEAN", string: "STRING", identifier: "IDENTIFIER", eof: "EOF", colon: "COLON", newline: "NEWLINE", comment: "COMMENT", indent: "INDENT", invalid: "INVALID", number: "NUMBER", comma: "COMMA" }; const VALID_PROP_VALUE_TOKENS = [TOKEN_TYPES.boolean, TOKEN_TYPES.string, TOKEN_TYPES.number]; function isValidPropValueToken(token) { return VALID_PROP_VALUE_TOKENS.indexOf(token.type) >= 0; } function* tokenise(input) { let lastNewline = false; let line = 1; let col = 0; function buildToken(type, value) { return { line, col, type, value }; } while (input.length) { let chop = 0; if (input[0] === "\n" || input[0] === "\r") { chop++; if (input[1] === "\n") { chop++; } line++; col = 0; yield buildToken(TOKEN_TYPES.newline); } else if (input[0] === "#") { chop++; let val = ""; while (input[chop] !== "\n") { val += input[chop]; chop++; } yield buildToken(TOKEN_TYPES.comment, val); } else if (input[0] === " ") { if (lastNewline) { let indent = ""; for (let i = 0; input[i] === " "; i++) { indent += input[i]; } if (indent.length % 2) { throw new TypeError("Invalid number of spaces"); } else { chop = indent.length; yield buildToken(TOKEN_TYPES.indent, indent.length / 2); } } else { chop++; } } else if (input[0] === '"') { let val = ""; for (let i = 0; ; i++) { const currentChar = input[i]; val += currentChar; if (i > 0 && currentChar === '"') { const isEscaped = input[i - 1] === "\\" && input[i - 2] !== "\\"; if (!isEscaped) { break; } } } chop = val.length; try { yield buildToken(TOKEN_TYPES.string, JSON.parse(val)); } catch (err) { if (err instanceof SyntaxError) { yield buildToken(TOKEN_TYPES.invalid); } else { throw err; } } } else if (/^[0-9]/.test(input)) { let val = ""; for (let i = 0; /^[0-9]$/.test(input[i]); i++) { val += input[i]; } chop = val.length; yield buildToken(TOKEN_TYPES.number, +val); } else if (/^true/.test(input)) { yield buildToken(TOKEN_TYPES.boolean, true); chop = 4; } else if (/^false/.test(input)) { yield buildToken(TOKEN_TYPES.boolean, false); chop = 5; } else if (input[0] === ":") { yield buildToken(TOKEN_TYPES.colon); chop++; } else if (input[0] === ",") { yield buildToken(TOKEN_TYPES.comma); chop++; } else if (/^[a-zA-Z\/-]/g.test(input)) { let name = ""; for (let i = 0; i < input.length; i++) { const char = input[i]; if (char === ":" || char === " " || char === "\n" || char === "\r" || char === ",") { break; } else { name += char; } } chop = name.length; yield buildToken(TOKEN_TYPES.string, name); } else { yield buildToken(TOKEN_TYPES.invalid); } if (!chop) { yield buildToken(TOKEN_TYPES.invalid); } col += chop; lastNewline = input[0] === "\n" || input[0] === "\r" && input[1] === "\n"; input = input.slice(chop); } yield buildToken(TOKEN_TYPES.eof); } class Parser { constructor(input, fileLoc = "lockfile") { this.comments = []; this.tokens = tokenise(input); this.fileLoc = fileLoc; } onComment(token) { const value = token.value; (0, (_invariant || _load_invariant()).default)(typeof value === "string", "expected token value to be a string"); const comment = value.trim(); const versionMatch = comment.match(VERSION_REGEX); if (versionMatch) { const version2 = +versionMatch[1]; if (version2 > (_constants || _load_constants()).LOCKFILE_VERSION) { throw new (_errors || _load_errors()).MessageError(`Can't install from a lockfile of version ${version2} as you're on an old yarn version that only supports versions up to ${(_constants || _load_constants()).LOCKFILE_VERSION}. Run \`$ yarn self-update\` to upgrade to the latest version.`); } } this.comments.push(comment); } next() { const item = this.tokens.next(); (0, (_invariant || _load_invariant()).default)(item, "expected a token"); const done = item.done, value = item.value; if (done || !value) { throw new Error("No more tokens"); } else if (value.type === TOKEN_TYPES.comment) { this.onComment(value); return this.next(); } else { return this.token = value; } } unexpected(msg = "Unexpected token") { throw new SyntaxError(`${msg} ${this.token.line}:${this.token.col} in ${this.fileLoc}`); } expect(tokType) { if (this.token.type === tokType) { this.next(); } else { this.unexpected(); } } eat(tokType) { if (this.token.type === tokType) { this.next(); return true; } else { return false; } } parse(indent = 0) { const obj = (0, (_map || _load_map()).default)(); while (true) { const propToken = this.token; if (propToken.type === TOKEN_TYPES.newline) { const nextToken = this.next(); if (!indent) { continue; } if (nextToken.type !== TOKEN_TYPES.indent) { break; } if (nextToken.value === indent) { this.next(); } else { break; } } else if (propToken.type === TOKEN_TYPES.indent) { if (propToken.value === indent) { this.next(); } else { break; } } else if (propToken.type === TOKEN_TYPES.eof) { break; } else if (propToken.type === TOKEN_TYPES.string) { const key = propToken.value; (0, (_invariant || _load_invariant()).default)(key, "Expected a key"); const keys = [key]; this.next(); while (this.token.type === TOKEN_TYPES.comma) { this.next(); const keyToken = this.token; if (keyToken.type !== TOKEN_TYPES.string) { this.unexpected("Expected string"); } const key2 = keyToken.value; (0, (_invariant || _load_invariant()).default)(key2, "Expected a key"); keys.push(key2); this.next(); } const valToken = this.token; if (valToken.type === TOKEN_TYPES.colon) { this.next(); const val = this.parse(indent + 1); for (var _iterator = keys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ; ) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } const key2 = _ref; obj[key2] = val; } if (indent && this.token.type !== TOKEN_TYPES.indent) { break; } } else if (isValidPropValueToken(valToken)) { for (var _iterator2 = keys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator](); ; ) { var _ref2; if (_isArray2) { if (_i2 >= _iterator2.length) break; _ref2 = _iterator2[_i2++]; } else { _i2 = _iterator2.next(); if (_i2.done) break; _ref2 = _i2.value; } const key2 = _ref2; obj[key2] = valToken.value; } this.next(); } else { this.unexpected("Invalid value type"); } } else { this.unexpected(`Unknown token: ${(_util || _load_util()).default.inspect(propToken)}`); } } return obj; } } const MERGE_CONFLICT_ANCESTOR = "|||||||"; const MERGE_CONFLICT_END = ">>>>>>>"; const MERGE_CONFLICT_SEP = "======="; const MERGE_CONFLICT_START = "<<<<<<<"; function extractConflictVariants(str) { const variants = [[], []]; const lines = str.split(/\r?\n/g); let skip = false; while (lines.length) { const line = lines.shift(); if (line.startsWith(MERGE_CONFLICT_START)) { while (lines.length) { const conflictLine = lines.shift(); if (conflictLine === MERGE_CONFLICT_SEP) { skip = false; break; } else if (skip || conflictLine.startsWith(MERGE_CONFLICT_ANCESTOR)) { skip = true; continue; } else { variants[0].push(conflictLine); } } while (lines.length) { const conflictLine = lines.shift(); if (conflictLine.startsWith(MERGE_CONFLICT_END)) { break; } else { variants[1].push(conflictLine); } } } else { variants[0].push(line); variants[1].push(line); } } return [variants[0].join("\n"), variants[1].join("\n")]; } function hasMergeConflicts(str) { return str.includes(MERGE_CONFLICT_START) && str.includes(MERGE_CONFLICT_SEP) && str.includes(MERGE_CONFLICT_END); } function parse2(str, fileLoc) { const parser = new Parser(str, fileLoc); parser.next(); return parser.parse(); } function parseWithConflict(str, fileLoc) { const variants = extractConflictVariants(str); try { return { type: "merge", object: Object.assign({}, parse2(variants[0], fileLoc), parse2(variants[1], fileLoc)) }; } catch (err) { if (err instanceof SyntaxError) { return { type: "conflict", object: {} }; } else { throw err; } } } }), , , /* 84 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); var _map; function _load_map() { return _map = _interopRequireDefault(__webpack_require__(20)); } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const debug = __webpack_require__(212)("yarn"); class BlockingQueue { constructor(alias, maxConcurrency = Infinity) { this.concurrencyQueue = []; this.maxConcurrency = maxConcurrency; this.runningCount = 0; this.warnedStuck = false; this.alias = alias; this.first = true; this.running = (0, (_map || _load_map()).default)(); this.queue = (0, (_map || _load_map()).default)(); this.stuckTick = this.stuckTick.bind(this); } stillActive() { if (this.stuckTimer) { clearTimeout(this.stuckTimer); } this.stuckTimer = setTimeout(this.stuckTick, 5e3); this.stuckTimer.unref && this.stuckTimer.unref(); } stuckTick() { if (this.runningCount === 1) { this.warnedStuck = true; debug(`The ${JSON.stringify(this.alias)} blocking queue may be stuck. 5 seconds without any activity with 1 worker: ${Object.keys(this.running)[0]}`); } } push(key, factory) { if (this.first) { this.first = false; } else { this.stillActive(); } return new Promise((resolve, reject) => { const queue = this.queue[key] = this.queue[key] || []; queue.push({ factory, resolve, reject }); if (!this.running[key]) { this.shift(key); } }); } shift(key) { if (this.running[key]) { delete this.running[key]; this.runningCount--; if (this.stuckTimer) { clearTimeout(this.stuckTimer); this.stuckTimer = null; } if (this.warnedStuck) { this.warnedStuck = false; debug(`${JSON.stringify(this.alias)} blocking queue finally resolved. Nothing to worry about.`); } } const queue = this.queue[key]; if (!queue) { return; } var _queue$shift = queue.shift(); const resolve = _queue$shift.resolve, reject = _queue$shift.reject, factory = _queue$shift.factory; if (!queue.length) { delete this.queue[key]; } const next = () => { this.shift(key); this.shiftConcurrencyQueue(); }; const run = () => { this.running[key] = true; this.runningCount++; factory().then(function(val) { resolve(val); next(); return null; }).catch(function(err) { reject(err); next(); }); }; this.maybePushConcurrencyQueue(run); } maybePushConcurrencyQueue(run) { if (this.runningCount < this.maxConcurrency) { run(); } else { this.concurrencyQueue.push(run); } } shiftConcurrencyQueue() { if (this.runningCount < this.maxConcurrency) { const fn = this.concurrencyQueue.shift(); if (fn) { fn(); } } } } exports3.default = BlockingQueue; }), /* 85 */ /***/ (function(module3, exports3) { module3.exports = function(exec) { try { return !!exec(); } catch (e) { return true; } }; }), , , , , , , , , , , , , , , /* 100 */ /***/ (function(module3, exports3, __webpack_require__) { var cof = __webpack_require__(47); var TAG = __webpack_require__(13)("toStringTag"); var ARG = cof(/* @__PURE__ */ (function() { return arguments; })()) == "Arguments"; var tryGet = function(it, key) { try { return it[key]; } catch (e) { } }; module3.exports = function(it) { var O, T, B; return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (T = tryGet(O = Object(it), TAG)) == "string" ? T : ARG ? cof(O) : (B = cof(O)) == "Object" && typeof O.callee == "function" ? "Arguments" : B; }; }), /* 101 */ /***/ (function(module3, exports3) { module3.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","); }), /* 102 */ /***/ (function(module3, exports3, __webpack_require__) { var document2 = __webpack_require__(11).document; module3.exports = document2 && document2.documentElement; }), /* 103 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var LIBRARY = __webpack_require__(69); var $export = __webpack_require__(41); var redefine = __webpack_require__(197); var hide = __webpack_require__(31); var Iterators = __webpack_require__(35); var $iterCreate = __webpack_require__(188); var setToStringTag = __webpack_require__(71); var getPrototypeOf = __webpack_require__(194); var ITERATOR = __webpack_require__(13)("iterator"); var BUGGY = !([].keys && "next" in [].keys()); var FF_ITERATOR = "@@iterator"; var KEYS = "keys"; var VALUES = "values"; var returnThis = function() { return this; }; module3.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { $iterCreate(Constructor, NAME, next); var getMethod = function(kind) { if (!BUGGY && kind in proto) return proto[kind]; switch (kind) { case KEYS: return function keys() { return new Constructor(this, kind); }; case VALUES: return function values() { return new Constructor(this, kind); }; } return function entries() { return new Constructor(this, kind); }; }; var TAG = NAME + " Iterator"; var DEF_VALUES = DEFAULT == VALUES; var VALUES_BUG = false; var proto = Base.prototype; var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; var $default = $native || getMethod(DEFAULT); var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod("entries") : void 0; var $anyNative = NAME == "Array" ? proto.entries || $native : $native; var methods, key, IteratorPrototype; if ($anyNative) { IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { setToStringTag(IteratorPrototype, TAG, true); if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != "function") hide(IteratorPrototype, ITERATOR, returnThis); } } if (DEF_VALUES && $native && $native.name !== VALUES) { VALUES_BUG = true; $default = function values() { return $native.call(this); }; } if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { hide(proto, ITERATOR, $default); } Iterators[NAME] = $default; Iterators[TAG] = returnThis; if (DEFAULT) { methods = { values: DEF_VALUES ? $default : getMethod(VALUES), keys: IS_SET ? $default : getMethod(KEYS), entries: $entries }; if (FORCED) for (key in methods) { if (!(key in proto)) redefine(proto, key, methods[key]); } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); } return methods; }; }), /* 104 */ /***/ (function(module3, exports3) { module3.exports = function(exec) { try { return { e: false, v: exec() }; } catch (e) { return { e: true, v: e }; } }; }), /* 105 */ /***/ (function(module3, exports3, __webpack_require__) { var anObject = __webpack_require__(27); var isObject = __webpack_require__(34); var newPromiseCapability = __webpack_require__(70); module3.exports = function(C, x) { anObject(C); if (isObject(x) && x.constructor === C) return x; var promiseCapability = newPromiseCapability.f(C); var resolve = promiseCapability.resolve; resolve(x); return promiseCapability.promise; }; }), /* 106 */ /***/ (function(module3, exports3) { module3.exports = function(bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value }; }; }), /* 107 */ /***/ (function(module3, exports3, __webpack_require__) { var core = __webpack_require__(23); var global2 = __webpack_require__(11); var SHARED = "__core-js_shared__"; var store = global2[SHARED] || (global2[SHARED] = {}); (module3.exports = function(key, value) { return store[key] || (store[key] = value !== void 0 ? value : {}); })("versions", []).push({ version: core.version, mode: __webpack_require__(69) ? "pure" : "global", copyright: "\xA9 2018 Denis Pushkarev (zloirock.ru)" }); }), /* 108 */ /***/ (function(module3, exports3, __webpack_require__) { var anObject = __webpack_require__(27); var aFunction = __webpack_require__(46); var SPECIES = __webpack_require__(13)("species"); module3.exports = function(O, D) { var C = anObject(O).constructor; var S; return C === void 0 || (S = anObject(C)[SPECIES]) == void 0 ? D : aFunction(S); }; }), /* 109 */ /***/ (function(module3, exports3, __webpack_require__) { var ctx = __webpack_require__(48); var invoke = __webpack_require__(185); var html = __webpack_require__(102); var cel = __webpack_require__(68); var global2 = __webpack_require__(11); var process2 = global2.process; var setTask = global2.setImmediate; var clearTask = global2.clearImmediate; var MessageChannel = global2.MessageChannel; var Dispatch = global2.Dispatch; var counter = 0; var queue = {}; var ONREADYSTATECHANGE = "onreadystatechange"; var defer, channel, port; var run = function() { var id = +this; if (queue.hasOwnProperty(id)) { var fn = queue[id]; delete queue[id]; fn(); } }; var listener = function(event) { run.call(event.data); }; if (!setTask || !clearTask) { setTask = function setImmediate2(fn) { var args = []; var i = 1; while (arguments.length > i) args.push(arguments[i++]); queue[++counter] = function() { invoke(typeof fn == "function" ? fn : Function(fn), args); }; defer(counter); return counter; }; clearTask = function clearImmediate(id) { delete queue[id]; }; if (__webpack_require__(47)(process2) == "process") { defer = function(id) { process2.nextTick(ctx(run, id, 1)); }; } else if (Dispatch && Dispatch.now) { defer = function(id) { Dispatch.now(ctx(run, id, 1)); }; } else if (MessageChannel) { channel = new MessageChannel(); port = channel.port2; channel.port1.onmessage = listener; defer = ctx(port.postMessage, port, 1); } else if (global2.addEventListener && typeof postMessage == "function" && !global2.importScripts) { defer = function(id) { global2.postMessage(id + "", "*"); }; global2.addEventListener("message", listener, false); } else if (ONREADYSTATECHANGE in cel("script")) { defer = function(id) { html.appendChild(cel("script"))[ONREADYSTATECHANGE] = function() { html.removeChild(this); run.call(id); }; }; } else { defer = function(id) { setTimeout(ctx(run, id, 1), 0); }; } } module3.exports = { set: setTask, clear: clearTask }; }), /* 110 */ /***/ (function(module3, exports3, __webpack_require__) { var toInteger = __webpack_require__(73); var min = Math.min; module3.exports = function(it) { return it > 0 ? min(toInteger(it), 9007199254740991) : 0; }; }), /* 111 */ /***/ (function(module3, exports3) { var id = 0; var px = Math.random(); module3.exports = function(key) { return "Symbol(".concat(key === void 0 ? "" : key, ")_", (++id + px).toString(36)); }; }), /* 112 */ /***/ (function(module3, exports3, __webpack_require__) { exports3 = module3.exports = createDebug.debug = createDebug["default"] = createDebug; exports3.coerce = coerce; exports3.disable = disable; exports3.enable = enable; exports3.enabled = enabled; exports3.humanize = __webpack_require__(229); exports3.instances = []; exports3.names = []; exports3.skips = []; exports3.formatters = {}; function selectColor(namespace) { var hash = 0, i; for (i in namespace) { hash = (hash << 5) - hash + namespace.charCodeAt(i); hash |= 0; } return exports3.colors[Math.abs(hash) % exports3.colors.length]; } function createDebug(namespace) { var prevTime; function debug() { if (!debug.enabled) return; var self2 = debug; var curr = +/* @__PURE__ */ new Date(); var ms = curr - (prevTime || curr); self2.diff = ms; self2.prev = prevTime; self2.curr = curr; prevTime = curr; var args = new Array(arguments.length); for (var i = 0; i < args.length; i++) { args[i] = arguments[i]; } args[0] = exports3.coerce(args[0]); if ("string" !== typeof args[0]) { args.unshift("%O"); } var index = 0; args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { if (match === "%%") return match; index++; var formatter = exports3.formatters[format]; if ("function" === typeof formatter) { var val = args[index]; match = formatter.call(self2, val); args.splice(index, 1); index--; } return match; }); exports3.formatArgs.call(self2, args); var logFn = debug.log || exports3.log || console.log.bind(console); logFn.apply(self2, args); } debug.namespace = namespace; debug.enabled = exports3.enabled(namespace); debug.useColors = exports3.useColors(); debug.color = selectColor(namespace); debug.destroy = destroy; if ("function" === typeof exports3.init) { exports3.init(debug); } exports3.instances.push(debug); return debug; } function destroy() { var index = exports3.instances.indexOf(this); if (index !== -1) { exports3.instances.splice(index, 1); return true; } else { return false; } } function enable(namespaces) { exports3.save(namespaces); exports3.names = []; exports3.skips = []; var i; var split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); var len = split.length; for (i = 0; i < len; i++) { if (!split[i]) continue; namespaces = split[i].replace(/\*/g, ".*?"); if (namespaces[0] === "-") { exports3.skips.push(new RegExp("^" + namespaces.substr(1) + "$")); } else { exports3.names.push(new RegExp("^" + namespaces + "$")); } } for (i = 0; i < exports3.instances.length; i++) { var instance = exports3.instances[i]; instance.enabled = exports3.enabled(instance.namespace); } } function disable() { exports3.enable(""); } function enabled(name) { if (name[name.length - 1] === "*") { return true; } var i, len; for (i = 0, len = exports3.skips.length; i < len; i++) { if (exports3.skips[i].test(name)) { return false; } } for (i = 0, len = exports3.names.length; i < len; i++) { if (exports3.names[i].test(name)) { return true; } } return false; } function coerce(val) { if (val instanceof Error) return val.stack || val.message; return val; } }), , /* 114 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = realpath; realpath.realpath = realpath; realpath.sync = realpathSync; realpath.realpathSync = realpathSync; realpath.monkeypatch = monkeypatch; realpath.unmonkeypatch = unmonkeypatch; var fs = __webpack_require__(3); var origRealpath = fs.realpath; var origRealpathSync = fs.realpathSync; var version2 = process.version; var ok = /^v[0-5]\./.test(version2); var old = __webpack_require__(217); function newError(er) { return er && er.syscall === "realpath" && (er.code === "ELOOP" || er.code === "ENOMEM" || er.code === "ENAMETOOLONG"); } function realpath(p, cache, cb) { if (ok) { return origRealpath(p, cache, cb); } if (typeof cache === "function") { cb = cache; cache = null; } origRealpath(p, cache, function(er, result2) { if (newError(er)) { old.realpath(p, cache, cb); } else { cb(er, result2); } }); } function realpathSync(p, cache) { if (ok) { return origRealpathSync(p, cache); } try { return origRealpathSync(p, cache); } catch (er) { if (newError(er)) { return old.realpathSync(p, cache); } else { throw er; } } } function monkeypatch() { fs.realpath = realpath; fs.realpathSync = realpathSync; } function unmonkeypatch() { fs.realpath = origRealpath; fs.realpathSync = origRealpathSync; } }), /* 115 */ /***/ (function(module3, exports3, __webpack_require__) { exports3.alphasort = alphasort; exports3.alphasorti = alphasorti; exports3.setopts = setopts; exports3.ownProp = ownProp; exports3.makeAbs = makeAbs; exports3.finish = finish; exports3.mark = mark; exports3.isIgnored = isIgnored; exports3.childrenIgnored = childrenIgnored; function ownProp(obj, field) { return Object.prototype.hasOwnProperty.call(obj, field); } var path2 = __webpack_require__(0); var minimatch = __webpack_require__(60); var isAbsolute = __webpack_require__(76); var Minimatch = minimatch.Minimatch; function alphasorti(a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); } function alphasort(a, b) { return a.localeCompare(b); } function setupIgnores(self2, options) { self2.ignore = options.ignore || []; if (!Array.isArray(self2.ignore)) self2.ignore = [self2.ignore]; if (self2.ignore.length) { self2.ignore = self2.ignore.map(ignoreMap); } } function ignoreMap(pattern) { var gmatcher = null; if (pattern.slice(-3) === "/**") { var gpattern = pattern.replace(/(\/\*\*)+$/, ""); gmatcher = new Minimatch(gpattern, { dot: true }); } return { matcher: new Minimatch(pattern, { dot: true }), gmatcher }; } function setopts(self2, pattern, options) { if (!options) options = {}; if (options.matchBase && -1 === pattern.indexOf("/")) { if (options.noglobstar) { throw new Error("base matching requires globstar"); } pattern = "**/" + pattern; } self2.silent = !!options.silent; self2.pattern = pattern; self2.strict = options.strict !== false; self2.realpath = !!options.realpath; self2.realpathCache = options.realpathCache || /* @__PURE__ */ Object.create(null); self2.follow = !!options.follow; self2.dot = !!options.dot; self2.mark = !!options.mark; self2.nodir = !!options.nodir; if (self2.nodir) self2.mark = true; self2.sync = !!options.sync; self2.nounique = !!options.nounique; self2.nonull = !!options.nonull; self2.nosort = !!options.nosort; self2.nocase = !!options.nocase; self2.stat = !!options.stat; self2.noprocess = !!options.noprocess; self2.absolute = !!options.absolute; self2.maxLength = options.maxLength || Infinity; self2.cache = options.cache || /* @__PURE__ */ Object.create(null); self2.statCache = options.statCache || /* @__PURE__ */ Object.create(null); self2.symlinks = options.symlinks || /* @__PURE__ */ Object.create(null); setupIgnores(self2, options); self2.changedCwd = false; var cwd = process.cwd(); if (!ownProp(options, "cwd")) self2.cwd = cwd; else { self2.cwd = path2.resolve(options.cwd); self2.changedCwd = self2.cwd !== cwd; } self2.root = options.root || path2.resolve(self2.cwd, "/"); self2.root = path2.resolve(self2.root); if (process.platform === "win32") self2.root = self2.root.replace(/\\/g, "/"); self2.cwdAbs = isAbsolute(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd); if (process.platform === "win32") self2.cwdAbs = self2.cwdAbs.replace(/\\/g, "/"); self2.nomount = !!options.nomount; options.nonegate = true; options.nocomment = true; self2.minimatch = new Minimatch(pattern, options); self2.options = self2.minimatch.options; } function finish(self2) { var nou = self2.nounique; var all = nou ? [] : /* @__PURE__ */ Object.create(null); for (var i = 0, l = self2.matches.length; i < l; i++) { var matches = self2.matches[i]; if (!matches || Object.keys(matches).length === 0) { if (self2.nonull) { var literal = self2.minimatch.globSet[i]; if (nou) all.push(literal); else all[literal] = true; } } else { var m = Object.keys(matches); if (nou) all.push.apply(all, m); else m.forEach(function(m2) { all[m2] = true; }); } } if (!nou) all = Object.keys(all); if (!self2.nosort) all = all.sort(self2.nocase ? alphasorti : alphasort); if (self2.mark) { for (var i = 0; i < all.length; i++) { all[i] = self2._mark(all[i]); } if (self2.nodir) { all = all.filter(function(e) { var notDir = !/\/$/.test(e); var c = self2.cache[e] || self2.cache[makeAbs(self2, e)]; if (notDir && c) notDir = c !== "DIR" && !Array.isArray(c); return notDir; }); } } if (self2.ignore.length) all = all.filter(function(m2) { return !isIgnored(self2, m2); }); self2.found = all; } function mark(self2, p) { var abs = makeAbs(self2, p); var c = self2.cache[abs]; var m = p; if (c) { var isDir = c === "DIR" || Array.isArray(c); var slash = p.slice(-1) === "/"; if (isDir && !slash) m += "/"; else if (!isDir && slash) m = m.slice(0, -1); if (m !== p) { var mabs = makeAbs(self2, m); self2.statCache[mabs] = self2.statCache[abs]; self2.cache[mabs] = self2.cache[abs]; } } return m; } function makeAbs(self2, f) { var abs = f; if (f.charAt(0) === "/") { abs = path2.join(self2.root, f); } else if (isAbsolute(f) || f === "") { abs = f; } else if (self2.changedCwd) { abs = path2.resolve(self2.cwd, f); } else { abs = path2.resolve(f); } if (process.platform === "win32") abs = abs.replace(/\\/g, "/"); return abs; } function isIgnored(self2, path3) { if (!self2.ignore.length) return false; return self2.ignore.some(function(item) { return item.matcher.match(path3) || !!(item.gmatcher && item.gmatcher.match(path3)); }); } function childrenIgnored(self2, path3) { if (!self2.ignore.length) return false; return self2.ignore.some(function(item) { return !!(item.gmatcher && item.gmatcher.match(path3)); }); } }), /* 116 */ /***/ (function(module3, exports3, __webpack_require__) { var path2 = __webpack_require__(0); var fs = __webpack_require__(3); var _0777 = parseInt("0777", 8); module3.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; function mkdirP(p, opts, f, made) { if (typeof opts === "function") { f = opts; opts = {}; } else if (!opts || typeof opts !== "object") { opts = { mode: opts }; } var mode = opts.mode; var xfs = opts.fs || fs; if (mode === void 0) { mode = _0777 & ~process.umask(); } if (!made) made = null; var cb = f || function() { }; p = path2.resolve(p); xfs.mkdir(p, mode, function(er) { if (!er) { made = made || p; return cb(null, made); } switch (er.code) { case "ENOENT": mkdirP(path2.dirname(p), opts, function(er2, made2) { if (er2) cb(er2, made2); else mkdirP(p, opts, cb, made2); }); break; // In the case of any other error, just see if there's a dir // there already. If so, then hooray! If not, then something // is borked. default: xfs.stat(p, function(er2, stat) { if (er2 || !stat.isDirectory()) cb(er, made); else cb(null, made); }); break; } }); } mkdirP.sync = function sync(p, opts, made) { if (!opts || typeof opts !== "object") { opts = { mode: opts }; } var mode = opts.mode; var xfs = opts.fs || fs; if (mode === void 0) { mode = _0777 & ~process.umask(); } if (!made) made = null; p = path2.resolve(p); try { xfs.mkdirSync(p, mode); made = made || p; } catch (err0) { switch (err0.code) { case "ENOENT": made = sync(path2.dirname(p), opts, made); sync(p, opts, made); break; // In the case of any other error, just see if there's a dir // there already. If so, then hooray! If not, then something // is borked. default: var stat; try { stat = xfs.statSync(p); } catch (err1) { throw err0; } if (!stat.isDirectory()) throw err0; break; } } return made; }; }), , , , , , /* 122 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; module3.exports = (x) => { if (typeof x !== "string") { throw new TypeError("Expected a string, got " + typeof x); } if (x.charCodeAt(0) === 65279) { return x.slice(1); } return x; }; }), /* 123 */ /***/ (function(module3, exports3) { module3.exports = wrappy; function wrappy(fn, cb) { if (fn && cb) return wrappy(fn)(cb); if (typeof fn !== "function") throw new TypeError("need wrapper function"); Object.keys(fn).forEach(function(k) { wrapper[k] = fn[k]; }); return wrapper; function wrapper() { var args = new Array(arguments.length); for (var i = 0; i < args.length; i++) { args[i] = arguments[i]; } var ret2 = fn.apply(this, args); var cb2 = args[args.length - 1]; if (typeof ret2 === "function" && ret2 !== cb2) { Object.keys(cb2).forEach(function(k) { ret2[k] = cb2[k]; }); } return ret2; } } }), , , , , , , , /* 131 */ /***/ (function(module3, exports3, __webpack_require__) { var cof = __webpack_require__(47); module3.exports = Object("z").propertyIsEnumerable(0) ? Object : function(it) { return cof(it) == "String" ? it.split("") : Object(it); }; }), /* 132 */ /***/ (function(module3, exports3, __webpack_require__) { var $keys = __webpack_require__(195); var enumBugKeys = __webpack_require__(101); module3.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); }; }), /* 133 */ /***/ (function(module3, exports3, __webpack_require__) { var defined = __webpack_require__(67); module3.exports = function(it) { return Object(defined(it)); }; }), , , , , , , , , , , , /* 145 */ /***/ (function(module3, exports3) { module3.exports = { "name": "yarn", "installationMethod": "unknown", "version": "1.10.0-0", "license": "BSD-2-Clause", "preferGlobal": true, "description": "\u{1F4E6}\u{1F408} Fast, reliable, and secure dependency management.", "dependencies": { "@zkochan/cmd-shim": "^2.2.4", "babel-runtime": "^6.26.0", "bytes": "^3.0.0", "camelcase": "^4.0.0", "chalk": "^2.1.0", "commander": "^2.9.0", "death": "^1.0.0", "debug": "^3.0.0", "deep-equal": "^1.0.1", "detect-indent": "^5.0.0", "dnscache": "^1.0.1", "glob": "^7.1.1", "gunzip-maybe": "^1.4.0", "hash-for-dep": "^1.2.3", "imports-loader": "^0.8.0", "ini": "^1.3.4", "inquirer": "^3.0.1", "invariant": "^2.2.0", "is-builtin-module": "^2.0.0", "is-ci": "^1.0.10", "is-webpack-bundle": "^1.0.0", "leven": "^2.0.0", "loud-rejection": "^1.2.0", "micromatch": "^2.3.11", "mkdirp": "^0.5.1", "node-emoji": "^1.6.1", "normalize-url": "^2.0.0", "npm-logical-tree": "^1.2.1", "object-path": "^0.11.2", "proper-lockfile": "^2.0.0", "puka": "^1.0.0", "read": "^1.0.7", "request": "^2.87.0", "request-capture-har": "^1.2.2", "rimraf": "^2.5.0", "semver": "^5.1.0", "ssri": "^5.3.0", "strip-ansi": "^4.0.0", "strip-bom": "^3.0.0", "tar-fs": "^1.16.0", "tar-stream": "^1.6.1", "uuid": "^3.0.1", "v8-compile-cache": "^2.0.0", "validate-npm-package-license": "^3.0.3", "yn": "^2.0.0" }, "devDependencies": { "babel-core": "^6.26.0", "babel-eslint": "^7.2.3", "babel-loader": "^6.2.5", "babel-plugin-array-includes": "^2.0.3", "babel-plugin-transform-builtin-extend": "^1.1.2", "babel-plugin-transform-inline-imports-commonjs": "^1.0.0", "babel-plugin-transform-runtime": "^6.4.3", "babel-preset-env": "^1.6.0", "babel-preset-flow": "^6.23.0", "babel-preset-stage-0": "^6.0.0", "babylon": "^6.5.0", "commitizen": "^2.9.6", "cz-conventional-changelog": "^2.0.0", "eslint": "^4.3.0", "eslint-config-fb-strict": "^22.0.0", "eslint-plugin-babel": "^5.0.0", "eslint-plugin-flowtype": "^2.35.0", "eslint-plugin-jasmine": "^2.6.2", "eslint-plugin-jest": "^21.0.0", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-prefer-object-spread": "^1.2.1", "eslint-plugin-prettier": "^2.1.2", "eslint-plugin-react": "^7.1.0", "eslint-plugin-relay": "^0.0.24", "eslint-plugin-yarn-internal": "file:scripts/eslint-rules", "execa": "^0.10.0", "flow-bin": "^0.66.0", "git-release-notes": "^3.0.0", "gulp": "^3.9.0", "gulp-babel": "^7.0.0", "gulp-if": "^2.0.1", "gulp-newer": "^1.0.0", "gulp-plumber": "^1.0.1", "gulp-sourcemaps": "^2.2.0", "gulp-util": "^3.0.7", "gulp-watch": "^5.0.0", "jest": "^22.4.4", "jsinspect": "^0.12.6", "minimatch": "^3.0.4", "mock-stdin": "^0.3.0", "prettier": "^1.5.2", "temp": "^0.8.3", "webpack": "^2.1.0-beta.25", "yargs": "^6.3.0" }, "resolutions": { "sshpk": "^1.14.2" }, "engines": { "node": ">=4.0.0" }, "repository": "yarnpkg/yarn", "bin": { "yarn": "./bin/yarn.js", "yarnpkg": "./bin/yarn.js" }, "scripts": { "build": "gulp build", "build-bundle": "node ./scripts/build-webpack.js", "build-chocolatey": "powershell ./scripts/build-chocolatey.ps1", "build-deb": "./scripts/build-deb.sh", "build-dist": "bash ./scripts/build-dist.sh", "build-win-installer": "scripts\\build-windows-installer.bat", "changelog": "git-release-notes $(git describe --tags --abbrev=0 $(git describe --tags --abbrev=0)^)..$(git describe --tags --abbrev=0) scripts/changelog.md", "dupe-check": "yarn jsinspect ./src", "lint": "eslint . && flow check", "pkg-tests": "yarn --cwd packages/pkg-tests jest yarn.test.js", "prettier": "eslint src __tests__ --fix", "release-branch": "./scripts/release-branch.sh", "test": "yarn lint && yarn test-only", "test-only": "node --max_old_space_size=4096 node_modules/jest/bin/jest.js --verbose", "test-only-debug": "node --inspect-brk --max_old_space_size=4096 node_modules/jest/bin/jest.js --runInBand --verbose", "test-coverage": "node --max_old_space_size=4096 node_modules/jest/bin/jest.js --coverage --verbose", "watch": "gulp watch", "commit": "git-cz" }, "jest": { "collectCoverageFrom": ["src/**/*.js"], "testEnvironment": "node", "modulePathIgnorePatterns": ["__tests__/fixtures/", "packages/pkg-tests/pkg-tests-fixtures", "dist/"], "testPathIgnorePatterns": ["__tests__/(fixtures|__mocks__)/", "updates/", "_(temp|mock|install|init|helpers).js$", "packages/pkg-tests"] }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } } }; }), , , , , /* 150 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.default = stringify2; var _misc; function _load_misc() { return _misc = __webpack_require__(12); } var _constants; function _load_constants() { return _constants = __webpack_require__(6); } var _package; function _load_package() { return _package = __webpack_require__(145); } const NODE_VERSION = process.version; function shouldWrapKey(str) { return str.indexOf("true") === 0 || str.indexOf("false") === 0 || /[:\s\n\\",\[\]]/g.test(str) || /^[0-9]/g.test(str) || !/^[a-zA-Z]/g.test(str); } function maybeWrap(str) { if (typeof str === "boolean" || typeof str === "number" || shouldWrapKey(str)) { return JSON.stringify(str); } else { return str; } } const priorities = { name: 1, version: 2, uid: 3, resolved: 4, integrity: 5, registry: 6, dependencies: 7 }; function priorityThenAlphaSort(a, b) { if (priorities[a] || priorities[b]) { return (priorities[a] || 100) > (priorities[b] || 100) ? 1 : -1; } else { return (0, (_misc || _load_misc()).sortAlpha)(a, b); } } function _stringify(obj, options) { if (typeof obj !== "object") { throw new TypeError(); } const indent = options.indent; const lines = []; const keys = Object.keys(obj).sort(priorityThenAlphaSort); let addedKeys = []; for (let i = 0; i < keys.length; i++) { const key = keys[i]; const val = obj[key]; if (val == null || addedKeys.indexOf(key) >= 0) { continue; } const valKeys = [key]; if (typeof val === "object") { for (let j = i + 1; j < keys.length; j++) { const key2 = keys[j]; if (val === obj[key2]) { valKeys.push(key2); } } } const keyLine = valKeys.sort((_misc || _load_misc()).sortAlpha).map(maybeWrap).join(", "); if (typeof val === "string" || typeof val === "boolean" || typeof val === "number") { lines.push(`${keyLine} ${maybeWrap(val)}`); } else if (typeof val === "object") { lines.push(`${keyLine}: ${_stringify(val, { indent: indent + " " })}` + (options.topLevel ? "\n" : "")); } else { throw new TypeError(); } addedKeys = addedKeys.concat(valKeys); } return indent + lines.join(` ${indent}`); } function stringify2(obj, noHeader, enableVersions) { const val = _stringify(obj, { indent: "", topLevel: true }); if (noHeader) { return val; } const lines = []; lines.push("# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY."); lines.push(`# yarn lockfile v${(_constants || _load_constants()).LOCKFILE_VERSION}`); if (enableVersions) { lines.push(`# yarn v${(_package || _load_package()).version}`); lines.push(`# node ${NODE_VERSION}`); } lines.push("\n"); lines.push(val); return lines.join("\n"); } }), , , , , , , , , , , , , , /* 164 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.fileDatesEqual = exports3.copyFile = exports3.unlink = void 0; var _asyncToGenerator2; function _load_asyncToGenerator() { return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1)); } let fixTimes = (() => { var _ref3 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (fd, dest, data) { const doOpen = fd === void 0; let openfd = fd ? fd : -1; if (disableTimestampCorrection === void 0) { const destStat = yield lstat(dest); disableTimestampCorrection = fileDatesEqual(destStat.mtime, data.mtime); } if (disableTimestampCorrection) { return; } if (doOpen) { try { openfd = yield open(dest, "a", data.mode); } catch (er) { try { openfd = yield open(dest, "r", data.mode); } catch (err) { return; } } } try { if (openfd) { yield futimes(openfd, data.atime, data.mtime); } } catch (er) { } finally { if (doOpen && openfd) { yield close(openfd); } } }); return function fixTimes2(_x7, _x8, _x9) { return _ref3.apply(this, arguments); }; })(); var _fs; function _load_fs() { return _fs = _interopRequireDefault(__webpack_require__(3)); } var _promise; function _load_promise() { return _promise = __webpack_require__(40); } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } let disableTimestampCorrection = void 0; const readFileBuffer = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.readFile); const close = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.close); const lstat = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.lstat); const open = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.open); const futimes = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.futimes); const write = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.write); const unlink = exports3.unlink = (0, (_promise || _load_promise()).promisify)(__webpack_require__(233)); const copyFile = exports3.copyFile = (() => { var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data, cleanup) { try { yield unlink(data.dest); yield copyFilePoly(data.src, data.dest, 0, data); } finally { if (cleanup) { cleanup(); } } }); return function copyFile2(_x, _x2) { return _ref.apply(this, arguments); }; })(); const copyFilePoly = (src, dest, flags, data) => { if ((_fs || _load_fs()).default.copyFile) { return new Promise((resolve, reject) => (_fs || _load_fs()).default.copyFile(src, dest, flags, (err) => { if (err) { reject(err); } else { fixTimes(void 0, dest, data).then(() => resolve()).catch((ex) => reject(ex)); } })); } else { return copyWithBuffer(src, dest, flags, data); } }; const copyWithBuffer = (() => { var _ref2 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest, flags, data) { const fd = yield open(dest, "w", data.mode); try { const buffer = yield readFileBuffer(src); yield write(fd, buffer, 0, buffer.length); yield fixTimes(fd, dest, data); } finally { yield close(fd); } }); return function copyWithBuffer2(_x3, _x4, _x5, _x6) { return _ref2.apply(this, arguments); }; })(); const fileDatesEqual = exports3.fileDatesEqual = (a, b) => { const aTime = a.getTime(); const bTime = b.getTime(); if (process.platform !== "win32") { return aTime === bTime; } if (Math.abs(aTime - bTime) <= 1) { return true; } const aTimeSec = Math.floor(aTime / 1e3); const bTimeSec = Math.floor(bTime / 1e3); if (aTime - aTimeSec * 1e3 === 0 || bTime - bTimeSec * 1e3 === 0) { return aTimeSec === bTimeSec; } return aTime === bTime; }; }), , , , , /* 169 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.isFakeRoot = isFakeRoot; exports3.isRootUser = isRootUser; function getUid() { if (process.platform !== "win32" && process.getuid) { return process.getuid(); } return null; } exports3.default = isRootUser(getUid()) && !isFakeRoot(); function isFakeRoot() { return Boolean(process.env.FAKEROOTKEY); } function isRootUser(uid) { return uid === 0; } }), , /* 171 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; Object.defineProperty(exports3, "__esModule", { value: true }); exports3.getDataDir = getDataDir; exports3.getCacheDir = getCacheDir; exports3.getConfigDir = getConfigDir; const path2 = __webpack_require__(0); const userHome = __webpack_require__(45).default; const FALLBACK_CONFIG_DIR = path2.join(userHome, ".config", "yarn"); const FALLBACK_CACHE_DIR = path2.join(userHome, ".cache", "yarn"); function getDataDir() { if (process.platform === "win32") { const WIN32_APPDATA_DIR = getLocalAppDataDir(); return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path2.join(WIN32_APPDATA_DIR, "Data"); } else if (process.env.XDG_DATA_HOME) { return path2.join(process.env.XDG_DATA_HOME, "yarn"); } else { return FALLBACK_CONFIG_DIR; } } function getCacheDir() { if (process.platform === "win32") { return path2.join(getLocalAppDataDir() || path2.join(userHome, "AppData", "Local", "Yarn"), "Cache"); } else if (process.env.XDG_CACHE_HOME) { return path2.join(process.env.XDG_CACHE_HOME, "yarn"); } else if (process.platform === "darwin") { return path2.join(userHome, "Library", "Caches", "Yarn"); } else { return FALLBACK_CACHE_DIR; } } function getConfigDir() { if (process.platform === "win32") { const WIN32_APPDATA_DIR = getLocalAppDataDir(); return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path2.join(WIN32_APPDATA_DIR, "Config"); } else if (process.env.XDG_CONFIG_HOME) { return path2.join(process.env.XDG_CONFIG_HOME, "yarn"); } else { return FALLBACK_CONFIG_DIR; } } function getLocalAppDataDir() { return process.env.LOCALAPPDATA ? path2.join(process.env.LOCALAPPDATA, "Yarn") : null; } }), , /* 173 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = { "default": __webpack_require__(179), __esModule: true }; }), /* 174 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; module3.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, result2; var ai = str.indexOf(a); var bi = str.indexOf(b, ai + 1); var i = ai; if (ai >= 0 && bi > 0) { begs = []; left = str.length; while (i >= 0 && !result2) { if (i == ai) { begs.push(i); ai = str.indexOf(a, i + 1); } else if (begs.length == 1) { result2 = [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) { result2 = [left, right]; } } return result2; } }), /* 175 */ /***/ (function(module3, exports3, __webpack_require__) { var concatMap = __webpack_require__(178); var balanced = __webpack_require__(174); module3.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("."); } 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 []; if (str.substr(0, 2) === "{}") { str = "\\{\\}" + str.substr(2); } return expand(escapeBraces(str), true).map(unescapeBraces); } function identity(e) { return e; } 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 || /\$$/.test(m.pre)) return [str]; 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) { 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) { n = expand(n[0], false).map(embrace); if (n.length === 1) { var post = m.post.length ? expand(m.post, false) : [""]; return post.map(function(p) { return m.pre + n[0] + p; }); } } } var pre = m.pre; var post = m.post.length ? expand(m.post, false) : [""]; 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 = concatMap(n, function(el) { return expand(el, 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; } }), /* 176 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; function preserveCamelCase(str) { let isLastCharLower = false; let isLastCharUpper = false; let isLastLastCharUpper = false; for (let i = 0; i < str.length; i++) { const c = str[i]; if (isLastCharLower && /[a-zA-Z]/.test(c) && c.toUpperCase() === c) { str = str.substr(0, i) + "-" + str.substr(i); isLastCharLower = false; isLastLastCharUpper = isLastCharUpper; isLastCharUpper = true; i++; } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c) && c.toLowerCase() === c) { str = str.substr(0, i - 1) + "-" + str.substr(i - 1); isLastLastCharUpper = isLastCharUpper; isLastCharUpper = false; isLastCharLower = true; } else { isLastCharLower = c.toLowerCase() === c; isLastLastCharUpper = isLastCharUpper; isLastCharUpper = c.toUpperCase() === c; } } return str; } module3.exports = function(str) { if (arguments.length > 1) { str = Array.from(arguments).map((x) => x.trim()).filter((x) => x.length).join("-"); } else { str = str.trim(); } if (str.length === 0) { return ""; } if (str.length === 1) { return str.toLowerCase(); } if (/^[a-z0-9]+$/.test(str)) { return str; } const hasUpperCase = str !== str.toLowerCase(); if (hasUpperCase) { str = preserveCamelCase(str); } return str.replace(/^[_.\- ]+/, "").toLowerCase().replace(/[_.\- ]+(\w|$)/g, (m, p1) => p1.toUpperCase()); }; }), , /* 178 */ /***/ (function(module3, exports3) { module3.exports = function(xs, fn) { var res = []; for (var i = 0; i < xs.length; i++) { var x = fn(xs[i], i); if (isArray(x)) res.push.apply(res, x); else res.push(x); } return res; }; var isArray = Array.isArray || function(xs) { return Object.prototype.toString.call(xs) === "[object Array]"; }; }), /* 179 */ /***/ (function(module3, exports3, __webpack_require__) { __webpack_require__(205); __webpack_require__(207); __webpack_require__(210); __webpack_require__(206); __webpack_require__(208); __webpack_require__(209); module3.exports = __webpack_require__(23).Promise; }), /* 180 */ /***/ (function(module3, exports3) { module3.exports = function() { }; }), /* 181 */ /***/ (function(module3, exports3) { module3.exports = function(it, Constructor, name, forbiddenField) { if (!(it instanceof Constructor) || forbiddenField !== void 0 && forbiddenField in it) { throw TypeError(name + ": incorrect invocation!"); } return it; }; }), /* 182 */ /***/ (function(module3, exports3, __webpack_require__) { var toIObject = __webpack_require__(74); var toLength = __webpack_require__(110); var toAbsoluteIndex = __webpack_require__(200); module3.exports = function(IS_INCLUDES) { return function($this, el, fromIndex) { var O = toIObject($this); var length = toLength(O.length); var index = toAbsoluteIndex(fromIndex, length); var value; if (IS_INCLUDES && el != el) while (length > index) { value = O[index++]; if (value != value) return true; } else for (; length > index; index++) if (IS_INCLUDES || index in O) { if (O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; }; }), /* 183 */ /***/ (function(module3, exports3, __webpack_require__) { var ctx = __webpack_require__(48); var call = __webpack_require__(187); var isArrayIter = __webpack_require__(186); var anObject = __webpack_require__(27); var toLength = __webpack_require__(110); var getIterFn = __webpack_require__(203); var BREAK = {}; var RETURN = {}; var exports3 = module3.exports = function(iterable, entries, fn, that, ITERATOR) { var iterFn = ITERATOR ? function() { return iterable; } : getIterFn(iterable); var f = ctx(fn, that, entries ? 2 : 1); var index = 0; var length, step, iterator, result2; if (typeof iterFn != "function") throw TypeError(iterable + " is not iterable!"); if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { result2 = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); if (result2 === BREAK || result2 === RETURN) return result2; } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done; ) { result2 = call(iterator, f, step.value, entries); if (result2 === BREAK || result2 === RETURN) return result2; } }; exports3.BREAK = BREAK; exports3.RETURN = RETURN; }), /* 184 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = !__webpack_require__(33) && !__webpack_require__(85)(function() { return Object.defineProperty(__webpack_require__(68)("div"), "a", { get: function() { return 7; } }).a != 7; }); }), /* 185 */ /***/ (function(module3, exports3) { module3.exports = function(fn, args, that) { var un = that === void 0; switch (args.length) { case 0: return un ? fn() : fn.call(that); case 1: return un ? fn(args[0]) : fn.call(that, args[0]); case 2: return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]); case 3: return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]); case 4: return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]); } return fn.apply(that, args); }; }), /* 186 */ /***/ (function(module3, exports3, __webpack_require__) { var Iterators = __webpack_require__(35); var ITERATOR = __webpack_require__(13)("iterator"); var ArrayProto = Array.prototype; module3.exports = function(it) { return it !== void 0 && (Iterators.Array === it || ArrayProto[ITERATOR] === it); }; }), /* 187 */ /***/ (function(module3, exports3, __webpack_require__) { var anObject = __webpack_require__(27); module3.exports = function(iterator, fn, value, entries) { try { return entries ? fn(anObject(value)[0], value[1]) : fn(value); } catch (e) { var ret2 = iterator["return"]; if (ret2 !== void 0) anObject(ret2.call(iterator)); throw e; } }; }), /* 188 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var create = __webpack_require__(192); var descriptor = __webpack_require__(106); var setToStringTag = __webpack_require__(71); var IteratorPrototype = {}; __webpack_require__(31)(IteratorPrototype, __webpack_require__(13)("iterator"), function() { return this; }); module3.exports = function(Constructor, NAME, next) { Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); setToStringTag(Constructor, NAME + " Iterator"); }; }), /* 189 */ /***/ (function(module3, exports3, __webpack_require__) { var ITERATOR = __webpack_require__(13)("iterator"); var SAFE_CLOSING = false; try { var riter = [7][ITERATOR](); riter["return"] = function() { SAFE_CLOSING = true; }; Array.from(riter, function() { throw 2; }); } catch (e) { } module3.exports = function(exec, skipClosing) { if (!skipClosing && !SAFE_CLOSING) return false; var safe = false; try { var arr = [7]; var iter = arr[ITERATOR](); iter.next = function() { return { done: safe = true }; }; arr[ITERATOR] = function() { return iter; }; exec(arr); } catch (e) { } return safe; }; }), /* 190 */ /***/ (function(module3, exports3) { module3.exports = function(done, value) { return { value, done: !!done }; }; }), /* 191 */ /***/ (function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__(11); var macrotask = __webpack_require__(109).set; var Observer = global2.MutationObserver || global2.WebKitMutationObserver; var process2 = global2.process; var Promise2 = global2.Promise; var isNode = __webpack_require__(47)(process2) == "process"; module3.exports = function() { var head, last, notify; var flush = function() { var parent, fn; if (isNode && (parent = process2.domain)) parent.exit(); while (head) { fn = head.fn; head = head.next; try { fn(); } catch (e) { if (head) notify(); else last = void 0; throw e; } } last = void 0; if (parent) parent.enter(); }; if (isNode) { notify = function() { process2.nextTick(flush); }; } else if (Observer && !(global2.navigator && global2.navigator.standalone)) { var toggle = true; var node = document.createTextNode(""); new Observer(flush).observe(node, { characterData: true }); notify = function() { node.data = toggle = !toggle; }; } else if (Promise2 && Promise2.resolve) { var promise = Promise2.resolve(void 0); notify = function() { promise.then(flush); }; } else { notify = function() { macrotask.call(global2, flush); }; } return function(fn) { var task = { fn, next: void 0 }; if (last) last.next = task; if (!head) { head = task; notify(); } last = task; }; }; }), /* 192 */ /***/ (function(module3, exports3, __webpack_require__) { var anObject = __webpack_require__(27); var dPs = __webpack_require__(193); var enumBugKeys = __webpack_require__(101); var IE_PROTO = __webpack_require__(72)("IE_PROTO"); var Empty = function() { }; var PROTOTYPE = "prototype"; var createDict = function() { var iframe = __webpack_require__(68)("iframe"); var i = enumBugKeys.length; var lt = "<"; var gt = ">"; var iframeDocument; iframe.style.display = "none"; __webpack_require__(102).appendChild(iframe); iframe.src = "javascript:"; iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.write(lt + "script" + gt + "document.F=Object" + lt + "/script" + gt); iframeDocument.close(); createDict = iframeDocument.F; while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; return createDict(); }; module3.exports = Object.create || function create(O, Properties) { var result2; if (O !== null) { Empty[PROTOTYPE] = anObject(O); result2 = new Empty(); Empty[PROTOTYPE] = null; result2[IE_PROTO] = O; } else result2 = createDict(); return Properties === void 0 ? result2 : dPs(result2, Properties); }; }), /* 193 */ /***/ (function(module3, exports3, __webpack_require__) { var dP = __webpack_require__(50); var anObject = __webpack_require__(27); var getKeys = __webpack_require__(132); module3.exports = __webpack_require__(33) ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = getKeys(Properties); var length = keys.length; var i = 0; var P; while (length > i) dP.f(O, P = keys[i++], Properties[P]); return O; }; }), /* 194 */ /***/ (function(module3, exports3, __webpack_require__) { var has = __webpack_require__(49); var toObject = __webpack_require__(133); var IE_PROTO = __webpack_require__(72)("IE_PROTO"); var ObjectProto = Object.prototype; module3.exports = Object.getPrototypeOf || function(O) { O = toObject(O); if (has(O, IE_PROTO)) return O[IE_PROTO]; if (typeof O.constructor == "function" && O instanceof O.constructor) { return O.constructor.prototype; } return O instanceof Object ? ObjectProto : null; }; }), /* 195 */ /***/ (function(module3, exports3, __webpack_require__) { var has = __webpack_require__(49); var toIObject = __webpack_require__(74); var arrayIndexOf = __webpack_require__(182)(false); var IE_PROTO = __webpack_require__(72)("IE_PROTO"); module3.exports = function(object, names) { var O = toIObject(object); var i = 0; var result2 = []; var key; for (key in O) if (key != IE_PROTO) has(O, key) && result2.push(key); while (names.length > i) if (has(O, key = names[i++])) { ~arrayIndexOf(result2, key) || result2.push(key); } return result2; }; }), /* 196 */ /***/ (function(module3, exports3, __webpack_require__) { var hide = __webpack_require__(31); module3.exports = function(target, src, safe) { for (var key in src) { if (safe && target[key]) target[key] = src[key]; else hide(target, key, src[key]); } return target; }; }), /* 197 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = __webpack_require__(31); }), /* 198 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var global2 = __webpack_require__(11); var core = __webpack_require__(23); var dP = __webpack_require__(50); var DESCRIPTORS = __webpack_require__(33); var SPECIES = __webpack_require__(13)("species"); module3.exports = function(KEY) { var C = typeof core[KEY] == "function" ? core[KEY] : global2[KEY]; if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { configurable: true, get: function() { return this; } }); }; }), /* 199 */ /***/ (function(module3, exports3, __webpack_require__) { var toInteger = __webpack_require__(73); var defined = __webpack_require__(67); module3.exports = function(TO_STRING) { return function(that, pos) { var s = String(defined(that)); var i = toInteger(pos); var l = s.length; var a, b; if (i < 0 || i >= l) return TO_STRING ? "" : void 0; a = s.charCodeAt(i); return a < 55296 || a > 56319 || i + 1 === l || (b = s.charCodeAt(i + 1)) < 56320 || b > 57343 ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 55296 << 10) + (b - 56320) + 65536; }; }; }), /* 200 */ /***/ (function(module3, exports3, __webpack_require__) { var toInteger = __webpack_require__(73); var max = Math.max; var min = Math.min; module3.exports = function(index, length) { index = toInteger(index); return index < 0 ? max(index + length, 0) : min(index, length); }; }), /* 201 */ /***/ (function(module3, exports3, __webpack_require__) { var isObject = __webpack_require__(34); module3.exports = function(it, S) { if (!isObject(it)) return it; var fn, val; if (S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) return val; if (typeof (fn = it.valueOf) == "function" && !isObject(val = fn.call(it))) return val; if (!S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) return val; throw TypeError("Can't convert object to primitive value"); }; }), /* 202 */ /***/ (function(module3, exports3, __webpack_require__) { var global2 = __webpack_require__(11); var navigator2 = global2.navigator; module3.exports = navigator2 && navigator2.userAgent || ""; }), /* 203 */ /***/ (function(module3, exports3, __webpack_require__) { var classof = __webpack_require__(100); var ITERATOR = __webpack_require__(13)("iterator"); var Iterators = __webpack_require__(35); module3.exports = __webpack_require__(23).getIteratorMethod = function(it) { if (it != void 0) return it[ITERATOR] || it["@@iterator"] || Iterators[classof(it)]; }; }), /* 204 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var addToUnscopables = __webpack_require__(180); var step = __webpack_require__(190); var Iterators = __webpack_require__(35); var toIObject = __webpack_require__(74); module3.exports = __webpack_require__(103)(Array, "Array", function(iterated, kind) { this._t = toIObject(iterated); this._i = 0; this._k = kind; }, function() { var O = this._t; var kind = this._k; var index = this._i++; if (!O || index >= O.length) { this._t = void 0; return step(1); } if (kind == "keys") return step(0, index); if (kind == "values") return step(0, O[index]); return step(0, [index, O[index]]); }, "values"); Iterators.Arguments = Iterators.Array; addToUnscopables("keys"); addToUnscopables("values"); addToUnscopables("entries"); }), /* 205 */ /***/ (function(module3, exports3) { }), /* 206 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var LIBRARY = __webpack_require__(69); var global2 = __webpack_require__(11); var ctx = __webpack_require__(48); var classof = __webpack_require__(100); var $export = __webpack_require__(41); var isObject = __webpack_require__(34); var aFunction = __webpack_require__(46); var anInstance = __webpack_require__(181); var forOf = __webpack_require__(183); var speciesConstructor = __webpack_require__(108); var task = __webpack_require__(109).set; var microtask = __webpack_require__(191)(); var newPromiseCapabilityModule = __webpack_require__(70); var perform = __webpack_require__(104); var userAgent = __webpack_require__(202); var promiseResolve = __webpack_require__(105); var PROMISE = "Promise"; var TypeError2 = global2.TypeError; var process2 = global2.process; var versions = process2 && process2.versions; var v8 = versions && versions.v8 || ""; var $Promise = global2[PROMISE]; var isNode = classof(process2) == "process"; var empty = function() { }; var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; var USE_NATIVE = !!(function() { try { var promise = $Promise.resolve(1); var FakePromise = (promise.constructor = {})[__webpack_require__(13)("species")] = function(exec) { exec(empty, empty); }; return (isNode || typeof PromiseRejectionEvent == "function") && promise.then(empty) instanceof FakePromise && v8.indexOf("6.6") !== 0 && userAgent.indexOf("Chrome/66") === -1; } catch (e) { } })(); var isThenable = function(it) { var then; return isObject(it) && typeof (then = it.then) == "function" ? then : false; }; var notify = function(promise, isReject) { if (promise._n) return; promise._n = true; var chain = promise._c; microtask(function() { var value = promise._v; var ok = promise._s == 1; var i = 0; var run = function(reaction) { var handler = ok ? reaction.ok : reaction.fail; var resolve = reaction.resolve; var reject = reaction.reject; var domain = reaction.domain; var result2, then, exited; try { if (handler) { if (!ok) { if (promise._h == 2) onHandleUnhandled(promise); promise._h = 1; } if (handler === true) result2 = value; else { if (domain) domain.enter(); result2 = handler(value); if (domain) { domain.exit(); exited = true; } } if (result2 === reaction.promise) { reject(TypeError2("Promise-chain cycle")); } else if (then = isThenable(result2)) { then.call(result2, resolve, reject); } else resolve(result2); } else reject(value); } catch (e) { if (domain && !exited) domain.exit(); reject(e); } }; while (chain.length > i) run(chain[i++]); promise._c = []; promise._n = false; if (isReject && !promise._h) onUnhandled(promise); }); }; var onUnhandled = function(promise) { task.call(global2, function() { var value = promise._v; var unhandled = isUnhandled(promise); var result2, handler, console2; if (unhandled) { result2 = perform(function() { if (isNode) { process2.emit("unhandledRejection", value, promise); } else if (handler = global2.onunhandledrejection) { handler({ promise, reason: value }); } else if ((console2 = global2.console) && console2.error) { console2.error("Unhandled promise rejection", value); } }); promise._h = isNode || isUnhandled(promise) ? 2 : 1; } promise._a = void 0; if (unhandled && result2.e) throw result2.v; }); }; var isUnhandled = function(promise) { return promise._h !== 1 && (promise._a || promise._c).length === 0; }; var onHandleUnhandled = function(promise) { task.call(global2, function() { var handler; if (isNode) { process2.emit("rejectionHandled", promise); } else if (handler = global2.onrejectionhandled) { handler({ promise, reason: promise._v }); } }); }; var $reject = function(value) { var promise = this; if (promise._d) return; promise._d = true; promise = promise._w || promise; promise._v = value; promise._s = 2; if (!promise._a) promise._a = promise._c.slice(); notify(promise, true); }; var $resolve = function(value) { var promise = this; var then; if (promise._d) return; promise._d = true; promise = promise._w || promise; try { if (promise === value) throw TypeError2("Promise can't be resolved itself"); if (then = isThenable(value)) { microtask(function() { var wrapper = { _w: promise, _d: false }; try { then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); } catch (e) { $reject.call(wrapper, e); } }); } else { promise._v = value; promise._s = 1; notify(promise, false); } } catch (e) { $reject.call({ _w: promise, _d: false }, e); } }; if (!USE_NATIVE) { $Promise = function Promise2(executor) { anInstance(this, $Promise, PROMISE, "_h"); aFunction(executor); Internal.call(this); try { executor(ctx($resolve, this, 1), ctx($reject, this, 1)); } catch (err) { $reject.call(this, err); } }; Internal = function Promise2(executor) { this._c = []; this._a = void 0; this._s = 0; this._d = false; this._v = void 0; this._h = 0; this._n = false; }; Internal.prototype = __webpack_require__(196)($Promise.prototype, { // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) then: function then(onFulfilled, onRejected) { var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); reaction.ok = typeof onFulfilled == "function" ? onFulfilled : true; reaction.fail = typeof onRejected == "function" && onRejected; reaction.domain = isNode ? process2.domain : void 0; this._c.push(reaction); if (this._a) this._a.push(reaction); if (this._s) notify(this, false); return reaction.promise; }, // 25.4.5.1 Promise.prototype.catch(onRejected) "catch": function(onRejected) { return this.then(void 0, onRejected); } }); OwnPromiseCapability = function() { var promise = new Internal(); this.promise = promise; this.resolve = ctx($resolve, promise, 1); this.reject = ctx($reject, promise, 1); }; newPromiseCapabilityModule.f = newPromiseCapability = function(C) { return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C); }; } $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); __webpack_require__(71)($Promise, PROMISE); __webpack_require__(198)(PROMISE); Wrapper = __webpack_require__(23)[PROMISE]; $export($export.S + $export.F * !USE_NATIVE, PROMISE, { // 25.4.4.5 Promise.reject(r) reject: function reject(r) { var capability = newPromiseCapability(this); var $$reject = capability.reject; $$reject(r); return capability.promise; } }); $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { // 25.4.4.6 Promise.resolve(x) resolve: function resolve(x) { return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); } }); $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(189)(function(iter) { $Promise.all(iter)["catch"](empty); })), PROMISE, { // 25.4.4.1 Promise.all(iterable) all: function all(iterable) { var C = this; var capability = newPromiseCapability(C); var resolve = capability.resolve; var reject = capability.reject; var result2 = perform(function() { var values = []; var index = 0; var remaining = 1; forOf(iterable, false, function(promise) { var $index = index++; var alreadyCalled = false; values.push(void 0); remaining++; C.resolve(promise).then(function(value) { if (alreadyCalled) return; alreadyCalled = true; values[$index] = value; --remaining || resolve(values); }, reject); }); --remaining || resolve(values); }); if (result2.e) reject(result2.v); return capability.promise; }, // 25.4.4.4 Promise.race(iterable) race: function race(iterable) { var C = this; var capability = newPromiseCapability(C); var reject = capability.reject; var result2 = perform(function() { forOf(iterable, false, function(promise) { C.resolve(promise).then(capability.resolve, reject); }); }); if (result2.e) reject(result2.v); return capability.promise; } }); }), /* 207 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var $at = __webpack_require__(199)(true); __webpack_require__(103)(String, "String", function(iterated) { this._t = String(iterated); this._i = 0; }, function() { var O = this._t; var index = this._i; var point; if (index >= O.length) return { value: void 0, done: true }; point = $at(O, index); this._i += point.length; return { value: point, done: false }; }); }), /* 208 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var $export = __webpack_require__(41); var core = __webpack_require__(23); var global2 = __webpack_require__(11); var speciesConstructor = __webpack_require__(108); var promiseResolve = __webpack_require__(105); $export($export.P + $export.R, "Promise", { "finally": function(onFinally) { var C = speciesConstructor(this, core.Promise || global2.Promise); var isFunction = typeof onFinally == "function"; return this.then( isFunction ? function(x) { return promiseResolve(C, onFinally()).then(function() { return x; }); } : onFinally, isFunction ? function(e) { return promiseResolve(C, onFinally()).then(function() { throw e; }); } : onFinally ); } }); }), /* 209 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var $export = __webpack_require__(41); var newPromiseCapability = __webpack_require__(70); var perform = __webpack_require__(104); $export($export.S, "Promise", { "try": function(callbackfn) { var promiseCapability = newPromiseCapability.f(this); var result2 = perform(callbackfn); (result2.e ? promiseCapability.reject : promiseCapability.resolve)(result2.v); return promiseCapability.promise; } }); }), /* 210 */ /***/ (function(module3, exports3, __webpack_require__) { __webpack_require__(204); var global2 = __webpack_require__(11); var hide = __webpack_require__(31); var Iterators = __webpack_require__(35); var TO_STRING_TAG = __webpack_require__(13)("toStringTag"); var DOMIterables = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","); for (var i = 0; i < DOMIterables.length; i++) { var NAME = DOMIterables[i]; var Collection = global2[NAME]; var proto = Collection && Collection.prototype; if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); Iterators[NAME] = Iterators.Array; } }), /* 211 */ /***/ (function(module3, exports3, __webpack_require__) { exports3 = module3.exports = __webpack_require__(112); exports3.log = log; exports3.formatArgs = formatArgs; exports3.save = save; exports3.load = load; exports3.useColors = useColors; exports3.storage = "undefined" != typeof chrome && "undefined" != typeof chrome.storage ? chrome.storage.local : localstorage(); exports3.colors = [ "#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33" ]; function useColors() { if (typeof window !== "undefined" && window.process && window.process.type === "renderer") { return true; } if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { return false; } return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // is firebug? http://stackoverflow.com/a/398120/376773 typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // is firefox >= v31? // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // double check webkit in userAgent just in case we are in a worker typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); } exports3.formatters.j = function(v) { try { return JSON.stringify(v); } catch (err) { return "[UnexpectedJSONParseError]: " + err.message; } }; function formatArgs(args) { var useColors2 = this.useColors; args[0] = (useColors2 ? "%c" : "") + this.namespace + (useColors2 ? " %c" : " ") + args[0] + (useColors2 ? "%c " : " ") + "+" + exports3.humanize(this.diff); if (!useColors2) return; var c = "color: " + this.color; args.splice(1, 0, c, "color: inherit"); var index = 0; var lastC = 0; args[0].replace(/%[a-zA-Z%]/g, function(match) { if ("%%" === match) return; index++; if ("%c" === match) { lastC = index; } }); args.splice(lastC, 0, c); } function log() { return "object" === typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments); } function save(namespaces) { try { if (null == namespaces) { exports3.storage.removeItem("debug"); } else { exports3.storage.debug = namespaces; } } catch (e) { } } function load() { var r; try { r = exports3.storage.debug; } catch (e) { } if (!r && typeof process !== "undefined" && "env" in process) { r = process.env.DEBUG; } return r; } exports3.enable(load()); function localstorage() { try { return window.localStorage; } catch (e) { } } }), /* 212 */ /***/ (function(module3, exports3, __webpack_require__) { if (typeof process === "undefined" || process.type === "renderer") { module3.exports = __webpack_require__(211); } else { module3.exports = __webpack_require__(213); } }), /* 213 */ /***/ (function(module3, exports3, __webpack_require__) { var tty = __webpack_require__(79); var util = __webpack_require__(2); exports3 = module3.exports = __webpack_require__(112); exports3.init = init; exports3.log = log; exports3.formatArgs = formatArgs; exports3.save = save; exports3.load = load; exports3.useColors = useColors; exports3.colors = [6, 2, 3, 4, 5, 1]; try { var supportsColor = __webpack_require__(239); if (supportsColor && supportsColor.level >= 2) { exports3.colors = [ 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221 ]; } } catch (err) { } exports3.inspectOpts = Object.keys(process.env).filter(function(key) { return /^debug_/i.test(key); }).reduce(function(obj, key) { var prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, function(_, k) { return k.toUpperCase(); }); var val = process.env[key]; if (/^(yes|on|true|enabled)$/i.test(val)) val = true; else if (/^(no|off|false|disabled)$/i.test(val)) val = false; else if (val === "null") val = null; else val = Number(val); obj[prop] = val; return obj; }, {}); function useColors() { return "colors" in exports3.inspectOpts ? Boolean(exports3.inspectOpts.colors) : tty.isatty(process.stderr.fd); } exports3.formatters.o = function(v) { this.inspectOpts.colors = this.useColors; return util.inspect(v, this.inspectOpts).split("\n").map(function(str) { return str.trim(); }).join(" "); }; exports3.formatters.O = function(v) { this.inspectOpts.colors = this.useColors; return util.inspect(v, this.inspectOpts); }; function formatArgs(args) { var name = this.namespace; var useColors2 = this.useColors; if (useColors2) { var c = this.color; var colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); var prefix = " " + colorCode + ";1m" + name + " \x1B[0m"; args[0] = prefix + args[0].split("\n").join("\n" + prefix); args.push(colorCode + "m+" + exports3.humanize(this.diff) + "\x1B[0m"); } else { args[0] = getDate() + name + " " + args[0]; } } function getDate() { if (exports3.inspectOpts.hideDate) { return ""; } else { return (/* @__PURE__ */ new Date()).toISOString() + " "; } } function log() { return process.stderr.write(util.format.apply(util, arguments) + "\n"); } function save(namespaces) { if (null == namespaces) { delete process.env.DEBUG; } else { process.env.DEBUG = namespaces; } } function load() { return process.env.DEBUG; } function init(debug) { debug.inspectOpts = {}; var keys = Object.keys(exports3.inspectOpts); for (var i = 0; i < keys.length; i++) { debug.inspectOpts[keys[i]] = exports3.inspectOpts[keys[i]]; } } exports3.enable(load()); }), , , , /* 217 */ /***/ (function(module3, exports3, __webpack_require__) { var pathModule = __webpack_require__(0); var isWindows = process.platform === "win32"; var fs = __webpack_require__(3); var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG); function rethrow() { var callback; if (DEBUG) { var backtrace = new Error(); callback = debugCallback; } else callback = missingCallback; return callback; function debugCallback(err) { if (err) { backtrace.message = err.message; err = backtrace; missingCallback(err); } } function missingCallback(err) { if (err) { if (process.throwDeprecation) throw err; else if (!process.noDeprecation) { var msg = "fs: missing callback " + (err.stack || err.message); if (process.traceDeprecation) console.trace(msg); else console.error(msg); } } } } function maybeCallback(cb) { return typeof cb === "function" ? cb : rethrow(); } var normalize = pathModule.normalize; if (isWindows) { var nextPartRe = /(.*?)(?:[\/\\]+|$)/g; } else { var nextPartRe = /(.*?)(?:[\/]+|$)/g; } if (isWindows) { var splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/; } else { var splitRootRe = /^[\/]*/; } exports3.realpathSync = function realpathSync(p, cache) { p = pathModule.resolve(p); if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { return cache[p]; } var original = p, seenLinks = {}, knownHard = {}; var pos; var current; var base; var previous; start(); function start() { var m = splitRootRe.exec(p); pos = m[0].length; current = m[0]; base = m[0]; previous = ""; if (isWindows && !knownHard[base]) { fs.lstatSync(base); knownHard[base] = true; } } while (pos < p.length) { nextPartRe.lastIndex = pos; var result2 = nextPartRe.exec(p); previous = current; current += result2[0]; base = previous + result2[1]; pos = nextPartRe.lastIndex; if (knownHard[base] || cache && cache[base] === base) { continue; } var resolvedLink; if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { resolvedLink = cache[base]; } else { var stat = fs.lstatSync(base); if (!stat.isSymbolicLink()) { knownHard[base] = true; if (cache) cache[base] = base; continue; } var linkTarget = null; if (!isWindows) { var id = stat.dev.toString(32) + ":" + stat.ino.toString(32); if (seenLinks.hasOwnProperty(id)) { linkTarget = seenLinks[id]; } } if (linkTarget === null) { fs.statSync(base); linkTarget = fs.readlinkSync(base); } resolvedLink = pathModule.resolve(previous, linkTarget); if (cache) cache[base] = resolvedLink; if (!isWindows) seenLinks[id] = linkTarget; } p = pathModule.resolve(resolvedLink, p.slice(pos)); start(); } if (cache) cache[original] = p; return p; }; exports3.realpath = function realpath(p, cache, cb) { if (typeof cb !== "function") { cb = maybeCallback(cache); cache = null; } p = pathModule.resolve(p); if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { return process.nextTick(cb.bind(null, null, cache[p])); } var original = p, seenLinks = {}, knownHard = {}; var pos; var current; var base; var previous; start(); function start() { var m = splitRootRe.exec(p); pos = m[0].length; current = m[0]; base = m[0]; previous = ""; if (isWindows && !knownHard[base]) { fs.lstat(base, function(err) { if (err) return cb(err); knownHard[base] = true; LOOP(); }); } else { process.nextTick(LOOP); } } function LOOP() { if (pos >= p.length) { if (cache) cache[original] = p; return cb(null, p); } nextPartRe.lastIndex = pos; var result2 = nextPartRe.exec(p); previous = current; current += result2[0]; base = previous + result2[1]; pos = nextPartRe.lastIndex; if (knownHard[base] || cache && cache[base] === base) { return process.nextTick(LOOP); } if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { return gotResolvedLink(cache[base]); } return fs.lstat(base, gotStat); } function gotStat(err, stat) { if (err) return cb(err); if (!stat.isSymbolicLink()) { knownHard[base] = true; if (cache) cache[base] = base; return process.nextTick(LOOP); } if (!isWindows) { var id = stat.dev.toString(32) + ":" + stat.ino.toString(32); if (seenLinks.hasOwnProperty(id)) { return gotTarget(null, seenLinks[id], base); } } fs.stat(base, function(err2) { if (err2) return cb(err2); fs.readlink(base, function(err3, target) { if (!isWindows) seenLinks[id] = target; gotTarget(err3, target); }); }); } function gotTarget(err, target, base2) { if (err) return cb(err); var resolvedLink = pathModule.resolve(previous, target); if (cache) cache[base2] = resolvedLink; gotResolvedLink(resolvedLink); } function gotResolvedLink(resolvedLink) { p = pathModule.resolve(resolvedLink, p.slice(pos)); start(); } }; }), /* 218 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = globSync; globSync.GlobSync = GlobSync; var fs = __webpack_require__(3); var rp = __webpack_require__(114); var minimatch = __webpack_require__(60); var Minimatch = minimatch.Minimatch; var Glob = __webpack_require__(75).Glob; var util = __webpack_require__(2); var path2 = __webpack_require__(0); var assert = __webpack_require__(22); var isAbsolute = __webpack_require__(76); var common = __webpack_require__(115); var alphasort = common.alphasort; var alphasorti = common.alphasorti; var setopts = common.setopts; var ownProp = common.ownProp; var childrenIgnored = common.childrenIgnored; var isIgnored = common.isIgnored; function globSync(pattern, options) { if (typeof options === "function" || arguments.length === 3) throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167"); return new GlobSync(pattern, options).found; } function GlobSync(pattern, options) { if (!pattern) throw new Error("must provide pattern"); if (typeof options === "function" || arguments.length === 3) throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167"); if (!(this instanceof GlobSync)) return new GlobSync(pattern, options); setopts(this, pattern, options); if (this.noprocess) return this; var n = this.minimatch.set.length; this.matches = new Array(n); for (var i = 0; i < n; i++) { this._process(this.minimatch.set[i], i, false); } this._finish(); } GlobSync.prototype._finish = function() { assert(this instanceof GlobSync); if (this.realpath) { var self2 = this; this.matches.forEach(function(matchset, index) { var set = self2.matches[index] = /* @__PURE__ */ Object.create(null); for (var p in matchset) { try { p = self2._makeAbs(p); var real = rp.realpathSync(p, self2.realpathCache); set[real] = true; } catch (er) { if (er.syscall === "stat") set[self2._makeAbs(p)] = true; else throw er; } } }); } common.finish(this); }; GlobSync.prototype._process = function(pattern, index, inGlobStar) { assert(this instanceof GlobSync); var n = 0; while (typeof pattern[n] === "string") { n++; } var prefix; switch (n) { // if not, then this is rather simple case pattern.length: this._processSimple(pattern.join("/"), index); return; case 0: prefix = null; break; default: prefix = pattern.slice(0, n).join("/"); break; } var remain = pattern.slice(n); var read; if (prefix === null) read = "."; else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) { if (!prefix || !isAbsolute(prefix)) prefix = "/" + prefix; read = prefix; } else read = prefix; var abs = this._makeAbs(read); if (childrenIgnored(this, read)) return; var isGlobStar = remain[0] === minimatch.GLOBSTAR; if (isGlobStar) this._processGlobStar(prefix, read, abs, remain, index, inGlobStar); else this._processReaddir(prefix, read, abs, remain, index, inGlobStar); }; GlobSync.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar) { var entries = this._readdir(abs, inGlobStar); if (!entries) return; var pn = remain[0]; var negate = !!this.minimatch.negate; var rawGlob = pn._glob; var dotOk = this.dot || rawGlob.charAt(0) === "."; var matchedEntries = []; for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (e.charAt(0) !== "." || dotOk) { var m; if (negate && !prefix) { m = !e.match(pn); } else { m = e.match(pn); } if (m) matchedEntries.push(e); } } var len = matchedEntries.length; if (len === 0) return; if (remain.length === 1 && !this.mark && !this.stat) { if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; if (prefix) { if (prefix.slice(-1) !== "/") e = prefix + "/" + e; else e = prefix + e; } if (e.charAt(0) === "/" && !this.nomount) { e = path2.join(this.root, e); } this._emitMatch(index, e); } return; } remain.shift(); for (var i = 0; i < len; i++) { var e = matchedEntries[i]; var newPattern; if (prefix) newPattern = [prefix, e]; else newPattern = [e]; this._process(newPattern.concat(remain), index, inGlobStar); } }; GlobSync.prototype._emitMatch = function(index, e) { if (isIgnored(this, e)) return; var abs = this._makeAbs(e); if (this.mark) e = this._mark(e); if (this.absolute) { e = abs; } if (this.matches[index][e]) return; if (this.nodir) { var c = this.cache[abs]; if (c === "DIR" || Array.isArray(c)) return; } this.matches[index][e] = true; if (this.stat) this._stat(e); }; GlobSync.prototype._readdirInGlobStar = function(abs) { if (this.follow) return this._readdir(abs, false); var entries; var lstat; var stat; try { lstat = fs.lstatSync(abs); } catch (er) { if (er.code === "ENOENT") { return null; } } var isSym = lstat && lstat.isSymbolicLink(); this.symlinks[abs] = isSym; if (!isSym && lstat && !lstat.isDirectory()) this.cache[abs] = "FILE"; else entries = this._readdir(abs, false); return entries; }; GlobSync.prototype._readdir = function(abs, inGlobStar) { var entries; if (inGlobStar && !ownProp(this.symlinks, abs)) return this._readdirInGlobStar(abs); if (ownProp(this.cache, abs)) { var c = this.cache[abs]; if (!c || c === "FILE") return null; if (Array.isArray(c)) return c; } try { return this._readdirEntries(abs, fs.readdirSync(abs)); } catch (er) { this._readdirError(abs, er); return null; } }; GlobSync.prototype._readdirEntries = function(abs, entries) { if (!this.mark && !this.stat) { for (var i = 0; i < entries.length; i++) { var e = entries[i]; if (abs === "/") e = abs + e; else e = abs + "/" + e; this.cache[e] = true; } } this.cache[abs] = entries; return entries; }; GlobSync.prototype._readdirError = function(f, er) { switch (er.code) { case "ENOTSUP": // https://github.com/isaacs/node-glob/issues/205 case "ENOTDIR": var abs = this._makeAbs(f); this.cache[abs] = "FILE"; if (abs === this.cwdAbs) { var error = new Error(er.code + " invalid cwd " + this.cwd); error.path = this.cwd; error.code = er.code; throw error; } break; case "ENOENT": // not terribly unusual case "ELOOP": case "ENAMETOOLONG": case "UNKNOWN": this.cache[this._makeAbs(f)] = false; break; default: this.cache[this._makeAbs(f)] = false; if (this.strict) throw er; if (!this.silent) console.error("glob error", er); break; } }; GlobSync.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar) { var entries = this._readdir(abs, inGlobStar); if (!entries) return; var remainWithoutGlobStar = remain.slice(1); var gspref = prefix ? [prefix] : []; var noGlobStar = gspref.concat(remainWithoutGlobStar); this._process(noGlobStar, index, false); var len = entries.length; var isSym = this.symlinks[abs]; if (isSym && inGlobStar) return; for (var i = 0; i < len; i++) { var e = entries[i]; if (e.charAt(0) === "." && !this.dot) continue; var instead = gspref.concat(entries[i], remainWithoutGlobStar); this._process(instead, index, true); var below = gspref.concat(entries[i], remain); this._process(below, index, true); } }; GlobSync.prototype._processSimple = function(prefix, index) { var exists = this._stat(prefix); if (!this.matches[index]) this.matches[index] = /* @__PURE__ */ Object.create(null); if (!exists) return; if (prefix && isAbsolute(prefix) && !this.nomount) { var trail = /[\/\\]$/.test(prefix); if (prefix.charAt(0) === "/") { prefix = path2.join(this.root, prefix); } else { prefix = path2.resolve(this.root, prefix); if (trail) prefix += "/"; } } if (process.platform === "win32") prefix = prefix.replace(/\\/g, "/"); this._emitMatch(index, prefix); }; GlobSync.prototype._stat = function(f) { var abs = this._makeAbs(f); var needDir = f.slice(-1) === "/"; if (f.length > this.maxLength) return false; if (!this.stat && ownProp(this.cache, abs)) { var c = this.cache[abs]; if (Array.isArray(c)) c = "DIR"; if (!needDir || c === "DIR") return c; if (needDir && c === "FILE") return false; } var exists; var stat = this.statCache[abs]; if (!stat) { var lstat; try { lstat = fs.lstatSync(abs); } catch (er) { if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) { this.statCache[abs] = false; return false; } } if (lstat && lstat.isSymbolicLink()) { try { stat = fs.statSync(abs); } catch (er) { stat = lstat; } } else { stat = lstat; } } this.statCache[abs] = stat; var c = true; if (stat) c = stat.isDirectory() ? "DIR" : "FILE"; this.cache[abs] = this.cache[abs] || c; if (needDir && c === "FILE") return false; return c; }; GlobSync.prototype._mark = function(p) { return common.mark(this, p); }; GlobSync.prototype._makeAbs = function(f) { return common.makeAbs(this, f); }; }), , , /* 221 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; module3.exports = function(flag, argv2) { argv2 = argv2 || process.argv; var terminatorPos = argv2.indexOf("--"); var prefix = /^--/.test(flag) ? "" : "--"; var pos = argv2.indexOf(prefix + flag); return pos !== -1 && (terminatorPos !== -1 ? pos < terminatorPos : true); }; }), , /* 223 */ /***/ (function(module3, exports3, __webpack_require__) { var wrappy = __webpack_require__(123); var reqs = /* @__PURE__ */ Object.create(null); var once = __webpack_require__(61); module3.exports = wrappy(inflight); function inflight(key, cb) { if (reqs[key]) { reqs[key].push(cb); return null; } else { reqs[key] = [cb]; return makeres(key); } } function makeres(key) { return once(function RES() { var cbs = reqs[key]; var len = cbs.length; var args = slice(arguments); try { for (var i = 0; i < len; i++) { cbs[i].apply(null, args); } } finally { if (cbs.length > len) { cbs.splice(0, len); process.nextTick(function() { RES.apply(null, args); }); } else { delete reqs[key]; } } }); } function slice(args) { var length = args.length; var array = []; for (var i = 0; i < length; i++) array[i] = args[i]; return array; } }), /* 224 */ /***/ (function(module3, exports3) { if (typeof Object.create === "function") { module3.exports = function inherits(ctor, superCtor) { ctor.super_ = superCtor; ctor.prototype = Object.create(superCtor.prototype, { constructor: { value: ctor, enumerable: false, writable: true, configurable: true } }); }; } else { module3.exports = function inherits(ctor, superCtor) { ctor.super_ = superCtor; var TempCtor = function() { }; TempCtor.prototype = superCtor.prototype; ctor.prototype = new TempCtor(); ctor.prototype.constructor = ctor; }; } }), , , /* 227 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = typeof __webpack_require__ !== "undefined"; }), , /* 229 */ /***/ (function(module3, exports3) { var s = 1e3; var m = s * 60; var h = m * 60; var d = h * 24; var y = d * 365.25; module3.exports = function(val, options) { options = options || {}; var type = typeof val; if (type === "string" && val.length > 0) { return parse2(val); } else if (type === "number" && isNaN(val) === false) { return options.long ? fmtLong(val) : fmtShort(val); } throw new Error( "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) ); }; function parse2(str) { str = String(str); if (str.length > 100) { return; } var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( str ); if (!match) { return; } var n = parseFloat(match[1]); var type = (match[2] || "ms").toLowerCase(); switch (type) { case "years": case "year": case "yrs": case "yr": case "y": return n * y; case "days": case "day": case "d": return n * d; case "hours": case "hour": case "hrs": case "hr": case "h": return n * h; case "minutes": case "minute": case "mins": case "min": case "m": return n * m; case "seconds": case "second": case "secs": case "sec": case "s": return n * s; case "milliseconds": case "millisecond": case "msecs": case "msec": case "ms": return n; default: return void 0; } } function fmtShort(ms) { if (ms >= d) { return Math.round(ms / d) + "d"; } if (ms >= h) { return Math.round(ms / h) + "h"; } if (ms >= m) { return Math.round(ms / m) + "m"; } if (ms >= s) { return Math.round(ms / s) + "s"; } return ms + "ms"; } function fmtLong(ms) { return plural2(ms, d, "day") || plural2(ms, h, "hour") || plural2(ms, m, "minute") || plural2(ms, s, "second") || ms + " ms"; } function plural2(ms, n, name) { if (ms < n) { return; } if (ms < n * 1.5) { return Math.floor(ms / n) + " " + name; } return Math.ceil(ms / n) + " " + name + "s"; } }), , , , /* 233 */ /***/ (function(module3, exports3, __webpack_require__) { module3.exports = rimraf; rimraf.sync = rimrafSync; var assert = __webpack_require__(22); var path2 = __webpack_require__(0); var fs = __webpack_require__(3); var glob = __webpack_require__(75); var _0666 = parseInt("666", 8); var defaultGlobOpts = { nosort: true, silent: true }; var timeout = 0; var isWindows = process.platform === "win32"; function defaults(options) { var methods = [ "unlink", "chmod", "stat", "lstat", "rmdir", "readdir" ]; methods.forEach(function(m) { options[m] = options[m] || fs[m]; m = m + "Sync"; options[m] = options[m] || fs[m]; }); options.maxBusyTries = options.maxBusyTries || 3; options.emfileWait = options.emfileWait || 1e3; if (options.glob === false) { options.disableGlob = true; } options.disableGlob = options.disableGlob || false; options.glob = options.glob || defaultGlobOpts; } function rimraf(p, options, cb) { if (typeof options === "function") { cb = options; options = {}; } assert(p, "rimraf: missing path"); assert.equal(typeof p, "string", "rimraf: path should be a string"); assert.equal(typeof cb, "function", "rimraf: callback function required"); assert(options, "rimraf: invalid options argument provided"); assert.equal(typeof options, "object", "rimraf: options should be object"); defaults(options); var busyTries = 0; var errState = null; var n = 0; if (options.disableGlob || !glob.hasMagic(p)) return afterGlob(null, [p]); options.lstat(p, function(er, stat) { if (!er) return afterGlob(null, [p]); glob(p, options.glob, afterGlob); }); function next(er) { errState = errState || er; if (--n === 0) cb(errState); } function afterGlob(er, results) { if (er) return cb(er); n = results.length; if (n === 0) return cb(); results.forEach(function(p2) { rimraf_(p2, options, function CB(er2) { if (er2) { if ((er2.code === "EBUSY" || er2.code === "ENOTEMPTY" || er2.code === "EPERM") && busyTries < options.maxBusyTries) { busyTries++; var time = busyTries * 100; return setTimeout(function() { rimraf_(p2, options, CB); }, time); } if (er2.code === "EMFILE" && timeout < options.emfileWait) { return setTimeout(function() { rimraf_(p2, options, CB); }, timeout++); } if (er2.code === "ENOENT") er2 = null; } timeout = 0; next(er2); }); }); } } function rimraf_(p, options, cb) { assert(p); assert(options); assert(typeof cb === "function"); options.lstat(p, function(er, st) { if (er && er.code === "ENOENT") return cb(null); if (er && er.code === "EPERM" && isWindows) fixWinEPERM(p, options, er, cb); if (st && st.isDirectory()) return rmdir(p, options, er, cb); options.unlink(p, function(er2) { if (er2) { if (er2.code === "ENOENT") return cb(null); if (er2.code === "EPERM") return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb); if (er2.code === "EISDIR") return rmdir(p, options, er2, cb); } return cb(er2); }); }); } function fixWinEPERM(p, options, er, cb) { assert(p); assert(options); assert(typeof cb === "function"); if (er) assert(er instanceof Error); options.chmod(p, _0666, function(er2) { if (er2) cb(er2.code === "ENOENT" ? null : er); else options.stat(p, function(er3, stats) { if (er3) cb(er3.code === "ENOENT" ? null : er); else if (stats.isDirectory()) rmdir(p, options, er, cb); else options.unlink(p, cb); }); }); } function fixWinEPERMSync(p, options, er) { assert(p); assert(options); if (er) assert(er instanceof Error); try { options.chmodSync(p, _0666); } catch (er2) { if (er2.code === "ENOENT") return; else throw er; } try { var stats = options.statSync(p); } catch (er3) { if (er3.code === "ENOENT") return; else throw er; } if (stats.isDirectory()) rmdirSync(p, options, er); else options.unlinkSync(p); } function rmdir(p, options, originalEr, cb) { assert(p); assert(options); if (originalEr) assert(originalEr instanceof Error); assert(typeof cb === "function"); options.rmdir(p, function(er) { if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) rmkids(p, options, cb); else if (er && er.code === "ENOTDIR") cb(originalEr); else cb(er); }); } function rmkids(p, options, cb) { assert(p); assert(options); assert(typeof cb === "function"); options.readdir(p, function(er, files) { if (er) return cb(er); var n = files.length; if (n === 0) return options.rmdir(p, cb); var errState; files.forEach(function(f) { rimraf(path2.join(p, f), options, function(er2) { if (errState) return; if (er2) return cb(errState = er2); if (--n === 0) options.rmdir(p, cb); }); }); }); } function rimrafSync(p, options) { options = options || {}; defaults(options); assert(p, "rimraf: missing path"); assert.equal(typeof p, "string", "rimraf: path should be a string"); assert(options, "rimraf: missing options"); assert.equal(typeof options, "object", "rimraf: options should be object"); var results; if (options.disableGlob || !glob.hasMagic(p)) { results = [p]; } else { try { options.lstatSync(p); results = [p]; } catch (er) { results = glob.sync(p, options.glob); } } if (!results.length) return; for (var i = 0; i < results.length; i++) { var p = results[i]; try { var st = options.lstatSync(p); } catch (er) { if (er.code === "ENOENT") return; if (er.code === "EPERM" && isWindows) fixWinEPERMSync(p, options, er); } try { if (st && st.isDirectory()) rmdirSync(p, options, null); else options.unlinkSync(p); } catch (er) { if (er.code === "ENOENT") return; if (er.code === "EPERM") return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er); if (er.code !== "EISDIR") throw er; rmdirSync(p, options, er); } } } function rmdirSync(p, options, originalEr) { assert(p); assert(options); if (originalEr) assert(originalEr instanceof Error); try { options.rmdirSync(p); } catch (er) { if (er.code === "ENOENT") return; if (er.code === "ENOTDIR") throw originalEr; if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") rmkidsSync(p, options); } } function rmkidsSync(p, options) { assert(p); assert(options); options.readdirSync(p).forEach(function(f) { rimrafSync(path2.join(p, f), options); }); var retries = isWindows ? 100 : 1; var i = 0; do { var threw = true; try { var ret2 = options.rmdirSync(p, options); threw = false; return ret2; } finally { if (++i < retries && threw) continue; } } while (true); } }), , , , , , /* 239 */ /***/ (function(module3, exports3, __webpack_require__) { "use strict"; var hasFlag = __webpack_require__(221); var support = function(level) { if (level === 0) { return false; } return { level, hasBasic: true, has256: level >= 2, has16m: level >= 3 }; }; var supportLevel = (function() { if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) { return 0; } if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { return 3; } if (hasFlag("color=256")) { return 2; } if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { return 1; } if (process.stdout && !process.stdout.isTTY) { return 0; } if (process.platform === "win32") { return 1; } if ("CI" in process.env) { if ("TRAVIS" in process.env || process.env.CI === "Travis") { return 1; } return 0; } if ("TEAMCITY_VERSION" in process.env) { return process.env.TEAMCITY_VERSION.match(/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/) === null ? 0 : 1; } if (/^(screen|xterm)-256(?:color)?/.test(process.env.TERM)) { return 2; } if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { return 1; } if ("COLORTERM" in process.env) { return 1; } if (process.env.TERM === "dumb") { return 0; } return 0; })(); if (supportLevel === 0 && "FORCE_COLOR" in process.env) { supportLevel = 1; } module3.exports = process && support(supportLevel); }) /******/ ]); } }); // ../node_modules/.pnpm/tinylogic@2.0.0/node_modules/tinylogic/grammar.js var require_grammar = __commonJS({ "../node_modules/.pnpm/tinylogic@2.0.0/node_modules/tinylogic/grammar.js"(exports2, module2) { "use strict"; function peg$subclass(child, parent) { function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); } function peg$SyntaxError(message, expected, found, location) { this.message = message; this.expected = expected; this.found = found; this.location = location; this.name = "SyntaxError"; if (typeof Error.captureStackTrace === "function") { Error.captureStackTrace(this, peg$SyntaxError); } } peg$subclass(peg$SyntaxError, Error); peg$SyntaxError.buildMessage = function(expected, found) { var DESCRIBE_EXPECTATION_FNS = { literal: function(expectation) { return '"' + literalEscape(expectation.text) + '"'; }, "class": function(expectation) { var escapedParts = "", i; for (i = 0; i < expectation.parts.length; i++) { escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]); } return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; }, any: function(expectation) { return "any character"; }, end: function(expectation) { return "end of input"; }, other: function(expectation) { return expectation.description; } }; function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); } function literalEscape(s) { return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function classEscape(s) { return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) { return "\\x0" + hex(ch); }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return "\\x" + hex(ch); }); } function describeExpectation(expectation) { return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation); } function describeExpected(expected2) { var descriptions = new Array(expected2.length), i, j; for (i = 0; i < expected2.length; i++) { descriptions[i] = describeExpectation(expected2[i]); } descriptions.sort(); if (descriptions.length > 0) { for (i = 1, j = 1; i < descriptions.length; i++) { if (descriptions[i - 1] !== descriptions[i]) { descriptions[j] = descriptions[i]; j++; } } descriptions.length = j; } switch (descriptions.length) { case 1: return descriptions[0]; case 2: return descriptions[0] + " or " + descriptions[1]; default: return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1]; } } function describeFound(found2) { return found2 ? '"' + literalEscape(found2) + '"' : "end of input"; } return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; }; function peg$parse(input, options) { options = options !== void 0 ? options : {}; var peg$FAILED = {}, peg$startRuleFunctions = { Expression: peg$parseExpression }, peg$startRuleFunction = peg$parseExpression, peg$c0 = "|", peg$c1 = peg$literalExpectation("|", false), peg$c2 = "&", peg$c3 = peg$literalExpectation("&", false), peg$c4 = "^", peg$c5 = peg$literalExpectation("^", false), peg$c6 = function(head, tail) { return !!tail.reduce((result2, element) => { switch (element[1]) { case "|": return result2 | element[3]; case "&": return result2 & element[3]; case "^": return result2 ^ element[3]; } }, head); }, peg$c7 = "!", peg$c8 = peg$literalExpectation("!", false), peg$c9 = function(term) { return !term; }, peg$c10 = "(", peg$c11 = peg$literalExpectation("(", false), peg$c12 = ")", peg$c13 = peg$literalExpectation(")", false), peg$c14 = function(expr) { return expr; }, peg$c15 = /^[^ \t\n\r()!|&\^]/, peg$c16 = peg$classExpectation([" ", " ", "\n", "\r", "(", ")", "!", "|", "&", "^"], true, false), peg$c17 = function(token) { return options.queryPattern.test(token); }, peg$c18 = function(token) { return options.checkFn(token); }, peg$c19 = peg$otherExpectation("whitespace"), peg$c20 = /^[ \t\n\r]/, peg$c21 = peg$classExpectation([" ", " ", "\n", "\r"], false, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result; if ("startRule" in options) { if (!(options.startRule in peg$startRuleFunctions)) { throw new Error(`Can't start parsing from rule "` + options.startRule + '".'); } peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; } function text() { return input.substring(peg$savedPos, peg$currPos); } function location() { return peg$computeLocation(peg$savedPos, peg$currPos); } function expected(description, location2) { location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos); throw peg$buildStructuredError( [peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location2 ); } function error(message, location2) { location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos); throw peg$buildSimpleError(message, location2); } function peg$literalExpectation(text2, ignoreCase) { return { type: "literal", text: text2, ignoreCase }; } function peg$classExpectation(parts, inverted, ignoreCase) { return { type: "class", parts, inverted, ignoreCase }; } function peg$anyExpectation() { return { type: "any" }; } function peg$endExpectation() { return { type: "end" }; } function peg$otherExpectation(description) { return { type: "other", description }; } function peg$computePosDetails(pos) { var details = peg$posDetailsCache[pos], p; if (details) { return details; } else { p = pos - 1; while (!peg$posDetailsCache[p]) { p--; } details = peg$posDetailsCache[p]; details = { line: details.line, column: details.column }; while (p < pos) { if (input.charCodeAt(p) === 10) { details.line++; details.column = 1; } else { details.column++; } p++; } peg$posDetailsCache[pos] = details; return details; } } function peg$computeLocation(startPos, endPos) { var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos); return { start: { offset: startPos, line: startPosDetails.line, column: startPosDetails.column }, end: { offset: endPos, line: endPosDetails.line, column: endPosDetails.column } }; } function peg$fail(expected2) { if (peg$currPos < peg$maxFailPos) { return; } if (peg$currPos > peg$maxFailPos) { peg$maxFailPos = peg$currPos; peg$maxFailExpected = []; } peg$maxFailExpected.push(expected2); } function peg$buildSimpleError(message, location2) { return new peg$SyntaxError(message, null, null, location2); } function peg$buildStructuredError(expected2, found, location2) { return new peg$SyntaxError( peg$SyntaxError.buildMessage(expected2, found), expected2, found, location2 ); } function peg$parseExpression() { var s0, s1, s2, s3, s4, s5, s6, s7; s0 = peg$currPos; s1 = peg$parseTerm(); if (s1 !== peg$FAILED) { s2 = []; s3 = peg$currPos; s4 = peg$parse_(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 124) { s5 = peg$c0; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c1); } } if (s5 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 38) { s5 = peg$c2; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c3); } } if (s5 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 94) { s5 = peg$c4; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c5); } } } } if (s5 !== peg$FAILED) { s6 = peg$parse_(); if (s6 !== peg$FAILED) { s7 = peg$parseTerm(); if (s7 !== peg$FAILED) { s4 = [s4, s5, s6, s7]; s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$currPos; s4 = peg$parse_(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 124) { s5 = peg$c0; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c1); } } if (s5 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 38) { s5 = peg$c2; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c3); } } if (s5 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 94) { s5 = peg$c4; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c5); } } } } if (s5 !== peg$FAILED) { s6 = peg$parse_(); if (s6 !== peg$FAILED) { s7 = peg$parseTerm(); if (s7 !== peg$FAILED) { s4 = [s4, s5, s6, s7]; s3 = s4; } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } else { peg$currPos = s3; s3 = peg$FAILED; } } if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c6(s1, s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseTerm() { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 33) { s1 = peg$c7; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c8); } } if (s1 !== peg$FAILED) { s2 = peg$parseTerm(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c9(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 40) { s1 = peg$c10; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c11); } } if (s1 !== peg$FAILED) { s2 = peg$parse_(); if (s2 !== peg$FAILED) { s3 = peg$parseExpression(); if (s3 !== peg$FAILED) { s4 = peg$parse_(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 41) { s5 = peg$c12; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c13); } } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c14(s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$parseToken(); } } return s0; } function peg$parseToken() { var s0, s1, s2, s3, s4; s0 = peg$currPos; s1 = peg$parse_(); if (s1 !== peg$FAILED) { s2 = peg$currPos; s3 = []; if (peg$c15.test(input.charAt(peg$currPos))) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c16); } } if (s4 !== peg$FAILED) { while (s4 !== peg$FAILED) { s3.push(s4); if (peg$c15.test(input.charAt(peg$currPos))) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c16); } } } } else { s3 = peg$FAILED; } if (s3 !== peg$FAILED) { s2 = input.substring(s2, peg$currPos); } else { s2 = s3; } if (s2 !== peg$FAILED) { peg$savedPos = peg$currPos; s3 = peg$c17(s2); if (s3) { s3 = void 0; } else { s3 = peg$FAILED; } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c18(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parse_() { var s0, s1; peg$silentFails++; s0 = []; if (peg$c20.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c21); } } while (s1 !== peg$FAILED) { s0.push(s1); if (peg$c20.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c21); } } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c19); } } return s0; } peg$result = peg$startRuleFunction(); if (peg$result !== peg$FAILED && peg$currPos === input.length) { return peg$result; } else { if (peg$result !== peg$FAILED && peg$currPos < input.length) { peg$fail(peg$endExpectation()); } throw peg$buildStructuredError( peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos) ); } } module2.exports = { SyntaxError: peg$SyntaxError, parse: peg$parse }; } }); // ../node_modules/.pnpm/tinylogic@2.0.0/node_modules/tinylogic/index.js var require_tinylogic = __commonJS({ "../node_modules/.pnpm/tinylogic@2.0.0/node_modules/tinylogic/index.js"(exports2) { var { parse: parse2 } = require_grammar(); exports2.makeParser = (queryPattern = /[a-z]+/) => { return (str, checkFn) => parse2(str, { queryPattern, checkFn }); }; exports2.parse = exports2.makeParser(); } }); // ../node_modules/.pnpm/ci-info@4.3.0/node_modules/ci-info/vendors.json var require_vendors2 = __commonJS({ "../node_modules/.pnpm/ci-info@4.3.0/node_modules/ci-info/vendors.json"(exports2, module2) { module2.exports = [ { name: "Agola CI", constant: "AGOLA", env: "AGOLA_GIT_REF", pr: "AGOLA_PULL_REQUEST_ID" }, { name: "Appcircle", constant: "APPCIRCLE", env: "AC_APPCIRCLE", pr: { env: "AC_GIT_PR", ne: "false" } }, { name: "AppVeyor", constant: "APPVEYOR", env: "APPVEYOR", pr: "APPVEYOR_PULL_REQUEST_NUMBER" }, { name: "AWS CodeBuild", constant: "CODEBUILD", env: "CODEBUILD_BUILD_ARN", pr: { env: "CODEBUILD_WEBHOOK_EVENT", any: [ "PULL_REQUEST_CREATED", "PULL_REQUEST_UPDATED", "PULL_REQUEST_REOPENED" ] } }, { name: "Azure Pipelines", constant: "AZURE_PIPELINES", env: "TF_BUILD", pr: { BUILD_REASON: "PullRequest" } }, { name: "Bamboo", constant: "BAMBOO", env: "bamboo_planKey" }, { name: "Bitbucket Pipelines", constant: "BITBUCKET", env: "BITBUCKET_COMMIT", pr: "BITBUCKET_PR_ID" }, { name: "Bitrise", constant: "BITRISE", env: "BITRISE_IO", pr: "BITRISE_PULL_REQUEST" }, { name: "Buddy", constant: "BUDDY", env: "BUDDY_WORKSPACE_ID", pr: "BUDDY_EXECUTION_PULL_REQUEST_ID" }, { name: "Buildkite", constant: "BUILDKITE", env: "BUILDKITE", pr: { env: "BUILDKITE_PULL_REQUEST", ne: "false" } }, { name: "CircleCI", constant: "CIRCLE", env: "CIRCLECI", pr: "CIRCLE_PULL_REQUEST" }, { name: "Cirrus CI", constant: "CIRRUS", env: "CIRRUS_CI", pr: "CIRRUS_PR" }, { name: "Cloudflare Pages", constant: "CLOUDFLARE_PAGES", env: "CF_PAGES" }, { name: "Cloudflare Workers", constant: "CLOUDFLARE_WORKERS", env: "WORKERS_CI" }, { name: "Codefresh", constant: "CODEFRESH", env: "CF_BUILD_ID", pr: { any: [ "CF_PULL_REQUEST_NUMBER", "CF_PULL_REQUEST_ID" ] } }, { name: "Codemagic", constant: "CODEMAGIC", env: "CM_BUILD_ID", pr: "CM_PULL_REQUEST" }, { name: "Codeship", constant: "CODESHIP", env: { CI_NAME: "codeship" } }, { name: "Drone", constant: "DRONE", env: "DRONE", pr: { DRONE_BUILD_EVENT: "pull_request" } }, { name: "dsari", constant: "DSARI", env: "DSARI" }, { name: "Earthly", constant: "EARTHLY", env: "EARTHLY_CI" }, { name: "Expo Application Services", constant: "EAS", env: "EAS_BUILD" }, { name: "Gerrit", constant: "GERRIT", env: "GERRIT_PROJECT" }, { name: "Gitea Actions", constant: "GITEA_ACTIONS", env: "GITEA_ACTIONS" }, { name: "GitHub Actions", constant: "GITHUB_ACTIONS", env: "GITHUB_ACTIONS", pr: { GITHUB_EVENT_NAME: "pull_request" } }, { name: "GitLab CI", constant: "GITLAB", env: "GITLAB_CI", pr: "CI_MERGE_REQUEST_ID" }, { name: "GoCD", constant: "GOCD", env: "GO_PIPELINE_LABEL" }, { name: "Google Cloud Build", constant: "GOOGLE_CLOUD_BUILD", env: "BUILDER_OUTPUT" }, { name: "Harness CI", constant: "HARNESS", env: "HARNESS_BUILD_ID" }, { name: "Heroku", constant: "HEROKU", env: { env: "NODE", includes: "/app/.heroku/node/bin/node" } }, { name: "Hudson", constant: "HUDSON", env: "HUDSON_URL" }, { name: "Jenkins", constant: "JENKINS", env: [ "JENKINS_URL", "BUILD_ID" ], pr: { any: [ "ghprbPullId", "CHANGE_ID" ] } }, { name: "LayerCI", constant: "LAYERCI", env: "LAYERCI", pr: "LAYERCI_PULL_REQUEST" }, { name: "Magnum CI", constant: "MAGNUM", env: "MAGNUM" }, { name: "Netlify CI", constant: "NETLIFY", env: "NETLIFY", pr: { env: "PULL_REQUEST", ne: "false" } }, { name: "Nevercode", constant: "NEVERCODE", env: "NEVERCODE", pr: { env: "NEVERCODE_PULL_REQUEST", ne: "false" } }, { name: "Prow", constant: "PROW", env: "PROW_JOB_ID" }, { name: "ReleaseHub", constant: "RELEASEHUB", env: "RELEASE_BUILD_ID" }, { name: "Render", constant: "RENDER", env: "RENDER", pr: { IS_PULL_REQUEST: "true" } }, { name: "Sail CI", constant: "SAIL", env: "SAILCI", pr: "SAIL_PULL_REQUEST_NUMBER" }, { name: "Screwdriver", constant: "SCREWDRIVER", env: "SCREWDRIVER", pr: { env: "SD_PULL_REQUEST", ne: "false" } }, { name: "Semaphore", constant: "SEMAPHORE", env: "SEMAPHORE", pr: "PULL_REQUEST_NUMBER" }, { name: "Sourcehut", constant: "SOURCEHUT", env: { CI_NAME: "sourcehut" } }, { name: "Strider CD", constant: "STRIDER", env: "STRIDER" }, { name: "TaskCluster", constant: "TASKCLUSTER", env: [ "TASK_ID", "RUN_ID" ] }, { name: "TeamCity", constant: "TEAMCITY", env: "TEAMCITY_VERSION" }, { name: "Travis CI", constant: "TRAVIS", env: "TRAVIS", pr: { env: "TRAVIS_PULL_REQUEST", ne: "false" } }, { name: "Vela", constant: "VELA", env: "VELA", pr: { VELA_PULL_REQUEST: "1" } }, { name: "Vercel", constant: "VERCEL", env: { any: [ "NOW_BUILDER", "VERCEL" ] }, pr: "VERCEL_GIT_PULL_REQUEST_ID" }, { name: "Visual Studio App Center", constant: "APPCENTER", env: "APPCENTER_BUILD_ID" }, { name: "Woodpecker", constant: "WOODPECKER", env: { CI: "woodpecker" }, pr: { CI_BUILD_EVENT: "pull_request" } }, { name: "Xcode Cloud", constant: "XCODE_CLOUD", env: "CI_XCODE_PROJECT", pr: "CI_PULL_REQUEST_NUMBER" }, { name: "Xcode Server", constant: "XCODE_SERVER", env: "XCS" } ]; } }); // ../node_modules/.pnpm/ci-info@4.3.0/node_modules/ci-info/index.js var require_ci_info2 = __commonJS({ "../node_modules/.pnpm/ci-info@4.3.0/node_modules/ci-info/index.js"(exports2) { "use strict"; var vendors = require_vendors2(); var env = process.env; Object.defineProperty(exports2, "_vendors", { value: vendors.map(function(v) { return v.constant; }) }); exports2.name = null; exports2.isPR = null; exports2.id = null; vendors.forEach(function(vendor) { const envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env]; const isCI = envs.every(function(obj) { return checkEnv(obj); }); exports2[vendor.constant] = isCI; if (!isCI) { return; } exports2.name = vendor.name; exports2.isPR = checkPR(vendor); exports2.id = vendor.constant; }); exports2.isCI = !!(env.CI !== "false" && // Bypass all checks if CI env is explicitly set to 'false' (env.BUILD_ID || // Jenkins, Cloudbees env.BUILD_NUMBER || // Jenkins, TeamCity env.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari, Cloudflare Pages/Workers env.CI_APP_ID || // Appflow env.CI_BUILD_ID || // Appflow env.CI_BUILD_NUMBER || // Appflow env.CI_NAME || // Codeship and others env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI env.RUN_ID || // TaskCluster, dsari exports2.name || false)); function checkEnv(obj) { if (typeof obj === "string") return !!env[obj]; if ("env" in obj) { return env[obj.env] && env[obj.env].includes(obj.includes); } if ("any" in obj) { return obj.any.some(function(k) { return !!env[k]; }); } return Object.keys(obj).every(function(k) { return env[k] === obj[k]; }); } function checkPR(vendor) { switch (typeof vendor.pr) { case "string": return !!env[vendor.pr]; case "object": if ("env" in vendor.pr) { if ("any" in vendor.pr) { return vendor.pr.any.some(function(key) { return env[vendor.pr.env] === key; }); } else { return vendor.pr.env in env && env[vendor.pr.env] !== vendor.pr.ne; } } else if ("any" in vendor.pr) { return vendor.pr.any.some(function(key) { return !!env[key]; }); } else { return checkEnv(vendor.pr); } default: return null; } } } }); // ../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/MessageName.js var require_MessageName = __commonJS({ "../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/MessageName.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.MessageName = void 0; exports2.stringifyMessageName = stringifyMessageName; exports2.parseMessageName = parseMessageName; var MessageName; (function(MessageName2) { MessageName2[MessageName2["UNNAMED"] = 0] = "UNNAMED"; MessageName2[MessageName2["EXCEPTION"] = 1] = "EXCEPTION"; MessageName2[MessageName2["MISSING_PEER_DEPENDENCY"] = 2] = "MISSING_PEER_DEPENDENCY"; MessageName2[MessageName2["CYCLIC_DEPENDENCIES"] = 3] = "CYCLIC_DEPENDENCIES"; MessageName2[MessageName2["DISABLED_BUILD_SCRIPTS"] = 4] = "DISABLED_BUILD_SCRIPTS"; MessageName2[MessageName2["BUILD_DISABLED"] = 5] = "BUILD_DISABLED"; MessageName2[MessageName2["SOFT_LINK_BUILD"] = 6] = "SOFT_LINK_BUILD"; MessageName2[MessageName2["MUST_BUILD"] = 7] = "MUST_BUILD"; MessageName2[MessageName2["MUST_REBUILD"] = 8] = "MUST_REBUILD"; MessageName2[MessageName2["BUILD_FAILED"] = 9] = "BUILD_FAILED"; MessageName2[MessageName2["RESOLVER_NOT_FOUND"] = 10] = "RESOLVER_NOT_FOUND"; MessageName2[MessageName2["FETCHER_NOT_FOUND"] = 11] = "FETCHER_NOT_FOUND"; MessageName2[MessageName2["LINKER_NOT_FOUND"] = 12] = "LINKER_NOT_FOUND"; MessageName2[MessageName2["FETCH_NOT_CACHED"] = 13] = "FETCH_NOT_CACHED"; MessageName2[MessageName2["YARN_IMPORT_FAILED"] = 14] = "YARN_IMPORT_FAILED"; MessageName2[MessageName2["REMOTE_INVALID"] = 15] = "REMOTE_INVALID"; MessageName2[MessageName2["REMOTE_NOT_FOUND"] = 16] = "REMOTE_NOT_FOUND"; MessageName2[MessageName2["RESOLUTION_PACK"] = 17] = "RESOLUTION_PACK"; MessageName2[MessageName2["CACHE_CHECKSUM_MISMATCH"] = 18] = "CACHE_CHECKSUM_MISMATCH"; MessageName2[MessageName2["UNUSED_CACHE_ENTRY"] = 19] = "UNUSED_CACHE_ENTRY"; MessageName2[MessageName2["MISSING_LOCKFILE_ENTRY"] = 20] = "MISSING_LOCKFILE_ENTRY"; MessageName2[MessageName2["WORKSPACE_NOT_FOUND"] = 21] = "WORKSPACE_NOT_FOUND"; MessageName2[MessageName2["TOO_MANY_MATCHING_WORKSPACES"] = 22] = "TOO_MANY_MATCHING_WORKSPACES"; MessageName2[MessageName2["CONSTRAINTS_MISSING_DEPENDENCY"] = 23] = "CONSTRAINTS_MISSING_DEPENDENCY"; MessageName2[MessageName2["CONSTRAINTS_INCOMPATIBLE_DEPENDENCY"] = 24] = "CONSTRAINTS_INCOMPATIBLE_DEPENDENCY"; MessageName2[MessageName2["CONSTRAINTS_EXTRANEOUS_DEPENDENCY"] = 25] = "CONSTRAINTS_EXTRANEOUS_DEPENDENCY"; MessageName2[MessageName2["CONSTRAINTS_INVALID_DEPENDENCY"] = 26] = "CONSTRAINTS_INVALID_DEPENDENCY"; MessageName2[MessageName2["CANT_SUGGEST_RESOLUTIONS"] = 27] = "CANT_SUGGEST_RESOLUTIONS"; MessageName2[MessageName2["FROZEN_LOCKFILE_EXCEPTION"] = 28] = "FROZEN_LOCKFILE_EXCEPTION"; MessageName2[MessageName2["CROSS_DRIVE_VIRTUAL_LOCAL"] = 29] = "CROSS_DRIVE_VIRTUAL_LOCAL"; MessageName2[MessageName2["FETCH_FAILED"] = 30] = "FETCH_FAILED"; MessageName2[MessageName2["DANGEROUS_NODE_MODULES"] = 31] = "DANGEROUS_NODE_MODULES"; MessageName2[MessageName2["NODE_GYP_INJECTED"] = 32] = "NODE_GYP_INJECTED"; MessageName2[MessageName2["AUTHENTICATION_NOT_FOUND"] = 33] = "AUTHENTICATION_NOT_FOUND"; MessageName2[MessageName2["INVALID_CONFIGURATION_KEY"] = 34] = "INVALID_CONFIGURATION_KEY"; MessageName2[MessageName2["NETWORK_ERROR"] = 35] = "NETWORK_ERROR"; MessageName2[MessageName2["LIFECYCLE_SCRIPT"] = 36] = "LIFECYCLE_SCRIPT"; MessageName2[MessageName2["CONSTRAINTS_MISSING_FIELD"] = 37] = "CONSTRAINTS_MISSING_FIELD"; MessageName2[MessageName2["CONSTRAINTS_INCOMPATIBLE_FIELD"] = 38] = "CONSTRAINTS_INCOMPATIBLE_FIELD"; MessageName2[MessageName2["CONSTRAINTS_EXTRANEOUS_FIELD"] = 39] = "CONSTRAINTS_EXTRANEOUS_FIELD"; MessageName2[MessageName2["CONSTRAINTS_INVALID_FIELD"] = 40] = "CONSTRAINTS_INVALID_FIELD"; MessageName2[MessageName2["AUTHENTICATION_INVALID"] = 41] = "AUTHENTICATION_INVALID"; MessageName2[MessageName2["PROLOG_UNKNOWN_ERROR"] = 42] = "PROLOG_UNKNOWN_ERROR"; MessageName2[MessageName2["PROLOG_SYNTAX_ERROR"] = 43] = "PROLOG_SYNTAX_ERROR"; MessageName2[MessageName2["PROLOG_EXISTENCE_ERROR"] = 44] = "PROLOG_EXISTENCE_ERROR"; MessageName2[MessageName2["STACK_OVERFLOW_RESOLUTION"] = 45] = "STACK_OVERFLOW_RESOLUTION"; MessageName2[MessageName2["AUTOMERGE_FAILED_TO_PARSE"] = 46] = "AUTOMERGE_FAILED_TO_PARSE"; MessageName2[MessageName2["AUTOMERGE_IMMUTABLE"] = 47] = "AUTOMERGE_IMMUTABLE"; MessageName2[MessageName2["AUTOMERGE_SUCCESS"] = 48] = "AUTOMERGE_SUCCESS"; MessageName2[MessageName2["AUTOMERGE_REQUIRED"] = 49] = "AUTOMERGE_REQUIRED"; MessageName2[MessageName2["DEPRECATED_CLI_SETTINGS"] = 50] = "DEPRECATED_CLI_SETTINGS"; MessageName2[MessageName2["PLUGIN_NAME_NOT_FOUND"] = 51] = "PLUGIN_NAME_NOT_FOUND"; MessageName2[MessageName2["INVALID_PLUGIN_REFERENCE"] = 52] = "INVALID_PLUGIN_REFERENCE"; MessageName2[MessageName2["CONSTRAINTS_AMBIGUITY"] = 53] = "CONSTRAINTS_AMBIGUITY"; MessageName2[MessageName2["CACHE_OUTSIDE_PROJECT"] = 54] = "CACHE_OUTSIDE_PROJECT"; MessageName2[MessageName2["IMMUTABLE_INSTALL"] = 55] = "IMMUTABLE_INSTALL"; MessageName2[MessageName2["IMMUTABLE_CACHE"] = 56] = "IMMUTABLE_CACHE"; MessageName2[MessageName2["INVALID_MANIFEST"] = 57] = "INVALID_MANIFEST"; MessageName2[MessageName2["PACKAGE_PREPARATION_FAILED"] = 58] = "PACKAGE_PREPARATION_FAILED"; MessageName2[MessageName2["INVALID_RANGE_PEER_DEPENDENCY"] = 59] = "INVALID_RANGE_PEER_DEPENDENCY"; MessageName2[MessageName2["INCOMPATIBLE_PEER_DEPENDENCY"] = 60] = "INCOMPATIBLE_PEER_DEPENDENCY"; MessageName2[MessageName2["DEPRECATED_PACKAGE"] = 61] = "DEPRECATED_PACKAGE"; MessageName2[MessageName2["INCOMPATIBLE_OS"] = 62] = "INCOMPATIBLE_OS"; MessageName2[MessageName2["INCOMPATIBLE_CPU"] = 63] = "INCOMPATIBLE_CPU"; MessageName2[MessageName2["FROZEN_ARTIFACT_EXCEPTION"] = 64] = "FROZEN_ARTIFACT_EXCEPTION"; MessageName2[MessageName2["TELEMETRY_NOTICE"] = 65] = "TELEMETRY_NOTICE"; MessageName2[MessageName2["PATCH_HUNK_FAILED"] = 66] = "PATCH_HUNK_FAILED"; MessageName2[MessageName2["INVALID_CONFIGURATION_VALUE"] = 67] = "INVALID_CONFIGURATION_VALUE"; MessageName2[MessageName2["UNUSED_PACKAGE_EXTENSION"] = 68] = "UNUSED_PACKAGE_EXTENSION"; MessageName2[MessageName2["REDUNDANT_PACKAGE_EXTENSION"] = 69] = "REDUNDANT_PACKAGE_EXTENSION"; MessageName2[MessageName2["AUTO_NM_SUCCESS"] = 70] = "AUTO_NM_SUCCESS"; MessageName2[MessageName2["NM_CANT_INSTALL_EXTERNAL_SOFT_LINK"] = 71] = "NM_CANT_INSTALL_EXTERNAL_SOFT_LINK"; MessageName2[MessageName2["NM_PRESERVE_SYMLINKS_REQUIRED"] = 72] = "NM_PRESERVE_SYMLINKS_REQUIRED"; MessageName2[MessageName2["UPDATE_LOCKFILE_ONLY_SKIP_LINK"] = 73] = "UPDATE_LOCKFILE_ONLY_SKIP_LINK"; MessageName2[MessageName2["NM_HARDLINKS_MODE_DOWNGRADED"] = 74] = "NM_HARDLINKS_MODE_DOWNGRADED"; MessageName2[MessageName2["PROLOG_INSTANTIATION_ERROR"] = 75] = "PROLOG_INSTANTIATION_ERROR"; MessageName2[MessageName2["INCOMPATIBLE_ARCHITECTURE"] = 76] = "INCOMPATIBLE_ARCHITECTURE"; MessageName2[MessageName2["GHOST_ARCHITECTURE"] = 77] = "GHOST_ARCHITECTURE"; MessageName2[MessageName2["RESOLUTION_MISMATCH"] = 78] = "RESOLUTION_MISMATCH"; MessageName2[MessageName2["PROLOG_LIMIT_EXCEEDED"] = 79] = "PROLOG_LIMIT_EXCEEDED"; MessageName2[MessageName2["NETWORK_DISABLED"] = 80] = "NETWORK_DISABLED"; MessageName2[MessageName2["NETWORK_UNSAFE_HTTP"] = 81] = "NETWORK_UNSAFE_HTTP"; MessageName2[MessageName2["RESOLUTION_FAILED"] = 82] = "RESOLUTION_FAILED"; MessageName2[MessageName2["AUTOMERGE_GIT_ERROR"] = 83] = "AUTOMERGE_GIT_ERROR"; MessageName2[MessageName2["CONSTRAINTS_CHECK_FAILED"] = 84] = "CONSTRAINTS_CHECK_FAILED"; MessageName2[MessageName2["UPDATED_RESOLUTION_RECORD"] = 85] = "UPDATED_RESOLUTION_RECORD"; MessageName2[MessageName2["EXPLAIN_PEER_DEPENDENCIES_CTA"] = 86] = "EXPLAIN_PEER_DEPENDENCIES_CTA"; MessageName2[MessageName2["MIGRATION_SUCCESS"] = 87] = "MIGRATION_SUCCESS"; MessageName2[MessageName2["VERSION_NOTICE"] = 88] = "VERSION_NOTICE"; MessageName2[MessageName2["TIPS_NOTICE"] = 89] = "TIPS_NOTICE"; MessageName2[MessageName2["OFFLINE_MODE_ENABLED"] = 90] = "OFFLINE_MODE_ENABLED"; })(MessageName || (exports2.MessageName = MessageName = {})); function stringifyMessageName(name) { return `YN${name.toString(10).padStart(4, `0`)}`; } function parseMessageName(messageName) { const parsed = Number(messageName.slice(2)); if (typeof MessageName[parsed] === `undefined`) throw new Error(`Unknown message name: "${messageName}"`); return parsed; } } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheClear.js var require_listCacheClear = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheClear.js"(exports2, module2) { function listCacheClear() { this.__data__ = []; this.size = 0; } module2.exports = listCacheClear; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/eq.js var require_eq2 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/eq.js"(exports2, module2) { function eq(value, other) { return value === other || value !== value && other !== other; } module2.exports = eq; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js var require_assocIndexOf = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js"(exports2, module2) { var eq = require_eq2(); function assocIndexOf(array, key) { var length = array.length; while (length--) { if (eq(array[length][0], key)) { return length; } } return -1; } module2.exports = assocIndexOf; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js var require_listCacheDelete = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js"(exports2, module2) { var assocIndexOf = require_assocIndexOf(); var arrayProto = Array.prototype; var splice = arrayProto.splice; function listCacheDelete(key) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { return false; } var lastIndex = data.length - 1; if (index == lastIndex) { data.pop(); } else { splice.call(data, index, 1); } --this.size; return true; } module2.exports = listCacheDelete; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheGet.js var require_listCacheGet = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheGet.js"(exports2, module2) { var assocIndexOf = require_assocIndexOf(); function listCacheGet(key) { var data = this.__data__, index = assocIndexOf(data, key); return index < 0 ? void 0 : data[index][1]; } module2.exports = listCacheGet; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheHas.js var require_listCacheHas = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheHas.js"(exports2, module2) { var assocIndexOf = require_assocIndexOf(); function listCacheHas(key) { return assocIndexOf(this.__data__, key) > -1; } module2.exports = listCacheHas; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheSet.js var require_listCacheSet = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheSet.js"(exports2, module2) { var assocIndexOf = require_assocIndexOf(); function listCacheSet(key, value) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { ++this.size; data.push([key, value]); } else { data[index][1] = value; } return this; } module2.exports = listCacheSet; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_ListCache.js var require_ListCache = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_ListCache.js"(exports2, module2) { var listCacheClear = require_listCacheClear(); var listCacheDelete = require_listCacheDelete(); var listCacheGet = require_listCacheGet(); var listCacheHas = require_listCacheHas(); var listCacheSet = require_listCacheSet(); function ListCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } ListCache.prototype.clear = listCacheClear; ListCache.prototype["delete"] = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; module2.exports = ListCache; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackClear.js var require_stackClear = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackClear.js"(exports2, module2) { var ListCache = require_ListCache(); function stackClear() { this.__data__ = new ListCache(); this.size = 0; } module2.exports = stackClear; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackDelete.js var require_stackDelete = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackDelete.js"(exports2, module2) { function stackDelete(key) { var data = this.__data__, result2 = data["delete"](key); this.size = data.size; return result2; } module2.exports = stackDelete; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackGet.js var require_stackGet = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackGet.js"(exports2, module2) { function stackGet(key) { return this.__data__.get(key); } module2.exports = stackGet; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackHas.js var require_stackHas = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackHas.js"(exports2, module2) { function stackHas(key) { return this.__data__.has(key); } module2.exports = stackHas; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js var require_freeGlobal = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js"(exports2, module2) { var freeGlobal = typeof global == "object" && global && global.Object === Object && global; module2.exports = freeGlobal; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js var require_root = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js"(exports2, module2) { var freeGlobal = require_freeGlobal(); var freeSelf = typeof self == "object" && self && self.Object === Object && self; var root = freeGlobal || freeSelf || Function("return this")(); module2.exports = root; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js var require_Symbol = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js"(exports2, module2) { var root = require_root(); var Symbol2 = root.Symbol; module2.exports = Symbol2; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js var require_getRawTag = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js"(exports2, module2) { var Symbol2 = require_Symbol(); var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; var nativeObjectToString = objectProto.toString; var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0; function getRawTag(value) { var isOwn = hasOwnProperty2.call(value, symToStringTag), tag = value[symToStringTag]; try { value[symToStringTag] = void 0; var unmasked = true; } catch (e) { } var result2 = nativeObjectToString.call(value); if (unmasked) { if (isOwn) { value[symToStringTag] = tag; } else { delete value[symToStringTag]; } } return result2; } module2.exports = getRawTag; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js var require_objectToString = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js"(exports2, module2) { var objectProto = Object.prototype; var nativeObjectToString = objectProto.toString; function objectToString(value) { return nativeObjectToString.call(value); } module2.exports = objectToString; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js var require_baseGetTag = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js"(exports2, module2) { var Symbol2 = require_Symbol(); var getRawTag = require_getRawTag(); var objectToString = require_objectToString(); var nullTag = "[object Null]"; var undefinedTag = "[object Undefined]"; var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0; function baseGetTag(value) { if (value == null) { return value === void 0 ? undefinedTag : nullTag; } return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); } module2.exports = baseGetTag; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js var require_isObject2 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js"(exports2, module2) { function isObject(value) { var type = typeof value; return value != null && (type == "object" || type == "function"); } module2.exports = isObject; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js var require_isFunction3 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js"(exports2, module2) { var baseGetTag = require_baseGetTag(); var isObject = require_isObject2(); var asyncTag = "[object AsyncFunction]"; var funcTag = "[object Function]"; var genTag = "[object GeneratorFunction]"; var proxyTag = "[object Proxy]"; function isFunction(value) { if (!isObject(value)) { return false; } var tag = baseGetTag(value); return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; } module2.exports = isFunction; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_coreJsData.js var require_coreJsData = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_coreJsData.js"(exports2, module2) { var root = require_root(); var coreJsData = root["__core-js_shared__"]; module2.exports = coreJsData; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isMasked.js var require_isMasked = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isMasked.js"(exports2, module2) { var coreJsData = require_coreJsData(); var maskSrcKey = (function() { var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ""); return uid ? "Symbol(src)_1." + uid : ""; })(); function isMasked(func) { return !!maskSrcKey && maskSrcKey in func; } module2.exports = isMasked; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toSource.js var require_toSource = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toSource.js"(exports2, module2) { var funcProto = Function.prototype; var funcToString = funcProto.toString; function toSource(func) { if (func != null) { try { return funcToString.call(func); } catch (e) { } try { return func + ""; } catch (e) { } } return ""; } module2.exports = toSource; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsNative.js var require_baseIsNative = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsNative.js"(exports2, module2) { var isFunction = require_isFunction3(); var isMasked = require_isMasked(); var isObject = require_isObject2(); var toSource = require_toSource(); var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; var reIsHostCtor = /^\[object .+?Constructor\]$/; var funcProto = Function.prototype; var objectProto = Object.prototype; var funcToString = funcProto.toString; var hasOwnProperty2 = objectProto.hasOwnProperty; var reIsNative = RegExp( "^" + funcToString.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ); function baseIsNative(value) { if (!isObject(value) || isMasked(value)) { return false; } var pattern = isFunction(value) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)); } module2.exports = baseIsNative; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getValue.js var require_getValue = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getValue.js"(exports2, module2) { function getValue(object, key) { return object == null ? void 0 : object[key]; } module2.exports = getValue; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getNative.js var require_getNative = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getNative.js"(exports2, module2) { var baseIsNative = require_baseIsNative(); var getValue = require_getValue(); function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : void 0; } module2.exports = getNative; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Map.js var require_Map = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Map.js"(exports2, module2) { var getNative = require_getNative(); var root = require_root(); var Map2 = getNative(root, "Map"); module2.exports = Map2; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeCreate.js var require_nativeCreate = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeCreate.js"(exports2, module2) { var getNative = require_getNative(); var nativeCreate = getNative(Object, "create"); module2.exports = nativeCreate; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashClear.js var require_hashClear = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashClear.js"(exports2, module2) { var nativeCreate = require_nativeCreate(); function hashClear() { this.__data__ = nativeCreate ? nativeCreate(null) : {}; this.size = 0; } module2.exports = hashClear; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashDelete.js var require_hashDelete = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashDelete.js"(exports2, module2) { function hashDelete(key) { var result2 = this.has(key) && delete this.__data__[key]; this.size -= result2 ? 1 : 0; return result2; } module2.exports = hashDelete; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashGet.js var require_hashGet = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashGet.js"(exports2, module2) { var nativeCreate = require_nativeCreate(); var HASH_UNDEFINED = "__lodash_hash_undefined__"; var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; function hashGet(key) { var data = this.__data__; if (nativeCreate) { var result2 = data[key]; return result2 === HASH_UNDEFINED ? void 0 : result2; } return hasOwnProperty2.call(data, key) ? data[key] : void 0; } module2.exports = hashGet; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashHas.js var require_hashHas = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashHas.js"(exports2, module2) { var nativeCreate = require_nativeCreate(); var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; function hashHas(key) { var data = this.__data__; return nativeCreate ? data[key] !== void 0 : hasOwnProperty2.call(data, key); } module2.exports = hashHas; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashSet.js var require_hashSet = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashSet.js"(exports2, module2) { var nativeCreate = require_nativeCreate(); var HASH_UNDEFINED = "__lodash_hash_undefined__"; function hashSet(key, value) { var data = this.__data__; this.size += this.has(key) ? 0 : 1; data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value; return this; } module2.exports = hashSet; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Hash.js var require_Hash = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Hash.js"(exports2, module2) { var hashClear = require_hashClear(); var hashDelete = require_hashDelete(); var hashGet = require_hashGet(); var hashHas = require_hashHas(); var hashSet = require_hashSet(); function Hash(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } Hash.prototype.clear = hashClear; Hash.prototype["delete"] = hashDelete; Hash.prototype.get = hashGet; Hash.prototype.has = hashHas; Hash.prototype.set = hashSet; module2.exports = Hash; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js var require_mapCacheClear = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js"(exports2, module2) { var Hash = require_Hash(); var ListCache = require_ListCache(); var Map2 = require_Map(); function mapCacheClear() { this.size = 0; this.__data__ = { "hash": new Hash(), "map": new (Map2 || ListCache)(), "string": new Hash() }; } module2.exports = mapCacheClear; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKeyable.js var require_isKeyable = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKeyable.js"(exports2, module2) { function isKeyable(value) { var type = typeof value; return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; } module2.exports = isKeyable; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getMapData.js var require_getMapData = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getMapData.js"(exports2, module2) { var isKeyable = require_isKeyable(); function getMapData(map, key) { var data = map.__data__; return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; } module2.exports = getMapData; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js var require_mapCacheDelete = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js"(exports2, module2) { var getMapData = require_getMapData(); function mapCacheDelete(key) { var result2 = getMapData(this, key)["delete"](key); this.size -= result2 ? 1 : 0; return result2; } module2.exports = mapCacheDelete; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js var require_mapCacheGet = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js"(exports2, module2) { var getMapData = require_getMapData(); function mapCacheGet(key) { return getMapData(this, key).get(key); } module2.exports = mapCacheGet; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js var require_mapCacheHas = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js"(exports2, module2) { var getMapData = require_getMapData(); function mapCacheHas(key) { return getMapData(this, key).has(key); } module2.exports = mapCacheHas; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js var require_mapCacheSet = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js"(exports2, module2) { var getMapData = require_getMapData(); function mapCacheSet(key, value) { var data = getMapData(this, key), size = data.size; data.set(key, value); this.size += data.size == size ? 0 : 1; return this; } module2.exports = mapCacheSet; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_MapCache.js var require_MapCache = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_MapCache.js"(exports2, module2) { var mapCacheClear = require_mapCacheClear(); var mapCacheDelete = require_mapCacheDelete(); var mapCacheGet = require_mapCacheGet(); var mapCacheHas = require_mapCacheHas(); var mapCacheSet = require_mapCacheSet(); function MapCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } MapCache.prototype.clear = mapCacheClear; MapCache.prototype["delete"] = mapCacheDelete; MapCache.prototype.get = mapCacheGet; MapCache.prototype.has = mapCacheHas; MapCache.prototype.set = mapCacheSet; module2.exports = MapCache; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackSet.js var require_stackSet = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackSet.js"(exports2, module2) { var ListCache = require_ListCache(); var Map2 = require_Map(); var MapCache = require_MapCache(); var LARGE_ARRAY_SIZE = 200; function stackSet(key, value) { var data = this.__data__; if (data instanceof ListCache) { var pairs = data.__data__; if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) { pairs.push([key, value]); this.size = ++data.size; return this; } data = this.__data__ = new MapCache(pairs); } data.set(key, value); this.size = data.size; return this; } module2.exports = stackSet; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Stack.js var require_Stack = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Stack.js"(exports2, module2) { var ListCache = require_ListCache(); var stackClear = require_stackClear(); var stackDelete = require_stackDelete(); var stackGet = require_stackGet(); var stackHas = require_stackHas(); var stackSet = require_stackSet(); function Stack(entries) { var data = this.__data__ = new ListCache(entries); this.size = data.size; } Stack.prototype.clear = stackClear; Stack.prototype["delete"] = stackDelete; Stack.prototype.get = stackGet; Stack.prototype.has = stackHas; Stack.prototype.set = stackSet; module2.exports = Stack; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheAdd.js var require_setCacheAdd = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheAdd.js"(exports2, module2) { var HASH_UNDEFINED = "__lodash_hash_undefined__"; function setCacheAdd(value) { this.__data__.set(value, HASH_UNDEFINED); return this; } module2.exports = setCacheAdd; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheHas.js var require_setCacheHas = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheHas.js"(exports2, module2) { function setCacheHas(value) { return this.__data__.has(value); } module2.exports = setCacheHas; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_SetCache.js var require_SetCache = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_SetCache.js"(exports2, module2) { var MapCache = require_MapCache(); var setCacheAdd = require_setCacheAdd(); var setCacheHas = require_setCacheHas(); function SetCache(values) { var index = -1, length = values == null ? 0 : values.length; this.__data__ = new MapCache(); while (++index < length) { this.add(values[index]); } } SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; SetCache.prototype.has = setCacheHas; module2.exports = SetCache; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arraySome.js var require_arraySome = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arraySome.js"(exports2, module2) { function arraySome(array, predicate) { var index = -1, length = array == null ? 0 : array.length; while (++index < length) { if (predicate(array[index], index, array)) { return true; } } return false; } module2.exports = arraySome; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cacheHas.js var require_cacheHas = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cacheHas.js"(exports2, module2) { function cacheHas(cache, key) { return cache.has(key); } module2.exports = cacheHas; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalArrays.js var require_equalArrays = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalArrays.js"(exports2, module2) { var SetCache = require_SetCache(); var arraySome = require_arraySome(); var cacheHas = require_cacheHas(); var COMPARE_PARTIAL_FLAG = 1; var COMPARE_UNORDERED_FLAG = 2; function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length; if (arrLength != othLength && !(isPartial && othLength > arrLength)) { return false; } var arrStacked = stack.get(array); var othStacked = stack.get(other); if (arrStacked && othStacked) { return arrStacked == other && othStacked == array; } var index = -1, result2 = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : void 0; stack.set(array, other); stack.set(other, array); while (++index < arrLength) { var arrValue = array[index], othValue = other[index]; if (customizer) { var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); } if (compared !== void 0) { if (compared) { continue; } result2 = false; break; } if (seen) { if (!arraySome(other, function(othValue2, othIndex) { if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) { return seen.push(othIndex); } })) { result2 = false; break; } } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { result2 = false; break; } } stack["delete"](array); stack["delete"](other); return result2; } module2.exports = equalArrays; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Uint8Array.js var require_Uint8Array = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Uint8Array.js"(exports2, module2) { var root = require_root(); var Uint8Array2 = root.Uint8Array; module2.exports = Uint8Array2; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapToArray.js var require_mapToArray = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapToArray.js"(exports2, module2) { function mapToArray(map) { var index = -1, result2 = Array(map.size); map.forEach(function(value, key) { result2[++index] = [key, value]; }); return result2; } module2.exports = mapToArray; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToArray.js var require_setToArray = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToArray.js"(exports2, module2) { function setToArray(set) { var index = -1, result2 = Array(set.size); set.forEach(function(value) { result2[++index] = value; }); return result2; } module2.exports = setToArray; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalByTag.js var require_equalByTag = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalByTag.js"(exports2, module2) { var Symbol2 = require_Symbol(); var Uint8Array2 = require_Uint8Array(); var eq = require_eq2(); var equalArrays = require_equalArrays(); var mapToArray = require_mapToArray(); var setToArray = require_setToArray(); var COMPARE_PARTIAL_FLAG = 1; var COMPARE_UNORDERED_FLAG = 2; var boolTag = "[object Boolean]"; var dateTag = "[object Date]"; var errorTag = "[object Error]"; var mapTag = "[object Map]"; var numberTag = "[object Number]"; var regexpTag = "[object RegExp]"; var setTag = "[object Set]"; var stringTag = "[object String]"; var symbolTag = "[object Symbol]"; var arrayBufferTag = "[object ArrayBuffer]"; var dataViewTag = "[object DataView]"; var symbolProto = Symbol2 ? Symbol2.prototype : void 0; var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0; function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { switch (tag) { case dataViewTag: if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { return false; } object = object.buffer; other = other.buffer; case arrayBufferTag: if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) { return false; } return true; case boolTag: case dateTag: case numberTag: return eq(+object, +other); case errorTag: return object.name == other.name && object.message == other.message; case regexpTag: case stringTag: return object == other + ""; case mapTag: var convert = mapToArray; case setTag: var isPartial = bitmask & COMPARE_PARTIAL_FLAG; convert || (convert = setToArray); if (object.size != other.size && !isPartial) { return false; } var stacked = stack.get(object); if (stacked) { return stacked == other; } bitmask |= COMPARE_UNORDERED_FLAG; stack.set(object, other); var result2 = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); stack["delete"](object); return result2; case symbolTag: if (symbolValueOf) { return symbolValueOf.call(object) == symbolValueOf.call(other); } } return false; } module2.exports = equalByTag; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayPush.js var require_arrayPush = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayPush.js"(exports2, module2) { function arrayPush(array, values) { var index = -1, length = values.length, offset = array.length; while (++index < length) { array[offset + index] = values[index]; } return array; } module2.exports = arrayPush; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArray.js var require_isArray2 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArray.js"(exports2, module2) { var isArray = Array.isArray; module2.exports = isArray; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetAllKeys.js var require_baseGetAllKeys = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetAllKeys.js"(exports2, module2) { var arrayPush = require_arrayPush(); var isArray = require_isArray2(); function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result2 = keysFunc(object); return isArray(object) ? result2 : arrayPush(result2, symbolsFunc(object)); } module2.exports = baseGetAllKeys; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayFilter.js var require_arrayFilter = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayFilter.js"(exports2, module2) { function arrayFilter(array, predicate) { var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result2 = []; while (++index < length) { var value = array[index]; if (predicate(value, index, array)) { result2[resIndex++] = value; } } return result2; } module2.exports = arrayFilter; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubArray.js var require_stubArray = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubArray.js"(exports2, module2) { function stubArray() { return []; } module2.exports = stubArray; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getSymbols.js var require_getSymbols = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getSymbols.js"(exports2, module2) { var arrayFilter = require_arrayFilter(); var stubArray = require_stubArray(); var objectProto = Object.prototype; var propertyIsEnumerable = objectProto.propertyIsEnumerable; var nativeGetSymbols = Object.getOwnPropertySymbols; var getSymbols = !nativeGetSymbols ? stubArray : function(object) { if (object == null) { return []; } object = Object(object); return arrayFilter(nativeGetSymbols(object), function(symbol) { return propertyIsEnumerable.call(object, symbol); }); }; module2.exports = getSymbols; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTimes.js var require_baseTimes = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTimes.js"(exports2, module2) { function baseTimes(n, iteratee) { var index = -1, result2 = Array(n); while (++index < n) { result2[index] = iteratee(index); } return result2; } module2.exports = baseTimes; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js var require_isObjectLike = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js"(exports2, module2) { function isObjectLike(value) { return value != null && typeof value == "object"; } module2.exports = isObjectLike; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsArguments.js var require_baseIsArguments = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsArguments.js"(exports2, module2) { var baseGetTag = require_baseGetTag(); var isObjectLike = require_isObjectLike(); var argsTag = "[object Arguments]"; function baseIsArguments(value) { return isObjectLike(value) && baseGetTag(value) == argsTag; } module2.exports = baseIsArguments; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArguments.js var require_isArguments2 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArguments.js"(exports2, module2) { var baseIsArguments = require_baseIsArguments(); var isObjectLike = require_isObjectLike(); var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; var propertyIsEnumerable = objectProto.propertyIsEnumerable; var isArguments = baseIsArguments(/* @__PURE__ */ (function() { return arguments; })()) ? baseIsArguments : function(value) { return isObjectLike(value) && hasOwnProperty2.call(value, "callee") && !propertyIsEnumerable.call(value, "callee"); }; module2.exports = isArguments; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubFalse.js var require_stubFalse = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubFalse.js"(exports2, module2) { function stubFalse() { return false; } module2.exports = stubFalse; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isBuffer.js var require_isBuffer = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isBuffer.js"(exports2, module2) { var root = require_root(); var stubFalse = require_stubFalse(); var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; var moduleExports = freeModule && freeModule.exports === freeExports; var Buffer2 = moduleExports ? root.Buffer : void 0; var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0; var isBuffer = nativeIsBuffer || stubFalse; module2.exports = isBuffer; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIndex.js var require_isIndex = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIndex.js"(exports2, module2) { var MAX_SAFE_INTEGER = 9007199254740991; var reIsUint = /^(?:0|[1-9]\d*)$/; function isIndex(value, length) { var type = typeof value; length = length == null ? MAX_SAFE_INTEGER : length; return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); } module2.exports = isIndex; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isLength.js var require_isLength = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isLength.js"(exports2, module2) { var MAX_SAFE_INTEGER = 9007199254740991; function isLength(value) { return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } module2.exports = isLength; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsTypedArray.js var require_baseIsTypedArray = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) { var baseGetTag = require_baseGetTag(); var isLength = require_isLength(); var isObjectLike = require_isObjectLike(); var argsTag = "[object Arguments]"; var arrayTag = "[object Array]"; var boolTag = "[object Boolean]"; var dateTag = "[object Date]"; var errorTag = "[object Error]"; var funcTag = "[object Function]"; var mapTag = "[object Map]"; var numberTag = "[object Number]"; var objectTag = "[object Object]"; var regexpTag = "[object RegExp]"; var setTag = "[object Set]"; var stringTag = "[object String]"; var weakMapTag = "[object WeakMap]"; var arrayBufferTag = "[object ArrayBuffer]"; var dataViewTag = "[object DataView]"; var float32Tag = "[object Float32Array]"; var float64Tag = "[object Float64Array]"; var int8Tag = "[object Int8Array]"; var int16Tag = "[object Int16Array]"; var int32Tag = "[object Int32Array]"; var uint8Tag = "[object Uint8Array]"; var uint8ClampedTag = "[object Uint8ClampedArray]"; var uint16Tag = "[object Uint16Array]"; var uint32Tag = "[object Uint32Array]"; var typedArrayTags = {}; typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; function baseIsTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } module2.exports = baseIsTypedArray; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseUnary.js var require_baseUnary = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseUnary.js"(exports2, module2) { function baseUnary(func) { return function(value) { return func(value); }; } module2.exports = baseUnary; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nodeUtil.js var require_nodeUtil = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nodeUtil.js"(exports2, module2) { var freeGlobal = require_freeGlobal(); var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; var moduleExports = freeModule && freeModule.exports === freeExports; var freeProcess = moduleExports && freeGlobal.process; var nodeUtil = (function() { try { var types = freeModule && freeModule.require && freeModule.require("util").types; if (types) { return types; } return freeProcess && freeProcess.binding && freeProcess.binding("util"); } catch (e) { } })(); module2.exports = nodeUtil; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isTypedArray.js var require_isTypedArray2 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isTypedArray.js"(exports2, module2) { var baseIsTypedArray = require_baseIsTypedArray(); var baseUnary = require_baseUnary(); var nodeUtil = require_nodeUtil(); var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; module2.exports = isTypedArray; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayLikeKeys.js var require_arrayLikeKeys = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) { var baseTimes = require_baseTimes(); var isArguments = require_isArguments2(); var isArray = require_isArray2(); var isBuffer = require_isBuffer(); var isIndex = require_isIndex(); var isTypedArray = require_isTypedArray2(); var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; function arrayLikeKeys(value, inherited) { var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result2 = skipIndexes ? baseTimes(value.length, String) : [], length = result2.length; for (var key in value) { if ((inherited || hasOwnProperty2.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode. (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties. isIndex(key, length)))) { result2.push(key); } } return result2; } module2.exports = arrayLikeKeys; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isPrototype.js var require_isPrototype = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isPrototype.js"(exports2, module2) { var objectProto = Object.prototype; function isPrototype(value) { var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto; return value === proto; } module2.exports = isPrototype; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overArg.js var require_overArg = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overArg.js"(exports2, module2) { function overArg(func, transform) { return function(arg) { return func(transform(arg)); }; } module2.exports = overArg; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeys.js var require_nativeKeys = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeys.js"(exports2, module2) { var overArg = require_overArg(); var nativeKeys = overArg(Object.keys, Object); module2.exports = nativeKeys; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeys.js var require_baseKeys = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeys.js"(exports2, module2) { var isPrototype = require_isPrototype(); var nativeKeys = require_nativeKeys(); var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; function baseKeys(object) { if (!isPrototype(object)) { return nativeKeys(object); } var result2 = []; for (var key in Object(object)) { if (hasOwnProperty2.call(object, key) && key != "constructor") { result2.push(key); } } return result2; } module2.exports = baseKeys; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLike.js var require_isArrayLike3 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLike.js"(exports2, module2) { var isFunction = require_isFunction3(); var isLength = require_isLength(); function isArrayLike(value) { return value != null && isLength(value.length) && !isFunction(value); } module2.exports = isArrayLike; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keys.js var require_keys2 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keys.js"(exports2, module2) { var arrayLikeKeys = require_arrayLikeKeys(); var baseKeys = require_baseKeys(); var isArrayLike = require_isArrayLike3(); function keys(object) { return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); } module2.exports = keys; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getAllKeys.js var require_getAllKeys = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getAllKeys.js"(exports2, module2) { var baseGetAllKeys = require_baseGetAllKeys(); var getSymbols = require_getSymbols(); var keys = require_keys2(); function getAllKeys(object) { return baseGetAllKeys(object, keys, getSymbols); } module2.exports = getAllKeys; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalObjects.js var require_equalObjects = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalObjects.js"(exports2, module2) { var getAllKeys = require_getAllKeys(); var COMPARE_PARTIAL_FLAG = 1; var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; if (objLength != othLength && !isPartial) { return false; } var index = objLength; while (index--) { var key = objProps[index]; if (!(isPartial ? key in other : hasOwnProperty2.call(other, key))) { return false; } } var objStacked = stack.get(object); var othStacked = stack.get(other); if (objStacked && othStacked) { return objStacked == other && othStacked == object; } var result2 = true; stack.set(object, other); stack.set(other, object); var skipCtor = isPartial; while (++index < objLength) { key = objProps[index]; var objValue = object[key], othValue = other[key]; if (customizer) { var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); } if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { result2 = false; break; } skipCtor || (skipCtor = key == "constructor"); } if (result2 && !skipCtor) { var objCtor = object.constructor, othCtor = other.constructor; if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { result2 = false; } } stack["delete"](object); stack["delete"](other); return result2; } module2.exports = equalObjects; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_DataView.js var require_DataView = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_DataView.js"(exports2, module2) { var getNative = require_getNative(); var root = require_root(); var DataView2 = getNative(root, "DataView"); module2.exports = DataView2; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Promise.js var require_Promise = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Promise.js"(exports2, module2) { var getNative = require_getNative(); var root = require_root(); var Promise2 = getNative(root, "Promise"); module2.exports = Promise2; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Set.js var require_Set2 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Set.js"(exports2, module2) { var getNative = require_getNative(); var root = require_root(); var Set2 = getNative(root, "Set"); module2.exports = Set2; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_WeakMap.js var require_WeakMap = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_WeakMap.js"(exports2, module2) { var getNative = require_getNative(); var root = require_root(); var WeakMap2 = getNative(root, "WeakMap"); module2.exports = WeakMap2; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getTag.js var require_getTag = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getTag.js"(exports2, module2) { var DataView2 = require_DataView(); var Map2 = require_Map(); var Promise2 = require_Promise(); var Set2 = require_Set2(); var WeakMap2 = require_WeakMap(); var baseGetTag = require_baseGetTag(); var toSource = require_toSource(); var mapTag = "[object Map]"; var objectTag = "[object Object]"; var promiseTag = "[object Promise]"; var setTag = "[object Set]"; var weakMapTag = "[object WeakMap]"; var dataViewTag = "[object DataView]"; var dataViewCtorString = toSource(DataView2); var mapCtorString = toSource(Map2); var promiseCtorString = toSource(Promise2); var setCtorString = toSource(Set2); var weakMapCtorString = toSource(WeakMap2); var getTag = baseGetTag; if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) { getTag = function(value) { var result2 = baseGetTag(value), Ctor = result2 == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : ""; if (ctorString) { switch (ctorString) { case dataViewCtorString: return dataViewTag; case mapCtorString: return mapTag; case promiseCtorString: return promiseTag; case setCtorString: return setTag; case weakMapCtorString: return weakMapTag; } } return result2; }; } module2.exports = getTag; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqualDeep.js var require_baseIsEqualDeep = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqualDeep.js"(exports2, module2) { var Stack = require_Stack(); var equalArrays = require_equalArrays(); var equalByTag = require_equalByTag(); var equalObjects = require_equalObjects(); var getTag = require_getTag(); var isArray = require_isArray2(); var isBuffer = require_isBuffer(); var isTypedArray = require_isTypedArray2(); var COMPARE_PARTIAL_FLAG = 1; var argsTag = "[object Arguments]"; var arrayTag = "[object Array]"; var objectTag = "[object Object]"; var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other); objTag = objTag == argsTag ? objectTag : objTag; othTag = othTag == argsTag ? objectTag : othTag; var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; if (isSameTag && isBuffer(object)) { if (!isBuffer(other)) { return false; } objIsArr = true; objIsObj = false; } if (isSameTag && !objIsObj) { stack || (stack = new Stack()); return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); } if (!(bitmask & COMPARE_PARTIAL_FLAG)) { var objIsWrapped = objIsObj && hasOwnProperty2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__"); if (objIsWrapped || othIsWrapped) { var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; stack || (stack = new Stack()); return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); } } if (!isSameTag) { return false; } stack || (stack = new Stack()); return equalObjects(object, other, bitmask, customizer, equalFunc, stack); } module2.exports = baseIsEqualDeep; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqual.js var require_baseIsEqual = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqual.js"(exports2, module2) { var baseIsEqualDeep = require_baseIsEqualDeep(); var isObjectLike = require_isObjectLike(); function baseIsEqual(value, other, bitmask, customizer, stack) { if (value === other) { return true; } if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { return value !== value && other !== other; } return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); } module2.exports = baseIsEqual; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isEqual.js var require_isEqual = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isEqual.js"(exports2, module2) { var baseIsEqual = require_baseIsEqual(); function isEqual(value, other) { return baseIsEqual(value, other); } module2.exports = isEqual; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_defineProperty.js var require_defineProperty = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_defineProperty.js"(exports2, module2) { var getNative = require_getNative(); var defineProperty = (function() { try { var func = getNative(Object, "defineProperty"); func({}, "", {}); return func; } catch (e) { } })(); module2.exports = defineProperty; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseAssignValue.js var require_baseAssignValue = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseAssignValue.js"(exports2, module2) { var defineProperty = require_defineProperty(); function baseAssignValue(object, key, value) { if (key == "__proto__" && defineProperty) { defineProperty(object, key, { "configurable": true, "enumerable": true, "value": value, "writable": true }); } else { object[key] = value; } } module2.exports = baseAssignValue; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignMergeValue.js var require_assignMergeValue = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignMergeValue.js"(exports2, module2) { var baseAssignValue = require_baseAssignValue(); var eq = require_eq2(); function assignMergeValue(object, key, value) { if (value !== void 0 && !eq(object[key], value) || value === void 0 && !(key in object)) { baseAssignValue(object, key, value); } } module2.exports = assignMergeValue; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createBaseFor.js var require_createBaseFor = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createBaseFor.js"(exports2, module2) { function createBaseFor(fromRight) { return function(object, iteratee, keysFunc) { var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length; while (length--) { var key = props[fromRight ? length : ++index]; if (iteratee(iterable[key], key, iterable) === false) { break; } } return object; }; } module2.exports = createBaseFor; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFor.js var require_baseFor = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFor.js"(exports2, module2) { var createBaseFor = require_createBaseFor(); var baseFor = createBaseFor(); module2.exports = baseFor; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneBuffer.js var require_cloneBuffer = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneBuffer.js"(exports2, module2) { var root = require_root(); var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2; var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2; var moduleExports = freeModule && freeModule.exports === freeExports; var Buffer2 = moduleExports ? root.Buffer : void 0; var allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : void 0; function cloneBuffer(buffer, isDeep) { if (isDeep) { return buffer.slice(); } var length = buffer.length, result2 = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); buffer.copy(result2); return result2; } module2.exports = cloneBuffer; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneArrayBuffer.js var require_cloneArrayBuffer = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneArrayBuffer.js"(exports2, module2) { var Uint8Array2 = require_Uint8Array(); function cloneArrayBuffer(arrayBuffer) { var result2 = new arrayBuffer.constructor(arrayBuffer.byteLength); new Uint8Array2(result2).set(new Uint8Array2(arrayBuffer)); return result2; } module2.exports = cloneArrayBuffer; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneTypedArray.js var require_cloneTypedArray = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneTypedArray.js"(exports2, module2) { var cloneArrayBuffer = require_cloneArrayBuffer(); function cloneTypedArray(typedArray, isDeep) { var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); } module2.exports = cloneTypedArray; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyArray.js var require_copyArray = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyArray.js"(exports2, module2) { function copyArray(source, array) { var index = -1, length = source.length; array || (array = Array(length)); while (++index < length) { array[index] = source[index]; } return array; } module2.exports = copyArray; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseCreate.js var require_baseCreate = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseCreate.js"(exports2, module2) { var isObject = require_isObject2(); var objectCreate = Object.create; var baseCreate = /* @__PURE__ */ (function() { function object() { } return function(proto) { if (!isObject(proto)) { return {}; } if (objectCreate) { return objectCreate(proto); } object.prototype = proto; var result2 = new object(); object.prototype = void 0; return result2; }; })(); module2.exports = baseCreate; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getPrototype.js var require_getPrototype = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getPrototype.js"(exports2, module2) { var overArg = require_overArg(); var getPrototype = overArg(Object.getPrototypeOf, Object); module2.exports = getPrototype; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_initCloneObject.js var require_initCloneObject = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_initCloneObject.js"(exports2, module2) { var baseCreate = require_baseCreate(); var getPrototype = require_getPrototype(); var isPrototype = require_isPrototype(); function initCloneObject(object) { return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {}; } module2.exports = initCloneObject; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLikeObject.js var require_isArrayLikeObject = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLikeObject.js"(exports2, module2) { var isArrayLike = require_isArrayLike3(); var isObjectLike = require_isObjectLike(); function isArrayLikeObject(value) { return isObjectLike(value) && isArrayLike(value); } module2.exports = isArrayLikeObject; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isPlainObject.js var require_isPlainObject = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isPlainObject.js"(exports2, module2) { var baseGetTag = require_baseGetTag(); var getPrototype = require_getPrototype(); var isObjectLike = require_isObjectLike(); var objectTag = "[object Object]"; var funcProto = Function.prototype; var objectProto = Object.prototype; var funcToString = funcProto.toString; var hasOwnProperty2 = objectProto.hasOwnProperty; var objectCtorString = funcToString.call(Object); function isPlainObject(value) { if (!isObjectLike(value) || baseGetTag(value) != objectTag) { return false; } var proto = getPrototype(value); if (proto === null) { return true; } var Ctor = hasOwnProperty2.call(proto, "constructor") && proto.constructor; return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; } module2.exports = isPlainObject; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_safeGet.js var require_safeGet = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_safeGet.js"(exports2, module2) { function safeGet(object, key) { if (key === "constructor" && typeof object[key] === "function") { return; } if (key == "__proto__") { return; } return object[key]; } module2.exports = safeGet; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignValue.js var require_assignValue = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignValue.js"(exports2, module2) { var baseAssignValue = require_baseAssignValue(); var eq = require_eq2(); var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; function assignValue(object, key, value) { var objValue = object[key]; if (!(hasOwnProperty2.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) { baseAssignValue(object, key, value); } } module2.exports = assignValue; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyObject.js var require_copyObject = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyObject.js"(exports2, module2) { var assignValue = require_assignValue(); var baseAssignValue = require_baseAssignValue(); function copyObject(source, props, object, customizer) { var isNew = !object; object || (object = {}); var index = -1, length = props.length; while (++index < length) { var key = props[index]; var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0; if (newValue === void 0) { newValue = source[key]; } if (isNew) { baseAssignValue(object, key, newValue); } else { assignValue(object, key, newValue); } } return object; } module2.exports = copyObject; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeysIn.js var require_nativeKeysIn = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeysIn.js"(exports2, module2) { function nativeKeysIn(object) { var result2 = []; if (object != null) { for (var key in Object(object)) { result2.push(key); } } return result2; } module2.exports = nativeKeysIn; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeysIn.js var require_baseKeysIn = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeysIn.js"(exports2, module2) { var isObject = require_isObject2(); var isPrototype = require_isPrototype(); var nativeKeysIn = require_nativeKeysIn(); var objectProto = Object.prototype; var hasOwnProperty2 = objectProto.hasOwnProperty; function baseKeysIn(object) { if (!isObject(object)) { return nativeKeysIn(object); } var isProto = isPrototype(object), result2 = []; for (var key in object) { if (!(key == "constructor" && (isProto || !hasOwnProperty2.call(object, key)))) { result2.push(key); } } return result2; } module2.exports = baseKeysIn; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keysIn.js var require_keysIn2 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keysIn.js"(exports2, module2) { var arrayLikeKeys = require_arrayLikeKeys(); var baseKeysIn = require_baseKeysIn(); var isArrayLike = require_isArrayLike3(); function keysIn(object) { return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); } module2.exports = keysIn; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toPlainObject.js var require_toPlainObject = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toPlainObject.js"(exports2, module2) { var copyObject = require_copyObject(); var keysIn = require_keysIn2(); function toPlainObject(value) { return copyObject(value, keysIn(value)); } module2.exports = toPlainObject; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMergeDeep.js var require_baseMergeDeep = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMergeDeep.js"(exports2, module2) { var assignMergeValue = require_assignMergeValue(); var cloneBuffer = require_cloneBuffer(); var cloneTypedArray = require_cloneTypedArray(); var copyArray = require_copyArray(); var initCloneObject = require_initCloneObject(); var isArguments = require_isArguments2(); var isArray = require_isArray2(); var isArrayLikeObject = require_isArrayLikeObject(); var isBuffer = require_isBuffer(); var isFunction = require_isFunction3(); var isObject = require_isObject2(); var isPlainObject = require_isPlainObject(); var isTypedArray = require_isTypedArray2(); var safeGet = require_safeGet(); var toPlainObject = require_toPlainObject(); function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue); if (stacked) { assignMergeValue(object, key, stacked); return; } var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : void 0; var isCommon = newValue === void 0; if (isCommon) { var isArr = isArray(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue); newValue = srcValue; if (isArr || isBuff || isTyped) { if (isArray(objValue)) { newValue = objValue; } else if (isArrayLikeObject(objValue)) { newValue = copyArray(objValue); } else if (isBuff) { isCommon = false; newValue = cloneBuffer(srcValue, true); } else if (isTyped) { isCommon = false; newValue = cloneTypedArray(srcValue, true); } else { newValue = []; } } else if (isPlainObject(srcValue) || isArguments(srcValue)) { newValue = objValue; if (isArguments(objValue)) { newValue = toPlainObject(objValue); } else if (!isObject(objValue) || isFunction(objValue)) { newValue = initCloneObject(srcValue); } } else { isCommon = false; } } if (isCommon) { stack.set(srcValue, newValue); mergeFunc(newValue, srcValue, srcIndex, customizer, stack); stack["delete"](srcValue); } assignMergeValue(object, key, newValue); } module2.exports = baseMergeDeep; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMerge.js var require_baseMerge = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMerge.js"(exports2, module2) { var Stack = require_Stack(); var assignMergeValue = require_assignMergeValue(); var baseFor = require_baseFor(); var baseMergeDeep = require_baseMergeDeep(); var isObject = require_isObject2(); var keysIn = require_keysIn2(); var safeGet = require_safeGet(); function baseMerge(object, source, srcIndex, customizer, stack) { if (object === source) { return; } baseFor(source, function(srcValue, key) { stack || (stack = new Stack()); if (isObject(srcValue)) { baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); } else { var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : void 0; if (newValue === void 0) { newValue = srcValue; } assignMergeValue(object, key, newValue); } }, keysIn); } module2.exports = baseMerge; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/identity.js var require_identity4 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/identity.js"(exports2, module2) { function identity(value) { return value; } module2.exports = identity; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_apply.js var require_apply3 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_apply.js"(exports2, module2) { function apply(func, thisArg, args) { switch (args.length) { case 0: return func.call(thisArg); case 1: return func.call(thisArg, args[0]); case 2: return func.call(thisArg, args[0], args[1]); case 3: return func.call(thisArg, args[0], args[1], args[2]); } return func.apply(thisArg, args); } module2.exports = apply; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overRest.js var require_overRest = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overRest.js"(exports2, module2) { var apply = require_apply3(); var nativeMax = Math.max; function overRest(func, start, transform) { start = nativeMax(start === void 0 ? func.length - 1 : start, 0); return function() { var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length); while (++index < length) { array[index] = args[start + index]; } index = -1; var otherArgs = Array(start + 1); while (++index < start) { otherArgs[index] = args[index]; } otherArgs[start] = transform(array); return apply(func, this, otherArgs); }; } module2.exports = overRest; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/constant.js var require_constant = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/constant.js"(exports2, module2) { function constant(value) { return function() { return value; }; } module2.exports = constant; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSetToString.js var require_baseSetToString = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSetToString.js"(exports2, module2) { var constant = require_constant(); var defineProperty = require_defineProperty(); var identity = require_identity4(); var baseSetToString = !defineProperty ? identity : function(func, string) { return defineProperty(func, "toString", { "configurable": true, "enumerable": false, "value": constant(string), "writable": true }); }; module2.exports = baseSetToString; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_shortOut.js var require_shortOut = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_shortOut.js"(exports2, module2) { var HOT_COUNT = 800; var HOT_SPAN = 16; var nativeNow = Date.now; function shortOut(func) { var count = 0, lastCalled = 0; return function() { var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); lastCalled = stamp; if (remaining > 0) { if (++count >= HOT_COUNT) { return arguments[0]; } } else { count = 0; } return func.apply(void 0, arguments); }; } module2.exports = shortOut; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToString.js var require_setToString = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToString.js"(exports2, module2) { var baseSetToString = require_baseSetToString(); var shortOut = require_shortOut(); var setToString = shortOut(baseSetToString); module2.exports = setToString; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseRest.js var require_baseRest = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseRest.js"(exports2, module2) { var identity = require_identity4(); var overRest = require_overRest(); var setToString = require_setToString(); function baseRest(func, start) { return setToString(overRest(func, start, identity), func + ""); } module2.exports = baseRest; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIterateeCall.js var require_isIterateeCall = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIterateeCall.js"(exports2, module2) { var eq = require_eq2(); var isArrayLike = require_isArrayLike3(); var isIndex = require_isIndex(); var isObject = require_isObject2(); function isIterateeCall(value, index, object) { if (!isObject(object)) { return false; } var type = typeof index; if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) { return eq(object[index], value); } return false; } module2.exports = isIterateeCall; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createAssigner.js var require_createAssigner = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createAssigner.js"(exports2, module2) { var baseRest = require_baseRest(); var isIterateeCall = require_isIterateeCall(); function createAssigner(assigner) { return baseRest(function(object, sources) { var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : void 0, guard = length > 2 ? sources[2] : void 0; customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : void 0; if (guard && isIterateeCall(sources[0], sources[1], guard)) { customizer = length < 3 ? void 0 : customizer; length = 1; } object = Object(object); while (++index < length) { var source = sources[index]; if (source) { assigner(object, source, index, customizer); } } return object; }); } module2.exports = createAssigner; } }); // ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/mergeWith.js var require_mergeWith3 = __commonJS({ "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/mergeWith.js"(exports2, module2) { var baseMerge = require_baseMerge(); var createAssigner = require_createAssigner(); var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { baseMerge(object, source, srcIndex, customizer); }); module2.exports = mergeWith; } }); // ../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/miscUtils.js var require_miscUtils = __commonJS({ "../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/miscUtils.js"(exports, module) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CachingStrategy = exports.DefaultStream = exports.AsyncActions = exports.BufferStream = void 0; exports.isTaggedYarnVersion = isTaggedYarnVersion; exports.plural = plural; exports.escapeRegExp = escapeRegExp; exports.overrideType = overrideType; exports.assertNever = assertNever; exports.validateEnum = validateEnum; exports.mapAndFilter = mapAndFilter; exports.mapAndFind = mapAndFind; exports.isIndexableObject = isIndexableObject; exports.allSettledSafe = allSettledSafe; exports.convertMapsToIndexableObjects = convertMapsToIndexableObjects; exports.getFactoryWithDefault = getFactoryWithDefault; exports.getArrayWithDefault = getArrayWithDefault; exports.getSetWithDefault = getSetWithDefault; exports.getMapWithDefault = getMapWithDefault; exports.releaseAfterUseAsync = releaseAfterUseAsync; exports.prettifyAsyncErrors = prettifyAsyncErrors; exports.prettifySyncErrors = prettifySyncErrors; exports.bufferStream = bufferStream; exports.makeDeferred = makeDeferred; exports.dynamicRequire = dynamicRequire; exports.sortMap = sortMap; exports.buildIgnorePattern = buildIgnorePattern; exports.replaceEnvVariables = replaceEnvVariables; exports.parseBoolean = parseBoolean; exports.parseOptionalBoolean = parseOptionalBoolean; exports.tryParseOptionalBoolean = tryParseOptionalBoolean; exports.isPathLike = isPathLike; exports.mergeIntoTarget = mergeIntoTarget; exports.toMerged = toMerged; exports.groupBy = groupBy; exports.parseInt = parseInt; var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var fslib_1 = require_lib62(); var clipanion_1 = require_advanced(); var isEqual_1 = tslib_1.__importDefault(require_isEqual()); var mergeWith_1 = tslib_1.__importDefault(require_mergeWith3()); var micromatch_1 = tslib_1.__importDefault(require_micromatch()); var p_limit_1 = tslib_1.__importDefault(require_p_limit2()); var semver_1 = tslib_1.__importDefault(require_semver2()); var stream_1 = require("stream"); function isTaggedYarnVersion(version2) { return !!(semver_1.default.valid(version2) && version2.match(/^[^-]+(-rc\.[0-9]+)?$/)); } function plural(n, { one, more, zero = more }) { return n === 0 ? zero : n === 1 ? one : more; } function escapeRegExp(str) { return str.replace(/[.*+?^${}()|[\]\\]/g, `\\$&`); } function overrideType(val) { } function assertNever(arg) { throw new Error(`Assertion failed: Unexpected object '${arg}'`); } function validateEnum(def, value) { const values = Object.values(def); if (!values.includes(value)) throw new clipanion_1.UsageError(`Invalid value for enumeration: ${JSON.stringify(value)} (expected one of ${values.map((value2) => JSON.stringify(value2)).join(`, `)})`); return value; } function mapAndFilter(iterable, cb) { const output = []; for (const value of iterable) { const out = cb(value); if (out !== mapAndFilterSkip) { output.push(out); } } return output; } var mapAndFilterSkip = Symbol(); mapAndFilter.skip = mapAndFilterSkip; function mapAndFind(iterable, cb) { for (const value of iterable) { const out = cb(value); if (out !== mapAndFindSkip) { return out; } } return void 0; } var mapAndFindSkip = Symbol(); mapAndFind.skip = mapAndFindSkip; function isIndexableObject(value) { return typeof value === `object` && value !== null; } async function allSettledSafe(promises) { const results = await Promise.allSettled(promises); const values = []; for (const result2 of results) { if (result2.status === `rejected`) { throw result2.reason; } else { values.push(result2.value); } } return values; } function convertMapsToIndexableObjects(arg) { if (arg instanceof Map) arg = Object.fromEntries(arg); if (isIndexableObject(arg)) { for (const key of Object.keys(arg)) { const value = arg[key]; if (isIndexableObject(value)) { arg[key] = convertMapsToIndexableObjects(value); } } } return arg; } function getFactoryWithDefault(map, key, factory) { let value = map.get(key); if (typeof value === `undefined`) map.set(key, value = factory()); return value; } function getArrayWithDefault(map, key) { let value = map.get(key); if (typeof value === `undefined`) map.set(key, value = []); return value; } function getSetWithDefault(map, key) { let value = map.get(key); if (typeof value === `undefined`) map.set(key, value = /* @__PURE__ */ new Set()); return value; } function getMapWithDefault(map, key) { let value = map.get(key); if (typeof value === `undefined`) map.set(key, value = /* @__PURE__ */ new Map()); return value; } async function releaseAfterUseAsync(fn, cleanup) { if (cleanup == null) return await fn(); try { return await fn(); } finally { await cleanup(); } } async function prettifyAsyncErrors(fn, update) { try { return await fn(); } catch (error) { error.message = update(error.message); throw error; } } function prettifySyncErrors(fn, update) { try { return fn(); } catch (error) { error.message = update(error.message); throw error; } } async function bufferStream(stream) { return await new Promise((resolve, reject) => { const chunks = []; stream.on(`error`, (error) => { reject(error); }); stream.on(`data`, (chunk) => { chunks.push(chunk); }); stream.on(`end`, () => { resolve(Buffer.concat(chunks)); }); }); } var BufferStream = class extends stream_1.Transform { constructor() { super(...arguments); this.chunks = []; } _transform(chunk, encoding, cb) { if (encoding !== `buffer` || !Buffer.isBuffer(chunk)) throw new Error(`Assertion failed: BufferStream only accept buffers`); this.chunks.push(chunk); cb(null, null); } _flush(cb) { cb(null, Buffer.concat(this.chunks)); } }; exports.BufferStream = BufferStream; function makeDeferred() { let resolve; let reject; const promise = new Promise((resolveFn, rejectFn) => { resolve = resolveFn; reject = rejectFn; }); return { promise, resolve, reject }; } var AsyncActions = class { constructor(limit) { this.deferred = /* @__PURE__ */ new Map(); this.promises = /* @__PURE__ */ new Map(); this.limit = (0, p_limit_1.default)(limit); } set(key, factory) { let deferred = this.deferred.get(key); if (typeof deferred === `undefined`) this.deferred.set(key, deferred = makeDeferred()); const promise = this.limit(() => factory()); this.promises.set(key, promise); promise.then(() => { if (this.promises.get(key) === promise) { deferred.resolve(); } }, (err) => { if (this.promises.get(key) === promise) { deferred.reject(err); } }); return deferred.promise; } reduce(key, factory) { const promise = this.promises.get(key) ?? Promise.resolve(); this.set(key, () => factory(promise)); } async wait() { await Promise.all(this.promises.values()); } }; exports.AsyncActions = AsyncActions; var DefaultStream = class extends stream_1.Transform { constructor(ifEmpty = Buffer.alloc(0)) { super(); this.active = true; this.ifEmpty = ifEmpty; } _transform(chunk, encoding, cb) { if (encoding !== `buffer` || !Buffer.isBuffer(chunk)) throw new Error(`Assertion failed: DefaultStream only accept buffers`); this.active = false; cb(null, chunk); } _flush(cb) { if (this.active && this.ifEmpty.length > 0) { cb(null, this.ifEmpty); } else { cb(null); } } }; exports.DefaultStream = DefaultStream; var realRequire = eval(`require`); function dynamicRequireNode(path2) { return realRequire(fslib_1.npath.fromPortablePath(path2)); } function dynamicRequireNoCache(path) { const physicalPath = fslib_1.npath.fromPortablePath(path); const currentCacheEntry = realRequire.cache[physicalPath]; delete realRequire.cache[physicalPath]; let result; try { result = dynamicRequireNode(physicalPath); const freshCacheEntry = realRequire.cache[physicalPath]; const dynamicModule = eval(`module`); const freshCacheIndex = dynamicModule.children.indexOf(freshCacheEntry); if (freshCacheIndex !== -1) { dynamicModule.children.splice(freshCacheIndex, 1); } } finally { realRequire.cache[physicalPath] = currentCacheEntry; } return result; } var dynamicRequireFsTimeCache = /* @__PURE__ */ new Map(); function dynamicRequireFsTime(path2) { const cachedInstance = dynamicRequireFsTimeCache.get(path2); const stat = fslib_1.xfs.statSync(path2); if (cachedInstance?.mtime === stat.mtimeMs) return cachedInstance.instance; const instance = dynamicRequireNoCache(path2); dynamicRequireFsTimeCache.set(path2, { mtime: stat.mtimeMs, instance }); return instance; } var CachingStrategy; (function(CachingStrategy2) { CachingStrategy2[CachingStrategy2["NoCache"] = 0] = "NoCache"; CachingStrategy2[CachingStrategy2["FsTime"] = 1] = "FsTime"; CachingStrategy2[CachingStrategy2["Node"] = 2] = "Node"; })(CachingStrategy || (exports.CachingStrategy = CachingStrategy = {})); function dynamicRequire(path2, { cachingStrategy = CachingStrategy.Node } = {}) { switch (cachingStrategy) { case CachingStrategy.NoCache: return dynamicRequireNoCache(path2); case CachingStrategy.FsTime: return dynamicRequireFsTime(path2); case CachingStrategy.Node: return dynamicRequireNode(path2); default: { throw new Error(`Unsupported caching strategy`); } } } function sortMap(values, mappers) { const asArray = Array.from(values); if (!Array.isArray(mappers)) mappers = [mappers]; const stringified = []; for (const mapper of mappers) stringified.push(asArray.map((value) => mapper(value))); const indices = asArray.map((_, index) => index); indices.sort((a, b) => { for (const layer of stringified) { const comparison = layer[a] < layer[b] ? -1 : layer[a] > layer[b] ? 1 : 0; if (comparison !== 0) { return comparison; } } return 0; }); return indices.map((index) => { return asArray[index]; }); } function buildIgnorePattern(ignorePatterns) { if (ignorePatterns.length === 0) return null; return ignorePatterns.map((pattern) => { return `(${micromatch_1.default.makeRe(pattern, { windows: false, dot: true }).source})`; }).join(`|`); } function replaceEnvVariables(value, { env }) { const regex = /\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g; return value.replace(regex, (...args) => { const { variableName, colon, fallback } = args[args.length - 1]; const variableExist = Object.hasOwn(env, variableName); const variableValue = env[variableName]; if (variableValue) return variableValue; if (variableExist && !colon) return variableValue; if (fallback != null) return fallback; throw new clipanion_1.UsageError(`Environment variable not found (${variableName})`); }); } function parseBoolean(value) { switch (value) { case `true`: case `1`: case 1: case true: { return true; } case `false`: case `0`: case 0: case false: { return false; } default: { throw new Error(`Couldn't parse "${value}" as a boolean`); } } } function parseOptionalBoolean(value) { if (typeof value === `undefined`) return value; return parseBoolean(value); } function tryParseOptionalBoolean(value) { try { return parseOptionalBoolean(value); } catch { return null; } } function isPathLike(value) { if (fslib_1.npath.isAbsolute(value) || value.match(/^(\.{1,2}|~)\//)) return true; return false; } function mergeIntoTarget(target, ...sources) { const wrap = (value2) => ({ value: value2 }); const wrappedTarget = wrap(target); const wrappedSources = sources.map((source) => wrap(source)); const { value } = (0, mergeWith_1.default)(wrappedTarget, ...wrappedSources, (targetValue, sourceValue) => { if (Array.isArray(targetValue) && Array.isArray(sourceValue)) { for (const sourceItem of sourceValue) { if (!targetValue.find((targetItem) => (0, isEqual_1.default)(targetItem, sourceItem))) { targetValue.push(sourceItem); } } return targetValue; } return void 0; }); return value; } function toMerged(...sources) { return mergeIntoTarget({}, ...sources); } function groupBy(items, key) { const groups = /* @__PURE__ */ Object.create(null); for (const item of items) { const groupKey = item[key]; groups[groupKey] ??= []; groups[groupKey].push(item); } return groups; } function parseInt(val) { return typeof val === `string` ? Number.parseInt(val, 10) : val; } } }); // ../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/types.js var require_types9 = __commonJS({ "../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/types.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.PackageExtensionStatus = exports2.PackageExtensionType = exports2.LinkType = void 0; var LinkType; (function(LinkType2) { LinkType2["HARD"] = "HARD"; LinkType2["SOFT"] = "SOFT"; })(LinkType || (exports2.LinkType = LinkType = {})); var PackageExtensionType; (function(PackageExtensionType2) { PackageExtensionType2["Dependency"] = "Dependency"; PackageExtensionType2["PeerDependency"] = "PeerDependency"; PackageExtensionType2["PeerDependencyMeta"] = "PeerDependencyMeta"; })(PackageExtensionType || (exports2.PackageExtensionType = PackageExtensionType = {})); var PackageExtensionStatus; (function(PackageExtensionStatus2) { PackageExtensionStatus2["Inactive"] = "inactive"; PackageExtensionStatus2["Redundant"] = "redundant"; PackageExtensionStatus2["Active"] = "active"; })(PackageExtensionStatus || (exports2.PackageExtensionStatus = PackageExtensionStatus = {})); } }); // ../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/formatUtils.js var require_formatUtils = __commonJS({ "../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/formatUtils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LogLevel = exports2.supportsHyperlinks = exports2.supportsColor = exports2.Style = exports2.Type = exports2.stripAnsi = void 0; exports2.tuple = tuple; exports2.applyStyle = applyStyle; exports2.applyColor = applyColor; exports2.applyHyperlink = applyHyperlink; exports2.pretty = pretty; exports2.prettyList = prettyList; exports2.json = json; exports2.jsonOrPretty = jsonOrPretty; exports2.mark = mark; exports2.prettyField = prettyField; exports2.prettyTruncatedLocatorList = prettyTruncatedLocatorList; exports2.addLogFilterSupport = addLogFilterSupport; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var fslib_12 = require_lib62(); var chalk_1 = tslib_12.__importDefault(require_source2()); var ci_info_1 = tslib_12.__importDefault(require_ci_info2()); var clipanion_12 = require_advanced(); var micromatch_12 = tslib_12.__importDefault(require_micromatch()); var strip_ansi_1 = tslib_12.__importDefault(require_strip_ansi()); exports2.stripAnsi = strip_ansi_1.default; var util_1 = require("util"); var MessageName_1 = require_MessageName(); var miscUtils = tslib_12.__importStar(require_miscUtils()); var structUtils = tslib_12.__importStar(require_structUtils()); var types_1 = require_types9(); exports2.Type = { NO_HINT: `NO_HINT`, ID: `ID`, NULL: `NULL`, SCOPE: `SCOPE`, NAME: `NAME`, RANGE: `RANGE`, REFERENCE: `REFERENCE`, NUMBER: `NUMBER`, PATH: `PATH`, URL: `URL`, ADDED: `ADDED`, REMOVED: `REMOVED`, CODE: `CODE`, INSPECT: `INSPECT`, DURATION: `DURATION`, SIZE: `SIZE`, SIZE_DIFF: `SIZE_DIFF`, IDENT: `IDENT`, DESCRIPTOR: `DESCRIPTOR`, LOCATOR: `LOCATOR`, RESOLUTION: `RESOLUTION`, DEPENDENT: `DEPENDENT`, PACKAGE_EXTENSION: `PACKAGE_EXTENSION`, SETTING: `SETTING`, MARKDOWN: `MARKDOWN`, MARKDOWN_INLINE: `MARKDOWN_INLINE` }; var Style; (function(Style2) { Style2[Style2["BOLD"] = 2] = "BOLD"; })(Style || (exports2.Style = Style = {})); var chalkOptions = ci_info_1.default.GITHUB_ACTIONS ? { level: 2 } : chalk_1.default.supportsColor ? { level: chalk_1.default.supportsColor.level } : { level: 0 }; exports2.supportsColor = chalkOptions.level !== 0; exports2.supportsHyperlinks = exports2.supportsColor && !ci_info_1.default.GITHUB_ACTIONS && !ci_info_1.default.CIRCLE && !ci_info_1.default.GITLAB; var chalkInstance = new chalk_1.default.Instance(chalkOptions); var colors = /* @__PURE__ */ new Map([ [exports2.Type.NO_HINT, null], [exports2.Type.NULL, [`#a853b5`, 129]], [exports2.Type.SCOPE, [`#d75f00`, 166]], [exports2.Type.NAME, [`#d7875f`, 173]], [exports2.Type.RANGE, [`#00afaf`, 37]], [exports2.Type.REFERENCE, [`#87afff`, 111]], [exports2.Type.NUMBER, [`#ffd700`, 220]], [exports2.Type.PATH, [`#d75fd7`, 170]], [exports2.Type.URL, [`#d75fd7`, 170]], [exports2.Type.ADDED, [`#5faf00`, 70]], [exports2.Type.REMOVED, [`#ff3131`, 160]], [exports2.Type.CODE, [`#87afff`, 111]], [exports2.Type.SIZE, [`#ffd700`, 220]] ]); var validateTransform = (spec) => spec; function sizeToText(size) { const thresholds = [`KiB`, `MiB`, `GiB`, `TiB`]; let power = thresholds.length; while (power > 1 && size < 1024 ** power) power -= 1; const factor = 1024 ** power; const value = Math.floor(size * 100 / factor) / 100; return `${value} ${thresholds[power - 1]}`; } var transforms = { [exports2.Type.ID]: validateTransform({ pretty: (configuration, value) => { if (typeof value === `number`) { return applyColor(configuration, `${value}`, exports2.Type.NUMBER); } else { return applyColor(configuration, value, exports2.Type.CODE); } }, json: (id) => { return id; } }), [exports2.Type.INSPECT]: validateTransform({ pretty: (configuration, value) => { return (0, util_1.inspect)(value, { depth: Infinity, colors: configuration.get(`enableColors`), compact: true, breakLength: Infinity }); }, json: (value) => { return value; } }), [exports2.Type.NUMBER]: validateTransform({ pretty: (configuration, value) => { return applyColor(configuration, `${value}`, exports2.Type.NUMBER); }, json: (value) => { return value; } }), [exports2.Type.IDENT]: validateTransform({ pretty: (configuration, ident) => { return structUtils.prettyIdent(configuration, ident); }, json: (ident) => { return structUtils.stringifyIdent(ident); } }), [exports2.Type.LOCATOR]: validateTransform({ pretty: (configuration, locator) => { return structUtils.prettyLocator(configuration, locator); }, json: (locator) => { return structUtils.stringifyLocator(locator); } }), [exports2.Type.DESCRIPTOR]: validateTransform({ pretty: (configuration, descriptor) => { return structUtils.prettyDescriptor(configuration, descriptor); }, json: (descriptor) => { return structUtils.stringifyDescriptor(descriptor); } }), [exports2.Type.RESOLUTION]: validateTransform({ pretty: (configuration, { descriptor, locator }) => { return structUtils.prettyResolution(configuration, descriptor, locator); }, json: ({ descriptor, locator }) => { return { descriptor: structUtils.stringifyDescriptor(descriptor), locator: locator !== null ? structUtils.stringifyLocator(locator) : null }; } }), [exports2.Type.DEPENDENT]: validateTransform({ pretty: (configuration, { locator, descriptor }) => { return structUtils.prettyDependent(configuration, locator, descriptor); }, json: ({ locator, descriptor }) => { return { locator: structUtils.stringifyLocator(locator), descriptor: structUtils.stringifyDescriptor(descriptor) }; } }), [exports2.Type.PACKAGE_EXTENSION]: validateTransform({ pretty: (configuration, packageExtension) => { switch (packageExtension.type) { case types_1.PackageExtensionType.Dependency: return `${structUtils.prettyIdent(configuration, packageExtension.parentDescriptor)} \u27A4 ${applyColor(configuration, `dependencies`, exports2.Type.CODE)} \u27A4 ${structUtils.prettyIdent(configuration, packageExtension.descriptor)}`; case types_1.PackageExtensionType.PeerDependency: return `${structUtils.prettyIdent(configuration, packageExtension.parentDescriptor)} \u27A4 ${applyColor(configuration, `peerDependencies`, exports2.Type.CODE)} \u27A4 ${structUtils.prettyIdent(configuration, packageExtension.descriptor)}`; case types_1.PackageExtensionType.PeerDependencyMeta: return `${structUtils.prettyIdent(configuration, packageExtension.parentDescriptor)} \u27A4 ${applyColor(configuration, `peerDependenciesMeta`, exports2.Type.CODE)} \u27A4 ${structUtils.prettyIdent(configuration, structUtils.parseIdent(packageExtension.selector))} \u27A4 ${applyColor(configuration, packageExtension.key, exports2.Type.CODE)}`; default: throw new Error(`Assertion failed: Unsupported package extension type: ${packageExtension.type}`); } }, json: (packageExtension) => { switch (packageExtension.type) { case types_1.PackageExtensionType.Dependency: return `${structUtils.stringifyIdent(packageExtension.parentDescriptor)} > ${structUtils.stringifyIdent(packageExtension.descriptor)}`; case types_1.PackageExtensionType.PeerDependency: return `${structUtils.stringifyIdent(packageExtension.parentDescriptor)} >> ${structUtils.stringifyIdent(packageExtension.descriptor)}`; case types_1.PackageExtensionType.PeerDependencyMeta: return `${structUtils.stringifyIdent(packageExtension.parentDescriptor)} >> ${packageExtension.selector} / ${packageExtension.key}`; default: throw new Error(`Assertion failed: Unsupported package extension type: ${packageExtension.type}`); } } }), [exports2.Type.SETTING]: validateTransform({ pretty: (configuration, settingName) => { configuration.get(settingName); return applyHyperlink(configuration, applyColor(configuration, settingName, exports2.Type.CODE), `https://yarnpkg.com/configuration/yarnrc#${settingName}`); }, json: (settingName) => { return settingName; } }), [exports2.Type.DURATION]: validateTransform({ pretty: (configuration, duration) => { if (duration > 1e3 * 60) { const minutes = Math.floor(duration / 1e3 / 60); const seconds = Math.ceil((duration - minutes * 60 * 1e3) / 1e3); return seconds === 0 ? `${minutes}m` : `${minutes}m ${seconds}s`; } else { const seconds = Math.floor(duration / 1e3); const milliseconds = duration - seconds * 1e3; return milliseconds === 0 ? `${seconds}s` : `${seconds}s ${milliseconds}ms`; } }, json: (duration) => { return duration; } }), [exports2.Type.SIZE]: validateTransform({ pretty: (configuration, size) => { return applyColor(configuration, sizeToText(size), exports2.Type.NUMBER); }, json: (size) => { return size; } }), [exports2.Type.SIZE_DIFF]: validateTransform({ pretty: (configuration, size) => { const sign = size >= 0 ? `+` : `-`; const type = sign === `+` ? exports2.Type.REMOVED : exports2.Type.ADDED; return applyColor(configuration, `${sign} ${sizeToText(Math.max(Math.abs(size), 1))}`, type); }, json: (size) => { return size; } }), [exports2.Type.PATH]: validateTransform({ pretty: (configuration, filePath) => { return applyColor(configuration, fslib_12.npath.fromPortablePath(filePath), exports2.Type.PATH); }, json: (filePath) => { return fslib_12.npath.fromPortablePath(filePath); } }), [exports2.Type.MARKDOWN]: validateTransform({ pretty: (configuration, { text, format, paragraphs }) => { return (0, clipanion_12.formatMarkdownish)(text, { format, paragraphs }); }, json: ({ text }) => { return text; } }), [exports2.Type.MARKDOWN_INLINE]: validateTransform({ pretty: (configuration, text) => { text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => { return pretty(configuration, $1 + $2 + $1, exports2.Type.CODE); }); text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => { return applyStyle(configuration, $2, Style.BOLD); }); return text; }, json: (text) => { return text; } }) }; function tuple(formatType, value) { return [value, formatType]; } function applyStyle(configuration, text, flags) { if (!configuration.get(`enableColors`)) return text; if (flags & Style.BOLD) text = chalk_1.default.bold(text); return text; } function applyColor(configuration, value, formatType) { if (!configuration.get(`enableColors`)) return value; const colorSpec = colors.get(formatType); if (colorSpec === null) return value; const color = typeof colorSpec === `undefined` ? formatType : chalkOptions.level >= 3 ? colorSpec[0] : colorSpec[1]; const fn = typeof color === `number` ? chalkInstance.ansi256(color) : color.startsWith(`#`) ? chalkInstance.hex(color) : chalkInstance[color]; if (typeof fn !== `function`) throw new Error(`Invalid format type ${color}`); return fn(value); } var isKonsole = !!process.env.KONSOLE_VERSION; function applyHyperlink(configuration, text, href) { if (!configuration.get(`enableHyperlinks`)) return text; if (isKonsole) return `\x1B]8;;${href}\x1B\\${text}\x1B]8;;\x1B\\`; return `\x1B]8;;${href}\x07${text}\x1B]8;;\x07`; } function pretty(configuration, value, formatType) { if (value === null) return applyColor(configuration, `null`, exports2.Type.NULL); if (Object.hasOwn(transforms, formatType)) { const transform = transforms[formatType]; const typedTransform = transform; return typedTransform.pretty(configuration, value); } if (typeof value !== `string`) throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof value}`); return applyColor(configuration, value, formatType); } function prettyList(configuration, values, formatType, { separator = `, ` } = {}) { return [...values].map((value) => pretty(configuration, value, formatType)).join(separator); } function json(value, formatType) { if (value === null) return null; if (Object.hasOwn(transforms, formatType)) { miscUtils.overrideType(formatType); return transforms[formatType].json(value); } if (typeof value !== `string`) throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof value}`); return value; } function jsonOrPretty(outputJson, configuration, [value, formatType]) { return outputJson ? json(value, formatType) : pretty(configuration, value, formatType); } function mark(configuration) { return { Check: applyColor(configuration, `\u2713`, `green`), Cross: applyColor(configuration, `\u2718`, `red`), Question: applyColor(configuration, `?`, `cyan`) }; } function prettyField(configuration, { label, value: [value, formatType] }) { return `${pretty(configuration, label, exports2.Type.CODE)}: ${pretty(configuration, value, formatType)}`; } function prettyTruncatedLocatorList(configuration, locators, recommendedLength) { const named = []; const locatorsCopy = [...locators]; let remainingLength = recommendedLength; while (locatorsCopy.length > 0) { const locator = locatorsCopy[0]; const asString = `${structUtils.prettyLocator(configuration, locator)}, `; const asLength = structUtils.prettyLocatorNoColors(locator).length + 2; if (named.length > 0 && remainingLength < asLength) break; named.push([asString, asLength]); remainingLength -= asLength; locatorsCopy.shift(); } if (locatorsCopy.length === 0) return named.map(([str]) => str).join(``).slice(0, -2); const mark2 = `X`.repeat(locatorsCopy.length.toString().length); const suffix = `and ${mark2} more.`; let otherCount = locatorsCopy.length; while (named.length > 1 && remainingLength < suffix.length) { remainingLength += named[named.length - 1][1]; otherCount += 1; named.pop(); } return [ named.map(([str]) => str).join(``), suffix.replace(mark2, pretty(configuration, otherCount, exports2.Type.NUMBER)) ].join(``); } var LogLevel; (function(LogLevel2) { LogLevel2["Error"] = "error"; LogLevel2["Warning"] = "warning"; LogLevel2["Info"] = "info"; LogLevel2["Discard"] = "discard"; })(LogLevel || (exports2.LogLevel = LogLevel = {})); function addLogFilterSupport(report, { configuration }) { const logFilters = configuration.get(`logFilters`); const logFiltersByCode = /* @__PURE__ */ new Map(); const logFiltersByText = /* @__PURE__ */ new Map(); const logFiltersByPatternMatcher = []; for (const filter of logFilters) { const level = filter.get(`level`); if (typeof level === `undefined`) continue; const code = filter.get(`code`); if (typeof code !== `undefined`) logFiltersByCode.set(code, level); const text = filter.get(`text`); if (typeof text !== `undefined`) logFiltersByText.set(text, level); const pattern = filter.get(`pattern`); if (typeof pattern !== `undefined`) { logFiltersByPatternMatcher.push([micromatch_12.default.matcher(pattern, { contains: true }), level]); } } logFiltersByPatternMatcher.reverse(); const findLogLevel = (name, text, defaultLevel) => { if (name === null || name === MessageName_1.MessageName.UNNAMED) return defaultLevel; const strippedText = logFiltersByText.size > 0 || logFiltersByPatternMatcher.length > 0 ? (0, strip_ansi_1.default)(text) : text; if (logFiltersByText.size > 0) { const level = logFiltersByText.get(strippedText); if (typeof level !== `undefined`) { return level ?? defaultLevel; } } if (logFiltersByPatternMatcher.length > 0) { for (const [filterMatcher, filterLevel] of logFiltersByPatternMatcher) { if (filterMatcher(strippedText)) { return filterLevel ?? defaultLevel; } } } if (logFiltersByCode.size > 0) { const level = logFiltersByCode.get((0, MessageName_1.stringifyMessageName)(name)); if (typeof level !== `undefined`) { return level ?? defaultLevel; } } return defaultLevel; }; const reportInfo = report.reportInfo; const reportWarning = report.reportWarning; const reportError = report.reportError; const routeMessage = function(report2, name, text, level) { switch (findLogLevel(name, text, level)) { case LogLevel.Info: { reportInfo.call(report2, name, text); } break; case LogLevel.Warning: { reportWarning.call(report2, name ?? MessageName_1.MessageName.UNNAMED, text); } break; case LogLevel.Error: { reportError.call(report2, name ?? MessageName_1.MessageName.UNNAMED, text); } break; } }; report.reportInfo = function(...args) { return routeMessage(this, ...args, LogLevel.Info); }; report.reportWarning = function(...args) { return routeMessage(this, ...args, LogLevel.Warning); }; report.reportError = function(...args) { return routeMessage(this, ...args, LogLevel.Error); }; } } }); // ../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/hashUtils.js var require_hashUtils = __commonJS({ "../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/hashUtils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.makeHash = makeHash; exports2.checksumFile = checksumFile; exports2.checksumPattern = checksumPattern; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var fslib_12 = require_lib62(); var crypto_1 = require("crypto"); var fast_glob_1 = tslib_12.__importDefault(require_out4()); function makeHash(...args) { const hash = (0, crypto_1.createHash)(`sha512`); let acc = ``; for (const arg of args) { if (typeof arg === `string`) { acc += arg; } else if (arg) { if (acc) { hash.update(acc); acc = ``; } hash.update(arg); } } if (acc) hash.update(acc); return hash.digest(`hex`); } async function checksumFile(path2, { baseFs, algorithm } = { baseFs: fslib_12.xfs, algorithm: `sha512` }) { const fd = await baseFs.openPromise(path2, `r`); try { const CHUNK_SIZE = 65536; const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); const hash = (0, crypto_1.createHash)(algorithm); let bytesRead = 0; while ((bytesRead = await baseFs.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); return hash.digest(`hex`); } finally { await baseFs.closePromise(fd); } } async function checksumPattern(pattern, { cwd }) { const dirListing = await (0, fast_glob_1.default)(pattern, { cwd: fslib_12.npath.fromPortablePath(cwd), onlyDirectories: true }); const dirPatterns = dirListing.map((entry) => { return `${entry}/**/*`; }); const listing = await (0, fast_glob_1.default)([pattern, ...dirPatterns], { cwd: fslib_12.npath.fromPortablePath(cwd), onlyFiles: false }); listing.sort(); const hashes = await Promise.all(listing.map(async (entry) => { const parts = [Buffer.from(entry)]; const p = fslib_12.ppath.join(cwd, fslib_12.npath.toPortablePath(entry)); const stat = await fslib_12.xfs.lstatPromise(p); if (stat.isSymbolicLink()) parts.push(Buffer.from(await fslib_12.xfs.readlinkPromise(p))); else if (stat.isFile()) parts.push(await fslib_12.xfs.readFilePromise(p)); return parts.join(`\0`); })); const hash = (0, crypto_1.createHash)(`sha512`); for (const sub of hashes) hash.update(sub); return hash.digest(`hex`); } } }); // ../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/structUtils.js var require_structUtils = __commonJS({ "../node_modules/.pnpm/@yarnpkg+core@4.2.0_typanion@3.14.0/node_modules/@yarnpkg/core/lib/structUtils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.makeIdent = makeIdent; exports2.makeDescriptor = makeDescriptor; exports2.makeLocator = makeLocator; exports2.convertToIdent = convertToIdent; exports2.convertDescriptorToLocator = convertDescriptorToLocator; exports2.convertLocatorToDescriptor = convertLocatorToDescriptor; exports2.convertPackageToLocator = convertPackageToLocator; exports2.renamePackage = renamePackage; exports2.copyPackage = copyPackage; exports2.virtualizeDescriptor = virtualizeDescriptor; exports2.virtualizePackage = virtualizePackage; exports2.isVirtualDescriptor = isVirtualDescriptor; exports2.isVirtualLocator = isVirtualLocator; exports2.devirtualizeDescriptor = devirtualizeDescriptor; exports2.devirtualizeLocator = devirtualizeLocator; exports2.ensureDevirtualizedDescriptor = ensureDevirtualizedDescriptor; exports2.ensureDevirtualizedLocator = ensureDevirtualizedLocator; exports2.bindDescriptor = bindDescriptor; exports2.bindLocator = bindLocator; exports2.areIdentsEqual = areIdentsEqual; exports2.areDescriptorsEqual = areDescriptorsEqual; exports2.areLocatorsEqual = areLocatorsEqual; exports2.areVirtualPackagesEquivalent = areVirtualPackagesEquivalent; exports2.parseIdent = parseIdent; exports2.tryParseIdent = tryParseIdent; exports2.parseDescriptor = parseDescriptor; exports2.tryParseDescriptor = tryParseDescriptor; exports2.parseLocator = parseLocator; exports2.tryParseLocator = tryParseLocator; exports2.parseRange = parseRange; exports2.tryParseRange = tryParseRange; exports2.parseFileStyleRange = parseFileStyleRange; exports2.makeRange = makeRange; exports2.convertToManifestRange = convertToManifestRange; exports2.stringifyIdent = stringifyIdent; exports2.stringifyDescriptor = stringifyDescriptor; exports2.stringifyLocator = stringifyLocator; exports2.slugifyIdent = slugifyIdent; exports2.slugifyLocator = slugifyLocator; exports2.prettyIdent = prettyIdent; exports2.prettyRange = prettyRange; exports2.prettyDescriptor = prettyDescriptor; exports2.prettyReference = prettyReference; exports2.prettyLocator = prettyLocator; exports2.prettyLocatorNoColors = prettyLocatorNoColors; exports2.sortDescriptors = sortDescriptors; exports2.prettyWorkspace = prettyWorkspace; exports2.prettyResolution = prettyResolution; exports2.prettyDependent = prettyDependent; exports2.getIdentVendorPath = getIdentVendorPath; exports2.isPackageCompatible = isPackageCompatible; exports2.allPeerRequests = allPeerRequests; var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports)); var querystring_1 = tslib_12.__importDefault(require("querystring")); var semver_12 = tslib_12.__importDefault(require_semver2()); var tinylogic_1 = require_tinylogic(); var formatUtils = tslib_12.__importStar(require_formatUtils()); var hashUtils = tslib_12.__importStar(require_hashUtils()); var miscUtils = tslib_12.__importStar(require_miscUtils()); var structUtils = tslib_12.__importStar(require_structUtils()); var VIRTUAL_PROTOCOL = `virtual:`; var VIRTUAL_ABBREVIATE = 5; var CONDITION_REGEX = /(os|cpu|libc)=([a-z0-9_-]+)/; var conditionParser = (0, tinylogic_1.makeParser)(CONDITION_REGEX); function makeIdent(scope, name) { if (scope?.startsWith(`@`)) throw new Error(`Invalid scope: don't prefix it with '@'`); return { identHash: hashUtils.makeHash(scope, name), scope, name }; } function makeDescriptor(ident, range) { return { identHash: ident.identHash, scope: ident.scope, name: ident.name, descriptorHash: hashUtils.makeHash(ident.identHash, range), range }; } function makeLocator(ident, reference) { return { identHash: ident.identHash, scope: ident.scope, name: ident.name, locatorHash: hashUtils.makeHash(ident.identHash, reference), reference }; } function convertToIdent(source) { return { identHash: source.identHash, scope: source.scope, name: source.name }; } function convertDescriptorToLocator(descriptor) { return { identHash: descriptor.identHash, scope: descriptor.scope, name: descriptor.name, locatorHash: descriptor.descriptorHash, reference: descriptor.range }; } function convertLocatorToDescriptor(locator) { return { identHash: locator.identHash, scope: locator.scope, name: locator.name, descriptorHash: locator.locatorHash, range: locator.reference }; } function convertPackageToLocator(pkg) { return { identHash: pkg.identHash, scope: pkg.scope, name: pkg.name, locatorHash: pkg.locatorHash, reference: pkg.reference }; } function renamePackage(pkg, locator) { return { identHash: locator.identHash, scope: locator.scope, name: locator.name, locatorHash: locator.locatorHash, reference: locator.reference, version: pkg.version, languageName: pkg.languageName, linkType: pkg.linkType, conditions: pkg.conditions, dependencies: new Map(pkg.dependencies), peerDependencies: new Map(pkg.peerDependencies), dependenciesMeta: new Map(pkg.dependenciesMeta), peerDependenciesMeta: new Map(pkg.peerDependenciesMeta), bin: new Map(pkg.bin) }; } function copyPackage(pkg) { return renamePackage(pkg, pkg); } function virtualizeDescriptor(descriptor, entropy) { if (entropy.includes(`#`)) throw new Error(`Invalid entropy`); return makeDescriptor(descriptor, `virtual:${entropy}#${descriptor.range}`); } function virtualizePackage(pkg, entropy) { if (entropy.includes(`#`)) throw new Error(`Invalid entropy`); return renamePackage(pkg, makeLocator(pkg, `virtual:${entropy}#${pkg.reference}`)); } function isVirtualDescriptor(descriptor) { return descriptor.range.startsWith(VIRTUAL_PROTOCOL); } function isVirtualLocator(locator) { return locator.reference.startsWith(VIRTUAL_PROTOCOL); } var VIRTUAL_PREFIX_REGEXP = /^[^#]*#/; function devirtualizeDescriptor(descriptor) { if (!isVirtualDescriptor(descriptor)) throw new Error(`Not a virtual descriptor`); return makeDescriptor(descriptor, descriptor.range.replace(VIRTUAL_PREFIX_REGEXP, ``)); } function devirtualizeLocator(locator) { if (!isVirtualLocator(locator)) throw new Error(`Not a virtual descriptor`); return makeLocator(locator, locator.reference.replace(VIRTUAL_PREFIX_REGEXP, ``)); } function ensureDevirtualizedDescriptor(descriptor) { if (!isVirtualDescriptor(descriptor)) return descriptor; return makeDescriptor(descriptor, descriptor.range.replace(VIRTUAL_PREFIX_REGEXP, ``)); } function ensureDevirtualizedLocator(locator) { if (!isVirtualLocator(locator)) return locator; return makeLocator(locator, locator.reference.replace(VIRTUAL_PREFIX_REGEXP, ``)); } function bindDescriptor(descriptor, params) { if (descriptor.range.includes(`::`)) return descriptor; return makeDescriptor(descriptor, `${descriptor.range}::${querystring_1.default.stringify(params)}`); } function bindLocator(locator, params) { if (locator.reference.includes(`::`)) return locator; return makeLocator(locator, `${locator.reference}::${querystring_1.default.stringify(params)}`); } function areIdentsEqual(a, b) { return a.identHash === b.identHash; } function areDescriptorsEqual(a, b) { return a.descriptorHash === b.descriptorHash; } function areLocatorsEqual(a, b) { return a.locatorHash === b.locatorHash; } function areVirtualPackagesEquivalent(a, b) { if (!isVirtualLocator(a)) throw new Error(`Invalid package type`); if (!isVirtualLocator(b)) throw new Error(`Invalid package type`); if (!areIdentsEqual(a, b)) return false; if (a.dependencies.size !== b.dependencies.size) return false; for (const dependencyDescriptorA of a.dependencies.values()) { const dependencyDescriptorB = b.dependencies.get(dependencyDescriptorA.identHash); if (!dependencyDescriptorB) return false; if (!areDescriptorsEqual(dependencyDescriptorA, dependencyDescriptorB)) { return false; } } return true; } function parseIdent(string) { const ident = tryParseIdent(string); if (!ident) throw new Error(`Invalid ident (${string})`); return ident; } var IDENT_REGEXP = /^(?:@([^/]+?)\/)?([^@/]+)$/; function tryParseIdent(string) { const match = string.match(IDENT_REGEXP); if (!match) return null; const [, scope, name] = match; const realScope = typeof scope !== `undefined` ? scope : null; return makeIdent(realScope, name); } function parseDescriptor(string, strict = false) { const descriptor = tryParseDescriptor(string, strict); if (!descriptor) throw new Error(`Invalid descriptor (${string})`); return descriptor; } var DESCRIPTOR_REGEX_STRICT = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/; var DESCRIPTOR_REGEX_LOOSE = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/; function tryParseDescriptor(string, strict = false) { const match = strict ? string.match(DESCRIPTOR_REGEX_STRICT) : string.match(DESCRIPTOR_REGEX_LOOSE); if (!match) return null; const [, scope, name, range] = match; if (range === `unknown`) throw new Error(`Invalid range (${string})`); const realScope = typeof scope !== `undefined` ? scope : null; const realRange = typeof range !== `undefined` ? range : `unknown`; return makeDescriptor(makeIdent(realScope, name), realRange); } function parseLocator(string, strict = false) { const locator = tryParseLocator(string, strict); if (!locator) throw new Error(`Invalid locator (${string})`); return locator; } var LOCATOR_REGEX_STRICT = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/; var LOCATOR_REGEX_LOOSE = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/; function tryParseLocator(string, strict = false) { const match = strict ? string.match(LOCATOR_REGEX_STRICT) : string.match(LOCATOR_REGEX_LOOSE); if (!match) return null; const [, scope, name, reference] = match; if (reference === `unknown`) throw new Error(`Invalid reference (${string})`); const realScope = typeof scope !== `undefined` ? scope : null; const realReference = typeof reference !== `undefined` ? reference : `unknown`; return makeLocator(makeIdent(realScope, name), realReference); } var RANGE_REGEX = /^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/; function parseRange(range, opts) { const match = range.match(RANGE_REGEX); if (match === null) throw new Error(`Invalid range (${range})`); const protocol = typeof match[1] !== `undefined` ? match[1] : null; if (typeof opts?.requireProtocol === `string` && protocol !== opts.requireProtocol) throw new Error(`Invalid protocol (${protocol})`); else if (opts?.requireProtocol && protocol === null) throw new Error(`Missing protocol (${protocol})`); const source = typeof match[3] !== `undefined` ? decodeURIComponent(match[2]) : null; if (opts?.requireSource && source === null) throw new Error(`Missing source (${range})`); const rawSelector = typeof match[3] !== `undefined` ? decodeURIComponent(match[3]) : decodeURIComponent(match[2]); const selector = opts?.parseSelector ? querystring_1.default.parse(rawSelector) : rawSelector; const params = typeof match[4] !== `undefined` ? querystring_1.default.parse(match[4]) : null; return { // @ts-expect-error protocol, // @ts-expect-error source, // @ts-expect-error selector, // @ts-expect-error params }; } function tryParseRange(range, opts) { try { return parseRange(range, opts); } catch { return null; } } function parseFileStyleRange(range, { protocol }) { const { selector, params } = parseRange(range, { requireProtocol: protocol, requireBindings: true }); if (typeof params.locator !== `string`) throw new Error(`Assertion failed: Invalid bindings for ${range}`); const parentLocator = parseLocator(params.locator, true); const path2 = selector; return { parentLocator, path: path2 }; } function encodeUnsafeCharacters(str) { str = str.replaceAll(`%`, `%25`); str = str.replaceAll(`:`, `%3A`); str = str.replaceAll(`#`, `%23`); return str; } function hasParams(params) { if (params === null) return false; return Object.entries(params).length > 0; } function makeRange({ protocol, source, selector, params }) { let range = ``; if (protocol !== null) range += `${protocol}`; if (source !== null) range += `${encodeUnsafeCharacters(source)}#`; range += encodeUnsafeCharacters(selector); if (hasParams(params)) range += `::${querystring_1.default.stringify(params)}`; return range; } function convertToManifestRange(range) { const { params, protocol, source, selector } = parseRange(range); for (const name in params) if (name.startsWith(`__`)) delete params[name]; return makeRange({ protocol, source, params, selector }); } function stringifyIdent(ident) { if (ident.scope) { return `@${ident.scope}/${ident.name}`; } else { return `${ident.name}`; } } function stringifyDescriptor(descriptor) { if (descriptor.scope) { return `@${descriptor.scope}/${descriptor.name}@${descriptor.range}`; } else { return `${descriptor.name}@${descriptor.range}`; } } function stringifyLocator(locator) { if (locator.scope) { return `@${locator.scope}/${locator.name}@${locator.reference}`; } else { return `${locator.name}@${locator.reference}`; } } function slugifyIdent(ident) { if (ident.scope !== null) { return `@${ident.scope}-${ident.name}`; } else { return ident.name; } } var TRAILING_COLON_REGEX = /:$/; function slugifyLocator(locator) { const { protocol, selector } = parseRange(locator.reference); const humanProtocol = protocol !== null ? protocol.replace(TRAILING_COLON_REGEX, ``) : `exotic`; const humanVersion = semver_12.default.valid(selector); const humanReference = humanVersion !== null ? `${humanProtocol}-${humanVersion}` : `${humanProtocol}`; const hashTruncate = 10; const slug = locator.scope ? `${slugifyIdent(locator)}-${humanReference}-${locator.locatorHash.slice(0, hashTruncate)}` : `${slugifyIdent(locator)}-${humanReference}-${locator.locatorHash.slice(0, hashTruncate)}`; return slug; } function prettyIdent(configuration, ident) { if (ident.scope) { return `${formatUtils.pretty(configuration, `@${ident.scope}/`, formatUtils.Type.SCOPE)}${formatUtils.pretty(configuration, ident.name, formatUtils.Type.NAME)}`; } else { return `${formatUtils.pretty(configuration, ident.name, formatUtils.Type.NAME)}`; } } var POST_QS_REGEX = /\?.*/; function prettyRangeNoColors(range) { if (range.startsWith(VIRTUAL_PROTOCOL)) { const nested = prettyRangeNoColors(range.substring(range.indexOf(`#`) + 1)); const abbrev = range.substring(VIRTUAL_PROTOCOL.length, VIRTUAL_PROTOCOL.length + VIRTUAL_ABBREVIATE); return false ? `${nested} (virtual:${abbrev})` : `${nested} [${abbrev}]`; } else { return range.replace(POST_QS_REGEX, `?[...]`); } } function prettyRange(configuration, range) { return `${formatUtils.pretty(configuration, prettyRangeNoColors(range), formatUtils.Type.RANGE)}`; } function prettyDescriptor(configuration, descriptor) { return `${prettyIdent(configuration, descriptor)}${formatUtils.pretty(configuration, `@`, formatUtils.Type.RANGE)}${prettyRange(configuration, descriptor.range)}`; } function prettyReference(configuration, reference) { return `${formatUtils.pretty(configuration, prettyRangeNoColors(reference), formatUtils.Type.REFERENCE)}`; } function prettyLocator(configuration, locator) { return `${prettyIdent(configuration, locator)}${formatUtils.pretty(configuration, `@`, formatUtils.Type.REFERENCE)}${prettyReference(configuration, locator.reference)}`; } function prettyLocatorNoColors(locator) { return `${stringifyIdent(locator)}@${prettyRangeNoColors(locator.reference)}`; } function sortDescriptors(descriptors) { return miscUtils.sortMap(descriptors, [ (descriptor) => stringifyIdent(descriptor), (descriptor) => descriptor.range ]); } function prettyWorkspace(configuration, workspace) { return prettyIdent(configuration, workspace.anchoredLocator); } function prettyResolution(configuration, descriptor, locator) { const devirtualizedDescriptor = isVirtualDescriptor(descriptor) ? devirtualizeDescriptor(descriptor) : descriptor; if (locator === null) { return `${structUtils.prettyDescriptor(configuration, devirtualizedDescriptor)} \u2192 ${formatUtils.mark(configuration).Cross}`; } else if (devirtualizedDescriptor.identHash === locator.identHash) { return `${structUtils.prettyDescriptor(configuration, devirtualizedDescriptor)} \u2192 ${prettyReference(configuration, locator.reference)}`; } else { return `${structUtils.prettyDescriptor(configuration, devirtualizedDescriptor)} \u2192 ${prettyLocator(configuration, locator)}`; } } function prettyDependent(configuration, locator, descriptor) { if (descriptor === null) { return `${prettyLocator(configuration, locator)}`; } else { return `${prettyLocator(configuration, locator)} (via ${structUtils.prettyRange(configuration, descriptor.range)})`; } } function getIdentVendorPath(ident) { return `node_modules/${stringifyIdent(ident)}`; } function isPackageCompatible(pkg, architectures) { if (!pkg.conditions) return true; return conditionParser(pkg.conditions, (specifier) => { const [, name, value] = specifier.match(CONDITION_REGEX); const supported = architectures[name]; return supported ? supported.includes(value) : true; }); } function allPeerRequests(root) { const requests = /* @__PURE__ */ new Set(); if (`children` in root) { requests.add(root); } else { for (const request of root.requests.values()) { requests.add(request); } } for (const request of requests) { for (const child of request.children.values()) { requests.add(child); } } return requests; } } }); // ../pkg-manager/plugin-commands-installation/lib/import/yarnUtil.js var require_yarnUtil = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/import/yarnUtil.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.yarnLockFileKeyNormalizer = void 0; var BUILTIN_PLACEHOLDER = "builtin"; var MULTIPLE_KEYS_REGEXP = / *, */; var keyNormalizer = (parseDescriptor, parseRange) => (rawDescriptor) => { const descriptors = [rawDescriptor]; const descriptor = parseDescriptor(rawDescriptor); const name = `${descriptor.scope ? "@" + descriptor.scope + "/" : ""}${descriptor.name}`; const range = parseRange(descriptor.range); const protocol = range.protocol; switch (protocol) { case "npm:": case "file:": descriptors.push(`${name}@${range.selector}`); descriptors.push(`${name}@${protocol}${range.selector}`); break; case "git:": case "git+ssh:": case "git+http:": case "git+https:": case "github:": if (range.source) { descriptors.push(`${name}@${protocol}${range.source}${range.selector ? "#" + range.selector : ""}`); } else { descriptors.push(`${name}@${protocol}${range.selector}`); } break; case "patch:": if (range.source && range.selector.indexOf(BUILTIN_PLACEHOLDER) === 0) { descriptors.push(range.source); } else { descriptors.push(`${name}@${protocol}${range.source}${range.selector ? "#" + range.selector : ""}`); } break; case null: case void 0: if (range.source) { descriptors.push(`${name}@${range.source}#${range.selector}`); } else { descriptors.push(`${name}@${range.selector}`); } break; case "http:": case "https:": case "link:": case "portal:": case "exec:": case "workspace:": case "virtual:": default: descriptors.push(`${name}@${protocol}${range.selector}`); break; } return descriptors; }; var yarnLockFileKeyNormalizer = (parseDescriptor, parseRange) => (fullDescriptor) => { const allKeys = fullDescriptor.split(MULTIPLE_KEYS_REGEXP).map(keyNormalizer(parseDescriptor, parseRange)); return new Set(allKeys.flat(5)); }; exports2.yarnLockFileKeyNormalizer = yarnLockFileKeyNormalizer; } }); // ../pkg-manager/plugin-commands-installation/lib/import/index.js var require_import = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/import/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var constants_1 = require_lib5(); var error_1 = require_lib6(); var read_project_manifest_1 = require_lib16(); var store_connection_manager_1 = require_lib94(); var graceful_fs_1 = __importDefault2(require_lib15()); var core_1 = require_lib171(); var config_1 = require_lib23(); var workspace_find_packages_1 = require_lib105(); var logger_1 = require_lib(); var sort_packages_1 = require_lib130(); var rimraf_1 = __importDefault2(require_rimraf()); var load_json_file_1 = __importDefault2(require_load_json_file()); var map_1 = __importDefault2(require_map3()); var render_help_1 = __importDefault2(require_lib109()); var lockfile_1 = require_lockfile(); var structUtils = __importStar3(require_structUtils()); var parsers_1 = require_lib63(); var recursive_js_1 = require_recursive2(); var yarnUtil_js_1 = require_yarnUtil(); var YarnLockType; (function(YarnLockType2) { YarnLockType2["yarn"] = "yarn"; YarnLockType2["yarn2"] = "yarn2"; })(YarnLockType || (YarnLockType = {})); exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return {}; } function help() { return (0, render_help_1.default)({ description: `Generates ${constants_1.WANTED_LOCKFILE} from an npm package-lock.json (or npm-shrinkwrap.json, yarn.lock) file.`, url: (0, cli_utils_1.docsUrl)("import"), usages: [ "pnpm import" ] }); } exports2.commandNames = ["import"]; async function handler(opts, params) { await (0, rimraf_1.default)(path_1.default.join(opts.dir, constants_1.WANTED_LOCKFILE)); const versionsByPackageNames = {}; let preferredVersions = {}; if (fs_1.default.existsSync(path_1.default.join(opts.dir, "yarn.lock"))) { const yarnPackageLockFile = await readYarnLockFile(opts.dir); getAllVersionsFromYarnLockFile(yarnPackageLockFile, versionsByPackageNames); } else if (fs_1.default.existsSync(path_1.default.join(opts.dir, "package-lock.json")) || fs_1.default.existsSync(path_1.default.join(opts.dir, "npm-shrinkwrap.json"))) { const npmPackageLock = await readNpmLockfile(opts.dir); if (npmPackageLock.lockfileVersion < 3) { getAllVersionsByPackageNamesPreV3(npmPackageLock, versionsByPackageNames); } else { getAllVersionsByPackageNames(npmPackageLock, versionsByPackageNames); } } else { throw new error_1.PnpmError("LOCKFILE_NOT_FOUND", "No lockfile found"); } preferredVersions = getPreferredVersions(versionsByPackageNames); if (opts.workspaceDir) { const allProjects = opts.allProjects ?? await (0, workspace_find_packages_1.findWorkspacePackages)(opts.workspaceDir, { ...opts, patterns: opts.workspacePackagePatterns }); const selectedProjectsGraph = opts.selectedProjectsGraph ?? selectProjectByDir(allProjects, opts.dir); if (selectedProjectsGraph != null) { const sequencedGraph = (0, sort_packages_1.sequenceGraph)(selectedProjectsGraph); if (!opts.ignoreWorkspaceCycles && !sequencedGraph.safe) { const cyclicDependenciesInfo = sequencedGraph.cycles.length > 0 ? `: ${sequencedGraph.cycles.map((deps) => deps.join(", ")).join("; ")}` : ""; if (opts.disallowWorkspaceCycles) { throw new error_1.PnpmError("DISALLOW_WORKSPACE_CYCLES", `There are cyclic workspace dependencies${cyclicDependenciesInfo}`); } logger_1.logger.warn({ message: `There are cyclic workspace dependencies${cyclicDependenciesInfo}`, prefix: opts.workspaceDir }); } await (0, recursive_js_1.recursive)( allProjects, params, // @ts-expect-error { ...opts, lockfileOnly: true, selectedProjectsGraph, preferredVersions, workspaceDir: opts.workspaceDir }, "import" ); } return; } const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); const manifest = await (0, read_project_manifest_1.readProjectManifestOnly)(opts.dir); const manifestOpts = opts.rootProjectManifest ? (0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest) : {}; const installOpts = { ...opts, ...manifestOpts, lockfileOnly: true, preferredVersions, storeController: store.ctrl, storeDir: store.dir }; await (0, core_1.install)(manifest, installOpts); } async function readYarnLockFile(dir) { try { const yarnLockFile = await graceful_fs_1.default.readFile(path_1.default.join(dir, "yarn.lock"), "utf8"); const yarnLockFileType = getYarnLockfileType(yarnLockFile); if (yarnLockFileType === YarnLockType.yarn) { const lockJsonFile = (0, lockfile_1.parse)(yarnLockFile); if (lockJsonFile.type === "success") { return lockJsonFile.object; } else { throw new error_1.PnpmError("YARN_LOCKFILE_PARSE_FAILED", `Yarn.lock file was ${lockJsonFile.type}`); } } else if (yarnLockFileType === YarnLockType.yarn2) { const lockJsonFile = parseYarn2Lock(yarnLockFile); if (lockJsonFile.type === YarnLockType.yarn2) { return lockJsonFile.object; } } } catch (err) { if (err["code"] !== "ENOENT") throw err; } throw new error_1.PnpmError("YARN_LOCKFILE_NOT_FOUND", "No yarn.lock found"); } function parseYarn2Lock(lockFileContents) { const parseYarnLock = (0, parsers_1.parseSyml)(lockFileContents); delete parseYarnLock.__metadata; const dependencies = {}; const { parseDescriptor, parseRange } = structUtils; const keyNormalizer = (0, yarnUtil_js_1.yarnLockFileKeyNormalizer)(parseDescriptor, parseRange); for (const fullDescriptor in parseYarnLock) { const versionData = parseYarnLock[fullDescriptor]; for (const descriptor of keyNormalizer(fullDescriptor)) { dependencies[descriptor] = versionData; } } return { object: dependencies, type: YarnLockType.yarn2 }; } async function readNpmLockfile(dir) { try { return await (0, load_json_file_1.default)(path_1.default.join(dir, "package-lock.json")); } catch (err) { if (err["code"] !== "ENOENT") throw err; } try { return await (0, load_json_file_1.default)(path_1.default.join(dir, "npm-shrinkwrap.json")); } catch (err) { if (err["code"] !== "ENOENT") throw err; } throw new error_1.PnpmError("NPM_LOCKFILE_NOT_FOUND", "No package-lock.json or npm-shrinkwrap.json found"); } function getPreferredVersions(versionsByPackageNames) { const preferredVersions = (0, map_1.default)((versions) => Object.fromEntries(Array.from(versions).map((version2) => [version2, "version"])), versionsByPackageNames); return preferredVersions; } function getAllVersionsByPackageNamesPreV3(npmPackageLock, versionsByPackageNames) { if (npmPackageLock.dependencies == null) return; for (const [packageName, { version: version2 }] of Object.entries(npmPackageLock.dependencies)) { if (!versionsByPackageNames[packageName]) { versionsByPackageNames[packageName] = /* @__PURE__ */ new Set(); } versionsByPackageNames[packageName].add(version2); } for (const dep of Object.values(npmPackageLock.dependencies)) { getAllVersionsByPackageNamesPreV3(dep, versionsByPackageNames); } } function getAllVersionsByPackageNames(pkg, versionsByPackageNames) { if (pkg.dependencies) { extractDependencies(versionsByPackageNames, pkg.dependencies); } if ("packages" in pkg && pkg.packages) { extractDependencies(versionsByPackageNames, pkg.packages); } } function extractDependencies(versionsByPackageNames, dependencies) { for (let [pkgName, pkgDetails] of Object.entries(dependencies)) { if (pkgName.includes("node_modules")) { pkgName = pkgName.substring(pkgName.lastIndexOf("node_modules/") + 13); } if (!versionsByPackageNames[pkgName]) { versionsByPackageNames[pkgName] = /* @__PURE__ */ new Set(); } if (pkgDetails.version) { versionsByPackageNames[pkgName].add(pkgDetails.version); } if (pkgDetails.packages) { extractDependencies(versionsByPackageNames, pkgDetails.packages); } if (pkgDetails.dependencies) { for (const [pkgName1, version2] of Object.entries(pkgDetails.dependencies)) { if (!versionsByPackageNames[pkgName1]) { versionsByPackageNames[pkgName1] = /* @__PURE__ */ new Set(); } versionsByPackageNames[pkgName1].add(version2); } } } } function getAllVersionsFromYarnLockFile(yarnPackageLock, versionsByPackageNames) { for (const [packageName, { version: version2 }] of Object.entries(yarnPackageLock)) { const pkgName = packageName.substring(0, packageName.lastIndexOf("@")); if (!versionsByPackageNames[pkgName]) { versionsByPackageNames[pkgName] = /* @__PURE__ */ new Set(); } versionsByPackageNames[pkgName].add(version2); } } function selectProjectByDir(projects, searchedDir) { const project = projects.find(({ rootDir }) => path_1.default.relative(rootDir, searchedDir) === ""); if (project == null) return void 0; return { [searchedDir]: { dependencies: [], package: project } }; } function getYarnLockfileType(lockFileContents) { return lockFileContents.includes("__metadata") ? YarnLockType.yarn2 : YarnLockType.yarn; } } }); // ../pkg-manager/plugin-commands-installation/lib/index.js var require_lib176 = __commonJS({ "../pkg-manager/plugin-commands-installation/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.importCommand = exports2.update = exports2.unlink = exports2.remove = exports2.prune = exports2.link = exports2.install = exports2.fetch = exports2.dedupe = exports2.ci = exports2.add = void 0; var add = __importStar3(require_add2()); exports2.add = add; var ci = __importStar3(require_ci()); exports2.ci = ci; var dedupe = __importStar3(require_dedupe()); exports2.dedupe = dedupe; var install = __importStar3(require_install2()); exports2.install = install; var fetch = __importStar3(require_fetch3()); exports2.fetch = fetch; var link = __importStar3(require_link4()); exports2.link = link; var prune = __importStar3(require_prune3()); exports2.prune = prune; var remove = __importStar3(require_remove4()); exports2.remove = remove; var unlink = __importStar3(require_unlink()); exports2.unlink = unlink; var update = __importStar3(require_update2()); exports2.update = update; var importCommand = __importStar3(require_import()); exports2.importCommand = importCommand; } }); // ../releasing/plugin-commands-deploy/lib/deployHook.js var require_deployHook = __commonJS({ "../releasing/plugin-commands-deploy/lib/deployHook.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.deployHook = deployHook; var types_1 = require_lib9(); function deployHook(pkg) { pkg.dependenciesMeta = pkg.dependenciesMeta ?? {}; for (const depField of types_1.DEPENDENCIES_FIELDS) { for (const [depName, depVersion] of Object.entries(pkg[depField] ?? {})) { if (depVersion.startsWith("workspace:")) { pkg.dependenciesMeta[depName] = { injected: true }; } } } return pkg; } } }); // ../releasing/plugin-commands-deploy/lib/createDeployFiles.js var require_createDeployFiles = __commonJS({ "../releasing/plugin-commands-deploy/lib/createDeployFiles.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createDeployFiles = createDeployFiles; var path_1 = __importDefault2(require("path")); var url_1 = __importDefault2(require("url")); var normalize_path_1 = __importDefault2(require_normalize_path()); var pick_1 = __importDefault2(require_pick()); var constants_1 = require_lib5(); var dp = __importStar3(require_lib86()); var DEPENDENCIES_FIELD = ["dependencies", "devDependencies", "optionalDependencies"]; function createDeployFiles({ allProjects, deployDir, lockfile, lockfileDir, rootProjectManifest, selectedProjectManifest, projectId, rootProjectManifestDir }) { const deployedProjectRealPath = path_1.default.resolve(lockfileDir, projectId); const inputSnapshot = lockfile.importers[projectId]; const targetSnapshot = { ...inputSnapshot, specifiers: {}, dependencies: {}, devDependencies: {}, optionalDependencies: {} }; const targetPackageSnapshots = {}; for (const name in lockfile.packages) { const inputDepPath = name; const inputSnapshot2 = lockfile.packages[inputDepPath]; const resolveResult = resolveLinkOrFile(inputDepPath, { lockfileDir, projectRootDirRealPath: rootProjectManifestDir }); const outputDepPath = resolveResult ? createFileUrlDepPath(resolveResult, allProjects) : inputDepPath; targetPackageSnapshots[outputDepPath] = convertPackageSnapshot(inputSnapshot2, { allProjects, deployDir, deployedProjectRealPath, lockfileDir, projectRootDirRealPath: rootProjectManifestDir }); } for (const importerPath in lockfile.importers) { if (importerPath === projectId) continue; const projectSnapshot = lockfile.importers[importerPath]; const projectRootDirRealPath = path_1.default.resolve(lockfileDir, importerPath); const packageSnapshot = convertProjectSnapshotToPackageSnapshot(projectSnapshot, { allProjects, deployDir, lockfileDir, deployedProjectRealPath, projectRootDirRealPath }); const depPath = createFileUrlDepPath({ resolvedPath: projectRootDirRealPath }, allProjects); targetPackageSnapshots[depPath] = packageSnapshot; } for (const field of DEPENDENCIES_FIELD) { const targetDependencies = targetSnapshot[field] ?? {}; const targetSpecifiers = targetSnapshot.specifiers; const inputDependencies = inputSnapshot[field] ?? {}; for (const name in inputDependencies) { const version2 = inputDependencies[name]; const resolveResult = resolveLinkOrFile(version2, { lockfileDir, projectRootDirRealPath: path_1.default.resolve(lockfileDir, projectId) }); if (!resolveResult) { targetSpecifiers[name] = targetDependencies[name] = version2; continue; } targetSpecifiers[name] = targetDependencies[name] = resolveResult.resolvedPath === deployedProjectRealPath ? "link:." : createFileUrlDepPath(resolveResult, allProjects); } } const result2 = { lockfile: { ...lockfile, patchedDependencies: void 0, overrides: void 0, // the effects of the overrides should already be part of the package snapshots packageExtensionsChecksum: void 0, // the effects of the package extensions should already be part of the package snapshots pnpmfileChecksum: void 0, // the effects of the pnpmfile should already be part of the package snapshots settings: { ...lockfile.settings, injectWorkspacePackages: void 0 // the effects of injecting workspace packages should already be part of the lockfile }, importers: { ["."]: targetSnapshot }, packages: targetPackageSnapshots }, manifest: { ...selectedProjectManifest, dependencies: targetSnapshot.dependencies, devDependencies: targetSnapshot.devDependencies, optionalDependencies: targetSnapshot.optionalDependencies, pnpm: { ...rootProjectManifest?.pnpm, ...(0, pick_1.default)(constants_1.USEFUL_NON_ROOT_PNPM_FIELDS, selectedProjectManifest.pnpm ?? {}), overrides: void 0, // the effects of the overrides should already be part of the package snapshots patchedDependencies: void 0, packageExtensions: void 0 // the effects of the package extensions should already be part of the package snapshots } } }; if (lockfile.patchedDependencies) { result2.lockfile.patchedDependencies = {}; result2.manifest.pnpm.patchedDependencies = {}; for (const name in lockfile.patchedDependencies) { const patchInfo = lockfile.patchedDependencies[name]; const resolvedPath = path_1.default.resolve(rootProjectManifestDir, patchInfo.path); const relativePath = (0, normalize_path_1.default)(path_1.default.relative(deployDir, resolvedPath)); result2.manifest.pnpm.patchedDependencies[name] = relativePath; result2.lockfile.patchedDependencies[name] = { hash: patchInfo.hash, path: relativePath }; } } return result2; } function convertPackageSnapshot(inputSnapshot, opts) { const inputResolution = inputSnapshot.resolution; let outputResolution; if ("integrity" in inputResolution) { outputResolution = inputResolution; } else if ("tarball" in inputResolution) { outputResolution = { ...inputResolution }; if (inputResolution.tarball.startsWith("file:")) { const inputPath = inputResolution.tarball.slice("file:".length); const resolvedPath = path_1.default.resolve(opts.lockfileDir, inputPath); const outputPath = (0, normalize_path_1.default)(path_1.default.relative(opts.deployDir, resolvedPath)); outputResolution.tarball = `file:${outputPath}`; if (inputResolution.path) outputResolution.path = outputPath; } } else if (inputResolution.type === "directory") { const resolvedPath = path_1.default.resolve(opts.lockfileDir, inputResolution.directory); const directory = (0, normalize_path_1.default)(path_1.default.relative(opts.deployDir, resolvedPath)); outputResolution = { ...inputResolution, directory }; } else if (inputResolution.type === "git" || inputResolution.type === "variations") { outputResolution = inputResolution; } else { const resolution = inputResolution; throw new Error(`Unknown resolution type: ${JSON.stringify(resolution)}`); } return { ...inputSnapshot, resolution: outputResolution, dependencies: convertResolvedDependencies(inputSnapshot.dependencies, opts), optionalDependencies: convertResolvedDependencies(inputSnapshot.optionalDependencies, opts) }; } function convertProjectSnapshotToPackageSnapshot(projectSnapshot, opts) { const resolution = { type: "directory", directory: (0, normalize_path_1.default)(path_1.default.relative(opts.deployDir, opts.projectRootDirRealPath)) }; const dependencies = convertResolvedDependencies(projectSnapshot.dependencies, opts); const optionalDependencies = convertResolvedDependencies(projectSnapshot.optionalDependencies, opts); return { dependencies, optionalDependencies, resolution }; } function convertResolvedDependencies(input, opts) { if (!input) return void 0; const output = {}; for (const key in input) { const version2 = input[key]; const resolveResult = resolveLinkOrFile(version2, opts); if (!resolveResult) { output[key] = version2; continue; } if (resolveResult.resolvedPath === opts.deployedProjectRealPath) { output[key] = "link:."; continue; } output[key] = createFileUrlDepPath(resolveResult, opts.allProjects); } return output; } function resolveLinkOrFile(pkgVer, opts) { const { lockfileDir, projectRootDirRealPath } = opts; function resolveScheme(scheme, base) { if (!pkgVer.startsWith(scheme)) return void 0; const { id, peerDepGraphHash: suffix } = dp.parseDepPath(pkgVer.slice(scheme.length)); const resolvedPath = path_1.default.resolve(base, id); return { scheme, resolvedPath, suffix }; } const resolveSchemeResult = resolveScheme("file:", lockfileDir) ?? resolveScheme("link:", projectRootDirRealPath); if (resolveSchemeResult) return resolveSchemeResult; const { nonSemverVersion, patchHash, peerDepGraphHash, version: version2 } = dp.parse(pkgVer); if (!nonSemverVersion) return void 0; if (version2) { throw new Error(`Something goes wrong, version should be undefined but isn't: ${version2}`); } const parseResult = resolveLinkOrFile(nonSemverVersion, opts); if (!parseResult) return void 0; if (parseResult.suffix) { throw new Error(`Something goes wrong, suffix should be undefined but isn't: ${parseResult.suffix}`); } parseResult.suffix = `${patchHash ?? ""}${peerDepGraphHash ?? ""}`; return parseResult; } function createFileUrlDepPath({ resolvedPath, suffix }, allProjects) { const depFileUrl = url_1.default.pathToFileURL(resolvedPath).toString(); const project = allProjects.find((project2) => project2.rootDirRealPath === resolvedPath); const name = project?.manifest.name ?? path_1.default.basename(resolvedPath); return `${name}@${depFileUrl}${suffix ?? ""}`; } } }); // ../releasing/plugin-commands-deploy/lib/deploy.js var require_deploy = __commonJS({ "../releasing/plugin-commands-deploy/lib/deploy.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var pick_1 = __importDefault2(require_pick()); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var directory_fetcher_1 = require_lib58(); var fs_indexed_pkg_importer_1 = require_lib81(); var fs_is_empty_dir_or_nothing_1 = require_lib143(); var plugin_commands_installation_1 = require_lib176(); var common_cli_options_help_1 = require_lib116(); var error_1 = require_lib6(); var lockfile_fs_1 = require_lib121(); var rimraf_1 = __importDefault2(require_rimraf()); var render_help_1 = __importDefault2(require_lib109()); var deployHook_js_1 = require_deployHook(); var logger_1 = require_lib(); var createDeployFiles_js_1 = require_createDeployFiles(); var FORCE_LEGACY_DEPLOY = "force-legacy-deploy"; exports2.shorthands = { ...plugin_commands_installation_1.install.shorthands, legacy: [`--config.${FORCE_LEGACY_DEPLOY}=true`] }; var DEPLOY_OWN_OPTIONS = (0, pick_1.default)([FORCE_LEGACY_DEPLOY], config_1.types); function rcOptionsTypes() { return { ...plugin_commands_installation_1.install.rcOptionsTypes(), ...DEPLOY_OWN_OPTIONS }; } function cliOptionsTypes() { return { ...plugin_commands_installation_1.install.cliOptionsTypes(), ...DEPLOY_OWN_OPTIONS }; } exports2.commandNames = ["deploy"]; function help() { return (0, render_help_1.default)({ description: "Experimental! Deploy a package from a workspace", url: (0, cli_utils_1.docsUrl)("deploy"), usages: ["pnpm --filter= deploy "], descriptionLists: [ { title: "Options", list: [ { description: "Packages in `devDependencies` won't be installed", name: "--prod", shortAlias: "-P" }, { description: "Only `devDependencies` are installed", name: "--dev", shortAlias: "-D" }, { description: "`optionalDependencies` are not installed", name: "--no-optional" }, { description: "Force legacy deploy implementation", name: "--legacy" } ] }, common_cli_options_help_1.FILTERING ] }); } async function handler(opts, params) { if (!opts.workspaceDir) { let hint; if (opts.rootProjectManifest?.scripts?.["deploy"] != null) { hint = 'Maybe you wanted to invoke "pnpm run deploy"'; } throw new error_1.PnpmError("CANNOT_DEPLOY", "A deploy is only possible from inside a workspace", { hint }); } const selectedProjects = Object.values(opts.selectedProjectsGraph ?? {}); if (selectedProjects.length === 0) { throw new error_1.PnpmError("NOTHING_TO_DEPLOY", "No project was selected for deployment"); } if (selectedProjects.length > 1) { throw new error_1.PnpmError("CANNOT_DEPLOY_MANY", "Cannot deploy more than 1 project"); } if (params.length !== 1) { throw new error_1.PnpmError("INVALID_DEPLOY_TARGET", "This command requires one parameter"); } const selectedProject = selectedProjects[0].package; const deployDirParam = params[0]; const deployDir = path_1.default.isAbsolute(deployDirParam) ? deployDirParam : path_1.default.join(opts.dir, deployDirParam); if (!(0, fs_is_empty_dir_or_nothing_1.isEmptyDirOrNothing)(deployDir)) { if (!opts.force) { throw new error_1.PnpmError("DEPLOY_DIR_NOT_EMPTY", `Deploy path ${deployDir} is not empty`); } logger_1.logger.warn({ message: "using --force, deleting deploy path", prefix: deployDir }); } await (0, rimraf_1.default)(deployDir); await fs_1.default.promises.mkdir(deployDir, { recursive: true }); const includeOnlyPackageFiles = !opts.deployAllFiles; await copyProject(selectedProject.rootDir, deployDir, { includeOnlyPackageFiles }); if (opts.sharedWorkspaceLockfile) { const warning = opts.forceLegacyDeploy ? "Shared workspace lockfile detected but configuration forces legacy deploy implementation." : await deployFromSharedLockfile(opts, selectedProject, deployDir); if (warning) { (0, logger_1.globalWarn)(warning); } else { return; } } const deployedProject = opts.allProjects?.find(({ rootDir }) => rootDir === selectedProject.rootDir); if (deployedProject) { deployedProject.modulesDir = path_1.default.relative(selectedProject.rootDir, path_1.default.join(deployDir, "node_modules")); } await plugin_commands_installation_1.install.handler({ ...opts, confirmModulesPurge: false, // Deploy doesn't work with dedupePeerDependents=true currently as for deploy // we need to select a single project for install, while dedupePeerDependents // doesn't work with filters right now. // Related issue: https://github.com/pnpm/pnpm/issues/6858 dedupePeerDependents: false, // If enabled, dedupe-injected-deps will symlink workspace packages in the // deployed dir to their original (non-deployed) directory in an attempt to // dedupe workspace packages that don't need to be injected. The deployed // dir shouldn't have symlinks to the original workspace. Disable // dedupe-injected-deps to always inject workspace packages since copying is // desirable. dedupeInjectedDeps: false, // Compute the wanted lockfile correctly by setting pruneLockfileImporters. // Since pnpm deploy only installs dependencies for a single selected // project, other projects in the "importers" lockfile section will be // empty when node-linker=hoisted. // // For example, when deploying project-1, project-2 may not be populated, // even if it has dependencies. // // importers: // project-1: // dependencies: // foo: // specifier: ^1.0.0 // version: ^1.0.0 // project-2: {} // // Avoid including these empty importers in the in-memory wanted lockfile. // This is important when node-linker=hoisted to prevent project-2 from // being included in the hoisted install. If project-2 is errantly hoisted // to the root node_modules dir, downstream logic will fail to inject it to // the deploy directory. It's also just weird to include empty importers // that don't matter to the filtered lockfile generated for pnpm deploy. pruneLockfileImporters: true, depth: Infinity, hooks: { ...opts.hooks, readPackage: [ ...opts.hooks?.readPackage ?? [], deployHook_js_1.deployHook ] }, frozenLockfile: false, preferFrozenLockfile: false, // Deploy doesn't work currently with hoisted node_modules. // TODO: make it work as we need to prefer packages from the lockfile during deployment. useLockfile: opts.nodeLinker !== "hoisted", saveLockfile: false, virtualStoreDir: path_1.default.join(deployDir, "node_modules/.pnpm"), modulesDir: path_1.default.relative(opts.workspaceDir, path_1.default.join(deployDir, "node_modules")), rawLocalConfig: { ...opts.rawLocalConfig, // This is a workaround to prevent frozen install in CI envs. "frozen-lockfile": false }, includeOnlyPackageFiles }); } async function copyProject(src, dest, opts) { const { filesIndex } = await (0, directory_fetcher_1.fetchFromDir)(src, opts); const importPkg = (0, fs_indexed_pkg_importer_1.createIndexedPkgImporter)("clone-or-copy"); importPkg(dest, { filesMap: filesIndex, force: true, resolvedFrom: "local-dir" }); } async function deployFromSharedLockfile(opts, selectedProject, deployDir) { if (!opts.injectWorkspacePackages) { throw new error_1.PnpmError("DEPLOY_NONINJECTED_WORKSPACE", 'By default, starting from pnpm v10, we only deploy from workspaces that have "inject-workspace-packages=true" set', { hint: 'If you want to deploy without using injected dependencies, run "pnpm deploy" with the "--legacy" flag or set "force-legacy-deploy" to true' }); } const { allProjects, lockfileDir, rootProjectManifest, rootProjectManifestDir, workspaceDir } = opts; if (!allProjects) throw new Error("opts.allProjects is undefined."); if (!lockfileDir) throw new Error("opts.lockfileDir is undefined."); if (!workspaceDir) throw new Error("opts.workspaceDir is undefined."); const lockfile = await (0, lockfile_fs_1.readWantedLockfile)(lockfileDir, { ignoreIncompatible: false }); if (!lockfile) { return "Shared lockfile not found. Falling back to installing without a lockfile."; } const projectId = (0, lockfile_fs_1.getLockfileImporterId)(lockfileDir, selectedProject.rootDir); const deployFiles = (0, createDeployFiles_js_1.createDeployFiles)({ allProjects, deployDir, lockfile, lockfileDir, rootProjectManifest, selectedProjectManifest: selectedProject.manifest, projectId, rootProjectManifestDir }); await Promise.all([ fs_1.default.promises.writeFile(path_1.default.join(deployDir, "package.json"), JSON.stringify(deployFiles.manifest, void 0, 2) + "\n"), (0, lockfile_fs_1.writeWantedLockfile)(deployDir, deployFiles.lockfile) ]); try { await plugin_commands_installation_1.install.handler({ ...opts, allProjects: void 0, allProjectsGraph: void 0, selectedProjectsGraph: void 0, rootProjectManifest: deployFiles.manifest, rootProjectManifestDir: deployDir, dir: deployDir, lockfileDir: deployDir, workspaceDir: void 0, virtualStoreDir: void 0, modulesDir: void 0, confirmModulesPurge: false, frozenLockfile: true, injectWorkspacePackages: void 0, // the effects of injecting workspace packages should already be part of the package snapshots overrides: void 0, // the effects of the overrides should already be part of the package snapshots hooks: { ...opts.hooks, readPackage: [ ...opts.hooks?.readPackage ?? [], deployHook_js_1.deployHook ], calculatePnpmfileChecksum: void 0 // the effects of the pnpmfile should already be part of the package snapshots }, rawLocalConfig: { ...opts.rawLocalConfig, "frozen-lockfile": true } }); } catch (error) { (0, logger_1.globalWarn)(`Deployment with a shared lockfile has failed. If this is a bug, please report it at . As a workaround, add the following to pnpm-workspace.yaml: forceLegacyDeploy: true`); throw error; } return void 0; } } }); // ../releasing/plugin-commands-deploy/lib/index.js var require_lib177 = __commonJS({ "../releasing/plugin-commands-deploy/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.deploy = void 0; var deploy = __importStar3(require_deploy()); exports2.deploy = deploy; } }); // ../exec/pnpm-cli-runner/lib/index.js var require_lib178 = __commonJS({ "../exec/pnpm-cli-runner/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.runPnpmCli = runPnpmCli; var path_1 = __importDefault2(require("path")); var execa_1 = require_lib17(); function runPnpmCli(command, { cwd }) { const execOpts = { cwd, stdio: "inherit" }; const execFileName = path_1.default.basename(process.execPath).toLowerCase(); if (execFileName === "pnpm" || execFileName === "pnpm.exe") { (0, execa_1.sync)(process.execPath, command, execOpts); } else if (path_1.default.basename(process.argv[1]) === "pnpm.cjs") { (0, execa_1.sync)(process.execPath, [process.argv[1], ...command], execOpts); } else { (0, execa_1.sync)("pnpm", command, execOpts); } } } }); // ../tools/path/lib/index.js var require_lib179 = __commonJS({ "../tools/path/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getToolDirPath = getToolDirPath; var path_1 = __importDefault2(require("path")); function getToolDirPath(opts) { return path_1.default.join(opts.pnpmHomeDir, ".tools", opts.tool.name.replaceAll("/", "+"), opts.tool.version); } } }); // ../tools/plugin-commands-self-updater/lib/installPnpmToTools.js var require_installPnpmToTools = __commonJS({ "../tools/plugin-commands-self-updater/lib/installPnpmToTools.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.installPnpmToTools = installPnpmToTools; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var cli_meta_1 = require_lib4(); var exec_pnpm_cli_runner_1 = require_lib178(); var tools_path_1 = require_lib179(); var rimraf_1 = require_rimraf(); var path_temp_1 = require_path_temp(); var semver_12 = __importDefault2(require_semver2()); var symlink_dir_1 = __importDefault2(require_dist18()); async function installPnpmToTools(pnpmVersion, opts) { const currentPkgName = semver_12.default.gt(pnpmVersion, "11.0.0-alpha") ? "pnpm" : (0, cli_meta_1.getCurrentPackageName)(); const dir = (0, tools_path_1.getToolDirPath)({ pnpmHomeDir: opts.pnpmHomeDir, tool: { name: currentPkgName, version: pnpmVersion } }); const binDir = path_1.default.join(dir, "bin"); const alreadyExisted = fs_1.default.existsSync(binDir); if (alreadyExisted) { return { alreadyExisted, baseDir: dir, binDir }; } const stage = (0, path_temp_1.fastPathTemp)(dir); fs_1.default.mkdirSync(stage, { recursive: true }); fs_1.default.writeFileSync(path_1.default.join(stage, "package.json"), "{}"); try { (0, exec_pnpm_cli_runner_1.runPnpmCli)([ "add", `${currentPkgName}@${pnpmVersion}`, "--loglevel=error", "--allow-build=@pnpm/exe", "--no-dangerously-allow-all-builds", // We want to avoid symlinks because of the rename step, // which breaks the junctions on Windows. "--config.node-linker=hoisted", "--config.bin=bin" ], { cwd: stage }); symlink_dir_1.default.sync(stage, dir); } catch (err) { try { (0, rimraf_1.sync)(stage); } catch { } throw err; } return { alreadyExisted, baseDir: dir, binDir }; } } }); // ../tools/plugin-commands-self-updater/lib/selfUpdate.js var require_selfUpdate = __commonJS({ "../tools/plugin-commands-self-updater/lib/selfUpdate.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var cli_meta_1 = require_lib4(); var client_1 = require_lib78(); var config_1 = require_lib23(); var error_1 = require_lib6(); var logger_1 = require_lib22(); var read_project_manifest_1 = require_lib16(); var link_bins_1 = require_lib69(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var installPnpmToTools_js_1 = require_installPnpmToTools(); function rcOptionsTypes() { return (0, pick_1.default)([], config_1.types); } function cliOptionsTypes() { return { ...rcOptionsTypes() }; } exports2.commandNames = ["self-update"]; function help() { return (0, render_help_1.default)({ description: "Updates pnpm to the latest version (or the one specified)", descriptionLists: [], url: (0, cli_utils_1.docsUrl)("self-update"), usages: [ "pnpm self-update", "pnpm self-update 9", "pnpm self-update next-10", "pnpm self-update 9.10.0" ] }); } async function handler(opts, params) { if ((0, cli_meta_1.isExecutedByCorepack)()) { throw new error_1.PnpmError("CANT_SELF_UPDATE_IN_COREPACK", "You should update pnpm with corepack"); } const { resolve } = (0, client_1.createResolver)({ ...opts, authConfig: opts.rawConfig }); const pkgName = "pnpm"; const bareSpecifier = params[0] ?? "latest"; const resolution = await resolve({ alias: pkgName, bareSpecifier }, { lockfileDir: opts.lockfileDir ?? opts.dir, preferredVersions: {}, projectDir: opts.dir }); if (!resolution?.manifest) { throw new error_1.PnpmError("CANNOT_RESOLVE_PNPM", `Cannot find "${bareSpecifier}" version of pnpm`); } if (opts.wantedPackageManager?.name === cli_meta_1.packageManager.name && opts.managePackageManagerVersions) { if (opts.wantedPackageManager?.version !== resolution.manifest.version) { const { manifest, writeProjectManifest } = await (0, read_project_manifest_1.readProjectManifest)(opts.rootProjectManifestDir); manifest.packageManager = `pnpm@${resolution.manifest.version}`; await writeProjectManifest(manifest); return `The current project has been updated to use pnpm v${resolution.manifest.version}`; } else { return `The current project is already set to use pnpm v${resolution.manifest.version}`; } } if (resolution.manifest.version === cli_meta_1.packageManager.version) { return `The currently active ${cli_meta_1.packageManager.name} v${cli_meta_1.packageManager.version} is already "${bareSpecifier}" and doesn't need an update`; } const { baseDir, alreadyExisted } = await (0, installPnpmToTools_js_1.installPnpmToTools)(resolution.manifest.version, opts); await (0, link_bins_1.linkBins)(path_1.default.join(baseDir, "node_modules"), opts.pnpmHomeDir, { warn: logger_1.globalWarn }); return alreadyExisted ? `The ${bareSpecifier} version, v${resolution.manifest.version}, is already present on the system. It was activated by linking it from ${baseDir}.` : void 0; } } }); // ../tools/plugin-commands-self-updater/lib/index.js var require_lib180 = __commonJS({ "../tools/plugin-commands-self-updater/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.selfUpdate = exports2.installPnpmToTools = void 0; var selfUpdate = __importStar3(require_selfUpdate()); exports2.selfUpdate = selfUpdate; var installPnpmToTools_js_1 = require_installPnpmToTools(); Object.defineProperty(exports2, "installPnpmToTools", { enumerable: true, get: function() { return installPnpmToTools_js_1.installPnpmToTools; } }); } }); // ../reviewing/dependencies-hierarchy/lib/getPkgInfo.js var require_getPkgInfo = __commonJS({ "../reviewing/dependencies-hierarchy/lib/getPkgInfo.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPkgInfo = getPkgInfo; var path_1 = __importDefault2(require("path")); var lockfile_utils_1 = require_lib125(); var lockfile_detect_dep_types_1 = require_lib133(); var dependency_path_1 = require_lib86(); var read_package_json_1 = require_lib61(); var normalize_path_1 = __importDefault2(require_normalize_path()); function getPkgInfo(opts) { let name; let version2; let resolved; let depType; let optional; let isSkipped = false; let isMissing = false; const depPath = (0, dependency_path_1.refToRelative)(opts.ref, opts.alias); if (depPath) { let pkgSnapshot; if (opts.currentPackages[depPath]) { pkgSnapshot = opts.currentPackages[depPath]; const parsed = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); name = parsed.name; version2 = parsed.version; } else { pkgSnapshot = opts.wantedPackages[depPath]; if (pkgSnapshot) { const parsed = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); name = parsed.name; version2 = parsed.version; } else { name = opts.alias; version2 = opts.ref; } isMissing = true; isSkipped = opts.skipped.has(depPath); } resolved = (0, lockfile_utils_1.pkgSnapshotToResolution)(depPath, pkgSnapshot, opts.registries).tarball; depType = opts.depTypes[depPath]; optional = pkgSnapshot.optional; } else { name = opts.alias; version2 = opts.ref; } if (!version2) { version2 = opts.ref; } const fullPackagePath = depPath ? path_1.default.join(opts.virtualStoreDir ?? ".pnpm", (0, dependency_path_1.depPathToFilename)(depPath, opts.virtualStoreDirMaxLength), "node_modules", name) : path_1.default.join(opts.linkedPathBaseDir, opts.ref.slice(5)); if (version2.startsWith("link:") && opts.rewriteLinkVersionDir) { version2 = `link:${(0, normalize_path_1.default)(path_1.default.relative(opts.rewriteLinkVersionDir, fullPackagePath))}`; } const packageInfo = { alias: opts.alias, isMissing, isPeer: Boolean(opts.peers?.has(opts.alias)), isSkipped, name, path: fullPackagePath, version: version2 }; if (resolved) { packageInfo.resolved = resolved; } if (optional === true) { packageInfo.optional = true; } if (depType === lockfile_detect_dep_types_1.DepType.DevOnly) { packageInfo.dev = true; } else if (depType === lockfile_detect_dep_types_1.DepType.ProdOnly) { packageInfo.dev = false; } return { pkgInfo: packageInfo, readManifest: () => (0, read_package_json_1.readPackageJsonFromDirSync)(fullPackagePath) }; } } }); // ../reviewing/dependencies-hierarchy/lib/getTreeNodeChildId.js var require_getTreeNodeChildId = __commonJS({ "../reviewing/dependencies-hierarchy/lib/getTreeNodeChildId.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getTreeNodeChildId = getTreeNodeChildId; var dependency_path_1 = require_lib86(); var path_1 = __importDefault2(require("path")); var lockfile_fs_1 = require_lib121(); function getTreeNodeChildId(opts) { const depPath = (0, dependency_path_1.refToRelative)(opts.dep.ref, opts.dep.alias); if (depPath !== null) { return { type: "package", depPath }; } switch (opts.parentId.type) { case "importer": { const linkValue = opts.dep.ref.slice("link:".length); const absoluteLinkedPath = path_1.default.join(opts.lockfileDir, opts.parentId.importerId, linkValue); const childImporterId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, absoluteLinkedPath); const isLinkOutsideWorkspace = opts.importers[childImporterId] == null; return isLinkOutsideWorkspace ? void 0 : { type: "importer", importerId: childImporterId }; } case "package": return void 0; } } } }); // ../reviewing/dependencies-hierarchy/lib/TreeNodeId.js var require_TreeNodeId = __commonJS({ "../reviewing/dependencies-hierarchy/lib/TreeNodeId.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.serializeTreeNodeId = serializeTreeNodeId; function serializeTreeNodeId(treeNodeId) { switch (treeNodeId.type) { case "importer": { const { type, importerId } = treeNodeId; return JSON.stringify({ type, importerId }); } case "package": { const { type, depPath } = treeNodeId; return JSON.stringify({ type, depPath }); } } } } }); // ../reviewing/dependencies-hierarchy/lib/DependenciesCache.js var require_DependenciesCache = __commonJS({ "../reviewing/dependencies-hierarchy/lib/DependenciesCache.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DependenciesCache = void 0; var TreeNodeId_js_1 = require_TreeNodeId(); var DependenciesCache = class { fullyVisitedCache = /* @__PURE__ */ new Map(); /** * Maps cacheKey -> visitedDepth -> dependencies */ partiallyVisitedCache = /* @__PURE__ */ new Map(); get(args) { const cacheKey = (0, TreeNodeId_js_1.serializeTreeNodeId)(args.parentId); const fullyVisitedEntry = this.fullyVisitedCache.get(cacheKey); if (fullyVisitedEntry !== void 0 && fullyVisitedEntry.height <= args.requestedDepth) { return { dependencies: fullyVisitedEntry.dependencies, height: fullyVisitedEntry.height, circular: false }; } const partiallyVisitedEntry = this.partiallyVisitedCache.get(cacheKey)?.get(args.requestedDepth); if (partiallyVisitedEntry != null) { return { dependencies: partiallyVisitedEntry, height: "unknown", circular: false }; } return void 0; } addFullyVisitedResult(treeNodeId, result2) { const cacheKey = (0, TreeNodeId_js_1.serializeTreeNodeId)(treeNodeId); this.fullyVisitedCache.set(cacheKey, result2); } addPartiallyVisitedResult(treeNodeId, result2) { const cacheKey = (0, TreeNodeId_js_1.serializeTreeNodeId)(treeNodeId); const dependenciesByDepth = this.partiallyVisitedCache.get(cacheKey) ?? /* @__PURE__ */ new Map(); if (!this.partiallyVisitedCache.has(cacheKey)) { this.partiallyVisitedCache.set(cacheKey, dependenciesByDepth); } dependenciesByDepth.set(result2.depth, result2.dependencies); } }; exports2.DependenciesCache = DependenciesCache; } }); // ../reviewing/dependencies-hierarchy/lib/getTree.js var require_getTree = __commonJS({ "../reviewing/dependencies-hierarchy/lib/getTree.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getTree = getTree; var path_1 = __importDefault2(require("path")); var getPkgInfo_js_1 = require_getPkgInfo(); var getTreeNodeChildId_js_1 = require_getTreeNodeChildId(); var DependenciesCache_js_1 = require_DependenciesCache(); var TreeNodeId_js_1 = require_TreeNodeId(); function getTree(opts, parentId) { const dependenciesCache = new DependenciesCache_js_1.DependenciesCache(); return getTreeHelper(dependenciesCache, opts, Keypath.initialize(parentId), parentId).dependencies; } function getTreeHelper(dependenciesCache, opts, keypath, parentId) { if (opts.maxDepth <= 0) { return { dependencies: [], height: "unknown" }; } function getSnapshot(treeNodeId) { switch (treeNodeId.type) { case "importer": return opts.importers[treeNodeId.importerId]; case "package": return opts.currentPackages[treeNodeId.depPath]; } } const snapshot = getSnapshot(parentId); if (!snapshot) { return { dependencies: [], height: 0 }; } const deps = !opts.includeOptionalDependencies ? snapshot.dependencies : { ...snapshot.dependencies, ...snapshot.optionalDependencies }; if (deps == null) { return { dependencies: [], height: 0 }; } const childTreeMaxDepth = opts.maxDepth - 1; const getChildrenTree = getTreeHelper.bind(null, dependenciesCache, { ...opts, maxDepth: childTreeMaxDepth }); function getPeerDependencies() { switch (parentId.type) { case "importer": return void 0; case "package": return opts.currentPackages[parentId.depPath]?.peerDependencies; } } const peers = new Set(Object.keys(getPeerDependencies() ?? {})); function getLinkedPathBaseDir() { switch (parentId.type) { case "importer": return path_1.default.join(opts.lockfileDir, parentId.importerId); case "package": return opts.lockfileDir; } } const linkedPathBaseDir = getLinkedPathBaseDir(); const resultDependencies = []; let resultHeight = 0; let resultCircular = false; for (const alias in deps) { const ref = deps[alias]; const { pkgInfo: packageInfo, readManifest } = (0, getPkgInfo_js_1.getPkgInfo)({ alias, currentPackages: opts.currentPackages, depTypes: opts.depTypes, rewriteLinkVersionDir: opts.rewriteLinkVersionDir, linkedPathBaseDir, peers, ref, registries: opts.registries, skipped: opts.skipped, wantedPackages: opts.wantedPackages, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }); let circular; const matchedSearched = opts.search?.({ alias, name: packageInfo.name, version: packageInfo.version, readManifest }); let newEntry = null; const nodeId = (0, getTreeNodeChildId_js_1.getTreeNodeChildId)({ parentId, dep: { alias, ref }, lockfileDir: opts.lockfileDir, importers: opts.importers }); if (opts.onlyProjects && nodeId?.type !== "importer") { continue; } else if (nodeId == null) { circular = false; if (opts.search == null || matchedSearched) { newEntry = packageInfo; } } else { let dependencies; circular = keypath.includes(nodeId); if (circular) { dependencies = []; } else { const cacheEntry = dependenciesCache.get({ parentId: nodeId, requestedDepth: childTreeMaxDepth }); const children = cacheEntry ?? getChildrenTree(keypath.concat(nodeId), nodeId); if (cacheEntry == null && !children.circular) { if (children.height === "unknown") { dependenciesCache.addPartiallyVisitedResult(nodeId, { dependencies: children.dependencies, depth: childTreeMaxDepth }); } else { dependenciesCache.addFullyVisitedResult(nodeId, { dependencies: children.dependencies, height: children.height }); } } const heightOfCurrentDepNode = children.height === "unknown" ? "unknown" : children.height + 1; dependencies = children.dependencies; resultHeight = resultHeight === "unknown" || heightOfCurrentDepNode === "unknown" ? "unknown" : Math.max(resultHeight, heightOfCurrentDepNode); resultCircular = resultCircular || (children.circular ?? false); } if (dependencies.length > 0) { newEntry = { ...packageInfo, dependencies }; } else if (opts.search == null || matchedSearched) { newEntry = packageInfo; } } if (newEntry != null) { if (circular) { newEntry.circular = true; resultCircular = true; } if (matchedSearched) { newEntry.searched = true; if (typeof matchedSearched === "string") { newEntry.searchMessage = matchedSearched; } } if (!newEntry.isPeer || !opts.excludePeerDependencies || newEntry.dependencies?.length) { resultDependencies.push(newEntry); } } } const result2 = { dependencies: resultDependencies, height: resultHeight }; if (resultCircular) { result2.circular = resultCircular; } return result2; } var Keypath = class _Keypath { keypath; constructor(keypath) { this.keypath = keypath; } static initialize(treeNodeId) { return new _Keypath([(0, TreeNodeId_js_1.serializeTreeNodeId)(treeNodeId)]); } includes(treeNodeId) { return this.keypath.includes((0, TreeNodeId_js_1.serializeTreeNodeId)(treeNodeId)); } concat(treeNodeId) { return new _Keypath([...this.keypath, (0, TreeNodeId_js_1.serializeTreeNodeId)(treeNodeId)]); } }; } }); // ../reviewing/dependencies-hierarchy/lib/buildDependenciesHierarchy.js var require_buildDependenciesHierarchy = __commonJS({ "../reviewing/dependencies-hierarchy/lib/buildDependenciesHierarchy.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.buildDependenciesHierarchy = buildDependenciesHierarchy; var path_1 = __importDefault2(require("path")); var lockfile_fs_1 = require_lib121(); var lockfile_detect_dep_types_1 = require_lib133(); var modules_yaml_1 = require_lib115(); var normalize_registries_1 = require_lib122(); var read_modules_dir_1 = require_lib68(); var read_package_json_1 = require_lib61(); var types_1 = require_lib9(); var normalize_path_1 = __importDefault2(require_normalize_path()); var realpath_missing_1 = __importDefault2(require_realpath_missing()); var resolve_link_target_1 = __importDefault2(require_resolve_link_target()); var getTree_js_1 = require_getTree(); var getTreeNodeChildId_js_1 = require_getTreeNodeChildId(); var getPkgInfo_js_1 = require_getPkgInfo(); async function buildDependenciesHierarchy(projectPaths, maybeOpts) { if (!maybeOpts?.lockfileDir) { throw new TypeError("opts.lockfileDir is required"); } const modulesDir = await (0, realpath_missing_1.default)(path_1.default.join(maybeOpts.lockfileDir, maybeOpts.modulesDir ?? "node_modules")); const modules = await (0, modules_yaml_1.readModulesManifest)(modulesDir); const registries = (0, normalize_registries_1.normalizeRegistries)({ ...maybeOpts?.registries, ...modules?.registries }); const internalPnpmDir = path_1.default.join(modulesDir, ".pnpm"); const currentLockfile = await (0, lockfile_fs_1.readCurrentLockfile)(internalPnpmDir, { ignoreIncompatible: false }); const wantedLockfile = await (0, lockfile_fs_1.readWantedLockfile)(maybeOpts.lockfileDir, { ignoreIncompatible: false }); if (projectPaths == null) { projectPaths = Object.keys(wantedLockfile?.importers ?? {}).map((id) => path_1.default.join(maybeOpts.lockfileDir, id)); } const result2 = {}; const lockfileToUse = maybeOpts.checkWantedLockfileOnly ? wantedLockfile : currentLockfile; if (!lockfileToUse) { for (const projectPath of projectPaths) { result2[projectPath] = {}; } return result2; } const opts = { depth: maybeOpts.depth || 0, excludePeerDependencies: maybeOpts.excludePeerDependencies, include: maybeOpts.include ?? { dependencies: true, devDependencies: true, optionalDependencies: true }, lockfileDir: maybeOpts.lockfileDir, checkWantedLockfileOnly: maybeOpts.checkWantedLockfileOnly, onlyProjects: maybeOpts.onlyProjects, registries, search: maybeOpts.search, skipped: new Set(modules?.skipped ?? []), modulesDir: maybeOpts.modulesDir, virtualStoreDir: modules?.virtualStoreDir, virtualStoreDirMaxLength: modules?.virtualStoreDirMaxLength ?? maybeOpts.virtualStoreDirMaxLength }; const pairs = await Promise.all(projectPaths.map(async (projectPath) => { return [ projectPath, await dependenciesHierarchyForPackage(projectPath, lockfileToUse, wantedLockfile, opts) ]; })); for (const [projectPath, dependenciesHierarchy] of pairs) { result2[projectPath] = dependenciesHierarchy; } return result2; } async function dependenciesHierarchyForPackage(projectPath, currentLockfile, wantedLockfile, opts) { const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, projectPath); if (!currentLockfile.importers[importerId]) return {}; const modulesDir = path_1.default.join(projectPath, opts.modulesDir ?? "node_modules"); const savedDeps = getAllDirectDependencies(currentLockfile.importers[importerId]); const allDirectDeps = await (0, read_modules_dir_1.readModulesDir)(modulesDir) ?? []; const unsavedDeps = allDirectDeps.filter((directDep) => !savedDeps[directDep]); const depTypes = (0, lockfile_detect_dep_types_1.detectDepTypes)(currentLockfile); const getChildrenTree = getTree_js_1.getTree.bind(null, { currentPackages: currentLockfile.packages ?? {}, excludePeerDependencies: opts.excludePeerDependencies, importers: currentLockfile.importers, includeOptionalDependencies: opts.include.optionalDependencies, depTypes, lockfileDir: opts.lockfileDir, onlyProjects: opts.onlyProjects, rewriteLinkVersionDir: projectPath, maxDepth: opts.depth, registries: opts.registries, search: opts.search, skipped: opts.skipped, wantedPackages: wantedLockfile?.packages ?? {}, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }); const parentId = { type: "importer", importerId }; const result2 = {}; for (const dependenciesField of types_1.DEPENDENCIES_FIELDS.sort().filter((dependenciesField2) => opts.include[dependenciesField2])) { const topDeps = currentLockfile.importers[importerId][dependenciesField] ?? {}; result2[dependenciesField] = []; for (const alias in topDeps) { const ref = topDeps[alias]; const { pkgInfo: packageInfo, readManifest } = (0, getPkgInfo_js_1.getPkgInfo)({ alias, currentPackages: currentLockfile.packages ?? {}, depTypes, rewriteLinkVersionDir: projectPath, linkedPathBaseDir: projectPath, ref, registries: opts.registries, skipped: opts.skipped, wantedPackages: wantedLockfile?.packages ?? {}, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }); let newEntry = null; const matchedSearched = opts.search?.({ alias, name: packageInfo.name, version: packageInfo.version, readManifest }); const nodeId = (0, getTreeNodeChildId_js_1.getTreeNodeChildId)({ parentId, dep: { alias, ref }, lockfileDir: opts.lockfileDir, importers: currentLockfile.importers }); if (opts.onlyProjects && nodeId?.type !== "importer") { continue; } else if (nodeId == null) { if (opts.search != null && !matchedSearched) continue; newEntry = packageInfo; } else { const dependencies = getChildrenTree(nodeId); if (dependencies.length > 0) { newEntry = { ...packageInfo, dependencies }; } else if (opts.search == null || matchedSearched) { newEntry = packageInfo; } } if (newEntry != null) { if (matchedSearched) { newEntry.searched = true; if (typeof matchedSearched === "string") { newEntry.searchMessage = matchedSearched; } } result2[dependenciesField].push(newEntry); } } } await Promise.all(unsavedDeps.map(async (unsavedDep) => { let pkgPath = path_1.default.join(modulesDir, unsavedDep); let version2; try { pkgPath = await (0, resolve_link_target_1.default)(pkgPath); version2 = `link:${(0, normalize_path_1.default)(path_1.default.relative(projectPath, pkgPath))}`; } catch { const pkg2 = await (0, read_package_json_1.safeReadPackageJsonFromDir)(pkgPath); version2 = pkg2?.version ?? "undefined"; } const pkg = { alias: unsavedDep, isMissing: false, isPeer: false, isSkipped: false, name: unsavedDep, path: pkgPath, version: version2 }; const matchedSearched = opts.search?.({ alias: pkg.alias, name: pkg.name, version: pkg.version, readManifest: () => (0, read_package_json_1.readPackageJsonFromDirSync)(pkgPath) }); if (opts.search != null && !matchedSearched) return; const newEntry = pkg; if (matchedSearched) { newEntry.searched = true; if (typeof matchedSearched === "string") { newEntry.searchMessage = matchedSearched; } } result2.unsavedDependencies = result2.unsavedDependencies ?? []; result2.unsavedDependencies.push(newEntry); })); return result2; } function getAllDirectDependencies(projectSnapshot) { return { ...projectSnapshot.dependencies, ...projectSnapshot.devDependencies, ...projectSnapshot.optionalDependencies }; } } }); // ../reviewing/dependencies-hierarchy/lib/createPackagesSearcher.js var require_createPackagesSearcher = __commonJS({ "../reviewing/dependencies-hierarchy/lib/createPackagesSearcher.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPackagesSearcher = createPackagesSearcher; var matcher_1 = require_lib19(); var npm_package_arg_1 = __importDefault2(require_npa()); var semver_12 = __importDefault2(require_semver2()); function createPackagesSearcher(queries, finders) { const searchers = queries.map(parseSearchQuery).map((packageSelector) => search.bind(null, packageSelector)); return (pkg) => { if (searchers.length > 0 && searchers.some((search2) => search2(pkg))) { return true; } if (finders == null) return false; const messages = []; let found = false; for (const finder of finders) { const result2 = finder(pkg); if (result2) { found = true; if (typeof result2 === "string") { messages.push(result2); } } } if (messages.length) return messages.join("\n"); return found; }; } function search(packageSelector, { alias, name, version: version2 }) { const nameMatches = packageSelector.matchName(name) || packageSelector.matchName(alias); if (!nameMatches) { return false; } if (packageSelector.matchVersion == null) { return true; } return !version2.startsWith("link:") && packageSelector.matchVersion(version2); } function parseSearchQuery(query) { const parsed = (0, npm_package_arg_1.default)(query); if (parsed.raw === parsed.name) { return { matchName: (0, matcher_1.createMatcher)(parsed.name) }; } if (parsed.type !== "version" && parsed.type !== "range") { throw new Error(`Invalid query - ${query}. List can search only by version or range`); } return { matchName: (0, matcher_1.createMatcher)(parsed.name), matchVersion: (version2) => semver_12.default.satisfies(version2, parsed.fetchSpec) }; } } }); // ../reviewing/dependencies-hierarchy/lib/index.js var require_lib181 = __commonJS({ "../reviewing/dependencies-hierarchy/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createPackagesSearcher = exports2.buildDependenciesHierarchy = void 0; var buildDependenciesHierarchy_js_1 = require_buildDependenciesHierarchy(); Object.defineProperty(exports2, "buildDependenciesHierarchy", { enumerable: true, get: function() { return buildDependenciesHierarchy_js_1.buildDependenciesHierarchy; } }); var createPackagesSearcher_js_1 = require_createPackagesSearcher(); Object.defineProperty(exports2, "createPackagesSearcher", { enumerable: true, get: function() { return createPackagesSearcher_js_1.createPackagesSearcher; } }); } }); // ../reviewing/list/lib/readPkg.js var require_readPkg = __commonJS({ "../reviewing/list/lib/readPkg.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readPkg = readPkg; var read_package_json_1 = require_lib61(); var p_limit_12 = __importDefault2(require_p_limit()); var limitPkgReads = (0, p_limit_12.default)(4); async function readPkg(pkgPath) { return limitPkgReads(async () => (0, read_package_json_1.readPackageJson)(pkgPath)); } } }); // ../reviewing/list/lib/getPkgInfo.js var require_getPkgInfo2 = __commonJS({ "../reviewing/list/lib/getPkgInfo.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPkgInfo = getPkgInfo; var path_1 = __importDefault2(require("path")); var readPkg_js_1 = require_readPkg(); async function getPkgInfo(pkg) { let manifest; try { manifest = await (0, readPkg_js_1.readPkg)(path_1.default.join(pkg.path, "package.json")); } catch { manifest = { description: "[Could not find additional info about this dependency]" }; } return { alias: pkg.alias, from: pkg.name, version: pkg.version, resolved: pkg.resolved, description: manifest.description, license: manifest.license, author: manifest.author, homepage: manifest.homepage, repository: (manifest.repository && (typeof manifest.repository === "string" ? manifest.repository : manifest.repository.url)) ?? void 0, path: pkg.path }; } } }); // ../reviewing/list/lib/renderJson.js var require_renderJson = __commonJS({ "../reviewing/list/lib/renderJson.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.renderJson = renderJson; exports2.toJsonResult = toJsonResult; var types_1 = require_lib9(); var sortBy_1 = __importDefault2(require_sortBy()); var path_1 = __importDefault2(require_path5()); var getPkgInfo_js_1 = require_getPkgInfo2(); var sortPackages = (0, sortBy_1.default)((0, path_1.default)(["pkg", "alias"])); async function renderJson(pkgs, opts) { const jsonArr = await Promise.all(pkgs.map(async (pkg) => { const jsonObj = { name: pkg.name, version: pkg.version, path: pkg.path, private: !!pkg.private }; Object.assign(jsonObj, Object.fromEntries(await Promise.all([...types_1.DEPENDENCIES_FIELDS.sort(), "unsavedDependencies"].filter((dependenciesField) => pkg[dependenciesField]?.length).map(async (dependenciesField) => [ dependenciesField, await toJsonResult(pkg[dependenciesField], { long: opts.long }) ])))); return jsonObj; })); return JSON.stringify(jsonArr, null, 2); } async function toJsonResult(entryNodes, opts) { const dependencies = {}; await Promise.all(sortPackages(entryNodes).map(async (node) => { const subDependencies = await toJsonResult(node.dependencies ?? [], opts); const dep = opts.long ? await (0, getPkgInfo_js_1.getPkgInfo)(node) : { alias: node.alias, from: node.name, version: node.version, resolved: node.resolved, path: node.path }; if (Object.keys(subDependencies).length > 0) { dep.dependencies = subDependencies; } if (!dep.resolved) { delete dep.resolved; } delete dep.alias; dependencies[node.alias] = dep; })); return dependencies; } } }); // ../reviewing/list/lib/renderParseable.js var require_renderParseable = __commonJS({ "../reviewing/list/lib/renderParseable.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.renderParseable = renderParseable; var sortBy_1 = __importDefault2(require_sortBy()); var prop_1 = __importDefault2(require_prop()); var sortPackages = (0, sortBy_1.default)((0, prop_1.default)("name")); async function renderParseable(pkgs, opts) { const depPaths = /* @__PURE__ */ new Set(); return pkgs.map(renderParseableForPackage.bind(null, depPaths, opts)).filter((p) => p.length !== 0).join("\n"); } function renderParseableForPackage(depPaths, opts, pkg) { const pkgs = sortPackages(flatten(depPaths, [ ...pkg.optionalDependencies ?? [], ...pkg.dependencies ?? [], ...pkg.devDependencies ?? [], ...pkg.unsavedDependencies ?? [] ])); if (!opts.alwaysPrintRootPackage && pkgs.length === 0) return ""; if (opts.long) { let firstLine = pkg.path; if (pkg.name) { firstLine += `:${pkg.name}`; if (pkg.version) { firstLine += `@${pkg.version}`; } if (pkg.private) { firstLine += ":PRIVATE"; } } return [ firstLine, ...pkgs.map((pkgNode) => { const node = pkgNode; if (node.alias !== node.name) { if (!node.version.includes("@")) { return `${node.path}:${node.alias} npm:${node.name}@${node.version}`; } return `${node.path}:${node.alias} ${node.version}`; } if (node.version.includes("@")) { return `${node.path}:${node.version}`; } return `${node.path}:${node.name}@${node.version}`; }) ].join("\n"); } return [ pkg.path, ...pkgs.map((pkg2) => pkg2.path) ].join("\n"); } function flatten(depPaths, nodes) { let packages = []; for (const node of nodes) { if (!depPaths.has(node.path)) { depPaths.add(node.path); packages.push(node); } if (node.dependencies?.length) { packages = packages.concat(flatten(depPaths, node.dependencies)); } } return packages; } } }); // ../reviewing/list/lib/renderTree.js var require_renderTree = __commonJS({ "../reviewing/list/lib/renderTree.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.renderTree = renderTree; exports2.toArchyTree = toArchyTree; var path_1 = __importDefault2(require("path")); var types_1 = require_lib9(); var archy_1 = __importDefault2(require_archy()); var chalk_1 = __importDefault2(require_source()); var cli_columns_1 = __importDefault2(require_cli_columns()); var sortBy_1 = __importDefault2(require_sortBy()); var path_2 = __importDefault2(require_path5()); var getPkgInfo_js_1 = require_getPkgInfo2(); var sortPackages = (0, sortBy_1.default)((0, path_2.default)(["name"])); var DEV_DEP_ONLY_CLR = chalk_1.default.yellow; var PROD_DEP_CLR = (s) => s; var OPTIONAL_DEP_CLR = chalk_1.default.blue; var NOT_SAVED_DEP_CLR = chalk_1.default.red; var LEGEND = `Legend: ${PROD_DEP_CLR("production dependency")}, ${OPTIONAL_DEP_CLR("optional only")}, ${DEV_DEP_ONLY_CLR("dev only")} `; async function renderTree(packages, opts) { const output = (await Promise.all(packages.map(async (pkg) => renderTreeForPackage(pkg, opts)))).filter(Boolean).join("\n\n"); return `${opts.depth > -1 && output ? LEGEND : ""}${output}`; } async function renderTreeForPackage(pkg, opts) { if (!opts.alwaysPrintRootPackage && !pkg.dependencies?.length && !pkg.devDependencies?.length && !pkg.optionalDependencies?.length && (!opts.showExtraneous || !pkg.unsavedDependencies?.length)) return ""; let label = ""; if (pkg.name) { label += pkg.name; if (pkg.version) { label += `@${pkg.version}`; } label += " "; } label += pkg.path; if (pkg.private) { label += " (PRIVATE)"; } const useColumns = opts.depth === 0 && !opts.long && !opts.search; const dependenciesFields = [ ...types_1.DEPENDENCIES_FIELDS.sort() ]; if (opts.showExtraneous) { dependenciesFields.push("unsavedDependencies"); } const output = (await Promise.all(dependenciesFields.map(async (dependenciesField) => { if (pkg[dependenciesField]?.length) { const depsLabel = chalk_1.default.cyanBright(dependenciesField !== "unsavedDependencies" ? `${dependenciesField}:` : "not saved (you should add these dependencies to package.json if you need them):"); let output2 = `${depsLabel} `; const gPkgColor = dependenciesField === "unsavedDependencies" ? () => NOT_SAVED_DEP_CLR : getPkgColor; if (useColumns && pkg[dependenciesField].length > 10) { output2 += (0, cli_columns_1.default)(pkg[dependenciesField].map(printLabel.bind(printLabel, gPkgColor))) + "\n"; return output2; } const data = await toArchyTree(gPkgColor, pkg[dependenciesField], { long: opts.long, modules: path_1.default.join(pkg.path, "node_modules") }); for (const d of data) { output2 += (0, archy_1.default)(d); } return output2; } return null; }))).filter(Boolean).join("\n"); return `${chalk_1.default.bold.underline(label)} ${output}`.replace(/(\n)+$/, ""); } async function toArchyTree(getPkgColor2, entryNodes, opts) { return Promise.all(sortPackages(entryNodes).map(async (node) => { const nodes = await toArchyTree(getPkgColor2, node.dependencies ?? [], opts); const labelLines = [ printLabel(getPkgColor2, node) ]; if (node.searchMessage) { labelLines.push(node.searchMessage); } if (opts.long) { const pkg = await (0, getPkgInfo_js_1.getPkgInfo)(node); if (pkg.description) { labelLines.push(pkg.description); } if (pkg.repository) { labelLines.push(pkg.repository); } if (pkg.homepage) { labelLines.push(pkg.homepage); } if (pkg.path) { labelLines.push(pkg.path); } } return { label: labelLines.join("\n"), nodes }; })); } function printLabel(getPkgColor2, node) { const color = getPkgColor2(node); let txt; if (node.alias !== node.name) { if (!node.version.includes("@")) { txt = `${color(node.alias)} ${chalk_1.default.gray(`npm:${node.name}@${node.version}`)}`; } else { txt = `${color(node.alias)} ${chalk_1.default.gray(node.version)}`; } } else { txt = `${color(node.name)} ${chalk_1.default.gray(node.version)}`; } if (node.isPeer) { txt += " peer"; } if (node.isSkipped) { txt += " skipped"; } return node.searched ? chalk_1.default.bold(txt) : txt; } function getPkgColor(node) { if (node.dev === true) return DEV_DEP_ONLY_CLR; if (node.optional) return OPTIONAL_DEP_CLR; return PROD_DEP_CLR; } } }); // ../reviewing/list/lib/pruneTree.js var require_pruneTree = __commonJS({ "../reviewing/list/lib/pruneTree.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.pruneDependenciesTrees = pruneDependenciesTrees; var crypto5 = __importStar3(require_lib34()); function pruneDependenciesTrees(trees, limit) { if (trees === null) { return []; } return trees.map((tree) => { const endLeafPaths = []; const visitedNodes = /* @__PURE__ */ new Set(); function findEndLeaves(node, path2) { if (node.circular) { return; } const nodeId = `${node.name}@${node.version}`; if (visitedNodes.has(nodeId)) { return; } visitedNodes.add(nodeId); const newPath = [...path2, node]; if (!node.dependencies || node.dependencies.length === 0) { endLeafPaths.push(newPath); if (endLeafPaths.length >= limit) { return; } } for (const child of node.dependencies ?? []) { findEndLeaves(child, newPath); if (endLeafPaths.length >= limit) { return; } } visitedNodes.delete(nodeId); } if (tree.dependencies) { for (const node of tree.dependencies) { findEndLeaves(node, []); } } const firstNPaths = endLeafPaths.slice(0, limit); const map = /* @__PURE__ */ new Map(); const newTree = { dependencies: [] }; for (const path2 of firstNPaths) { let currentDependencies = newTree.dependencies; let pathSoFar = ""; for (const node of path2) { pathSoFar += `${node.name}@${node.version},`; const id = crypto5.hash("sha256", pathSoFar, "hex"); let existingNode = map.get(id); if (!existingNode) { existingNode = { ...node, dependencies: [] }; currentDependencies.push(existingNode); map.set(id, existingNode); } currentDependencies = existingNode.dependencies; } } return { ...tree, dependencies: newTree.dependencies }; }); } } }); // ../reviewing/list/lib/index.js var require_lib182 = __commonJS({ "../reviewing/list/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.renderTree = exports2.renderParseable = exports2.renderJson = void 0; exports2.flattenSearchedPackages = flattenSearchedPackages; exports2.searchForPackages = searchForPackages; exports2.listForPackages = listForPackages; exports2.list = list; var path_1 = __importDefault2(require("path")); var read_project_manifest_1 = require_lib16(); var reviewing_dependencies_hierarchy_1 = require_lib181(); var renderJson_js_1 = require_renderJson(); Object.defineProperty(exports2, "renderJson", { enumerable: true, get: function() { return renderJson_js_1.renderJson; } }); var renderParseable_js_1 = require_renderParseable(); Object.defineProperty(exports2, "renderParseable", { enumerable: true, get: function() { return renderParseable_js_1.renderParseable; } }); var renderTree_js_1 = require_renderTree(); Object.defineProperty(exports2, "renderTree", { enumerable: true, get: function() { return renderTree_js_1.renderTree; } }); var pruneTree_js_1 = require_pruneTree(); var DEFAULTS = { alwaysPrintRootPackage: true, depth: 0, long: false, registries: void 0, reportAs: "tree", showExtraneous: true }; function flattenSearchedPackages(pkgs, opts) { const flattedPkgs = []; for (const pkg of pkgs) { _walker([ ...pkg.optionalDependencies ?? [], ...pkg.dependencies ?? [], ...pkg.devDependencies ?? [], ...pkg.unsavedDependencies ?? [] ], path_1.default.relative(opts.lockfileDir, pkg.path) || "."); } return flattedPkgs; function _walker(packages, depPath) { for (const pkg of packages) { const nextDepPath = `${depPath} > ${pkg.name}@${pkg.version}`; if (pkg.dependencies?.length) { _walker(pkg.dependencies, nextDepPath); } else { flattedPkgs.push({ depPath: nextDepPath, ...pkg }); } } } } async function searchForPackages(packages, projectPaths, opts) { const search = (0, reviewing_dependencies_hierarchy_1.createPackagesSearcher)(packages, opts.finders); return Promise.all(Object.entries(await (0, reviewing_dependencies_hierarchy_1.buildDependenciesHierarchy)(projectPaths, { depth: opts.depth, excludePeerDependencies: opts.excludePeerDependencies, include: opts.include, lockfileDir: opts.lockfileDir, checkWantedLockfileOnly: opts.checkWantedLockfileOnly, onlyProjects: opts.onlyProjects, registries: opts.registries, search, modulesDir: opts.modulesDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength })).map(async ([projectPath, buildDependenciesHierarchy]) => { const entryPkg = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(projectPath) ?? {}; return { name: entryPkg.name, version: entryPkg.version, private: entryPkg.private, path: projectPath, ...buildDependenciesHierarchy }; })); } async function listForPackages(packages, projectPaths, maybeOpts) { const opts = { ...DEFAULTS, ...maybeOpts }; const pkgs = await searchForPackages(packages, projectPaths, opts); const prunedPkgs = (0, pruneTree_js_1.pruneDependenciesTrees)(pkgs ?? null, 10); const print = getPrinter(opts.reportAs); return print(prunedPkgs, { alwaysPrintRootPackage: opts.alwaysPrintRootPackage, depth: opts.depth, long: opts.long, search: Boolean(packages.length), showExtraneous: opts.showExtraneous }); } async function list(projectPaths, maybeOpts) { const opts = { ...DEFAULTS, ...maybeOpts }; const pkgs = await Promise.all(Object.entries(opts.depth === -1 ? projectPaths.reduce((acc, projectPath) => { acc[projectPath] = {}; return acc; }, {}) : await (0, reviewing_dependencies_hierarchy_1.buildDependenciesHierarchy)(projectPaths, { depth: opts.depth, excludePeerDependencies: maybeOpts?.excludePeerDependencies, include: maybeOpts?.include, lockfileDir: maybeOpts?.lockfileDir, checkWantedLockfileOnly: maybeOpts?.checkWantedLockfileOnly, onlyProjects: maybeOpts?.onlyProjects, registries: opts.registries, modulesDir: opts.modulesDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength })).map(async ([projectPath, dependenciesHierarchy]) => { const entryPkg = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(projectPath) ?? {}; return { name: entryPkg.name, version: entryPkg.version, private: entryPkg.private, path: projectPath, ...dependenciesHierarchy }; })); const print = getPrinter(opts.reportAs); return print(pkgs, { alwaysPrintRootPackage: opts.alwaysPrintRootPackage, depth: opts.depth, long: opts.long, search: false, showExtraneous: opts.showExtraneous }); } function getPrinter(reportAs) { switch (reportAs) { case "parseable": return renderParseable_js_1.renderParseable; case "json": return renderJson_js_1.renderJson; case "tree": return renderTree_js_1.renderTree; } } } }); // ../reviewing/plugin-commands-listing/lib/recursive.js var require_recursive3 = __commonJS({ "../reviewing/plugin-commands-listing/lib/recursive.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.listRecursive = listRecursive; var assert_1 = __importDefault2(require("assert")); var util_1 = __importDefault2(require("util")); var logger_1 = require_lib(); var list_js_1 = require_list2(); async function listRecursive(pkgs, params, opts) { const depth = opts.depth ?? 0; if (opts.lockfileDir) { return (0, list_js_1.render)(pkgs.map((pkg) => pkg.rootDir), params, { ...opts, alwaysPrintRootPackage: depth === -1, lockfileDir: opts.lockfileDir }); } const outputs = (await Promise.all(pkgs.map(async ({ rootDir }) => { try { return await (0, list_js_1.render)([rootDir], params, { ...opts, alwaysPrintRootPackage: depth === -1, lockfileDir: opts.lockfileDir ?? rootDir }); } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); const errWithPrefix = Object.assign(err, { prefix: rootDir }); logger_1.logger.info(errWithPrefix); throw errWithPrefix; } }))).filter(Boolean); if (outputs.length === 0) return ""; const joiner = typeof depth === "number" && depth > -1 ? "\n\n" : "\n"; return outputs.join(joiner); } } }); // ../reviewing/plugin-commands-listing/lib/list.js var require_list2 = __commonJS({ "../reviewing/plugin-commands-listing/lib/list.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = exports2.EXCLUDE_PEERS_HELP = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.help = help; exports2.handler = handler; exports2.render = render; var error_1 = require_lib6(); var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var list_1 = require_lib182(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var recursive_js_1 = require_recursive3(); exports2.EXCLUDE_PEERS_HELP = { description: "Exclude peer dependencies", name: "--exclude-peers" }; function rcOptionsTypes() { return (0, pick_1.default)([ "depth", "dev", "global-dir", "global", "json", "lockfile-only", "long", "only", "optional", "parseable", "production" ], config_1.types); } var cliOptionsTypes = () => ({ ...rcOptionsTypes(), "exclude-peers": Boolean, "only-projects": Boolean, recursive: Boolean, "find-by": [String, Array] }); exports2.cliOptionsTypes = cliOptionsTypes; exports2.shorthands = { D: "--dev", P: "--production" }; exports2.commandNames = ["list", "ls"]; function help() { return (0, render_help_1.default)({ aliases: ["list", "ls", "la", "ll"], description: "When run as ll or la, it shows extended information by default. All dependencies are printed by default. Search by patterns is supported. For example: pnpm ls babel-* eslint-*", descriptionLists: [ { title: "Options", list: [ { description: 'Perform command on every package in subdirectories or on every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, { description: "Show extended information", name: "--long" }, { description: "Show parseable output instead of tree view", name: "--parseable" }, { description: "Show information in JSON format", name: "--json" }, { description: "List packages in the global install prefix instead of in the current project", name: "--global", shortAlias: "-g" }, { description: "Max display depth of the dependency tree", name: "--depth " }, { description: "Display only direct dependencies", name: "--depth 0" }, { description: "Display only projects. Useful in a monorepo. `pnpm ls -r --depth -1` lists all projects in a monorepo", name: "--depth -1" }, { description: "Display only the dependency graph for packages in `dependencies` and `optionalDependencies`", name: "--prod", shortAlias: "-P" }, { description: "Display only the dependency graph for packages in `devDependencies`", name: "--dev", shortAlias: "-D" }, { description: "Display only dependencies that are also projects within the workspace", name: "--only-projects" }, { description: "Don't display packages from `optionalDependencies`", name: "--no-optional" }, { description: "List packages from the lockfile only, without checking node_modules.", name: "--lockfile-only" }, exports2.EXCLUDE_PEERS_HELP, common_cli_options_help_1.OPTIONS.globalDir, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("list"), usages: [ "pnpm ls [ ...]" ] }); } async function handler(opts, params) { const include = { dependencies: opts.production !== false, devDependencies: opts.dev !== false, optionalDependencies: opts.optional !== false }; const depth = opts.cliOptions?.["depth"] ?? 0; if (opts.recursive && opts.selectedProjectsGraph != null) { const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package); return (0, recursive_js_1.listRecursive)(pkgs, params, { ...opts, depth, include, checkWantedLockfileOnly: opts.lockfileOnly }); } return render([opts.dir], params, { ...opts, depth, include, lockfileDir: opts.lockfileDir ?? opts.dir, checkWantedLockfileOnly: opts.lockfileOnly }); } async function render(prefixes, params, opts) { const finders = []; if (opts.findBy) { for (const finderName of opts.findBy) { if (opts.finders?.[finderName] == null) { throw new error_1.PnpmError("FINDER_NOT_FOUND", `No finder with name ${finderName} is found`); } finders.push(opts.finders[finderName]); } } const listOpts = { alwaysPrintRootPackage: opts.alwaysPrintRootPackage, depth: opts.depth ?? 0, excludePeerDependencies: opts.excludePeers, include: opts.include, lockfileDir: opts.lockfileDir, checkWantedLockfileOnly: opts.checkWantedLockfileOnly, long: opts.long, onlyProjects: opts.onlyProjects, reportAs: opts.parseable ? "parseable" : opts.json ? "json" : "tree", showExtraneous: false, modulesDir: opts.modulesDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, finders }; return params.length > 0 || listOpts.finders.length > 0 ? (0, list_1.listForPackages)(params, prefixes, listOpts) : (0, list_1.list)(prefixes, listOpts); } } }); // ../reviewing/plugin-commands-listing/lib/ll.js var require_ll = __commonJS({ "../reviewing/plugin-commands-listing/lib/ll.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.help = exports2.rcOptionsTypes = exports2.commandNames = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.handler = handler; var omit_1 = __importDefault2(require_omit()); var list = __importStar3(require_list2()); exports2.commandNames = ["ll", "la"]; exports2.rcOptionsTypes = list.rcOptionsTypes; function cliOptionsTypes() { return (0, omit_1.default)(["long"], list.cliOptionsTypes()); } exports2.help = list.help; async function handler(opts, params) { return list.handler({ ...opts, long: true }, params); } } }); // ../reviewing/plugin-commands-listing/lib/why.js var require_why = __commonJS({ "../reviewing/plugin-commands-listing/lib/why.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var error_1 = require_lib6(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var list_js_1 = require_list2(); function rcOptionsTypes() { return (0, pick_1.default)([ "depth", "dev", "global-dir", "global", "json", "long", "only", "optional", "parseable", "production" ], config_1.types); } var cliOptionsTypes = () => ({ ...rcOptionsTypes(), "exclude-peers": Boolean, recursive: Boolean, "find-by": [String, Array] }); exports2.cliOptionsTypes = cliOptionsTypes; exports2.shorthands = { D: "--dev", P: "--production" }; exports2.commandNames = ["why"]; function help() { return (0, render_help_1.default)({ description: `Shows the packages that depend on For example: pnpm why babel-* eslint-*`, descriptionLists: [ { title: "Options", list: [ { description: 'Perform command on every package in subdirectories or on every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, { description: "Show extended information", name: "--long" }, { description: "Show parseable output instead of tree view", name: "--parseable" }, { description: "Show information in JSON format", name: "--json" }, { description: "List packages in the global install prefix instead of in the current project", name: "--global", shortAlias: "-g" }, { description: "Display only the dependency graph for packages in `dependencies` and `optionalDependencies`", name: "--prod", shortAlias: "-P" }, { description: "Display only the dependency graph for packages in `devDependencies`", name: "--dev", shortAlias: "-D" }, { description: "Don't display packages from `optionalDependencies`", name: "--no-optional" }, { name: "--depth ", description: "Max display depth of the dependency graph" }, list_js_1.EXCLUDE_PEERS_HELP, common_cli_options_help_1.OPTIONS.globalDir, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("why"), usages: [ "pnpm why ..." ] }); } async function handler(opts, params) { if (params.length === 0 && opts.findBy == null) { throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "`pnpm why` requires the package name or --find-by="); } return (0, list_js_1.handler)({ ...opts, cliOptions: { ...opts.cliOptions ?? {}, depth: opts.depth ?? Infinity } }, params); } } }); // ../reviewing/plugin-commands-listing/lib/index.js var require_lib183 = __commonJS({ "../reviewing/plugin-commands-listing/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.why = exports2.ll = exports2.list = void 0; var list = __importStar3(require_list2()); exports2.list = list; var ll = __importStar3(require_ll()); exports2.ll = ll; var why = __importStar3(require_why()); exports2.why = why; } }); // ../reviewing/license-scanner/lib/getPkgInfo.js var require_getPkgInfo3 = __commonJS({ "../reviewing/license-scanner/lib/getPkgInfo.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readPkg = readPkg; exports2.readPackageIndexFile = readPackageIndexFile; exports2.getPkgInfo = getPkgInfo; var path_1 = __importDefault2(require("path")); var path_absolute_1 = __importDefault2(require_path_absolute()); var promises_1 = require("fs/promises"); var read_package_json_1 = require_lib61(); var dependency_path_1 = require_lib86(); var p_limit_12 = __importDefault2(require_p_limit()); var store_cafs_1 = require_lib79(); var load_json_file_1 = __importDefault2(require_load_json_file()); var error_1 = require_lib6(); var lockfile_utils_1 = require_lib125(); var directory_fetcher_1 = require_lib58(); var limitPkgReads = (0, p_limit_12.default)(4); async function readPkg(pkgPath) { return limitPkgReads(async () => (0, read_package_json_1.readPackageJson)(pkgPath)); } var LICENSE_FILES = [ "LICENSE", "LICENCE", "LICENSE.md", "LICENCE.md", "LICENSE.txt", "LICENCE.txt", "MIT-LICENSE.txt", "MIT-LICENSE.md", "MIT-LICENSE" ]; var LICENSE_NAMES = [ "Apache1_1", "Apache-1.1", "Apache 1.1", "Apache2", "Apache-2.0", "Apache 2.0", "BSD", "BSD-4-Clause", "CC01", "CC0-1.0", "CC0 1.0", "CDDL1", "CDDL-1.0", "Common Development and Distribution License 1.0", "EPL1", "EPL-1.0", "Eclipse Public License 1.0", "GPLv2", "GPL-2.0-only", "GPLv3", "GPL-3.0-only", "ISC", "LGPL", "LGPL-3.0-only", "LGPL2_1", "LGPL-2.1-only", "MIT", "MPL1_1", "MPL-1.1", "Mozilla Public License 1.1", "MPL2", "MPL-2.0", "Mozilla Public License 2.0", "NewBSD", "BSD-3-Clause", "New BSD", "OFL", "OFL-1.1", "SIL OPEN FONT LICENSE Version 1.1", "Python", "PSF-2.0", "Python Software Foundation License", "Ruby", "SimplifiedBSD", "BSD-2-Clause", "Simplified BSD", "WTFPL", "0BSD", "BSD Zero Clause License", "Zlib", "zlib/libpng license" ]; function coerceToString(field) { const string = String(field); return typeof field === "string" || field === string ? string : null; } function parseLicenseManifestField(field) { if (Array.isArray(field)) { const licenses = field; const licenseTypes = licenses.map((license) => coerceToString(license.type) ?? coerceToString(license.name)).filter((licenseType) => !!licenseType); if (licenseTypes.length > 1) { const combinedLicenseTypes = licenseTypes.join(" OR "); return `(${combinedLicenseTypes})`; } return licenseTypes[0] ?? null; } else { return field?.type ?? coerceToString(field); } } async function parseLicense(pkg, opts) { let licenseField = pkg.manifest.license; if ("licenses" in pkg.manifest) { licenseField = pkg.manifest.licenses; } const license = parseLicenseManifestField(licenseField); if (!license || /see license/i.test(license)) { const { files: pkgFileIndex } = pkg.files; const licenseFile = LICENSE_FILES.find((licenseFile2) => licenseFile2 in pkgFileIndex); if (licenseFile) { const licensePackageFileInfo = pkgFileIndex[licenseFile]; let licenseContents; if (pkg.files.local) { licenseContents = await (0, promises_1.readFile)(licensePackageFileInfo); } else { licenseContents = await readLicenseFileFromCafs(opts.storeDir, licensePackageFileInfo); } const licenseContent = licenseContents?.toString("utf-8"); let name = "Unknown"; if (licenseContent) { const match = licenseContent.match(new RegExp(`\\b(${LICENSE_NAMES.join("|")})\\b`, "gi")); if (match) { name = [...new Set(match)].join(" OR "); } } return { name, licenseFile: licenseContent }; } } return { name: license ?? "Unknown" }; } async function readLicenseFileFromCafs(storeDir, { integrity, mode }) { const fileName = (0, store_cafs_1.getFilePathByModeInCafs)(storeDir, integrity, mode); const fileContents = await (0, promises_1.readFile)(fileName); return fileContents; } async function readPackageIndexFile(packageResolution, id, opts) { const isLocalPkg = packageResolution.type === "directory"; if (isLocalPkg) { const localInfo = await (0, directory_fetcher_1.fetchFromDir)(path_1.default.join(opts.lockfileDir, packageResolution.directory), {}); return { local: true, files: localInfo.filesIndex }; } const isPackageWithIntegrity = "integrity" in packageResolution; let pkgIndexFilePath; if (isPackageWithIntegrity) { const parsedId = (0, dependency_path_1.parse)(id); pkgIndexFilePath = (0, store_cafs_1.getIndexFilePathInCafs)(opts.storeDir, packageResolution.integrity, parsedId.nonSemverVersion ?? `${parsedId.name}@${parsedId.version}`); } else if (!packageResolution.type && packageResolution.tarball) { const packageDirInStore = (0, dependency_path_1.depPathToFilename)((0, dependency_path_1.parse)(id).nonSemverVersion ?? id, opts.virtualStoreDirMaxLength); pkgIndexFilePath = path_1.default.join(opts.storeDir, packageDirInStore, "integrity.json"); } else { throw new error_1.PnpmError("UNSUPPORTED_PACKAGE_TYPE", `Unsupported package resolution type for ${id}`); } try { const { files } = await (0, load_json_file_1.default)(pkgIndexFilePath); return { local: false, files }; } catch (err) { if (err.code === "ENOENT") { throw new error_1.PnpmError("MISSING_PACKAGE_INDEX_FILE", `Failed to find package index file for ${id} (at ${pkgIndexFilePath}), please consider running 'pnpm install'`); } throw err; } } async function getPkgInfo(pkg, opts) { const packageResolution = (0, lockfile_utils_1.pkgSnapshotToResolution)(pkg.depPath, pkg.snapshot, pkg.registries); const packageFileIndexInfo = await readPackageIndexFile(packageResolution, pkg.id, { storeDir: opts.storeDir, lockfileDir: opts.dir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength }); let packageManifestDir; if (packageFileIndexInfo.local) { packageManifestDir = packageFileIndexInfo.files["package.json"]; } else { const packageFileIndex = packageFileIndexInfo.files; const packageManifestFile = packageFileIndex["package.json"]; packageManifestDir = (0, store_cafs_1.getFilePathByModeInCafs)(opts.storeDir, packageManifestFile.integrity, packageManifestFile.mode); } let manifest; try { manifest = await readPkg(packageManifestDir); } catch (err) { if (err.code === "ENOENT") { throw new error_1.PnpmError("MISSING_PACKAGE_MANIFEST", `Failed to find package manifest file at ${packageManifestDir}`); } throw err; } const modulesDir = opts.modulesDir ?? "node_modules"; const virtualStoreDir = (0, path_absolute_1.default)(opts.virtualStoreDir ?? path_1.default.join(modulesDir, ".pnpm"), opts.dir); const packageModulePath = path_1.default.join(virtualStoreDir, (0, dependency_path_1.depPathToFilename)(pkg.depPath, opts.virtualStoreDirMaxLength), modulesDir, manifest.name); const licenseInfo = await parseLicense({ manifest, files: packageFileIndexInfo }, { storeDir: opts.storeDir }); const packageInfo = { from: manifest.name, path: packageModulePath, name: manifest.name, version: manifest.version, description: manifest.description, license: licenseInfo.name, licenseContents: licenseInfo.licenseFile, author: (manifest.author && (typeof manifest.author === "string" ? manifest.author : manifest.author.name)) ?? void 0, homepage: manifest.homepage, repository: (manifest.repository && (typeof manifest.repository === "string" ? manifest.repository : manifest.repository.url)) ?? void 0 }; return packageInfo; } } }); // ../reviewing/license-scanner/lib/lockfileToLicenseNodeTree.js var require_lockfileToLicenseNodeTree = __commonJS({ "../reviewing/license-scanner/lib/lockfileToLicenseNodeTree.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.lockfileToLicenseNode = lockfileToLicenseNode; exports2.lockfileToLicenseNodeTree = lockfileToLicenseNodeTree; var lockfile_utils_1 = require_lib125(); var package_is_installable_1 = require_lib85(); var lockfile_walker_1 = require_lib126(); var lockfile_detect_dep_types_1 = require_lib133(); var getPkgInfo_js_1 = require_getPkgInfo3(); var map_1 = __importDefault2(require_map3()); async function lockfileToLicenseNode(step, options) { const dependencies = Object.fromEntries((await Promise.all(step.dependencies.map(async (dependency) => { const { depPath, pkgSnapshot, next } = dependency; const { name, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot); const packageInstallable = (0, package_is_installable_1.packageIsInstallable)(pkgSnapshot.id ?? depPath, { name, version: version2, cpu: pkgSnapshot.cpu, os: pkgSnapshot.os, libc: pkgSnapshot.libc }, { optional: pkgSnapshot.optional ?? false, lockfileDir: options.dir, supportedArchitectures: options.supportedArchitectures }); if (!packageInstallable) { return null; } const packageInfo = await (0, getPkgInfo_js_1.getPkgInfo)({ id: pkgSnapshot.id ?? depPath, name, version: version2, depPath, snapshot: pkgSnapshot, registries: options.registries }, { storeDir: options.storeDir, virtualStoreDir: options.virtualStoreDir, virtualStoreDirMaxLength: options.virtualStoreDirMaxLength, dir: options.dir, modulesDir: options.modulesDir ?? "node_modules" }); const subdeps = await lockfileToLicenseNode(next(), options); const dep = { name, dev: options.depTypes[depPath] === lockfile_detect_dep_types_1.DepType.DevOnly, integrity: pkgSnapshot.resolution.integrity, version: version2, license: packageInfo.license, licenseContents: packageInfo.licenseContents, author: packageInfo.author, homepage: packageInfo.homepage, description: packageInfo.description, repository: packageInfo.repository, dir: packageInfo.path }; if (Object.keys(subdeps).length > 0) { dep.dependencies = subdeps; dep.requires = toRequires(subdeps); } return [name, dep]; }))).filter(Boolean)); return dependencies; } async function lockfileToLicenseNodeTree(lockfile, opts) { const importerWalkers = (0, lockfile_walker_1.lockfileWalkerGroupImporterSteps)(lockfile, opts.includedImporterIds ?? Object.keys(lockfile.importers), { include: opts?.include }); const depTypes = (0, lockfile_detect_dep_types_1.detectDepTypes)(lockfile); const dependencies = Object.fromEntries(await Promise.all(importerWalkers.map(async (importerWalker) => { const importerDeps = await lockfileToLicenseNode(importerWalker.step, { storeDir: opts.storeDir, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, modulesDir: opts.modulesDir, dir: opts.dir, registries: opts.registries, supportedArchitectures: opts.supportedArchitectures, depTypes }); return [importerWalker.importerId, { dependencies: importerDeps, requires: toRequires(importerDeps), version: "0.0.0", license: void 0 }]; }))); const licenseNodeTree = { name: void 0, version: void 0, dependencies, dev: false, integrity: void 0, requires: toRequires(dependencies) }; return licenseNodeTree; } function toRequires(licenseNodesByDepName) { return (0, map_1.default)((licenseNode) => licenseNode.version, licenseNodesByDepName); } } }); // ../reviewing/license-scanner/lib/licenses.js var require_licenses = __commonJS({ "../reviewing/license-scanner/lib/licenses.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.findDependencyLicenses = findDependencyLicenses; var error_1 = require_lib6(); var lockfile_detect_dep_types_1 = require_lib133(); var lockfileToLicenseNodeTree_js_1 = require_lockfileToLicenseNodeTree(); var semver_12 = __importDefault2(require_semver2()); function getDependenciesFromLicenseNode(licenseNode) { if (!licenseNode.dependencies) { return []; } let dependencies = []; for (const dependencyName in licenseNode.dependencies) { const dependencyNode = licenseNode.dependencies[dependencyName]; const dependenciesOfNode = getDependenciesFromLicenseNode(dependencyNode); dependencies = [ ...dependencies, ...dependenciesOfNode, { belongsTo: dependencyNode.dev ? "devDependencies" : "dependencies", version: dependencyNode.version, name: dependencyName, license: dependencyNode.license, licenseContents: dependencyNode.licenseContents, author: dependencyNode.author, homepage: dependencyNode.homepage, description: dependencyNode.description, repository: dependencyNode.repository, path: dependencyNode.dir } ]; } return dependencies; } async function findDependencyLicenses(opts) { if (opts.wantedLockfile == null) { throw new error_1.PnpmError("LICENSES_NO_LOCKFILE", `No lockfile in directory "${opts.lockfileDir}". Run \`pnpm install\` to generate one.`); } const depTypes = (0, lockfile_detect_dep_types_1.detectDepTypes)(opts.wantedLockfile); const licenseNodeTree = await (0, lockfileToLicenseNodeTree_js_1.lockfileToLicenseNodeTree)(opts.wantedLockfile, { dir: opts.lockfileDir, modulesDir: opts.modulesDir, storeDir: opts.storeDir, virtualStoreDir: opts.virtualStoreDir, virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, include: opts.include, registries: opts.registries, includedImporterIds: opts.includedImporterIds, supportedArchitectures: opts.supportedArchitectures, depTypes }); const licensePackages = /* @__PURE__ */ new Map(); for (const dependencyName in licenseNodeTree.dependencies) { const licenseNode = licenseNodeTree.dependencies[dependencyName]; const dependenciesOfNode = getDependenciesFromLicenseNode(licenseNode); for (const dependencyNode of dependenciesOfNode) { const mapKey = `${dependencyNode.name}@${dependencyNode.version}`; const existingVersion = licensePackages.get(mapKey)?.version; if (existingVersion === void 0) { licensePackages.set(mapKey, dependencyNode); } } } const projectDependencies = Array.from(licensePackages.values()); return Array.from(projectDependencies).sort((pkg1, pkg2) => pkg1.name.localeCompare(pkg2.name) || semver_12.default.compare(pkg1.version, pkg2.version)); } } }); // ../reviewing/license-scanner/lib/index.js var require_lib184 = __commonJS({ "../reviewing/license-scanner/lib/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.findDependencyLicenses = void 0; var licenses_js_1 = require_licenses(); Object.defineProperty(exports2, "findDependencyLicenses", { enumerable: true, get: function() { return licenses_js_1.findDependencyLicenses; } }); } }); // ../reviewing/plugin-commands-licenses/lib/outputRenderer.js var require_outputRenderer = __commonJS({ "../reviewing/plugin-commands-licenses/lib/outputRenderer.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.renderLicences = renderLicences; var cli_utils_1 = require_lib103(); var chalk_1 = __importDefault2(require_source()); var table_1 = require_src4(); var ramda_1 = require_src5(); var semver_12 = __importDefault2(require_semver2()); function sortLicensesPackages(licensePackages) { return (0, ramda_1.sortWith)([ (o1, o2) => o1.license.localeCompare(o2.license) ], licensePackages); } function renderPackageName({ belongsTo, name: packageName }) { switch (belongsTo) { case "devDependencies": return `${packageName} ${chalk_1.default.dim("(dev)")}`; case "optionalDependencies": return `${packageName} ${chalk_1.default.dim("(optional)")}`; default: return packageName; } } function renderPackageLicense({ license }) { const output = license ?? "Unknown"; return output; } function renderDetails(licensePackage) { const outputs = []; if (licensePackage.author) { outputs.push(licensePackage.author); } if (licensePackage.description) { outputs.push(licensePackage.description); } if (licensePackage.homepage) { outputs.push(licensePackage.homepage); } return outputs.join("\n"); } function renderLicences(licensesMap, opts) { if (opts.json) { return { output: renderLicensesJson(licensesMap), exitCode: 0 }; } return { output: renderLicensesTable(licensesMap, opts), exitCode: 0 }; } function renderLicensesJson(licensePackages) { const data = licensePackages.map((item) => (0, ramda_1.pick)(["name", "version", "path", "license", "author", "homepage", "description"], item)); const output = {}; const groupedByLicense = (0, ramda_1.groupBy)((item) => item.license, data); for (const license in groupedByLicense) { const outputList = []; const groupedByName = (0, ramda_1.groupBy)((item) => item.name, groupedByLicense[license] ?? []); for (const inputList of Object.values(groupedByName)) { if (inputList == null) continue; inputList.sort((a, b) => semver_12.default.compare(a.version, b.version)); const versions = inputList.map((item) => item.version); const paths = inputList.map((item) => item.path ?? null); const lastInputItem = inputList.at(-1); const outputItem = { name: lastInputItem.name, versions, paths, ...(0, ramda_1.omit)(["name", "version", "path"], lastInputItem) }; outputList.push(outputItem); } output[license] = outputList; } return JSON.stringify(output, null, 2); } function renderLicensesTable(licensePackages, opts) { const columnNames = ["Package", "License"]; const columnFns = [renderPackageName, renderPackageLicense]; if (opts.long) { columnNames.push("Details"); columnFns.push(renderDetails); } for (let i = 0; i < columnNames.length; i++) columnNames[i] = chalk_1.default.blueBright(columnNames[i]); const data = [ columnNames, ...deduplicateLicensesPackages(sortLicensesPackages(licensePackages)).map((licensePkg) => columnFns.map((fn) => fn(licensePkg))) ]; let detailsColumnMaxWidth = 40; let packageColumnMaxWidth = 0; let licenseColumnMaxWidth = 0; if (opts.long) { detailsColumnMaxWidth = licensePackages.reduce((max, pkg) => Math.max(max, pkg.homepage?.length ?? 0), 0); for (let i = 1; i < data.length; i++) { const row = data[i]; const detailsLineCount = row[2].split("\n").length; const linesNumber = Math.max(0, detailsLineCount - 1); row[0] += "\n ".repeat(linesNumber); row[1] += "\n ".repeat(linesNumber); packageColumnMaxWidth = Math.max(packageColumnMaxWidth, row[0].length); licenseColumnMaxWidth = Math.max(licenseColumnMaxWidth, row[1].length); } const remainColumnWidth = process.stdout.columns - packageColumnMaxWidth - licenseColumnMaxWidth - 20; if (detailsColumnMaxWidth > remainColumnWidth) { detailsColumnMaxWidth = remainColumnWidth; } detailsColumnMaxWidth = Math.max(detailsColumnMaxWidth, 40); } try { return (0, table_1.table)(data, { ...cli_utils_1.TABLE_OPTIONS, columns: { ...cli_utils_1.TABLE_OPTIONS.columns, 2: { width: detailsColumnMaxWidth, wrapWord: true } } }); } catch { return (0, table_1.table)(data, cli_utils_1.TABLE_OPTIONS); } } function deduplicateLicensesPackages(licensePackages) { const result2 = []; const rowEqual = (a, b) => a.name === b.name && a.license === b.license; const hasRow = (row) => result2.some((x) => rowEqual(row, x)); for (const row of licensePackages.reverse()) { if (!hasRow(row)) result2.unshift(row); } return result2; } } }); // ../reviewing/plugin-commands-licenses/lib/licensesList.js var require_licensesList = __commonJS({ "../reviewing/plugin-commands-licenses/lib/licensesList.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.licensesList = licensesList; var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var error_1 = require_lib6(); var store_path_1 = require_lib31(); var constants_1 = require_lib5(); var lockfile_fs_1 = require_lib121(); var license_scanner_1 = require_lib184(); var outputRenderer_js_1 = require_outputRenderer(); async function licensesList(opts) { const lockfile = await (0, lockfile_fs_1.readWantedLockfile)(opts.lockfileDir ?? opts.dir, { ignoreIncompatible: true }); if (lockfile == null) { throw new error_1.PnpmError("LICENSES_NO_LOCKFILE", `No ${constants_1.WANTED_LOCKFILE} found: Cannot check a project without a lockfile`); } const include = { dependencies: opts.production !== false, devDependencies: opts.dev !== false, optionalDependencies: opts.optional !== false }; const manifest = await (0, cli_utils_1.readProjectManifestOnly)(opts.dir); const includedImporterIds = opts.selectedProjectsGraph ? Object.keys(opts.selectedProjectsGraph).map((path2) => (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir ?? opts.dir, path2)) : void 0; const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: opts.dir, storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); const licensePackages = await (0, license_scanner_1.findDependencyLicenses)({ include, lockfileDir: opts.lockfileDir ?? opts.dir, storeDir, virtualStoreDir: opts.virtualStoreDir ?? path_1.default.join(opts.modulesDir ?? "node_modules", ".pnpm"), virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength, modulesDir: opts.modulesDir, registries: opts.registries, wantedLockfile: lockfile, manifest, includedImporterIds, supportedArchitectures: (0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest ?? {}).supportedArchitectures }); if (licensePackages.length === 0) return { output: "No licenses in packages found", exitCode: 0 }; return (0, outputRenderer_js_1.renderLicences)(licensePackages, opts); } } }); // ../reviewing/plugin-commands-licenses/lib/licenses.js var require_licenses2 = __commonJS({ "../reviewing/plugin-commands-licenses/lib/licenses.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.completion = exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var error_1 = require_lib6(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var licensesList_js_1 = require_licensesList(); function rcOptionsTypes() { return { ...(0, pick_1.default)(["dev", "global-dir", "global", "json", "long", "optional", "production"], config_1.types), compatible: Boolean, table: Boolean }; } var cliOptionsTypes = () => ({ ...rcOptionsTypes(), recursive: Boolean }); exports2.cliOptionsTypes = cliOptionsTypes; exports2.shorthands = { D: "--dev", P: "--production" }; exports2.commandNames = ["licenses"]; function help() { return (0, render_help_1.default)({ description: "Check the licenses of the installed packages.", descriptionLists: [ { title: "Options", list: [ { description: "Show more details (such as a link to the repo) are not displayed. To display the details, pass this option.", name: "--long" }, { description: "Show information in JSON format", name: "--json" }, { description: 'Check only "dependencies" and "optionalDependencies"', name: "--prod", shortAlias: "-P" }, { description: 'Check only "devDependencies"', name: "--dev", shortAlias: "-D" }, { description: `Don't check "optionalDependencies"`, name: "--no-optional" } ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("licenses"), usages: [ "pnpm licenses ls", "pnpm licenses ls --long", "pnpm licenses list", "pnpm licenses list --long" ] }); } var completion = async (cliOpts) => { return (0, cli_utils_1.readDepNameCompletions)(cliOpts.dir); }; exports2.completion = completion; async function handler(opts, params = []) { if (params.length === 0) { throw new error_1.PnpmError("LICENCES_NO_SUBCOMMAND", "Please specify the subcommand", { hint: help() }); } switch (params[0]) { case "list": case "ls": return (0, licensesList_js_1.licensesList)(opts); default: { throw new error_1.PnpmError("LICENSES_UNKNOWN_SUBCOMMAND", "This subcommand is not known"); } } } } }); // ../reviewing/plugin-commands-licenses/lib/index.js var require_lib185 = __commonJS({ "../reviewing/plugin-commands-licenses/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.licenses = void 0; var licenses = __importStar3(require_licenses2()); exports2.licenses = licenses; } }); // ../reviewing/plugin-commands-outdated/lib/utils.js var require_utils19 = __commonJS({ "../reviewing/plugin-commands-outdated/lib/utils.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DEFAULT_COMPARATORS = exports2.NAME_COMPARATOR = void 0; exports2.sortBySemverChange = sortBySemverChange; var NAME_COMPARATOR = (o1, o2) => o1.packageName.localeCompare(o2.packageName); exports2.NAME_COMPARATOR = NAME_COMPARATOR; exports2.DEFAULT_COMPARATORS = [ sortBySemverChange, exports2.NAME_COMPARATOR, (o1, o2) => o1.current && o2.current ? o1.current.localeCompare(o2.current) : 0 // eslint-disable-line @typescript-eslint/explicit-module-boundary-types ]; function sortBySemverChange(outdated1, outdated2) { return pkgPriority(outdated1) - pkgPriority(outdated2); } function pkgPriority(pkg) { switch (pkg.change) { case null: return 0; case "fix": return 1; case "feature": return 2; case "breaking": return 3; default: return 4; } } } }); // ../reviewing/plugin-commands-outdated/lib/recursive.js var require_recursive4 = __commonJS({ "../reviewing/plugin-commands-outdated/lib/recursive.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.outdatedRecursive = outdatedRecursive; var cli_utils_1 = require_lib103(); var error_1 = require_lib6(); var outdated_1 = require_lib173(); var table_1 = require_src4(); var chalk_1 = __importDefault2(require_source()); var isEmpty_1 = __importDefault2(require_isEmpty2()); var sortWith_1 = __importDefault2(require_sortWith()); var outdated_js_1 = require_outdated2(); var utils_js_1 = require_utils19(); var DEP_PRIORITY = { dependencies: 1, devDependencies: 2, optionalDependencies: 0 }; var COMPARATORS = [ ...utils_js_1.DEFAULT_COMPARATORS, (o1, o2) => DEP_PRIORITY[o1.belongsTo] - DEP_PRIORITY[o2.belongsTo] ]; async function outdatedRecursive(pkgs, params, opts) { const outdatedMap = {}; const outdatedPackagesByProject = await (0, outdated_1.outdatedDepsOfProjects)(pkgs, params, { ...opts, fullMetadata: opts.long, ignoreDependencies: opts.updateConfig?.ignoreDependencies, minimumReleaseAge: opts.minimumReleaseAge, minimumReleaseAgeExclude: opts.minimumReleaseAgeExclude, retry: { factor: opts.fetchRetryFactor, maxTimeout: opts.fetchRetryMaxtimeout, minTimeout: opts.fetchRetryMintimeout, retries: opts.fetchRetries }, timeout: opts.fetchTimeout }); for (let i = 0; i < outdatedPackagesByProject.length; i++) { const { rootDir, manifest } = pkgs[i]; for (const outdatedPkg of outdatedPackagesByProject[i]) { const key = JSON.stringify([outdatedPkg.packageName, outdatedPkg.current, outdatedPkg.belongsTo]); if (!outdatedMap[key]) { outdatedMap[key] = { ...outdatedPkg, dependentPkgs: [] }; } outdatedMap[key].dependentPkgs.push({ location: rootDir, manifest }); } } let output; switch (opts.format ?? "table") { case "table": { output = renderOutdatedTable(outdatedMap, opts); break; } case "list": { output = renderOutdatedList(outdatedMap, opts); break; } case "json": { output = renderOutdatedJSON(outdatedMap, opts); break; } default: { throw new error_1.PnpmError("BAD_OUTDATED_FORMAT", `Unsupported format: ${opts.format?.toString() ?? "undefined"}`); } } return { output, exitCode: (0, isEmpty_1.default)(outdatedMap) ? 0 : 1 }; } function renderOutdatedTable(outdatedMap, opts) { if ((0, isEmpty_1.default)(outdatedMap)) return ""; const columnNames = [ "Package", "Current", "Latest", "Dependents" ]; const columnFns = [ outdated_js_1.renderPackageName, outdated_js_1.renderCurrent, outdated_js_1.renderLatest, dependentPackages ]; if (opts.long) { columnNames.push("Details"); columnFns.push(outdated_js_1.renderDetails); } for (let i = 0; i < columnNames.length; i++) columnNames[i] = chalk_1.default.blueBright(columnNames[i]); const data = [ columnNames, ...sortOutdatedPackages(Object.values(outdatedMap)).map((outdatedPkg) => columnFns.map((fn) => fn(outdatedPkg))) ]; return (0, table_1.table)(data, { ...cli_utils_1.TABLE_OPTIONS, columns: { ...cli_utils_1.TABLE_OPTIONS.columns, // Dependents column: 3: { width: (0, outdated_js_1.getCellWidth)(data, 3, 30), wrapWord: true } } }); } function renderOutdatedList(outdatedMap, opts) { if ((0, isEmpty_1.default)(outdatedMap)) return ""; return sortOutdatedPackages(Object.values(outdatedMap)).map((outdatedPkg) => { let info = `${chalk_1.default.bold((0, outdated_js_1.renderPackageName)(outdatedPkg))} ${(0, outdated_js_1.renderCurrent)(outdatedPkg)} ${chalk_1.default.grey("=>")} ${(0, outdated_js_1.renderLatest)(outdatedPkg)}`; const dependents = dependentPackages(outdatedPkg); if (dependents) { info += ` ${chalk_1.default.bold(outdatedPkg.dependentPkgs.length > 1 ? "Dependents:" : "Dependent:")} ${dependents}`; } if (opts.long) { const details = (0, outdated_js_1.renderDetails)(outdatedPkg); if (details) { info += ` ${details}`; } } return info; }).join("\n\n") + "\n"; } function renderOutdatedJSON(outdatedMap, opts) { const outdatedPackagesJSON = sortOutdatedPackages(Object.values(outdatedMap)).reduce((acc, outdatedPkg) => { acc[outdatedPkg.packageName] = { current: outdatedPkg.current, latest: outdatedPkg.latestManifest?.version, wanted: outdatedPkg.wanted, isDeprecated: Boolean(outdatedPkg.latestManifest?.deprecated), dependencyType: outdatedPkg.belongsTo, dependentPackages: outdatedPkg.dependentPkgs.map(({ manifest, location }) => ({ name: manifest.name, location })) }; if (opts.long) { acc[outdatedPkg.packageName].latestManifest = outdatedPkg.latestManifest; } return acc; }, {}); return JSON.stringify(outdatedPackagesJSON, null, 2); } function dependentPackages({ dependentPkgs }) { return dependentPkgs.map(({ manifest, location }) => manifest.name ?? location).sort().join(", "); } function sortOutdatedPackages(outdatedPackages) { return (0, sortWith_1.default)(COMPARATORS, outdatedPackages.map(outdated_js_1.toOutdatedWithVersionDiff)); } } }); // ../reviewing/plugin-commands-outdated/lib/outdated.js var require_outdated2 = __commonJS({ "../reviewing/plugin-commands-outdated/lib/outdated.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.completion = exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.help = help; exports2.handler = handler; exports2.getCellWidth = getCellWidth; exports2.toOutdatedWithVersionDiff = toOutdatedWithVersionDiff; exports2.renderPackageName = renderPackageName; exports2.renderCurrent = renderCurrent; exports2.renderLatest = renderLatest; exports2.renderDetails = renderDetails; var cli_utils_1 = require_lib103(); var colorize_semver_diff_1 = __importDefault2(require_lib174()); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var error_1 = require_lib6(); var outdated_1 = require_lib173(); var semver_diff_1 = __importDefault2(require_lib175()); var table_1 = require_src4(); var chalk_1 = __importDefault2(require_source()); var pick_1 = __importDefault2(require_pick()); var sortWith_1 = __importDefault2(require_sortWith()); var render_help_1 = __importDefault2(require_lib109()); var util_1 = require("util"); var utils_js_1 = require_utils19(); var recursive_js_1 = require_recursive4(); function rcOptionsTypes() { return { ...(0, pick_1.default)([ "depth", "dev", "global-dir", "global", "long", "optional", "production" ], config_1.types), compatible: Boolean, format: ["table", "list", "json"], "sort-by": "name" }; } var cliOptionsTypes = () => ({ ...rcOptionsTypes(), recursive: Boolean }); exports2.cliOptionsTypes = cliOptionsTypes; exports2.shorthands = { D: "--dev", P: "--production", table: "--format=table", "no-table": "--format=list", json: "--format=json" }; exports2.commandNames = ["outdated"]; function help() { return (0, render_help_1.default)({ description: `Check for outdated packages. The check can be limited to a subset of the installed packages by providing arguments (patterns are supported). Examples: pnpm outdated pnpm outdated --long pnpm outdated gulp-* @babel/core`, descriptionLists: [ { title: "Options", list: [ { description: "Print only versions that satisfy specs in package.json", name: "--compatible" }, { description: "By default, details about the outdated packages (such as a link to the repo) are not displayed. To display the details, pass this option.", name: "--long" }, { description: 'Check for outdated dependencies in every package found in subdirectories or in every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, { description: "Prints the outdated packages in a list. Good for small consoles", name: "--no-table" }, { description: 'Check only "dependencies" and "optionalDependencies"', name: "--prod", shortAlias: "-P" }, { description: 'Check only "devDependencies"', name: "--dev", shortAlias: "-D" }, { description: `Don't check "optionalDependencies"`, name: "--no-optional" }, { description: 'Prints the outdated dependencies in the given format. Default is "table". Supported options: "table, list, json"', name: "--format " }, { description: "Specify the sorting method. Currently only `name` is supported.", name: "--sort-by" }, common_cli_options_help_1.OPTIONS.globalDir, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("outdated"), usages: ["pnpm outdated [ ...]"] }); } var completion = async (cliOpts) => { return (0, cli_utils_1.readDepNameCompletions)(cliOpts.dir); }; exports2.completion = completion; async function handler(opts, params = []) { const include = { dependencies: opts.production !== false, devDependencies: opts.dev !== false, optionalDependencies: opts.optional !== false }; if (opts.recursive && opts.selectedProjectsGraph != null) { const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package); return (0, recursive_js_1.outdatedRecursive)(pkgs, params, { ...opts, include }); } const manifest = await (0, cli_utils_1.readProjectManifestOnly)(opts.dir, opts); const packages = [ { rootDir: opts.dir, manifest } ]; const [outdatedPackages] = await (0, outdated_1.outdatedDepsOfProjects)(packages, params, { ...opts, fullMetadata: opts.long, ignoreDependencies: opts.updateConfig?.ignoreDependencies, include, minimumReleaseAge: opts.minimumReleaseAge, minimumReleaseAgeExclude: opts.minimumReleaseAgeExclude, retry: { factor: opts.fetchRetryFactor, maxTimeout: opts.fetchRetryMaxtimeout, minTimeout: opts.fetchRetryMintimeout, retries: opts.fetchRetries }, timeout: opts.fetchTimeout }); let output; switch (opts.format ?? "table") { case "table": { output = renderOutdatedTable(outdatedPackages, opts); break; } case "list": { output = renderOutdatedList(outdatedPackages, opts); break; } case "json": { output = renderOutdatedJSON(outdatedPackages, opts); break; } default: { throw new error_1.PnpmError("BAD_OUTDATED_FORMAT", `Unsupported format: ${opts.format?.toString() ?? "undefined"}`); } } return { output, exitCode: outdatedPackages.length === 0 ? 0 : 1 }; } function renderOutdatedTable(outdatedPackages, opts) { if (outdatedPackages.length === 0) return ""; const columnNames = [ "Package", "Current", "Latest" ]; const columnFns = [ renderPackageName, renderCurrent, renderLatest ]; if (opts.long) { columnNames.push("Details"); columnFns.push(renderDetails); } for (let i = 0; i < columnNames.length; i++) columnNames[i] = chalk_1.default.blueBright(columnNames[i]); const data = [ columnNames, ...sortOutdatedPackages(outdatedPackages, { sortBy: opts.sortBy }).map((outdatedPkg) => columnFns.map((fn) => fn(outdatedPkg))) ]; const tableOptions = { ...cli_utils_1.TABLE_OPTIONS }; if (opts.long) { const detailsColumnMaxWidth = outdatedPackages.filter((pkg) => pkg.latestManifest && !pkg.latestManifest.deprecated).reduce((maxWidth, pkg) => { const cellWidth = pkg.latestManifest?.homepage?.length ?? 0; return Math.max(maxWidth, cellWidth); }, 40); tableOptions.columns = { // Detail column: 3: { width: detailsColumnMaxWidth, wrapWord: true } }; } return (0, table_1.table)(data, tableOptions); } function renderOutdatedList(outdatedPackages, opts) { if (outdatedPackages.length === 0) return ""; return sortOutdatedPackages(outdatedPackages, { sortBy: opts.sortBy }).map((outdatedPkg) => { let info = `${chalk_1.default.bold(renderPackageName(outdatedPkg))} ${renderCurrent(outdatedPkg)} ${chalk_1.default.grey("=>")} ${renderLatest(outdatedPkg)}`; if (opts.long) { const details = renderDetails(outdatedPkg); if (details) { info += ` ${details}`; } } return info; }).join("\n\n") + "\n"; } function renderOutdatedJSON(outdatedPackages, opts) { const outdatedPackagesJSON = sortOutdatedPackages(outdatedPackages, { sortBy: opts.sortBy }).reduce((acc, outdatedPkg) => { acc[outdatedPkg.packageName] = { current: outdatedPkg.current, latest: outdatedPkg.latestManifest?.version, wanted: outdatedPkg.wanted, isDeprecated: Boolean(outdatedPkg.latestManifest?.deprecated), dependencyType: outdatedPkg.belongsTo }; if (opts.long) { acc[outdatedPkg.packageName].latestManifest = outdatedPkg.latestManifest; } return acc; }, {}); return JSON.stringify(outdatedPackagesJSON, null, 2); } function sortOutdatedPackages(outdatedPackages, opts) { const sortBy = opts?.sortBy; const comparators = sortBy === "name" ? [utils_js_1.NAME_COMPARATOR] : utils_js_1.DEFAULT_COMPARATORS; return (0, sortWith_1.default)(comparators, outdatedPackages.map(toOutdatedWithVersionDiff)); } function getCellWidth(data, columnNumber, maxWidth) { const maxCellWidth = data.reduce((cellWidth, row) => { const cellLines = (0, util_1.stripVTControlCharacters)(row[columnNumber]).split("\n"); const currentCellWidth = cellLines.reduce((lineWidth, line) => { return Math.max(lineWidth, line.length); }, 0); return Math.max(cellWidth, currentCellWidth); }, 0); return Math.min(maxWidth, maxCellWidth); } function toOutdatedWithVersionDiff(outdated) { if (outdated.latestManifest != null) { return { ...outdated, ...(0, semver_diff_1.default)(outdated.wanted, outdated.latestManifest.version) }; } return { ...outdated, change: "unknown" }; } function renderPackageName({ belongsTo, packageName }) { switch (belongsTo) { case "devDependencies": return `${packageName} ${chalk_1.default.dim("(dev)")}`; case "optionalDependencies": return `${packageName} ${chalk_1.default.dim("(optional)")}`; default: return packageName; } } function renderCurrent({ current, wanted }) { const output = current ?? "missing"; if (current === wanted) return output; return `${output} (wanted ${wanted})`; } function renderLatest(outdatedPkg) { const { latestManifest, change, diff } = outdatedPkg; if (latestManifest == null) return ""; if (change === null || diff == null) { return latestManifest.deprecated ? chalk_1.default.redBright.bold("Deprecated") : latestManifest.version; } const versionText = (0, colorize_semver_diff_1.default)({ change, diff }); if (latestManifest.deprecated) { return `${versionText} ${chalk_1.default.redBright("(deprecated)")}`; } return versionText; } function renderDetails({ latestManifest }) { if (latestManifest == null) return ""; const outputs = []; if (latestManifest.deprecated) { outputs.push(chalk_1.default.redBright(latestManifest.deprecated)); } if (latestManifest.homepage) { outputs.push(chalk_1.default.underline(latestManifest.homepage)); } return outputs.join("\n"); } } }); // ../reviewing/plugin-commands-outdated/lib/index.js var require_lib186 = __commonJS({ "../reviewing/plugin-commands-outdated/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.outdated = void 0; var outdated = __importStar3(require_outdated2()); exports2.outdated = outdated; } }); // ../pkg-manifest/exportable-manifest/lib/overridePublishConfig.js var require_overridePublishConfig = __commonJS({ "../pkg-manifest/exportable-manifest/lib/overridePublishConfig.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.overridePublishConfig = overridePublishConfig; var isEmpty_1 = __importDefault2(require_isEmpty2()); var PUBLISH_CONFIG_WHITELIST = /* @__PURE__ */ new Set([ // manifest fields that may make sense to overwrite "bin", "engines", "type", "imports", // https://github.com/stereobooster/package.json#package-bundlers "main", "module", "typings", "types", "exports", "browser", "esnext", "es2015", "unpkg", "umd:main", // These are useful to hide in order to avoid warnings during local development "os", "cpu", "libc", // https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions "typesVersions" ]); function overridePublishConfig(publishManifest) { const { publishConfig } = publishManifest; if (!publishConfig) return; for (const key in publishConfig) { if (!PUBLISH_CONFIG_WHITELIST.has(key)) continue; const value = publishConfig[key]; publishManifest[key] = value; delete publishConfig[key]; } if ((0, isEmpty_1.default)(publishConfig)) { delete publishManifest.publishConfig; } } } }); // ../pkg-manifest/exportable-manifest/lib/index.js var require_lib187 = __commonJS({ "../pkg-manifest/exportable-manifest/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createExportableManifest = createExportableManifest; var path_1 = __importDefault2(require("path")); var catalogs_resolver_1 = require_lib148(); var error_1 = require_lib6(); var resolving_jsr_specifier_parser_1 = require_lib46(); var read_project_manifest_1 = require_lib16(); var omit_1 = __importDefault2(require_omit()); var p_map_values_1 = __importDefault2(require_lib144()); var overridePublishConfig_js_1 = require_overridePublishConfig(); var PREPUBLISH_SCRIPTS = [ "prepublishOnly", "prepack", "prepare", "postpack", "publish", "postpublish" ]; async function createExportableManifest(dir, originalManifest, opts) { const publishManifest = (0, omit_1.default)(["pnpm", "scripts", "packageManager"], originalManifest); if (originalManifest.scripts != null) { publishManifest.scripts = (0, omit_1.default)(PREPUBLISH_SCRIPTS, originalManifest.scripts); } const catalogResolver = catalogs_resolver_1.resolveFromCatalog.bind(null, opts.catalogs); const replaceCatalogProtocol = resolveCatalogProtocol.bind(null, catalogResolver); const convertDependencyForPublish = combineConverters(replaceWorkspaceProtocol, replaceCatalogProtocol, replaceJsrProtocol); await Promise.all(["dependencies", "devDependencies", "optionalDependencies"].map(async (depsField) => { const deps = await makePublishDependencies(dir, originalManifest[depsField], { modulesDir: opts?.modulesDir, convertDependencyForPublish }); if (deps != null) { publishManifest[depsField] = deps; } })); const peerDependencies = originalManifest.peerDependencies; if (peerDependencies) { const convertPeersForPublish = combineConverters(replaceWorkspaceProtocolPeerDependency, replaceCatalogProtocol, replaceJsrProtocol); publishManifest.peerDependencies = await makePublishDependencies(dir, peerDependencies, { modulesDir: opts?.modulesDir, convertDependencyForPublish: convertPeersForPublish }); } (0, overridePublishConfig_js_1.overridePublishConfig)(publishManifest); if (opts?.readmeFile) { publishManifest.readme ??= opts.readmeFile; } return publishManifest; } function combineConverters(...converters) { return async (depName, depSpec, dir, modulesDir) => { let bareSpecifier = depSpec; for (const converter of converters) { bareSpecifier = await converter(depName, bareSpecifier, dir, modulesDir); } return bareSpecifier; }; } async function makePublishDependencies(dir, dependencies, { modulesDir, convertDependencyForPublish }) { if (dependencies == null) return dependencies; const publishDependencies = await (0, p_map_values_1.default)(async (depSpec, depName) => convertDependencyForPublish(depName, depSpec, dir, modulesDir), dependencies); return publishDependencies; } async function readAndCheckManifest(depName, dependencyDir) { const { manifest } = await (0, read_project_manifest_1.tryReadProjectManifest)(dependencyDir); if (!manifest?.name || !manifest?.version) { throw new error_1.PnpmError("CANNOT_RESOLVE_WORKSPACE_PROTOCOL", `Cannot resolve workspace protocol of dependency "${depName}" because this dependency is not installed. Try running "pnpm install".`); } return manifest; } function resolveCatalogProtocol(catalogResolver, alias, bareSpecifier) { const result2 = catalogResolver({ alias, bareSpecifier }); switch (result2.type) { case "found": return result2.resolution.specifier; case "unused": return bareSpecifier; case "misconfiguration": throw result2.error; } } async function replaceWorkspaceProtocol(depName, depSpec, dir, modulesDir) { if (!depSpec.startsWith("workspace:")) { return depSpec; } const versionAliasSpecParts = /^workspace:(.*?)@?([\^~*])$/.exec(depSpec); if (versionAliasSpecParts != null) { modulesDir = modulesDir ?? path_1.default.join(dir, "node_modules"); const manifest = await readAndCheckManifest(depName, path_1.default.join(modulesDir, depName)); const semverRangeToken = versionAliasSpecParts[2] !== "*" ? versionAliasSpecParts[2] : ""; if (depName !== manifest.name) { return `npm:${manifest.name}@${semverRangeToken}${manifest.version}`; } return `${semverRangeToken}${manifest.version}`; } if (depSpec.startsWith("workspace:./") || depSpec.startsWith("workspace:../")) { const manifest = await readAndCheckManifest(depName, path_1.default.join(dir, depSpec.slice(10))); if (manifest.name === depName) return `${manifest.version}`; return `npm:${manifest.name}@${manifest.version}`; } depSpec = depSpec.slice(10); if (depSpec.includes("@")) { return `npm:${depSpec}`; } return depSpec; } async function replaceWorkspaceProtocolPeerDependency(depName, depSpec, dir, modulesDir) { if (!depSpec.includes("workspace:")) { return depSpec; } const workspaceSemverRegex = /workspace:([\^~*]|>=|>|<=|<)?((\d+|[xX*])(\.(\d+|[xX*])){0,2})?/; const versionAliasSpecParts = workspaceSemverRegex.exec(depSpec); if (versionAliasSpecParts != null) { const [, semverRangGroup = "", version2] = versionAliasSpecParts; if (version2) { return depSpec.replace("workspace:", ""); } modulesDir = modulesDir ?? path_1.default.join(dir, "node_modules"); const manifest = await readAndCheckManifest(depName, path_1.default.join(modulesDir, depName)); const semverRangeToken = semverRangGroup !== "*" ? semverRangGroup : ""; return depSpec.replace(workspaceSemverRegex, `${semverRangeToken}${manifest.version}`); } return depSpec.replace("workspace:", ""); } async function replaceJsrProtocol(depName, depSpec) { const spec = (0, resolving_jsr_specifier_parser_1.parseJsrSpecifier)(depSpec, depName); if (spec == null) { return depSpec; } return createNpmAliasedSpecifier(spec.npmPkgName, spec.versionSelector); } function createNpmAliasedSpecifier(npmPkgName, versionSelector) { const npmPkgSpecifier = `npm:${npmPkgName}`; if (!versionSelector) { return npmPkgSpecifier; } return `${npmPkgSpecifier}@${versionSelector}`; } } }); // ../node_modules/.pnpm/bl@4.1.0/node_modules/bl/BufferList.js var require_BufferList = __commonJS({ "../node_modules/.pnpm/bl@4.1.0/node_modules/bl/BufferList.js"(exports2, module2) { "use strict"; var { Buffer: Buffer2 } = require("buffer"); var symbol = Symbol.for("BufferList"); function BufferList(buf) { if (!(this instanceof BufferList)) { return new BufferList(buf); } BufferList._init.call(this, buf); } BufferList._init = function _init(buf) { Object.defineProperty(this, symbol, { value: true }); this._bufs = []; this.length = 0; if (buf) { this.append(buf); } }; BufferList.prototype._new = function _new(buf) { return new BufferList(buf); }; BufferList.prototype._offset = function _offset(offset) { if (offset === 0) { return [0, 0]; } let tot = 0; for (let i = 0; i < this._bufs.length; i++) { const _t = tot + this._bufs[i].length; if (offset < _t || i === this._bufs.length - 1) { return [i, offset - tot]; } tot = _t; } }; BufferList.prototype._reverseOffset = function(blOffset) { const bufferId = blOffset[0]; let offset = blOffset[1]; for (let i = 0; i < bufferId; i++) { offset += this._bufs[i].length; } return offset; }; BufferList.prototype.get = function get(index) { if (index > this.length || index < 0) { return void 0; } const offset = this._offset(index); return this._bufs[offset[0]][offset[1]]; }; BufferList.prototype.slice = function slice(start, end) { if (typeof start === "number" && start < 0) { start += this.length; } if (typeof end === "number" && end < 0) { end += this.length; } return this.copy(null, 0, start, end); }; BufferList.prototype.copy = function copy(dst, dstStart, srcStart, srcEnd) { if (typeof srcStart !== "number" || srcStart < 0) { srcStart = 0; } if (typeof srcEnd !== "number" || srcEnd > this.length) { srcEnd = this.length; } if (srcStart >= this.length) { return dst || Buffer2.alloc(0); } if (srcEnd <= 0) { return dst || Buffer2.alloc(0); } const copy2 = !!dst; const off = this._offset(srcStart); const len = srcEnd - srcStart; let bytes = len; let bufoff = copy2 && dstStart || 0; let start = off[1]; if (srcStart === 0 && srcEnd === this.length) { if (!copy2) { return this._bufs.length === 1 ? this._bufs[0] : Buffer2.concat(this._bufs, this.length); } for (let i = 0; i < this._bufs.length; i++) { this._bufs[i].copy(dst, bufoff); bufoff += this._bufs[i].length; } return dst; } if (bytes <= this._bufs[off[0]].length - start) { return copy2 ? this._bufs[off[0]].copy(dst, dstStart, start, start + bytes) : this._bufs[off[0]].slice(start, start + bytes); } if (!copy2) { dst = Buffer2.allocUnsafe(len); } for (let i = off[0]; i < this._bufs.length; i++) { const l = this._bufs[i].length - start; if (bytes > l) { this._bufs[i].copy(dst, bufoff, start); bufoff += l; } else { this._bufs[i].copy(dst, bufoff, start, start + bytes); bufoff += l; break; } bytes -= l; if (start) { start = 0; } } if (dst.length > bufoff) return dst.slice(0, bufoff); return dst; }; BufferList.prototype.shallowSlice = function shallowSlice(start, end) { start = start || 0; end = typeof end !== "number" ? this.length : end; if (start < 0) { start += this.length; } if (end < 0) { end += this.length; } if (start === end) { return this._new(); } const startOffset = this._offset(start); const endOffset = this._offset(end); const buffers = this._bufs.slice(startOffset[0], endOffset[0] + 1); if (endOffset[1] === 0) { buffers.pop(); } else { buffers[buffers.length - 1] = buffers[buffers.length - 1].slice(0, endOffset[1]); } if (startOffset[1] !== 0) { buffers[0] = buffers[0].slice(startOffset[1]); } return this._new(buffers); }; BufferList.prototype.toString = function toString(encoding, start, end) { return this.slice(start, end).toString(encoding); }; BufferList.prototype.consume = function consume(bytes) { bytes = Math.trunc(bytes); if (Number.isNaN(bytes) || bytes <= 0) return this; while (this._bufs.length) { if (bytes >= this._bufs[0].length) { bytes -= this._bufs[0].length; this.length -= this._bufs[0].length; this._bufs.shift(); } else { this._bufs[0] = this._bufs[0].slice(bytes); this.length -= bytes; break; } } return this; }; BufferList.prototype.duplicate = function duplicate() { const copy = this._new(); for (let i = 0; i < this._bufs.length; i++) { copy.append(this._bufs[i]); } return copy; }; BufferList.prototype.append = function append(buf) { if (buf == null) { return this; } if (buf.buffer) { this._appendBuffer(Buffer2.from(buf.buffer, buf.byteOffset, buf.byteLength)); } else if (Array.isArray(buf)) { for (let i = 0; i < buf.length; i++) { this.append(buf[i]); } } else if (this._isBufferList(buf)) { for (let i = 0; i < buf._bufs.length; i++) { this.append(buf._bufs[i]); } } else { if (typeof buf === "number") { buf = buf.toString(); } this._appendBuffer(Buffer2.from(buf)); } return this; }; BufferList.prototype._appendBuffer = function appendBuffer(buf) { this._bufs.push(buf); this.length += buf.length; }; BufferList.prototype.indexOf = function(search, offset, encoding) { if (encoding === void 0 && typeof offset === "string") { encoding = offset; offset = void 0; } if (typeof search === "function" || Array.isArray(search)) { throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.'); } else if (typeof search === "number") { search = Buffer2.from([search]); } else if (typeof search === "string") { search = Buffer2.from(search, encoding); } else if (this._isBufferList(search)) { search = search.slice(); } else if (Array.isArray(search.buffer)) { search = Buffer2.from(search.buffer, search.byteOffset, search.byteLength); } else if (!Buffer2.isBuffer(search)) { search = Buffer2.from(search); } offset = Number(offset || 0); if (isNaN(offset)) { offset = 0; } if (offset < 0) { offset = this.length + offset; } if (offset < 0) { offset = 0; } if (search.length === 0) { return offset > this.length ? this.length : offset; } const blOffset = this._offset(offset); let blIndex = blOffset[0]; let buffOffset = blOffset[1]; for (; blIndex < this._bufs.length; blIndex++) { const buff = this._bufs[blIndex]; while (buffOffset < buff.length) { const availableWindow = buff.length - buffOffset; if (availableWindow >= search.length) { const nativeSearchResult = buff.indexOf(search, buffOffset); if (nativeSearchResult !== -1) { return this._reverseOffset([blIndex, nativeSearchResult]); } buffOffset = buff.length - search.length + 1; } else { const revOffset = this._reverseOffset([blIndex, buffOffset]); if (this._match(revOffset, search)) { return revOffset; } buffOffset++; } } buffOffset = 0; } return -1; }; BufferList.prototype._match = function(offset, search) { if (this.length - offset < search.length) { return false; } for (let searchOffset = 0; searchOffset < search.length; searchOffset++) { if (this.get(offset + searchOffset) !== search[searchOffset]) { return false; } } return true; }; (function() { const methods = { readDoubleBE: 8, readDoubleLE: 8, readFloatBE: 4, readFloatLE: 4, readInt32BE: 4, readInt32LE: 4, readUInt32BE: 4, readUInt32LE: 4, readInt16BE: 2, readInt16LE: 2, readUInt16BE: 2, readUInt16LE: 2, readInt8: 1, readUInt8: 1, readIntBE: null, readIntLE: null, readUIntBE: null, readUIntLE: null }; for (const m in methods) { (function(m2) { if (methods[m2] === null) { BufferList.prototype[m2] = function(offset, byteLength) { return this.slice(offset, offset + byteLength)[m2](0, byteLength); }; } else { BufferList.prototype[m2] = function(offset = 0) { return this.slice(offset, offset + methods[m2])[m2](0); }; } })(m); } })(); BufferList.prototype._isBufferList = function _isBufferList(b) { return b instanceof BufferList || BufferList.isBufferList(b); }; BufferList.isBufferList = function isBufferList(b) { return b != null && b[symbol]; }; module2.exports = BufferList; } }); // ../node_modules/.pnpm/bl@4.1.0/node_modules/bl/bl.js var require_bl = __commonJS({ "../node_modules/.pnpm/bl@4.1.0/node_modules/bl/bl.js"(exports2, module2) { "use strict"; var DuplexStream = require_readable().Duplex; var inherits = require_inherits(); var BufferList = require_BufferList(); function BufferListStream(callback) { if (!(this instanceof BufferListStream)) { return new BufferListStream(callback); } if (typeof callback === "function") { this._callback = callback; const piper = function piper2(err) { if (this._callback) { this._callback(err); this._callback = null; } }.bind(this); this.on("pipe", function onPipe(src) { src.on("error", piper); }); this.on("unpipe", function onUnpipe(src) { src.removeListener("error", piper); }); callback = null; } BufferList._init.call(this, callback); DuplexStream.call(this); } inherits(BufferListStream, DuplexStream); Object.assign(BufferListStream.prototype, BufferList.prototype); BufferListStream.prototype._new = function _new(callback) { return new BufferListStream(callback); }; BufferListStream.prototype._write = function _write(buf, encoding, callback) { this._appendBuffer(buf); if (typeof callback === "function") { callback(); } }; BufferListStream.prototype._read = function _read(size) { if (!this.length) { return this.push(null); } size = Math.min(size, this.length); this.push(this.slice(0, size)); this.consume(size); }; BufferListStream.prototype.end = function end(chunk) { DuplexStream.prototype.end.call(this, chunk); if (this._callback) { this._callback(null, this.slice()); this._callback = null; } }; BufferListStream.prototype._destroy = function _destroy(err, cb) { this._bufs.length = 0; this.length = 0; cb(err); }; BufferListStream.prototype._isBufferList = function _isBufferList(b) { return b instanceof BufferListStream || b instanceof BufferList || BufferListStream.isBufferList(b); }; BufferListStream.isBufferList = BufferList.isBufferList; module2.exports = BufferListStream; module2.exports.BufferListStream = BufferListStream; module2.exports.BufferList = BufferList; } }); // ../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/headers.js var require_headers2 = __commonJS({ "../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/headers.js"(exports2) { var alloc = Buffer.alloc; var ZEROS = "0000000000000000000"; var SEVENS = "7777777777777777777"; var ZERO_OFFSET = "0".charCodeAt(0); var USTAR_MAGIC = Buffer.from("ustar\0", "binary"); var USTAR_VER = Buffer.from("00", "binary"); var GNU_MAGIC = Buffer.from("ustar ", "binary"); var GNU_VER = Buffer.from(" \0", "binary"); var MASK = parseInt("7777", 8); var MAGIC_OFFSET = 257; var VERSION_OFFSET = 263; var clamp = function(index, len, defaultValue) { if (typeof index !== "number") return defaultValue; index = ~~index; if (index >= len) return len; if (index >= 0) return index; index += len; if (index >= 0) return index; return 0; }; var toType = function(flag) { switch (flag) { case 0: return "file"; case 1: return "link"; case 2: return "symlink"; case 3: return "character-device"; case 4: return "block-device"; case 5: return "directory"; case 6: return "fifo"; case 7: return "contiguous-file"; case 72: return "pax-header"; case 55: return "pax-global-header"; case 27: return "gnu-long-link-path"; case 28: case 30: return "gnu-long-path"; } return null; }; var toTypeflag = function(flag) { switch (flag) { case "file": return 0; case "link": return 1; case "symlink": return 2; case "character-device": return 3; case "block-device": return 4; case "directory": return 5; case "fifo": return 6; case "contiguous-file": return 7; case "pax-header": return 72; } return 0; }; var indexOf = function(block, num, offset, end) { for (; offset < end; offset++) { if (block[offset] === num) return offset; } return end; }; var cksum = function(block) { var sum = 8 * 32; for (var i = 0; i < 148; i++) sum += block[i]; for (var j = 156; j < 512; j++) sum += block[j]; return sum; }; var encodeOct = function(val, n) { val = val.toString(8); if (val.length > n) return SEVENS.slice(0, n) + " "; else return ZEROS.slice(0, n - val.length) + val + " "; }; function parse256(buf) { var positive; if (buf[0] === 128) positive = true; else if (buf[0] === 255) positive = false; else return null; var tuple = []; for (var i = buf.length - 1; i > 0; i--) { var byte = buf[i]; if (positive) tuple.push(byte); else tuple.push(255 - byte); } var sum = 0; var l = tuple.length; for (i = 0; i < l; i++) { sum += tuple[i] * Math.pow(256, i); } return positive ? sum : -1 * sum; } var decodeOct = function(val, offset, length) { val = val.slice(offset, offset + length); offset = 0; if (val[offset] & 128) { return parse256(val); } else { while (offset < val.length && val[offset] === 32) offset++; var end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length); while (offset < end && val[offset] === 0) offset++; if (end === offset) return 0; return parseInt(val.slice(offset, end).toString(), 8); } }; var decodeStr = function(val, offset, length, encoding) { return val.slice(offset, indexOf(val, 0, offset, offset + length)).toString(encoding); }; var addLength = function(str) { var len = Buffer.byteLength(str); var digits = Math.floor(Math.log(len) / Math.log(10)) + 1; if (len + digits >= Math.pow(10, digits)) digits++; return len + digits + str; }; exports2.decodeLongPath = function(buf, encoding) { return decodeStr(buf, 0, buf.length, encoding); }; exports2.encodePax = function(opts) { var result2 = ""; if (opts.name) result2 += addLength(" path=" + opts.name + "\n"); if (opts.linkname) result2 += addLength(" linkpath=" + opts.linkname + "\n"); var pax = opts.pax; if (pax) { for (var key in pax) { result2 += addLength(" " + key + "=" + pax[key] + "\n"); } } return Buffer.from(result2); }; exports2.decodePax = function(buf) { var result2 = {}; while (buf.length) { var i = 0; while (i < buf.length && buf[i] !== 32) i++; var len = parseInt(buf.slice(0, i).toString(), 10); if (!len) return result2; var b = buf.slice(i + 1, len - 1).toString(); var keyIndex = b.indexOf("="); if (keyIndex === -1) return result2; result2[b.slice(0, keyIndex)] = b.slice(keyIndex + 1); buf = buf.slice(len); } return result2; }; exports2.encode = function(opts) { var buf = alloc(512); var name = opts.name; var prefix = ""; if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/"; if (Buffer.byteLength(name) !== name.length) return null; while (Buffer.byteLength(name) > 100) { var i = name.indexOf("/"); if (i === -1) return null; prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i); name = name.slice(i + 1); } if (Buffer.byteLength(name) > 100 || Buffer.byteLength(prefix) > 155) return null; if (opts.linkname && Buffer.byteLength(opts.linkname) > 100) return null; buf.write(name); buf.write(encodeOct(opts.mode & MASK, 6), 100); buf.write(encodeOct(opts.uid, 6), 108); buf.write(encodeOct(opts.gid, 6), 116); buf.write(encodeOct(opts.size, 11), 124); buf.write(encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136); buf[156] = ZERO_OFFSET + toTypeflag(opts.type); if (opts.linkname) buf.write(opts.linkname, 157); USTAR_MAGIC.copy(buf, MAGIC_OFFSET); USTAR_VER.copy(buf, VERSION_OFFSET); if (opts.uname) buf.write(opts.uname, 265); if (opts.gname) buf.write(opts.gname, 297); buf.write(encodeOct(opts.devmajor || 0, 6), 329); buf.write(encodeOct(opts.devminor || 0, 6), 337); if (prefix) buf.write(prefix, 345); buf.write(encodeOct(cksum(buf), 6), 148); return buf; }; exports2.decode = function(buf, filenameEncoding, allowUnknownFormat) { var typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET; var name = decodeStr(buf, 0, 100, filenameEncoding); var mode = decodeOct(buf, 100, 8); var uid = decodeOct(buf, 108, 8); var gid = decodeOct(buf, 116, 8); var size = decodeOct(buf, 124, 12); var mtime = decodeOct(buf, 136, 12); var type = toType(typeflag); var linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding); var uname = decodeStr(buf, 265, 32); var gname = decodeStr(buf, 297, 32); var devmajor = decodeOct(buf, 329, 8); var devminor = decodeOct(buf, 337, 8); var c = cksum(buf); if (c === 8 * 32) return null; if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?"); if (USTAR_MAGIC.compare(buf, MAGIC_OFFSET, MAGIC_OFFSET + 6) === 0) { if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name; } else if (GNU_MAGIC.compare(buf, MAGIC_OFFSET, MAGIC_OFFSET + 6) === 0 && GNU_VER.compare(buf, VERSION_OFFSET, VERSION_OFFSET + 2) === 0) { } else { if (!allowUnknownFormat) { throw new Error("Invalid tar header: unknown format."); } } if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5; return { name, mode, uid, gid, size, mtime: new Date(1e3 * mtime), type, linkname, uname, gname, devmajor, devminor }; }; } }); // ../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/extract.js var require_extract = __commonJS({ "../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/extract.js"(exports2, module2) { var util = require("util"); var bl = require_bl(); var headers = require_headers2(); var Writable = require_readable().Writable; var PassThrough = require_readable().PassThrough; var noop = function() { }; var overflow = function(size) { size &= 511; return size && 512 - size; }; var emptyStream = function(self2, offset) { var s = new Source(self2, offset); s.end(); return s; }; var mixinPax = function(header, pax) { if (pax.path) header.name = pax.path; if (pax.linkpath) header.linkname = pax.linkpath; if (pax.size) header.size = parseInt(pax.size, 10); header.pax = pax; return header; }; var Source = function(self2, offset) { this._parent = self2; this.offset = offset; PassThrough.call(this, { autoDestroy: false }); }; util.inherits(Source, PassThrough); Source.prototype.destroy = function(err) { this._parent.destroy(err); }; var Extract = function(opts) { if (!(this instanceof Extract)) return new Extract(opts); Writable.call(this, opts); opts = opts || {}; this._offset = 0; this._buffer = bl(); this._missing = 0; this._partial = false; this._onparse = noop; this._header = null; this._stream = null; this._overflow = null; this._cb = null; this._locked = false; this._destroyed = false; this._pax = null; this._paxGlobal = null; this._gnuLongPath = null; this._gnuLongLinkPath = null; var self2 = this; var b = self2._buffer; var oncontinue = function() { self2._continue(); }; var onunlock = function(err) { self2._locked = false; if (err) return self2.destroy(err); if (!self2._stream) oncontinue(); }; var onstreamend = function() { self2._stream = null; var drain = overflow(self2._header.size); if (drain) self2._parse(drain, ondrain); else self2._parse(512, onheader); if (!self2._locked) oncontinue(); }; var ondrain = function() { self2._buffer.consume(overflow(self2._header.size)); self2._parse(512, onheader); oncontinue(); }; var onpaxglobalheader = function() { var size = self2._header.size; self2._paxGlobal = headers.decodePax(b.slice(0, size)); b.consume(size); onstreamend(); }; var onpaxheader = function() { var size = self2._header.size; self2._pax = headers.decodePax(b.slice(0, size)); if (self2._paxGlobal) self2._pax = Object.assign({}, self2._paxGlobal, self2._pax); b.consume(size); onstreamend(); }; var ongnulongpath = function() { var size = self2._header.size; this._gnuLongPath = headers.decodeLongPath(b.slice(0, size), opts.filenameEncoding); b.consume(size); onstreamend(); }; var ongnulonglinkpath = function() { var size = self2._header.size; this._gnuLongLinkPath = headers.decodeLongPath(b.slice(0, size), opts.filenameEncoding); b.consume(size); onstreamend(); }; var onheader = function() { var offset = self2._offset; var header; try { header = self2._header = headers.decode(b.slice(0, 512), opts.filenameEncoding, opts.allowUnknownFormat); } catch (err) { self2.emit("error", err); } b.consume(512); if (!header) { self2._parse(512, onheader); oncontinue(); return; } if (header.type === "gnu-long-path") { self2._parse(header.size, ongnulongpath); oncontinue(); return; } if (header.type === "gnu-long-link-path") { self2._parse(header.size, ongnulonglinkpath); oncontinue(); return; } if (header.type === "pax-global-header") { self2._parse(header.size, onpaxglobalheader); oncontinue(); return; } if (header.type === "pax-header") { self2._parse(header.size, onpaxheader); oncontinue(); return; } if (self2._gnuLongPath) { header.name = self2._gnuLongPath; self2._gnuLongPath = null; } if (self2._gnuLongLinkPath) { header.linkname = self2._gnuLongLinkPath; self2._gnuLongLinkPath = null; } if (self2._pax) { self2._header = header = mixinPax(header, self2._pax); self2._pax = null; } self2._locked = true; if (!header.size || header.type === "directory") { self2._parse(512, onheader); self2.emit("entry", header, emptyStream(self2, offset), onunlock); return; } self2._stream = new Source(self2, offset); self2.emit("entry", header, self2._stream, onunlock); self2._parse(header.size, onstreamend); oncontinue(); }; this._onheader = onheader; this._parse(512, onheader); }; util.inherits(Extract, Writable); Extract.prototype.destroy = function(err) { if (this._destroyed) return; this._destroyed = true; if (err) this.emit("error", err); this.emit("close"); if (this._stream) this._stream.emit("close"); }; Extract.prototype._parse = function(size, onparse) { if (this._destroyed) return; this._offset += size; this._missing = size; if (onparse === this._onheader) this._partial = false; this._onparse = onparse; }; Extract.prototype._continue = function() { if (this._destroyed) return; var cb = this._cb; this._cb = noop; if (this._overflow) this._write(this._overflow, void 0, cb); else cb(); }; Extract.prototype._write = function(data, enc, cb) { if (this._destroyed) return; var s = this._stream; var b = this._buffer; var missing = this._missing; if (data.length) this._partial = true; if (data.length < missing) { this._missing -= data.length; this._overflow = null; if (s) return s.write(data, cb); b.append(data); return cb(); } this._cb = cb; this._missing = 0; var overflow2 = null; if (data.length > missing) { overflow2 = data.slice(missing); data = data.slice(0, missing); } if (s) s.end(data); else b.append(data); this._overflow = overflow2; this._onparse(); }; Extract.prototype._final = function(cb) { if (this._partial) return this.destroy(new Error("Unexpected end of data")); cb(); }; module2.exports = Extract; } }); // ../node_modules/.pnpm/fs-constants@1.0.0/node_modules/fs-constants/index.js var require_fs_constants = __commonJS({ "../node_modules/.pnpm/fs-constants@1.0.0/node_modules/fs-constants/index.js"(exports2, module2) { module2.exports = require("fs").constants || require("constants"); } }); // ../node_modules/.pnpm/end-of-stream@1.4.5/node_modules/end-of-stream/index.js var require_end_of_stream2 = __commonJS({ "../node_modules/.pnpm/end-of-stream@1.4.5/node_modules/end-of-stream/index.js"(exports2, module2) { var once = require_once(); var noop = function() { }; var qnt = global.Bare ? queueMicrotask : process.nextTick.bind(process); var isRequest = function(stream) { return stream.setHeader && typeof stream.abort === "function"; }; var isChildProcess = function(stream) { return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3; }; var eos = function(stream, opts, callback) { if (typeof opts === "function") return eos(stream, null, opts); if (!opts) opts = {}; callback = once(callback || noop); var ws = stream._writableState; var rs = stream._readableState; var readable = opts.readable || opts.readable !== false && stream.readable; var writable = opts.writable || opts.writable !== false && stream.writable; var cancelled = false; var onlegacyfinish = function() { if (!stream.writable) onfinish(); }; var onfinish = function() { writable = false; if (!readable) callback.call(stream); }; var onend = function() { readable = false; if (!writable) callback.call(stream); }; var onexit = function(exitCode) { callback.call(stream, exitCode ? new Error("exited with error code: " + exitCode) : null); }; var onerror = function(err) { callback.call(stream, err); }; var onclose = function() { qnt(onclosenexttick); }; var onclosenexttick = function() { if (cancelled) return; if (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error("premature close")); if (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error("premature close")); }; var onrequest = function() { stream.req.on("finish", onfinish); }; if (isRequest(stream)) { stream.on("complete", onfinish); stream.on("abort", onclose); if (stream.req) onrequest(); else stream.on("request", onrequest); } else if (writable && !ws) { stream.on("end", onlegacyfinish); stream.on("close", onlegacyfinish); } if (isChildProcess(stream)) stream.on("exit", onexit); stream.on("end", onend); stream.on("finish", onfinish); if (opts.error !== false) stream.on("error", onerror); stream.on("close", onclose); return function() { cancelled = true; stream.removeListener("complete", onfinish); stream.removeListener("abort", onclose); stream.removeListener("request", onrequest); if (stream.req) stream.req.removeListener("finish", onfinish); stream.removeListener("end", onlegacyfinish); stream.removeListener("close", onlegacyfinish); stream.removeListener("finish", onfinish); stream.removeListener("exit", onexit); stream.removeListener("end", onend); stream.removeListener("error", onerror); stream.removeListener("close", onclose); }; }; module2.exports = eos; } }); // ../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/pack.js var require_pack = __commonJS({ "../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/pack.js"(exports2, module2) { var constants = require_fs_constants(); var eos = require_end_of_stream2(); var inherits = require_inherits(); var alloc = Buffer.alloc; var Readable = require_readable().Readable; var Writable = require_readable().Writable; var StringDecoder = require("string_decoder").StringDecoder; var headers = require_headers2(); var DMODE = parseInt("755", 8); var FMODE = parseInt("644", 8); var END_OF_TAR = alloc(1024); var noop = function() { }; var overflow = function(self2, size) { size &= 511; if (size) self2.push(END_OF_TAR.slice(0, 512 - size)); }; function modeToType(mode) { switch (mode & constants.S_IFMT) { case constants.S_IFBLK: return "block-device"; case constants.S_IFCHR: return "character-device"; case constants.S_IFDIR: return "directory"; case constants.S_IFIFO: return "fifo"; case constants.S_IFLNK: return "symlink"; } return "file"; } var Sink = function(to) { Writable.call(this); this.written = 0; this._to = to; this._destroyed = false; }; inherits(Sink, Writable); Sink.prototype._write = function(data, enc, cb) { this.written += data.length; if (this._to.push(data)) return cb(); this._to._drain = cb; }; Sink.prototype.destroy = function() { if (this._destroyed) return; this._destroyed = true; this.emit("close"); }; var LinkSink = function() { Writable.call(this); this.linkname = ""; this._decoder = new StringDecoder("utf-8"); this._destroyed = false; }; inherits(LinkSink, Writable); LinkSink.prototype._write = function(data, enc, cb) { this.linkname += this._decoder.write(data); cb(); }; LinkSink.prototype.destroy = function() { if (this._destroyed) return; this._destroyed = true; this.emit("close"); }; var Void = function() { Writable.call(this); this._destroyed = false; }; inherits(Void, Writable); Void.prototype._write = function(data, enc, cb) { cb(new Error("No body allowed for this entry")); }; Void.prototype.destroy = function() { if (this._destroyed) return; this._destroyed = true; this.emit("close"); }; var Pack = function(opts) { if (!(this instanceof Pack)) return new Pack(opts); Readable.call(this, opts); this._drain = noop; this._finalized = false; this._finalizing = false; this._destroyed = false; this._stream = null; }; inherits(Pack, Readable); Pack.prototype.entry = function(header, buffer, callback) { if (this._stream) throw new Error("already piping an entry"); if (this._finalized || this._destroyed) return; if (typeof buffer === "function") { callback = buffer; buffer = null; } if (!callback) callback = noop; var self2 = this; if (!header.size || header.type === "symlink") header.size = 0; if (!header.type) header.type = modeToType(header.mode); if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE; if (!header.uid) header.uid = 0; if (!header.gid) header.gid = 0; if (!header.mtime) header.mtime = /* @__PURE__ */ new Date(); if (typeof buffer === "string") buffer = Buffer.from(buffer); if (Buffer.isBuffer(buffer)) { header.size = buffer.length; this._encode(header); var ok = this.push(buffer); overflow(self2, header.size); if (ok) process.nextTick(callback); else this._drain = callback; return new Void(); } if (header.type === "symlink" && !header.linkname) { var linkSink = new LinkSink(); eos(linkSink, function(err) { if (err) { self2.destroy(); return callback(err); } header.linkname = linkSink.linkname; self2._encode(header); callback(); }); return linkSink; } this._encode(header); if (header.type !== "file" && header.type !== "contiguous-file") { process.nextTick(callback); return new Void(); } var sink = new Sink(this); this._stream = sink; eos(sink, function(err) { self2._stream = null; if (err) { self2.destroy(); return callback(err); } if (sink.written !== header.size) { self2.destroy(); return callback(new Error("size mismatch")); } overflow(self2, header.size); if (self2._finalizing) self2.finalize(); callback(); }); return sink; }; Pack.prototype.finalize = function() { if (this._stream) { this._finalizing = true; return; } if (this._finalized) return; this._finalized = true; this.push(END_OF_TAR); this.push(null); }; Pack.prototype.destroy = function(err) { if (this._destroyed) return; this._destroyed = true; if (err) this.emit("error", err); this.emit("close"); if (this._stream && this._stream.destroy) this._stream.destroy(); }; Pack.prototype._encode = function(header) { if (!header.pax) { var buf = headers.encode(header); if (buf) { this.push(buf); return; } } this._encodePax(header); }; Pack.prototype._encodePax = function(header) { var paxHeader = headers.encodePax({ name: header.name, linkname: header.linkname, pax: header.pax }); var newHeader = { name: "PaxHeader", mode: header.mode, uid: header.uid, gid: header.gid, size: paxHeader.length, mtime: header.mtime, type: "pax-header", linkname: header.linkname && "PaxHeader", uname: header.uname, gname: header.gname, devmajor: header.devmajor, devminor: header.devminor }; this.push(headers.encode(newHeader)); this.push(paxHeader); overflow(this, paxHeader.length); newHeader.size = header.size; newHeader.type = header.type; this.push(headers.encode(newHeader)); }; Pack.prototype._read = function(n) { var drain = this._drain; this._drain = noop; drain(); }; module2.exports = Pack; } }); // ../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/index.js var require_tar_stream = __commonJS({ "../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/index.js"(exports2) { exports2.extract = require_extract(); exports2.pack = require_pack(); } }); // ../releasing/plugin-commands-publishing/lib/recursivePublish.js var require_recursivePublish = __commonJS({ "../releasing/plugin-commands-publishing/lib/recursivePublish.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.recursivePublish = recursivePublish; var path_1 = __importDefault2(require("path")); var client_1 = require_lib78(); var logger_1 = require_lib(); var pick_registry_for_package_1 = require_lib42(); var sort_packages_1 = require_lib130(); var p_filter_1 = __importDefault2(require_p_filter()); var pick_1 = __importDefault2(require_pick()); var write_json_file_1 = __importDefault2(require_write_json_file()); var publish_js_1 = require_publish2(); async function recursivePublish(opts) { const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package); const { resolve } = (0, client_1.createResolver)({ ...opts, authConfig: opts.rawConfig, userConfig: opts.userConfig, retry: { factor: opts.fetchRetryFactor, maxTimeout: opts.fetchRetryMaxtimeout, minTimeout: opts.fetchRetryMintimeout, retries: opts.fetchRetries }, timeout: opts.fetchTimeout }); const pkgsToPublish = await (0, p_filter_1.default)(pkgs, async (pkg) => { if (!pkg.manifest.name || !pkg.manifest.version || pkg.manifest.private) return false; if (opts.force) return true; return !await isAlreadyPublished({ dir: pkg.rootDir, lockfileDir: opts.lockfileDir ?? pkg.rootDir, registries: opts.registries, resolve }, pkg.manifest.name, pkg.manifest.version); }); const publishedPkgDirs = new Set(pkgsToPublish.map(({ rootDir }) => rootDir)); const publishedPackages = []; if (publishedPkgDirs.size === 0) { logger_1.logger.info({ message: "There are no new packages that should be published", prefix: opts.dir }); } else { const appendedArgs = []; if (opts.cliOptions["access"]) { appendedArgs.push(`--access=${opts.cliOptions["access"]}`); } if (opts.dryRun) { appendedArgs.push("--dry-run"); } if (opts.force) { appendedArgs.push("--force"); } if (opts.cliOptions["otp"]) { appendedArgs.push(`--otp=${opts.cliOptions["otp"]}`); } const chunks = (0, sort_packages_1.sortPackages)(opts.selectedProjectsGraph); const tag = opts.tag ?? "latest"; for (const chunk of chunks) { for (const pkgDir of chunk) { if (!publishedPkgDirs.has(pkgDir)) continue; const pkg = opts.selectedProjectsGraph[pkgDir].package; const registry = pkg.manifest.publishConfig?.registry ?? (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, pkg.manifest.name); const publishResult = await (0, publish_js_1.publish)({ ...opts, dir: pkg.rootDir, argv: { original: [ "publish", "--tag", tag, "--registry", registry, ...appendedArgs ] }, gitChecks: false, recursive: false }, [pkg.rootDir]); if (publishResult?.manifest != null) { publishedPackages.push((0, pick_1.default)(["name", "version"], publishResult.manifest)); } else if (publishResult?.exitCode) { return { exitCode: publishResult.exitCode }; } } } } if (opts.reportSummary) { await (0, write_json_file_1.default)(path_1.default.join(opts.lockfileDir ?? opts.dir, "pnpm-publish-summary.json"), { publishedPackages }); } return { exitCode: 0 }; } async function isAlreadyPublished(opts, pkgName, pkgVersion) { try { await opts.resolve({ alias: pkgName, bareSpecifier: pkgVersion }, { lockfileDir: opts.lockfileDir, preferredVersions: {}, projectDir: opts.dir }); return true; } catch (err) { return false; } } } }); // ../releasing/plugin-commands-publishing/lib/publish.js var require_publish2 = __commonJS({ "../releasing/plugin-commands-publishing/lib/publish.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.removePnpmSpecificOptions = removePnpmSpecificOptions; exports2.handler = handler; exports2.publish = publish; exports2.runScriptsIfPresent = runScriptsIfPresent; var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var error_1 = require_lib6(); var lifecycle_1 = require_lib71(); var run_npm_1 = require_lib140(); var git_utils_1 = require_lib18(); var network_auth_header_1 = require_lib76(); var plugin_commands_env_1 = require_lib112(); var enquirer_1 = require_enquirer(); var rimraf_1 = __importDefault2(require_rimraf()); var pick_1 = __importDefault2(require_pick()); var realpath_missing_1 = __importDefault2(require_realpath_missing()); var render_help_1 = __importDefault2(require_lib109()); var tempy_1 = __importDefault2(require_tempy()); var pack = __importStar3(require_pack2()); var recursivePublish_js_1 = require_recursivePublish(); function rcOptionsTypes() { return (0, pick_1.default)([ "access", "git-checks", "ignore-scripts", "provenance", "npm-path", "otp", "publish-branch", "registry", "tag", "unsafe-perm", "embed-readme" ], config_1.types); } function cliOptionsTypes() { return { ...rcOptionsTypes(), "dry-run": Boolean, force: Boolean, json: Boolean, recursive: Boolean, "report-summary": Boolean }; } exports2.commandNames = ["publish"]; function help() { return (0, render_help_1.default)({ description: "Publishes a package to the npm registry.", descriptionLists: [ { title: "Options", list: [ { description: "Don't check if current branch is your publish branch, clean, and up to date", name: "--no-git-checks" }, { description: "Sets branch name to publish. Default is master", name: "--publish-branch" }, { description: "Does everything a publish would do except actually publishing to the registry", name: "--dry-run" }, { description: "Show information in JSON format", name: "--json" }, { description: 'Registers the published package with the given tag. By default, the "latest" tag is used.', name: "--tag " }, { description: "Tells the registry whether this package should be published as public or restricted", name: "--access " }, { description: "Ignores any publish related lifecycle scripts (prepublishOnly, postpublish, and the like)", name: "--ignore-scripts" }, { description: 'Packages are proceeded to be published even if their current version is already in the registry. This is useful when a "prepublishOnly" script bumps the version of the package before it is published', name: "--force" }, { description: 'Save the list of the newly published packages to "pnpm-publish-summary.json". Useful when some other tooling is used to report the list of published packages.', name: "--report-summary" }, { description: "When publishing packages that require two-factor authentication, this option can specify a one-time password", name: "--otp" }, { description: "Publish all packages from the workspace", name: "--recursive", shortAlias: "-r" } ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("publish"), usages: ["pnpm publish [|] [--tag ] [--access ] [options]"] }); } var GIT_CHECKS_HINT = 'If you want to disable Git checks on publish, set the "git-checks" setting to "false", or run again with "--no-git-checks".'; function removePnpmSpecificOptions(args) { const booleanOptions = /* @__PURE__ */ new Set([ "--no-git-checks", "--embed-readme", "--no-embed-readme" ]); const optionsWithValue = /* @__PURE__ */ new Set([ "--publish-branch", "--npm-path" ]); const result2 = []; let i = 0; while (i < args.length) { const arg = args[i]; if (booleanOptions.has(arg)) { i++; } else if (optionsWithValue.has(arg)) { i++; if (i < args.length && args[i][0] !== "-") { i++; } } else { result2.push(arg); i++; } } return result2; } async function handler(opts, params) { const result2 = await publish(opts, params); if (result2?.manifest) return; return result2; } async function publish(opts, params) { if (opts.gitChecks !== false && await (0, git_utils_1.isGitRepo)()) { if (!await (0, git_utils_1.isWorkingTreeClean)()) { throw new error_1.PnpmError("GIT_UNCLEAN", "Unclean working tree. Commit or stash changes first.", { hint: GIT_CHECKS_HINT }); } const branches = opts.publishBranch ? [opts.publishBranch] : ["master", "main"]; const currentBranch = await (0, git_utils_1.getCurrentBranch)(); if (currentBranch === null) { throw new error_1.PnpmError("GIT_UNKNOWN_BRANCH", `The Git HEAD may not attached to any branch, but your "publish-branch" is set to "${branches.join("|")}".`, { hint: GIT_CHECKS_HINT }); } if (!branches.includes(currentBranch)) { const { confirm } = await (0, enquirer_1.prompt)({ message: `You're on branch "${currentBranch}" but your "publish-branch" is set to "${branches.join("|")}". Do you want to continue?`, name: "confirm", type: "confirm" }); if (!confirm) { throw new error_1.PnpmError("GIT_NOT_CORRECT_BRANCH", `Branch is not on '${branches.join("|")}'.`, { hint: GIT_CHECKS_HINT }); } } if (!await (0, git_utils_1.isRemoteHistoryClean)()) { throw new error_1.PnpmError("GIT_NOT_LATEST", "Remote history differs. Please pull changes.", { hint: GIT_CHECKS_HINT }); } } if (opts.recursive && opts.selectedProjectsGraph != null) { const { exitCode } = await (0, recursivePublish_js_1.recursivePublish)({ ...opts, selectedProjectsGraph: opts.selectedProjectsGraph, workspaceDir: opts.workspaceDir ?? process.cwd() }); return { exitCode }; } let args = opts.argv.original.slice(1); const dirInParams = params.length > 0 ? params[0] : void 0; if (dirInParams) { args = args.filter((arg) => arg !== params[0]); } args = removePnpmSpecificOptions(args); if (dirInParams != null && (dirInParams.endsWith(".tgz") || dirInParams?.endsWith(".tar.gz"))) { const { status: status2 } = (0, run_npm_1.runNpm)(opts.npmPath, ["publish", dirInParams, ...args]); return { exitCode: status2 ?? 0 }; } const dir = dirInParams ?? opts.dir ?? process.cwd(); const _runScriptsIfPresent = runScriptsIfPresent.bind(null, { depPath: dir, extraBinPaths: opts.extraBinPaths, extraEnv: opts.extraEnv, pkgRoot: dir, rawConfig: opts.rawConfig, rootModulesDir: await (0, realpath_missing_1.default)(path_1.default.join(dir, "node_modules")), stdio: "inherit", unsafePerm: true, // when running scripts explicitly, assume that they're trusted. prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts) }); const { manifest } = await (0, cli_utils_1.readProjectManifest)(dir, opts); if (!opts.ignoreScripts) { await _runScriptsIfPresent([ "prepublishOnly", "prepublish" ], manifest); } const packDestination = tempy_1.default.directory(); const { tarballPath } = await pack.api({ ...opts, dir, packDestination, dryRun: false }); await copyNpmrc({ dir, workspaceDir: opts.workspaceDir, packDestination }); const { status } = (0, run_npm_1.runNpm)(opts.npmPath, ["publish", "--ignore-scripts", path_1.default.basename(tarballPath), ...args], { cwd: packDestination, env: getEnvWithTokens(opts) }); await (0, rimraf_1.default)(packDestination); if (status != null && status !== 0) { return { exitCode: status }; } if (!opts.ignoreScripts) { await _runScriptsIfPresent([ "publish", "postpublish" ], manifest); } return { manifest }; } function getEnvWithTokens(opts) { const tokenHelpers = Object.entries(opts.rawConfig).filter(([key]) => key.endsWith(":tokenHelper")); const tokenHelpersFromArgs = opts.argv.original.filter((arg) => arg.includes(":tokenHelper=")).map((arg) => arg.split("=", 2)); const env = {}; for (const [key, helperPath] of tokenHelpers.concat(tokenHelpersFromArgs)) { const authHeader = (0, network_auth_header_1.loadToken)(helperPath, key); const authType = authHeader.startsWith("Bearer") ? "_authToken" : "_auth"; const registry = key.replace(/:tokenHelper$/, ""); env[`NPM_CONFIG_${registry}:${authType}`] = authType === "_authToken" ? authHeader.slice("Bearer ".length) : authHeader.replace(/Basic /i, ""); } return env; } async function copyNpmrc({ dir, workspaceDir, packDestination }) { const localNpmrc = path_1.default.join(dir, ".npmrc"); if ((0, fs_1.existsSync)(localNpmrc)) { await fs_1.promises.copyFile(localNpmrc, path_1.default.join(packDestination, ".npmrc")); return; } if (!workspaceDir) return; const workspaceNpmrc = path_1.default.join(workspaceDir, ".npmrc"); if ((0, fs_1.existsSync)(workspaceNpmrc)) { await fs_1.promises.copyFile(workspaceNpmrc, path_1.default.join(packDestination, ".npmrc")); } } async function runScriptsIfPresent(opts, scriptNames, manifest) { for (const scriptName of scriptNames) { if (!manifest.scripts?.[scriptName]) continue; await (0, lifecycle_1.runLifecycleHook)(scriptName, manifest, opts); } } } }); // ../releasing/plugin-commands-publishing/lib/pack.js var require_pack2 = __commonJS({ "../releasing/plugin-commands-publishing/lib/pack.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; exports2.api = api; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var zlib_1 = require("zlib"); var error_1 = require_lib6(); var config_1 = require_lib23(); var cli_utils_1 = require_lib103(); var exportable_manifest_1 = require_lib187(); var fs_packlist_1 = require_lib57(); var package_bins_1 = require_lib67(); var tinyglobby_1 = require_dist17(); var pick_1 = __importDefault2(require_pick()); var realpath_missing_1 = __importDefault2(require_realpath_missing()); var render_help_1 = __importDefault2(require_lib109()); var tar_stream_1 = __importDefault2(require_tar_stream()); var publish_js_1 = require_publish2(); var chalk_1 = __importDefault2(require_source()); var validate_npm_package_name_1 = __importDefault2(require_lib99()); var p_limit_12 = __importDefault2(require_p_limit()); var common_cli_options_help_1 = require_lib116(); var sort_packages_1 = require_lib130(); var logger_1 = require_lib(); var LICENSE_GLOB = "LICEN{S,C}E{,.*}"; function rcOptionsTypes() { return { ...cliOptionsTypes(), ...(0, pick_1.default)([ "npm-path" ], config_1.types) }; } function cliOptionsTypes() { return { out: String, recursive: Boolean, ...(0, pick_1.default)([ "dry-run", "pack-destination", "pack-gzip-level", "json", "workspace-concurrency" ], config_1.types) }; } exports2.commandNames = ["pack"]; function help() { return (0, render_help_1.default)({ description: "Create a tarball from a package", usages: ["pnpm pack"], descriptionLists: [ { title: "Options", list: [ { description: "Does everything `pnpm pack` would do except actually writing the tarball to disk.", name: "--dry-run" }, { description: "Directory in which `pnpm pack` will save tarballs. The default is the current working directory.", name: "--pack-destination " }, { description: "Prints the packed tarball and contents in the json format.", name: "--json" }, { description: "Customizes the output path for the tarball. Use `%s` and `%v` to include the package name and version, e.g., `%s.tgz` or `some-dir/%s-%v.tgz`. By default, the tarball is saved in the current working directory with the name `-.tgz`.", name: "--out " }, { description: "Pack all packages from the workspace", name: "--recursive", shortAlias: "-r" }, { description: `Set the maximum number of concurrency. Default is ${(0, config_1.getDefaultWorkspaceConcurrency)()}. For unlimited concurrency use Infinity.`, name: "--workspace-concurrency " } ] }, common_cli_options_help_1.FILTERING ] }); } async function handler(opts) { const packedPackages = []; if (opts.recursive) { const selectedProjectsGraph = opts.selectedProjectsGraph; const pkgsToPack = []; for (const { package: pkg } of Object.values(selectedProjectsGraph)) { if (pkg.manifest.name && pkg.manifest.version) { pkgsToPack.push(pkg); } } const packedPkgDirs = new Set(pkgsToPack.map(({ rootDir }) => rootDir)); if (packedPkgDirs.size === 0) { logger_1.logger.info({ message: "There are no packages that should be packed", prefix: opts.dir }); } const chunks = (0, sort_packages_1.sortPackages)(selectedProjectsGraph); const limitPack = (0, p_limit_12.default)((0, config_1.getWorkspaceConcurrency)(opts.workspaceConcurrency)); const resolvedOpts = { ...opts }; if (opts.out) { resolvedOpts.out = path_1.default.resolve(opts.dir, opts.out); } else if (opts.packDestination) { resolvedOpts.packDestination = path_1.default.resolve(opts.dir, opts.packDestination); } else { resolvedOpts.packDestination = path_1.default.resolve(opts.dir); } for (const chunk of chunks) { await Promise.all(chunk.map((pkgDir) => limitPack(async () => { if (!packedPkgDirs.has(pkgDir)) return; const pkg = selectedProjectsGraph[pkgDir].package; const packResult = await api({ ...resolvedOpts, dir: pkg.rootDir }); packedPackages.push(toPackResultJson(packResult)); }))); } } else { const packResult = await api(opts); packedPackages.push(toPackResultJson(packResult)); } if (opts.json) { return JSON.stringify(packedPackages.length > 1 ? packedPackages : packedPackages[0], null, 2); } return packedPackages.map(({ name, version: version2, filename, files }) => `${opts.unicode ? "\u{1F4E6} " : "package:"} ${name}@${version2} ${chalk_1.default.blueBright("Tarball Contents")} ${files.map(({ path: path2 }) => path2).join("\n")} ${chalk_1.default.blueBright("Tarball Details")} ${filename}`).join("\n\n"); } async function api(opts) { const { manifest: entryManifest, fileName: manifestFileName } = await (0, cli_utils_1.readProjectManifest)(opts.dir, opts); preventBundledDependenciesWithoutHoistedNodeLinker(opts.nodeLinker, entryManifest); const _runScriptsIfPresent = publish_js_1.runScriptsIfPresent.bind(null, { depPath: opts.dir, extraBinPaths: opts.extraBinPaths, extraEnv: opts.extraEnv, pkgRoot: opts.dir, rawConfig: opts.rawConfig, rootModulesDir: await (0, realpath_missing_1.default)(path_1.default.join(opts.dir, "node_modules")), stdio: "inherit", unsafePerm: true // when running scripts explicitly, assume that they're trusted. }); if (!opts.ignoreScripts) { await _runScriptsIfPresent([ "prepack", "prepare" ], entryManifest); } const dir = entryManifest.publishConfig?.directory ? path_1.default.join(opts.dir, entryManifest.publishConfig.directory) : opts.dir; const { manifest } = await (0, cli_utils_1.readProjectManifest)(dir, opts); preventBundledDependenciesWithoutHoistedNodeLinker(opts.nodeLinker, manifest); if (!manifest.name) { throw new error_1.PnpmError("PACKAGE_NAME_NOT_FOUND", `Package name is not defined in the ${manifestFileName}.`); } if (!(0, validate_npm_package_name_1.default)(manifest.name).validForOldPackages) { throw new error_1.PnpmError("INVALID_PACKAGE_NAME", `Invalid package name "${manifest.name}".`); } if (!manifest.version) { throw new error_1.PnpmError("PACKAGE_VERSION_NOT_FOUND", `Package version is not defined in the ${manifestFileName}.`); } let tarballName; let packDestination; const normalizedName = manifest.name.replace("@", "").replace("/", "-"); if (opts.out) { if (opts.packDestination) { throw new error_1.PnpmError("INVALID_OPTION", "Cannot use --pack-destination and --out together"); } const preparedOut = opts.out.replaceAll("%s", normalizedName).replaceAll("%v", manifest.version); const parsedOut = path_1.default.parse(preparedOut); packDestination = parsedOut.dir ? parsedOut.dir : opts.packDestination; tarballName = parsedOut.base; } else { tarballName = `${normalizedName}-${manifest.version}.tgz`; packDestination = opts.packDestination; } const publishManifest = await createPublishManifest({ projectDir: dir, modulesDir: path_1.default.join(opts.dir, "node_modules"), manifest, embedReadme: opts.embedReadme, catalogs: opts.catalogs ?? {} }); const files = await (0, fs_packlist_1.packlist)(dir, { packageJsonCache: { [path_1.default.join(dir, "package.json")]: publishManifest } }); const filesMap = Object.fromEntries(files.map((file) => [`package/${file}`, path_1.default.join(dir, file)])); if (opts.workspaceDir != null && dir !== opts.workspaceDir && !files.some((file) => /LICEN[CS]E(?:\..+)?/i.test(file))) { const licenses = await (0, tinyglobby_1.glob)([LICENSE_GLOB], { cwd: opts.workspaceDir, expandDirectories: false }); for (const license of licenses) { filesMap[`package/${license}`] = path_1.default.join(opts.workspaceDir, license); } } const destDir = packDestination ? path_1.default.isAbsolute(packDestination) ? packDestination : path_1.default.join(dir, packDestination ?? ".") : dir; if (!opts.dryRun) { await fs_1.default.promises.mkdir(destDir, { recursive: true }); await packPkg({ destFile: path_1.default.join(destDir, tarballName), filesMap, modulesDir: path_1.default.join(opts.dir, "node_modules"), packGzipLevel: opts.packGzipLevel, manifest: publishManifest, bins: [ ...(await (0, package_bins_1.getBinsFromPackageManifest)(publishManifest, dir)).map(({ path: path2 }) => path2), ...(manifest.publishConfig?.executableFiles ?? []).map((executableFile) => path_1.default.join(dir, executableFile)) ] }); if (!opts.ignoreScripts) { await _runScriptsIfPresent(["postpack"], entryManifest); } } let packedTarballPath; if (opts.dir !== destDir) { packedTarballPath = path_1.default.join(destDir, tarballName); } else { packedTarballPath = path_1.default.relative(opts.dir, path_1.default.join(dir, tarballName)); } const packedContents = files.sort((a, b) => a.localeCompare(b, "en")); return { publishedManifest: publishManifest, contents: packedContents, tarballPath: packedTarballPath }; } function preventBundledDependenciesWithoutHoistedNodeLinker(nodeLinker, manifest) { if (nodeLinker === "hoisted") return; for (const key of ["bundledDependencies", "bundleDependencies"]) { const bundledDependencies = manifest[key]; if (bundledDependencies) { throw new error_1.PnpmError("BUNDLED_DEPENDENCIES_WITHOUT_HOISTED", `${key} does not work with "nodeLinker: ${nodeLinker}"`, { hint: `Add "nodeLinker: hoisted" to pnpm-workspace.yaml or delete ${key} from the root package.json to resolve this error` }); } } } async function readReadmeFile(projectDir) { const files = await fs_1.default.promises.readdir(projectDir); const readmePath = files.find((name) => /readme\.md$/i.test(name)); const readmeFile = readmePath ? await fs_1.default.promises.readFile(path_1.default.join(projectDir, readmePath), "utf8") : void 0; return readmeFile; } async function packPkg(opts) { const { destFile, filesMap, bins, manifest } = opts; const mtime = /* @__PURE__ */ new Date("1985-10-26T08:15:00.000Z"); const pack = tar_stream_1.default.pack(); await Promise.all(Object.entries(filesMap).map(async ([name, source]) => { const isExecutable = bins.some((bin) => path_1.default.relative(bin, source) === ""); const mode = isExecutable ? 493 : 420; if (/^package\/package\.(?:json|json5|yaml)$/.test(name)) { pack.entry({ mode, mtime, name: "package/package.json" }, JSON.stringify(manifest, null, 2)); return; } pack.entry({ mode, mtime, name }, fs_1.default.readFileSync(source)); })); const tarball = fs_1.default.createWriteStream(destFile); pack.pipe((0, zlib_1.createGzip)({ level: opts.packGzipLevel })).pipe(tarball); pack.finalize(); return new Promise((resolve, reject) => { tarball.on("close", () => { resolve(); }).on("error", reject); }); } async function createPublishManifest(opts) { const { projectDir, embedReadme, modulesDir, manifest, catalogs } = opts; const readmeFile = embedReadme ? await readReadmeFile(projectDir) : void 0; return (0, exportable_manifest_1.createExportableManifest)(projectDir, manifest, { catalogs, readmeFile, modulesDir }); } function toPackResultJson(packResult) { const { publishedManifest, contents, tarballPath } = packResult; return { name: publishedManifest.name, version: publishedManifest.version, filename: tarballPath, files: contents.map((file) => ({ path: file })) }; } } }); // ../releasing/plugin-commands-publishing/lib/index.js var require_lib188 = __commonJS({ "../releasing/plugin-commands-publishing/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.publish = exports2.pack = void 0; var pack = __importStar3(require_pack2()); exports2.pack = pack; var publish = __importStar3(require_publish2()); exports2.publish = publish; } }); // ../node_modules/.pnpm/ansi-escapes@4.3.2/node_modules/ansi-escapes/index.js var require_ansi_escapes = __commonJS({ "../node_modules/.pnpm/ansi-escapes@4.3.2/node_modules/ansi-escapes/index.js"(exports2, module2) { "use strict"; var ansiEscapes = module2.exports; module2.exports.default = ansiEscapes; var ESC = "\x1B["; var OSC = "\x1B]"; var BEL = "\x07"; var SEP = ";"; var isTerminalApp = process.env.TERM_PROGRAM === "Apple_Terminal"; ansiEscapes.cursorTo = (x, y) => { if (typeof x !== "number") { throw new TypeError("The `x` argument is required"); } if (typeof y !== "number") { return ESC + (x + 1) + "G"; } return ESC + (y + 1) + ";" + (x + 1) + "H"; }; ansiEscapes.cursorMove = (x, y) => { if (typeof x !== "number") { throw new TypeError("The `x` argument is required"); } let ret2 = ""; if (x < 0) { ret2 += ESC + -x + "D"; } else if (x > 0) { ret2 += ESC + x + "C"; } if (y < 0) { ret2 += ESC + -y + "A"; } else if (y > 0) { ret2 += ESC + y + "B"; } return ret2; }; ansiEscapes.cursorUp = (count = 1) => ESC + count + "A"; ansiEscapes.cursorDown = (count = 1) => ESC + count + "B"; ansiEscapes.cursorForward = (count = 1) => ESC + count + "C"; ansiEscapes.cursorBackward = (count = 1) => ESC + count + "D"; ansiEscapes.cursorLeft = ESC + "G"; ansiEscapes.cursorSavePosition = isTerminalApp ? "\x1B7" : ESC + "s"; ansiEscapes.cursorRestorePosition = isTerminalApp ? "\x1B8" : ESC + "u"; ansiEscapes.cursorGetPosition = ESC + "6n"; ansiEscapes.cursorNextLine = ESC + "E"; ansiEscapes.cursorPrevLine = ESC + "F"; ansiEscapes.cursorHide = ESC + "?25l"; ansiEscapes.cursorShow = ESC + "?25h"; ansiEscapes.eraseLines = (count) => { let clear = ""; for (let i = 0; i < count; i++) { clear += ansiEscapes.eraseLine + (i < count - 1 ? ansiEscapes.cursorUp() : ""); } if (count) { clear += ansiEscapes.cursorLeft; } return clear; }; ansiEscapes.eraseEndLine = ESC + "K"; ansiEscapes.eraseStartLine = ESC + "1K"; ansiEscapes.eraseLine = ESC + "2K"; ansiEscapes.eraseDown = ESC + "J"; ansiEscapes.eraseUp = ESC + "1J"; ansiEscapes.eraseScreen = ESC + "2J"; ansiEscapes.scrollUp = ESC + "S"; ansiEscapes.scrollDown = ESC + "T"; ansiEscapes.clearScreen = "\x1Bc"; ansiEscapes.clearTerminal = process.platform === "win32" ? `${ansiEscapes.eraseScreen}${ESC}0f` : ( // 1. Erases the screen (Only done in case `2` is not supported) // 2. Erases the whole screen including scrollback buffer // 3. Moves cursor to the top-left position // More info: https://www.real-world-systems.com/docs/ANSIcode.html `${ansiEscapes.eraseScreen}${ESC}3J${ESC}H` ); ansiEscapes.beep = BEL; ansiEscapes.link = (text, url) => { return [ OSC, "8", SEP, SEP, url, BEL, text, OSC, "8", SEP, SEP, BEL ].join(""); }; ansiEscapes.image = (buffer, options = {}) => { let ret2 = `${OSC}1337;File=inline=1`; if (options.width) { ret2 += `;width=${options.width}`; } if (options.height) { ret2 += `;height=${options.height}`; } if (options.preserveAspectRatio === false) { ret2 += ";preserveAspectRatio=0"; } return ret2 + ":" + buffer.toString("base64") + BEL; }; ansiEscapes.iTerm = { setCwd: (cwd = process.cwd()) => `${OSC}50;CurrentDir=${cwd}${BEL}`, annotation: (message, options = {}) => { let ret2 = `${OSC}1337;`; const hasX = typeof options.x !== "undefined"; const hasY = typeof options.y !== "undefined"; if ((hasX || hasY) && !(hasX && hasY && typeof options.length !== "undefined")) { throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined"); } message = message.replace(/\|/g, ""); ret2 += options.isHidden ? "AddHiddenAnnotation=" : "AddAnnotation="; if (options.length > 0) { ret2 += (hasX ? [message, options.length, options.x, options.y] : [options.length, message]).join("|"); } else { ret2 += message; } return ret2 + BEL; } }; } }); // ../node_modules/.pnpm/supports-hyperlinks@2.3.0/node_modules/supports-hyperlinks/index.js var require_supports_hyperlinks = __commonJS({ "../node_modules/.pnpm/supports-hyperlinks@2.3.0/node_modules/supports-hyperlinks/index.js"(exports2, module2) { "use strict"; var supportsColor = require_supports_color(); var hasFlag = require_has_flag(); function parseVersion(versionString) { if (/^\d{3,4}$/.test(versionString)) { const m = /(\d{1,2})(\d{2})/.exec(versionString); return { major: 0, minor: parseInt(m[1], 10), patch: parseInt(m[2], 10) }; } const versions = (versionString || "").split(".").map((n) => parseInt(n, 10)); return { major: versions[0], minor: versions[1], patch: versions[2] }; } function supportsHyperlink(stream) { const { env } = process; if ("FORCE_HYPERLINK" in env) { return !(env.FORCE_HYPERLINK.length > 0 && parseInt(env.FORCE_HYPERLINK, 10) === 0); } if (hasFlag("no-hyperlink") || hasFlag("no-hyperlinks") || hasFlag("hyperlink=false") || hasFlag("hyperlink=never")) { return false; } if (hasFlag("hyperlink=true") || hasFlag("hyperlink=always")) { return true; } if ("NETLIFY" in env) { return true; } if (!supportsColor.supportsColor(stream)) { return false; } if (stream && !stream.isTTY) { return false; } if (process.platform === "win32") { return false; } if ("CI" in env) { return false; } if ("TEAMCITY_VERSION" in env) { return false; } if ("TERM_PROGRAM" in env) { const version2 = parseVersion(env.TERM_PROGRAM_VERSION); switch (env.TERM_PROGRAM) { case "iTerm.app": if (version2.major === 3) { return version2.minor >= 1; } return version2.major > 3; case "WezTerm": return version2.major >= 20200620; case "vscode": return version2.major > 1 || version2.major === 1 && version2.minor >= 72; } } if ("VTE_VERSION" in env) { if (env.VTE_VERSION === "0.50.0") { return false; } const version2 = parseVersion(env.VTE_VERSION); return version2.major > 0 || version2.minor >= 50; } return false; } module2.exports = { supportsHyperlink, stdout: supportsHyperlink(process.stdout), stderr: supportsHyperlink(process.stderr) }; } }); // ../node_modules/.pnpm/terminal-link@2.1.1/node_modules/terminal-link/index.js var require_terminal_link = __commonJS({ "../node_modules/.pnpm/terminal-link@2.1.1/node_modules/terminal-link/index.js"(exports2, module2) { "use strict"; var ansiEscapes = require_ansi_escapes(); var supportsHyperlinks = require_supports_hyperlinks(); var terminalLink = (text, url, { target = "stdout", ...options } = {}) => { if (!supportsHyperlinks[target]) { if (options.fallback === false) { return text; } return typeof options.fallback === "function" ? options.fallback(text, url) : `${text} (\u200B${url}\u200B)`; } return ansiEscapes.link(text, url); }; module2.exports = (text, url, options = {}) => terminalLink(text, url, options); module2.exports.stderr = (text, url, options = {}) => terminalLink(text, url, { target: "stderr", ...options }); module2.exports.isSupported = supportsHyperlinks.stdout; module2.exports.stderr.isSupported = supportsHyperlinks.stderr; } }); // ../patching/plugin-commands-patching/lib/writePackage.js var require_writePackage = __commonJS({ "../patching/plugin-commands-patching/lib/writePackage.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.writePackage = writePackage; var store_connection_manager_1 = require_lib94(); async function writePackage(dep, dest, opts) { const store = await (0, store_connection_manager_1.createOrConnectStoreController)({ ...opts, packageImportMethod: "clone-or-copy" }); const pkgResponse = await store.ctrl.requestPackage(dep, { downloadPriority: 1, lockfileDir: opts.dir, preferredVersions: {}, projectDir: opts.dir }); const { files } = await pkgResponse.fetching(); await store.ctrl.importPackage(dest, { filesResponse: files, force: true }); } } }); // ../patching/plugin-commands-patching/lib/getEditDirPath.js var require_getEditDirPath = __commonJS({ "../patching/plugin-commands-patching/lib/getEditDirPath.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getEditDirPath = getEditDirPath; var path_1 = __importDefault2(require("path")); function getEditDirPath(param, patchedDep, opts) { const editDirName = getEditDirNameFromParsedDep(patchedDep) ?? param; return path_1.default.join(opts.modulesDir, ".pnpm_patches", editDirName); } function getEditDirNameFromParsedDep(patchedDep) { if (patchedDep.alias && patchedDep.bareSpecifier) { const bareSpecifier = patchedDep.bareSpecifier.replace(/[\\/:*?"<>|]+/g, "+"); return `${patchedDep.alias}@${bareSpecifier}`; } if (patchedDep.alias) { return patchedDep.alias; } return void 0; } } }); // ../patching/plugin-commands-patching/lib/getPatchedDependency.js var require_getPatchedDependency = __commonJS({ "../patching/plugin-commands-patching/lib/getPatchedDependency.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getPatchedDependency = getPatchedDependency; exports2.isPkgPrNewUrl = isPkgPrNewUrl; exports2.getVersionsFromLockfile = getVersionsFromLockfile; var path_1 = __importDefault2(require("path")); var parse_wanted_dependency_1 = require_lib100(); var enquirer_1 = require_enquirer(); var lockfile_fs_1 = require_lib121(); var lockfile_utils_1 = require_lib125(); var error_1 = require_lib6(); var pick_fetcher_1 = require_lib83(); var realpath_missing_1 = __importDefault2(require_realpath_missing()); var semver_12 = __importDefault2(require_semver2()); async function getPatchedDependency(rawDependency, opts) { const dep = (0, parse_wanted_dependency_1.parseWantedDependency)(rawDependency); const { versions, preferredVersions } = await getVersionsFromLockfile(dep, opts); if (!preferredVersions.length) { throw new error_1.PnpmError("PATCH_VERSION_NOT_FOUND", `Can not find ${rawDependency} in project ${opts.lockfileDir}, ${versions.length ? `you can specify currently installed version: ${versions.map(({ version: version2 }) => version2).join(", ")}.` : `did you forget to install ${rawDependency}?`}`); } dep.alias = dep.alias ?? rawDependency; if (preferredVersions.length > 1) { const { version: version2, applyToAll } = await (0, enquirer_1.prompt)([{ type: "select", name: "version", message: "Choose which version to patch", choices: preferredVersions.map((preferred) => ({ name: preferred.version, message: preferred.version, value: preferred.gitTarballUrl ?? preferred.version, hint: preferred.gitTarballUrl ? "Git Hosted" : void 0 })), result(selected) { const selectedVersion = preferredVersions.find((preferred) => preferred.version === selected); return selectedVersion.gitTarballUrl ?? selected; } }, { type: "confirm", name: "applyToAll", message: "Apply this patch to all versions?" }]); return { ...dep, applyToAll, bareSpecifier: version2 }; } else { const preferred = preferredVersions[0]; if (preferred.gitTarballUrl) { return { ...opts, applyToAll: false, bareSpecifier: preferred.gitTarballUrl }; } return { ...dep, applyToAll: !dep.bareSpecifier, bareSpecifier: preferred.version }; } } function isPkgPrNewUrl(url) { return url.startsWith("https://pkg.pr.new/"); } async function getVersionsFromLockfile(dep, opts) { const modulesDir = await (0, realpath_missing_1.default)(path_1.default.join(opts.lockfileDir, opts.modulesDir ?? "node_modules")); const lockfile = await (0, lockfile_fs_1.readCurrentLockfile)(path_1.default.join(modulesDir, ".pnpm"), { ignoreIncompatible: true }) ?? null; if (!lockfile) { throw new error_1.PnpmError("PATCH_NO_LOCKFILE", "The modules directory is not ready for patching", { hint: "Run pnpm install first" }); } const pkgName = dep.alias && dep.bareSpecifier ? dep.alias : dep.bareSpecifier ?? dep.alias; const versions = Object.entries(lockfile.packages ?? {}).map(([depPath, pkgSnapshot]) => { const tarball = pkgSnapshot.resolution?.tarball ?? ""; return { ...(0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot), gitTarballUrl: (0, pick_fetcher_1.isGitHostedPkgUrl)(tarball) || isPkgPrNewUrl(tarball) ? tarball : void 0 }; }).filter(({ name }) => name === pkgName).sort((v12, v2) => semver_12.default.compare(v12.version, v2.version)); return { versions, preferredVersions: versions.filter(({ version: version2 }) => dep.alias && dep.bareSpecifier ? semver_12.default.satisfies(version2, dep.bareSpecifier) : true) }; } } }); // ../patching/plugin-commands-patching/lib/stateFile.js var require_stateFile = __commonJS({ "../patching/plugin-commands-patching/lib/stateFile.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.readEditDirState = readEditDirState; exports2.writeEditDirState = writeEditDirState; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var createEditDirKey = (opts) => opts.editDir; function readEditDirState(opts) { const state = readStateFile(opts.modulesDir); if (!state) return void 0; const key = createEditDirKey(opts); return state[key]; } function writeEditDirState(opts) { modifyStateFile(opts.modulesDir, (state) => { const key = createEditDirKey(opts); state[key] = { patchedPkg: opts.patchedPkg, applyToAll: opts.applyToAll }; }); } function modifyStateFile(modulesDir, modifyState) { const filePath = getStateFilePath(modulesDir); let state = readStateFile(modulesDir); if (!state) { state = {}; fs_1.default.mkdirSync(path_1.default.dirname(filePath), { recursive: true }); } modifyState(state); fs_1.default.writeFileSync(filePath, JSON.stringify(state, void 0, 2)); } function readStateFile(modulesDir) { let fileContent; try { fileContent = fs_1.default.readFileSync(getStateFilePath(modulesDir), "utf-8"); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { return void 0; } throw err; } return JSON.parse(fileContent); } function getStateFilePath(modulesDir) { return path_1.default.join(modulesDir, ".pnpm_patches", "state.json"); } } }); // ../patching/plugin-commands-patching/lib/patch.js var require_patch2 = __commonJS({ "../patching/plugin-commands-patching/lib/patch.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var patching_apply_patch_1 = require_lib152(); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var chalk_1 = __importDefault2(require_source()); var terminal_link_1 = __importDefault2(require_terminal_link()); var error_1 = require_lib6(); var writePackage_js_1 = require_writePackage(); var getEditDirPath_js_1 = require_getEditDirPath(); var getPatchedDependency_js_1 = require_getPatchedDependency(); var stateFile_js_1 = require_stateFile(); var is_windows_1 = __importDefault2(require_is_windows()); function rcOptionsTypes() { return (0, pick_1.default)([], config_1.types); } function cliOptionsTypes() { return { ...rcOptionsTypes(), "edit-dir": String, "ignore-existing": Boolean }; } exports2.shorthands = { d: "--edit-dir" }; exports2.commandNames = ["patch"]; function help() { return (0, render_help_1.default)({ description: "Prepare a package for patching", descriptionLists: [{ title: "Options", list: [ { description: "The package that needs to be modified will be extracted to this directory", name: "--edit-dir" }, { description: "Ignore existing patch files when patching", name: "--ignore-existing" } ] }], url: (0, cli_utils_1.docsUrl)("patch"), usages: ["pnpm patch @"] }); } async function handler(opts, params) { if (opts.editDir && fs_1.default.existsSync(opts.editDir) && fs_1.default.readdirSync(opts.editDir).length > 0) { throw new error_1.PnpmError("PATCH_EDIT_DIR_EXISTS", `The target directory already exists: '${opts.editDir}'`); } if (!params[0]) { throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "`pnpm patch` requires the package name"); } const lockfileDir = opts.lockfileDir ?? opts.dir ?? process.cwd(); const patchedDep = await (0, getPatchedDependency_js_1.getPatchedDependency)(params[0], { lockfileDir, modulesDir: opts.modulesDir, virtualStoreDir: opts.virtualStoreDir }); const quote = (0, is_windows_1.default)() ? '"' : "'"; const modulesDir = path_1.default.join(lockfileDir, opts.modulesDir ?? "node_modules"); const editDir = opts.editDir ? path_1.default.resolve(opts.dir, opts.editDir) : (0, getEditDirPath_js_1.getEditDirPath)(params[0], patchedDep, { modulesDir }); if (fs_1.default.existsSync(editDir) && fs_1.default.readdirSync(editDir).length !== 0) { throw new error_1.PnpmError("EDIT_DIR_NOT_EMPTY", `The directory ${editDir} is not empty`, { hint: "Either run `pnpm patch-commit " + quote + editDir + quote + "` to commit or delete it then run `pnpm patch` to recreate it" }); } await (0, writePackage_js_1.writePackage)(patchedDep, editDir, opts); (0, stateFile_js_1.writeEditDirState)({ editDir, modulesDir, patchedPkg: params[0], applyToAll: patchedDep.applyToAll }); if (!opts.ignoreExisting && opts.patchedDependencies) { tryPatchWithExistingPatchFile({ allowFailure: patchedDep.applyToAll, patchedDep, patchedDir: editDir, patchedDependencies: opts.patchedDependencies, lockfileDir }); } return `Patch: You can now edit the package at: ${(0, terminal_link_1.default)(chalk_1.default.blue(editDir), "file://" + editDir, { fallback: false })} To commit your changes, run: ${chalk_1.default.green(`pnpm patch-commit ${quote}${editDir}${quote}`)} `; } function tryPatchWithExistingPatchFile({ allowFailure, patchedDep: { applyToAll, alias, bareSpecifier }, patchedDir, patchedDependencies, lockfileDir }) { if (!alias) return; let existingPatchFile; if (bareSpecifier) { existingPatchFile = patchedDependencies[`${alias}@${bareSpecifier}`]; } if (!existingPatchFile && applyToAll) { existingPatchFile = patchedDependencies[alias]; } if (!existingPatchFile) { return; } const existingPatchFilePath = path_1.default.resolve(lockfileDir, existingPatchFile); if (!fs_1.default.existsSync(existingPatchFilePath)) { throw new error_1.PnpmError("PATCH_FILE_NOT_FOUND", `Unable to find patch file ${existingPatchFilePath}`); } (0, patching_apply_patch_1.applyPatchToDir)({ patchedDir, patchFilePath: existingPatchFilePath, allowFailure }); } } }); // ../patching/plugin-commands-patching/lib/updatePatchedDependencies.js var require_updatePatchedDependencies = __commonJS({ "../patching/plugin-commands-patching/lib/updatePatchedDependencies.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.updatePatchedDependencies = updatePatchedDependencies; var path_1 = __importDefault2(require("path")); var normalize_path_1 = __importDefault2(require_normalize_path()); var config_config_writer_1 = require_lib98(); async function updatePatchedDependencies(patchedDependencies, opts) { const workspaceDir = opts.workspaceDir ?? opts.rootProjectManifestDir; for (const [patchName, patchPath] of Object.entries(patchedDependencies)) { if (path_1.default.isAbsolute(patchPath)) { patchedDependencies[patchName] = (0, normalize_path_1.default)(path_1.default.relative(workspaceDir, patchPath)); } } await (0, config_config_writer_1.writeSettings)({ ...opts, workspaceDir, updatedSettings: { patchedDependencies: Object.keys(patchedDependencies).length ? patchedDependencies : void 0 } }); } } }); // ../patching/plugin-commands-patching/lib/patchCommit.js var require_patchCommit = __commonJS({ "../patching/plugin-commands-patching/lib/patchCommit.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var crypto_hash_1 = require_lib36(); var error_1 = require_lib6(); var fs_packlist_1 = require_lib57(); var logger_1 = require_lib(); var plugin_commands_installation_1 = require_lib176(); var read_package_json_1 = require_lib61(); var store_path_1 = require_lib31(); var tinyglobby_1 = require_dist17(); var normalize_path_1 = __importDefault2(require_normalize_path()); var pick_1 = __importDefault2(require_pick()); var equals_1 = __importDefault2(require_equals2()); var safe_execa_1 = __importDefault2(require_lib32()); var escape_string_regexp_1 = __importDefault2(require_escape_string_regexp()); var make_empty_dir_1 = __importDefault2(require_make_empty_dir()); var render_help_1 = __importDefault2(require_lib109()); var writePackage_js_1 = require_writePackage(); var parse_wanted_dependency_1 = require_lib100(); var getPatchedDependency_js_1 = require_getPatchedDependency(); var stateFile_js_1 = require_stateFile(); var updatePatchedDependencies_js_1 = require_updatePatchedDependencies(); exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return (0, pick_1.default)(["patches-dir"], config_1.types); } exports2.commandNames = ["patch-commit"]; function help() { return (0, render_help_1.default)({ description: "Generate a patch out of a directory", descriptionLists: [{ title: "Options", list: [ { description: "The generated patch file will be saved to this directory", name: "--patches-dir" } ] }], url: (0, cli_utils_1.docsUrl)("patch-commit"), usages: ["pnpm patch-commit "] }); } async function handler(opts, params) { const userDir = params[0]; const lockfileDir = opts.lockfileDir ?? opts.dir ?? process.cwd(); const patchesDirName = (0, normalize_path_1.default)(path_1.default.normalize(opts.patchesDir ?? "patches")); const patchesDir = path_1.default.join(lockfileDir, patchesDirName); const patchedPkgManifest = await (0, read_package_json_1.readPackageJsonFromDir)(userDir); const editDir = path_1.default.resolve(opts.dir, userDir); const stateValue = (0, stateFile_js_1.readEditDirState)({ editDir, modulesDir: path_1.default.join(lockfileDir, opts.modulesDir ?? "node_modules") }); if (!stateValue) { throw new error_1.PnpmError("INVALID_PATCH_DIR", `${userDir} is not a valid patch directory`, { hint: "A valid patch directory should be created by `pnpm patch`" }); } const { applyToAll } = stateValue; const nameAndVersion = `${patchedPkgManifest.name}@${patchedPkgManifest.version}`; const patchKey = applyToAll ? patchedPkgManifest.name : nameAndVersion; let gitTarballUrl; if (!applyToAll) { gitTarballUrl = await getGitTarballUrlFromLockfile({ alias: patchedPkgManifest.name, bareSpecifier: patchedPkgManifest.version || void 0 }, { lockfileDir, modulesDir: opts.modulesDir, virtualStoreDir: opts.virtualStoreDir }); } const patchedPkg = (0, parse_wanted_dependency_1.parseWantedDependency)(gitTarballUrl ? `${patchedPkgManifest.name}@${gitTarballUrl}` : nameAndVersion); const patchedPkgDir = await preparePkgFilesForDiff(userDir); const patchContent = await getPatchContent({ patchedPkg, patchedPkgDir, tmpName: (0, crypto_hash_1.createShortHash)(editDir) }, opts); if (patchedPkgDir !== userDir) { fs_1.default.rmSync(patchedPkgDir, { recursive: true }); } if (!patchContent.length) { return `No changes were found to the following directory: ${userDir}`; } await fs_1.default.promises.mkdir(patchesDir, { recursive: true }); const patchFileName = patchKey.replace("/", "__"); await fs_1.default.promises.writeFile(path_1.default.join(patchesDir, `${patchFileName}.patch`), patchContent, "utf8"); const patchedDependencies = { ...opts.patchedDependencies, [patchKey]: `${patchesDirName}/${patchFileName}.patch` }; await (0, updatePatchedDependencies_js_1.updatePatchedDependencies)(patchedDependencies, { ...opts, workspaceDir: opts.workspaceDir ?? opts.rootProjectManifestDir }); return plugin_commands_installation_1.install.handler({ ...opts, patchedDependencies, rawLocalConfig: { ...opts.rawLocalConfig, "frozen-lockfile": false } }); } async function getPatchContent(ctx, opts) { const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: opts.dir, storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); const srcDir = path_1.default.join(storeDir, "tmp", "patch-commit", ctx.tmpName); await (0, writePackage_js_1.writePackage)(ctx.patchedPkg, srcDir, opts); const patchContent = await diffFolders(srcDir, ctx.patchedPkgDir); try { fs_1.default.rmSync(srcDir, { recursive: true }); } catch (error) { (0, logger_1.globalWarn)(`Failed to clean up temporary directory at ${srcDir} with error: ${String(error)}`); } return patchContent; } async function diffFolders(folderA, folderB) { const folderAN = folderA.replace(/\\/g, "/"); const folderBN = folderB.replace(/\\/g, "/"); let stdout; let stderr; try { const result2 = await (0, safe_execa_1.default)("git", ["-c", "core.safecrlf=false", "diff", "--src-prefix=a/", "--dst-prefix=b/", "--ignore-cr-at-eol", "--irreversible-delete", "--full-index", "--no-index", "--text", "--no-ext-diff", "--no-color", folderAN, folderBN], { cwd: process.cwd(), env: { ...process.env, // #region Predictable output // These variables aim to ignore the global git config so we get predictable output // https://git-scm.com/docs/git#Documentation/git.txt-codeGITCONFIGNOSYSTEMcode GIT_CONFIG_NOSYSTEM: "1", HOME: "", XDG_CONFIG_HOME: "", USERPROFILE: "" // #endregion }, stripFinalNewline: false }); stdout = result2.stdout; stderr = result2.stderr; } catch (err) { stdout = err.stdout; stderr = err.stderr; } if (stderr.length > 0) throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. The following error was reported by 'git': ${stderr}`); return stdout.replace(new RegExp(`(a|b)(${(0, escape_string_regexp_1.default)(`/${removeTrailingAndLeadingSlash(folderAN)}/`)})`, "g"), "$1/").replace(new RegExp(`(a|b)${(0, escape_string_regexp_1.default)(`/${removeTrailingAndLeadingSlash(folderBN)}/`)}`, "g"), "$1/").replace(new RegExp((0, escape_string_regexp_1.default)(`${folderAN}/`), "g"), "").replace(new RegExp((0, escape_string_regexp_1.default)(`${folderBN}/`), "g"), "").replace(/\n\\ No newline at end of file\n$/, "\n").replace(/^diff --git a\/.*\.DS_Store b\/.*\.DS_Store[\s\S]+?(?=^diff --git)/gm, "").replace(/^diff --git a\/.*\.DS_Store b\/.*\.DS_Store[\s\S]*$/gm, ""); } function removeTrailingAndLeadingSlash(p) { if (p[0] === "/" || p.endsWith("/")) { return p.replace(/^\/|\/$/g, ""); } return p; } async function preparePkgFilesForDiff(src) { const files = Array.from(new Set((await (0, fs_packlist_1.packlist)(src)).map((f) => path_1.default.join(f)))); if (await areAllFilesInPkg(files, src)) { return src; } const dest = `${src}_tmp`; await (0, make_empty_dir_1.default)(dest); await Promise.all(files.map(async (file) => { const srcFile = path_1.default.join(src, file); const destFile = path_1.default.join(dest, file); const destDir = path_1.default.dirname(destFile); await fs_1.default.promises.mkdir(destDir, { recursive: true }); await fs_1.default.promises.link(srcFile, destFile); })); return dest; } async function areAllFilesInPkg(files, basePath) { const allFiles = await (0, tinyglobby_1.glob)("**", { cwd: basePath, expandDirectories: false }); return (0, equals_1.default)(allFiles.sort(), files.sort()); } async function getGitTarballUrlFromLockfile(dep, opts) { const { preferredVersions } = await (0, getPatchedDependency_js_1.getVersionsFromLockfile)(dep, opts); return preferredVersions[0]?.gitTarballUrl; } } }); // ../patching/plugin-commands-patching/lib/patchRemove.js var require_patchRemove = __commonJS({ "../patching/plugin-commands-patching/lib/patchRemove.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var path_1 = __importDefault2(require("path")); var promises_1 = __importDefault2(require("fs/promises")); var cli_utils_1 = require_lib103(); var plugin_commands_installation_1 = require_lib176(); var config_1 = require_lib23(); var error_1 = require_lib6(); var render_help_1 = __importDefault2(require_lib109()); var enquirer_1 = require_enquirer(); var pick_1 = __importDefault2(require_pick()); var updatePatchedDependencies_js_1 = require_updatePatchedDependencies(); function rcOptionsTypes() { return (0, pick_1.default)([], config_1.types); } function cliOptionsTypes() { return { ...rcOptionsTypes() }; } exports2.commandNames = ["patch-remove"]; function help() { return (0, render_help_1.default)({ description: "Remove existing patch files", url: (0, cli_utils_1.docsUrl)("patch-remove"), usages: ["pnpm patch-remove [pkg...]"] }); } async function handler(opts, params) { let patchesToRemove = params; const patchedDependencies = opts.patchedDependencies ?? {}; if (!params.length) { const allPatches = Object.keys(patchedDependencies); if (allPatches.length) { ({ patches: patchesToRemove } = await (0, enquirer_1.prompt)({ type: "multiselect", name: "patches", message: "Select the patch to be removed", choices: allPatches, validate(value) { return value.length === 0 ? "Select at least one option." : true; } })); } } if (!patchesToRemove.length) { throw new error_1.PnpmError("NO_PATCHES_TO_REMOVE", "There are no patches that need to be removed"); } for (const patch of patchesToRemove) { if (!Object.hasOwn(patchedDependencies, patch)) { throw new error_1.PnpmError("PATCH_NOT_FOUND", `Patch "${patch}" not found in patched dependencies`); } } const patchesDirs = /* @__PURE__ */ new Set(); await Promise.all(patchesToRemove.map(async (patch) => { if (Object.hasOwn(patchedDependencies, patch)) { const patchFile = patchedDependencies[patch]; patchesDirs.add(path_1.default.dirname(patchFile)); await promises_1.default.rm(patchFile, { force: true }); delete patchedDependencies[patch]; } })); await Promise.all(Array.from(patchesDirs).map(async (dir) => { try { const files = await promises_1.default.readdir(dir); if (!files.length) { await promises_1.default.rmdir(dir); } } catch { } })); await (0, updatePatchedDependencies_js_1.updatePatchedDependencies)(patchedDependencies, { ...opts, workspaceDir: opts.workspaceDir ?? opts.rootProjectManifestDir }); return plugin_commands_installation_1.install.handler(opts); } } }); // ../patching/plugin-commands-patching/lib/index.js var require_lib189 = __commonJS({ "../patching/plugin-commands-patching/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.patchRemove = exports2.patchCommit = exports2.patch = void 0; var patch = __importStar3(require_patch2()); exports2.patch = patch; var patchCommit = __importStar3(require_patchCommit()); exports2.patchCommit = patchCommit; var patchRemove = __importStar3(require_patchRemove()); exports2.patchRemove = patchRemove; } }); // ../env/path/lib/index.js var require_lib190 = __commonJS({ "../env/path/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.prependDirsToPath = prependDirsToPath; var path_1 = __importDefault2(require("path")); var path_name_1 = __importDefault2(require_path_name()); function prependDirsToPath(prependDirs, env = process.env) { const prepend = prependDirs.join(path_1.default.delimiter); const envPath = env[path_name_1.default]; if (envPath != null && (envPath === prepend || envPath.startsWith(`${prepend}${path_1.default.delimiter}`))) { return { name: path_name_1.default, value: envPath, updated: false }; } return { name: path_name_1.default, value: [ prepend, ...envPath != null ? [envPath] : [] ].join(path_1.default.delimiter), updated: true }; } } }); // ../exec/plugin-commands-script-runners/lib/makeEnv.js var require_makeEnv = __commonJS({ "../exec/plugin-commands-script-runners/lib/makeEnv.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.makeEnv = makeEnv; var error_1 = require_lib6(); var env_path_1 = require_lib190(); var path_1 = __importDefault2(require("path")); function makeEnv(opts) { for (const prependPath of opts.prependPaths) { if (prependPath.includes(path_1.default.delimiter)) { throw new error_1.PnpmError("BAD_PATH_DIR", `Cannot add ${prependPath} to PATH because it contains the path delimiter character (${path_1.default.delimiter})`); } } const pathEnv = (0, env_path_1.prependDirsToPath)(opts.prependPaths); return { ...process.env, ...opts.extraEnv, npm_config_user_agent: opts.userAgent ?? "pnpm", [pathEnv.name]: pathEnv.value }; } } }); // ../exec/plugin-commands-script-runners/lib/dlx.js var require_dlx = __commonJS({ "../exec/plugin-commands-script-runners/lib/dlx.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.cliOptionsTypes = exports2.shorthands = exports2.commandNames = exports2.skipPackageManagerCheck = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.help = help; exports2.handler = handler; exports2.createCacheKey = createCacheKey; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var cli_utils_1 = require_lib103(); var client_1 = require_lib78(); var parse_wanted_dependency_1 = require_lib100(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var crypto_hash_1 = require_lib36(); var error_1 = require_lib6(); var plugin_commands_installation_1 = require_lib176(); var read_package_json_1 = require_lib61(); var package_bins_1 = require_lib67(); var util_lex_comparator_1 = require_dist4(); var execa_1 = __importDefault2(require_lib17()); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var symlink_dir_1 = __importDefault2(require_dist18()); var makeEnv_js_1 = require_makeEnv(); exports2.skipPackageManagerCheck = true; exports2.commandNames = ["dlx"]; exports2.shorthands = { c: "--shell-mode" }; function rcOptionsTypes() { return { ...(0, pick_1.default)([ "cpu", "libc", "os", "use-node-version" ], config_1.types), "shell-mode": Boolean }; } var cliOptionsTypes = () => ({ ...rcOptionsTypes(), package: [String, Array], "allow-build": [String, Array] }); exports2.cliOptionsTypes = cliOptionsTypes; function help() { return (0, render_help_1.default)({ description: "Run a package in a temporary environment.", descriptionLists: [ { title: "Options", list: [ { description: "The package to install before running the command", name: "--package" }, { description: "A list of package names that are allowed to run postinstall scripts during installation", name: "--allow-build" }, { description: "Runs the script inside of a shell. Uses /bin/sh on UNIX and \\cmd.exe on Windows.", name: "--shell-mode", shortAlias: "-c" } ] }, common_cli_options_help_1.OUTPUT_OPTIONS ], url: (0, cli_utils_1.docsUrl)("dlx"), usages: ["pnpm dlx [args...]"] }); } async function handler(opts, [command, ...args]) { const pkgs = opts.package ?? [command]; const fullMetadata = (opts.resolutionMode === "time-based" || Boolean(opts.minimumReleaseAge) || opts.trustPolicy === "no-downgrade") && !opts.registrySupportsTimeField; const { resolve } = (0, client_1.createResolver)({ ...opts, authConfig: opts.rawConfig, fullMetadata, filterMetadata: fullMetadata }); const resolvedPkgAliases = []; const publishedBy = opts.minimumReleaseAge ? new Date(Date.now() - opts.minimumReleaseAge * 60 * 1e3) : void 0; const resolvedPkgs = await Promise.all(pkgs.map(async (pkg) => { const { alias, bareSpecifier } = (0, parse_wanted_dependency_1.parseWantedDependency)(pkg) || {}; if (alias == null) return pkg; resolvedPkgAliases.push(alias); const resolved = await resolve({ alias, bareSpecifier }, { lockfileDir: opts.lockfileDir ?? opts.dir, preferredVersions: {}, projectDir: opts.dir, publishedBy }); return resolved.id; })); const { cacheLink, cacheExists, cachedDir } = findCache({ packages: resolvedPkgs, dlxCacheMaxAge: opts.dlxCacheMaxAge, cacheDir: opts.cacheDir, registries: opts.registries, allowBuild: opts.allowBuild, supportedArchitectures: opts.supportedArchitectures }); if (!cacheExists) { fs_1.default.mkdirSync(cachedDir, { recursive: true }); await plugin_commands_installation_1.add.handler({ ...opts, bin: path_1.default.join(cachedDir, "node_modules/.bin"), dir: cachedDir, lockfileDir: cachedDir, onlyBuiltDependencies: [...resolvedPkgAliases, ...opts.allowBuild ?? []], rootProjectManifestDir: cachedDir, saveProd: true, // dlx will be looking for the package in the "dependencies" field! saveDev: false, saveOptional: false, savePeer: false, symlink: true, workspaceDir: void 0 }, resolvedPkgs); try { await (0, symlink_dir_1.default)(cachedDir, cacheLink, { overwrite: true }); } catch (error) { if (!util_1.default.types.isNativeError(error) || !("code" in error) || error.code !== "EBUSY" && error.code !== "EEXIST") { throw error; } } } const binsDir = path_1.default.join(cachedDir, "node_modules/.bin"); const env = (0, makeEnv_js_1.makeEnv)({ userAgent: opts.userAgent, prependPaths: [binsDir, ...opts.extraBinPaths] }); const binName = opts.package ? command : await getBinName(cachedDir, opts); try { await (0, execa_1.default)(binName, args, { cwd: process.cwd(), env, stdio: "inherit", shell: opts.shellMode ?? false }); } catch (err) { if (util_1.default.types.isNativeError(err) && "exitCode" in err && err.exitCode != null) { return { exitCode: err.exitCode }; } throw err; } return { exitCode: 0 }; } async function getPkgName(pkgDir) { const manifest = await (0, read_package_json_1.readPackageJsonFromDir)(pkgDir); const dependencyNames = Object.keys(manifest.dependencies ?? {}); if (dependencyNames.length === 0) { throw new error_1.PnpmError("DLX_NO_DEP", 'dlx was unable to find the installed dependency in "dependencies"'); } return dependencyNames[0]; } async function getBinName(cachedDir, opts) { const pkgName = await getPkgName(cachedDir); const pkgDir = path_1.default.join(cachedDir, "node_modules", pkgName); const manifest = await (0, cli_utils_1.readProjectManifestOnly)(pkgDir, opts); const bins = await (0, package_bins_1.getBinsFromPackageManifest)(manifest, pkgDir); if (bins.length === 0) { throw new error_1.PnpmError("DLX_NO_BIN", `No binaries found in ${pkgName}`); } if (bins.length === 1) { return bins[0].name; } const scopelessPkgName = scopeless(manifest.name); const defaultBin = bins.find(({ name }) => name === scopelessPkgName); if (defaultBin) return defaultBin.name; const binNames = bins.map(({ name }) => name); throw new error_1.PnpmError("DLX_MULTIPLE_BINS", `Could not determine executable to run. ${pkgName} has multiple binaries: ${binNames.join(", ")}`, { hint: `Try one of the following: ${binNames.map((name) => `pnpm --package=${pkgName} dlx ${name}`).join("\n")} ` }); } function scopeless(pkgName) { if (pkgName[0] === "@") { return pkgName.split("/")[1]; } return pkgName; } function findCache(opts) { const dlxCommandCacheDir = createDlxCommandCacheDir(opts); const cacheLink = path_1.default.join(dlxCommandCacheDir, "pkg"); const cachedDir = getValidCacheDir(cacheLink, opts.dlxCacheMaxAge); return { cacheLink, cachedDir: cachedDir ?? getPrepareDir(dlxCommandCacheDir), cacheExists: cachedDir != null }; } function createDlxCommandCacheDir(opts) { const dlxCacheDir = path_1.default.resolve(opts.cacheDir, "dlx"); const cacheKey = createCacheKey(opts); const cachePath = path_1.default.join(dlxCacheDir, cacheKey); fs_1.default.mkdirSync(cachePath, { recursive: true }); return cachePath; } function createCacheKey(opts) { const sortedPkgs = [...opts.packages].sort((a, b) => a.localeCompare(b)); const sortedRegistries = Object.entries(opts.registries).sort(([k1], [k2]) => k1.localeCompare(k2)); const args = [sortedPkgs, sortedRegistries]; if (opts.allowBuild?.length) { args.push({ allowBuild: opts.allowBuild.sort(util_lex_comparator_1.lexCompare) }); } if (opts.supportedArchitectures) { const supportedArchitecturesKeys = ["cpu", "libc", "os"]; for (const key of supportedArchitecturesKeys) { const value = opts.supportedArchitectures[key]; if (!value?.length) continue; args.push({ supportedArchitectures: { [key]: [...new Set(value)].sort(util_lex_comparator_1.lexCompare) } }); } } const hashStr = JSON.stringify(args); return (0, crypto_hash_1.createHexHash)(hashStr); } function getValidCacheDir(cacheLink, dlxCacheMaxAge) { let stats; let target; try { stats = fs_1.default.lstatSync(cacheLink); if (stats.isSymbolicLink()) { target = fs_1.default.realpathSync(cacheLink); if (!target) return void 0; } else { return void 0; } } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { return void 0; } throw err; } const isValid = stats.mtime.getTime() + dlxCacheMaxAge * 6e4 >= (/* @__PURE__ */ new Date()).getTime(); return isValid ? target : void 0; } function getPrepareDir(cachePath) { const name = `${(/* @__PURE__ */ new Date()).getTime().toString(16)}-${process.pid.toString(16)}`; return path_1.default.join(cachePath, name); } } }); // ../exec/plugin-commands-script-runners/lib/create.js var require_create = __commonJS({ "../exec/plugin-commands-script-runners/lib/create.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.handler = handler; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; var render_help_1 = __importDefault2(require_lib109()); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var error_1 = require_lib6(); var pick_1 = __importDefault2(require_pick()); var dlx = __importStar3(require_dlx()); exports2.commandNames = ["create"]; async function handler(_opts, params) { if (params[0] === "--help" || params[0] === "-h") { return help(); } const [packageName, ...packageArgs] = params; if (packageName === void 0) { throw new error_1.PnpmError("MISSING_ARGS", "Missing the template package name.\nThe correct usage is `pnpm create ` with substituted for a package name."); } const createPackageName = convertToCreateName(packageName); return dlx.handler(_opts, [createPackageName, ...packageArgs]); } function rcOptionsTypes() { return { ...(0, pick_1.default)([ "use-node-version" ], config_1.types) }; } function cliOptionsTypes() { return { ...rcOptionsTypes(), "allow-build": [String, Array] }; } function help() { return (0, render_help_1.default)({ description: "Creates a project from a `create-*` starter kit.", descriptionLists: [ { title: "Options", list: [ { description: "A list of package names that are allowed to run postinstall scripts during installation", name: "--allow-build" } ] } ], url: (0, cli_utils_1.docsUrl)("create"), usages: [ "pnpm create ", "pnpm create ", "pnpm create <@scope>" ] }); } var CREATE_PREFIX = "create-"; function convertToCreateName(packageName) { if (packageName[0] === "@") { const preferredVersionPosition = packageName.indexOf("@", 1); let preferredVersion = ""; if (preferredVersionPosition > -1) { preferredVersion = packageName.substring(preferredVersionPosition); packageName = packageName.substring(0, preferredVersionPosition); } const [scope, scopedPackage = ""] = packageName.split("/"); if (scopedPackage === "") { return `${scope}/create${preferredVersion}`; } else { return `${scope}/${ensureCreatePrefixed(scopedPackage)}${preferredVersion}`; } } else { return ensureCreatePrefixed(packageName); } } function ensureCreatePrefixed(packageName) { if (packageName.startsWith(CREATE_PREFIX)) { return packageName; } else { return `${CREATE_PREFIX}${packageName}`; } } } }); // ../exec/plugin-commands-script-runners/lib/existsInDir.js var require_existsInDir = __commonJS({ "../exec/plugin-commands-script-runners/lib/existsInDir.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.existsInDir = existsInDir; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); function existsInDir(entityName, dir) { const entityPath = path_1.default.join(dir, entityName); if (fs_1.default.existsSync(entityPath)) return entityPath; return void 0; } } }); // ../workspace/injected-deps-syncer/lib/DirPatcher.js var require_DirPatcher = __commonJS({ "../workspace/injected-deps-syncer/lib/DirPatcher.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DirPatcher = exports2.DIR = void 0; exports2.diffDir = diffDir; exports2.applyPatch = applyPatch; exports2.extendFilesMap = extendFilesMap; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var directory_fetcher_1 = require_lib58(); var error_1 = require_lib6(); exports2.DIR = Symbol("Path is a directory"); var comparePaths = (a, b) => a.split(/\\|\//).length - b.split(/\\|\//).length || a.localeCompare(b); function diffDir(oldIndex, newIndex) { const oldPaths = Object.keys(oldIndex).sort(comparePaths); const newPaths = Object.keys(newIndex).sort(comparePaths); const removed = oldPaths.filter((path2) => !(path2 in newIndex)).map((path2) => ({ path: path2, oldValue: oldIndex[path2] })); const added = newPaths.filter((path2) => !(path2 in oldIndex)).map((path2) => ({ path: path2, newValue: newIndex[path2] })); const modified = oldPaths.filter((path2) => path2 in newIndex && oldIndex[path2] !== newIndex[path2]).map((path2) => ({ path: path2, oldValue: oldIndex[path2], newValue: newIndex[path2] })); return { added, removed, modified }; } async function applyPatch(optimizedDirPatch, sourceDir, targetDir) { async function addRecursive(sourcePath, targetPath, value) { if (value === exports2.DIR) { await fs_1.default.promises.mkdir(targetPath, { recursive: true }); } else if (typeof value === "number") { fs_1.default.mkdirSync(path_1.default.dirname(targetPath), { recursive: true }); await fs_1.default.promises.link(sourcePath, targetPath); } else { const _ = value; } } async function removeRecursive(targetPath) { try { await fs_1.default.promises.rm(targetPath, { recursive: true, force: true }); } catch (error) { if (!util_1.default.types.isNativeError(error) || !("code" in error) || error.code !== "ENOENT") { throw error; } } } const adding = Promise.all(optimizedDirPatch.added.map(async (item) => { const sourcePath = path_1.default.join(sourceDir, item.path); const targetPath = path_1.default.join(targetDir, item.path); await addRecursive(sourcePath, targetPath, item.newValue); })); const removing = Promise.all(optimizedDirPatch.removed.map(async (item) => { const targetPath = path_1.default.join(targetDir, item.path); await removeRecursive(targetPath); })); const modifying = Promise.all(optimizedDirPatch.modified.map(async (item) => { const sourcePath = path_1.default.join(sourceDir, item.path); const targetPath = path_1.default.join(targetDir, item.path); if (item.oldValue === item.newValue) return; await removeRecursive(targetPath); await addRecursive(sourcePath, targetPath, item.newValue); })); await Promise.all([adding, removing, modifying]); } async function extendFilesMap({ filesIndex, filesStats }) { const result2 = { ".": exports2.DIR }; function addInodeAndAncestors(relativePath, value) { if (relativePath && relativePath !== "." && !result2[relativePath]) { result2[relativePath] = value; addInodeAndAncestors(path_1.default.dirname(relativePath), exports2.DIR); } } await Promise.all(Object.entries(filesIndex).map(async ([relativePath, realPath]) => { const stats = filesStats?.[relativePath] ?? await fs_1.default.promises.stat(realPath); if (stats.isFile()) { addInodeAndAncestors(relativePath, stats.ino); } else if (stats.isDirectory()) { addInodeAndAncestors(relativePath, exports2.DIR); } else { throw new error_1.PnpmError("UNSUPPORTED_INODE_TYPE", `Filesystem inode at ${realPath} is neither a file, a directory, or a symbolic link`); } })); return result2; } var DirPatcher = class { sourceDir; targetDir; patch; constructor(patch, sourceDir, targetDir) { this.patch = patch; this.sourceDir = sourceDir; this.targetDir = targetDir; } static async fromMultipleTargets(sourceDir, targetDirs) { const fetchOptions = { resolveSymlinks: false }; async function loadMap(dir) { const fetchResult = await (0, directory_fetcher_1.fetchFromDir)(dir, fetchOptions); return [await extendFilesMap(fetchResult), dir]; } const [[sourceMap], targetPairs] = await Promise.all([ loadMap(sourceDir), Promise.all(targetDirs.map(loadMap)) ]); return targetPairs.map(([targetMap, targetDir]) => { const diff = diffDir(targetMap, sourceMap); diff.removed.reverse(); return new this(diff, sourceDir, targetDir); }); } async apply() { await applyPatch(this.patch, this.sourceDir, this.targetDir); } }; exports2.DirPatcher = DirPatcher; } }); // ../workspace/injected-deps-syncer/lib/index.js var require_lib191 = __commonJS({ "../workspace/injected-deps-syncer/lib/index.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.syncInjectedDeps = syncInjectedDeps; var path_1 = __importDefault2(require("path")); var error_1 = require_lib6(); var link_bins_1 = require_lib69(); var logger_1 = require_lib(); var modules_yaml_1 = require_lib115(); var read_package_json_1 = require_lib61(); var workspace_find_packages_1 = require_lib105(); var normalize_path_1 = __importDefault2(require_normalize_path()); var DirPatcher_js_1 = require_DirPatcher(); var logger = (0, logger_1.logger)("skip-sync-injected-deps"); async function syncInjectedDeps(opts) { if (!opts.pkgName) { logger.debug({ reason: "no-name", message: `Skipping sync of ${opts.pkgRootDir} as an injected dependency because, without a name, it cannot be a dependency`, opts }); return; } if (!opts.workspaceDir) { throw new error_1.PnpmError("NO_WORKSPACE_DIR", "Cannot update injected dependencies without workspace dir"); } const pkgRootDir = path_1.default.resolve(opts.workspaceDir, opts.pkgRootDir); const modulesDir = path_1.default.resolve(opts.workspaceDir, "node_modules"); const modules = await (0, modules_yaml_1.readModulesManifest)(modulesDir); if (!modules?.injectedDeps) { logger.debug({ reason: "no-injected-deps", message: "Skipping sync of injected dependencies because none were detected", opts }); return; } const injectedDepKey = (0, normalize_path_1.default)(path_1.default.relative(opts.workspaceDir, pkgRootDir), true); const targetDirs = modules.injectedDeps[injectedDepKey]; if (!targetDirs || targetDirs.length === 0) { logger.debug({ reason: "no-injected-deps", message: `There are no injected dependencies from ${opts.pkgRootDir}`, opts }); return; } const patchers = await DirPatcher_js_1.DirPatcher.fromMultipleTargets(pkgRootDir, targetDirs.map((targetDir) => path_1.default.resolve(opts.workspaceDir, targetDir))); await Promise.all(patchers.map((patcher) => patcher.apply())); await syncBinLinks(pkgRootDir, targetDirs, opts.workspaceDir); } async function syncBinLinks(pkgRootDir, targetDirs, workspaceDir) { const manifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(pkgRootDir); if (!manifest?.bin || !manifest?.name) { return; } const binLinkPromises = targetDirs.map(async (targetDir) => { const resolvedTargetDir = path_1.default.resolve(workspaceDir, targetDir); const parentNodeModulesDir = path_1.default.dirname(resolvedTargetDir); const binDir = path_1.default.join(parentNodeModulesDir, ".bin"); await (0, link_bins_1.linkBinsOfPackages)([{ manifest, location: resolvedTargetDir }], binDir, {}); }); const allProjects = await (0, workspace_find_packages_1.findWorkspacePackagesNoCheck)(workspaceDir, {}); const consumerLinkPromises = allProjects.map(async (project) => { const projectNodeModules = path_1.default.join(project.rootDir, "node_modules"); const projectBinDir = path_1.default.join(projectNodeModules, ".bin"); await (0, link_bins_1.linkBins)(projectNodeModules, projectBinDir, { allowExoticManifests: true, projectManifest: project.manifest, warn: (msg) => { console.warn(`[linkBins warning] ${msg}`); } }); }); await Promise.all([...binLinkPromises, ...consumerLinkPromises]); } } }); // ../node_modules/.pnpm/@pnpm+log.group@3.0.1/node_modules/@pnpm/log.group/dist/group.js var require_group = __commonJS({ "../node_modules/.pnpm/@pnpm+log.group@3.0.1/node_modules/@pnpm/log.group/dist/group.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.groupStart = void 0; var ci_info_1 = __importStar3(require_ci_info()); var id = 0; function groupStart(groupName) { if (!ci_info_1.isCI) return void 0; const labels = getLabels(groupName); if (labels) { process.stdout.write(labels.start); return () => { process.stdout.write(labels.end); }; } return void 0; } exports2.groupStart = groupStart; function getLabels(groupName) { if (ci_info_1.default.GITHUB_ACTIONS) { return { start: `::group::${groupName}\r `, end: "::endgroup::\r\n" }; } else if (ci_info_1.default.GITLAB) { id++; return { start: `section_start:${Math.floor(Date.now() / 1e3)}:${id}\\r\\e[0K${groupName}\r `, end: `section_end:${Math.floor(Date.now() / 1e3)}:${id}\\r\\e[0K` }; } else if (ci_info_1.default.TRAVIS) { return { start: `travis_fold:start:${groupName}\r `, end: `travis_fold:end:${groupName}\r ` }; } else if (ci_info_1.default.AZURE_PIPELINES) { return { start: `##[group]${groupName}\r `, end: "##[endgroup]\r\n" }; } else if (ci_info_1.default.BUILDKITE) { return { start: `--- ${groupName}\r `, end: "\r\n" }; } return null; } } }); // ../node_modules/.pnpm/@pnpm+log.group@3.0.1/node_modules/@pnpm/log.group/dist/index.js var require_dist25 = __commonJS({ "../node_modules/.pnpm/@pnpm+log.group@3.0.1/node_modules/@pnpm/log.group/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.groupStart = void 0; var group_1 = require_group(); Object.defineProperty(exports2, "groupStart", { enumerable: true, get: function() { return group_1.groupStart; } }); } }); // ../exec/plugin-commands-script-runners/lib/regexpCommand.js var require_regexpCommand = __commonJS({ "../exec/plugin-commands-script-runners/lib/regexpCommand.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.tryBuildRegExpFromCommand = tryBuildRegExpFromCommand; var error_1 = require_lib6(); function tryBuildRegExpFromCommand(command) { const regExpDetectRegExpScriptCommand = /^\/((?:\\\/|[^/])+)\/([dgimuvys]*)$/; const match = command.match(regExpDetectRegExpScriptCommand); if (!match) { return null; } if (match[2]) { throw new error_1.PnpmError("UNSUPPORTED_SCRIPT_COMMAND_FORMAT", "RegExp flags are not supported in script command selector"); } try { return new RegExp(match[1]); } catch { return null; } } } }); // ../exec/plugin-commands-script-runners/lib/runRecursive.js var require_runRecursive = __commonJS({ "../exec/plugin-commands-script-runners/lib/runRecursive.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.runRecursive = runRecursive; exports2.getSpecifiedScripts = getSpecifiedScripts; var assert_1 = __importDefault2(require("assert")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var plugin_commands_env_1 = require_lib112(); var error_1 = require_lib6(); var lifecycle_1 = require_lib71(); var logger_1 = require_lib(); var log_group_1 = require_dist25(); var sort_packages_1 = require_lib130(); var p_limit_12 = __importDefault2(require_p_limit()); var realpath_missing_1 = __importDefault2(require_realpath_missing()); var existsInDir_js_1 = require_existsInDir(); var exec_js_1 = require_exec(); var run_js_1 = require_run(); var regexpCommand_js_1 = require_regexpCommand(); async function runRecursive(params, opts) { const [scriptName, ...passedThruArgs] = params; if (!scriptName) { throw new error_1.PnpmError("SCRIPT_NAME_IS_REQUIRED", "You must specify the script you want to run"); } let hasCommand = 0; const sortedPackageChunks = opts.sort ? (0, sort_packages_1.sortPackages)(opts.selectedProjectsGraph) : [Object.keys(opts.selectedProjectsGraph).sort()]; let packageChunks = opts.reverse ? sortedPackageChunks.reverse() : sortedPackageChunks; if (opts.resumeFrom) { packageChunks = (0, exec_js_1.getResumedPackageChunks)({ resumeFrom: opts.resumeFrom, chunks: packageChunks, selectedProjectsGraph: opts.selectedProjectsGraph }); } const limitRun = (0, p_limit_12.default)((0, config_1.getWorkspaceConcurrency)(opts.workspaceConcurrency)); const stdio = !opts.stream && (opts.workspaceConcurrency === 1 || packageChunks.length === 1 && packageChunks[0].length === 1) ? "inherit" : "pipe"; const existsPnp = existsInDir_js_1.existsInDir.bind(null, ".pnp.cjs"); const workspacePnpPath = opts.workspaceDir && existsPnp(opts.workspaceDir); const requiredScripts = opts.rootProjectManifest?.pnpm?.requiredScripts ?? []; if (requiredScripts.includes(scriptName)) { const missingScriptPackages = packageChunks.flat().map((prefix) => opts.selectedProjectsGraph[prefix]).filter((pkg) => getSpecifiedScripts(pkg.package.manifest.scripts ?? {}, scriptName).length < 1).map((pkg) => pkg.package.manifest.name ?? pkg.package.rootDir); if (missingScriptPackages.length) { throw new error_1.PnpmError("RECURSIVE_RUN_NO_SCRIPT", `Missing script "${scriptName}" in packages: ${missingScriptPackages.join(", ")}`); } } const result2 = (0, exec_js_1.createEmptyRecursiveSummary)(packageChunks); for (const chunk of packageChunks) { const selectedScripts = chunk.map((prefix) => { const pkg = opts.selectedProjectsGraph[prefix]; const specifiedScripts = getSpecifiedScripts(pkg.package.manifest.scripts ?? {}, scriptName); if (!specifiedScripts.length) { result2[prefix].status = "skipped"; } return specifiedScripts.map((script) => ({ prefix, scriptName: script })); }).flat(); await Promise.all(selectedScripts.map(async ({ prefix, scriptName: scriptName2 }) => limitRun(async () => { const pkg = opts.selectedProjectsGraph[prefix]; if (!pkg.package.manifest.scripts?.[scriptName2] || process.env.npm_lifecycle_event === scriptName2 && process.env.PNPM_SCRIPT_SRC_DIR === prefix) { return; } result2[prefix].status = "running"; const startTime = process.hrtime(); hasCommand++; try { const lifecycleOpts = { depPath: prefix, extraBinPaths: opts.extraBinPaths, extraEnv: opts.extraEnv, pkgRoot: prefix, rawConfig: opts.rawConfig, rootModulesDir: await (0, realpath_missing_1.default)(path_1.default.join(prefix, "node_modules")), scriptsPrependNodePath: opts.scriptsPrependNodePath, scriptShell: opts.scriptShell, silent: opts.reporter === "silent", shellEmulator: opts.shellEmulator, stdio, unsafePerm: true // when running scripts explicitly, assume that they're trusted. }; const { executionEnv } = pkg.package.manifest.pnpm ?? {}; if (executionEnv != null) { lifecycleOpts.extraBinPaths = (await (0, plugin_commands_env_1.prepareExecutionEnv)(opts, { executionEnv })).extraBinPaths; } const pnpPath = workspacePnpPath ?? existsPnp(prefix); if (pnpPath) { lifecycleOpts.extraEnv = { ...lifecycleOpts.extraEnv, ...(0, lifecycle_1.makeNodeRequireOption)(pnpPath) }; } const runScriptOptions = { enablePrePostScripts: opts.enablePrePostScripts ?? false, syncInjectedDepsAfterScripts: opts.syncInjectedDepsAfterScripts, workspaceDir: opts.workspaceDir }; const _runScript = run_js_1.runScript.bind(null, { manifest: pkg.package.manifest, lifecycleOpts, runScriptOptions, passedThruArgs }); const groupEnd = Boolean(lifecycleOpts.silent) || (0, config_1.getWorkspaceConcurrency)(opts.workspaceConcurrency) > 1 ? void 0 : (0, log_group_1.groupStart)(formatSectionName({ name: pkg.package.manifest.name, script: scriptName2, version: pkg.package.manifest.version, prefix: path_1.default.normalize(path_1.default.relative(opts.workspaceDir, prefix)) })); await _runScript(scriptName2); groupEnd?.(); result2[prefix].status = "passed"; result2[prefix].duration = (0, exec_js_1.getExecutionDuration)(startTime); } catch (err) { (0, assert_1.default)(util_1.default.types.isNativeError(err)); result2[prefix] = { status: "failure", duration: (0, exec_js_1.getExecutionDuration)(startTime), error: err, message: err.message, prefix }; if (!opts.bail) { return; } Object.assign(err, { code: "ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL", prefix }); opts.reportSummary && await (0, exec_js_1.writeRecursiveSummary)({ dir: opts.workspaceDir ?? opts.dir, summary: result2 }); throw err; } }))); } if (scriptName !== "test" && !hasCommand && !opts.ifPresent) { const allPackagesAreSelected = Object.keys(opts.selectedProjectsGraph).length === opts.allProjects.length; if (allPackagesAreSelected) { throw new error_1.PnpmError("RECURSIVE_RUN_NO_SCRIPT", `None of the packages has a "${scriptName}" script`); } else { logger_1.logger.info({ message: `None of the selected packages has a "${scriptName}" script`, prefix: opts.workspaceDir }); } } opts.reportSummary && await (0, exec_js_1.writeRecursiveSummary)({ dir: opts.workspaceDir ?? opts.dir, summary: result2 }); (0, cli_utils_1.throwOnCommandFail)("pnpm recursive run", result2); } function formatSectionName({ script, name, version: version2, prefix }) { return `${name ?? "unknown"}${version2 ? `@${version2}` : ""} ${script ? `: ${script}` : ""} ${prefix}`; } function getSpecifiedScripts(scripts, scriptName) { if (scripts[scriptName]) { return [scriptName]; } const scriptSelector = (0, regexpCommand_js_1.tryBuildRegExpFromCommand)(scriptName); if (scriptSelector) { const scriptKeys = Object.keys(scripts); return scriptKeys.filter((script) => script.match(scriptSelector)); } return []; } } }); // ../node_modules/.pnpm/fastest-levenshtein@1.0.16/node_modules/fastest-levenshtein/mod.js var require_mod = __commonJS({ "../node_modules/.pnpm/fastest-levenshtein@1.0.16/node_modules/fastest-levenshtein/mod.js"(exports2) { "use strict"; exports2.__esModule = true; exports2.distance = exports2.closest = void 0; var peq = new Uint32Array(65536); var myers_32 = function(a, b) { var n = a.length; var m = b.length; var lst = 1 << n - 1; var pv = -1; var mv = 0; var sc = n; var i = n; while (i--) { peq[a.charCodeAt(i)] |= 1 << i; } for (i = 0; i < m; i++) { var eq = peq[b.charCodeAt(i)]; var xv = eq | mv; eq |= (eq & pv) + pv ^ pv; mv |= ~(eq | pv); pv &= eq; if (mv & lst) { sc++; } if (pv & lst) { sc--; } mv = mv << 1 | 1; pv = pv << 1 | ~(xv | mv); mv &= xv; } i = n; while (i--) { peq[a.charCodeAt(i)] = 0; } return sc; }; var myers_x = function(b, a) { var n = a.length; var m = b.length; var mhc = []; var phc = []; var hsize = Math.ceil(n / 32); var vsize = Math.ceil(m / 32); for (var i = 0; i < hsize; i++) { phc[i] = -1; mhc[i] = 0; } var j = 0; for (; j < vsize - 1; j++) { var mv_1 = 0; var pv_1 = -1; var start_1 = j * 32; var vlen_1 = Math.min(32, m) + start_1; for (var k = start_1; k < vlen_1; k++) { peq[b.charCodeAt(k)] |= 1 << k; } for (var i = 0; i < n; i++) { var eq = peq[a.charCodeAt(i)]; var pb = phc[i / 32 | 0] >>> i & 1; var mb = mhc[i / 32 | 0] >>> i & 1; var xv = eq | mv_1; var xh = ((eq | mb) & pv_1) + pv_1 ^ pv_1 | eq | mb; var ph = mv_1 | ~(xh | pv_1); var mh = pv_1 & xh; if (ph >>> 31 ^ pb) { phc[i / 32 | 0] ^= 1 << i; } if (mh >>> 31 ^ mb) { mhc[i / 32 | 0] ^= 1 << i; } ph = ph << 1 | pb; mh = mh << 1 | mb; pv_1 = mh | ~(xv | ph); mv_1 = ph & xv; } for (var k = start_1; k < vlen_1; k++) { peq[b.charCodeAt(k)] = 0; } } var mv = 0; var pv = -1; var start = j * 32; var vlen = Math.min(32, m - start) + start; for (var k = start; k < vlen; k++) { peq[b.charCodeAt(k)] |= 1 << k; } var score = m; for (var i = 0; i < n; i++) { var eq = peq[a.charCodeAt(i)]; var pb = phc[i / 32 | 0] >>> i & 1; var mb = mhc[i / 32 | 0] >>> i & 1; var xv = eq | mv; var xh = ((eq | mb) & pv) + pv ^ pv | eq | mb; var ph = mv | ~(xh | pv); var mh = pv & xh; score += ph >>> m - 1 & 1; score -= mh >>> m - 1 & 1; if (ph >>> 31 ^ pb) { phc[i / 32 | 0] ^= 1 << i; } if (mh >>> 31 ^ mb) { mhc[i / 32 | 0] ^= 1 << i; } ph = ph << 1 | pb; mh = mh << 1 | mb; pv = mh | ~(xv | ph); mv = ph & xv; } for (var k = start; k < vlen; k++) { peq[b.charCodeAt(k)] = 0; } return score; }; var distance = function(a, b) { if (a.length < b.length) { var tmp = b; b = a; a = tmp; } if (b.length === 0) { return a.length; } if (a.length <= 32) { return myers_32(a, b); } return myers_x(a, b); }; exports2.distance = distance; var closest = function(str, arr) { var min_distance = Infinity; var min_index = 0; for (var i = 0; i < arr.length; i++) { var dist = distance(str, arr[i]); if (dist < min_distance) { min_distance = dist; min_index = i; } } return arr[min_index]; }; exports2.closest = closest; } }); // ../node_modules/.pnpm/lodash.deburr@4.1.0/node_modules/lodash.deburr/index.js var require_lodash4 = __commonJS({ "../node_modules/.pnpm/lodash.deburr@4.1.0/node_modules/lodash.deburr/index.js"(exports2, module2) { var INFINITY = 1 / 0; var symbolTag = "[object Symbol]"; var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; var rsComboMarksRange = "\\u0300-\\u036f\\ufe20-\\ufe23"; var rsComboSymbolsRange = "\\u20d0-\\u20f0"; var rsCombo = "[" + rsComboMarksRange + rsComboSymbolsRange + "]"; var reComboMark = RegExp(rsCombo, "g"); var deburredLetters = { // Latin-1 Supplement block. "\xC0": "A", "\xC1": "A", "\xC2": "A", "\xC3": "A", "\xC4": "A", "\xC5": "A", "\xE0": "a", "\xE1": "a", "\xE2": "a", "\xE3": "a", "\xE4": "a", "\xE5": "a", "\xC7": "C", "\xE7": "c", "\xD0": "D", "\xF0": "d", "\xC8": "E", "\xC9": "E", "\xCA": "E", "\xCB": "E", "\xE8": "e", "\xE9": "e", "\xEA": "e", "\xEB": "e", "\xCC": "I", "\xCD": "I", "\xCE": "I", "\xCF": "I", "\xEC": "i", "\xED": "i", "\xEE": "i", "\xEF": "i", "\xD1": "N", "\xF1": "n", "\xD2": "O", "\xD3": "O", "\xD4": "O", "\xD5": "O", "\xD6": "O", "\xD8": "O", "\xF2": "o", "\xF3": "o", "\xF4": "o", "\xF5": "o", "\xF6": "o", "\xF8": "o", "\xD9": "U", "\xDA": "U", "\xDB": "U", "\xDC": "U", "\xF9": "u", "\xFA": "u", "\xFB": "u", "\xFC": "u", "\xDD": "Y", "\xFD": "y", "\xFF": "y", "\xC6": "Ae", "\xE6": "ae", "\xDE": "Th", "\xFE": "th", "\xDF": "ss", // Latin Extended-A block. "\u0100": "A", "\u0102": "A", "\u0104": "A", "\u0101": "a", "\u0103": "a", "\u0105": "a", "\u0106": "C", "\u0108": "C", "\u010A": "C", "\u010C": "C", "\u0107": "c", "\u0109": "c", "\u010B": "c", "\u010D": "c", "\u010E": "D", "\u0110": "D", "\u010F": "d", "\u0111": "d", "\u0112": "E", "\u0114": "E", "\u0116": "E", "\u0118": "E", "\u011A": "E", "\u0113": "e", "\u0115": "e", "\u0117": "e", "\u0119": "e", "\u011B": "e", "\u011C": "G", "\u011E": "G", "\u0120": "G", "\u0122": "G", "\u011D": "g", "\u011F": "g", "\u0121": "g", "\u0123": "g", "\u0124": "H", "\u0126": "H", "\u0125": "h", "\u0127": "h", "\u0128": "I", "\u012A": "I", "\u012C": "I", "\u012E": "I", "\u0130": "I", "\u0129": "i", "\u012B": "i", "\u012D": "i", "\u012F": "i", "\u0131": "i", "\u0134": "J", "\u0135": "j", "\u0136": "K", "\u0137": "k", "\u0138": "k", "\u0139": "L", "\u013B": "L", "\u013D": "L", "\u013F": "L", "\u0141": "L", "\u013A": "l", "\u013C": "l", "\u013E": "l", "\u0140": "l", "\u0142": "l", "\u0143": "N", "\u0145": "N", "\u0147": "N", "\u014A": "N", "\u0144": "n", "\u0146": "n", "\u0148": "n", "\u014B": "n", "\u014C": "O", "\u014E": "O", "\u0150": "O", "\u014D": "o", "\u014F": "o", "\u0151": "o", "\u0154": "R", "\u0156": "R", "\u0158": "R", "\u0155": "r", "\u0157": "r", "\u0159": "r", "\u015A": "S", "\u015C": "S", "\u015E": "S", "\u0160": "S", "\u015B": "s", "\u015D": "s", "\u015F": "s", "\u0161": "s", "\u0162": "T", "\u0164": "T", "\u0166": "T", "\u0163": "t", "\u0165": "t", "\u0167": "t", "\u0168": "U", "\u016A": "U", "\u016C": "U", "\u016E": "U", "\u0170": "U", "\u0172": "U", "\u0169": "u", "\u016B": "u", "\u016D": "u", "\u016F": "u", "\u0171": "u", "\u0173": "u", "\u0174": "W", "\u0175": "w", "\u0176": "Y", "\u0177": "y", "\u0178": "Y", "\u0179": "Z", "\u017B": "Z", "\u017D": "Z", "\u017A": "z", "\u017C": "z", "\u017E": "z", "\u0132": "IJ", "\u0133": "ij", "\u0152": "Oe", "\u0153": "oe", "\u0149": "'n", "\u017F": "ss" }; var freeGlobal = typeof global == "object" && global && global.Object === Object && global; var freeSelf = typeof self == "object" && self && self.Object === Object && self; var root = freeGlobal || freeSelf || Function("return this")(); function basePropertyOf(object) { return function(key) { return object == null ? void 0 : object[key]; }; } var deburrLetter = basePropertyOf(deburredLetters); var objectProto = Object.prototype; var objectToString = objectProto.toString; var Symbol2 = root.Symbol; var symbolProto = Symbol2 ? Symbol2.prototype : void 0; var symbolToString = symbolProto ? symbolProto.toString : void 0; function baseToString(value) { if (typeof value == "string") { return value; } if (isSymbol(value)) { return symbolToString ? symbolToString.call(value) : ""; } var result2 = value + ""; return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2; } function isObjectLike(value) { return !!value && typeof value == "object"; } function isSymbol(value) { return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag; } function toString(value) { return value == null ? "" : baseToString(value); } function deburr(string) { string = toString(string); return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ""); } module2.exports = deburr; } }); // ../node_modules/.pnpm/didyoumean2@6.0.1/node_modules/didyoumean2/dist/index.cjs var require_dist26 = __commonJS({ "../node_modules/.pnpm/didyoumean2@6.0.1/node_modules/didyoumean2/dist/index.cjs"(exports2) { "use strict"; Object.defineProperties(exports2, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); var e = require_mod(); var t = require_lodash4(); var s = (function(e2) { return e2.ALL_CLOSEST_MATCHES = "all-closest-matches", e2.ALL_MATCHES = "all-matches", e2.ALL_SORTED_MATCHES = "all-sorted-matches", e2.FIRST_CLOSEST_MATCH = "first-closest-match", e2.FIRST_MATCH = "first-match", e2; })({}); var r = (function(e2) { return e2.EDIT_DISTANCE = "edit-distance", e2.SIMILARITY = "similarity", e2; })({}); var c = (e2) => { const t2 = { caseSensitive: false, deburr: true, matchPath: [], returnType: s.FIRST_CLOSEST_MATCH, thresholdType: r.SIMILARITY, trimSpaces: true, ...e2 }; if (!Object.values(s).includes(t2.returnType)) throw new TypeError("unknown returnType"); if (!Object.values(r).includes(t2.thresholdType)) throw new TypeError("unknown thresholdType"); switch (t2.thresholdType) { case r.EDIT_DISTANCE: return { threshold: 20, ...t2 }; case r.SIMILARITY: return { threshold: 0.4, ...t2 }; } }; var n = (t2, s2) => { if (!t2 || !s2) return 0; if (t2 === s2) return 1; const r2 = e.distance(t2, s2), c2 = Math.max(t2.length, s2.length); return (c2 - r2) / c2; }; var o = (e2, s2) => { let r2 = e2; return s2.trimSpaces && (r2 = r2.trim().replaceAll(/\s+/g, " ")), s2.deburr && (r2 = t(r2)), s2.caseSensitive || (r2 = r2.toLowerCase()), r2; }; var T = (e2, t2) => { const { matchPath: s2 } = t2, r2 = ((e3, t3) => { const s3 = t3.length > 0 ? t3.reduce(((e4, t4) => e4?.[t4]), e3) : e3; return "string" != typeof s3 ? "" : s3; })(e2, s2); return o(r2, t2); }; var a = (e2, t2, r2) => { switch (r2) { case s.ALL_CLOSEST_MATCHES: case s.ALL_MATCHES: case s.ALL_SORTED_MATCHES: return t2.map(((t3) => e2[t3])); case s.FIRST_CLOSEST_MATCH: case s.FIRST_MATCH: { const s2 = t2[0]; return void 0 === s2 ? null : e2[s2]; } } }; exports2.ReturnTypeEnums = s, exports2.ThresholdTypeEnums = r, exports2.default = function(t2, S, u) { const h = c(u), { returnType: i, threshold: l, thresholdType: I } = h, A = o(t2, h); let E, _; switch (I) { case r.EDIT_DISTANCE: E = (e2) => e2 <= l, _ = (t3) => e.distance(A, T(t3, h)); break; case r.SIMILARITY: E = (e2) => e2 >= l, _ = (e2) => n(A, T(e2, h)); } const L = []; switch (i) { case s.ALL_CLOSEST_MATCHES: case s.FIRST_CLOSEST_MATCH: { const e2 = []; let t3; switch (I) { case r.EDIT_DISTANCE: t3 = Number.POSITIVE_INFINITY; for (const s2 of S) { const r2 = _(s2); t3 > r2 && (t3 = r2), e2.push(r2); } break; case r.SIMILARITY: t3 = 0; for (const s2 of S) { const r2 = _(s2); t3 < r2 && (t3 = r2), e2.push(r2); } } for (const [s2, r2] of e2.entries()) E(r2) && r2 === t3 && L.push(s2); break; } case s.ALL_MATCHES: for (const [e2, t3] of S.entries()) { E(_(t3)) && L.push(e2); } break; case s.ALL_SORTED_MATCHES: { const e2 = []; for (const [t3, s2] of S.entries()) { const r2 = _(s2); E(r2) && e2.push({ score: r2, index: t3 }); } switch (I) { case r.EDIT_DISTANCE: e2.sort(((e3, t3) => e3.score - t3.score)); break; case r.SIMILARITY: e2.sort(((e3, t3) => t3.score - e3.score)); } for (const t3 of e2) L.push(t3.index); break; } case s.FIRST_MATCH: for (const [e2, t3] of S.entries()) { if (E(_(t3))) { L.push(e2); break; } } } return a(S, L, i); }; } }); // ../exec/plugin-commands-script-runners/lib/buildCommandNotFoundHint.js var require_buildCommandNotFoundHint = __commonJS({ "../exec/plugin-commands-script-runners/lib/buildCommandNotFoundHint.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getNearestProgram = getNearestProgram; exports2.buildCommandNotFoundHint = buildCommandNotFoundHint; exports2.getNearestScript = getNearestScript; exports2.getNearest = getNearest; var didyoumean2_1 = __importStar3(require_dist26()); var fs_1 = require("fs"); var path_1 = __importDefault2(require("path")); function getNearestProgram({ dir, modulesDir, programName, workspaceDir }) { try { const binDir = path_1.default.join(dir, modulesDir, ".bin"); const programList = readProgramsFromDir(binDir); if (workspaceDir && workspaceDir !== dir) { const workspaceBinDir = path_1.default.join(workspaceDir, modulesDir, ".bin"); programList.push(...readProgramsFromDir(workspaceBinDir)); } return getNearest(programName, programList); } catch { return null; } } function readProgramsFromDir(binDir) { const files = (0, fs_1.readdirSync)(binDir); if (process.platform !== "win32") return files; const executableExtensions = [".cmd", ".bat", ".ps1", ".exe", ".com"]; return files.map((fullName) => { const { name, ext } = path_1.default.parse(fullName); return executableExtensions.includes(ext.toLowerCase()) ? name : fullName; }); } function buildCommandNotFoundHint(scriptName, scripts) { let hint = `Command "${scriptName}" not found.`; const nearestCommand = getNearestScript(scriptName, scripts); if (nearestCommand) { hint += ` Did you mean "pnpm run ${nearestCommand}"?`; } return hint; } function getNearestScript(scriptName, scripts) { return getNearest(scriptName, Object.keys(scripts ?? [])); } function getNearest(name, list) { if (list == null || list.length === 0) return null; return (0, didyoumean2_1.default)(name, list, { returnType: didyoumean2_1.ReturnTypeEnums.FIRST_CLOSEST_MATCH }); } } }); // ../exec/plugin-commands-script-runners/lib/runDepsStatusCheck.js var require_runDepsStatusCheck = __commonJS({ "../exec/plugin-commands-script-runners/lib/runDepsStatusCheck.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.runDepsStatusCheck = runDepsStatusCheck; exports2.createInstallArgs = createInstallArgs; var error_1 = require_lib6(); var exec_pnpm_cli_runner_1 = require_lib178(); var logger_1 = require_lib(); var deps_status_1 = require_lib151(); var enquirer_1 = require_enquirer(); async function runDepsStatusCheck(opts) { const ignoredWorkspaceStateSettings = ["dev", "optional", "production"]; opts.ignoredWorkspaceStateSettings = ignoredWorkspaceStateSettings; const { upToDate, issue, workspaceState } = await (0, deps_status_1.checkDepsStatus)(opts); if (upToDate) return; const command = ["install", ...createInstallArgs(workspaceState?.settings)]; const install = exec_pnpm_cli_runner_1.runPnpmCli.bind(null, command, { cwd: opts.dir }); switch (opts.verifyDepsBeforeRun) { case "install": install(); break; case "prompt": { const confirmed = await (0, enquirer_1.prompt)({ type: "confirm", name: "runInstall", message: `Your "node_modules" directory is out of sync with the "pnpm-lock.yaml" file. This can lead to issues during scripts execution. Would you like to run "pnpm ${command.join(" ")}" to update your "node_modules"?`, initial: true }); if (confirmed.runInstall) { install(); } break; } case "error": throw new error_1.PnpmError("VERIFY_DEPS_BEFORE_RUN", issue ?? "Your node_modules are out of sync with your lockfile", { hint: 'Run "pnpm install"' }); case "warn": (0, logger_1.globalWarn)(`Your node_modules are out of sync with your lockfile. ${issue}`); break; } } function createInstallArgs(opts) { const args = []; if (!opts) return args; const { dev, optional, production } = opts; if (production && !dev) { args.push("--production"); } else if (dev && !production) { args.push("--dev"); } if (!optional) { args.push("--no-optional"); } return args; } } }); // ../exec/plugin-commands-script-runners/lib/run.js var require_run = __commonJS({ "../exec/plugin-commands-script-runners/lib/run.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.completion = exports2.shorthands = exports2.REPORTER_HIDE_PREFIX_HELP = exports2.REPORT_SUMMARY_OPTION_HELP = exports2.SEQUENTIAL_OPTION_HELP = exports2.RESUME_FROM_OPTION_HELP = exports2.PARALLEL_OPTION_HELP = exports2.IF_PRESENT_OPTION_HELP = exports2.IF_PRESENT_OPTION = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; exports2.runScript = runScript; var path_1 = __importDefault2(require("path")); var p_limit_12 = __importDefault2(require_p_limit()); var cli_utils_1 = require_lib103(); var plugin_commands_env_1 = require_lib112(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var error_1 = require_lib6(); var lifecycle_1 = require_lib71(); var workspace_injected_deps_syncer_1 = require_lib191(); var pick_1 = __importDefault2(require_pick()); var realpath_missing_1 = __importDefault2(require_realpath_missing()); var render_help_1 = __importDefault2(require_lib109()); var runRecursive_js_1 = require_runRecursive(); var existsInDir_js_1 = require_existsInDir(); var exec_js_1 = require_exec(); var buildCommandNotFoundHint_js_1 = require_buildCommandNotFoundHint(); var runDepsStatusCheck_js_1 = require_runDepsStatusCheck(); exports2.IF_PRESENT_OPTION = { "if-present": Boolean }; exports2.IF_PRESENT_OPTION_HELP = { description: "Avoid exiting with a non-zero exit code when the script is undefined", name: "--if-present" }; exports2.PARALLEL_OPTION_HELP = { description: "Completely disregard concurrency and topological sorting, running a given script immediately in all matching packages with prefixed streaming output. This is the preferred flag for long-running processes such as watch run over many packages.", name: "--parallel" }; exports2.RESUME_FROM_OPTION_HELP = { description: "Command executed from given package", name: "--resume-from" }; exports2.SEQUENTIAL_OPTION_HELP = { description: "Run the specified scripts one by one", name: "--sequential" }; exports2.REPORT_SUMMARY_OPTION_HELP = { description: 'Save the execution results of every package to "pnpm-exec-summary.json". Useful to inspect the execution time and status of each package.', name: "--report-summary" }; exports2.REPORTER_HIDE_PREFIX_HELP = { description: "Hide project name prefix from output of running scripts. Useful when running in CI like GitHub Actions and the output from a script may create an annotation.", name: "--reporter-hide-prefix" }; exports2.shorthands = { parallel: [ "--workspace-concurrency=Infinity", "--no-sort", "--stream", "--recursive" ], sequential: [ "--workspace-concurrency=1" ] }; function rcOptionsTypes() { return { ...(0, pick_1.default)([ "npm-path", "use-node-version" ], config_1.types) }; } function cliOptionsTypes() { return { ...(0, pick_1.default)([ "bail", "sort", "unsafe-perm", "use-node-version", "workspace-concurrency", "scripts-prepend-node-path" ], config_1.types), ...exports2.IF_PRESENT_OPTION, recursive: Boolean, reverse: Boolean, "resume-from": String, "report-summary": Boolean, "reporter-hide-prefix": Boolean }; } var completion = async (cliOpts, params) => { if (params.length > 0) { return []; } const manifest = await (0, cli_utils_1.readProjectManifestOnly)(cliOpts.dir ?? process.cwd(), cliOpts); return Object.keys(manifest.scripts ?? {}).map((name) => ({ name })); }; exports2.completion = completion; exports2.commandNames = ["run", "run-script"]; function help() { return (0, render_help_1.default)({ aliases: ["run-script"], description: "Runs a defined package script.", descriptionLists: [ { title: "Options", list: [ { description: 'Run the defined package script in every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, { description: "The command will exit with a 0 exit code even if the script fails", name: "--no-bail" }, exports2.IF_PRESENT_OPTION_HELP, exports2.PARALLEL_OPTION_HELP, exports2.RESUME_FROM_OPTION_HELP, ...common_cli_options_help_1.UNIVERSAL_OPTIONS, exports2.SEQUENTIAL_OPTION_HELP, exports2.REPORT_SUMMARY_OPTION_HELP, exports2.REPORTER_HIDE_PREFIX_HELP ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("run"), usages: ["pnpm run [...]"] }); } async function handler(opts, params) { let dir; if (opts.fallbackCommandUsed && (params[0] === "t" || params[0] === "tst")) { params[0] = "test"; } const [scriptName, ...passedThruArgs] = params; if (opts.verifyDepsBeforeRun) { await (0, runDepsStatusCheck_js_1.runDepsStatusCheck)(opts); } if (opts.nodeOptions) { opts.extraEnv = { ...opts.extraEnv, NODE_OPTIONS: opts.nodeOptions }; } if (opts.recursive) { if (scriptName || Object.keys(opts.selectedProjectsGraph).length > 1) { return (0, runRecursive_js_1.runRecursive)(params, opts); } dir = Object.keys(opts.selectedProjectsGraph)[0]; } else { dir = opts.dir; } const manifest = await (0, cli_utils_1.readProjectManifestOnly)(dir, opts); if (!scriptName) { const rootManifest = opts.workspaceDir && opts.workspaceDir !== dir ? (await (0, cli_utils_1.tryReadProjectManifest)(opts.workspaceDir, opts)).manifest : void 0; return printProjectCommands(manifest, rootManifest ?? void 0); } const specifiedScripts = getSpecifiedScripts(manifest.scripts ?? {}, scriptName); if (specifiedScripts.length < 1) { if (opts.ifPresent) return; if (opts.fallbackCommandUsed) { if (opts.argv == null) throw new Error("Could not fallback because opts.argv.original was not passed to the script runner"); const params2 = opts.argv.original.slice(1); while (params2.length > 0 && params2[0][0] === "-" && params2[0] !== "--") { params2.shift(); } if (params2.length > 0 && params2[0] === "--") { params2.shift(); } if (params2.length === 0) { throw new error_1.PnpmError("UNEXPECTED_BEHAVIOR", "Params should not be an empty array", { hint: "This was a bug caused by programmer error. Please report it" }); } return (0, exec_js_1.handler)({ selectedProjectsGraph: {}, implicitlyFellbackFromRun: true, ...opts }, params2); } if (opts.workspaceDir) { const { manifest: rootManifest } = await (0, cli_utils_1.tryReadProjectManifest)(opts.workspaceDir, opts); if (getSpecifiedScripts(rootManifest?.scripts ?? {}, scriptName).length > 0 && specifiedScripts.length < 1) { throw new error_1.PnpmError("NO_SCRIPT", `Missing script: ${scriptName}`, { hint: `But script matched with ${scriptName} is present in the root of the workspace, so you may run "pnpm -w run ${scriptName}"` }); } } throw new error_1.PnpmError("NO_SCRIPT", `Missing script: ${scriptName}`, { hint: (0, buildCommandNotFoundHint_js_1.buildCommandNotFoundHint)(scriptName, manifest.scripts) }); } const concurrency = (0, config_1.getWorkspaceConcurrency)(opts.workspaceConcurrency); const lifecycleOpts = { depPath: dir, extraBinPaths: opts.extraBinPaths, extraEnv: opts.extraEnv, pkgRoot: dir, rawConfig: opts.rawConfig, rootModulesDir: await (0, realpath_missing_1.default)(path_1.default.join(dir, "node_modules")), scriptsPrependNodePath: opts.scriptsPrependNodePath, scriptShell: opts.scriptShell, silent: opts.reporter === "silent", shellEmulator: opts.shellEmulator, stdio: specifiedScripts.length > 1 && concurrency > 1 ? "pipe" : "inherit", unsafePerm: true // when running scripts explicitly, assume that they're trusted. }; if (opts.executionEnv != null) { lifecycleOpts.extraBinPaths = (await (0, plugin_commands_env_1.prepareExecutionEnv)(opts, { executionEnv: opts.executionEnv })).extraBinPaths; } const existsPnp = existsInDir_js_1.existsInDir.bind(null, ".pnp.cjs"); const pnpPath = (opts.workspaceDir && existsPnp(opts.workspaceDir)) ?? existsPnp(dir); if (pnpPath) { lifecycleOpts.extraEnv = { ...lifecycleOpts.extraEnv, ...(0, lifecycle_1.makeNodeRequireOption)(pnpPath) }; } try { const limitRun = (0, p_limit_12.default)(concurrency); const runScriptOptions = { enablePrePostScripts: opts.enablePrePostScripts ?? false, syncInjectedDepsAfterScripts: opts.syncInjectedDepsAfterScripts, workspaceDir: opts.workspaceDir }; const _runScript = runScript.bind(null, { manifest, lifecycleOpts, runScriptOptions, passedThruArgs }); await Promise.all(specifiedScripts.map((script) => limitRun(() => _runScript(script)))); } catch (err) { if (opts.bail !== false) { throw err; } } return void 0; } var ALL_LIFECYCLE_SCRIPTS = /* @__PURE__ */ new Set([ "prepublish", "prepare", "prepublishOnly", "prepack", "postpack", "publish", "postpublish", "preinstall", "install", "postinstall", "preuninstall", "uninstall", "postuninstall", "preversion", "version", "postversion", "pretest", "test", "posttest", "prestop", "stop", "poststop", "prestart", "start", "poststart", "prerestart", "restart", "postrestart", "preshrinkwrap", "shrinkwrap", "postshrinkwrap" ]); function printProjectCommands(manifest, rootManifest) { const lifecycleScripts = []; const otherScripts = []; for (const [scriptName, script] of Object.entries(manifest.scripts ?? {})) { if (ALL_LIFECYCLE_SCRIPTS.has(scriptName)) { lifecycleScripts.push([scriptName, script]); } else { otherScripts.push([scriptName, script]); } } if (lifecycleScripts.length === 0 && otherScripts.length === 0) { return "There are no scripts specified."; } let output = ""; if (lifecycleScripts.length > 0) { output += `Lifecycle scripts: ${renderCommands(lifecycleScripts)}`; } if (otherScripts.length > 0) { if (output !== "") output += "\n\n"; output += `Commands available via "pnpm run": ${renderCommands(otherScripts)}`; } if (rootManifest?.scripts == null) { return output; } const rootScripts = Object.entries(rootManifest.scripts); if (rootScripts.length === 0) { return output; } if (output !== "") output += "\n\n"; output += `Commands of the root workspace project (to run them, use "pnpm -w run"): ${renderCommands(rootScripts)}`; return output; } async function runScript(opts, scriptName) { if (opts.runScriptOptions.enablePrePostScripts && opts.manifest.scripts?.[`pre${scriptName}`] && !opts.manifest.scripts[scriptName].includes(`pre${scriptName}`)) { await (0, lifecycle_1.runLifecycleHook)(`pre${scriptName}`, opts.manifest, opts.lifecycleOpts); } await (0, lifecycle_1.runLifecycleHook)(scriptName, opts.manifest, { ...opts.lifecycleOpts, args: opts.passedThruArgs }); if (opts.runScriptOptions.enablePrePostScripts && opts.manifest.scripts?.[`post${scriptName}`] && !opts.manifest.scripts[scriptName].includes(`post${scriptName}`)) { await (0, lifecycle_1.runLifecycleHook)(`post${scriptName}`, opts.manifest, opts.lifecycleOpts); } if (opts.runScriptOptions.syncInjectedDepsAfterScripts?.includes(scriptName)) { await (0, workspace_injected_deps_syncer_1.syncInjectedDeps)({ pkgName: opts.manifest.name, pkgRootDir: opts.lifecycleOpts.pkgRoot, workspaceDir: opts.runScriptOptions.workspaceDir }); } } function renderCommands(commands) { return commands.map(([scriptName, script]) => ` ${scriptName} ${script}`).join("\n"); } function getSpecifiedScripts(scripts, scriptName) { const specifiedSelector = (0, runRecursive_js_1.getSpecifiedScripts)(scripts, scriptName); if (specifiedSelector.length > 0) { return specifiedSelector; } if (scriptName === "start") { return [scriptName]; } return []; } } }); // ../exec/plugin-commands-script-runners/lib/exec.js var require_exec = __commonJS({ "../exec/plugin-commands-script-runners/lib/exec.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.cliOptionsTypes = exports2.commandNames = exports2.shorthands = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.help = help; exports2.getResumedPackageChunks = getResumedPackageChunks; exports2.writeRecursiveSummary = writeRecursiveSummary; exports2.createEmptyRecursiveSummary = createEmptyRecursiveSummary; exports2.getExecutionDuration = getExecutionDuration; exports2.handler = handler; var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var core_loggers_1 = require_lib8(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var lifecycle_1 = require_lib71(); var logger_1 = require_lib(); var read_project_manifest_1 = require_lib16(); var plugin_commands_env_1 = require_lib112(); var sort_packages_1 = require_lib130(); var execa_1 = __importDefault2(require_lib17()); var p_limit_12 = __importDefault2(require_p_limit()); var env_path_1 = require_lib190(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var existsInDir_js_1 = require_existsInDir(); var makeEnv_js_1 = require_makeEnv(); var run_js_1 = require_run(); var error_1 = require_lib6(); var which_1 = __importDefault2(require_lib20()); var write_json_file_1 = __importDefault2(require_write_json_file()); var buildCommandNotFoundHint_js_1 = require_buildCommandNotFoundHint(); var runDepsStatusCheck_js_1 = require_runDepsStatusCheck(); exports2.shorthands = { parallel: run_js_1.shorthands.parallel, c: "--shell-mode" }; exports2.commandNames = ["exec"]; function rcOptionsTypes() { return { ...(0, pick_1.default)([ "bail", "sort", "use-node-version", "unsafe-perm", "workspace-concurrency", "reporter-hide-prefix" ], config_1.types), "shell-mode": Boolean, "resume-from": String, "report-summary": Boolean }; } var cliOptionsTypes = () => ({ ...rcOptionsTypes(), recursive: Boolean, reverse: Boolean }); exports2.cliOptionsTypes = cliOptionsTypes; function help() { return (0, render_help_1.default)({ description: "Run a shell command in the context of a project.", descriptionLists: [ { title: "Options", list: [ { description: "Do not hide project name prefix from output of recursively running command.", name: "--no-reporter-hide-prefix" }, run_js_1.PARALLEL_OPTION_HELP, { description: 'Run the shell command in every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"', name: "--recursive", shortAlias: "-r" }, { description: "If exist, runs file inside of a shell. Uses /bin/sh on UNIX and \\cmd.exe on Windows. The shell should understand the -c switch on UNIX or /d /s /c on Windows.", name: "--shell-mode", shortAlias: "-c" }, run_js_1.RESUME_FROM_OPTION_HELP, run_js_1.REPORT_SUMMARY_OPTION_HELP, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("exec"), usages: ["pnpm [-r] [-c] exec [args...]"] }); } function getResumedPackageChunks({ resumeFrom, chunks, selectedProjectsGraph }) { const resumeFromPackagePrefix = Object.keys(selectedProjectsGraph).find((prefix) => selectedProjectsGraph[prefix]?.package.manifest.name === resumeFrom); if (!resumeFromPackagePrefix) { throw new error_1.PnpmError("RESUME_FROM_NOT_FOUND", `Cannot find package ${resumeFrom}. Could not determine where to resume from.`); } const chunkPosition = chunks.findIndex((chunk) => chunk.includes(resumeFromPackagePrefix)); return chunks.slice(chunkPosition); } async function writeRecursiveSummary(opts) { await (0, write_json_file_1.default)(path_1.default.join(opts.dir, "pnpm-exec-summary.json"), { executionStatus: opts.summary }); } function createEmptyRecursiveSummary(chunks) { const acc = {}; for (const prefix of chunks.flat()) { acc[prefix] = { status: "queued" }; } return acc; } function getExecutionDuration(start) { const end = process.hrtime(start); return (end[0] * 1e9 + end[1]) / 1e6; } async function handler(opts, params) { if (params[0] === "--") { params.shift(); } if (!params[0]) { throw new error_1.PnpmError("EXEC_MISSING_COMMAND", "'pnpm exec' requires a command to run"); } const limitRun = (0, p_limit_12.default)((0, config_1.getWorkspaceConcurrency)(opts.workspaceConcurrency)); if (opts.verifyDepsBeforeRun) { await (0, runDepsStatusCheck_js_1.runDepsStatusCheck)(opts); } let chunks; if (opts.recursive) { chunks = opts.sort ? (0, sort_packages_1.sortPackages)(opts.selectedProjectsGraph) : [Object.keys(opts.selectedProjectsGraph).sort()]; if (opts.reverse) { chunks = chunks.reverse(); } } else { chunks = [[opts.dir]]; const project = await (0, read_project_manifest_1.tryReadProjectManifest)(opts.dir); if (project.manifest != null) { opts.selectedProjectsGraph = { [opts.dir]: { dependencies: [], package: { ...project, rootDir: opts.dir, rootDirRealPath: opts.dir } } }; } } if (!opts.selectedProjectsGraph) { throw new error_1.PnpmError("RECURSIVE_EXEC_NO_PACKAGE", "No package found in this workspace"); } if (opts.resumeFrom) { chunks = getResumedPackageChunks({ resumeFrom: opts.resumeFrom, chunks, selectedProjectsGraph: opts.selectedProjectsGraph }); } const result2 = createEmptyRecursiveSummary(chunks); const existsPnp = existsInDir_js_1.existsInDir.bind(null, ".pnp.cjs"); const workspacePnpPath = opts.workspaceDir && existsPnp(opts.workspaceDir); let exitCode = 0; const mapPrefixToPrependPaths = {}; await Promise.all(chunks.flat().map(async (prefix) => { const executionEnv = await (0, plugin_commands_env_1.prepareExecutionEnv)(opts, { extraBinPaths: opts.extraBinPaths, executionEnv: opts.selectedProjectsGraph[prefix]?.package.manifest.pnpm?.executionEnv }); mapPrefixToPrependPaths[prefix] = [ "./node_modules/.bin", ...executionEnv.extraBinPaths ]; })); const reporterShowPrefix = opts.recursive && opts.reporterHidePrefix === false; for (const chunk of chunks) { await Promise.all(chunk.map(async (prefix) => limitRun(async () => { const prependPaths = mapPrefixToPrependPaths[prefix]; result2[prefix].status = "running"; const startTime = process.hrtime(); try { const pnpPath = workspacePnpPath ?? existsPnp(prefix); const extraEnv = { ...opts.extraEnv, ...pnpPath ? (0, lifecycle_1.makeNodeRequireOption)(pnpPath) : {} }; const env = (0, makeEnv_js_1.makeEnv)({ extraEnv: { ...extraEnv, PNPM_PACKAGE_NAME: opts.selectedProjectsGraph[prefix]?.package.manifest.name, ...opts.nodeOptions ? { NODE_OPTIONS: opts.nodeOptions } : {} }, prependPaths, userAgent: opts.userAgent }); const [cmd, ...args] = params; if (reporterShowPrefix) { const manifest = await (0, cli_utils_1.readProjectManifestOnly)(prefix); const child = (0, execa_1.default)(cmd, args, { cwd: prefix, env, stdio: "pipe", shell: opts.shellMode ?? false }); const lifecycleOpts = { wd: prefix, depPath: manifest.name ?? path_1.default.relative(opts.dir, prefix), stage: "(exec)" }; const logFn = (stdio) => (data) => { for (const line of String(data).split("\n")) { core_loggers_1.lifecycleLogger.debug({ ...lifecycleOpts, stdio, line }); } }; child.stdout.on("data", logFn("stdout")); child.stderr.on("data", logFn("stderr")); await new Promise((resolve) => { void child.once("close", (exitCode2) => { core_loggers_1.lifecycleLogger.debug({ ...lifecycleOpts, exitCode: exitCode2 ?? 1, optional: false }); resolve(); }); }); await child; } else { await (0, execa_1.default)(cmd, args, { cwd: prefix, env, stdio: "inherit", shell: opts.shellMode ?? false }); } result2[prefix].status = "passed"; result2[prefix].duration = getExecutionDuration(startTime); } catch (err) { if (isErrorCommandNotFound(params[0], err, prependPaths)) { err.message = `Command "${params[0]}" not found`; err.hint = await createExecCommandNotFoundHint(params[0], { implicitlyFellbackFromRun: opts.implicitlyFellbackFromRun ?? false, dir: opts.dir, workspaceDir: opts.workspaceDir, modulesDir: opts.modulesDir ?? "node_modules" }); } else if (!opts.recursive && typeof err.exitCode === "number") { exitCode = err.exitCode; return; } logger_1.logger.info(err); result2[prefix] = { status: "failure", duration: getExecutionDuration(startTime), error: err, message: err.message, prefix }; if (!opts.bail) { return; } if (!err["code"]?.startsWith("ERR_PNPM_")) { err["code"] = "ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL"; } err["prefix"] = prefix; opts.reportSummary && await writeRecursiveSummary({ dir: opts.lockfileDir ?? opts.dir, summary: result2 }); throw err; } }))); } opts.reportSummary && await writeRecursiveSummary({ dir: opts.lockfileDir ?? opts.dir, summary: result2 }); (0, cli_utils_1.throwOnCommandFail)("pnpm recursive exec", result2); return { exitCode }; } async function createExecCommandNotFoundHint(programName, opts) { if (opts.implicitlyFellbackFromRun) { let nearestScript; try { nearestScript = (0, buildCommandNotFoundHint_js_1.getNearestScript)(programName, (await (0, cli_utils_1.readProjectManifestOnly)(opts.dir)).scripts); } catch { } if (nearestScript) { return `Did you mean "pnpm ${nearestScript}"?`; } const nearestProgram2 = (0, buildCommandNotFoundHint_js_1.getNearestProgram)({ programName, dir: opts.dir, workspaceDir: opts.workspaceDir, modulesDir: opts.modulesDir }); if (nearestProgram2) { return `Did you mean "pnpm ${nearestProgram2}"?`; } return void 0; } const nearestProgram = (0, buildCommandNotFoundHint_js_1.getNearestProgram)({ programName, dir: opts.dir, workspaceDir: opts.workspaceDir, modulesDir: opts.modulesDir }); if (nearestProgram) { return `Did you mean "pnpm exec ${nearestProgram}"?`; } return void 0; } function isErrorCommandNotFound(command, error, prependPaths) { if (process.platform === "linux" || process.platform === "darwin") { return error.originalMessage === `spawn ${command} ENOENT`; } if (process.platform === "win32") { const { value: path2 } = (0, env_path_1.prependDirsToPath)(prependPaths); return !which_1.default.sync(command, { nothrow: true, path: path2 }); } return false; } } }); // ../exec/plugin-commands-script-runners/lib/restart.js var require_restart = __commonJS({ "../exec/plugin-commands-script-runners/lib/restart.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = void 0; exports2.rcOptionsTypes = rcOptionsTypes; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var config_1 = require_lib23(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var run_js_1 = require_run(); function rcOptionsTypes() { return { ...(0, pick_1.default)([ "npm-path" ], config_1.types) }; } function cliOptionsTypes() { return run_js_1.IF_PRESENT_OPTION; } exports2.commandNames = ["restart"]; function help() { return (0, render_help_1.default)({ description: `Restarts a package. Runs a package's "stop", "restart", and "start" scripts, and associated pre- and post- scripts.`, descriptionLists: [ { title: "Options", list: [ run_js_1.IF_PRESENT_OPTION_HELP ] } ], usages: ["pnpm restart [-- ...]"] }); } async function handler(opts, params) { await (0, run_js_1.handler)(opts, ["stop", ...params]); await (0, run_js_1.handler)(opts, ["restart", ...params]); await (0, run_js_1.handler)(opts, ["start", ...params]); } } }); // ../exec/plugin-commands-script-runners/lib/index.js var require_lib192 = __commonJS({ "../exec/plugin-commands-script-runners/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.run = exports2.restart = exports2.exec = exports2.dlx = exports2.create = void 0; var create = __importStar3(require_create()); exports2.create = create; var dlx = __importStar3(require_dlx()); exports2.dlx = dlx; var exec = __importStar3(require_exec()); exports2.exec = exec; var restart = __importStar3(require_restart()); exports2.restart = restart; var run = __importStar3(require_run()); exports2.run = run; } }); // ../node_modules/.pnpm/get-port@5.1.1/node_modules/get-port/index.js var require_get_port = __commonJS({ "../node_modules/.pnpm/get-port@5.1.1/node_modules/get-port/index.js"(exports2, module2) { "use strict"; var net = require("net"); var Locked = class extends Error { constructor(port) { super(`${port} is locked`); } }; var lockedPorts = { old: /* @__PURE__ */ new Set(), young: /* @__PURE__ */ new Set() }; var releaseOldLockedPortsIntervalMs = 1e3 * 15; var interval; var getAvailablePort = (options) => new Promise((resolve, reject) => { const server = net.createServer(); server.unref(); server.on("error", reject); server.listen(options, () => { const { port } = server.address(); server.close(() => { resolve(port); }); }); }); var portCheckSequence = function* (ports) { if (ports) { yield* ports; } yield 0; }; module2.exports = async (options) => { let ports; if (options) { ports = typeof options.port === "number" ? [options.port] : options.port; } if (interval === void 0) { interval = setInterval(() => { lockedPorts.old = lockedPorts.young; lockedPorts.young = /* @__PURE__ */ new Set(); }, releaseOldLockedPortsIntervalMs); if (interval.unref) { interval.unref(); } } for (const port of portCheckSequence(ports)) { try { let availablePort = await getAvailablePort({ ...options, port }); while (lockedPorts.old.has(availablePort) || lockedPorts.young.has(availablePort)) { if (port !== 0) { throw new Locked(port); } availablePort = await getAvailablePort({ ...options, port }); } lockedPorts.young.add(availablePort); return availablePort; } catch (error) { if (!["EADDRINUSE", "EACCES"].includes(error.code) && !(error instanceof Locked)) { throw error; } } } throw new Error("No available ports found"); }; module2.exports.makeRange = (from, to) => { if (!Number.isInteger(from) || !Number.isInteger(to)) { throw new TypeError("`from` and `to` must be integer numbers"); } if (from < 1024 || from > 65535) { throw new RangeError("`from` must be between 1024 and 65535"); } if (to < 1024 || to > 65536) { throw new RangeError("`to` must be between 1024 and 65536"); } if (to < from) { throw new RangeError("`to` must be greater than or equal to `from`"); } const generator = function* (from2, to2) { for (let port = from2; port <= to2; port++) { yield port; } }; return generator(from, to); }; } }); // ../store/plugin-commands-server/lib/start.js var require_start = __commonJS({ "../store/plugin-commands-server/lib/start.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.start = start; var fs_1 = require("fs"); var util_1 = require("util"); var path_1 = __importDefault2(require("path")); var cli_meta_1 = require_lib4(); var error_1 = require_lib6(); var logger_1 = require_lib(); var server_1 = require_lib30(); var store_connection_manager_1 = require_lib94(); var store_path_1 = require_lib31(); var diable_1 = __importDefault2(require_lib93()); var get_port_1 = __importDefault2(require_get_port()); var is_windows_1 = __importDefault2(require_is_windows()); var signal_exit_1 = __importDefault2(require_signal_exit()); var storeServerLogger = (0, logger_1.logger)("store-server"); var write = (0, util_1.promisify)(fs_1.write); var close = (0, util_1.promisify)(fs_1.close); var open = (0, util_1.promisify)(fs_1.open); async function start(opts) { if (opts.protocol === "ipc" && opts.port) { throw new Error("Port cannot be selected when server communicates via IPC"); } if (opts.background && !diable_1.default.isDaemon()) { (0, diable_1.default)(); } const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: opts.dir, storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); const connectionInfoDir = (0, store_connection_manager_1.serverConnectionInfoDir)(storeDir); const serverJsonPath = path_1.default.join(connectionInfoDir, "server.json"); await fs_1.promises.mkdir(connectionInfoDir, { recursive: true }); let fd; try { fd = await open(serverJsonPath, "wx"); } catch (error) { if (error.code !== "EEXIST") { throw error; } throw new error_1.PnpmError("SERVER_MANIFEST_LOCKED", `Canceling startup of server (pid ${process.pid}) because another process got exclusive access to server.json`); } let server = null; (0, signal_exit_1.default)(() => { if (server !== null) { server.close(); } if (fd !== null) { try { (0, fs_1.closeSync)(fd); } catch (error) { storeServerLogger.error(error, "Got error while closing file descriptor of server.json, but the process is already exiting"); } } try { (0, fs_1.unlinkSync)(serverJsonPath); } catch (error) { if (error.code !== "ENOENT") { storeServerLogger.error(error, "Got error unlinking server.json, but the process is already exiting"); } } }); const store = await (0, store_connection_manager_1.createNewStoreController)(Object.assign(opts, { storeDir })); const protocol = opts.protocol ?? (opts.port ? "tcp" : "auto"); const serverOptions = await getServerOptions(connectionInfoDir, { protocol, port: opts.port }); const connectionOptions = { remotePrefix: serverOptions.path != null ? `http://unix:${serverOptions.path}:` : `http://${serverOptions.hostname}:${serverOptions.port}` }; server = (0, server_1.createServer)(store.ctrl, { ...serverOptions, ignoreStopRequests: opts.ignoreStopRequests, ignoreUploadRequests: opts.ignoreUploadRequests }); await server.waitForListen; const serverJson = { connectionOptions, pid: process.pid, pnpmVersion: cli_meta_1.packageManager.version }; const serverJsonStr = JSON.stringify(serverJson, void 0, 2); const serverJsonBuffer = Buffer.from(serverJsonStr, "utf8"); await write(fd, serverJsonBuffer, 0, serverJsonBuffer.byteLength); const fdForClose = fd; fd = null; await close(fdForClose); await server.waitForClose; } async function getServerOptions(connectionInfoDir, opts) { switch (opts.protocol) { case "tcp": return getTcpOptions(); case "ipc": if ((0, is_windows_1.default)()) { throw new Error("IPC protocol is not supported on Windows currently"); } return getIpcOptions(); case "auto": if ((0, is_windows_1.default)()) { return getTcpOptions(); } return getIpcOptions(); default: throw new Error(`Protocol ${opts.protocol} is not supported`); } async function getTcpOptions() { return { hostname: "localhost", port: opts.port || await (0, get_port_1.default)({ port: 5813 }) // eslint-disable-line }; } function getIpcOptions() { return { path: path_1.default.join(connectionInfoDir, "socket") }; } } } }); // ../store/plugin-commands-server/lib/status.js var require_status = __commonJS({ "../store/plugin-commands-server/lib/status.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.status = status; var path_1 = __importDefault2(require("path")); var logger_1 = require_lib(); var store_connection_manager_1 = require_lib94(); var store_path_1 = require_lib31(); async function status(opts) { const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: opts.dir, storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); const connectionInfoDir = (0, store_connection_manager_1.serverConnectionInfoDir)(storeDir); const serverJson = await (0, store_connection_manager_1.tryLoadServerJson)({ serverJsonPath: path_1.default.join(connectionInfoDir, "server.json"), shouldRetryOnNoent: false }); if (serverJson === null) { (0, logger_1.globalInfo)(`No server is running for the store at ${storeDir}`); return; } console.log(`store: ${storeDir} process id: ${serverJson.pid} remote prefix: ${serverJson.connectionOptions.remotePrefix}`); } } }); // ../node_modules/.pnpm/ps-list@6.3.0/node_modules/ps-list/index.js var require_ps_list = __commonJS({ "../node_modules/.pnpm/ps-list@6.3.0/node_modules/ps-list/index.js"(exports2, module2) { "use strict"; var util = require("util"); var path2 = require("path"); var childProcess = require("child_process"); var TEN_MEGABYTES = 1e3 * 1e3 * 10; var execFile = util.promisify(childProcess.execFile); var windows = async () => { const bin = path2.join(__dirname, "fastlist.exe"); const { stdout } = await execFile(bin, { maxBuffer: TEN_MEGABYTES }); return stdout.trim().split("\r\n").map((line) => line.split(" ")).map(([name, pid, ppid]) => ({ name, pid: Number.parseInt(pid, 10), ppid: Number.parseInt(ppid, 10) })); }; var main = async (options = {}) => { const flags = (options.all === false ? "" : "a") + "wwxo"; const ret2 = {}; await Promise.all(["comm", "args", "ppid", "uid", "%cpu", "%mem"].map(async (cmd) => { const { stdout } = await execFile("ps", [flags, `pid,${cmd}`], { maxBuffer: TEN_MEGABYTES }); for (let line of stdout.trim().split("\n").slice(1)) { line = line.trim(); const [pid] = line.split(" ", 1); const val = line.slice(pid.length + 1).trim(); if (ret2[pid] === void 0) { ret2[pid] = {}; } ret2[pid][cmd] = val; } })); return Object.entries(ret2).filter(([, value]) => value.comm && value.args && value.ppid && value.uid && value["%cpu"] && value["%mem"]).map(([key, value]) => ({ pid: Number.parseInt(key, 10), name: path2.basename(value.comm), cmd: value.args, ppid: Number.parseInt(value.ppid, 10), uid: Number.parseInt(value.uid, 10), cpu: Number.parseFloat(value["%cpu"]), memory: Number.parseFloat(value["%mem"]) })); }; module2.exports = process.platform === "win32" ? windows : main; module2.exports.default = module2.exports; } }); // ../node_modules/.pnpm/process-exists@4.1.0/node_modules/process-exists/index.js var require_process_exists = __commonJS({ "../node_modules/.pnpm/process-exists@4.1.0/node_modules/process-exists/index.js"(exports2, module2) { "use strict"; var psList = require_ps_list(); var linuxProcessMatchesName = (wantedProcessName, process2) => { if (typeof wantedProcessName === "string") { return process2.name === wantedProcessName || process2.cmd.split(" ")[0] === wantedProcessName; } return process2.pid === wantedProcessName; }; var nonLinuxProcessMatchesName = (wantedProcessName, process2) => { if (typeof wantedProcessName === "string") { return process2.name === wantedProcessName; } return process2.pid === wantedProcessName; }; var processMatchesName = process.platform === "linux" ? linuxProcessMatchesName : nonLinuxProcessMatchesName; module2.exports = async (processName) => { const processes = await psList(); return processes.some((x) => processMatchesName(processName, x)); }; module2.exports.all = async (processName) => { const processes = await psList(); return new Map(processName.map((x) => [x, processes.some((y) => processMatchesName(x, y))])); }; module2.exports.filterExists = async (processNames) => { const processes = await psList(); return processNames.filter((x) => processes.some((y) => processMatchesName(x, y))); }; } }); // ../node_modules/.pnpm/tree-kill@1.2.2/node_modules/tree-kill/index.js var require_tree_kill = __commonJS({ "../node_modules/.pnpm/tree-kill@1.2.2/node_modules/tree-kill/index.js"(exports2, module2) { "use strict"; var childProcess = require("child_process"); var spawn = childProcess.spawn; var exec = childProcess.exec; module2.exports = function(pid, signal, callback) { if (typeof signal === "function" && callback === void 0) { callback = signal; signal = void 0; } pid = parseInt(pid); if (Number.isNaN(pid)) { if (callback) { return callback(new Error("pid must be a number")); } else { throw new Error("pid must be a number"); } } var tree = {}; var pidsToProcess = {}; tree[pid] = []; pidsToProcess[pid] = 1; switch (process.platform) { case "win32": exec("taskkill /pid " + pid + " /T /F", callback); break; case "darwin": buildProcessTree(pid, tree, pidsToProcess, function(parentPid) { return spawn("pgrep", ["-P", parentPid]); }, function() { killAll(tree, signal, callback); }); break; // case 'sunos': // buildProcessTreeSunOS(pid, tree, pidsToProcess, function () { // killAll(tree, signal, callback); // }); // break; default: buildProcessTree(pid, tree, pidsToProcess, function(parentPid) { return spawn("ps", ["-o", "pid", "--no-headers", "--ppid", parentPid]); }, function() { killAll(tree, signal, callback); }); break; } }; function killAll(tree, signal, callback) { var killed = {}; try { Object.keys(tree).forEach(function(pid) { tree[pid].forEach(function(pidpid) { if (!killed[pidpid]) { killPid(pidpid, signal); killed[pidpid] = 1; } }); if (!killed[pid]) { killPid(pid, signal); killed[pid] = 1; } }); } catch (err) { if (callback) { return callback(err); } else { throw err; } } if (callback) { return callback(); } } function killPid(pid, signal) { try { process.kill(parseInt(pid, 10), signal); } catch (err) { if (err.code !== "ESRCH") throw err; } } function buildProcessTree(parentPid, tree, pidsToProcess, spawnChildProcessesList, cb) { var ps = spawnChildProcessesList(parentPid); var allData = ""; ps.stdout.on("data", function(data) { var data = data.toString("ascii"); allData += data; }); var onClose = function(code) { delete pidsToProcess[parentPid]; if (code != 0) { if (Object.keys(pidsToProcess).length == 0) { cb(); } return; } allData.match(/\d+/g).forEach(function(pid) { pid = parseInt(pid, 10); tree[parentPid].push(pid); tree[pid] = []; pidsToProcess[pid] = 1; buildProcessTree(pid, tree, pidsToProcess, spawnChildProcessesList, cb); }); }; ps.on("close", onClose); } } }); // ../store/plugin-commands-server/lib/stop.js var require_stop = __commonJS({ "../store/plugin-commands-server/lib/stop.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.stop = stop; var util_1 = require("util"); var path_1 = __importDefault2(require("path")); var logger_1 = require_lib(); var server_1 = require_lib30(); var store_connection_manager_1 = require_lib94(); var store_path_1 = require_lib31(); var delay_1 = __importDefault2(require_delay2()); var process_exists_1 = __importDefault2(require_process_exists()); var tree_kill_1 = __importDefault2(require_tree_kill()); var kill = (0, util_1.promisify)(tree_kill_1.default); async function stop(opts) { const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: opts.dir, storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); const connectionInfoDir = (0, store_connection_manager_1.serverConnectionInfoDir)(storeDir); const serverJson = await (0, store_connection_manager_1.tryLoadServerJson)({ serverJsonPath: path_1.default.join(connectionInfoDir, "server.json"), shouldRetryOnNoent: false }); if (serverJson === null) { (0, logger_1.globalInfo)(`Nothing to stop. No server is running for the store at ${storeDir}`); return; } const storeController = await (0, server_1.connectStoreController)(serverJson.connectionOptions); await storeController.stop(); if (await serverGracefullyStops(serverJson.pid)) { (0, logger_1.globalInfo)("Server gracefully stopped"); return; } (0, logger_1.globalWarn)("Graceful shutdown failed"); await kill(serverJson.pid, "SIGINT"); (0, logger_1.globalInfo)("Server process terminated"); } async function serverGracefullyStops(pid) { if (!await (0, process_exists_1.default)(pid)) return true; await (0, delay_1.default)(5e3); return !await (0, process_exists_1.default)(pid); } } }); // ../store/plugin-commands-server/lib/server.js var require_server = __commonJS({ "../store/plugin-commands-server/lib/server.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var config_1 = require_lib23(); var error_1 = require_lib6(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var start_js_1 = require_start(); var status_js_1 = require_status(); var stop_js_1 = require_stop(); exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return { ...(0, pick_1.default)([ "store-dir" ], config_1.types), background: Boolean, "ignore-stop-requests": Boolean, "ignore-upload-requests": Boolean, port: Number, protocol: ["auto", "tcp", "ipc"] }; } exports2.commandNames = ["server"]; function help() { return (0, render_help_1.default)({ description: "Manage a store server", descriptionLists: [ { title: "Commands", list: [ { description: "Starts a service that does all interactions with the store. Other commands will delegate any store-related tasks to this service", name: "start" }, { description: "Stops the store server", name: "stop" }, { description: "Prints information about the running server", name: "status" } ] }, { title: "Start options", list: [ { description: "Runs the server in the background", name: "--background" }, { description: "The communication protocol used by the server", name: "--protocol " }, { description: "The port number to use, when TCP is used for communication", name: "--port " }, common_cli_options_help_1.OPTIONS.storeDir, { description: "Maximum number of concurrent network requests", name: "--network-concurrency " }, { description: "If false, doesn't check whether packages in the store were mutated", name: "--[no-]verify-store-integrity" }, { name: "--[no-]lock" }, { description: "Disallows stopping the server using `pnpm server stop`", name: "--ignore-stop-requests" }, { description: "Disallows creating new side effect cache during install", name: "--ignore-upload-requests" }, ...common_cli_options_help_1.UNIVERSAL_OPTIONS ] } ], url: (0, cli_utils_1.docsUrl)("server"), usages: ["pnpm server "] }); } function handler(opts, params) { opts.protocol = "tcp"; switch (params[0]) { case "start": return (0, start_js_1.start)(opts); case "status": return (0, status_js_1.status)(opts); case "stop": return (0, stop_js_1.stop)(opts); default: help(); if (params[0]) { throw new error_1.PnpmError("INVALID_SERVER_COMMAND", `"server ${params[0]}" is not a pnpm command. See "pnpm help server".`); } return void 0; } } } }); // ../store/plugin-commands-server/lib/index.js var require_lib193 = __commonJS({ "../store/plugin-commands-server/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.server = void 0; var server = __importStar3(require_server()); exports2.server = server; } }); // ../node_modules/.pnpm/@pnpm+os.env.path-extender-posix@2.1.0/node_modules/@pnpm/os.env.path-extender-posix/dist/path-extender-posix.js var require_path_extender_posix = __commonJS({ "../node_modules/.pnpm/@pnpm+os.env.path-extender-posix@2.1.0/node_modules/@pnpm/os.env.path-extender-posix/dist/path-extender-posix.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.addDirToPosixEnvPath = void 0; var fs_1 = __importDefault2(require("fs")); var os_1 = __importDefault2(require("os")); var path_1 = __importDefault2(require("path")); var error_1 = require_lib28(); var BadShellSectionError = class extends error_1.PnpmError { constructor(opts) { super("BAD_SHELL_SECTION", `The config file at "${opts.configFile} already contains a ${opts.configSectionName} section but with other configuration`); this.current = opts.current; this.wanted = opts.wanted; } }; async function addDirToPosixEnvPath(dir, opts) { const currentShell = detectCurrentShell(); return await updateShell(currentShell, dir, opts); } exports2.addDirToPosixEnvPath = addDirToPosixEnvPath; function detectCurrentShell() { if (process.env.ZSH_VERSION) return "zsh"; if (process.env.BASH_VERSION) return "bash"; if (process.env.FISH_VERSION) return "fish"; if (process.env.NU_VERSION) return "nu"; return typeof process.env.SHELL === "string" ? path_1.default.basename(process.env.SHELL) : null; } async function updateShell(currentShell, pnpmHomeDir, opts) { switch (currentShell) { case "bash": case "zsh": case "ksh": case "dash": case "sh": { return setupShell(currentShell, pnpmHomeDir, opts); } case "fish": { return setupFishShell(pnpmHomeDir, opts); } case "nu": { return setupNuShell(pnpmHomeDir, opts); } } const supportedShellsMsg = "Supported shell languages are bash, zsh, fish, ksh, dash, sh, and nushell."; if (!currentShell) throw new error_1.PnpmError("UNKNOWN_SHELL", "Could not infer shell type.", { hint: `Set the SHELL environment variable to your active shell. ${supportedShellsMsg}` }); throw new error_1.PnpmError("UNSUPPORTED_SHELL", `Can't setup configuration for "${currentShell}" shell`, { hint: supportedShellsMsg }); } async function setupShell(shell, dir, opts) { const configFile = getConfigFilePath(shell); let newSettings; const _createPathValue = createPathValue.bind(null, opts.position ?? "start"); if (opts.proxyVarName) { newSettings = `export ${opts.proxyVarName}="${dir}" case ":$PATH:" in *":$${opts.proxyVarName}:"*) ;; *) export PATH="${_createPathValue(`$${opts.proxyVarName}`)}" ;; esac`; } else { newSettings = `case ":$PATH:" in *":${dir}:"*) ;; *) export PATH="${_createPathValue(dir)}" ;; esac`; } const content = wrapSettings(opts.configSectionName, newSettings); const { changeType, oldSettings } = await updateShellConfig(configFile, content, opts); return { configFile: { path: configFile, changeType }, oldSettings, newSettings }; } function getConfigFilePath(shell) { switch (shell) { case "zsh": return path_1.default.join(process.env.ZDOTDIR || os_1.default.homedir(), `.${shell}rc`); case "dash": case "sh": { if (!process.env.ENV) { throw new error_1.PnpmError("NO_SHELL_CONFIG", `Cannot find a config file for ${shell}. The ENV environment variable is not set.`); } return process.env.ENV; } default: return path_1.default.join(os_1.default.homedir(), `.${shell}rc`); } } function createPathValue(position, dir) { return position === "start" ? `${dir}:$PATH` : `$PATH:${dir}`; } async function setupFishShell(dir, opts) { const configFile = path_1.default.join(os_1.default.homedir(), ".config/fish/config.fish"); let newSettings; const _createPathValue = createFishPathValue.bind(null, opts.position ?? "start"); if (opts.proxyVarName) { newSettings = `set -gx ${opts.proxyVarName} "${dir}" if not string match -q -- $${opts.proxyVarName} $PATH set -gx PATH ${_createPathValue(`$${opts.proxyVarName}`)} end`; } else { newSettings = `if not string match -q -- "${dir}" $PATH set -gx PATH ${_createPathValue(dir)} end`; } const content = wrapSettings(opts.configSectionName, newSettings); const { changeType, oldSettings } = await updateShellConfig(configFile, content, opts); return { configFile: { path: configFile, changeType }, oldSettings, newSettings }; } async function setupNuShell(dir, opts) { const configFile = path_1.default.join(os_1.default.homedir(), ".config/nushell/env.nu"); let newSettings; const addingCommand = (opts.position ?? "start") === "start" ? "prepend" : "append"; if (opts.proxyVarName) { newSettings = `$env.${opts.proxyVarName} = "${dir}" $env.PATH = ($env.PATH | split row (char esep) | ${addingCommand} $env.${opts.proxyVarName} )`; } else { newSettings = `$env.PATH = ($env.PATH | split row (char esep) | ${addingCommand} ${dir} )`; } const content = wrapSettings(opts.configSectionName, newSettings); const { changeType, oldSettings } = await updateShellConfig(configFile, content, opts); return { configFile: { path: configFile, changeType }, oldSettings, newSettings }; } function wrapSettings(sectionName, settings) { return `# ${sectionName} ${settings} # ${sectionName} end`; } function createFishPathValue(position, dir) { return position === "start" ? `"${dir}" $PATH` : `$PATH "${dir}"`; } async function updateShellConfig(configFile, newContent, opts) { if (!fs_1.default.existsSync(configFile)) { await fs_1.default.promises.mkdir(path_1.default.dirname(configFile), { recursive: true }); await fs_1.default.promises.writeFile(configFile, `${newContent} `, "utf8"); return { changeType: "created", oldSettings: "" }; } const configContent = await fs_1.default.promises.readFile(configFile, "utf8"); const match = new RegExp(`# ${opts.configSectionName} ([\\s\\S]*) # ${opts.configSectionName} end`, "g").exec(configContent); if (!match) { await fs_1.default.promises.appendFile(configFile, ` ${newContent} `, "utf8"); return { changeType: "appended", oldSettings: "" }; } const oldSettings = match[1]; if (match[0] !== newContent) { if (!opts.overwrite) { throw new BadShellSectionError({ configSectionName: opts.configSectionName, current: match[0], wanted: newContent, configFile }); } const newConfigContent = replaceSection(configContent, newContent, opts.configSectionName); await fs_1.default.promises.writeFile(configFile, newConfigContent, "utf8"); return { changeType: "modified", oldSettings }; } return { changeType: "skipped", oldSettings }; } function replaceSection(originalContent, newSection, sectionName) { return originalContent.replace(new RegExp(`# ${sectionName}[\\s\\S]*# ${sectionName} end`, "g"), newSection); } } }); // ../node_modules/.pnpm/@pnpm+os.env.path-extender-posix@2.1.0/node_modules/@pnpm/os.env.path-extender-posix/dist/index.js var require_dist27 = __commonJS({ "../node_modules/.pnpm/@pnpm+os.env.path-extender-posix@2.1.0/node_modules/@pnpm/os.env.path-extender-posix/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.addDirToPosixEnvPath = void 0; var path_extender_posix_1 = require_path_extender_posix(); Object.defineProperty(exports2, "addDirToPosixEnvPath", { enumerable: true, get: function() { return path_extender_posix_1.addDirToPosixEnvPath; } }); } }); // ../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js var require_es_object_atoms = __commonJS({ "../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js"(exports2, module2) { "use strict"; module2.exports = Object; } }); // ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js var require_es_errors = __commonJS({ "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exports2, module2) { "use strict"; module2.exports = Error; } }); // ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js var require_eval = __commonJS({ "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(exports2, module2) { "use strict"; module2.exports = EvalError; } }); // ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js var require_range4 = __commonJS({ "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exports2, module2) { "use strict"; module2.exports = RangeError; } }); // ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js var require_ref = __commonJS({ "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(exports2, module2) { "use strict"; module2.exports = ReferenceError; } }); // ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js var require_syntax = __commonJS({ "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(exports2, module2) { "use strict"; module2.exports = SyntaxError; } }); // ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js var require_type4 = __commonJS({ "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(exports2, module2) { "use strict"; module2.exports = TypeError; } }); // ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js var require_uri = __commonJS({ "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(exports2, module2) { "use strict"; module2.exports = URIError; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js var require_abs = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js"(exports2, module2) { "use strict"; module2.exports = Math.abs; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js var require_floor = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js"(exports2, module2) { "use strict"; module2.exports = Math.floor; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js var require_max3 = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js"(exports2, module2) { "use strict"; module2.exports = Math.max; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js var require_min3 = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js"(exports2, module2) { "use strict"; module2.exports = Math.min; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js var require_pow = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js"(exports2, module2) { "use strict"; module2.exports = Math.pow; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js var require_round = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js"(exports2, module2) { "use strict"; module2.exports = Math.round; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js var require_isNaN = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js"(exports2, module2) { "use strict"; module2.exports = Number.isNaN || function isNaN2(a) { return a !== a; }; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js var require_sign = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js"(exports2, module2) { "use strict"; var $isNaN = require_isNaN(); module2.exports = function sign(number) { if ($isNaN(number) || number === 0) { return number; } return number < 0 ? -1 : 1; }; } }); // ../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js var require_gOPD = __commonJS({ "../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports2, module2) { "use strict"; module2.exports = Object.getOwnPropertyDescriptor; } }); // ../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js var require_gopd = __commonJS({ "../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports2, module2) { "use strict"; var $gOPD = require_gOPD(); if ($gOPD) { try { $gOPD([], "length"); } catch (e) { $gOPD = null; } } module2.exports = $gOPD; } }); // ../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js var require_es_define_property = __commonJS({ "../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js"(exports2, module2) { "use strict"; var $defineProperty = Object.defineProperty || false; if ($defineProperty) { try { $defineProperty({}, "a", { value: 1 }); } catch (e) { $defineProperty = false; } } module2.exports = $defineProperty; } }); // ../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js var require_shams = __commonJS({ "../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"(exports2, module2) { "use strict"; module2.exports = function hasSymbols() { if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") { return false; } if (typeof Symbol.iterator === "symbol") { return true; } var obj = {}; var sym = Symbol("test"); var symObj = Object(sym); if (typeof sym === "string") { return false; } if (Object.prototype.toString.call(sym) !== "[object Symbol]") { return false; } if (Object.prototype.toString.call(symObj) !== "[object Symbol]") { return false; } var symVal = 42; obj[sym] = symVal; for (var _ in obj) { return false; } if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) { return false; } if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) { return false; } var syms = Object.getOwnPropertySymbols(obj); if (syms.length !== 1 || syms[0] !== sym) { return false; } if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } if (typeof Object.getOwnPropertyDescriptor === "function") { var descriptor = ( /** @type {PropertyDescriptor} */ Object.getOwnPropertyDescriptor(obj, sym) ); if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } } return true; }; } }); // ../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js var require_has_symbols = __commonJS({ "../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"(exports2, module2) { "use strict"; var origSymbol = typeof Symbol !== "undefined" && Symbol; var hasSymbolSham = require_shams(); module2.exports = function hasNativeSymbols() { if (typeof origSymbol !== "function") { return false; } if (typeof Symbol !== "function") { return false; } if (typeof origSymbol("foo") !== "symbol") { return false; } if (typeof Symbol("bar") !== "symbol") { return false; } return hasSymbolSham(); }; } }); // ../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js var require_Reflect_getPrototypeOf = __commonJS({ "../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js"(exports2, module2) { "use strict"; module2.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null; } }); // ../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js var require_Object_getPrototypeOf = __commonJS({ "../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js"(exports2, module2) { "use strict"; var $Object = require_es_object_atoms(); module2.exports = $Object.getPrototypeOf || null; } }); // ../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js var require_implementation2 = __commonJS({ "../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js"(exports2, module2) { "use strict"; var ERROR_MESSAGE = "Function.prototype.bind called on incompatible "; var toStr = Object.prototype.toString; var max = Math.max; var funcType = "[object Function]"; var concatty = function concatty2(a, b) { var arr = []; for (var i = 0; i < a.length; i += 1) { arr[i] = a[i]; } for (var j = 0; j < b.length; j += 1) { arr[j + a.length] = b[j]; } return arr; }; var slicy = function slicy2(arrLike, offset) { var arr = []; for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) { arr[j] = arrLike[i]; } return arr; }; var joiny = function(arr, joiner) { var str = ""; for (var i = 0; i < arr.length; i += 1) { str += arr[i]; if (i + 1 < arr.length) { str += joiner; } } return str; }; module2.exports = function bind(that) { var target = this; if (typeof target !== "function" || toStr.apply(target) !== funcType) { throw new TypeError(ERROR_MESSAGE + target); } var args = slicy(arguments, 1); var bound; var binder = function() { if (this instanceof bound) { var result2 = target.apply( this, concatty(args, arguments) ); if (Object(result2) === result2) { return result2; } return this; } return target.apply( that, concatty(args, arguments) ); }; var boundLength = max(0, target.length - args.length); var boundArgs = []; for (var i = 0; i < boundLength; i++) { boundArgs[i] = "$" + i; } bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder); if (target.prototype) { var Empty = function Empty2() { }; Empty.prototype = target.prototype; bound.prototype = new Empty(); Empty.prototype = null; } return bound; }; } }); // ../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js var require_function_bind = __commonJS({ "../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js"(exports2, module2) { "use strict"; var implementation = require_implementation2(); module2.exports = Function.prototype.bind || implementation; } }); // ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js var require_functionCall = __commonJS({ "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js"(exports2, module2) { "use strict"; module2.exports = Function.prototype.call; } }); // ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js var require_functionApply = __commonJS({ "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js"(exports2, module2) { "use strict"; module2.exports = Function.prototype.apply; } }); // ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js var require_reflectApply = __commonJS({ "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js"(exports2, module2) { "use strict"; module2.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply; } }); // ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js var require_actualApply = __commonJS({ "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js"(exports2, module2) { "use strict"; var bind = require_function_bind(); var $apply = require_functionApply(); var $call = require_functionCall(); var $reflectApply = require_reflectApply(); module2.exports = $reflectApply || bind.call($call, $apply); } }); // ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js var require_call_bind_apply_helpers = __commonJS({ "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js"(exports2, module2) { "use strict"; var bind = require_function_bind(); var $TypeError = require_type4(); var $call = require_functionCall(); var $actualApply = require_actualApply(); module2.exports = function callBindBasic(args) { if (args.length < 1 || typeof args[0] !== "function") { throw new $TypeError("a function is required"); } return $actualApply(bind, $call, args); }; } }); // ../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js var require_get4 = __commonJS({ "../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"(exports2, module2) { "use strict"; var callBind = require_call_bind_apply_helpers(); var gOPD = require_gopd(); var hasProtoAccessor; try { hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ [].__proto__ === Array.prototype; } catch (e) { if (!e || typeof e !== "object" || !("code" in e) || e.code !== "ERR_PROTO_ACCESS") { throw e; } } var desc = !!hasProtoAccessor && gOPD && gOPD( Object.prototype, /** @type {keyof typeof Object.prototype} */ "__proto__" ); var $Object = Object; var $getPrototypeOf = $Object.getPrototypeOf; module2.exports = desc && typeof desc.get === "function" ? callBind([desc.get]) : typeof $getPrototypeOf === "function" ? ( /** @type {import('./get')} */ function getDunder(value) { return $getPrototypeOf(value == null ? value : $Object(value)); } ) : false; } }); // ../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js var require_get_proto = __commonJS({ "../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exports2, module2) { "use strict"; var reflectGetProto = require_Reflect_getPrototypeOf(); var originalGetProto = require_Object_getPrototypeOf(); var getDunderProto = require_get4(); module2.exports = reflectGetProto ? function getProto(O) { return reflectGetProto(O); } : originalGetProto ? function getProto(O) { if (!O || typeof O !== "object" && typeof O !== "function") { throw new TypeError("getProto: not an object"); } return originalGetProto(O); } : getDunderProto ? function getProto(O) { return getDunderProto(O); } : null; } }); // ../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js var require_hasown = __commonJS({ "../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js"(exports2, module2) { "use strict"; var call = Function.prototype.call; var $hasOwn = Object.prototype.hasOwnProperty; var bind = require_function_bind(); module2.exports = bind.call(call, $hasOwn); } }); // ../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js var require_get_intrinsic = __commonJS({ "../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js"(exports2, module2) { "use strict"; var undefined2; var $Object = require_es_object_atoms(); var $Error = require_es_errors(); var $EvalError = require_eval(); var $RangeError = require_range4(); var $ReferenceError = require_ref(); var $SyntaxError = require_syntax(); var $TypeError = require_type4(); var $URIError = require_uri(); var abs = require_abs(); var floor = require_floor(); var max = require_max3(); var min = require_min3(); var pow = require_pow(); var round = require_round(); var sign = require_sign(); var $Function = Function; var getEvalledConstructor = function(expressionSyntax) { try { return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")(); } catch (e) { } }; var $gOPD = require_gopd(); var $defineProperty = require_es_define_property(); var throwTypeError = function() { throw new $TypeError(); }; var ThrowTypeError = $gOPD ? (function() { try { arguments.callee; return throwTypeError; } catch (calleeThrows) { try { return $gOPD(arguments, "callee").get; } catch (gOPDthrows) { return throwTypeError; } } })() : throwTypeError; var hasSymbols = require_has_symbols()(); var getProto = require_get_proto(); var $ObjectGPO = require_Object_getPrototypeOf(); var $ReflectGPO = require_Reflect_getPrototypeOf(); var $apply = require_functionApply(); var $call = require_functionCall(); var needsEval = {}; var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array); var INTRINSICS = { __proto__: null, "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError, "%Array%": Array, "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer, "%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2, "%AsyncFromSyncIteratorPrototype%": undefined2, "%AsyncFunction%": needsEval, "%AsyncGenerator%": needsEval, "%AsyncGeneratorFunction%": needsEval, "%AsyncIteratorPrototype%": needsEval, "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics, "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt, "%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array, "%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array, "%Boolean%": Boolean, "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView, "%Date%": Date, "%decodeURI%": decodeURI, "%decodeURIComponent%": decodeURIComponent, "%encodeURI%": encodeURI, "%encodeURIComponent%": encodeURIComponent, "%Error%": $Error, "%eval%": eval, // eslint-disable-line no-eval "%EvalError%": $EvalError, "%Float16Array%": typeof Float16Array === "undefined" ? undefined2 : Float16Array, "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array, "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array, "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry, "%Function%": $Function, "%GeneratorFunction%": needsEval, "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array, "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array, "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array, "%isFinite%": isFinite, "%isNaN%": isNaN, "%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2, "%JSON%": typeof JSON === "object" ? JSON : undefined2, "%Map%": typeof Map === "undefined" ? undefined2 : Map, "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()), "%Math%": Math, "%Number%": Number, "%Object%": $Object, "%Object.getOwnPropertyDescriptor%": $gOPD, "%parseFloat%": parseFloat, "%parseInt%": parseInt, "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise, "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy, "%RangeError%": $RangeError, "%ReferenceError%": $ReferenceError, "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect, "%RegExp%": RegExp, "%Set%": typeof Set === "undefined" ? undefined2 : Set, "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()), "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer, "%String%": String, "%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2, "%Symbol%": hasSymbols ? Symbol : undefined2, "%SyntaxError%": $SyntaxError, "%ThrowTypeError%": ThrowTypeError, "%TypedArray%": TypedArray, "%TypeError%": $TypeError, "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array, "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray, "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array, "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array, "%URIError%": $URIError, "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap, "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef, "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet, "%Function.prototype.call%": $call, "%Function.prototype.apply%": $apply, "%Object.defineProperty%": $defineProperty, "%Object.getPrototypeOf%": $ObjectGPO, "%Math.abs%": abs, "%Math.floor%": floor, "%Math.max%": max, "%Math.min%": min, "%Math.pow%": pow, "%Math.round%": round, "%Math.sign%": sign, "%Reflect.getPrototypeOf%": $ReflectGPO }; if (getProto) { try { null.error; } catch (e) { errorProto = getProto(getProto(e)); INTRINSICS["%Error.prototype%"] = errorProto; } } var errorProto; var doEval = function doEval2(name) { var value; if (name === "%AsyncFunction%") { value = getEvalledConstructor("async function () {}"); } else if (name === "%GeneratorFunction%") { value = getEvalledConstructor("function* () {}"); } else if (name === "%AsyncGeneratorFunction%") { value = getEvalledConstructor("async function* () {}"); } else if (name === "%AsyncGenerator%") { var fn = doEval2("%AsyncGeneratorFunction%"); if (fn) { value = fn.prototype; } } else if (name === "%AsyncIteratorPrototype%") { var gen = doEval2("%AsyncGenerator%"); if (gen && getProto) { value = getProto(gen.prototype); } } INTRINSICS[name] = value; return value; }; var LEGACY_ALIASES = { __proto__: null, "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"], "%ArrayPrototype%": ["Array", "prototype"], "%ArrayProto_entries%": ["Array", "prototype", "entries"], "%ArrayProto_forEach%": ["Array", "prototype", "forEach"], "%ArrayProto_keys%": ["Array", "prototype", "keys"], "%ArrayProto_values%": ["Array", "prototype", "values"], "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"], "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"], "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"], "%BooleanPrototype%": ["Boolean", "prototype"], "%DataViewPrototype%": ["DataView", "prototype"], "%DatePrototype%": ["Date", "prototype"], "%ErrorPrototype%": ["Error", "prototype"], "%EvalErrorPrototype%": ["EvalError", "prototype"], "%Float32ArrayPrototype%": ["Float32Array", "prototype"], "%Float64ArrayPrototype%": ["Float64Array", "prototype"], "%FunctionPrototype%": ["Function", "prototype"], "%Generator%": ["GeneratorFunction", "prototype"], "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"], "%Int8ArrayPrototype%": ["Int8Array", "prototype"], "%Int16ArrayPrototype%": ["Int16Array", "prototype"], "%Int32ArrayPrototype%": ["Int32Array", "prototype"], "%JSONParse%": ["JSON", "parse"], "%JSONStringify%": ["JSON", "stringify"], "%MapPrototype%": ["Map", "prototype"], "%NumberPrototype%": ["Number", "prototype"], "%ObjectPrototype%": ["Object", "prototype"], "%ObjProto_toString%": ["Object", "prototype", "toString"], "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"], "%PromisePrototype%": ["Promise", "prototype"], "%PromiseProto_then%": ["Promise", "prototype", "then"], "%Promise_all%": ["Promise", "all"], "%Promise_reject%": ["Promise", "reject"], "%Promise_resolve%": ["Promise", "resolve"], "%RangeErrorPrototype%": ["RangeError", "prototype"], "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"], "%RegExpPrototype%": ["RegExp", "prototype"], "%SetPrototype%": ["Set", "prototype"], "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"], "%StringPrototype%": ["String", "prototype"], "%SymbolPrototype%": ["Symbol", "prototype"], "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"], "%TypedArrayPrototype%": ["TypedArray", "prototype"], "%TypeErrorPrototype%": ["TypeError", "prototype"], "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"], "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"], "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"], "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"], "%URIErrorPrototype%": ["URIError", "prototype"], "%WeakMapPrototype%": ["WeakMap", "prototype"], "%WeakSetPrototype%": ["WeakSet", "prototype"] }; var bind = require_function_bind(); var hasOwn = require_hasown(); var $concat = bind.call($call, Array.prototype.concat); var $spliceApply = bind.call($apply, Array.prototype.splice); var $replace = bind.call($call, String.prototype.replace); var $strSlice = bind.call($call, String.prototype.slice); var $exec = bind.call($call, RegExp.prototype.exec); var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; var reEscapeChar = /\\(\\)?/g; var stringToPath = function stringToPath2(string) { var first = $strSlice(string, 0, 1); var last = $strSlice(string, -1); if (first === "%" && last !== "%") { throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`"); } else if (last === "%" && first !== "%") { throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`"); } var result2 = []; $replace(string, rePropName, function(match, number, quote, subString) { result2[result2.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match; }); return result2; }; var getBaseIntrinsic = function getBaseIntrinsic2(name, allowMissing) { var intrinsicName = name; var alias; if (hasOwn(LEGACY_ALIASES, intrinsicName)) { alias = LEGACY_ALIASES[intrinsicName]; intrinsicName = "%" + alias[0] + "%"; } if (hasOwn(INTRINSICS, intrinsicName)) { var value = INTRINSICS[intrinsicName]; if (value === needsEval) { value = doEval(intrinsicName); } if (typeof value === "undefined" && !allowMissing) { throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!"); } return { alias, name: intrinsicName, value }; } throw new $SyntaxError("intrinsic " + name + " does not exist!"); }; module2.exports = function GetIntrinsic(name, allowMissing) { if (typeof name !== "string" || name.length === 0) { throw new $TypeError("intrinsic name must be a non-empty string"); } if (arguments.length > 1 && typeof allowMissing !== "boolean") { throw new $TypeError('"allowMissing" argument must be a boolean'); } if ($exec(/^%?[^%]*%?$/, name) === null) { throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name"); } var parts = stringToPath(name); var intrinsicBaseName = parts.length > 0 ? parts[0] : ""; var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing); var intrinsicRealName = intrinsic.name; var value = intrinsic.value; var skipFurtherCaching = false; var alias = intrinsic.alias; if (alias) { intrinsicBaseName = alias[0]; $spliceApply(parts, $concat([0, 1], alias)); } for (var i = 1, isOwn = true; i < parts.length; i += 1) { var part = parts[i]; var first = $strSlice(part, 0, 1); var last = $strSlice(part, -1); if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) { throw new $SyntaxError("property names with quotes must have matching quotes"); } if (part === "constructor" || !isOwn) { skipFurtherCaching = true; } intrinsicBaseName += "." + part; intrinsicRealName = "%" + intrinsicBaseName + "%"; if (hasOwn(INTRINSICS, intrinsicRealName)) { value = INTRINSICS[intrinsicRealName]; } else if (value != null) { if (!(part in value)) { if (!allowMissing) { throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available."); } return void undefined2; } if ($gOPD && i + 1 >= parts.length) { var desc = $gOPD(value, part); isOwn = !!desc; if (isOwn && "get" in desc && !("originalValue" in desc.get)) { value = desc.get; } else { value = value[part]; } } else { isOwn = hasOwn(value, part); value = value[part]; } if (isOwn && !skipFurtherCaching) { INTRINSICS[intrinsicRealName] = value; } } } return value; }; } }); // ../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js var require_define_data_property = __commonJS({ "../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js"(exports2, module2) { "use strict"; var $defineProperty = require_es_define_property(); var $SyntaxError = require_syntax(); var $TypeError = require_type4(); var gopd = require_gopd(); module2.exports = function defineDataProperty(obj, property, value) { if (!obj || typeof obj !== "object" && typeof obj !== "function") { throw new $TypeError("`obj` must be an object or a function`"); } if (typeof property !== "string" && typeof property !== "symbol") { throw new $TypeError("`property` must be a string or a symbol`"); } if (arguments.length > 3 && typeof arguments[3] !== "boolean" && arguments[3] !== null) { throw new $TypeError("`nonEnumerable`, if provided, must be a boolean or null"); } if (arguments.length > 4 && typeof arguments[4] !== "boolean" && arguments[4] !== null) { throw new $TypeError("`nonWritable`, if provided, must be a boolean or null"); } if (arguments.length > 5 && typeof arguments[5] !== "boolean" && arguments[5] !== null) { throw new $TypeError("`nonConfigurable`, if provided, must be a boolean or null"); } if (arguments.length > 6 && typeof arguments[6] !== "boolean") { throw new $TypeError("`loose`, if provided, must be a boolean"); } var nonEnumerable = arguments.length > 3 ? arguments[3] : null; var nonWritable = arguments.length > 4 ? arguments[4] : null; var nonConfigurable = arguments.length > 5 ? arguments[5] : null; var loose = arguments.length > 6 ? arguments[6] : false; var desc = !!gopd && gopd(obj, property); if ($defineProperty) { $defineProperty(obj, property, { configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable, enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable, value, writable: nonWritable === null && desc ? desc.writable : !nonWritable }); } else if (loose || !nonEnumerable && !nonWritable && !nonConfigurable) { obj[property] = value; } else { throw new $SyntaxError("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable."); } }; } }); // ../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js var require_has_property_descriptors = __commonJS({ "../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js"(exports2, module2) { "use strict"; var $defineProperty = require_es_define_property(); var hasPropertyDescriptors = function hasPropertyDescriptors2() { return !!$defineProperty; }; hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() { if (!$defineProperty) { return null; } try { return $defineProperty([], "length", { value: 1 }).length !== 1; } catch (e) { return true; } }; module2.exports = hasPropertyDescriptors; } }); // ../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js var require_set_function_length = __commonJS({ "../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var define2 = require_define_data_property(); var hasDescriptors = require_has_property_descriptors()(); var gOPD = require_gopd(); var $TypeError = require_type4(); var $floor = GetIntrinsic("%Math.floor%"); module2.exports = function setFunctionLength(fn, length) { if (typeof fn !== "function") { throw new $TypeError("`fn` is not a function"); } if (typeof length !== "number" || length < 0 || length > 4294967295 || $floor(length) !== length) { throw new $TypeError("`length` must be a positive 32-bit integer"); } var loose = arguments.length > 2 && !!arguments[2]; var functionLengthIsConfigurable = true; var functionLengthIsWritable = true; if ("length" in fn && gOPD) { var desc = gOPD(fn, "length"); if (desc && !desc.configurable) { functionLengthIsConfigurable = false; } if (desc && !desc.writable) { functionLengthIsWritable = false; } } if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) { if (hasDescriptors) { define2( /** @type {Parameters[0]} */ fn, "length", length, true, true ); } else { define2( /** @type {Parameters[0]} */ fn, "length", length ); } } return fn; }; } }); // ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js var require_applyBind = __commonJS({ "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js"(exports2, module2) { "use strict"; var bind = require_function_bind(); var $apply = require_functionApply(); var actualApply = require_actualApply(); module2.exports = function applyBind() { return actualApply(bind, $apply, arguments); }; } }); // ../node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js var require_call_bind = __commonJS({ "../node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js"(exports2, module2) { "use strict"; var setFunctionLength = require_set_function_length(); var $defineProperty = require_es_define_property(); var callBindBasic = require_call_bind_apply_helpers(); var applyBind = require_applyBind(); module2.exports = function callBind(originalFunction) { var func = callBindBasic(arguments); var adjustedLength = originalFunction.length - (arguments.length - 1); return setFunctionLength( func, 1 + (adjustedLength > 0 ? adjustedLength : 0), true ); }; if ($defineProperty) { $defineProperty(module2.exports, "apply", { value: applyBind }); } else { module2.exports.apply = applyBind; } } }); // ../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/isArguments.js var require_isArguments3 = __commonJS({ "../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/isArguments.js"(exports2, module2) { "use strict"; var toStr = Object.prototype.toString; module2.exports = function isArguments(value) { var str = toStr.call(value); var isArgs = str === "[object Arguments]"; if (!isArgs) { isArgs = str !== "[object Array]" && value !== null && typeof value === "object" && typeof value.length === "number" && value.length >= 0 && toStr.call(value.callee) === "[object Function]"; } return isArgs; }; } }); // ../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/implementation.js var require_implementation3 = __commonJS({ "../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/implementation.js"(exports2, module2) { "use strict"; var keysShim; if (!Object.keys) { has = Object.prototype.hasOwnProperty; toStr = Object.prototype.toString; isArgs = require_isArguments3(); isEnumerable = Object.prototype.propertyIsEnumerable; hasDontEnumBug = !isEnumerable.call({ toString: null }, "toString"); hasProtoEnumBug = isEnumerable.call(function() { }, "prototype"); dontEnums = [ "toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "constructor" ]; equalsConstructorPrototype = function(o) { var ctor = o.constructor; return ctor && ctor.prototype === o; }; excludedKeys = { $applicationCache: true, $console: true, $external: true, $frame: true, $frameElement: true, $frames: true, $innerHeight: true, $innerWidth: true, $onmozfullscreenchange: true, $onmozfullscreenerror: true, $outerHeight: true, $outerWidth: true, $pageXOffset: true, $pageYOffset: true, $parent: true, $scrollLeft: true, $scrollTop: true, $scrollX: true, $scrollY: true, $self: true, $webkitIndexedDB: true, $webkitStorageInfo: true, $window: true }; hasAutomationEqualityBug = (function() { if (typeof window === "undefined") { return false; } for (var k in window) { try { if (!excludedKeys["$" + k] && has.call(window, k) && window[k] !== null && typeof window[k] === "object") { try { equalsConstructorPrototype(window[k]); } catch (e) { return true; } } } catch (e) { return true; } } return false; })(); equalsConstructorPrototypeIfNotBuggy = function(o) { if (typeof window === "undefined" || !hasAutomationEqualityBug) { return equalsConstructorPrototype(o); } try { return equalsConstructorPrototype(o); } catch (e) { return false; } }; keysShim = function keys(object) { var isObject = object !== null && typeof object === "object"; var isFunction = toStr.call(object) === "[object Function]"; var isArguments = isArgs(object); var isString = isObject && toStr.call(object) === "[object String]"; var theKeys = []; if (!isObject && !isFunction && !isArguments) { throw new TypeError("Object.keys called on a non-object"); } var skipProto = hasProtoEnumBug && isFunction; if (isString && object.length > 0 && !has.call(object, 0)) { for (var i = 0; i < object.length; ++i) { theKeys.push(String(i)); } } if (isArguments && object.length > 0) { for (var j = 0; j < object.length; ++j) { theKeys.push(String(j)); } } else { for (var name in object) { if (!(skipProto && name === "prototype") && has.call(object, name)) { theKeys.push(String(name)); } } } if (hasDontEnumBug) { var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); for (var k = 0; k < dontEnums.length; ++k) { if (!(skipConstructor && dontEnums[k] === "constructor") && has.call(object, dontEnums[k])) { theKeys.push(dontEnums[k]); } } } return theKeys; }; } var has; var toStr; var isArgs; var isEnumerable; var hasDontEnumBug; var hasProtoEnumBug; var dontEnums; var equalsConstructorPrototype; var excludedKeys; var hasAutomationEqualityBug; var equalsConstructorPrototypeIfNotBuggy; module2.exports = keysShim; } }); // ../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/index.js var require_object_keys = __commonJS({ "../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/index.js"(exports2, module2) { "use strict"; var slice = Array.prototype.slice; var isArgs = require_isArguments3(); var origKeys = Object.keys; var keysShim = origKeys ? function keys(o) { return origKeys(o); } : require_implementation3(); var originalKeys = Object.keys; keysShim.shim = function shimObjectKeys() { if (Object.keys) { var keysWorksWithArguments = (function() { var args = Object.keys(arguments); return args && args.length === arguments.length; })(1, 2); if (!keysWorksWithArguments) { Object.keys = function keys(object) { if (isArgs(object)) { return originalKeys(slice.call(object)); } return originalKeys(object); }; } } else { Object.keys = keysShim; } return Object.keys || keysShim; }; module2.exports = keysShim; } }); // ../node_modules/.pnpm/define-properties@1.2.1/node_modules/define-properties/index.js var require_define_properties = __commonJS({ "../node_modules/.pnpm/define-properties@1.2.1/node_modules/define-properties/index.js"(exports2, module2) { "use strict"; var keys = require_object_keys(); var hasSymbols = typeof Symbol === "function" && typeof Symbol("foo") === "symbol"; var toStr = Object.prototype.toString; var concat = Array.prototype.concat; var defineDataProperty = require_define_data_property(); var isFunction = function(fn) { return typeof fn === "function" && toStr.call(fn) === "[object Function]"; }; var supportsDescriptors = require_has_property_descriptors()(); var defineProperty = function(object, name, value, predicate) { if (name in object) { if (predicate === true) { if (object[name] === value) { return; } } else if (!isFunction(predicate) || !predicate()) { return; } } if (supportsDescriptors) { defineDataProperty(object, name, value, true); } else { defineDataProperty(object, name, value); } }; var defineProperties = function(object, map) { var predicates = arguments.length > 2 ? arguments[2] : {}; var props = keys(map); if (hasSymbols) { props = concat.call(props, Object.getOwnPropertySymbols(map)); } for (var i = 0; i < props.length; i += 1) { defineProperty(object, props[i], map[props[i]], predicates[props[i]]); } }; defineProperties.supportsDescriptors = !!supportsDescriptors; module2.exports = defineProperties; } }); // ../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js var require_call_bound = __commonJS({ "../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var callBindBasic = require_call_bind_apply_helpers(); var $indexOf = callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]); module2.exports = function callBoundIntrinsic(name, allowMissing) { var intrinsic = ( /** @type {(this: unknown, ...args: unknown[]) => unknown} */ GetIntrinsic(name, !!allowMissing) ); if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) { return callBindBasic( /** @type {const} */ [intrinsic] ); } return intrinsic; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/IsArray.js var require_IsArray = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/IsArray.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $Array = GetIntrinsic("%Array%"); var toStr = !$Array.isArray && require_call_bound()("Object.prototype.toString"); module2.exports = $Array.isArray || function IsArray(argument) { return toStr(argument) === "[object Array]"; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsArray.js var require_IsArray2 = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsArray.js"(exports2, module2) { "use strict"; module2.exports = require_IsArray(); } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/Call.js var require_Call = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/Call.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var callBound = require_call_bound(); var $TypeError = require_type4(); var IsArray = require_IsArray2(); var $apply = GetIntrinsic("%Reflect.apply%", true) || callBound("Function.prototype.apply"); module2.exports = function Call(F, V) { var argumentsList = arguments.length > 2 ? arguments[2] : []; if (!IsArray(argumentsList)) { throw new $TypeError("Assertion failed: optional `argumentsList`, if provided, must be a List"); } return $apply(F, V, argumentsList); }; } }); // ../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js var require_util_inspect = __commonJS({ "../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js"(exports2, module2) { module2.exports = require("util").inspect; } }); // ../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js var require_object_inspect = __commonJS({ "../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js"(exports2, module2) { var hasMap = typeof Map === "function" && Map.prototype; var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null; var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null; var mapForEach = hasMap && Map.prototype.forEach; var hasSet = typeof Set === "function" && Set.prototype; var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null; var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null; var setForEach = hasSet && Set.prototype.forEach; var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype; var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype; var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype; var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; var booleanValueOf = Boolean.prototype.valueOf; var objectToString = Object.prototype.toString; var functionToString = Function.prototype.toString; var $match = String.prototype.match; var $slice = String.prototype.slice; var $replace = String.prototype.replace; var $toUpperCase = String.prototype.toUpperCase; var $toLowerCase = String.prototype.toLowerCase; var $test = RegExp.prototype.test; var $concat = Array.prototype.concat; var $join = Array.prototype.join; var $arrSlice = Array.prototype.slice; var $floor = Math.floor; var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null; var gOPS = Object.getOwnPropertySymbols; var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null; var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object"; var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null; var isEnumerable = Object.prototype.propertyIsEnumerable; var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) { return O.__proto__; } : null); function addNumericSeparator(num, str) { if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) { return str; } var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; if (typeof num === "number") { var int = num < 0 ? -$floor(-num) : $floor(num); if (int !== num) { var intStr = String(int); var dec = $slice.call(str, intStr.length + 1); return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, ""); } } return $replace.call(str, sepRegex, "$&_"); } var utilInspect = require_util_inspect(); var inspectCustom = utilInspect.custom; var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; var quotes = { __proto__: null, "double": '"', single: "'" }; var quoteREs = { __proto__: null, "double": /(["\\])/g, single: /(['\\])/g }; module2.exports = function inspect_(obj, options, depth, seen) { var opts = options || {}; if (has(opts, "quoteStyle") && !has(quotes, opts.quoteStyle)) { throw new TypeError('option "quoteStyle" must be "single" or "double"'); } if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) { throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); } var customInspect = has(opts, "customInspect") ? opts.customInspect : true; if (typeof customInspect !== "boolean" && customInspect !== "symbol") { throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`"); } if (has(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) { throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); } if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") { throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); } var numericSeparator = opts.numericSeparator; if (typeof obj === "undefined") { return "undefined"; } if (obj === null) { return "null"; } if (typeof obj === "boolean") { return obj ? "true" : "false"; } if (typeof obj === "string") { return inspectString(obj, opts); } if (typeof obj === "number") { if (obj === 0) { return Infinity / obj > 0 ? "0" : "-0"; } var str = String(obj); return numericSeparator ? addNumericSeparator(obj, str) : str; } if (typeof obj === "bigint") { var bigIntStr = String(obj) + "n"; return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; } var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth; if (typeof depth === "undefined") { depth = 0; } if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") { return isArray(obj) ? "[Array]" : "[Object]"; } var indent = getIndent(opts, depth); if (typeof seen === "undefined") { seen = []; } else if (indexOf(seen, obj) >= 0) { return "[Circular]"; } function inspect(value, from, noIndent) { if (from) { seen = $arrSlice.call(seen); seen.push(from); } if (noIndent) { var newOpts = { depth: opts.depth }; if (has(opts, "quoteStyle")) { newOpts.quoteStyle = opts.quoteStyle; } return inspect_(value, newOpts, depth + 1, seen); } return inspect_(value, opts, depth + 1, seen); } if (typeof obj === "function" && !isRegExp(obj)) { var name = nameOf(obj); var keys = arrObjKeys(obj, inspect); return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : ""); } if (isSymbol(obj)) { var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj); return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString; } if (isElement(obj)) { var s = "<" + $toLowerCase.call(String(obj.nodeName)); var attrs = obj.attributes || []; for (var i = 0; i < attrs.length; i++) { s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts); } s += ">"; if (obj.childNodes && obj.childNodes.length) { s += "..."; } s += "" + $toLowerCase.call(String(obj.nodeName)) + ">"; return s; } if (isArray(obj)) { if (obj.length === 0) { return "[]"; } var xs = arrObjKeys(obj, inspect); if (indent && !singleLineValues(xs)) { return "[" + indentedJoin(xs, indent) + "]"; } return "[ " + $join.call(xs, ", ") + " ]"; } if (isError(obj)) { var parts = arrObjKeys(obj, inspect); if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) { return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }"; } if (parts.length === 0) { return "[" + String(obj) + "]"; } return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }"; } if (typeof obj === "object" && customInspect) { if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) { return utilInspect(obj, { depth: maxDepth - depth }); } else if (customInspect !== "symbol" && typeof obj.inspect === "function") { return obj.inspect(); } } if (isMap(obj)) { var mapParts = []; if (mapForEach) { mapForEach.call(obj, function(value, key) { mapParts.push(inspect(key, obj, true) + " => " + inspect(value, obj)); }); } return collectionOf("Map", mapSize.call(obj), mapParts, indent); } if (isSet(obj)) { var setParts = []; if (setForEach) { setForEach.call(obj, function(value) { setParts.push(inspect(value, obj)); }); } return collectionOf("Set", setSize.call(obj), setParts, indent); } if (isWeakMap(obj)) { return weakCollectionOf("WeakMap"); } if (isWeakSet(obj)) { return weakCollectionOf("WeakSet"); } if (isWeakRef(obj)) { return weakCollectionOf("WeakRef"); } if (isNumber(obj)) { return markBoxed(inspect(Number(obj))); } if (isBigInt(obj)) { return markBoxed(inspect(bigIntValueOf.call(obj))); } if (isBoolean(obj)) { return markBoxed(booleanValueOf.call(obj)); } if (isString(obj)) { return markBoxed(inspect(String(obj))); } if (typeof window !== "undefined" && obj === window) { return "{ [object Window] }"; } if (typeof globalThis !== "undefined" && obj === globalThis || typeof global !== "undefined" && obj === global) { return "{ [object globalThis] }"; } if (!isDate(obj) && !isRegExp(obj)) { var ys = arrObjKeys(obj, inspect); var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; var protoTag = obj instanceof Object ? "" : "null prototype"; var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : ""; var constructorTag = isPlainObject || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : ""; var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : ""); if (ys.length === 0) { return tag + "{}"; } if (indent) { return tag + "{" + indentedJoin(ys, indent) + "}"; } return tag + "{ " + $join.call(ys, ", ") + " }"; } return String(obj); }; function wrapQuotes(s, defaultStyle, opts) { var style = opts.quoteStyle || defaultStyle; var quoteChar = quotes[style]; return quoteChar + s + quoteChar; } function quote(s) { return $replace.call(String(s), /"/g, """); } function canTrustToString(obj) { return !toStringTag || !(typeof obj === "object" && (toStringTag in obj || typeof obj[toStringTag] !== "undefined")); } function isArray(obj) { return toStr(obj) === "[object Array]" && canTrustToString(obj); } function isDate(obj) { return toStr(obj) === "[object Date]" && canTrustToString(obj); } function isRegExp(obj) { return toStr(obj) === "[object RegExp]" && canTrustToString(obj); } function isError(obj) { return toStr(obj) === "[object Error]" && canTrustToString(obj); } function isString(obj) { return toStr(obj) === "[object String]" && canTrustToString(obj); } function isNumber(obj) { return toStr(obj) === "[object Number]" && canTrustToString(obj); } function isBoolean(obj) { return toStr(obj) === "[object Boolean]" && canTrustToString(obj); } function isSymbol(obj) { if (hasShammedSymbols) { return obj && typeof obj === "object" && obj instanceof Symbol; } if (typeof obj === "symbol") { return true; } if (!obj || typeof obj !== "object" || !symToString) { return false; } try { symToString.call(obj); return true; } catch (e) { } return false; } function isBigInt(obj) { if (!obj || typeof obj !== "object" || !bigIntValueOf) { return false; } try { bigIntValueOf.call(obj); return true; } catch (e) { } return false; } var hasOwn = Object.prototype.hasOwnProperty || function(key) { return key in this; }; function has(obj, key) { return hasOwn.call(obj, key); } function toStr(obj) { return objectToString.call(obj); } function nameOf(f) { if (f.name) { return f.name; } var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); if (m) { return m[1]; } return null; } function indexOf(xs, x) { if (xs.indexOf) { return xs.indexOf(x); } for (var i = 0, l = xs.length; i < l; i++) { if (xs[i] === x) { return i; } } return -1; } function isMap(x) { if (!mapSize || !x || typeof x !== "object") { return false; } try { mapSize.call(x); try { setSize.call(x); } catch (s) { return true; } return x instanceof Map; } catch (e) { } return false; } function isWeakMap(x) { if (!weakMapHas || !x || typeof x !== "object") { return false; } try { weakMapHas.call(x, weakMapHas); try { weakSetHas.call(x, weakSetHas); } catch (s) { return true; } return x instanceof WeakMap; } catch (e) { } return false; } function isWeakRef(x) { if (!weakRefDeref || !x || typeof x !== "object") { return false; } try { weakRefDeref.call(x); return true; } catch (e) { } return false; } function isSet(x) { if (!setSize || !x || typeof x !== "object") { return false; } try { setSize.call(x); try { mapSize.call(x); } catch (m) { return true; } return x instanceof Set; } catch (e) { } return false; } function isWeakSet(x) { if (!weakSetHas || !x || typeof x !== "object") { return false; } try { weakSetHas.call(x, weakSetHas); try { weakMapHas.call(x, weakMapHas); } catch (s) { return true; } return x instanceof WeakSet; } catch (e) { } return false; } function isElement(x) { if (!x || typeof x !== "object") { return false; } if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) { return true; } return typeof x.nodeName === "string" && typeof x.getAttribute === "function"; } function inspectString(str, opts) { if (str.length > opts.maxStringLength) { var remaining = str.length - opts.maxStringLength; var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : ""); return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; } var quoteRE = quoteREs[opts.quoteStyle || "single"]; quoteRE.lastIndex = 0; var s = $replace.call($replace.call(str, quoteRE, "\\$1"), /[\x00-\x1f]/g, lowbyte); return wrapQuotes(s, "single", opts); } function lowbyte(c) { var n = c.charCodeAt(0); var x = { 8: "b", 9: "t", 10: "n", 12: "f", 13: "r" }[n]; if (x) { return "\\" + x; } return "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16)); } function markBoxed(str) { return "Object(" + str + ")"; } function weakCollectionOf(type) { return type + " { ? }"; } function collectionOf(type, size, entries, indent) { var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", "); return type + " (" + size + ") {" + joinedEntries + "}"; } function singleLineValues(xs) { for (var i = 0; i < xs.length; i++) { if (indexOf(xs[i], "\n") >= 0) { return false; } } return true; } function getIndent(opts, depth) { var baseIndent; if (opts.indent === " ") { baseIndent = " "; } else if (typeof opts.indent === "number" && opts.indent > 0) { baseIndent = $join.call(Array(opts.indent + 1), " "); } else { return null; } return { base: baseIndent, prev: $join.call(Array(depth + 1), baseIndent) }; } function indentedJoin(xs, indent) { if (xs.length === 0) { return ""; } var lineJoiner = "\n" + indent.prev + indent.base; return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev; } function arrObjKeys(obj, inspect) { var isArr = isArray(obj); var xs = []; if (isArr) { xs.length = obj.length; for (var i = 0; i < obj.length; i++) { xs[i] = has(obj, i) ? inspect(obj[i], obj) : ""; } } var syms = typeof gOPS === "function" ? gOPS(obj) : []; var symMap; if (hasShammedSymbols) { symMap = {}; for (var k = 0; k < syms.length; k++) { symMap["$" + syms[k]] = syms[k]; } } for (var key in obj) { if (!has(obj, key)) { continue; } if (isArr && String(Number(key)) === key && key < obj.length) { continue; } if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) { continue; } else if ($test.call(/[^\w$]/, key)) { xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj)); } else { xs.push(key + ": " + inspect(obj[key], obj)); } } if (typeof gOPS === "function") { for (var j = 0; j < syms.length; j++) { if (isEnumerable.call(obj, syms[j])) { xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj)); } } } return xs; } } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/isPropertyKey.js var require_isPropertyKey = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/isPropertyKey.js"(exports2, module2) { "use strict"; module2.exports = function isPropertyKey(argument) { return typeof argument === "string" || typeof argument === "symbol"; }; } }); // ../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/isObject.js var require_isObject3 = __commonJS({ "../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/isObject.js"(exports2, module2) { "use strict"; module2.exports = function isObject(x) { return !!x && (typeof x === "function" || typeof x === "object"); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/Get.js var require_Get = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/Get.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var inspect = require_object_inspect(); var isPropertyKey = require_isPropertyKey(); var isObject = require_isObject3(); module2.exports = function Get(O, P) { if (!isObject(O)) { throw new $TypeError("Assertion failed: Type(O) is not Object"); } if (!isPropertyKey(P)) { throw new $TypeError("Assertion failed: P is not a Property Key, got " + inspect(P)); } return O[P]; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/GetV.js var require_GetV = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/GetV.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var inspect = require_object_inspect(); var isPropertyKey = require_isPropertyKey(); module2.exports = function GetV(V, P) { if (!isPropertyKey(P)) { throw new $TypeError("Assertion failed: P is not a Property Key, got " + inspect(P)); } return V[P]; }; } }); // ../node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js var require_is_callable = __commonJS({ "../node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js"(exports2, module2) { "use strict"; var fnToStr = Function.prototype.toString; var reflectApply = typeof Reflect === "object" && Reflect !== null && Reflect.apply; var badArrayLike; var isCallableMarker; if (typeof reflectApply === "function" && typeof Object.defineProperty === "function") { try { badArrayLike = Object.defineProperty({}, "length", { get: function() { throw isCallableMarker; } }); isCallableMarker = {}; reflectApply(function() { throw 42; }, null, badArrayLike); } catch (_) { if (_ !== isCallableMarker) { reflectApply = null; } } } else { reflectApply = null; } var constructorRegex = /^\s*class\b/; var isES6ClassFn = function isES6ClassFunction(value) { try { var fnStr = fnToStr.call(value); return constructorRegex.test(fnStr); } catch (e) { return false; } }; var tryFunctionObject = function tryFunctionToStr(value) { try { if (isES6ClassFn(value)) { return false; } fnToStr.call(value); return true; } catch (e) { return false; } }; var toStr = Object.prototype.toString; var objectClass = "[object Object]"; var fnClass = "[object Function]"; var genClass = "[object GeneratorFunction]"; var ddaClass = "[object HTMLAllCollection]"; var ddaClass2 = "[object HTML document.all class]"; var ddaClass3 = "[object HTMLCollection]"; var hasToStringTag = typeof Symbol === "function" && !!Symbol.toStringTag; var isIE68 = !(0 in [,]); var isDDA = function isDocumentDotAll() { return false; }; if (typeof document === "object") { all = document.all; if (toStr.call(all) === toStr.call(document.all)) { isDDA = function isDocumentDotAll(value) { if ((isIE68 || !value) && (typeof value === "undefined" || typeof value === "object")) { try { var str = toStr.call(value); return (str === ddaClass || str === ddaClass2 || str === ddaClass3 || str === objectClass) && value("") == null; } catch (e) { } } return false; }; } } var all; module2.exports = reflectApply ? function isCallable(value) { if (isDDA(value)) { return true; } if (!value) { return false; } if (typeof value !== "function" && typeof value !== "object") { return false; } try { reflectApply(value, null, badArrayLike); } catch (e) { if (e !== isCallableMarker) { return false; } } return !isES6ClassFn(value) && tryFunctionObject(value); } : function isCallable(value) { if (isDDA(value)) { return true; } if (!value) { return false; } if (typeof value !== "function" && typeof value !== "object") { return false; } if (hasToStringTag) { return tryFunctionObject(value); } if (isES6ClassFn(value)) { return false; } var strClass = toStr.call(value); if (strClass !== fnClass && strClass !== genClass && !/^\[object HTML/.test(strClass)) { return false; } return tryFunctionObject(value); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsCallable.js var require_IsCallable = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsCallable.js"(exports2, module2) { "use strict"; module2.exports = require_is_callable(); } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/GetMethod.js var require_GetMethod = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/GetMethod.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var GetV = require_GetV(); var IsCallable = require_IsCallable(); var isPropertyKey = require_isPropertyKey(); var inspect = require_object_inspect(); module2.exports = function GetMethod(O, P) { if (!isPropertyKey(P)) { throw new $TypeError("Assertion failed: P is not a Property Key"); } var func = GetV(O, P); if (func == null) { return void 0; } if (!IsCallable(func)) { throw new $TypeError(inspect(P) + " is not a function: " + inspect(func)); } return func; }; } }); // ../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js var require_shams2 = __commonJS({ "../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js"(exports2, module2) { "use strict"; var hasSymbols = require_shams(); module2.exports = function hasToStringTagShams() { return hasSymbols() && !!Symbol.toStringTag; }; } }); // ../node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js var require_is_regex = __commonJS({ "../node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js"(exports2, module2) { "use strict"; var callBound = require_call_bound(); var hasToStringTag = require_shams2()(); var hasOwn = require_hasown(); var gOPD = require_gopd(); var fn; if (hasToStringTag) { $exec = callBound("RegExp.prototype.exec"); isRegexMarker = {}; throwRegexMarker = function() { throw isRegexMarker; }; badStringifier = { toString: throwRegexMarker, valueOf: throwRegexMarker }; if (typeof Symbol.toPrimitive === "symbol") { badStringifier[Symbol.toPrimitive] = throwRegexMarker; } fn = function isRegex(value) { if (!value || typeof value !== "object") { return false; } var descriptor = ( /** @type {NonNullable} */ gOPD( /** @type {{ lastIndex?: unknown }} */ value, "lastIndex" ) ); var hasLastIndexDataProperty = descriptor && hasOwn(descriptor, "value"); if (!hasLastIndexDataProperty) { return false; } try { $exec( value, /** @type {string} */ /** @type {unknown} */ badStringifier ); } catch (e) { return e === isRegexMarker; } }; } else { $toString = callBound("Object.prototype.toString"); regexClass = "[object RegExp]"; fn = function isRegex(value) { if (!value || typeof value !== "object" && typeof value !== "function") { return false; } return $toString(value) === regexClass; }; } var $exec; var isRegexMarker; var throwRegexMarker; var badStringifier; var $toString; var regexClass; module2.exports = fn; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToBoolean.js var require_ToBoolean = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToBoolean.js"(exports2, module2) { "use strict"; module2.exports = function ToBoolean(value) { return !!value; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsRegExp.js var require_IsRegExp = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsRegExp.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $match = GetIntrinsic("%Symbol.match%", true); var hasRegExpMatcher = require_is_regex(); var isObject = require_isObject3(); var ToBoolean = require_ToBoolean(); module2.exports = function IsRegExp(argument) { if (!isObject(argument)) { return false; } if ($match) { var isRegExp = argument[$match]; if (typeof isRegExp !== "undefined") { return ToBoolean(isRegExp); } } return hasRegExpMatcher(argument); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToString.js var require_ToString = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToString.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $String = GetIntrinsic("%String%"); var $TypeError = require_type4(); module2.exports = function ToString(argument) { if (typeof argument === "symbol") { throw new $TypeError("Cannot convert a Symbol value to a string"); } return $String(argument); }; } }); // ../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/RequireObjectCoercible.js var require_RequireObjectCoercible = __commonJS({ "../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/RequireObjectCoercible.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); module2.exports = function RequireObjectCoercible(value) { if (value == null) { throw new $TypeError(arguments.length > 0 && arguments[1] || "Cannot call method on " + value); } return value; }; } }); // ../node_modules/.pnpm/functions-have-names@1.2.3/node_modules/functions-have-names/index.js var require_functions_have_names = __commonJS({ "../node_modules/.pnpm/functions-have-names@1.2.3/node_modules/functions-have-names/index.js"(exports2, module2) { "use strict"; var functionsHaveNames = function functionsHaveNames2() { return typeof function f() { }.name === "string"; }; var gOPD = Object.getOwnPropertyDescriptor; if (gOPD) { try { gOPD([], "length"); } catch (e) { gOPD = null; } } functionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() { if (!functionsHaveNames() || !gOPD) { return false; } var desc = gOPD(function() { }, "name"); return !!desc && !!desc.configurable; }; var $bind = Function.prototype.bind; functionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() { return functionsHaveNames() && typeof $bind === "function" && function f() { }.bind().name !== ""; }; module2.exports = functionsHaveNames; } }); // ../node_modules/.pnpm/set-function-name@2.0.2/node_modules/set-function-name/index.js var require_set_function_name = __commonJS({ "../node_modules/.pnpm/set-function-name@2.0.2/node_modules/set-function-name/index.js"(exports2, module2) { "use strict"; var define2 = require_define_data_property(); var hasDescriptors = require_has_property_descriptors()(); var functionsHaveConfigurableNames = require_functions_have_names().functionsHaveConfigurableNames(); var $TypeError = require_type4(); module2.exports = function setFunctionName(fn, name) { if (typeof fn !== "function") { throw new $TypeError("`fn` is not a function"); } var loose = arguments.length > 2 && !!arguments[2]; if (!loose || functionsHaveConfigurableNames) { if (hasDescriptors) { define2( /** @type {Parameters[0]} */ fn, "name", name, true, true ); } else { define2( /** @type {Parameters[0]} */ fn, "name", name ); } } return fn; }; } }); // ../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/implementation.js var require_implementation4 = __commonJS({ "../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/implementation.js"(exports2, module2) { "use strict"; var setFunctionName = require_set_function_name(); var $TypeError = require_type4(); var $Object = Object; module2.exports = setFunctionName(function flags() { if (this == null || this !== $Object(this)) { throw new $TypeError("RegExp.prototype.flags getter called on non-object"); } var result2 = ""; if (this.hasIndices) { result2 += "d"; } if (this.global) { result2 += "g"; } if (this.ignoreCase) { result2 += "i"; } if (this.multiline) { result2 += "m"; } if (this.dotAll) { result2 += "s"; } if (this.unicode) { result2 += "u"; } if (this.unicodeSets) { result2 += "v"; } if (this.sticky) { result2 += "y"; } return result2; }, "get flags", true); } }); // ../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/polyfill.js var require_polyfill = __commonJS({ "../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/polyfill.js"(exports2, module2) { "use strict"; var implementation = require_implementation4(); var supportsDescriptors = require_define_properties().supportsDescriptors; var $gOPD = Object.getOwnPropertyDescriptor; module2.exports = function getPolyfill() { if (supportsDescriptors && /a/mig.flags === "gim") { var descriptor = $gOPD(RegExp.prototype, "flags"); if (descriptor && typeof descriptor.get === "function" && "dotAll" in RegExp.prototype && "hasIndices" in RegExp.prototype) { var calls = ""; var o = {}; Object.defineProperty(o, "hasIndices", { get: function() { calls += "d"; } }); Object.defineProperty(o, "sticky", { get: function() { calls += "y"; } }); descriptor.get.call(o); if (calls === "dy") { return descriptor.get; } } } return implementation; }; } }); // ../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/shim.js var require_shim = __commonJS({ "../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/shim.js"(exports2, module2) { "use strict"; var supportsDescriptors = require_define_properties().supportsDescriptors; var getPolyfill = require_polyfill(); var gOPD = require_gopd(); var defineProperty = Object.defineProperty; var $TypeError = require_es_errors(); var getProto = require_get_proto(); var regex = /a/; module2.exports = function shimFlags() { if (!supportsDescriptors || !getProto) { throw new $TypeError("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors"); } var polyfill = getPolyfill(); var proto = getProto(regex); var descriptor = gOPD(proto, "flags"); if (!descriptor || descriptor.get !== polyfill) { defineProperty(proto, "flags", { configurable: true, enumerable: false, get: polyfill }); } return polyfill; }; } }); // ../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/index.js var require_regexp_prototype = __commonJS({ "../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/index.js"(exports2, module2) { "use strict"; var define2 = require_define_properties(); var callBind = require_call_bind(); var implementation = require_implementation4(); var getPolyfill = require_polyfill(); var shim = require_shim(); var flagsBound = callBind(getPolyfill()); define2(flagsBound, { getPolyfill, implementation, shim }); module2.exports = flagsBound; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/isLeadingSurrogate.js var require_isLeadingSurrogate = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/isLeadingSurrogate.js"(exports2, module2) { "use strict"; module2.exports = function isLeadingSurrogate(charCode) { return typeof charCode === "number" && charCode >= 55296 && charCode <= 56319; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/isTrailingSurrogate.js var require_isTrailingSurrogate = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/isTrailingSurrogate.js"(exports2, module2) { "use strict"; module2.exports = function isTrailingSurrogate(charCode) { return typeof charCode === "number" && charCode >= 56320 && charCode <= 57343; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/UTF16SurrogatePairToCodePoint.js var require_UTF16SurrogatePairToCodePoint = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/UTF16SurrogatePairToCodePoint.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $TypeError = require_type4(); var $fromCharCode = GetIntrinsic("%String.fromCharCode%"); var isLeadingSurrogate = require_isLeadingSurrogate(); var isTrailingSurrogate = require_isTrailingSurrogate(); module2.exports = function UTF16SurrogatePairToCodePoint(lead, trail) { if (!isLeadingSurrogate(lead) || !isTrailingSurrogate(trail)) { throw new $TypeError("Assertion failed: `lead` must be a leading surrogate char code, and `trail` must be a trailing surrogate char code"); } return $fromCharCode(lead) + $fromCharCode(trail); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/CodePointAt.js var require_CodePointAt = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/CodePointAt.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var callBound = require_call_bound(); var isLeadingSurrogate = require_isLeadingSurrogate(); var isTrailingSurrogate = require_isTrailingSurrogate(); var UTF16SurrogatePairToCodePoint = require_UTF16SurrogatePairToCodePoint(); var $charAt = callBound("String.prototype.charAt"); var $charCodeAt = callBound("String.prototype.charCodeAt"); module2.exports = function CodePointAt(string, position) { if (typeof string !== "string") { throw new $TypeError("Assertion failed: `string` must be a String"); } var size = string.length; if (position < 0 || position >= size) { throw new $TypeError("Assertion failed: `position` must be >= 0, and < the length of `string`"); } var first = $charCodeAt(string, position); var cp = $charAt(string, position); var firstIsLeading = isLeadingSurrogate(first); var firstIsTrailing = isTrailingSurrogate(first); if (!firstIsLeading && !firstIsTrailing) { return { "[[CodePoint]]": cp, "[[CodeUnitCount]]": 1, "[[IsUnpairedSurrogate]]": false }; } if (firstIsTrailing || position + 1 === size) { return { "[[CodePoint]]": cp, "[[CodeUnitCount]]": 1, "[[IsUnpairedSurrogate]]": true }; } var second = $charCodeAt(string, position + 1); if (!isTrailingSurrogate(second)) { return { "[[CodePoint]]": cp, "[[CodeUnitCount]]": 1, "[[IsUnpairedSurrogate]]": true }; } return { "[[CodePoint]]": UTF16SurrogatePairToCodePoint(first, second), "[[CodeUnitCount]]": 2, "[[IsUnpairedSurrogate]]": false }; }; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isFinite.js var require_isFinite = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isFinite.js"(exports2, module2) { "use strict"; var $isNaN = require_isNaN(); module2.exports = function isFinite2(x) { return (typeof x === "number" || typeof x === "bigint") && !$isNaN(x) && x !== Infinity && x !== -Infinity; }; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isInteger.js var require_isInteger2 = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isInteger.js"(exports2, module2) { "use strict"; var $abs = require_abs(); var $floor = require_floor(); var $isNaN = require_isNaN(); var $isFinite = require_isFinite(); module2.exports = function isInteger(argument) { if (typeof argument !== "number" || $isNaN(argument) || !$isFinite(argument)) { return false; } var absValue = $abs(argument); return $floor(absValue) === absValue; }; } }); // ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/constants/maxSafeInteger.js var require_maxSafeInteger = __commonJS({ "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/constants/maxSafeInteger.js"(exports2, module2) { "use strict"; module2.exports = /** @type {import('./maxSafeInteger')} */ Number.MAX_SAFE_INTEGER || 9007199254740991; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/AdvanceStringIndex.js var require_AdvanceStringIndex = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/AdvanceStringIndex.js"(exports2, module2) { "use strict"; var CodePointAt = require_CodePointAt(); var $TypeError = require_type4(); var isInteger = require_isInteger2(); var MAX_SAFE_INTEGER = require_maxSafeInteger(); module2.exports = function AdvanceStringIndex(S, index, unicode) { if (typeof S !== "string") { throw new $TypeError("Assertion failed: `S` must be a String"); } if (!isInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) { throw new $TypeError("Assertion failed: `length` must be an integer >= 0 and <= 2**53"); } if (typeof unicode !== "boolean") { throw new $TypeError("Assertion failed: `unicode` must be a Boolean"); } if (!unicode) { return index + 1; } var length = S.length; if (index + 1 >= length) { return index + 1; } var cp = CodePointAt(S, index); return index + cp["[[CodeUnitCount]]"]; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/CreateIterResultObject.js var require_CreateIterResultObject = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/CreateIterResultObject.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); module2.exports = function CreateIterResultObject(value, done) { if (typeof done !== "boolean") { throw new $TypeError("Assertion failed: Type(done) is not Boolean"); } return { value, done }; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/records/property-descriptor.js var require_property_descriptor = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/records/property-descriptor.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var hasOwn = require_hasown(); var allowed = { __proto__: null, "[[Configurable]]": true, "[[Enumerable]]": true, "[[Get]]": true, "[[Set]]": true, "[[Value]]": true, "[[Writable]]": true }; module2.exports = function isPropertyDescriptor(Desc) { if (!Desc || typeof Desc !== "object") { return false; } for (var key in Desc) { if (hasOwn(Desc, key) && !allowed[key]) { return false; } } var isData = hasOwn(Desc, "[[Value]]") || hasOwn(Desc, "[[Writable]]"); var IsAccessor = hasOwn(Desc, "[[Get]]") || hasOwn(Desc, "[[Set]]"); if (isData && IsAccessor) { throw new $TypeError("Property Descriptors may not be both accessor and data descriptors"); } return true; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/DefineOwnProperty.js var require_DefineOwnProperty = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/DefineOwnProperty.js"(exports2, module2) { "use strict"; var hasPropertyDescriptors = require_has_property_descriptors(); var $defineProperty = require_es_define_property(); var hasArrayLengthDefineBug = hasPropertyDescriptors.hasArrayLengthDefineBug(); var isArray = hasArrayLengthDefineBug && require_IsArray(); var callBound = require_call_bound(); var $isEnumerable = callBound("Object.prototype.propertyIsEnumerable"); module2.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) { if (!$defineProperty) { if (!IsDataDescriptor(desc)) { return false; } if (!desc["[[Configurable]]"] || !desc["[[Writable]]"]) { return false; } if (P in O && $isEnumerable(O, P) !== !!desc["[[Enumerable]]"]) { return false; } var V = desc["[[Value]]"]; O[P] = V; return SameValue(O[P], V); } if (hasArrayLengthDefineBug && P === "length" && "[[Value]]" in desc && isArray(O) && O.length !== desc["[[Value]]"]) { O.length = desc["[[Value]]"]; return O.length === desc["[[Value]]"]; } $defineProperty(O, P, FromPropertyDescriptor(desc)); return true; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/fromPropertyDescriptor.js var require_fromPropertyDescriptor = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/fromPropertyDescriptor.js"(exports2, module2) { "use strict"; module2.exports = function fromPropertyDescriptor(Desc) { if (typeof Desc === "undefined") { return Desc; } var obj = {}; if ("[[Value]]" in Desc) { obj.value = Desc["[[Value]]"]; } if ("[[Writable]]" in Desc) { obj.writable = !!Desc["[[Writable]]"]; } if ("[[Get]]" in Desc) { obj.get = Desc["[[Get]]"]; } if ("[[Set]]" in Desc) { obj.set = Desc["[[Set]]"]; } if ("[[Enumerable]]" in Desc) { obj.enumerable = !!Desc["[[Enumerable]]"]; } if ("[[Configurable]]" in Desc) { obj.configurable = !!Desc["[[Configurable]]"]; } return obj; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/FromPropertyDescriptor.js var require_FromPropertyDescriptor = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/FromPropertyDescriptor.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var isPropertyDescriptor = require_property_descriptor(); var fromPropertyDescriptor = require_fromPropertyDescriptor(); module2.exports = function FromPropertyDescriptor(Desc) { if (typeof Desc !== "undefined" && !isPropertyDescriptor(Desc)) { throw new $TypeError("Assertion failed: `Desc` must be a Property Descriptor"); } return fromPropertyDescriptor(Desc); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsDataDescriptor.js var require_IsDataDescriptor = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsDataDescriptor.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var hasOwn = require_hasown(); var isPropertyDescriptor = require_property_descriptor(); module2.exports = function IsDataDescriptor(Desc) { if (typeof Desc === "undefined") { return false; } if (!isPropertyDescriptor(Desc)) { throw new $TypeError("Assertion failed: `Desc` must be a Property Descriptor"); } if (!hasOwn(Desc, "[[Value]]") && !hasOwn(Desc, "[[Writable]]")) { return false; } return true; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/SameValue.js var require_SameValue = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/SameValue.js"(exports2, module2) { "use strict"; var $isNaN = require_isNaN(); module2.exports = function SameValue(x, y) { if (x === y) { if (x === 0) { return 1 / x === 1 / y; } return true; } return $isNaN(x) && $isNaN(y); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToPropertyDescriptor.js var require_ToPropertyDescriptor = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToPropertyDescriptor.js"(exports2, module2) { "use strict"; var hasOwn = require_hasown(); var $TypeError = require_type4(); var isObject = require_isObject3(); var IsCallable = require_IsCallable(); var ToBoolean = require_ToBoolean(); module2.exports = function ToPropertyDescriptor(Obj) { if (!isObject(Obj)) { throw new $TypeError("ToPropertyDescriptor requires an object"); } var desc = {}; if (hasOwn(Obj, "enumerable")) { desc["[[Enumerable]]"] = ToBoolean(Obj.enumerable); } if (hasOwn(Obj, "configurable")) { desc["[[Configurable]]"] = ToBoolean(Obj.configurable); } if (hasOwn(Obj, "value")) { desc["[[Value]]"] = Obj.value; } if (hasOwn(Obj, "writable")) { desc["[[Writable]]"] = ToBoolean(Obj.writable); } if (hasOwn(Obj, "get")) { var getter = Obj.get; if (typeof getter !== "undefined" && !IsCallable(getter)) { throw new $TypeError("getter must be a function"); } desc["[[Get]]"] = getter; } if (hasOwn(Obj, "set")) { var setter = Obj.set; if (typeof setter !== "undefined" && !IsCallable(setter)) { throw new $TypeError("setter must be a function"); } desc["[[Set]]"] = setter; } if ((hasOwn(desc, "[[Get]]") || hasOwn(desc, "[[Set]]")) && (hasOwn(desc, "[[Value]]") || hasOwn(desc, "[[Writable]]"))) { throw new $TypeError("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute"); } return desc; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/DefinePropertyOrThrow.js var require_DefinePropertyOrThrow = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/DefinePropertyOrThrow.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var isObject = require_isObject3(); var isPropertyDescriptor = require_property_descriptor(); var DefineOwnProperty = require_DefineOwnProperty(); var FromPropertyDescriptor = require_FromPropertyDescriptor(); var IsDataDescriptor = require_IsDataDescriptor(); var isPropertyKey = require_isPropertyKey(); var SameValue = require_SameValue(); var ToPropertyDescriptor = require_ToPropertyDescriptor(); module2.exports = function DefinePropertyOrThrow(O, P, desc) { if (!isObject(O)) { throw new $TypeError("Assertion failed: Type(O) is not Object"); } if (!isPropertyKey(P)) { throw new $TypeError("Assertion failed: P is not a Property Key"); } var Desc = isPropertyDescriptor(desc) ? desc : ToPropertyDescriptor(desc); if (!isPropertyDescriptor(Desc)) { throw new $TypeError("Assertion failed: Desc is not a valid Property Descriptor"); } return DefineOwnProperty( IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, Desc ); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/isPrimitive.js var require_isPrimitive = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/isPrimitive.js"(exports2, module2) { "use strict"; module2.exports = function isPrimitive(value) { return value === null || typeof value !== "function" && typeof value !== "object"; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsExtensible.js var require_IsExtensible = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsExtensible.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $preventExtensions = GetIntrinsic("%Object.preventExtensions%", true); var $isExtensible = GetIntrinsic("%Object.isExtensible%", true); var isPrimitive = require_isPrimitive(); module2.exports = $preventExtensions ? function IsExtensible(obj) { return !isPrimitive(obj) && $isExtensible(obj); } : function IsExtensible(obj) { return !isPrimitive(obj); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/DefineMethodProperty.js var require_DefineMethodProperty = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/DefineMethodProperty.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var isObject = require_isObject3(); var DefinePropertyOrThrow = require_DefinePropertyOrThrow(); var IsExtensible = require_IsExtensible(); var isPropertyKey = require_isPropertyKey(); module2.exports = function DefineMethodProperty(homeObject, key, closure, enumerable) { if (!isObject(homeObject)) { throw new $TypeError("Assertion failed: `homeObject` is not an Object"); } if (!isPropertyKey(key)) { throw new $TypeError("Assertion failed: `key` is not a Property Key or a Private Name"); } if (typeof closure !== "function") { throw new $TypeError("Assertion failed: `closure` is not a function"); } if (typeof enumerable !== "boolean") { throw new $TypeError("Assertion failed: `enumerable` is not a Boolean"); } if (!IsExtensible(homeObject)) { throw new $TypeError("Assertion failed: `homeObject` is not an ordinary, extensible object, with no non-configurable properties"); } var desc = { // step 3.a "[[Value]]": closure, "[[Writable]]": true, "[[Enumerable]]": enumerable, "[[Configurable]]": true }; DefinePropertyOrThrow(homeObject, key, desc); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/forEach.js var require_forEach2 = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/helpers/forEach.js"(exports2, module2) { "use strict"; module2.exports = function forEach(array, callback) { for (var i = 0; i < array.length; i += 1) { callback(array[i], i, array); } }; } }); // ../node_modules/.pnpm/side-channel-list@1.0.0/node_modules/side-channel-list/index.js var require_side_channel_list = __commonJS({ "../node_modules/.pnpm/side-channel-list@1.0.0/node_modules/side-channel-list/index.js"(exports2, module2) { "use strict"; var inspect = require_object_inspect(); var $TypeError = require_type4(); var listGetNode = function(list, key, isDelete) { var prev = list; var curr; for (; (curr = prev.next) != null; prev = curr) { if (curr.key === key) { prev.next = curr.next; if (!isDelete) { curr.next = /** @type {NonNullable} */ list.next; list.next = curr; } return curr; } } }; var listGet = function(objects, key) { if (!objects) { return void 0; } var node = listGetNode(objects, key); return node && node.value; }; var listSet = function(objects, key, value) { var node = listGetNode(objects, key); if (node) { node.value = value; } else { objects.next = /** @type {import('./list.d.ts').ListNode} */ { // eslint-disable-line no-param-reassign, no-extra-parens key, next: objects.next, value }; } }; var listHas = function(objects, key) { if (!objects) { return false; } return !!listGetNode(objects, key); }; var listDelete = function(objects, key) { if (objects) { return listGetNode(objects, key, true); } }; module2.exports = function getSideChannelList() { var $o; var channel = { assert: function(key) { if (!channel.has(key)) { throw new $TypeError("Side channel does not contain " + inspect(key)); } }, "delete": function(key) { var root = $o && $o.next; var deletedNode = listDelete($o, key); if (deletedNode && root && root === deletedNode) { $o = void 0; } return !!deletedNode; }, get: function(key) { return listGet($o, key); }, has: function(key) { return listHas($o, key); }, set: function(key, value) { if (!$o) { $o = { next: void 0 }; } listSet( /** @type {NonNullable} */ $o, key, value ); } }; return channel; }; } }); // ../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js var require_side_channel_map = __commonJS({ "../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var callBound = require_call_bound(); var inspect = require_object_inspect(); var $TypeError = require_type4(); var $Map = GetIntrinsic("%Map%", true); var $mapGet = callBound("Map.prototype.get", true); var $mapSet = callBound("Map.prototype.set", true); var $mapHas = callBound("Map.prototype.has", true); var $mapDelete = callBound("Map.prototype.delete", true); var $mapSize = callBound("Map.prototype.size", true); module2.exports = !!$Map && /** @type {Exclude} */ function getSideChannelMap() { var $m; var channel = { assert: function(key) { if (!channel.has(key)) { throw new $TypeError("Side channel does not contain " + inspect(key)); } }, "delete": function(key) { if ($m) { var result2 = $mapDelete($m, key); if ($mapSize($m) === 0) { $m = void 0; } return result2; } return false; }, get: function(key) { if ($m) { return $mapGet($m, key); } }, has: function(key) { if ($m) { return $mapHas($m, key); } return false; }, set: function(key, value) { if (!$m) { $m = new $Map(); } $mapSet($m, key, value); } }; return channel; }; } }); // ../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js var require_side_channel_weakmap = __commonJS({ "../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var callBound = require_call_bound(); var inspect = require_object_inspect(); var getSideChannelMap = require_side_channel_map(); var $TypeError = require_type4(); var $WeakMap = GetIntrinsic("%WeakMap%", true); var $weakMapGet = callBound("WeakMap.prototype.get", true); var $weakMapSet = callBound("WeakMap.prototype.set", true); var $weakMapHas = callBound("WeakMap.prototype.has", true); var $weakMapDelete = callBound("WeakMap.prototype.delete", true); module2.exports = $WeakMap ? ( /** @type {Exclude} */ function getSideChannelWeakMap() { var $wm; var $m; var channel = { assert: function(key) { if (!channel.has(key)) { throw new $TypeError("Side channel does not contain " + inspect(key)); } }, "delete": function(key) { if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { if ($wm) { return $weakMapDelete($wm, key); } } else if (getSideChannelMap) { if ($m) { return $m["delete"](key); } } return false; }, get: function(key) { if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { if ($wm) { return $weakMapGet($wm, key); } } return $m && $m.get(key); }, has: function(key) { if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { if ($wm) { return $weakMapHas($wm, key); } } return !!$m && $m.has(key); }, set: function(key, value) { if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { if (!$wm) { $wm = new $WeakMap(); } $weakMapSet($wm, key, value); } else if (getSideChannelMap) { if (!$m) { $m = getSideChannelMap(); } $m.set(key, value); } } }; return channel; } ) : getSideChannelMap; } }); // ../node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js var require_side_channel = __commonJS({ "../node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var inspect = require_object_inspect(); var getSideChannelList = require_side_channel_list(); var getSideChannelMap = require_side_channel_map(); var getSideChannelWeakMap = require_side_channel_weakmap(); var makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList; module2.exports = function getSideChannel() { var $channelData; var channel = { assert: function(key) { if (!channel.has(key)) { throw new $TypeError("Side channel does not contain " + inspect(key)); } }, "delete": function(key) { return !!$channelData && $channelData["delete"](key); }, get: function(key) { return $channelData && $channelData.get(key); }, has: function(key) { return !!$channelData && $channelData.has(key); }, set: function(key, value) { if (!$channelData) { $channelData = makeChannel(); } $channelData.set(key, value); } }; return channel; }; } }); // ../node_modules/.pnpm/internal-slot@1.1.0/node_modules/internal-slot/index.js var require_internal_slot = __commonJS({ "../node_modules/.pnpm/internal-slot@1.1.0/node_modules/internal-slot/index.js"(exports2, module2) { "use strict"; var hasOwn = require_hasown(); var channel = require_side_channel()(); var $TypeError = require_type4(); var SLOT = { assert: function(O, slot) { if (!O || typeof O !== "object" && typeof O !== "function") { throw new $TypeError("`O` is not an object"); } if (typeof slot !== "string") { throw new $TypeError("`slot` must be a string"); } channel.assert(O); if (!SLOT.has(O, slot)) { throw new $TypeError("`" + slot + "` is not present on `O`"); } }, get: function(O, slot) { if (!O || typeof O !== "object" && typeof O !== "function") { throw new $TypeError("`O` is not an object"); } if (typeof slot !== "string") { throw new $TypeError("`slot` must be a string"); } var slots = channel.get(O); return slots && slots[ /** @type {SaltedInternalSlot} */ "$" + slot ]; }, has: function(O, slot) { if (!O || typeof O !== "object" && typeof O !== "function") { throw new $TypeError("`O` is not an object"); } if (typeof slot !== "string") { throw new $TypeError("`slot` must be a string"); } var slots = channel.get(O); return !!slots && hasOwn( slots, /** @type {SaltedInternalSlot} */ "$" + slot ); }, set: function(O, slot, V) { if (!O || typeof O !== "object" && typeof O !== "function") { throw new $TypeError("`O` is not an object"); } if (typeof slot !== "string") { throw new $TypeError("`slot` must be a string"); } var slots = channel.get(O); if (!slots) { slots = {}; channel.set(O, slots); } slots[ /** @type {SaltedInternalSlot} */ "$" + slot ] = V; } }; if (Object.freeze) { Object.freeze(SLOT); } module2.exports = SLOT; } }); // ../node_modules/.pnpm/has-proto@1.2.0/node_modules/has-proto/index.js var require_has_proto = __commonJS({ "../node_modules/.pnpm/has-proto@1.2.0/node_modules/has-proto/index.js"(exports2, module2) { "use strict"; var test = { __proto__: null, foo: {} }; var result2 = { __proto__: test }.foo === test.foo && !(test instanceof Object); module2.exports = function hasProto() { return result2; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/OrdinaryObjectCreate.js var require_OrdinaryObjectCreate = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/OrdinaryObjectCreate.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $ObjectCreate = GetIntrinsic("%Object.create%", true); var $TypeError = require_type4(); var $SyntaxError = require_syntax(); var isObject = require_isObject3(); var IsArray = require_IsArray2(); var forEach = require_forEach2(); var SLOT = require_internal_slot(); var hasProto = require_has_proto()(); module2.exports = function OrdinaryObjectCreate(proto) { if (proto !== null && !isObject(proto)) { throw new $TypeError("Assertion failed: `proto` must be null or an object"); } var additionalInternalSlotsList = arguments.length < 2 ? [] : arguments[1]; if (!IsArray(additionalInternalSlotsList)) { throw new $TypeError("Assertion failed: `additionalInternalSlotsList` must be an Array"); } var O; if (hasProto) { O = { __proto__: proto }; } else if ($ObjectCreate) { O = $ObjectCreate(proto); } else { if (proto === null) { throw new $SyntaxError("native Object.create support is required to create null objects"); } var T = function T2() { }; T.prototype = proto; O = new T(); } if (additionalInternalSlotsList.length > 0) { forEach(additionalInternalSlotsList, function(slot) { SLOT.set(O, slot, void 0); }); } return O; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/RegExpExec.js var require_RegExpExec = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/RegExpExec.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var isObject = require_isObject3(); var regexExec = require_call_bound()("RegExp.prototype.exec"); var Call = require_Call(); var Get = require_Get(); var IsCallable = require_IsCallable(); module2.exports = function RegExpExec(R, S) { if (!isObject(R)) { throw new $TypeError("Assertion failed: `R` must be an Object"); } if (typeof S !== "string") { throw new $TypeError("Assertion failed: `S` must be a String"); } var exec = Get(R, "exec"); if (IsCallable(exec)) { var result2 = Call(exec, R, [S]); if (result2 === null || isObject(result2)) { return result2; } throw new $TypeError('"exec" method must return `null` or an Object'); } return regexExec(R, S); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/Set.js var require_Set3 = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/Set.js"(exports2, module2) { "use strict"; var $TypeError = require_type4(); var isObject = require_isObject3(); var isPropertyKey = require_isPropertyKey(); var SameValue = require_SameValue(); var noThrowOnStrictViolation = (function() { try { delete [].length; return true; } catch (e) { return false; } })(); module2.exports = function Set2(O, P, V, Throw) { if (!isObject(O)) { throw new $TypeError("Assertion failed: `O` must be an Object"); } if (!isPropertyKey(P)) { throw new $TypeError("Assertion failed: `P` must be a Property Key"); } if (typeof Throw !== "boolean") { throw new $TypeError("Assertion failed: `Throw` must be a Boolean"); } if (Throw) { O[P] = V; if (noThrowOnStrictViolation && !SameValue(O[P], V)) { throw new $TypeError("Attempted to assign to readonly property."); } return true; } try { O[P] = V; return noThrowOnStrictViolation ? SameValue(O[P], V) : true; } catch (e) { return false; } }; } }); // ../node_modules/.pnpm/es-to-primitive@1.3.0/node_modules/es-to-primitive/helpers/isPrimitive.js var require_isPrimitive2 = __commonJS({ "../node_modules/.pnpm/es-to-primitive@1.3.0/node_modules/es-to-primitive/helpers/isPrimitive.js"(exports2, module2) { "use strict"; module2.exports = function isPrimitive(value) { return value === null || typeof value !== "function" && typeof value !== "object"; }; } }); // ../node_modules/.pnpm/is-date-object@1.1.0/node_modules/is-date-object/index.js var require_is_date_object = __commonJS({ "../node_modules/.pnpm/is-date-object@1.1.0/node_modules/is-date-object/index.js"(exports2, module2) { "use strict"; var callBound = require_call_bound(); var getDay = callBound("Date.prototype.getDay"); var tryDateObject = function tryDateGetDayCall(value) { try { getDay(value); return true; } catch (e) { return false; } }; var toStr = callBound("Object.prototype.toString"); var dateClass = "[object Date]"; var hasToStringTag = require_shams2()(); module2.exports = function isDateObject(value) { if (typeof value !== "object" || value === null) { return false; } return hasToStringTag ? tryDateObject(value) : toStr(value) === dateClass; }; } }); // ../node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js var require_safe_regex_test = __commonJS({ "../node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js"(exports2, module2) { "use strict"; var callBound = require_call_bound(); var isRegex = require_is_regex(); var $exec = callBound("RegExp.prototype.exec"); var $TypeError = require_type4(); module2.exports = function regexTester(regex) { if (!isRegex(regex)) { throw new $TypeError("`regex` must be a RegExp"); } return function test(s) { return $exec(regex, s) !== null; }; }; } }); // ../node_modules/.pnpm/is-symbol@1.1.1/node_modules/is-symbol/index.js var require_is_symbol = __commonJS({ "../node_modules/.pnpm/is-symbol@1.1.1/node_modules/is-symbol/index.js"(exports2, module2) { "use strict"; var callBound = require_call_bound(); var $toString = callBound("Object.prototype.toString"); var hasSymbols = require_has_symbols()(); var safeRegexTest = require_safe_regex_test(); if (hasSymbols) { $symToStr = callBound("Symbol.prototype.toString"); isSymString = safeRegexTest(/^Symbol\(.*\)$/); isSymbolObject = function isRealSymbolObject(value) { if (typeof value.valueOf() !== "symbol") { return false; } return isSymString($symToStr(value)); }; module2.exports = function isSymbol(value) { if (typeof value === "symbol") { return true; } if (!value || typeof value !== "object" || $toString(value) !== "[object Symbol]") { return false; } try { return isSymbolObject(value); } catch (e) { return false; } }; } else { module2.exports = function isSymbol(value) { return false; }; } var $symToStr; var isSymString; var isSymbolObject; } }); // ../node_modules/.pnpm/es-to-primitive@1.3.0/node_modules/es-to-primitive/es2015.js var require_es2015 = __commonJS({ "../node_modules/.pnpm/es-to-primitive@1.3.0/node_modules/es-to-primitive/es2015.js"(exports2, module2) { "use strict"; var hasSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "symbol"; var isPrimitive = require_isPrimitive2(); var isCallable = require_is_callable(); var isDate = require_is_date_object(); var isSymbol = require_is_symbol(); var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) { if (typeof O === "undefined" || O === null) { throw new TypeError("Cannot call method on " + O); } if (typeof hint !== "string" || hint !== "number" && hint !== "string") { throw new TypeError('hint must be "string" or "number"'); } var methodNames = hint === "string" ? ["toString", "valueOf"] : ["valueOf", "toString"]; var method, result2, i; for (i = 0; i < methodNames.length; ++i) { method = O[methodNames[i]]; if (isCallable(method)) { result2 = method.call(O); if (isPrimitive(result2)) { return result2; } } } throw new TypeError("No default value"); }; var GetMethod = function GetMethod2(O, P) { var func = O[P]; if (func !== null && typeof func !== "undefined") { if (!isCallable(func)) { throw new TypeError(func + " returned for property " + String(P) + " of object " + O + " is not a function"); } return func; } return void 0; }; module2.exports = function ToPrimitive(input) { if (isPrimitive(input)) { return input; } var hint = "default"; if (arguments.length > 1) { if (arguments[1] === String) { hint = "string"; } else if (arguments[1] === Number) { hint = "number"; } } var exoticToPrim; if (hasSymbols) { if (Symbol.toPrimitive) { exoticToPrim = GetMethod( /** @type {Record} */ input, Symbol.toPrimitive ); } else if (isSymbol(input)) { exoticToPrim = Symbol.prototype.valueOf; } } if (typeof exoticToPrim !== "undefined") { var result2 = exoticToPrim.call(input, hint); if (isPrimitive(result2)) { return result2; } throw new TypeError("unable to convert exotic object to primitive"); } if (hint === "default" && (isDate(input) || isSymbol(input))) { hint = "string"; } return ordinaryToPrimitive( /** @type {object} */ input, hint === "default" ? "number" : hint ); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToPrimitive.js var require_ToPrimitive = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToPrimitive.js"(exports2, module2) { "use strict"; var toPrimitive = require_es2015(); module2.exports = function ToPrimitive(input) { if (arguments.length > 1) { return toPrimitive(input, arguments[1]); } return toPrimitive(input); }; } }); // ../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/implementation.js var require_implementation5 = __commonJS({ "../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/implementation.js"(exports2, module2) { "use strict"; var RequireObjectCoercible = require_RequireObjectCoercible(); var ToString = require_ToString(); var callBound = require_call_bound(); var $replace = callBound("String.prototype.replace"); var mvsIsWS = /^\s$/.test("\u180E"); var leftWhitespace = mvsIsWS ? /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/ : /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/; var rightWhitespace = mvsIsWS ? /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/ : /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/; module2.exports = function trim() { var S = ToString(RequireObjectCoercible(this)); return $replace($replace(S, leftWhitespace, ""), rightWhitespace, ""); }; } }); // ../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/polyfill.js var require_polyfill2 = __commonJS({ "../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/polyfill.js"(exports2, module2) { "use strict"; var implementation = require_implementation5(); var zeroWidthSpace = "\u200B"; var mongolianVowelSeparator = "\u180E"; module2.exports = function getPolyfill() { if (String.prototype.trim && zeroWidthSpace.trim() === zeroWidthSpace && mongolianVowelSeparator.trim() === mongolianVowelSeparator && ("_" + mongolianVowelSeparator).trim() === "_" + mongolianVowelSeparator && (mongolianVowelSeparator + "_").trim() === mongolianVowelSeparator + "_") { return String.prototype.trim; } return implementation; }; } }); // ../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/shim.js var require_shim2 = __commonJS({ "../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/shim.js"(exports2, module2) { "use strict"; var supportsDescriptors = require_has_property_descriptors()(); var defineDataProperty = require_define_data_property(); var getPolyfill = require_polyfill2(); module2.exports = function shimStringTrim() { var polyfill = getPolyfill(); if (String.prototype.trim !== polyfill) { if (supportsDescriptors) { defineDataProperty(String.prototype, "trim", polyfill, true); } else { defineDataProperty(String.prototype, "trim", polyfill); } } return polyfill; }; } }); // ../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/index.js var require_string_prototype = __commonJS({ "../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/index.js"(exports2, module2) { "use strict"; var callBind = require_call_bind(); var define2 = require_define_properties(); var RequireObjectCoercible = require_RequireObjectCoercible(); var implementation = require_implementation5(); var getPolyfill = require_polyfill2(); var shim = require_shim2(); var bound = callBind(getPolyfill()); var boundMethod = function trim(receiver) { RequireObjectCoercible(receiver); return bound(receiver); }; define2(boundMethod, { getPolyfill, implementation, shim }); module2.exports = boundMethod; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/StringToNumber.js var require_StringToNumber = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/StringToNumber.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $RegExp = GetIntrinsic("%RegExp%"); var $TypeError = require_type4(); var $parseInteger = GetIntrinsic("%parseInt%"); var callBound = require_call_bound(); var regexTester = require_safe_regex_test(); var $strSlice = callBound("String.prototype.slice"); var isBinary = regexTester(/^0b[01]+$/i); var isOctal = regexTester(/^0o[0-7]+$/i); var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); var nonWS = ["\x85", "\u200B", "\uFFFE"].join(""); var nonWSregex = new $RegExp("[" + nonWS + "]", "g"); var hasNonWS = regexTester(nonWSregex); var $trim = require_string_prototype(); module2.exports = function StringToNumber(argument) { if (typeof argument !== "string") { throw new $TypeError("Assertion failed: `argument` is not a String"); } if (isBinary(argument)) { return +$parseInteger($strSlice(argument, 2), 2); } if (isOctal(argument)) { return +$parseInteger($strSlice(argument, 2), 8); } if (hasNonWS(argument) || isInvalidHexLiteral(argument)) { return NaN; } var trimmed = $trim(argument); if (trimmed !== argument) { return StringToNumber(trimmed); } return +argument; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToNumber.js var require_ToNumber = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToNumber.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $TypeError = require_type4(); var $Number = GetIntrinsic("%Number%"); var isPrimitive = require_isPrimitive(); var ToPrimitive = require_ToPrimitive(); var StringToNumber = require_StringToNumber(); module2.exports = function ToNumber(argument) { var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); if (typeof value === "symbol") { throw new $TypeError("Cannot convert a Symbol value to a number"); } if (typeof value === "bigint") { throw new $TypeError("Conversion from 'BigInt' to 'number' is not allowed."); } if (typeof value === "string") { return StringToNumber(value); } return +value; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/floor.js var require_floor2 = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/floor.js"(exports2, module2) { "use strict"; var $floor = require_floor(); module2.exports = function floor(x) { if (typeof x === "bigint") { return x; } return $floor(x); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/truncate.js var require_truncate2 = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/truncate.js"(exports2, module2) { "use strict"; var floor = require_floor2(); var $TypeError = require_type4(); module2.exports = function truncate(x) { if (typeof x !== "number" && typeof x !== "bigint") { throw new $TypeError("argument must be a Number or a BigInt"); } var result2 = x < 0 ? -floor(-x) : floor(x); return result2 === 0 ? 0 : result2; }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToIntegerOrInfinity.js var require_ToIntegerOrInfinity = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToIntegerOrInfinity.js"(exports2, module2) { "use strict"; var ToNumber = require_ToNumber(); var truncate = require_truncate2(); var $isNaN = require_isNaN(); var $isFinite = require_isFinite(); module2.exports = function ToIntegerOrInfinity(value) { var number = ToNumber(value); if ($isNaN(number) || number === 0) { return 0; } if (!$isFinite(number)) { return number; } return truncate(number); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToLength.js var require_ToLength = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/ToLength.js"(exports2, module2) { "use strict"; var MAX_SAFE_INTEGER = require_maxSafeInteger(); var ToIntegerOrInfinity = require_ToIntegerOrInfinity(); module2.exports = function ToLength(argument) { var len = ToIntegerOrInfinity(argument); if (len <= 0) { return 0; } if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; } return len; }; } }); // ../node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js var require_es_set_tostringtag = __commonJS({ "../node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $defineProperty = GetIntrinsic("%Object.defineProperty%", true); var hasToStringTag = require_shams2()(); var hasOwn = require_hasown(); var $TypeError = require_type4(); var toStringTag = hasToStringTag ? Symbol.toStringTag : null; module2.exports = function setToStringTag(object, value) { var overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force; var nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable; if (typeof overrideIfSet !== "undefined" && typeof overrideIfSet !== "boolean" || typeof nonConfigurable !== "undefined" && typeof nonConfigurable !== "boolean") { throw new $TypeError("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans"); } if (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) { if ($defineProperty) { $defineProperty(object, toStringTag, { configurable: !nonConfigurable, enumerable: false, value, writable: false }); } else { object[toStringTag] = value; } } }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/CreateRegExpStringIterator.js var require_CreateRegExpStringIterator = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/CreateRegExpStringIterator.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var hasSymbols = require_has_symbols()(); var $TypeError = require_type4(); var isObject = require_isObject3(); var IteratorPrototype = GetIntrinsic("%IteratorPrototype%", true); var AdvanceStringIndex = require_AdvanceStringIndex(); var CreateIterResultObject = require_CreateIterResultObject(); var DefineMethodProperty = require_DefineMethodProperty(); var Get = require_Get(); var OrdinaryObjectCreate = require_OrdinaryObjectCreate(); var RegExpExec = require_RegExpExec(); var Set2 = require_Set3(); var ToLength = require_ToLength(); var ToString = require_ToString(); var SLOT = require_internal_slot(); var setToStringTag = require_es_set_tostringtag(); var RegExpStringIterator = function RegExpStringIterator2(R, S, global2, fullUnicode) { if (typeof S !== "string") { throw new $TypeError("`S` must be a string"); } if (typeof global2 !== "boolean") { throw new $TypeError("`global` must be a boolean"); } if (typeof fullUnicode !== "boolean") { throw new $TypeError("`fullUnicode` must be a boolean"); } SLOT.set(this, "[[IteratingRegExp]]", R); SLOT.set(this, "[[IteratedString]]", S); SLOT.set(this, "[[Global]]", global2); SLOT.set(this, "[[Unicode]]", fullUnicode); SLOT.set(this, "[[Done]]", false); }; if (IteratorPrototype) { RegExpStringIterator.prototype = OrdinaryObjectCreate(IteratorPrototype); } var RegExpStringIteratorNext = function next() { var O = this; if (!isObject(O)) { throw new $TypeError("receiver must be an object"); } if (!(O instanceof RegExpStringIterator) || !SLOT.has(O, "[[IteratingRegExp]]") || !SLOT.has(O, "[[IteratedString]]") || !SLOT.has(O, "[[Global]]") || !SLOT.has(O, "[[Unicode]]") || !SLOT.has(O, "[[Done]]")) { throw new $TypeError('"this" value must be a RegExpStringIterator instance'); } if (SLOT.get(O, "[[Done]]")) { return CreateIterResultObject(void 0, true); } var R = SLOT.get(O, "[[IteratingRegExp]]"); var S = SLOT.get(O, "[[IteratedString]]"); var global2 = SLOT.get(O, "[[Global]]"); var fullUnicode = SLOT.get(O, "[[Unicode]]"); var match = RegExpExec(R, S); if (match === null) { SLOT.set(O, "[[Done]]", true); return CreateIterResultObject(void 0, true); } if (global2) { var matchStr = ToString(Get(match, "0")); if (matchStr === "") { var thisIndex = ToLength(Get(R, "lastIndex")); var nextIndex = AdvanceStringIndex(S, thisIndex, fullUnicode); Set2(R, "lastIndex", nextIndex, true); } return CreateIterResultObject(match, false); } SLOT.set(O, "[[Done]]", true); return CreateIterResultObject(match, false); }; DefineMethodProperty(RegExpStringIterator.prototype, "next", RegExpStringIteratorNext, false); if (hasSymbols) { setToStringTag(RegExpStringIterator.prototype, "RegExp String Iterator"); if (Symbol.iterator && typeof RegExpStringIterator.prototype[Symbol.iterator] !== "function") { iteratorFn = function SymbolIterator() { return this; }; DefineMethodProperty(RegExpStringIterator.prototype, Symbol.iterator, iteratorFn, false); } } var iteratorFn; module2.exports = function CreateRegExpStringIterator(R, S, global2, fullUnicode) { return new RegExpStringIterator(R, S, global2, fullUnicode); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/GetIntrinsic.js var require_GetIntrinsic = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/GetIntrinsic.js"(exports2, module2) { "use strict"; module2.exports = require_get_intrinsic(); } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsConstructor.js var require_IsConstructor = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/IsConstructor.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_GetIntrinsic(); var $construct = GetIntrinsic("%Reflect.construct%", true); var DefinePropertyOrThrow = require_DefinePropertyOrThrow(); try { DefinePropertyOrThrow({}, "", { "[[Get]]": function() { } }); } catch (e) { DefinePropertyOrThrow = null; } if (DefinePropertyOrThrow && $construct) { isConstructorMarker = {}; badArrayLike = {}; DefinePropertyOrThrow(badArrayLike, "length", { "[[Get]]": function() { throw isConstructorMarker; }, "[[Enumerable]]": true }); module2.exports = function IsConstructor(argument) { try { $construct(argument, badArrayLike); } catch (err) { return err === isConstructorMarker; } }; } else { module2.exports = function IsConstructor(argument) { return typeof argument === "function" && !!argument.prototype; }; } var isConstructorMarker; var badArrayLike; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/SpeciesConstructor.js var require_SpeciesConstructor = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/SpeciesConstructor.js"(exports2, module2) { "use strict"; var GetIntrinsic = require_get_intrinsic(); var $species = GetIntrinsic("%Symbol.species%", true); var $TypeError = require_type4(); var isObject = require_isObject3(); var IsConstructor = require_IsConstructor(); module2.exports = function SpeciesConstructor(O, defaultConstructor) { if (!isObject(O)) { throw new $TypeError("Assertion failed: Type(O) is not Object"); } var C = O.constructor; if (typeof C === "undefined") { return defaultConstructor; } if (!isObject(C)) { throw new $TypeError("O.constructor is not an Object"); } var S = $species ? C[$species] : void 0; if (S == null) { return defaultConstructor; } if (IsConstructor(S)) { return S; } throw new $TypeError("no constructor found"); }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/5/Type.js var require_Type = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/5/Type.js"(exports2, module2) { "use strict"; var isObject = require_isObject3(); module2.exports = function Type(x) { if (x === null) { return "Null"; } if (typeof x === "undefined") { return "Undefined"; } if (isObject(x)) { return "Object"; } if (typeof x === "number") { return "Number"; } if (typeof x === "boolean") { return "Boolean"; } if (typeof x === "string") { return "String"; } }; } }); // ../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/Type.js var require_Type2 = __commonJS({ "../node_modules/.pnpm/es-abstract@1.24.0/node_modules/es-abstract/2024/Type.js"(exports2, module2) { "use strict"; var ES5Type = require_Type(); module2.exports = function Type(x) { if (typeof x === "symbol") { return "Symbol"; } if (typeof x === "bigint") { return "BigInt"; } return ES5Type(x); }; } }); // ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/regexp-matchall.js var require_regexp_matchall = __commonJS({ "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/regexp-matchall.js"(exports2, module2) { "use strict"; var CreateRegExpStringIterator = require_CreateRegExpStringIterator(); var Get = require_Get(); var Set2 = require_Set3(); var SpeciesConstructor = require_SpeciesConstructor(); var ToLength = require_ToLength(); var ToString = require_ToString(); var Type = require_Type2(); var flagsGetter = require_regexp_prototype(); var setFunctionName = require_set_function_name(); var callBound = require_call_bound(); var GetIntrinsic = require_get_intrinsic(); var $TypeError = require_type4(); var $indexOf = callBound("String.prototype.indexOf"); var OrigRegExp = GetIntrinsic("%RegExp%"); var supportsConstructingWithFlags = "flags" in OrigRegExp.prototype; var constructRegexWithFlags = function constructRegex(C, R) { var matcher; var flags = "flags" in R ? Get(R, "flags") : ToString(flagsGetter(R)); if (supportsConstructingWithFlags && typeof flags === "string") { matcher = new C(R, flags); } else if (C === OrigRegExp) { matcher = new C(R.source, flags); } else { matcher = new C(R, flags); } return { flags, matcher }; }; var regexMatchAll = setFunctionName(function SymbolMatchAll(string) { var R = this; if (Type(R) !== "Object") { throw new $TypeError('"this" value must be an Object'); } var S = ToString(string); var C = SpeciesConstructor(R, OrigRegExp); var tmp = constructRegexWithFlags(C, R); var flags = tmp.flags; var matcher = tmp.matcher; var lastIndex = ToLength(Get(R, "lastIndex")); Set2(matcher, "lastIndex", lastIndex, true); var global2 = $indexOf(flags, "g") > -1; var fullUnicode = $indexOf(flags, "u") > -1; return CreateRegExpStringIterator(matcher, S, global2, fullUnicode); }, "[Symbol.matchAll]", true); module2.exports = regexMatchAll; } }); // ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/polyfill-regexp-matchall.js var require_polyfill_regexp_matchall = __commonJS({ "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/polyfill-regexp-matchall.js"(exports2, module2) { "use strict"; var hasSymbols = require_has_symbols()(); var regexpMatchAll = require_regexp_matchall(); module2.exports = function getRegExpMatchAllPolyfill() { if (!hasSymbols || typeof Symbol.matchAll !== "symbol" || typeof RegExp.prototype[Symbol.matchAll] !== "function") { return regexpMatchAll; } return RegExp.prototype[Symbol.matchAll]; }; } }); // ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/implementation.js var require_implementation6 = __commonJS({ "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/implementation.js"(exports2, module2) { "use strict"; var Call = require_Call(); var Get = require_Get(); var GetMethod = require_GetMethod(); var IsRegExp = require_IsRegExp(); var ToString = require_ToString(); var RequireObjectCoercible = require_RequireObjectCoercible(); var callBound = require_call_bound(); var hasSymbols = require_has_symbols()(); var flagsGetter = require_regexp_prototype(); var GetIntrinsic = require_get_intrinsic(); var $TypeError = require_type4(); var $RegExp = GetIntrinsic("%RegExp%"); var $indexOf = callBound("String.prototype.indexOf"); var regexpMatchAllPolyfill = require_polyfill_regexp_matchall(); var getMatcher = function getMatcher2(regexp) { var matcherPolyfill = regexpMatchAllPolyfill(); if (hasSymbols && typeof Symbol.matchAll === "symbol") { var matcher = GetMethod(regexp, Symbol.matchAll); if (matcher === $RegExp.prototype[Symbol.matchAll] && matcher !== matcherPolyfill) { return matcherPolyfill; } return matcher; } if (IsRegExp(regexp)) { return matcherPolyfill; } }; module2.exports = function matchAll(regexp) { var O = RequireObjectCoercible(this); if (typeof regexp !== "undefined" && regexp !== null) { var isRegExp = IsRegExp(regexp); if (isRegExp) { var flags = "flags" in regexp ? Get(regexp, "flags") : flagsGetter(regexp); RequireObjectCoercible(flags); if ($indexOf(ToString(flags), "g") < 0) { throw new $TypeError("matchAll requires a global regular expression"); } } var matcher = getMatcher(regexp); if (typeof matcher !== "undefined") { return Call(matcher, regexp, [O]); } } var S = ToString(O); var rx = new $RegExp(regexp, "g"); return Call(getMatcher(rx), rx, [S]); }; } }); // ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/polyfill.js var require_polyfill3 = __commonJS({ "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/polyfill.js"(exports2, module2) { "use strict"; var implementation = require_implementation6(); module2.exports = function getPolyfill() { if (String.prototype.matchAll) { try { "".matchAll(RegExp.prototype); } catch (e) { return String.prototype.matchAll; } } return implementation; }; } }); // ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/shim.js var require_shim3 = __commonJS({ "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/shim.js"(exports2, module2) { "use strict"; var define2 = require_define_properties(); var hasSymbols = require_has_symbols()(); var gOPD = require_gopd(); var getPolyfill = require_polyfill3(); var regexpMatchAllPolyfill = require_polyfill_regexp_matchall(); var defineP = Object.defineProperty; module2.exports = function shimMatchAll() { var polyfill = getPolyfill(); define2( String.prototype, { matchAll: polyfill }, { matchAll: function() { return String.prototype.matchAll !== polyfill; } } ); if (hasSymbols) { var symbol = Symbol.matchAll || (Symbol["for"] ? Symbol["for"]("Symbol.matchAll") : Symbol("Symbol.matchAll")); define2( Symbol, { matchAll: symbol }, { matchAll: function() { return Symbol.matchAll !== symbol; } } ); if (defineP && gOPD) { var desc = gOPD(Symbol, symbol); if (!desc || desc.configurable) { defineP(Symbol, symbol, { configurable: false, enumerable: false, value: symbol, writable: false }); } } var regexpMatchAll = regexpMatchAllPolyfill(); var func = {}; func[symbol] = regexpMatchAll; var predicate = {}; predicate[symbol] = function() { return RegExp.prototype[symbol] !== regexpMatchAll; }; define2(RegExp.prototype, func, predicate); } return polyfill; }; } }); // ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/index.js var require_string_prototype2 = __commonJS({ "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/index.js"(exports2, module2) { "use strict"; var callBind = require_call_bind(); var define2 = require_define_properties(); var implementation = require_implementation6(); var getPolyfill = require_polyfill3(); var shim = require_shim3(); var boundMatchAll = callBind(implementation); define2(boundMatchAll, { getPolyfill, implementation, shim }); module2.exports = boundMatchAll; } }); // ../node_modules/.pnpm/@pnpm+os.env.path-extender-windows@2.0.3/node_modules/@pnpm/os.env.path-extender-windows/dist/path-extender-windows.js var require_path_extender_windows = __commonJS({ "../node_modules/.pnpm/@pnpm+os.env.path-extender-windows@2.0.3/node_modules/@pnpm/os.env.path-extender-windows/dist/path-extender-windows.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.addDirToWindowsEnvPath = void 0; var error_1 = require_lib28(); var string_prototype_matchall_1 = __importDefault2(require_string_prototype2()); var path_1 = require("path"); var safe_execa_1 = __importDefault2(require_lib32()); var BadEnvVariableError = class extends error_1.PnpmError { constructor({ envName, wantedValue, currentValue }) { super("BAD_ENV_FOUND", `Currently '${envName}' is set to '${wantedValue}'`); this.envName = envName; this.wantedValue = wantedValue; this.currentValue = currentValue; } }; var REG_KEY = "HKEY_CURRENT_USER\\Environment"; async function addDirToWindowsEnvPath(dir, opts) { const chcpResult = await (0, safe_execa_1.default)("chcp"); const cpMatch = /\d+/.exec(chcpResult.stdout) ?? []; if (cpMatch.length === 0) { throw new error_1.PnpmError("CHCP", `exec chcp failed: ${chcpResult.stderr}`); } const cpBak = parseInt(cpMatch[0]); if (chcpResult.failed || !(cpBak > 0)) { throw new error_1.PnpmError("CHCP", `exec chcp failed: ${cpBak}, ${chcpResult.stderr}`); } await (0, safe_execa_1.default)("chcp", ["65001"]); try { const report = await _addDirToWindowsEnvPath(dir, opts); await refreshEnvVars(); return report; } finally { await (0, safe_execa_1.default)("chcp", [cpBak.toString()]); } } exports2.addDirToWindowsEnvPath = addDirToWindowsEnvPath; async function _addDirToWindowsEnvPath(dir, opts = {}) { const addedDir = path_1.win32.normalize(dir); const registryOutput = await getRegistryOutput(); const changes = []; if (opts.proxyVarName) { changes.push(await updateEnvVariable(registryOutput, opts.proxyVarName, addedDir, { expandableString: false, overwrite: opts.overwriteProxyVar ?? false })); changes.push(await addToPath(registryOutput, `%${opts.proxyVarName}%`, opts.position)); } else { changes.push(await addToPath(registryOutput, addedDir, opts.position)); } return changes; } async function updateEnvVariable(registryOutput, name, value, opts) { const currentValue = await getEnvValueFromRegistry(registryOutput, name); if (currentValue && !opts.overwrite) { if (currentValue !== value) { throw new BadEnvVariableError({ envName: name, currentValue, wantedValue: value }); } return { variable: name, action: "skipped", oldValue: currentValue, newValue: value }; } else { await setEnvVarInRegistry(name, value, { expandableString: opts.expandableString }); return { variable: name, action: "updated", oldValue: currentValue, newValue: value }; } } async function addToPath(registryOutput, addedDir, position = "start") { const variable = "Path"; const pathData = await getEnvValueFromRegistry(registryOutput, variable); if (pathData === void 0 || pathData == null || pathData.trim() === "") { throw new error_1.PnpmError("NO_PATH", '"Path" environment variable is not found in the registry'); } else if (pathData.split(path_1.win32.delimiter).includes(addedDir)) { return { action: "skipped", variable, oldValue: pathData, newValue: pathData }; } else { const newPathValue = position === "start" ? `${addedDir}${path_1.win32.delimiter}${pathData}` : `${pathData}${path_1.win32.delimiter}${addedDir}`; await setEnvVarInRegistry("Path", newPathValue, { expandableString: true }); return { action: "updated", variable, oldValue: pathData, newValue: newPathValue }; } } var EXEC_OPTS = { windowsHide: false }; async function getRegistryOutput() { try { const queryResult = await (0, safe_execa_1.default)("reg", ["query", REG_KEY], EXEC_OPTS); return queryResult.stdout; } catch (err) { throw new error_1.PnpmError("REG_READ", "win32 registry environment values could not be retrieved"); } } async function getEnvValueFromRegistry(registryOutput, envVarName) { const regexp = new RegExp(`^ {4}(?${envVarName}) {4}(?\\w+) {4}(?.*)$`, "gim"); const match = Array.from((0, string_prototype_matchall_1.default)(registryOutput, regexp))[0]; return match?.groups.data; } async function setEnvVarInRegistry(envVarName, envVarValue, opts) { const regType = opts.expandableString ? "REG_EXPAND_SZ" : "REG_SZ"; try { await (0, safe_execa_1.default)("reg", ["add", REG_KEY, "/v", envVarName, "/t", regType, "/d", envVarValue, "/f"], EXEC_OPTS); } catch (err) { throw new error_1.PnpmError("FAILED_SET_ENV", `Failed to set "${envVarName}" to "${envVarValue}": ${err.stderr}`); } } async function refreshEnvVars() { const TEMP_ENV_VAR = "REFRESH_ENV_VARS"; await (0, safe_execa_1.default)("setx", [TEMP_ENV_VAR, "1"], EXEC_OPTS); await (0, safe_execa_1.default)("reg", ["delete", REG_KEY, "/v", TEMP_ENV_VAR, "/f"], EXEC_OPTS); } } }); // ../node_modules/.pnpm/@pnpm+os.env.path-extender-windows@2.0.3/node_modules/@pnpm/os.env.path-extender-windows/dist/index.js var require_dist28 = __commonJS({ "../node_modules/.pnpm/@pnpm+os.env.path-extender-windows@2.0.3/node_modules/@pnpm/os.env.path-extender-windows/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.addDirToWindowsEnvPath = void 0; var path_extender_windows_1 = require_path_extender_windows(); Object.defineProperty(exports2, "addDirToWindowsEnvPath", { enumerable: true, get: function() { return path_extender_windows_1.addDirToWindowsEnvPath; } }); } }); // ../node_modules/.pnpm/@pnpm+os.env.path-extender@2.0.3/node_modules/@pnpm/os.env.path-extender/dist/path-extender.js var require_path_extender = __commonJS({ "../node_modules/.pnpm/@pnpm+os.env.path-extender@2.0.3/node_modules/@pnpm/os.env.path-extender/dist/path-extender.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.renderWindowsReport = exports2.addDirToEnvPath = void 0; var os_env_path_extender_posix_1 = require_dist27(); var os_env_path_extender_windows_1 = require_dist28(); async function addDirToEnvPath(dir, opts) { if (process.platform === "win32") { return renderWindowsReport(await (0, os_env_path_extender_windows_1.addDirToWindowsEnvPath)(dir, { position: opts.position, proxyVarName: opts.proxyVarName, overwriteProxyVar: opts.overwrite })); } return (0, os_env_path_extender_posix_1.addDirToPosixEnvPath)(dir, opts); } exports2.addDirToEnvPath = addDirToEnvPath; function renderWindowsReport(changedEnvVariables) { const oldSettings = []; const newSettings = []; for (const changedEnvVariable of changedEnvVariables) { if (changedEnvVariable.oldValue) { oldSettings.push(`${changedEnvVariable.variable}=${changedEnvVariable.oldValue}`); } if (changedEnvVariable.newValue) { newSettings.push(`${changedEnvVariable.variable}=${changedEnvVariable.newValue}`); } } return { oldSettings: oldSettings.join("\n"), newSettings: newSettings.join("\n") }; } exports2.renderWindowsReport = renderWindowsReport; } }); // ../node_modules/.pnpm/@pnpm+os.env.path-extender@2.0.3/node_modules/@pnpm/os.env.path-extender/dist/index.js var require_dist29 = __commonJS({ "../node_modules/.pnpm/@pnpm+os.env.path-extender@2.0.3/node_modules/@pnpm/os.env.path-extender/dist/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.addDirToEnvPath = void 0; var path_extender_1 = require_path_extender(); Object.defineProperty(exports2, "addDirToEnvPath", { enumerable: true, get: function() { return path_extender_1.addDirToEnvPath; } }); } }); // ../packages/plugin-commands-setup/lib/setup.js var require_setup = __commonJS({ "../packages/plugin-commands-setup/lib/setup.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0; exports2.help = help; exports2.handler = handler; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var cli_meta_1 = require_lib4(); var cli_utils_1 = require_lib103(); var logger_1 = require_lib(); var os_env_path_extender_1 = require_dist29(); var render_help_1 = __importDefault2(require_lib109()); var rimraf_1 = __importDefault2(require_rimraf()); var cmd_shim_1 = __importDefault2(require_cmd_shim()); var rcOptionsTypes = () => ({}); exports2.rcOptionsTypes = rcOptionsTypes; var cliOptionsTypes = () => ({ force: Boolean }); exports2.cliOptionsTypes = cliOptionsTypes; exports2.shorthands = {}; exports2.commandNames = ["setup"]; function help() { return (0, render_help_1.default)({ description: "Sets up pnpm", descriptionLists: [ { title: "Options", list: [ { description: "Override the PNPM_HOME env variable in case it already exists", name: "--force", shortAlias: "-f" } ] } ], url: (0, cli_utils_1.docsUrl)("setup"), usages: ["pnpm setup"] }); } function getExecPath() { if ((0, cli_meta_1.detectIfCurrentPkgIsExecutable)()) { return process.execPath; } return require.main != null ? require.main.filename : process.cwd(); } async function copyCli(currentLocation, targetDir) { const toolsDir = path_1.default.join(targetDir, ".tools/pnpm-exe", cli_meta_1.packageManager.version); const newExecPath = path_1.default.join(toolsDir, path_1.default.basename(currentLocation)); if (path_1.default.relative(newExecPath, currentLocation) === "") return; logger_1.logger.info({ message: `Copying pnpm CLI from ${currentLocation} to ${newExecPath}`, prefix: process.cwd() }); fs_1.default.mkdirSync(toolsDir, { recursive: true }); rimraf_1.default.sync(newExecPath); fs_1.default.copyFileSync(currentLocation, newExecPath); await (0, cmd_shim_1.default)(newExecPath, path_1.default.join(targetDir, "pnpm"), { createPwshFile: false }); } function createPnpxScripts(targetDir) { fs_1.default.mkdirSync(targetDir, { recursive: true }); const shellScript = [ "#!/bin/sh", 'exec pnpm dlx "$@"' ].join("\n"); fs_1.default.writeFileSync(path_1.default.join(targetDir, "pnpx"), shellScript, { mode: 493 }); if (process.platform === "win32") { const batchScript = [ "@echo off", "pnpm dlx %*" ].join("\n"); fs_1.default.writeFileSync(path_1.default.join(targetDir, "pnpx.cmd"), batchScript); const powershellScript = "pnpm dlx @args"; fs_1.default.writeFileSync(path_1.default.join(targetDir, "pnpx.ps1"), powershellScript); } } async function handler(opts) { const execPath = getExecPath(); if (execPath.match(/\.[cm]?js$/) == null) { await copyCli(execPath, opts.pnpmHomeDir); createPnpxScripts(opts.pnpmHomeDir); } try { const report = await (0, os_env_path_extender_1.addDirToEnvPath)(opts.pnpmHomeDir, { configSectionName: "pnpm", proxyVarName: "PNPM_HOME", overwrite: opts.force, position: "start" }); return renderSetupOutput(report); } catch (err) { switch (err.code) { case "ERR_PNPM_BAD_ENV_FOUND": err.hint = "If you want to override the existing env variable, use the --force option"; break; case "ERR_PNPM_BAD_SHELL_SECTION": err.hint = "If you want to override the existing configuration section, use the --force option"; break; } throw err; } } function renderSetupOutput(report) { if (report.oldSettings === report.newSettings) { return "No changes to the environment were made. Everything is already up to date."; } const output = []; if (report.configFile) { output.push(reportConfigChange(report.configFile)); } output.push(`Next configuration changes were made: ${report.newSettings}`); if (report.configFile == null) { output.push("Setup complete. Open a new terminal to start using pnpm."); } else if (report.configFile.changeType !== "skipped") { output.push(`To start using pnpm, run: source ${report.configFile.path} `); } return output.join("\n\n"); } function reportConfigChange(configReport) { switch (configReport.changeType) { case "created": return `Created ${configReport.path}`; case "appended": return `Appended new lines to ${configReport.path}`; case "modified": return `Replaced configuration in ${configReport.path}`; case "skipped": return `Configuration already up to date in ${configReport.path}`; } } } }); // ../packages/plugin-commands-setup/lib/index.js var require_lib194 = __commonJS({ "../packages/plugin-commands-setup/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.setup = void 0; var setup = __importStar3(require_setup()); exports2.setup = setup; } }); // ../store/plugin-commands-store/lib/storeAdd.js var require_storeAdd = __commonJS({ "../store/plugin-commands-store/lib/storeAdd.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.storeAdd = storeAdd; var error_1 = require_lib6(); var logger_1 = require_lib(); var parse_wanted_dependency_1 = require_lib100(); async function storeAdd(fuzzyDeps, opts) { const reporter = opts?.reporter; if (reporter != null && typeof reporter === "function") { logger_1.streamParser.on("data", reporter); } const deps = fuzzyDeps.map((dep) => (0, parse_wanted_dependency_1.parseWantedDependency)(dep)); let hasFailures = false; const prefix = opts.prefix ?? process.cwd(); await Promise.all(deps.map(async (dep) => { try { const pkgResponse = await opts.storeController.requestPackage(dep, { downloadPriority: 1, lockfileDir: prefix, preferredVersions: {}, projectDir: prefix, supportedArchitectures: opts.supportedArchitectures }); await pkgResponse.fetching(); (0, logger_1.globalInfo)(`+ ${pkgResponse.body.id}`); } catch (e) { hasFailures = true; (0, logger_1.logger)("store").error(e); } })); if (reporter != null && typeof reporter === "function") { logger_1.streamParser.removeListener("data", reporter); } if (hasFailures) { throw new error_1.PnpmError("STORE_ADD_FAILURE", "Some packages have not been added correctly"); } } } }); // ../store/plugin-commands-store/lib/cleanExpiredDlxCache.js var require_cleanExpiredDlxCache = __commonJS({ "../store/plugin-commands-store/lib/cleanExpiredDlxCache.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.cleanExpiredDlxCache = cleanExpiredDlxCache; exports2.cleanOrphans = cleanOrphans; var fs_1 = require("fs"); var promises_1 = __importDefault2(require("fs/promises")); var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); async function cleanExpiredDlxCache({ cacheDir, dlxCacheMaxAge, now }) { if (dlxCacheMaxAge === Infinity) return; const dlxCacheDir = path_1.default.join(cacheDir, "dlx"); const dlxCacheNames = readOptDir(dlxCacheDir); if (!dlxCacheNames) return; await Promise.all(dlxCacheNames.map(async (dlxCacheName) => { const dlxCachePath = path_1.default.join(dlxCacheDir, dlxCacheName); const dlxCacheLink = path_1.default.join(dlxCachePath, "pkg"); let shouldClean; if (dlxCacheMaxAge <= 0) { shouldClean = true; } else { const dlxCacheLinkStats = await getStats(dlxCacheLink); shouldClean = dlxCacheLinkStats !== "ENOENT" && isOutdated(dlxCacheLinkStats, dlxCacheMaxAge, now); } if (shouldClean) { await promises_1.default.rm(dlxCachePath, { recursive: true, force: true }); } })); await cleanOrphans(dlxCacheDir); } async function cleanOrphans(dlxCacheDir) { const dlxCacheNames = readOptDir(dlxCacheDir); if (!dlxCacheNames) return; await Promise.all(dlxCacheNames.map(async (dlxCacheName) => { const dlxCachePath = path_1.default.join(dlxCacheDir, dlxCacheName); const dlxCacheLink = path_1.default.join(dlxCachePath, "pkg"); const dlxCacheLinkStats = await getStats(dlxCacheLink); if (dlxCacheLinkStats === "ENOENT") { return promises_1.default.rm(dlxCachePath, { recursive: true, force: true }); } const dlxCacheLinkTarget = await getRealPath(dlxCacheLink); const children = await promises_1.default.readdir(dlxCachePath); await Promise.all(children.map(async (name) => { if (name === "pkg") return; const fullPath = path_1.default.join(dlxCachePath, name); if (fullPath === dlxCacheLinkTarget) return; await promises_1.default.rm(fullPath, { recursive: true, force: true }); })); })); } function isOutdated(stats, dlxCacheMaxAge, now) { return stats.mtime.getTime() + dlxCacheMaxAge * 6e4 < now.getTime(); } async function getStats(path2) { try { return await promises_1.default.lstat(path2); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { return "ENOENT"; } throw err; } } function readOptDir(dirPath) { try { return (0, fs_1.readdirSync)(dirPath, "utf-8"); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { return null; } throw err; } } async function getRealPath(linkPath) { try { return await promises_1.default.realpath(linkPath); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { return null; } throw err; } } } }); // ../store/plugin-commands-store/lib/storePrune.js var require_storePrune = __commonJS({ "../store/plugin-commands-store/lib/storePrune.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.storePrune = storePrune; var logger_1 = require_lib(); var cleanExpiredDlxCache_js_1 = require_cleanExpiredDlxCache(); async function storePrune(opts) { const reporter = opts?.reporter; if (reporter != null && typeof reporter === "function") { logger_1.streamParser.on("data", reporter); } await opts.storeController.prune(opts.removeAlienFiles); await opts.storeController.close(); await (0, cleanExpiredDlxCache_js_1.cleanExpiredDlxCache)({ cacheDir: opts.cacheDir, dlxCacheMaxAge: opts.dlxCacheMaxAge, now: /* @__PURE__ */ new Date() }); if (reporter != null && typeof reporter === "function") { logger_1.streamParser.removeListener("data", reporter); } } } }); // ../node_modules/.pnpm/minipass@3.3.6/node_modules/minipass/index.js var require_minipass = __commonJS({ "../node_modules/.pnpm/minipass@3.3.6/node_modules/minipass/index.js"(exports2, module2) { "use strict"; var proc = typeof process === "object" && process ? process : { stdout: null, stderr: null }; var EE = require("events"); var Stream = require("stream"); var SD = require("string_decoder").StringDecoder; var EOF = Symbol("EOF"); var MAYBE_EMIT_END = Symbol("maybeEmitEnd"); var EMITTED_END = Symbol("emittedEnd"); var EMITTING_END = Symbol("emittingEnd"); var EMITTED_ERROR = Symbol("emittedError"); var CLOSED = Symbol("closed"); var READ = Symbol("read"); var FLUSH = Symbol("flush"); var FLUSHCHUNK = Symbol("flushChunk"); var ENCODING = Symbol("encoding"); var DECODER = Symbol("decoder"); var FLOWING = Symbol("flowing"); var PAUSED = Symbol("paused"); var RESUME = Symbol("resume"); var BUFFERLENGTH = Symbol("bufferLength"); var BUFFERPUSH = Symbol("bufferPush"); var BUFFERSHIFT = Symbol("bufferShift"); var OBJECTMODE = Symbol("objectMode"); var DESTROYED = Symbol("destroyed"); var EMITDATA = Symbol("emitData"); var EMITEND = Symbol("emitEnd"); var EMITEND2 = Symbol("emitEnd2"); var ASYNC = Symbol("async"); var defer = (fn) => Promise.resolve().then(fn); var doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1"; var ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented"); var ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented"); var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish"; var isArrayBuffer = (b) => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0; var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b); var Pipe = class { constructor(src, dest, opts) { this.src = src; this.dest = dest; this.opts = opts; this.ondrain = () => src[RESUME](); dest.on("drain", this.ondrain); } unpipe() { this.dest.removeListener("drain", this.ondrain); } // istanbul ignore next - only here for the prototype proxyErrors() { } end() { this.unpipe(); if (this.opts.end) this.dest.end(); } }; var PipeProxyErrors = class extends Pipe { unpipe() { this.src.removeListener("error", this.proxyErrors); super.unpipe(); } constructor(src, dest, opts) { super(src, dest, opts); this.proxyErrors = (er) => dest.emit("error", er); src.on("error", this.proxyErrors); } }; module2.exports = class Minipass extends Stream { constructor(options) { super(); this[FLOWING] = false; this[PAUSED] = false; this.pipes = []; this.buffer = []; this[OBJECTMODE] = options && options.objectMode || false; if (this[OBJECTMODE]) this[ENCODING] = null; else this[ENCODING] = options && options.encoding || null; if (this[ENCODING] === "buffer") this[ENCODING] = null; this[ASYNC] = options && !!options.async || false; this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null; this[EOF] = false; this[EMITTED_END] = false; this[EMITTING_END] = false; this[CLOSED] = false; this[EMITTED_ERROR] = null; this.writable = true; this.readable = true; this[BUFFERLENGTH] = 0; this[DESTROYED] = false; } get bufferLength() { return this[BUFFERLENGTH]; } get encoding() { return this[ENCODING]; } set encoding(enc) { if (this[OBJECTMODE]) throw new Error("cannot set encoding in objectMode"); if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH])) throw new Error("cannot change encoding"); if (this[ENCODING] !== enc) { this[DECODER] = enc ? new SD(enc) : null; if (this.buffer.length) this.buffer = this.buffer.map((chunk) => this[DECODER].write(chunk)); } this[ENCODING] = enc; } setEncoding(enc) { this.encoding = enc; } get objectMode() { return this[OBJECTMODE]; } set objectMode(om) { this[OBJECTMODE] = this[OBJECTMODE] || !!om; } get ["async"]() { return this[ASYNC]; } set ["async"](a) { this[ASYNC] = this[ASYNC] || !!a; } write(chunk, encoding, cb) { if (this[EOF]) throw new Error("write after end"); if (this[DESTROYED]) { this.emit("error", Object.assign( new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" } )); return true; } if (typeof encoding === "function") cb = encoding, encoding = "utf8"; if (!encoding) encoding = "utf8"; const fn = this[ASYNC] ? defer : (f) => f(); if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) { if (isArrayBufferView(chunk)) chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength); else if (isArrayBuffer(chunk)) chunk = Buffer.from(chunk); else if (typeof chunk !== "string") this.objectMode = true; } if (this[OBJECTMODE]) { if (this.flowing && this[BUFFERLENGTH] !== 0) this[FLUSH](true); if (this.flowing) this.emit("data", chunk); else this[BUFFERPUSH](chunk); if (this[BUFFERLENGTH] !== 0) this.emit("readable"); if (cb) fn(cb); return this.flowing; } if (!chunk.length) { if (this[BUFFERLENGTH] !== 0) this.emit("readable"); if (cb) fn(cb); return this.flowing; } if (typeof chunk === "string" && // unless it is a string already ready for us to use !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) { chunk = Buffer.from(chunk, encoding); } if (Buffer.isBuffer(chunk) && this[ENCODING]) chunk = this[DECODER].write(chunk); if (this.flowing && this[BUFFERLENGTH] !== 0) this[FLUSH](true); if (this.flowing) this.emit("data", chunk); else this[BUFFERPUSH](chunk); if (this[BUFFERLENGTH] !== 0) this.emit("readable"); if (cb) fn(cb); return this.flowing; } read(n) { if (this[DESTROYED]) return null; if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) { this[MAYBE_EMIT_END](); return null; } if (this[OBJECTMODE]) n = null; if (this.buffer.length > 1 && !this[OBJECTMODE]) { if (this.encoding) this.buffer = [this.buffer.join("")]; else this.buffer = [Buffer.concat(this.buffer, this[BUFFERLENGTH])]; } const ret2 = this[READ](n || null, this.buffer[0]); this[MAYBE_EMIT_END](); return ret2; } [READ](n, chunk) { if (n === chunk.length || n === null) this[BUFFERSHIFT](); else { this.buffer[0] = chunk.slice(n); chunk = chunk.slice(0, n); this[BUFFERLENGTH] -= n; } this.emit("data", chunk); if (!this.buffer.length && !this[EOF]) this.emit("drain"); return chunk; } end(chunk, encoding, cb) { if (typeof chunk === "function") cb = chunk, chunk = null; if (typeof encoding === "function") cb = encoding, encoding = "utf8"; if (chunk) this.write(chunk, encoding); if (cb) this.once("end", cb); this[EOF] = true; this.writable = false; if (this.flowing || !this[PAUSED]) this[MAYBE_EMIT_END](); return this; } // don't let the internal resume be overwritten [RESUME]() { if (this[DESTROYED]) return; this[PAUSED] = false; this[FLOWING] = true; this.emit("resume"); if (this.buffer.length) this[FLUSH](); else if (this[EOF]) this[MAYBE_EMIT_END](); else this.emit("drain"); } resume() { return this[RESUME](); } pause() { this[FLOWING] = false; this[PAUSED] = true; } get destroyed() { return this[DESTROYED]; } get flowing() { return this[FLOWING]; } get paused() { return this[PAUSED]; } [BUFFERPUSH](chunk) { if (this[OBJECTMODE]) this[BUFFERLENGTH] += 1; else this[BUFFERLENGTH] += chunk.length; this.buffer.push(chunk); } [BUFFERSHIFT]() { if (this.buffer.length) { if (this[OBJECTMODE]) this[BUFFERLENGTH] -= 1; else this[BUFFERLENGTH] -= this.buffer[0].length; } return this.buffer.shift(); } [FLUSH](noDrain) { do { } while (this[FLUSHCHUNK](this[BUFFERSHIFT]())); if (!noDrain && !this.buffer.length && !this[EOF]) this.emit("drain"); } [FLUSHCHUNK](chunk) { return chunk ? (this.emit("data", chunk), this.flowing) : false; } pipe(dest, opts) { if (this[DESTROYED]) return; const ended = this[EMITTED_END]; opts = opts || {}; if (dest === proc.stdout || dest === proc.stderr) opts.end = false; else opts.end = opts.end !== false; opts.proxyErrors = !!opts.proxyErrors; if (ended) { if (opts.end) dest.end(); } else { this.pipes.push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts)); if (this[ASYNC]) defer(() => this[RESUME]()); else this[RESUME](); } return dest; } unpipe(dest) { const p = this.pipes.find((p2) => p2.dest === dest); if (p) { this.pipes.splice(this.pipes.indexOf(p), 1); p.unpipe(); } } addListener(ev, fn) { return this.on(ev, fn); } on(ev, fn) { const ret2 = super.on(ev, fn); if (ev === "data" && !this.pipes.length && !this.flowing) this[RESUME](); else if (ev === "readable" && this[BUFFERLENGTH] !== 0) super.emit("readable"); else if (isEndish(ev) && this[EMITTED_END]) { super.emit(ev); this.removeAllListeners(ev); } else if (ev === "error" && this[EMITTED_ERROR]) { if (this[ASYNC]) defer(() => fn.call(this, this[EMITTED_ERROR])); else fn.call(this, this[EMITTED_ERROR]); } return ret2; } get emittedEnd() { return this[EMITTED_END]; } [MAYBE_EMIT_END]() { if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this.buffer.length === 0 && this[EOF]) { this[EMITTING_END] = true; this.emit("end"); this.emit("prefinish"); this.emit("finish"); if (this[CLOSED]) this.emit("close"); this[EMITTING_END] = false; } } emit(ev, data, ...extra) { if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) return; else if (ev === "data") { return !data ? false : this[ASYNC] ? defer(() => this[EMITDATA](data)) : this[EMITDATA](data); } else if (ev === "end") { return this[EMITEND](); } else if (ev === "close") { this[CLOSED] = true; if (!this[EMITTED_END] && !this[DESTROYED]) return; const ret3 = super.emit("close"); this.removeAllListeners("close"); return ret3; } else if (ev === "error") { this[EMITTED_ERROR] = data; const ret3 = super.emit("error", data); this[MAYBE_EMIT_END](); return ret3; } else if (ev === "resume") { const ret3 = super.emit("resume"); this[MAYBE_EMIT_END](); return ret3; } else if (ev === "finish" || ev === "prefinish") { const ret3 = super.emit(ev); this.removeAllListeners(ev); return ret3; } const ret2 = super.emit(ev, data, ...extra); this[MAYBE_EMIT_END](); return ret2; } [EMITDATA](data) { for (const p of this.pipes) { if (p.dest.write(data) === false) this.pause(); } const ret2 = super.emit("data", data); this[MAYBE_EMIT_END](); return ret2; } [EMITEND]() { if (this[EMITTED_END]) return; this[EMITTED_END] = true; this.readable = false; if (this[ASYNC]) defer(() => this[EMITEND2]()); else this[EMITEND2](); } [EMITEND2]() { if (this[DECODER]) { const data = this[DECODER].end(); if (data) { for (const p of this.pipes) { p.dest.write(data); } super.emit("data", data); } } for (const p of this.pipes) { p.end(); } const ret2 = super.emit("end"); this.removeAllListeners("end"); return ret2; } // const all = await stream.collect() collect() { const buf = []; if (!this[OBJECTMODE]) buf.dataLength = 0; const p = this.promise(); this.on("data", (c) => { buf.push(c); if (!this[OBJECTMODE]) buf.dataLength += c.length; }); return p.then(() => buf); } // const data = await stream.concat() concat() { return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then((buf) => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength)); } // stream.promise().then(() => done, er => emitted error) promise() { return new Promise((resolve, reject) => { this.on(DESTROYED, () => reject(new Error("stream destroyed"))); this.on("error", (er) => reject(er)); this.on("end", () => resolve()); }); } // for await (let chunk of stream) [ASYNCITERATOR]() { const next = () => { const res = this.read(); if (res !== null) return Promise.resolve({ done: false, value: res }); if (this[EOF]) return Promise.resolve({ done: true }); let resolve = null; let reject = null; const onerr = (er) => { this.removeListener("data", ondata); this.removeListener("end", onend); reject(er); }; const ondata = (value) => { this.removeListener("error", onerr); this.removeListener("end", onend); this.pause(); resolve({ value, done: !!this[EOF] }); }; const onend = () => { this.removeListener("error", onerr); this.removeListener("data", ondata); resolve({ done: true }); }; const ondestroy = () => onerr(new Error("stream destroyed")); return new Promise((res2, rej) => { reject = rej; resolve = res2; this.once(DESTROYED, ondestroy); this.once("error", onerr); this.once("end", onend); this.once("data", ondata); }); }; return { next }; } // for (let chunk of stream) [ITERATOR]() { const next = () => { const value = this.read(); const done = value === null; return { value, done }; }; return { next }; } destroy(er) { if (this[DESTROYED]) { if (er) this.emit("error", er); else this.emit(DESTROYED); return this; } this[DESTROYED] = true; this.buffer.length = 0; this[BUFFERLENGTH] = 0; if (typeof this.close === "function" && !this[CLOSED]) this.close(); if (er) this.emit("error", er); else this.emit(DESTROYED); return this; } static isStream(s) { return !!s && (s instanceof Minipass || s instanceof Stream || s instanceof EE && (typeof s.pipe === "function" || // readable typeof s.write === "function" && typeof s.end === "function")); } }; } }); // ../node_modules/.pnpm/ssri@8.0.1/node_modules/ssri/index.js var require_ssri = __commonJS({ "../node_modules/.pnpm/ssri@8.0.1/node_modules/ssri/index.js"(exports2, module2) { "use strict"; var crypto5 = require("crypto"); var MiniPass = require_minipass(); var SPEC_ALGORITHMS = ["sha256", "sha384", "sha512"]; var BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i; var SRI_REGEX = /^([a-z0-9]+)-([^?]+)([?\S*]*)$/; var STRICT_SRI_REGEX = /^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)?$/; var VCHAR_REGEX = /^[\x21-\x7E]+$/; var defaultOpts = { algorithms: ["sha512"], error: false, options: [], pickAlgorithm: getPrioritizedHash, sep: " ", single: false, strict: false }; var ssriOpts = (opts = {}) => ({ ...defaultOpts, ...opts }); var getOptString = (options) => !options || !options.length ? "" : `?${options.join("?")}`; var _onEnd = Symbol("_onEnd"); var _getOptions = Symbol("_getOptions"); var IntegrityStream = class extends MiniPass { constructor(opts) { super(); this.size = 0; this.opts = opts; this[_getOptions](); const { algorithms = defaultOpts.algorithms } = opts; this.algorithms = Array.from( new Set(algorithms.concat(this.algorithm ? [this.algorithm] : [])) ); this.hashes = this.algorithms.map(crypto5.createHash); } [_getOptions]() { const { integrity, size, options } = { ...defaultOpts, ...this.opts }; this.sri = integrity ? parse2(integrity, this.opts) : null; this.expectedSize = size; this.goodSri = this.sri ? !!Object.keys(this.sri).length : false; this.algorithm = this.goodSri ? this.sri.pickAlgorithm(this.opts) : null; this.digests = this.goodSri ? this.sri[this.algorithm] : null; this.optString = getOptString(options); } emit(ev, data) { if (ev === "end") this[_onEnd](); return super.emit(ev, data); } write(data) { this.size += data.length; this.hashes.forEach((h) => h.update(data)); return super.write(data); } [_onEnd]() { if (!this.goodSri) { this[_getOptions](); } const newSri = parse2(this.hashes.map((h, i) => { return `${this.algorithms[i]}-${h.digest("base64")}${this.optString}`; }).join(" "), this.opts); const match = this.goodSri && newSri.match(this.sri, this.opts); if (typeof this.expectedSize === "number" && this.size !== this.expectedSize) { const err = new Error(`stream size mismatch when checking ${this.sri}. Wanted: ${this.expectedSize} Found: ${this.size}`); err.code = "EBADSIZE"; err.found = this.size; err.expected = this.expectedSize; err.sri = this.sri; this.emit("error", err); } else if (this.sri && !match) { const err = new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${newSri}. (${this.size} bytes)`); err.code = "EINTEGRITY"; err.found = newSri; err.expected = this.digests; err.algorithm = this.algorithm; err.sri = this.sri; this.emit("error", err); } else { this.emit("size", this.size); this.emit("integrity", newSri); match && this.emit("verified", match); } } }; var Hash = class { get isHash() { return true; } constructor(hash, opts) { opts = ssriOpts(opts); const strict = !!opts.strict; this.source = hash.trim(); this.digest = ""; this.algorithm = ""; this.options = []; const match = this.source.match( strict ? STRICT_SRI_REGEX : SRI_REGEX ); if (!match) { return; } if (strict && !SPEC_ALGORITHMS.some((a) => a === match[1])) { return; } this.algorithm = match[1]; this.digest = match[2]; const rawOpts = match[3]; if (rawOpts) { this.options = rawOpts.slice(1).split("?"); } } hexDigest() { return this.digest && Buffer.from(this.digest, "base64").toString("hex"); } toJSON() { return this.toString(); } toString(opts) { opts = ssriOpts(opts); if (opts.strict) { if (!// The spec has very restricted productions for algorithms. // https://www.w3.org/TR/CSP2/#source-list-syntax (SPEC_ALGORITHMS.some((x) => x === this.algorithm) && // Usually, if someone insists on using a "different" base64, we // leave it as-is, since there's multiple standards, and the // specified is not a URL-safe variant. // https://www.w3.org/TR/CSP2/#base64_value this.digest.match(BASE64_REGEX) && // Option syntax is strictly visual chars. // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression // https://tools.ietf.org/html/rfc5234#appendix-B.1 this.options.every((opt) => opt.match(VCHAR_REGEX)))) { return ""; } } const options = this.options && this.options.length ? `?${this.options.join("?")}` : ""; return `${this.algorithm}-${this.digest}${options}`; } }; var Integrity = class { get isIntegrity() { return true; } toJSON() { return this.toString(); } isEmpty() { return Object.keys(this).length === 0; } toString(opts) { opts = ssriOpts(opts); let sep = opts.sep || " "; if (opts.strict) { sep = sep.replace(/\S+/g, " "); } return Object.keys(this).map((k) => { return this[k].map((hash) => { return Hash.prototype.toString.call(hash, opts); }).filter((x) => x.length).join(sep); }).filter((x) => x.length).join(sep); } concat(integrity, opts) { opts = ssriOpts(opts); const other = typeof integrity === "string" ? integrity : stringify2(integrity, opts); return parse2(`${this.toString(opts)} ${other}`, opts); } hexDigest() { return parse2(this, { single: true }).hexDigest(); } // add additional hashes to an integrity value, but prevent // *changing* an existing integrity hash. merge(integrity, opts) { opts = ssriOpts(opts); const other = parse2(integrity, opts); for (const algo in other) { if (this[algo]) { if (!this[algo].find((hash) => other[algo].find((otherhash) => hash.digest === otherhash.digest))) { throw new Error("hashes do not match, cannot update integrity"); } } else { this[algo] = other[algo]; } } } match(integrity, opts) { opts = ssriOpts(opts); const other = parse2(integrity, opts); const algo = other.pickAlgorithm(opts); return this[algo] && other[algo] && this[algo].find( (hash) => other[algo].find( (otherhash) => hash.digest === otherhash.digest ) ) || false; } pickAlgorithm(opts) { opts = ssriOpts(opts); const pickAlgorithm = opts.pickAlgorithm; const keys = Object.keys(this); return keys.reduce((acc, algo) => { return pickAlgorithm(acc, algo) || acc; }); } }; module2.exports.parse = parse2; function parse2(sri, opts) { if (!sri) return null; opts = ssriOpts(opts); if (typeof sri === "string") { return _parse(sri, opts); } else if (sri.algorithm && sri.digest) { const fullSri = new Integrity(); fullSri[sri.algorithm] = [sri]; return _parse(stringify2(fullSri, opts), opts); } else { return _parse(stringify2(sri, opts), opts); } } function _parse(integrity, opts) { if (opts.single) { return new Hash(integrity, opts); } const hashes = integrity.trim().split(/\s+/).reduce((acc, string) => { const hash = new Hash(string, opts); if (hash.algorithm && hash.digest) { const algo = hash.algorithm; if (!acc[algo]) { acc[algo] = []; } acc[algo].push(hash); } return acc; }, new Integrity()); return hashes.isEmpty() ? null : hashes; } module2.exports.stringify = stringify2; function stringify2(obj, opts) { opts = ssriOpts(opts); if (obj.algorithm && obj.digest) { return Hash.prototype.toString.call(obj, opts); } else if (typeof obj === "string") { return stringify2(parse2(obj, opts), opts); } else { return Integrity.prototype.toString.call(obj, opts); } } module2.exports.fromHex = fromHex; function fromHex(hexDigest, algorithm, opts) { opts = ssriOpts(opts); const optString = getOptString(opts.options); return parse2( `${algorithm}-${Buffer.from(hexDigest, "hex").toString("base64")}${optString}`, opts ); } module2.exports.fromData = fromData; function fromData(data, opts) { opts = ssriOpts(opts); const algorithms = opts.algorithms; const optString = getOptString(opts.options); return algorithms.reduce((acc, algo) => { const digest = crypto5.createHash(algo).update(data).digest("base64"); const hash = new Hash( `${algo}-${digest}${optString}`, opts ); if (hash.algorithm && hash.digest) { const algo2 = hash.algorithm; if (!acc[algo2]) { acc[algo2] = []; } acc[algo2].push(hash); } return acc; }, new Integrity()); } module2.exports.fromStream = fromStream; function fromStream(stream, opts) { opts = ssriOpts(opts); const istream = integrityStream(opts); return new Promise((resolve, reject) => { stream.pipe(istream); stream.on("error", reject); istream.on("error", reject); let sri; istream.on("integrity", (s) => { sri = s; }); istream.on("end", () => resolve(sri)); istream.on("data", () => { }); }); } module2.exports.checkData = checkData; function checkData(data, sri, opts) { opts = ssriOpts(opts); sri = parse2(sri, opts); if (!sri || !Object.keys(sri).length) { if (opts.error) { throw Object.assign( new Error("No valid integrity hashes to check against"), { code: "EINTEGRITY" } ); } else { return false; } } const algorithm = sri.pickAlgorithm(opts); const digest = crypto5.createHash(algorithm).update(data).digest("base64"); const newSri = parse2({ algorithm, digest }); const match = newSri.match(sri, opts); if (match || !opts.error) { return match; } else if (typeof opts.size === "number" && data.length !== opts.size) { const err = new Error(`data size mismatch when checking ${sri}. Wanted: ${opts.size} Found: ${data.length}`); err.code = "EBADSIZE"; err.found = data.length; err.expected = opts.size; err.sri = sri; throw err; } else { const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`); err.code = "EINTEGRITY"; err.found = newSri; err.expected = sri; err.algorithm = algorithm; err.sri = sri; throw err; } } module2.exports.checkStream = checkStream; function checkStream(stream, sri, opts) { opts = ssriOpts(opts); opts.integrity = sri; sri = parse2(sri, opts); if (!sri || !Object.keys(sri).length) { return Promise.reject(Object.assign( new Error("No valid integrity hashes to check against"), { code: "EINTEGRITY" } )); } const checker = integrityStream(opts); return new Promise((resolve, reject) => { stream.pipe(checker); stream.on("error", reject); checker.on("error", reject); let sri2; checker.on("verified", (s) => { sri2 = s; }); checker.on("end", () => resolve(sri2)); checker.on("data", () => { }); }); } module2.exports.integrityStream = integrityStream; function integrityStream(opts = {}) { return new IntegrityStream(opts); } module2.exports.create = createIntegrity; function createIntegrity(opts) { opts = ssriOpts(opts); const algorithms = opts.algorithms; const optString = getOptString(opts.options); const hashes = algorithms.map(crypto5.createHash); return { update: function(chunk, enc) { hashes.forEach((h) => h.update(chunk, enc)); return this; }, digest: function(enc) { const integrity = algorithms.reduce((acc, algo) => { const digest = hashes.shift().digest("base64"); const hash = new Hash( `${algo}-${digest}${optString}`, opts ); if (hash.algorithm && hash.digest) { const algo2 = hash.algorithm; if (!acc[algo2]) { acc[algo2] = []; } acc[algo2].push(hash); } return acc; }, new Integrity()); return integrity; } }; } var NODE_HASHES = new Set(crypto5.getHashes()); var DEFAULT_PRIORITY = [ "md5", "whirlpool", "sha1", "sha224", "sha256", "sha384", "sha512", // TODO - it's unclear _which_ of these Node will actually use as its name // for the algorithm, so we guesswork it based on the OpenSSL names. "sha3", "sha3-256", "sha3-384", "sha3-512", "sha3_256", "sha3_384", "sha3_512" ].filter((algo) => NODE_HASHES.has(algo)); function getPrioritizedHash(algo1, algo2) { return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) ? algo1 : algo2; } } }); // ../node_modules/.pnpm/dint@5.1.0/node_modules/dint/index.js var require_dint = __commonJS({ "../node_modules/.pnpm/dint@5.1.0/node_modules/dint/index.js"(exports2, module2) { "use strict"; var fs = require("fs"); var ssri = require_ssri(); var path2 = require("path"); var pEvery = require_p_every(); var pLimit = require_p_limit(); var limit = pLimit(20); var MAX_BULK_SIZE = 1 * 1024 * 1024; function generateFrom(dirname) { return _retrieveFileIntegrities(dirname, dirname, {}); } async function _retrieveFileIntegrities(rootDir, currDir, index) { try { const files = await fs.promises.readdir(currDir); await Promise.all(files.map(async (file) => { const fullPath = path2.join(currDir, file); const stat = await fs.promises.stat(fullPath); if (stat.isDirectory()) { return _retrieveFileIntegrities(rootDir, fullPath, index); } if (stat.isFile()) { const relativePath = path2.relative(rootDir, fullPath); index[relativePath] = { size: stat.size, generatingIntegrity: limit(() => { return stat.size < MAX_BULK_SIZE ? fs.promises.readFile(fullPath).then(ssri.fromData) : ssri.fromStream(fs.createReadStream(fullPath)); }) }; } })); return index; } catch (err) { if (err.code !== "ENOENT") { throw err; } return index; } } function check(dirname, dirIntegrity) { dirname = path2.resolve(dirname); return pEvery(Object.keys(dirIntegrity), async (f) => { const fstat = dirIntegrity[f]; if (!fstat.integrity) return false; const filename = path2.join(dirname, f); if (fstat.size > MAX_BULK_SIZE) { try { return await ssri.checkStream(fs.createReadStream(filename), fstat.integrity); } catch (err) { if (err.code === "EINTEGRITY" || err.code === "ENOENT") return false; throw err; } } try { const data = await fs.promises.readFile(filename); return ssri.checkData(data, fstat.integrity); } catch (err) { if (err.code === "EINTEGRITY" || err.code === "ENOENT") return false; throw err; } }, { concurrency: 100 }); } module2.exports = { from: generateFrom, check }; } }); // ../store/plugin-commands-store/lib/storeStatus/extendStoreStatusOptions.js var require_extendStoreStatusOptions = __commonJS({ "../store/plugin-commands-store/lib/storeStatus/extendStoreStatusOptions.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.extendStoreStatusOptions = extendStoreStatusOptions; var path_1 = __importDefault2(require("path")); var normalize_registries_1 = require_lib122(); var defaults = async (opts) => { const dir = opts.dir ?? process.cwd(); const lockfileDir = opts.lockfileDir ?? dir; return { binsDir: path_1.default.join(dir, "node_modules", ".bin"), dir, force: false, lockfileDir, nodeLinker: "isolated", registries: normalize_registries_1.DEFAULT_REGISTRIES, shamefullyHoist: false, storeDir: opts.storeDir, useLockfile: true }; }; async function extendStoreStatusOptions(opts) { if (opts) { for (const key in opts) { if (opts[key] === void 0) { delete opts[key]; } } } const defaultOpts = await defaults(opts); const extendedOpts = { ...defaultOpts, ...opts, storeDir: defaultOpts.storeDir }; extendedOpts.registries = (0, normalize_registries_1.normalizeRegistries)(extendedOpts.registries); return extendedOpts; } } }); // ../store/plugin-commands-store/lib/storeStatus/index.js var require_storeStatus = __commonJS({ "../store/plugin-commands-store/lib/storeStatus/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.storeStatus = storeStatus; var path_1 = __importDefault2(require("path")); var store_cafs_1 = require_lib79(); var get_context_1 = require_lib124(); var lockfile_utils_1 = require_lib125(); var logger_1 = require_lib(); var dp = __importStar3(require_lib86()); var dint_1 = __importDefault2(require_dint()); var load_json_file_1 = __importDefault2(require_load_json_file()); var p_filter_1 = __importDefault2(require_p_filter()); var extendStoreStatusOptions_js_1 = require_extendStoreStatusOptions(); async function storeStatus(maybeOpts) { const reporter = maybeOpts?.reporter; if (reporter != null && typeof reporter === "function") { logger_1.streamParser.on("data", reporter); } const opts = await (0, extendStoreStatusOptions_js_1.extendStoreStatusOptions)(maybeOpts); const { storeDir, skipped, virtualStoreDir, wantedLockfile } = await (0, get_context_1.getContextForSingleImporter)({}, { ...opts, extraBinPaths: [] // ctx.extraBinPaths is not needed, so this is fine }); if (!wantedLockfile) return []; const pkgs = Object.entries(wantedLockfile.packages ?? {}).filter(([depPath]) => !skipped.has(depPath)).map(([depPath, pkgSnapshot]) => { const id = (0, lockfile_utils_1.packageIdFromSnapshot)(depPath, pkgSnapshot); return { depPath, id, integrity: pkgSnapshot.resolution.integrity, pkgPath: depPath, ...(0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot) }; }); const modified = await (0, p_filter_1.default)(pkgs, async ({ id, integrity, depPath, name }) => { const pkgIndexFilePath = integrity ? (0, store_cafs_1.getIndexFilePathInCafs)(storeDir, integrity, id) : path_1.default.join(storeDir, dp.depPathToFilename(id, maybeOpts.virtualStoreDirMaxLength), "integrity.json"); const { files } = await (0, load_json_file_1.default)(pkgIndexFilePath); return await dint_1.default.check(path_1.default.join(virtualStoreDir, dp.depPathToFilename(depPath, maybeOpts.virtualStoreDirMaxLength), "node_modules", name), files) === false; }, { concurrency: 8 }); if (reporter != null && typeof reporter === "function") { logger_1.streamParser.removeListener("data", reporter); } return modified.map(({ pkgPath }) => pkgPath); } } }); // ../store/plugin-commands-store/lib/store.js var require_store = __commonJS({ "../store/plugin-commands-store/lib/store.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = exports2.skipPackageManagerCheck = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var error_1 = require_lib6(); var logger_1 = require_lib(); var store_connection_manager_1 = require_lib94(); var store_path_1 = require_lib31(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var storeAdd_js_1 = require_storeAdd(); var storePrune_js_1 = require_storePrune(); var index_js_1 = require_storeStatus(); exports2.skipPackageManagerCheck = true; exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return (0, pick_1.default)([ "registry", "store-dir", "force" ], config_1.types); } exports2.commandNames = ["store"]; function help() { return (0, render_help_1.default)({ description: "Reads and performs actions on pnpm store that is on the current filesystem.", descriptionLists: [ { title: "Commands", list: [ { description: "Checks for modified packages in the store. Returns exit code 0 if the content of the package is the same as it was at the time of unpacking", name: "status" }, { description: "Adds new packages to the store. Example: pnpm store add express@4 typescript@2.1.0", name: "add ..." }, { description: "Removes unreferenced (extraneous, orphan) packages from the store. Pruning the store is not harmful, but might slow down future installations. Visit the documentation for more information on unreferenced packages and why they occur", name: "prune" }, { description: "If there are alien directories in the store, this command removes them. Alien directories are directories/files that were not created by the package manager.", name: "prune --force" }, { description: "Returns the path to the active store directory.", name: "path" } ] } ], url: (0, cli_utils_1.docsUrl)("store"), usages: ["pnpm store "] }); } var StoreStatusError = class extends error_1.PnpmError { modified; constructor(modified) { super("MODIFIED_DEPENDENCY", ""); this.modified = modified; } }; async function handler(opts, params) { let store; switch (params[0]) { case "status": return statusCmd(opts); case "path": return (0, store_path_1.getStorePath)({ pkgRoot: opts.dir, storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); case "prune": { store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); const storePruneOptions = Object.assign(opts, { storeController: store.ctrl, storeDir: store.dir, removeAlienFiles: opts.force, cacheDir: opts.cacheDir, dlxCacheMaxAge: opts.dlxCacheMaxAge }); return (0, storePrune_js_1.storePrune)(storePruneOptions); } case "add": store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts); return (0, storeAdd_js_1.storeAdd)(params.slice(1), { prefix: opts.dir, reporter: opts.reporter, storeController: store.ctrl, tag: opts.tag }); default: return help(); } } async function statusCmd(opts) { const modifiedPkgs = await (0, index_js_1.storeStatus)(Object.assign(opts, { storeDir: await (0, store_path_1.getStorePath)({ pkgRoot: opts.dir, storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }) })); if (!modifiedPkgs || modifiedPkgs.length === 0) { logger_1.logger.info({ message: "Packages in the store are untouched", prefix: opts.dir }); return; } throw new StoreStatusError(modifiedPkgs); } } }); // ../store/plugin-commands-store/lib/index.js var require_lib195 = __commonJS({ "../store/plugin-commands-store/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.store = void 0; var store = __importStar3(require_store()); exports2.store = store; } }); // ../store/plugin-commands-store-inspecting/lib/catIndex.js var require_catIndex = __commonJS({ "../store/plugin-commands-store-inspecting/lib/catIndex.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.rcOptionsTypes = exports2.commandNames = exports2.skipPackageManagerCheck = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var client_1 = require_lib78(); var error_1 = require_lib6(); var object_key_sorting_1 = require_lib96(); var store_path_1 = require_lib31(); var store_cafs_1 = require_lib79(); var parse_wanted_dependency_1 = require_lib100(); var load_json_file_1 = __importDefault2(require_load_json_file()); var render_help_1 = __importDefault2(require_lib109()); exports2.skipPackageManagerCheck = true; exports2.commandNames = ["cat-index"]; exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return {}; } function help() { return (0, render_help_1.default)({ description: "Prints the index file of a specific package from the store.", descriptionLists: [], usages: ["pnpm cat-index @"] }); } async function handler(opts, params) { if (!params || params.length === 0) { throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "Specify a package", { hint: help() }); } const wantedDependency = params[0]; const { alias, bareSpecifier } = (0, parse_wanted_dependency_1.parseWantedDependency)(wantedDependency) || {}; if (!alias) { throw new error_1.PnpmError("INVALID_SELECTOR", `Cannot parse the "${wantedDependency}" selector`); } const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: process.cwd(), storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); const { resolve } = (0, client_1.createResolver)({ ...opts, authConfig: opts.rawConfig }); const pkgSnapshot = await resolve({ alias, bareSpecifier }, { lockfileDir: opts.lockfileDir ?? opts.dir, preferredVersions: {}, projectDir: opts.dir }); const filesIndexFile = (0, store_cafs_1.getIndexFilePathInCafs)(storeDir, pkgSnapshot.resolution.integrity.toString(), `${alias}@${bareSpecifier}`); try { const pkgFilesIndex = await (0, load_json_file_1.default)(filesIndexFile); return JSON.stringify((0, object_key_sorting_1.sortDeepKeys)(pkgFilesIndex), null, 2); } catch { throw new error_1.PnpmError("INVALID_PACKAGE", "No corresponding index file found. You can use pnpm list to see if the package is installed."); } } } }); // ../store/plugin-commands-store-inspecting/lib/catFile.js var require_catFile = __commonJS({ "../store/plugin-commands-store-inspecting/lib/catFile.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.rcOptionsTypes = exports2.commandNames = exports2.skipPackageManagerCheck = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var path_1 = __importDefault2(require("path")); var util_1 = __importDefault2(require("util")); var error_1 = require_lib6(); var graceful_fs_1 = __importDefault2(require_lib15()); var store_path_1 = require_lib31(); var render_help_1 = __importDefault2(require_lib109()); var INTEGRITY_REGEX = /^([^-]+)-([A-Za-z0-9+/=]+)$/; exports2.skipPackageManagerCheck = true; exports2.commandNames = ["cat-file"]; exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return {}; } function help() { return (0, render_help_1.default)({ description: "Prints the contents of a file based on the hash value stored in the index file.", descriptionLists: [], usages: ["pnpm cat-file "] }); } async function handler(opts, params) { if (!params || params.length === 0) { throw new error_1.PnpmError("MISSING_HASH", "Missing file hash", { hint: help() }); } const [, , integrityHash] = params[0].match(INTEGRITY_REGEX); const toHex = Buffer.from(integrityHash, "base64").toString("hex"); const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: process.cwd(), storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); const cafsDir = path_1.default.join(storeDir, "files"); const filePath = path_1.default.resolve(cafsDir, toHex.slice(0, 2), toHex.slice(2)); try { return graceful_fs_1.default.readFileSync(filePath, "utf8"); } catch (err) { if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") { throw new error_1.PnpmError("INVALID_HASH", "Corresponding hash file not found"); } throw err; } } } }); // ../store/plugin-commands-store-inspecting/lib/findHash.js var require_findHash = __commonJS({ "../store/plugin-commands-store-inspecting/lib/findHash.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.rcOptionsTypes = exports2.commandNames = exports2.skipPackageManagerCheck = exports2.INDEX_PATH_CLR = exports2.PACKAGE_INFO_CLR = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var path_1 = __importDefault2(require("path")); var fs_1 = __importDefault2(require("fs")); var chalk_1 = __importDefault2(require_source()); var error_1 = require_lib6(); var store_path_1 = require_lib31(); var load_json_file_1 = __importDefault2(require_load_json_file()); var render_help_1 = __importDefault2(require_lib109()); exports2.PACKAGE_INFO_CLR = chalk_1.default.greenBright; exports2.INDEX_PATH_CLR = chalk_1.default.hex("#078487"); exports2.skipPackageManagerCheck = true; exports2.commandNames = ["find-hash"]; exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return {}; } function help() { return (0, render_help_1.default)({ description: "Experimental! Lists the packages that include the file with the specified hash.", descriptionLists: [], usages: ["pnpm find-hash "] }); } async function handler(opts, params) { if (!params || params.length === 0) { throw new error_1.PnpmError("MISSING_HASH", "`pnpm find-hash` requires the hash"); } const hash = params[0]; const storeDir = await (0, store_path_1.getStorePath)({ pkgRoot: process.cwd(), storePath: opts.storeDir, pnpmHomeDir: opts.pnpmHomeDir }); const indexDir = path_1.default.join(storeDir, "index"); const cafsChildrenDirs = fs_1.default.readdirSync(indexDir, { withFileTypes: true }).filter((file) => file.isDirectory()); const indexFiles = []; const result2 = []; for (const { name: dirName } of cafsChildrenDirs) { const dirIndexFiles = fs_1.default.readdirSync(`${indexDir}/${dirName}`).filter((fileName) => fileName.includes(".json"))?.map((fileName) => `${indexDir}/${dirName}/${fileName}`); indexFiles.push(...dirIndexFiles); } for (const filesIndexFile of indexFiles) { const pkgFilesIndex = load_json_file_1.default.sync(filesIndexFile); for (const [, file] of Object.entries(pkgFilesIndex.files)) { if (file?.integrity === hash) { result2.push({ name: pkgFilesIndex.name ?? "unknown", version: pkgFilesIndex?.version ?? "unknown", filesIndexFile: filesIndexFile.replace(indexDir, "") }); continue; } } if (pkgFilesIndex?.sideEffects) { for (const { added } of Object.values(pkgFilesIndex.sideEffects)) { if (!added) continue; for (const file of Object.values(added)) { if (file?.integrity === hash) { result2.push({ name: pkgFilesIndex.name ?? "unknown", version: pkgFilesIndex?.version ?? "unknown", filesIndexFile: filesIndexFile.replace(indexDir, "") }); continue; } } } } } if (!result2.length) { throw new error_1.PnpmError("INVALID_FILE_HASH", "No package or index file matching this hash was found."); } let acc = ""; for (const { name, version: version2, filesIndexFile } of result2) { acc += `${(0, exports2.PACKAGE_INFO_CLR)(name)}@${(0, exports2.PACKAGE_INFO_CLR)(version2)} ${(0, exports2.INDEX_PATH_CLR)(filesIndexFile)} `; } return acc; } } }); // ../store/plugin-commands-store-inspecting/lib/index.js var require_lib196 = __commonJS({ "../store/plugin-commands-store-inspecting/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.findHash = exports2.catFile = exports2.catIndex = void 0; var catIndex = __importStar3(require_catIndex()); exports2.catIndex = catIndex; var catFile = __importStar3(require_catFile()); exports2.catFile = catFile; var findHash = __importStar3(require_findHash()); exports2.findHash = findHash; } }); // ../packages/plugin-commands-init/lib/utils.js var require_utils20 = __commonJS({ "../packages/plugin-commands-init/lib/utils.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.personToString = personToString; exports2.workWithInitModule = workWithInitModule; exports2.workWithInitConfig = workWithInitConfig; exports2.parseRawConfig = parseRawConfig; var path_1 = __importDefault2(require("path")); var child_process_1 = require("child_process"); var camelcase_keys_1 = __importDefault2(require_camelcase_keys()); var fs_1 = __importDefault2(require("fs")); function personToString(person) { const name = person.name ?? ""; const u = person.url ?? person.web; const url = u ? ` (${u})` : ""; const e = person.email ?? person.mail; const email = e ? ` <${e}>` : ""; return name + email + url; } function workWithInitModule(localConfig) { const { initModule, ...restConfig } = localConfig; if (initModule) { const filePath = path_1.default.resolve(localConfig.initModule); const isFileExist = fs_1.default.existsSync(filePath); if ([".js", ".cjs"].includes(path_1.default.extname(filePath)) && isFileExist) { (0, child_process_1.spawnSync)("node", [filePath], { stdio: "inherit" }); } } return restConfig; } function workWithInitConfig(localConfig) { const packageJson = {}; const authorInfo = {}; for (const localConfigKey in localConfig) { if (localConfigKey.startsWith("init") && localConfigKey !== "initPackageManager") { const pureKey = localConfigKey.replace("init", ""); const value = localConfig[localConfigKey]; if (pureKey.startsWith("Author")) { authorInfo[pureKey.replace("Author", "")] = value; } else { packageJson[pureKey] = value; } } } const author = personToString((0, camelcase_keys_1.default)(authorInfo)); if (author) { packageJson.author = author; } return (0, camelcase_keys_1.default)(packageJson); } async function parseRawConfig(rawConfig) { return workWithInitConfig(workWithInitModule((0, camelcase_keys_1.default)(rawConfig))); } } }); // ../packages/plugin-commands-init/lib/init.js var require_init2 = __commonJS({ "../packages/plugin-commands-init/lib/init.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var fs_1 = __importDefault2(require("fs")); var path_1 = __importDefault2(require("path")); var cli_utils_1 = require_lib103(); var cli_meta_1 = require_lib4(); var config_1 = require_lib23(); var error_1 = require_lib6(); var object_key_sorting_1 = require_lib96(); var write_project_manifest_1 = require_lib14(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); var utils_js_1 = require_utils20(); exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return { ...(0, pick_1.default)([ "init-package-manager", "init-type" ], config_1.types), bare: Boolean }; } exports2.commandNames = ["init"]; function help() { return (0, render_help_1.default)({ description: "Create a package.json file", descriptionLists: [ { title: "Options", list: [ { description: 'Set the module system for the package. Defaults to "commonjs".', name: "--init-type " }, { description: 'Pin the project to the current pnpm version by adding a "packageManager" field to package.json', name: "--init-package-manager" }, { description: "Create a package.json file with the bare minimum of required fields", name: "--bare" } ] } ], url: (0, cli_utils_1.docsUrl)("init"), usages: ["pnpm init"] }); } async function handler(opts, params) { if (params?.length) { throw new error_1.PnpmError("INIT_ARG", "init command does not accept any arguments", { hint: `Maybe you wanted to run "pnpm create ${params.join(" ")}"` }); } const manifestPath = path_1.default.join(opts.cliOptions.dir ?? process.cwd(), "package.json"); if (fs_1.default.existsSync(manifestPath)) { throw new error_1.PnpmError("PACKAGE_JSON_EXISTS", "package.json already exists"); } const manifest = opts.bare ? {} : { name: path_1.default.basename(process.cwd()), version: "1.0.0", description: "", main: "index.js", scripts: { test: 'echo "Error: no test specified" && exit 1' }, keywords: [], author: "", license: "ISC" }; if (opts.initType === "module") { manifest.type = opts.initType; } const config = await (0, utils_js_1.parseRawConfig)(opts.rawConfig); const packageJson = { ...manifest, ...config }; if (opts.initPackageManager) { packageJson.packageManager = `pnpm@${cli_meta_1.packageManager.version}`; } const priority = Object.fromEntries([ "name", "version", "private", "description", "main", "scripts", "keywords", "author", "license", "packageManager" ].map((key, index) => [key, index])); const sortedPackageJson = (0, object_key_sorting_1.sortKeysByPriority)({ priority }, packageJson); await (0, write_project_manifest_1.writeProjectManifest)(manifestPath, sortedPackageJson, { indent: 2 }); return `Wrote to ${manifestPath} ${JSON.stringify(sortedPackageJson, null, 2)}`; } } }); // ../packages/plugin-commands-init/lib/index.js var require_lib197 = __commonJS({ "../packages/plugin-commands-init/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.init = void 0; var init = __importStar3(require_init2()); exports2.init = init; } }); // lib/shorthands.js var require_shorthands = __commonJS({ "lib/shorthands.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.shorthands = void 0; exports2.shorthands = { s: "--reporter=silent", d: "--loglevel=info", dd: "--loglevel=verbose", ddd: "--loglevel=silly", L: "--latest", r: "--recursive", silent: "--reporter=silent", verbose: "--loglevel=verbose", quiet: "--loglevel=warn", q: "--loglevel=warn", h: "--help", H: "--help", "?": "--help", usage: "--help", v: "--version", f: "--force", local: "--no-global", l: "--long", p: "--parseable", porcelain: "--parseable", prod: "--production", development: "--dev", g: "--global", S: "--save", D: "--save-dev", P: "--save-prod", E: "--save-exact", O: "--save-optional", C: "--dir", w: "--workspace-root", i: "--interactive", F: "--filter" }; } }); // ../cli/parse-cli-args/lib/index.js var require_lib198 = __commonJS({ "../cli/parse-cli-args/lib/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseCliArgs = parseCliArgs; var error_1 = require_lib6(); var find_workspace_dir_1 = require_lib137(); var nopt_1 = __importDefault2(require_nopt()); var didyoumean2_1 = __importStar3(require_dist26()); var RECURSIVE_CMDS = /* @__PURE__ */ new Set(["recursive", "multi", "m"]); var SPECIALLY_ESCAPED_CMDS = /* @__PURE__ */ new Set(["run", "dlx"]); async function parseCliArgs(opts, inputArgv) { const noptExploratoryResults = (0, nopt_1.default)({ filter: [String], help: Boolean, recursive: Boolean, ...opts.universalOptionsTypes, ...opts.getTypesByCommandName("add"), ...opts.getTypesByCommandName("install") }, { r: "--recursive", ...opts.universalShorthands }, inputArgv, 0, { escapeArgs: opts.escapeArgs }); const recursiveCommandUsed = RECURSIVE_CMDS.has(noptExploratoryResults.argv.remain[0]); let commandName = getCommandName(noptExploratoryResults.argv.remain); let cmd = commandName ? opts.getCommandLongName(commandName) : null; const fallbackCommandUsed = Boolean(commandName && !cmd && opts.fallbackCommand); if (fallbackCommandUsed) { cmd = opts.fallbackCommand; commandName = opts.fallbackCommand; inputArgv.unshift(opts.fallbackCommand); } else if (!SPECIALLY_ESCAPED_CMDS.has(cmd)) { if (noptExploratoryResults["help"]) { return { ...getParsedArgsForHelp(), workspaceDir: await getWorkspaceDir(noptExploratoryResults) }; } if (noptExploratoryResults["version"] || noptExploratoryResults["v"]) { return { argv: noptExploratoryResults.argv, cmd: null, options: { version: true }, params: noptExploratoryResults.argv.remain, unknownOptions: /* @__PURE__ */ new Map(), fallbackCommandUsed: false, workspaceDir: await getWorkspaceDir(noptExploratoryResults) }; } } function getParsedArgsForHelp() { return { argv: noptExploratoryResults.argv, cmd: "help", options: {}, params: noptExploratoryResults.argv.remain, unknownOptions: /* @__PURE__ */ new Map(), fallbackCommandUsed: false }; } const types = { ...opts.universalOptionsTypes, ...opts.getTypesByCommandName(commandName) }; function getCommandName(args) { if (recursiveCommandUsed) { args = args.slice(1); } if (opts.getCommandLongName(args[0]) !== "install" || args.length === 1) { return args[0]; } return "add"; } function getEscapeArgsWithSpecialCases() { if (!SPECIALLY_ESCAPED_CMDS.has(cmd)) { return opts.escapeArgs; } const indexOfRunScriptName = 1 + (recursiveCommandUsed ? 1 : 0) + (fallbackCommandUsed && opts.fallbackCommand === "run" ? -1 : 0); return [noptExploratoryResults.argv.remain[indexOfRunScriptName]]; } const { argv: argv2, ...options } = (0, nopt_1.default)({ recursive: Boolean, ...types }, { ...opts.universalShorthands, ...opts.shorthandsByCommandName[commandName] }, inputArgv, 0, { escapeArgs: getEscapeArgsWithSpecialCases() }); const workspaceDir = await getWorkspaceDir(options); if (SPECIALLY_ESCAPED_CMDS.has(cmd) && options["help"]) { return { ...getParsedArgsForHelp(), workspaceDir }; } if (opts.renamedOptions != null) { for (const [cliOption, optionValue] of Object.entries(options)) { if (opts.renamedOptions[cliOption]) { options[opts.renamedOptions[cliOption]] = optionValue; delete options[cliOption]; } } } const params = argv2.remain.slice(1); if (options["recursive"] !== true && (options["filter"] || options["filter-prod"] || recursiveCommandUsed)) { options["recursive"] = true; const subCmd = argv2.remain[1] && opts.getCommandLongName(argv2.remain[1]); if (subCmd && recursiveCommandUsed) { params.shift(); argv2.remain.shift(); cmd = subCmd; } } if (options["workspace-root"]) { if (options["global"]) { throw new error_1.PnpmError("OPTIONS_CONFLICT", "--workspace-root may not be used with --global"); } if (!workspaceDir) { throw new error_1.PnpmError("NOT_IN_WORKSPACE", "--workspace-root may only be used inside a workspace"); } options["dir"] = workspaceDir; } if (cmd === "install" && params.length > 0) { cmd = "add"; } else if (!cmd && options["recursive"]) { cmd = "recursive"; } const knownOptions = new Set(Object.keys(types)); return { argv: argv2, cmd, params, workspaceDir, fallbackCommandUsed, ...normalizeOptions(options, knownOptions) }; } var CUSTOM_OPTION_PREFIX = "config."; function normalizeOptions(options, knownOptions) { const standardOptionNames = []; const normalizedOptions = {}; for (const [optionName, optionValue] of Object.entries(options)) { if (optionName.startsWith(CUSTOM_OPTION_PREFIX)) { normalizedOptions[optionName.substring(CUSTOM_OPTION_PREFIX.length)] = optionValue; continue; } normalizedOptions[optionName] = optionValue; standardOptionNames.push(optionName); } const unknownOptions = getUnknownOptions(standardOptionNames, knownOptions); return { options: normalizedOptions, unknownOptions }; } function getUnknownOptions(usedOptions, knownOptions) { const unknownOptions = /* @__PURE__ */ new Map(); const closestMatches = getClosestOptionMatches.bind(null, Array.from(knownOptions)); for (const usedOption of usedOptions) { if (knownOptions.has(usedOption) || usedOption.startsWith("//") || isScopeRegistryOption(usedOption)) continue; unknownOptions.set(usedOption, closestMatches(usedOption)); } return unknownOptions; } function isScopeRegistryOption(optionName) { return /^@[a-z0-9][\w.-]*:registry$/.test(optionName); } function getClosestOptionMatches(knownOptions, option) { return (0, didyoumean2_1.default)(option, knownOptions, { returnType: didyoumean2_1.ReturnTypeEnums.ALL_CLOSEST_MATCHES }); } async function getWorkspaceDir(parsedOpts) { if (parsedOpts["global"] || parsedOpts["ignore-workspace"]) return void 0; const dir = parsedOpts["dir"] ?? process.cwd(); return (0, find_workspace_dir_1.findWorkspaceDir)(dir); } } }); // lib/parseCliArgs.js var require_parseCliArgs = __commonJS({ "lib/parseCliArgs.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseCliArgs = parseCliArgs; var parse_cli_args_1 = require_lib198(); var index_js_1 = require_cmd(); var shorthands_js_1 = require_shorthands(); var RENAMED_OPTIONS = { "lockfile-directory": "lockfile-dir", prefix: "dir", "shrinkwrap-directory": "lockfile-dir", store: "store-dir" }; async function parseCliArgs(inputArgv) { return (0, parse_cli_args_1.parseCliArgs)({ fallbackCommand: "run", escapeArgs: ["create", "exec", "test"], getCommandLongName: index_js_1.getCommandFullName, getTypesByCommandName: index_js_1.getCliOptionsTypes, renamedOptions: RENAMED_OPTIONS, shorthandsByCommandName: index_js_1.shorthandsByCommandName, universalOptionsTypes: index_js_1.GLOBAL_OPTIONS, universalShorthands: shorthands_js_1.shorthands }, inputArgv); } } }); // lib/cmd/bin.js var require_bin2 = __commonJS({ "lib/cmd/bin.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var config_1 = require_lib23(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return (0, pick_1.default)([ "global" ], config_1.types); } exports2.commandNames = ["bin"]; function help() { return (0, render_help_1.default)({ description: "Print the directory where pnpm will install executables.", descriptionLists: [ { title: "Options", list: [ { description: "Print the global executables directory", name: "--global", shortAlias: "-g" } ] } ], url: (0, cli_utils_1.docsUrl)("bin"), usages: ["pnpm bin [-g]"] }); } async function handler(opts) { return opts.bin; } } }); // lib/cmd/help.js var require_help2 = __commonJS({ "lib/cmd/help.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createHelp = createHelp; var cli_meta_1 = require_lib4(); var cli_utils_1 = require_lib103(); var render_help_1 = __importDefault2(require_lib109()); function createHelp(helpByCommandName) { return { commandNames: ["help"], shorthands: { a: "--all" }, cliOptionsTypes: () => ({ all: Boolean }), rcOptionsTypes: () => ({}), help: helpHelp, handler: handler.bind(null, helpByCommandName) }; } function helpHelp() { return (0, render_help_1.default)({ description: "Display help information about pnpm", descriptionLists: [ { title: "Options", list: [ { description: "Print all the available commands", name: "--all", shortAlias: "-a" } ] } ], usages: [], url: (0, cli_utils_1.docsUrl)("help") }); } function handler(helpByCommandName, opts, params) { let helpText; if (params.length === 0) { helpText = getHelpText({ all: opts.all ?? false }); } else if (helpByCommandName[params[0]]) { helpText = helpByCommandName[params[0]](); } else { helpText = `No results for "${params[0]}"`; } return `Version ${cli_meta_1.packageManager.version}${(0, cli_meta_1.detectIfCurrentPkgIsExecutable)() != null ? ` (compiled to binary; bundled Node.js ${process.version})` : ""} ${helpText} `; } function getHelpText({ all }) { const descriptionLists = [ { title: "Manage your dependencies", list: [ { description: "Install all dependencies for a project", name: "install", shortAlias: "i" }, { description: "Installs a package and any packages that it depends on. By default, any new package is installed as a prod dependency", name: "add" }, { description: "Updates packages to their latest version based on the specified range", name: "update", shortAlias: "up" }, { description: "Removes packages from node_modules and from the project's package.json", name: "remove", shortAlias: "rm" }, { description: "Connect the local project to another one", name: "link", shortAlias: "ln" }, { description: "Unlinks a package. Like yarn unlink but pnpm re-installs the dependency after removing the external link", name: "unlink" }, { description: "Generates a pnpm-lock.yaml from an npm package-lock.json (or npm-shrinkwrap.json) file", name: "import", advanced: true }, { description: "Runs a pnpm install followed immediately by a pnpm test", name: "install-test", shortAlias: "it", advanced: true }, { description: "Rebuild a package", name: "rebuild", shortAlias: "rb", advanced: true }, { description: "Removes extraneous packages", name: "prune", advanced: true }, { description: "Fetch packages from a lockfile into virtual store, package manifest is ignored", name: "fetch", advanced: true }, { description: "Perform an install removing older dependencies in the lockfile if a newer version can be used", name: "dedupe", advanced: true } ] }, { title: "Patch your dependencies", advanced: true, list: [ { description: "Prepare a package for patching", name: "patch" }, { description: "Generate a patch out of a directory", name: "patch-commit" }, { description: "Remove existing patch files", name: "patch-remove" } ] }, { title: "Review your dependencies", list: [ { description: "Checks for known security issues with the installed packages", name: "audit" }, { description: "Print all the versions of packages that are installed, as well as their dependencies, in a tree-structure", name: "list", shortAlias: "ls" }, { description: "Check for outdated packages", name: "outdated" }, { description: "Check licenses in consumed packages", name: "licenses", advanced: true }, { description: "Shows all packages that depend on the specified package", name: "why" } ] }, { title: "Run your scripts", list: [ { description: "Executes a shell command in scope of a project", name: "exec" }, { description: "Runs a defined package script", name: "run" }, { description: `Runs a package's "test" script, if one was provided`, name: "test", shortAlias: "t", advanced: true }, { description: `Runs an arbitrary command specified in the package's "start" property of its "scripts" object`, name: "start", advanced: true }, { description: "Fetches a package from the registry without installing it as a dependency, hot loads it, and runs whatever default command binary it exposes", name: "dlx" }, { description: 'Create a project from a "create-*" or "@foo/create-*" starter kit', name: "create" }, { description: "Approve dependencies for running scripts during installation", name: "approve-builds", advanced: true }, { description: "Print the list of packages with blocked build scripts", name: "ignored-builds", advanced: true } ] }, { title: "Other", list: [ { description: "Create a tarball from a package", name: "pack", advanced: true }, { description: "Publishes a package to the registry", name: "publish" }, { description: "Updates pnpm to the latest version", name: "self-update" }, { description: "Create a package.json file", name: "init" }, { description: "Manage the pnpm configuration files", name: "config", shortAlias: "c" }, { description: "Prints the effective modules directory", name: "root", advanced: true }, { description: "Prints the directory into which the executables of dependencies are linked", name: "bin", advanced: true }, { description: "Deploy a package from a workspace", name: "deploy", advanced: true }, { description: "Checks for known common issues with pnpm configuration", name: "doctor", advanced: true } ] }, { title: "Manage your environments", advanced: true, list: [ { description: "Manage Node.js versions", name: "env " } ] }, { title: "Inspect your store", advanced: true, list: [ { description: "Prints the index file of a specific package from the store", name: "cat-index" }, { description: "Prints the contents of a file based on the hash value stored in the index file", name: "cat-file" }, { description: "Experimental! Lists the packages that include the file with the specified hash", name: "find-hash" } ] }, { title: "Manage your store", advanced: true, list: [ { description: "Adds new packages to the pnpm store directly. Does not modify any projects or files outside the store", name: "store add" }, { description: "Prints the path to the active store directory", name: "store path" }, { description: "Removes unreferenced (extraneous, orphan) packages from the store", name: "store prune" }, { description: "Checks for modified packages in the store", name: "store status" } ] }, { title: "Manage your cache", advanced: true, list: [ { description: "Experimental! Lists the available packages metadata cache. Supports filtering by glob", name: "cache list" }, { description: "Experimental! Lists all registries that have their metadata cache locally", name: "cache list-registries" }, { description: "Experimental! Views information from the specified package's cache", name: "cache view" }, { description: "Experimental! Deletes metadata cache for the specified package(s). Supports patterns", name: "cache delete" } ] }, { title: "Options", list: [ { description: "Run the command for each project in the workspace.", name: "--recursive", shortAlias: "-r" } ] } ]; const filteredDescriptionLists = []; for (const descriptionList of descriptionLists) { if (!descriptionList.advanced || all) { filteredDescriptionLists.push({ title: descriptionList.title, list: descriptionList.list.filter((item) => !item.advanced || all) }); } } return (0, render_help_1.default)({ description: all ? "" : "These are common pnpm commands used in various situations, use 'pnpm help -a' to list all commands", descriptionLists: filteredDescriptionLists, usages: ["pnpm [command] [flags]", "pnpm [ -h | --help | -v | --version ]"] }); } } }); // lib/cmd/installTest.js var require_installTest = __commonJS({ "lib/cmd/installTest.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = exports2.cliOptionsTypes = void 0; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var plugin_commands_installation_1 = require_lib176(); var plugin_commands_script_runners_1 = require_lib192(); var render_help_1 = __importDefault2(require_lib109()); exports2.cliOptionsTypes = plugin_commands_installation_1.install.cliOptionsTypes; exports2.rcOptionsTypes = plugin_commands_installation_1.install.rcOptionsTypes; exports2.commandNames = ["install-test", "it"]; function help() { return (0, render_help_1.default)({ aliases: ["it"], description: "Runs a `pnpm install` followed immediately by a `pnpm test`. It takes exactly the same arguments as `pnpm install`.", url: (0, cli_utils_1.docsUrl)("install-test"), usages: ["pnpm install-test"] }); } async function handler(opts, params) { await plugin_commands_installation_1.install.handler(opts); await plugin_commands_script_runners_1.run.handler(opts, ["test", ...params]); } } }); // lib/cmd/recursive.js var require_recursive5 = __commonJS({ "lib/cmd/recursive.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0; exports2.help = help; exports2.handler = handler; var cli_utils_1 = require_lib103(); var common_cli_options_help_1 = require_lib116(); var constants_1 = require_lib5(); var config_1 = require_lib23(); var render_help_1 = __importDefault2(require_lib109()); var rcOptionsTypes = () => ({}); exports2.rcOptionsTypes = rcOptionsTypes; var cliOptionsTypes = () => ({}); exports2.cliOptionsTypes = cliOptionsTypes; exports2.commandNames = ["recursive", "multi", "m"]; function help() { return (0, render_help_1.default)({ description: "Concurrently performs some actions in all subdirectories with a `package.json` (excluding node_modules). A `pnpm-workspace.yaml` file may be used to control what directories are searched for packages.", descriptionLists: [ { title: "Commands", list: [ { name: "install" }, { name: "add" }, { name: "update" }, { description: "Uninstall a dependency from each package", name: "remove ..." }, { description: "Removes links to local packages and reinstalls them from the registry.", name: "unlink" }, { description: "List dependencies in each package.", name: "list [...]" }, { description: "List packages that depend on .", name: "why ..." }, { description: "Check for outdated dependencies in every package.", name: "outdated [...]" }, { description: `This runs an arbitrary command from each package's "scripts" object. If a package doesn't have the command, it is skipped. If none of the packages have the command, the command fails.`, name: "run [-- ...]" }, { description: `This runs each package's "test" script, if one was provided.`, name: "test [-- ...]" }, { description: 'This command runs the "npm build" command on each package. This is useful when you install a new version of node, and must recompile all your C++ addons with the new binary.', name: "rebuild [[<@scope>/]...]" }, { description: "Run a command in each package.", name: "exec -- [args...]" }, { description: "Publishes packages to the npm registry. Only publishes a package if its version is not taken in the registry.", name: "publish [--tag ] [--access ]" }, { description: "Create tarballs for each package.", name: "pack [-- ...]" } ] }, { title: "Options", list: [ { description: "Continues executing other tasks even if a task threw an error", name: "--no-bail" }, { description: `Set the maximum number of concurrency. Default is ${(0, config_1.getDefaultWorkspaceConcurrency)()}. For unlimited concurrency use Infinity.`, name: "--workspace-concurrency " }, { description: "Locally available packages are linked to node_modules instead of being downloaded from the registry. Convenient to use in a multi-package repository.", name: "--link-workspace-packages" }, { description: "Reverse the order that packages get ordered in. Disabled by default.", name: "--reverse" }, { description: "Sort packages topologically (dependencies before dependents). Pass --no-sort to disable.", name: "--sort" }, { description: `Creates a single ${constants_1.WANTED_LOCKFILE} file in the root of the workspace. A shared lockfile also means that all dependencies of all projects will be in a single node_modules.`, name: "--shared-workspace-lockfile" }, { description: "When executing commands recursively in a workspace, execute them on the root workspace project as well", name: "--include-workspace-root" } ] }, common_cli_options_help_1.FILTERING ], url: (0, cli_utils_1.docsUrl)("recursive"), usages: [ "pnpm recursive [command] [flags] [--filter ]", "pnpm multi [command] [flags] [--filter ]", "pnpm m [command] [flags] [--filter ]" ] }); } function handler() { console.log(help()); process.exit(1); } } }); // lib/cmd/root.js var require_root2 = __commonJS({ "lib/cmd/root.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.commandNames = exports2.rcOptionsTypes = void 0; exports2.cliOptionsTypes = cliOptionsTypes; exports2.help = help; exports2.handler = handler; var path_1 = __importDefault2(require("path")); var config_1 = require_lib23(); var cli_utils_1 = require_lib103(); var pick_1 = __importDefault2(require_pick()); var render_help_1 = __importDefault2(require_lib109()); exports2.rcOptionsTypes = cliOptionsTypes; function cliOptionsTypes() { return (0, pick_1.default)([ "global" ], config_1.types); } exports2.commandNames = ["root"]; function help() { return (0, render_help_1.default)({ description: "Print the effective `node_modules` directory.", descriptionLists: [ { title: "Options", list: [ { description: "Print the global `node_modules` directory", name: "--global", shortAlias: "-g" } ] } ], url: (0, cli_utils_1.docsUrl)("root"), usages: ["pnpm root [-g]"] }); } async function handler(opts) { return `${path_1.default.join(opts.dir, "node_modules")} `; } } }); // lib/cmd/index.js var require_cmd = __commonJS({ "lib/cmd/index.js"(exports2) { "use strict"; var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar3 = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k); } __setModuleDefault3(result2, mod); return result2; }; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.rcOptionsTypes = exports2.shorthandsByCommandName = exports2.skipPackageManagerCheckForCommand = exports2.pnpmCmds = exports2.GLOBAL_OPTIONS = void 0; exports2.getCliOptionsTypes = getCliOptionsTypes; exports2.getCommandFullName = getCommandFullName; var cache_commands_1 = require_lib114(); var config_1 = require_lib23(); var exec_build_commands_1 = require_lib132(); var plugin_commands_audit_1 = require_lib135(); var plugin_commands_completion_1 = require_lib138(); var plugin_commands_config_1 = require_lib141(); var plugin_commands_doctor_1 = require_lib142(); var plugin_commands_env_1 = require_lib112(); var plugin_commands_deploy_1 = require_lib177(); var plugin_commands_installation_1 = require_lib176(); var tools_plugin_commands_self_updater_1 = require_lib180(); var plugin_commands_listing_1 = require_lib183(); var plugin_commands_licenses_1 = require_lib185(); var plugin_commands_outdated_1 = require_lib186(); var plugin_commands_publishing_1 = require_lib188(); var plugin_commands_patching_1 = require_lib189(); var plugin_commands_rebuild_1 = require_lib131(); var plugin_commands_script_runners_1 = require_lib192(); var plugin_commands_server_1 = require_lib193(); var plugin_commands_setup_1 = require_lib194(); var plugin_commands_store_1 = require_lib195(); var plugin_commands_store_inspecting_1 = require_lib196(); var plugin_commands_init_1 = require_lib197(); var pick_1 = __importDefault2(require_pick()); var shorthands_js_1 = require_shorthands(); var parseCliArgs_js_1 = require_parseCliArgs(); var bin = __importStar3(require_bin2()); var help_js_1 = require_help2(); var installTest = __importStar3(require_installTest()); var recursive = __importStar3(require_recursive5()); var root = __importStar3(require_root2()); exports2.GLOBAL_OPTIONS = (0, pick_1.default)([ "color", "dir", "filter", "filter-prod", "loglevel", "parseable", "prefix", "reporter", "stream", "aggregate-output", "test-pattern", "changed-files-ignore-pattern", "use-stderr", "ignore-workspace", "workspace-packages", "workspace-root", "include-workspace-root", "fail-if-no-match" ], config_1.types); var helpByCommandName = {}; var commands = [ plugin_commands_installation_1.add, exec_build_commands_1.approveBuilds, plugin_commands_audit_1.audit, bin, cache_commands_1.cache, plugin_commands_installation_1.ci, plugin_commands_config_1.config, plugin_commands_installation_1.dedupe, plugin_commands_config_1.getCommand, plugin_commands_config_1.setCommand, plugin_commands_script_runners_1.create, plugin_commands_deploy_1.deploy, plugin_commands_script_runners_1.dlx, plugin_commands_doctor_1.doctor, plugin_commands_env_1.env, plugin_commands_script_runners_1.exec, plugin_commands_installation_1.fetch, plugin_commands_completion_1.generateCompletion, exec_build_commands_1.ignoredBuilds, plugin_commands_installation_1.importCommand, tools_plugin_commands_self_updater_1.selfUpdate, plugin_commands_init_1.init, plugin_commands_installation_1.install, installTest, plugin_commands_installation_1.link, plugin_commands_listing_1.list, plugin_commands_listing_1.ll, plugin_commands_licenses_1.licenses, plugin_commands_outdated_1.outdated, plugin_commands_publishing_1.pack, plugin_commands_patching_1.patch, plugin_commands_patching_1.patchCommit, plugin_commands_patching_1.patchRemove, plugin_commands_installation_1.prune, plugin_commands_publishing_1.publish, plugin_commands_rebuild_1.rebuild, recursive, plugin_commands_installation_1.remove, plugin_commands_script_runners_1.restart, root, plugin_commands_script_runners_1.run, plugin_commands_server_1.server, plugin_commands_setup_1.setup, plugin_commands_store_1.store, plugin_commands_store_inspecting_1.catFile, plugin_commands_store_inspecting_1.catIndex, plugin_commands_store_inspecting_1.findHash, plugin_commands_installation_1.unlink, plugin_commands_installation_1.update, plugin_commands_listing_1.why, (0, help_js_1.createHelp)(helpByCommandName) ]; var handlerByCommandName = {}; var cliOptionsTypesByCommandName = {}; var aliasToFullName = /* @__PURE__ */ new Map(); var completionByCommandName = {}; var shorthandsByCommandName = {}; exports2.shorthandsByCommandName = shorthandsByCommandName; var rcOptionsTypes = {}; exports2.rcOptionsTypes = rcOptionsTypes; var skipPackageManagerCheckForCommandArray = ["completion-server"]; for (let i = 0; i < commands.length; i++) { const { cliOptionsTypes, commandNames, completion, handler, help, rcOptionsTypes: rcOptionsTypes2, shorthands, skipPackageManagerCheck } = commands[i]; exports2.rcOptionsTypes = rcOptionsTypes2; if (!commandNames || commandNames.length === 0) { throw new Error(`The command at index ${i} doesn't have command names`); } for (const commandName of commandNames) { handlerByCommandName[commandName] = handler; helpByCommandName[commandName] = help; cliOptionsTypesByCommandName[commandName] = cliOptionsTypes; shorthandsByCommandName[commandName] = shorthands ?? {}; if (completion != null) { completionByCommandName[commandName] = completion; } Object.assign(rcOptionsTypes2, rcOptionsTypes2()); } if (skipPackageManagerCheck) { skipPackageManagerCheckForCommandArray.push(...commandNames); } if (commandNames.length > 1) { const fullName = commandNames[0]; for (let i2 = 1; i2 < commandNames.length; i2++) { aliasToFullName.set(commandNames[i2], fullName); } } } handlerByCommandName["completion-server"] = (0, plugin_commands_completion_1.createCompletionServer)({ cliOptionsTypesByCommandName, completionByCommandName, initialCompletion, shorthandsByCommandName, universalOptionsTypes: exports2.GLOBAL_OPTIONS, universalShorthands: shorthands_js_1.shorthands, parseCliArgs: parseCliArgs_js_1.parseCliArgs }); function initialCompletion() { return Object.keys(handlerByCommandName).map((name) => ({ name })); } exports2.pnpmCmds = handlerByCommandName; exports2.skipPackageManagerCheckForCommand = new Set(skipPackageManagerCheckForCommandArray); function getCliOptionsTypes(commandName) { return cliOptionsTypesByCommandName[commandName]?.() || {}; } function getCommandFullName(commandName) { return aliasToFullName.get(commandName) ?? (handlerByCommandName[commandName] ? commandName : null); } } }); // lib/formatError.js var require_formatError = __commonJS({ "lib/formatError.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.formatUnknownOptionsError = formatUnknownOptionsError; var chalk_1 = __importDefault2(require_source()); function formatUnknownOptionsError(unknownOptions) { let output = chalk_1.default.bgRed.black("\u2009ERROR\u2009"); const unknownOptionsArray = Array.from(unknownOptions.keys()); if (unknownOptionsArray.length > 1) { return `${output} ${chalk_1.default.red(`Unknown options: ${unknownOptionsArray.map((unknownOption2) => `'${unknownOption2}'`).join(", ")}`)}`; } const unknownOption = unknownOptionsArray[0]; output += ` ${chalk_1.default.red(`Unknown option: '${unknownOption}'`)}`; const didYouMeanOptions = unknownOptions.get(unknownOption); if (!didYouMeanOptions?.length) { return output; } return `${output} Did you mean '${didYouMeanOptions.join("', or '")}'? Use "--config.unknown=value" to force an unknown option.`; } } }); // lib/reporter/silentReporter.js var require_silentReporter = __commonJS({ "lib/reporter/silentReporter.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.silentReporter = silentReporter; function silentReporter(streamParser) { streamParser.on("data", (obj) => { if (obj.level !== "error") return; if (obj.err?.code?.startsWith("ERR_PNPM_")) return; console.log(obj["err"]?.message ?? obj["message"]); if (obj["err"]?.stack) { console.log(` ${obj["err"].stack}`); } }); } } }); // lib/reporter/index.js var require_reporter = __commonJS({ "lib/reporter/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.initReporter = initReporter; var default_reporter_1 = require_lib26(); var logger_1 = require_lib(); var silentReporter_js_1 = require_silentReporter(); function initReporter(reporterType, opts) { switch (reporterType) { case "default": (0, default_reporter_1.initDefaultReporter)({ useStderr: opts.config.useStderr, context: { argv: opts.cmd ? [opts.cmd] : [], config: opts.config }, reportingOptions: { appendOnly: false, logLevel: opts.config.loglevel, streamLifecycleOutput: opts.config.stream, throttleProgress: 200, hideAddedPkgsProgress: opts.config.lockfileOnly, hideLifecyclePrefix: opts.config.reporterHidePrefix }, streamParser: logger_1.streamParser }); return; case "append-only": (0, default_reporter_1.initDefaultReporter)({ useStderr: opts.config.useStderr, context: { argv: opts.cmd ? [opts.cmd] : [], config: opts.config }, reportingOptions: { appendOnly: true, aggregateOutput: opts.config.aggregateOutput, logLevel: opts.config.loglevel, throttleProgress: 1e3, hideLifecyclePrefix: opts.config.reporterHidePrefix }, streamParser: logger_1.streamParser }); return; case "ndjson": (0, logger_1.writeToConsole)(); return; case "silent": (0, silentReporter_js_1.silentReporter)(logger_1.streamParser); } } } }); // lib/switchCliVersion.js var require_switchCliVersion = __commonJS({ "lib/switchCliVersion.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.switchCliVersion = switchCliVersion; var path_1 = __importDefault2(require("path")); var error_1 = require_lib6(); var logger_1 = require_lib(); var cli_meta_1 = require_lib4(); var env_path_1 = require_lib190(); var tools_plugin_commands_self_updater_1 = require_lib180(); var cross_spawn_1 = __importDefault2(require_cross_spawn()); var semver_12 = __importDefault2(require_semver2()); async function switchCliVersion(config) { const pm = config.wantedPackageManager; if (pm == null || pm.name !== "pnpm" || pm.version == null || pm.version === cli_meta_1.packageManager.version) return; const pmVersion = semver_12.default.valid(pm.version); if (!pmVersion) { (0, logger_1.globalWarn)(`Cannot switch to pnpm@${pm.version}: "${pm.version}" is not a valid version`); return; } if (pmVersion !== pm.version.trim()) { (0, logger_1.globalWarn)(`Cannot switch to pnpm@${pm.version}: you need to specify the version as "${pmVersion}"`); return; } const { binDir: wantedPnpmBinDir } = await (0, tools_plugin_commands_self_updater_1.installPnpmToTools)(pmVersion, config); const pnpmEnv = (0, env_path_1.prependDirsToPath)([wantedPnpmBinDir]); if (!pnpmEnv.updated) { throw new VersionSwitchFail(pmVersion, wantedPnpmBinDir); } const pnpmBinPath = path_1.default.join(wantedPnpmBinDir, "pnpm"); const { status, error } = cross_spawn_1.default.sync(pnpmBinPath, process.argv.slice(2), { stdio: "inherit", env: { ...process.env, [pnpmEnv.name]: pnpmEnv.value, npm_config_manage_package_manager_versions: "false" } }); if (error) { throw new VersionSwitchFail(pmVersion, wantedPnpmBinDir, error); } process.exit(status ?? 0); } var VersionSwitchFail = class extends error_1.PnpmError { constructor(version2, wantedPnpmBinDir, cause) { super("VERSION_SWITCH_FAIL", `Failed to switch pnpm to v${version2}. Looks like pnpm CLI is missing at "${wantedPnpmBinDir}" or is incorrect`, { hint: cause instanceof Error ? cause?.message : void 0 }); if (cause != null) { this.cause = cause; } } }; } }); // lib/main.js var require_main2 = __commonJS({ "lib/main.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.REPORTER_INITIALIZED = void 0; exports2.main = main; if (!global["pnpm__startedAt"]) { global["pnpm__startedAt"] = Date.now(); } var loud_rejection_1 = __importDefault2(require_loud_rejection()); var cli_meta_1 = require_lib4(); var cli_utils_1 = require_lib103(); var core_loggers_1 = require_lib8(); var error_1 = require_lib6(); var filter_workspace_packages_1 = require_lib108(); var logger_1 = require_lib(); var plugin_commands_env_1 = require_lib112(); var worker_1 = require_lib73(); var chalk_1 = __importDefault2(require_source()); var path_1 = __importDefault2(require("path")); var isEmpty_1 = __importDefault2(require_isEmpty2()); var util_1 = require("util"); var checkForUpdates_js_1 = require_checkForUpdates(); var index_js_1 = require_cmd(); var formatError_js_1 = require_formatError(); var parseCliArgs_js_1 = require_parseCliArgs(); var index_js_2 = require_reporter(); var switchCliVersion_js_1 = require_switchCliVersion(); exports2.REPORTER_INITIALIZED = Symbol("reporterInitialized"); (0, loud_rejection_1.default)(); process.stdout.on("error", (err) => { if (err.code === "EPIPE") { process.exit(0); } throw err; }); var DEPRECATED_OPTIONS = /* @__PURE__ */ new Set([ "independent-leaves", "lock", "resolution-strategy" ]); delete process.env.PKG_EXECPATH; async function main(inputArgv) { let parsedCliArgs; try { parsedCliArgs = await (0, parseCliArgs_js_1.parseCliArgs)(inputArgv); } catch (err) { printError(err.message, err["hint"]); process.exitCode = 1; return; } const { argv: argv2, params: cliParams, options: cliOptions, cmd, fallbackCommandUsed, unknownOptions, workspaceDir } = parsedCliArgs; if (cmd !== null && !index_js_1.pnpmCmds[cmd]) { printError(`Unknown command '${cmd}'`, "For help, run: pnpm help"); process.exitCode = 1; return; } if (unknownOptions.size > 0 && !fallbackCommandUsed) { const unknownOptionsArray = Array.from(unknownOptions.keys()); if (unknownOptionsArray.every((option) => DEPRECATED_OPTIONS.has(option))) { let deprecationMsg = `${chalk_1.default.bgYellow.black("\u2009WARN\u2009")}`; if (unknownOptionsArray.length === 1) { const deprecatedOption = unknownOptionsArray[0]; deprecationMsg += ` ${chalk_1.default.yellow(`Deprecated option: '${deprecatedOption}'`)}`; } else { deprecationMsg += ` ${chalk_1.default.yellow(`Deprecated options: ${unknownOptionsArray.map((unknownOption) => `'${unknownOption}'`).join(", ")}`)}`; } console.log(deprecationMsg); } else { printError((0, formatError_js_1.formatUnknownOptionsError)(unknownOptions), `For help, run: pnpm help${cmd ? ` ${cmd}` : ""}`); process.exitCode = 1; return; } } let config; try { const globalDirShouldAllowWrite = cmd !== "root"; const isDlxOrCreateCommand = cmd === "dlx" || cmd === "create"; if (cmd === "link" && cliParams.length === 0) { cliOptions.global = true; } config = await (0, cli_utils_1.getConfig)(cliOptions, { excludeReporter: false, globalDirShouldAllowWrite, rcOptionsTypes: index_js_1.rcOptionsTypes, workspaceDir, checkUnknownSetting: false, ignoreNonAuthSettingsFromLocal: isDlxOrCreateCommand }); if (!(0, cli_meta_1.isExecutedByCorepack)() && cmd !== "setup" && config.wantedPackageManager != null) { if (config.managePackageManagerVersions && config.wantedPackageManager?.name === "pnpm" && cmd !== "self-update") { await (0, switchCliVersion_js_1.switchCliVersion)(config); } else if (!cmd || !index_js_1.skipPackageManagerCheckForCommand.has(cmd)) { checkPackageManager(config.wantedPackageManager, config); } } if (isDlxOrCreateCommand) { config.useStderr = true; } config.argv = argv2; config.fallbackCommandUsed = fallbackCommandUsed; if (cmd) { config.extraEnv = { ...config.extraEnv, // Follow the behavior of npm by setting it to 'run-script' when running scripts (e.g. pnpm run dev) // and to the command name otherwise (e.g. pnpm test) npm_command: cmd === "run" ? "run-script" : cmd }; } } catch (err) { const hint = err["hint"] ? err["hint"] : `For help, run: pnpm help${cmd ? ` ${cmd}` : ""}`; printError(err.message, hint); process.exitCode = 1; return; } if (cmd == null && cliOptions.version) { console.log(cli_meta_1.packageManager.version); return; } let write = process.stdout.write.bind(process.stdout); if (config.color === "always") { process.env["FORCE_COLOR"] = "1"; } else if (config.color === "never") { process.env["FORCE_COLOR"] = "0"; write = (text) => process.stdout.write((0, util_1.stripVTControlCharacters)(text)); } const reporterType = (() => { if (config.loglevel === "silent") return "silent"; if (config.reporter) return config.reporter; if (config.ci || !process.stdout.isTTY) return "append-only"; return "default"; })(); const printLogs = !config["parseable"] && !config["json"]; if (printLogs) { (0, index_js_2.initReporter)(reporterType, { cmd, config }); global[exports2.REPORTER_INITIALIZED] = reporterType; } if (cmd === "self-update") { await index_js_1.pnpmCmds.server(config, ["stop"]); } if ((cmd === "install" || cmd === "import" || cmd === "dedupe" || cmd === "patch-commit" || cmd === "patch" || cmd === "patch-remove" || cmd === "approve-builds") && typeof workspaceDir === "string") { cliOptions["recursive"] = true; config.recursive = true; if (!config.recursiveInstall && !config.filter && !config.filterProd) { config.filter = ["{.}..."]; } } if (cliOptions["recursive"]) { const wsDir = workspaceDir ?? process.cwd(); config.filter = config.filter ?? []; config.filterProd = config.filterProd ?? []; const filters = [ ...config.filter.map((filter) => ({ filter, followProdDepsOnly: false })), ...config.filterProd.map((filter) => ({ filter, followProdDepsOnly: true })) ]; const relativeWSDirPath = () => path_1.default.relative(process.cwd(), wsDir) || "."; if (config.workspaceRoot) { filters.push({ filter: `{${relativeWSDirPath()}}`, followProdDepsOnly: Boolean(config.filterProd.length) }); } else if (workspaceDir && !config.includeWorkspaceRoot && (cmd === "run" || cmd === "exec" || cmd === "add" || cmd === "test")) { filters.push({ filter: `!{${relativeWSDirPath()}}`, followProdDepsOnly: Boolean(config.filterProd.length) }); } const filterResults = await (0, filter_workspace_packages_1.filterPackagesFromDir)(wsDir, filters, { engineStrict: config.engineStrict, nodeVersion: config.nodeVersion ?? config.useNodeVersion, patterns: config.workspacePackagePatterns, linkWorkspacePackages: !!config.linkWorkspacePackages, prefix: process.cwd(), workspaceDir: wsDir, testPattern: config.testPattern, changedFilesIgnorePattern: config.changedFilesIgnorePattern, useGlobDirFiltering: !config.legacyDirFiltering, sharedWorkspaceLockfile: config.sharedWorkspaceLockfile }); if (filterResults.allProjects.length === 0) { if (printLogs) { console.log(`No projects found in "${wsDir}"`); } process.exitCode = config.failIfNoMatch ? 1 : 0; return; } config.allProjectsGraph = filterResults.allProjectsGraph; config.selectedProjectsGraph = filterResults.selectedProjectsGraph; if ((0, isEmpty_1.default)(config.selectedProjectsGraph)) { if (printLogs) { console.log(`No projects matched the filters in "${wsDir}"`); } if (config.failIfNoMatch) { process.exitCode = 1; return; } if (cmd !== "list") { process.exitCode = 0; return; } } if (filterResults.unmatchedFilters.length !== 0 && printLogs) { console.log(`No projects matched the filters "${filterResults.unmatchedFilters.join(", ")}" in "${wsDir}"`); } config.allProjects = filterResults.allProjects; config.workspaceDir = wsDir; } let { output, exitCode } = await (async () => { await new Promise((resolve) => setTimeout(() => { resolve(); }, 0)); if (config.updateNotifier !== false && !config.ci && cmd !== "self-update" && !config.offline && !config.preferOffline && !config.fallbackCommandUsed && (cmd === "install" || cmd === "add")) { (0, checkForUpdates_js_1.checkForUpdates)(config).catch(() => { }); } if (config.force === true && !config.fallbackCommandUsed) { logger_1.logger.warn({ message: "using --force I sure hope you know what you are doing", prefix: config.dir }); } core_loggers_1.scopeLogger.debug({ ...!cliOptions["recursive"] ? { selected: 1 } : { selected: Object.keys(config.selectedProjectsGraph).length, total: config.allProjects.length }, ...workspaceDir ? { workspacePrefix: workspaceDir } : {} }); if (config.useNodeVersion != null) { if ("webcontainer" in process.versions) { (0, logger_1.globalWarn)("Automatic installation of different Node.js versions is not supported in WebContainer"); } else { config.extraBinPaths = (await (0, plugin_commands_env_1.prepareExecutionEnv)(config, { extraBinPaths: config.extraBinPaths, executionEnv: { nodeVersion: config.useNodeVersion } })).extraBinPaths; config.nodeVersion = config.useNodeVersion; } } let result2 = index_js_1.pnpmCmds[cmd ?? "help"]( // TypeScript doesn't currently infer that the type of config // is `Omit` after the `delete config.reporter` statement config, cliParams ); try { if (result2 instanceof Promise) { result2 = await result2; } } finally { await (0, worker_1.finishWorkers)(); } core_loggers_1.executionTimeLogger.debug({ startedAt: global["pnpm__startedAt"], endedAt: Date.now() }); if (!result2) { return { output: null, exitCode: 0 }; } if (typeof result2 === "string") { return { output: result2, exitCode: 0 }; } return result2; })(); if (output) { if (!output.endsWith("\n")) { output = `${output} `; } write(output); } if (!cmd) { exitCode = 1; } if (exitCode) { process.exitCode = exitCode; } } function printError(message, hint) { const ERROR = chalk_1.default.bgRed.black("\u2009ERROR\u2009"); console.error(`${message.startsWith(ERROR) ? "" : ERROR + " "}${chalk_1.default.red(message)}`); if (hint) { console.error(hint); } } function checkPackageManager(pm, config) { if (!pm.name) return; if (pm.name !== "pnpm") { const msg = `This project is configured to use ${pm.name}`; if (config.packageManagerStrict) { throw new error_1.PnpmError("OTHER_PM_EXPECTED", msg); } (0, logger_1.globalWarn)(msg); } else { const currentPnpmVersion = cli_meta_1.packageManager.name === "pnpm" ? cli_meta_1.packageManager.version : void 0; if (currentPnpmVersion && config.packageManagerStrictVersion && pm.version && pm.version !== currentPnpmVersion) { const msg = `This project is configured to use v${pm.version} of pnpm. Your current pnpm is v${currentPnpmVersion}`; if (config.packageManagerStrict) { throw new error_1.PnpmError("BAD_PM_VERSION", msg, { hint: 'If you want to bypass this version check, you can set the "package-manager-strict" configuration to "false" or set the "COREPACK_ENABLE_STRICT" environment variable to "0"' }); } else { (0, logger_1.globalWarn)(msg); } } } } } }); // lib/errorHandler.js var require_errorHandler = __commonJS({ "lib/errorHandler.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.errorHandler = errorHandler; var util_1 = require("util"); var logger_1 = require_lib(); var pidtree_1 = __importDefault2(require_pidtree2()); var main_js_1 = require_main2(); var getDescendentProcesses = (0, util_1.promisify)((pid, callback) => { (0, pidtree_1.default)(pid, { root: false }, callback); }); async function errorHandler(error) { if (error.name != null && error.name !== "pnpm" && !error.name.startsWith("pnpm:")) { try { error.name = "pnpm"; } catch { } } if (!global[main_js_1.REPORTER_INITIALIZED]) { console.log(JSON.stringify({ error: { code: error.code ?? error.name, message: error.message } }, null, 2)); } else if (global[main_js_1.REPORTER_INITIALIZED] !== "silent") { logger_1.logger.error(error, error); await new Promise((resolve) => setTimeout(() => { resolve(); }, 0)); } await killProcesses(error && typeof error === "object" && "errno" in error && typeof error.errno === "number" ? error.errno : 1); } async function killProcesses(status) { try { const descendentProcesses = await getDescendentProcesses(process.pid); for (const pid of descendentProcesses) { try { process.kill(pid); } catch { } } } catch { } process.exit(status); } } }); // lib/runNpm.js var require_runNpm = __commonJS({ "lib/runNpm.js"(exports2) { "use strict"; var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.runNpm = runNpm; var cli_meta_1 = require_lib4(); var config_1 = require_lib23(); var run_npm_1 = require_lib140(); var pick_1 = __importDefault2(require_pick()); async function runNpm(args) { const { config } = await (0, config_1.getConfig)({ cliOptions: {}, packageManager: cli_meta_1.packageManager, rcOptionsTypes: { ...(0, pick_1.default)([ "npm-path" ], config_1.types) } }); return (0, run_npm_1.runNpm)(config.npmPath, args); } } }); // lib/pnpm.js var __createBinding2 = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar2 = exports && exports.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result2 = {}; if (mod != null) { for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result2, mod, k); } __setModuleDefault2(result2, mod); return result2; }; process.setMaxListeners(0); var argv = process.argv.slice(2); (async () => { switch (argv[0]) { // commands that are passed through to npm: case "access": case "adduser": case "bugs": case "deprecate": case "dist-tag": case "docs": case "edit": case "find": case "home": case "info": case "issues": case "login": case "logout": case "owner": case "ping": case "prefix": case "profile": case "pkg": case "repo": case "s": case "se": case "search": case "set-script": case "show": case "star": case "stars": case "team": case "token": case "unpublish": case "unstar": case "v": case "version": case "view": case "whoami": case "xmas": await passThruToNpm(); break; default: await runPnpm(); break; } })(); async function runPnpm() { const { errorHandler } = await Promise.resolve().then(() => __importStar2(require_errorHandler())); try { const { main } = await Promise.resolve().then(() => __importStar2(require_main2())); await main(argv); } catch (err) { await errorHandler(err); } } async function passThruToNpm() { const { runNpm } = await Promise.resolve().then(() => __importStar2(require_runNpm())); const { status } = await runNpm(argv); process.exit(status); } /*! Bundled license information: imurmurhash/imurmurhash.js: (** * @preserve * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013) * * @author Jens Taylor * @see http://github.com/homebrewing/brauhaus-diff * @author Gary Court * @see http://github.com/garycourt/murmurhash-js * @author Austin Appleby * @see http://sites.google.com/site/murmurhash/ *) is-windows/index.js: (*! * is-windows * * Copyright © 2015-2018, Jon Schlinkert. * Released under the MIT License. *) safe-buffer/index.js: (*! safe-buffer. MIT License. Feross Aboukhadijeh *) normalize-path/index.js: (*! * normalize-path * * Copyright (c) 2014-2018, Jon Schlinkert. * Released under the MIT License. *) humanize-ms/index.js: (*! * humanize-ms - index.js * Copyright(c) 2014 dead_horse * MIT Licensed *) is-extglob/index.js: (*! * is-extglob * * Copyright (c) 2014-2016, Jon Schlinkert. * Licensed under the MIT License. *) is-glob/index.js: (*! * is-glob * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. *) is-number/index.js: (*! * is-number * * Copyright (c) 2014-present, Jon Schlinkert. * Released under the MIT License. *) to-regex-range/index.js: (*! * to-regex-range * * Copyright (c) 2015-present, Jon Schlinkert. * Released under the MIT License. *) fill-range/index.js: (*! * fill-range * * Copyright (c) 2014-present, Jon Schlinkert. * Licensed under the MIT License. *) queue-microtask/index.js: (*! queue-microtask. MIT License. Feross Aboukhadijeh *) run-parallel/index.js: (*! run-parallel. MIT License. Feross Aboukhadijeh *) @yarnpkg/pnp/lib/index.js: (** @license Copyright Node.js contributors. All rights reserved. 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 the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 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 IN THE SOFTWARE. *) (** @license The MIT License (MIT) Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) 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 the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 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 IN THE SOFTWARE. *) */