var __accessCheck = (obj, member, msg) => { if (!member.has(obj)) throw TypeError("Cannot " + msg); }; var __privateGet = (obj, member, getter) => { __accessCheck(obj, member, "read from private field"); return getter ? getter.call(obj) : member.get(obj); }; var __privateAdd = (obj, member, value) => { if (member.has(obj)) throw TypeError("Cannot add the same private member more than once"); member instanceof WeakSet ? member.add(obj) : member.set(obj, value); }; var __privateSet = (obj, member, value, setter) => { __accessCheck(obj, member, "write to private field"); setter ? setter.call(obj, value) : member.set(obj, value); return value; }; var __privateWrapper = (obj, member, setter, getter) => { return { set _(value) { __privateSet(obj, member, value, setter); }, get _() { return __privateGet(obj, member, getter); } }; }; // shared.ts import { existsSync, promises as fs2 } from "fs"; // node_modules/.pnpm/find-up@6.3.0/node_modules/find-up/index.js import path2 from "path"; import { fileURLToPath as fileURLToPath2 } from "url"; // node_modules/.pnpm/locate-path@7.1.1/node_modules/locate-path/index.js import process2 from "process"; import path from "path"; import fs, { promises as fsPromises } from "fs"; import { fileURLToPath } from "url"; // node_modules/.pnpm/yocto-queue@1.0.0/node_modules/yocto-queue/index.js var Node = class { value; next; constructor(value) { this.value = value; } }; var _head, _tail, _size; var Queue = class { constructor() { __privateAdd(this, _head, void 0); __privateAdd(this, _tail, void 0); __privateAdd(this, _size, void 0); this.clear(); } enqueue(value) { const node = new Node(value); if (__privateGet(this, _head)) { __privateGet(this, _tail).next = node; __privateSet(this, _tail, node); } else { __privateSet(this, _head, node); __privateSet(this, _tail, node); } __privateWrapper(this, _size)._++; } dequeue() { const current = __privateGet(this, _head); if (!current) { return; } __privateSet(this, _head, __privateGet(this, _head).next); __privateWrapper(this, _size)._--; return current.value; } clear() { __privateSet(this, _head, void 0); __privateSet(this, _tail, void 0); __privateSet(this, _size, 0); } get size() { return __privateGet(this, _size); } *[Symbol.iterator]() { let current = __privateGet(this, _head); while (current) { yield current.value; current = current.next; } } }; _head = new WeakMap(); _tail = new WeakMap(); _size = new WeakMap(); // node_modules/.pnpm/p-limit@4.0.0/node_modules/p-limit/index.js function pLimit(concurrency) { if (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_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 result = (async () => fn(...args))(); resolve(result); try { await result; } catch { } next(); }; const enqueue = (fn, resolve, args) => { queue.enqueue(run.bind(void 0, 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; } // node_modules/.pnpm/p-locate@6.0.0/node_modules/p-locate/index.js 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; }; async function pLocate(iterable, tester, { concurrency = Number.POSITIVE_INFINITY, preserveOrder = true } = {}) { const limit = pLimit(concurrency); const items = [...iterable].map((element) => [element, limit(testElement, element, tester)]); const checkLimit = pLimit(preserveOrder ? 1 : Number.POSITIVE_INFINITY); try { await Promise.all(items.map((element) => checkLimit(finder, element))); } catch (error) { if (error instanceof EndError) { return error.value; } throw error; } } // node_modules/.pnpm/locate-path@7.1.1/node_modules/locate-path/index.js var typeMappings = { directory: "isDirectory", file: "isFile" }; function checkType(type) { if (Object.hasOwnProperty.call(typeMappings, type)) { return; } throw new Error(`Invalid type specified: ${type}`); } var matchType = (type, stat) => stat[typeMappings[type]](); var toPath = (urlOrPath) => urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath; async function locatePath(paths, { cwd = process2.cwd(), type = "file", allowSymlinks = true, concurrency, preserveOrder } = {}) { checkType(type); cwd = toPath(cwd); const statFunction = allowSymlinks ? fsPromises.stat : fsPromises.lstat; return pLocate(paths, async (path_) => { try { const stat = await statFunction(path.resolve(cwd, path_)); return matchType(type, stat); } catch { return false; } }, { concurrency, preserveOrder }); } // node_modules/.pnpm/find-up@6.3.0/node_modules/find-up/index.js var toPath2 = (urlOrPath) => urlOrPath instanceof URL ? fileURLToPath2(urlOrPath) : urlOrPath; var findUpStop = Symbol("findUpStop"); async function findUpMultiple(name, options = {}) { let directory = path2.resolve(toPath2(options.cwd) || ""); const { root } = path2.parse(directory); const stopAt = path2.resolve(directory, options.stopAt || root); const limit = options.limit || Number.POSITIVE_INFINITY; const paths = [name].flat(); 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; }; const matches = []; while (true) { const foundPath = await runMatcher({ ...options, cwd: directory }); if (foundPath === findUpStop) { break; } if (foundPath) { matches.push(path2.resolve(directory, foundPath)); } if (directory === stopAt || matches.length >= limit) { break; } directory = path2.dirname(directory); } return matches; } async function findUp(name, options = {}) { const matches = await findUpMultiple(name, { ...options, limit: 1 }); return matches[0]; } // shared.ts async function loadPackageJSON(cwd = process.cwd()) { const path3 = await findUp("package.json", { cwd }); if (!path3 || !existsSync(path3)) return null; return JSON.parse(await fs2.readFile(path3, "utf-8")); } async function isPackageListed(name, cwd) { const pkg = await loadPackageJSON(cwd) || {}; return name in (pkg.dependencies || {}) || name in (pkg.devDependencies || {}); } export { isPackageListed, loadPackageJSON };