{
  "version": 3,
  "sources": ["../../../../src/packages/remove-bins/removeBins.ts"],
  "sourcesContent": ["import path from 'node:path';\nimport { removalLogger } from '../core-loggers/index.ts';\nimport { getBinsFromPackageManifest } from '../package-bins/index.ts';\nimport { safeReadPackageJsonFromDir } from '../read-package-json/index.ts';\nimport type { DependencyManifest } from '../types/index.ts';\nimport rimraf from '@zkochan/rimraf';\nimport CMD_EXTENSION from 'cmd-extension';\nimport isWindows from 'is-windows';\n\nasync function removeOnWin(cmd: string): Promise<void> {\n  removalLogger.debug(cmd);\n\n  await Promise.all([\n    rimraf(cmd),\n    rimraf(`${cmd}.ps1`),\n    rimraf(`${cmd}${CMD_EXTENSION}`),\n  ]);\n}\n\nasync function removeOnNonWin(p: string): Promise<void> {\n  removalLogger.debug(p);\n  return rimraf(p);\n}\n\nexport const removeBin: (cmd: string) => Promise<void> = isWindows()\n  ? removeOnWin\n  : removeOnNonWin;\n\nexport async function removeBinsOfDependency(\n  dependencyDir: string,\n  opts: {\n    dryRun?: boolean | undefined;\n    binsDir: string;\n  }\n): Promise<DependencyManifest | undefined> {\n  const uninstalledPkgJson = await safeReadPackageJsonFromDir(dependencyDir);\n\n  if (uninstalledPkgJson === null) {\n    return;\n  }\n\n  const cmds = await getBinsFromPackageManifest(\n    uninstalledPkgJson,\n    dependencyDir\n  );\n\n  if (opts.dryRun !== true) {\n    await Promise.all(\n      cmds.map((cmd) => path.join(opts.binsDir, cmd.name)).map(removeBin)\n    );\n  }\n\n  return uninstalledPkgJson;\n}\n"],
  "mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAC9B,SAAS,kCAAkC;AAC3C,SAAS,kCAAkC;AAE3C,OAAO,YAAY;AACnB,OAAO,mBAAmB;AAC1B,OAAO,eAAe;AAEtB,eAAe,YAAY,KAA4B;AACrD,gBAAc,MAAM,GAAG;AAEvB,QAAM,QAAQ,IAAI;AAAA,IAChB,OAAO,GAAG;AAAA,IACV,OAAO,GAAG,GAAG,MAAM;AAAA,IACnB,OAAO,GAAG,GAAG,GAAG,aAAa,EAAE;AAAA,EACjC,CAAC;AACH;AAEA,eAAe,eAAe,GAA0B;AACtD,gBAAc,MAAM,CAAC;AACrB,SAAO,OAAO,CAAC;AACjB;AAEO,MAAM,YAA4C,UAAU,IAC/D,cACA;AAEJ,eAAsB,uBACpB,eACA,MAIyC;AACzC,QAAM,qBAAqB,MAAM,2BAA2B,aAAa;AAEzE,MAAI,uBAAuB,MAAM;AAC/B;AAAA,EACF;AAEA,QAAM,OAAO,MAAM;AAAA,IACjB;AAAA,IACA;AAAA,EACF;AAEA,MAAI,KAAK,WAAW,MAAM;AACxB,UAAM,QAAQ;AAAA,MACZ,KAAK,IAAI,CAAC,QAAQ,KAAK,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,IAAI,SAAS;AAAA,IACpE;AAAA,EACF;AAEA,SAAO;AACT;",
  "names": []
}
