{
  "version": 3,
  "sources": ["../../../../../src/packages/core/install/reportPeerDependencyIssues.ts"],
  "sourcesContent": ["import { PnpmError } from '../../error/index.ts';\nimport { peerDependencyIssuesLogger } from '../../core-loggers/index.ts';\nimport type {\n  PeerDependencyIssues,\n  PeerDependencyIssuesByProjects,\n} from '../../types/index.ts';\nimport isEmpty from 'ramda/src/isEmpty';\n\nexport function reportPeerDependencyIssues(\n  peerDependencyIssuesByProjects: PeerDependencyIssuesByProjects,\n  opts: {\n    lockfileDir: string;\n    strictPeerDependencies: boolean;\n  }\n): void {\n  if (\n    Object.values(peerDependencyIssuesByProjects).every(\n      (peerIssuesOfProject: PeerDependencyIssues): boolean => {\n        return (\n          isEmpty.default(peerIssuesOfProject.bad) &&\n          (isEmpty.default(peerIssuesOfProject.missing) ||\n            (peerIssuesOfProject.conflicts.length === 0 &&\n              Object.keys(peerIssuesOfProject.intersections).length === 0))\n        );\n      }\n    )\n  ) {\n    return;\n  }\n\n  if (opts.strictPeerDependencies) {\n    throw new PeerDependencyIssuesError(peerDependencyIssuesByProjects);\n  }\n\n  peerDependencyIssuesLogger.debug({\n    issuesByProjects: peerDependencyIssuesByProjects,\n  });\n}\n\nexport class PeerDependencyIssuesError extends PnpmError {\n  issuesByProjects: PeerDependencyIssuesByProjects;\n\n  constructor(issues: PeerDependencyIssuesByProjects) {\n    super('PEER_DEP_ISSUES', 'Unmet peer dependencies');\n\n    this.issuesByProjects = issues;\n  }\n}\n"],
  "mappings": "AAAA,SAAS,iBAAiB;AAC1B,SAAS,kCAAkC;AAK3C,OAAO,aAAa;AAEb,SAAS,2BACd,gCACA,MAIM;AACN,MACE,OAAO,OAAO,8BAA8B,EAAE;AAAA,IAC5C,CAAC,wBAAuD;AACtD,aACE,QAAQ,QAAQ,oBAAoB,GAAG,MACtC,QAAQ,QAAQ,oBAAoB,OAAO,KACzC,oBAAoB,UAAU,WAAW,KACxC,OAAO,KAAK,oBAAoB,aAAa,EAAE,WAAW;AAAA,IAElE;AAAA,EACF,GACA;AACA;AAAA,EACF;AAEA,MAAI,KAAK,wBAAwB;AAC/B,UAAM,IAAI,0BAA0B,8BAA8B;AAAA,EACpE;AAEA,6BAA2B,MAAM;AAAA,IAC/B,kBAAkB;AAAA,EACpB,CAAC;AACH;AAEO,MAAM,kCAAkC,UAAU;AAAA,EACvD;AAAA,EAEA,YAAY,QAAwC;AAClD,UAAM,mBAAmB,yBAAyB;AAElD,SAAK,mBAAmB;AAAA,EAC1B;AACF;",
  "names": []
}
