{"version":3,"file":"findDepsToOptimize.js","names":[],"sources":["esm/vite/findDepsToOptimize.js"],"sourcesContent":["import fs from \"node:fs/promises\";\nimport { createRequire } from \"node:module\";\nimport path, { dirname } from \"node:path\";\nimport FSExtra from \"fs-extra\";\nasync function getAllDependencies(root, depth = 20) {\n  if (depth === 0) {\n    return [];\n  }\n  const pkgJsonPath = await findClosestPkgJsonPath(root);\n  if (!pkgJsonPath) {\n    throw new Error(`Cannot find package.json from ${root}`);\n  }\n  return await crawl(pkgJsonPath, depth - 1);\n}\nasync function crawl(pkgJsonPath, depth = Number.POSITIVE_INFINITY) {\n  const pkgJson = await FSExtra.readJson(pkgJsonPath).catch((e) => {\n    throw new Error(`Unable to read ${pkgJsonPath}`, { cause: e });\n  });\n  let dependencies = pkgJson.dependencies ? Object.keys(pkgJson.dependencies) : [];\n  await Promise.all(\n    dependencies.map(async (depName) => {\n      try {\n        const resolved = createRequire(dirname(pkgJsonPath)).resolve(depName);\n        const subDeps = await getAllDependencies(resolved, depth - 1);\n        if (subDeps) {\n          dependencies = [...dependencies, ...subDeps];\n        }\n      } catch (err) {\n      }\n    })\n  );\n  return [...new Set(dependencies)];\n}\nasync function findClosestPkgJsonPath(dir, predicate) {\n  if (dir.endsWith(\"package.json\")) {\n    dir = path.dirname(dir);\n  }\n  while (dir) {\n    const pkg = path.join(dir, \"package.json\");\n    try {\n      const stat = await fs.stat(pkg);\n      if (stat.isFile() && (!predicate || await predicate(pkg))) {\n        return pkg;\n      }\n    } catch {\n    }\n    const nextDir = path.dirname(dir);\n    if (nextDir === dir) break;\n    dir = nextDir;\n  }\n  return void 0;\n}\nexport {\n  getAllDependencies\n};\n//# sourceMappingURL=findDepsToOptimize.js.map\n"],"mappings":";;;;;;AAIA,eAAe,mBAAmB,MAAM,QAAQ,IAAI;CAClD,IAAI,UAAU,GAAG;EACf,OAAO,CAAC;CACV;CACA,MAAM,cAAc,MAAM,uBAAuB,IAAI;CACrD,IAAI,CAAC,aAAa;EAChB,MAAM,IAAI,MAAM,iCAAiC,MAAM;CACzD;CACA,OAAO,MAAM,MAAM,aAAa,QAAQ,CAAC;AAC3C;AACA,eAAe,MAAM,aAAa,QAAQ,OAAO,mBAAmB;CAClE,MAAM,UAAU,MAAM,QAAQ,SAAS,WAAW,CAAC,CAAC,OAAO,MAAM;EAC/D,MAAM,IAAI,MAAM,kBAAkB,eAAe,EAAE,OAAO,EAAE,CAAC;CAC/D,CAAC;CACD,IAAI,eAAe,QAAQ,eAAe,OAAO,KAAK,QAAQ,YAAY,IAAI,CAAC;CAC/E,MAAM,QAAQ,IACZ,aAAa,IAAI,OAAO,YAAY;EAClC,IAAI;GACF,MAAM,WAAW,cAAc,QAAQ,WAAW,CAAC,CAAC,CAAC,QAAQ,OAAO;GACpE,MAAM,UAAU,MAAM,mBAAmB,UAAU,QAAQ,CAAC;GAC5D,IAAI,SAAS;IACX,eAAe,CAAC,GAAG,cAAc,GAAG,OAAO;GAC7C;EACF,SAAS,KAAK,CACd;CACF,CAAC,CACH;CACA,OAAO,CAAC,GAAG,IAAI,IAAI,YAAY,CAAC;AAClC;AACA,eAAe,uBAAuB,KAAK,WAAW;CACpD,IAAI,IAAI,SAAS,cAAc,GAAG;EAChC,MAAM,KAAK,QAAQ,GAAG;CACxB;CACA,OAAO,KAAK;EACV,MAAM,MAAM,KAAK,KAAK,KAAK,cAAc;EACzC,IAAI;GACF,MAAM,OAAO,MAAM,GAAG,KAAK,GAAG;GAC9B,IAAI,KAAK,OAAO,MAAM,CAAC,aAAa,MAAM,UAAU,GAAG,IAAI;IACzD,OAAO;GACT;EACF,QAAQ,CACR;EACA,MAAM,UAAU,KAAK,QAAQ,GAAG;EAChC,IAAI,YAAY,KAAK;EACrB,MAAM;CACR;CACA,OAAO,KAAK;AACd"}