{
  "version": 3,
  "sources": ["../../../../src/packages/cli-utils/readProjectManifest.ts"],
  "sourcesContent": ["import * as utils from '../read-project-manifest/index.ts';\nimport type {\n  ProjectManifest,\n  SupportedArchitectures,\n} from '../types/index.ts';\nimport { packageIsInstallable } from './packageIsInstallable.ts';\n\nexport type ReadProjectManifestOpts = {\n  engineStrict?: boolean | undefined;\n  packageManagerStrict?: boolean | undefined;\n  packageManagerStrictVersion?: boolean | undefined;\n  nodeVersion?: string | undefined;\n  supportedArchitectures?: SupportedArchitectures | undefined;\n};\n\n// type BaseReadProjectManifestResult = {\n//   fileName: string;\n//   writeProjectManifest: (\n//     manifest: ProjectManifest,\n//     force?: boolean | undefined\n//   ) => Promise<void>;\n// }\n\nexport type ReadProjectManifestResult = {\n  fileName: string;\n  writeProjectManifest: (\n    manifest: ProjectManifest,\n    force?: boolean | undefined\n  ) => Promise<void>;\n  manifest: ProjectManifest;\n};\n\nexport async function readProjectManifest(\n  projectDir: string,\n  opts: ReadProjectManifestOpts = {}\n): Promise<ReadProjectManifestResult> {\n  const { fileName, manifest, writeProjectManifest } =\n    await utils.readProjectManifest(projectDir);\n\n  packageIsInstallable(projectDir, manifest, opts);\n\n  return { fileName, manifest, writeProjectManifest };\n}\n\nexport async function readProjectManifestOnly(\n  projectDir: string,\n  opts: ReadProjectManifestOpts = {}\n): Promise<ProjectManifest> {\n  const manifest = await utils.readProjectManifestOnly(projectDir);\n  packageIsInstallable(projectDir, manifest, opts);\n  return manifest;\n}\n\nexport type TryReadProjectManifestResult = {\n  fileName: string;\n  writeProjectManifest: (\n    manifest: ProjectManifest,\n    force?: boolean | undefined\n  ) => Promise<void>;\n  manifest: ProjectManifest | null;\n};\n\nexport async function tryReadProjectManifest(\n  projectDir: string,\n  opts: ReadProjectManifestOpts\n): Promise<TryReadProjectManifestResult> {\n  const { fileName, manifest, writeProjectManifest } =\n    await utils.tryReadProjectManifest(projectDir);\n\n  if (manifest === null) {\n    return { fileName, manifest, writeProjectManifest };\n  }\n\n  await packageIsInstallable(projectDir, manifest, opts);\n\n  return { fileName, manifest, writeProjectManifest };\n}\n"],
  "mappings": "AAAA,YAAY,WAAW;AAKvB,SAAS,4BAA4B;AA2BrC,eAAsB,oBACpB,YACA,OAAgC,CAAC,GACG;AACpC,QAAM,EAAE,UAAU,UAAU,qBAAqB,IAC/C,MAAM,MAAM,oBAAoB,UAAU;AAE5C,uBAAqB,YAAY,UAAU,IAAI;AAE/C,SAAO,EAAE,UAAU,UAAU,qBAAqB;AACpD;AAEA,eAAsB,wBACpB,YACA,OAAgC,CAAC,GACP;AAC1B,QAAM,WAAW,MAAM,MAAM,wBAAwB,UAAU;AAC/D,uBAAqB,YAAY,UAAU,IAAI;AAC/C,SAAO;AACT;AAWA,eAAsB,uBACpB,YACA,MACuC;AACvC,QAAM,EAAE,UAAU,UAAU,qBAAqB,IAC/C,MAAM,MAAM,uBAAuB,UAAU;AAE/C,MAAI,aAAa,MAAM;AACrB,WAAO,EAAE,UAAU,UAAU,qBAAqB;AAAA,EACpD;AAEA,QAAM,qBAAqB,YAAY,UAAU,IAAI;AAErD,SAAO,EAAE,UAAU,UAAU,qBAAqB;AACpD;",
  "names": []
}
