{
  "version": 3,
  "sources": ["../../../../src/packages/resolve-dependencies/validatePeerDependencies.ts"],
  "sourcesContent": ["import { PnpmError } from '../error/index.ts';\nimport type { ProjectManifest } from '../types/index.ts';\nimport { isValidPeerRange } from '../semver.peer-range/index.ts';\n\nexport type ProjectToValidate = {\n  rootDir: string;\n  manifest?: Pick<ProjectManifest, 'name' | 'peerDependencies'> | undefined;\n};\n\nexport function validatePeerDependencies(project: ProjectToValidate): void {\n  if (typeof project.manifest === 'undefined') {\n    return;\n  }\n\n  const { name, peerDependencies } = project.manifest;\n\n  const projectId = name || project.rootDir;\n\n  for (const depName in peerDependencies) {\n    const version = peerDependencies[depName];\n\n    if (typeof version !== 'string' || !isValidPeerRange(version)) {\n      throw new PnpmError(\n        'INVALID_PEER_DEPENDENCY_SPECIFICATION',\n        `The peerDependencies field named '${depName}' of package '${projectId}' has an invalid value: '${version}'`,\n        {\n          hint: 'The values in peerDependencies should be either a valid semver range, a `workspace:` spec, or a `catalog:` spec',\n        }\n      );\n    }\n  }\n}\n"],
  "mappings": "AAAA,SAAS,iBAAiB;AAE1B,SAAS,wBAAwB;AAO1B,SAAS,yBAAyB,SAAkC;AACzE,MAAI,OAAO,QAAQ,aAAa,aAAa;AAC3C;AAAA,EACF;AAEA,QAAM,EAAE,MAAM,iBAAiB,IAAI,QAAQ;AAE3C,QAAM,YAAY,QAAQ,QAAQ;AAElC,aAAW,WAAW,kBAAkB;AACtC,UAAM,UAAU,iBAAiB,OAAO;AAExC,QAAI,OAAO,YAAY,YAAY,CAAC,iBAAiB,OAAO,GAAG;AAC7D,YAAM,IAAI;AAAA,QACR;AAAA,QACA,qCAAqC,OAAO,iBAAiB,SAAS,4BAA4B,OAAO;AAAA,QACzG;AAAA,UACE,MAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
  "names": []
}
