{
  "version": 3,
  "sources": ["../../../../src/packages/plugin-commands-installation/unlink.ts"],
  "sourcesContent": ["import { docsUrl } from '../cli-utils/index.ts';\nimport { UNIVERSAL_OPTIONS } from '../common-cli-options-help/index.ts';\nimport renderHelp from 'render-help';\nimport { createProjectManifestWriter } from './createProjectManifestWriter.ts';\nimport * as install from './install.ts';\n\nexport const cliOptionsTypes = install.cliOptionsTypes;\n\nexport const rcOptionsTypes = install.rcOptionsTypes;\n\nexport const commandNames = ['unlink', 'dislink'];\n\nexport function help(): string {\n  return renderHelp({\n    aliases: ['dislink'],\n    description:\n      'Removes the link created by `pnpm link` and reinstalls package if it is saved in `package.json`',\n    descriptionLists: [\n      {\n        title: 'Options',\n\n        list: [\n          {\n            description:\n              'Unlink in every package found in subdirectories \\\nor in every workspace package, when executed inside a workspace. \\\nFor options that may be used with `-r`, see \"pnpm help recursive\"',\n            name: '--recursive',\n            shortAlias: '-r',\n          },\n          ...UNIVERSAL_OPTIONS,\n        ],\n      },\n    ],\n    url: docsUrl('unlink'),\n    usages: ['pnpm unlink (in package dir)', 'pnpm unlink <pkg>...'],\n  });\n}\n\nexport async function handler(\n  opts: install.InstallCommandOptions,\n  params: string[]\n): Promise<undefined | string> {\n  if (!opts.rootProjectManifest?.pnpm?.overrides) {\n    return 'Nothing to unlink';\n  }\n\n  if (params.length === 0) {\n    for (const selector in opts.rootProjectManifest.pnpm.overrides) {\n      if (\n        opts.rootProjectManifest.pnpm.overrides[selector]?.startsWith(\n          'link:'\n        ) === true\n      ) {\n        delete opts.rootProjectManifest.pnpm.overrides[selector];\n      }\n    }\n  } else {\n    for (const selector in opts.rootProjectManifest.pnpm.overrides) {\n      if (\n        opts.rootProjectManifest.pnpm.overrides[selector]?.startsWith(\n          'link:'\n        ) === true &&\n        params.includes(selector)\n      ) {\n        delete opts.rootProjectManifest.pnpm.overrides[selector];\n      }\n    }\n  }\n  const writeProjectManifest = await createProjectManifestWriter(\n    opts.rootProjectManifestDir\n  );\n  await writeProjectManifest(opts.rootProjectManifest);\n  await install.handler(opts);\n  return undefined;\n}\n"],
  "mappings": "AAAA,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,OAAO,gBAAgB;AACvB,SAAS,mCAAmC;AAC5C,YAAY,aAAa;AAElB,MAAM,kBAAkB,QAAQ;AAEhC,MAAM,iBAAiB,QAAQ;AAE/B,MAAM,eAAe,CAAC,UAAU,SAAS;AAEzC,SAAS,OAAe;AAC7B,SAAO,WAAW;AAAA,IAChB,SAAS,CAAC,SAAS;AAAA,IACnB,aACE;AAAA,IACF,kBAAkB;AAAA,MAChB;AAAA,QACE,OAAO;AAAA,QAEP,MAAM;AAAA,UACJ;AAAA,YACE,aACE;AAAA,YAGF,MAAM;AAAA,YACN,YAAY;AAAA,UACd;AAAA,UACA,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,IACA,KAAK,QAAQ,QAAQ;AAAA,IACrB,QAAQ,CAAC,gCAAgC,sBAAsB;AAAA,EACjE,CAAC;AACH;AAEA,eAAsB,QACpB,MACA,QAC6B;AAC7B,MAAI,CAAC,KAAK,qBAAqB,MAAM,WAAW;AAC9C,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,WAAW,GAAG;AACvB,eAAW,YAAY,KAAK,oBAAoB,KAAK,WAAW;AAC9D,UACE,KAAK,oBAAoB,KAAK,UAAU,QAAQ,GAAG;AAAA,QACjD;AAAA,MACF,MAAM,MACN;AACA,eAAO,KAAK,oBAAoB,KAAK,UAAU,QAAQ;AAAA,MACzD;AAAA,IACF;AAAA,EACF,OAAO;AACL,eAAW,YAAY,KAAK,oBAAoB,KAAK,WAAW;AAC9D,UACE,KAAK,oBAAoB,KAAK,UAAU,QAAQ,GAAG;AAAA,QACjD;AAAA,MACF,MAAM,QACN,OAAO,SAAS,QAAQ,GACxB;AACA,eAAO,KAAK,oBAAoB,KAAK,UAAU,QAAQ;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AACA,QAAM,uBAAuB,MAAM;AAAA,IACjC,KAAK;AAAA,EACP;AACA,QAAM,qBAAqB,KAAK,mBAAmB;AACnD,QAAM,QAAQ,QAAQ,IAAI;AAC1B,SAAO;AACT;",
  "names": []
}
