{
  "version": 3,
  "sources": ["../../../../src/packages/plugin-commands-installation/createProjectManifestWriter.ts"],
  "sourcesContent": ["import path from 'node:path';\nimport util from 'node:util';\nimport {\n  readProjectManifest,\n  type WriteProjectManifest,\n} from '../read-project-manifest/index.ts';\nimport { writeProjectManifest } from '../write-project-manifest/index.ts';\nimport type { CommentSpecifier } from '../text.comments-parser/CommentSpecifier.ts';\nimport type { ProjectManifest } from '../types/package.ts';\n\nexport async function createProjectManifestWriter(projectDir: string): Promise<\n  | ((\n      manifest: ProjectManifest,\n      opts?:\n        | {\n            comments?: CommentSpecifier[] | undefined;\n            indent?: string | number | undefined;\n            insertFinalNewline?: boolean | undefined;\n          }\n        | undefined\n    ) => Promise<void>)\n  | WriteProjectManifest\n> {\n  try {\n    const { writeProjectManifest } = await readProjectManifest(projectDir);\n\n    return writeProjectManifest;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  } catch (err: any) {\n    if (\n      util.types.isNativeError(err) &&\n      'code' in err &&\n      err.code === 'ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND'\n    ) {\n      return writeProjectManifest.bind(\n        null,\n        path.join(projectDir, 'package.json')\n      ); // as WriteProjectManifest;\n    }\n\n    throw err;\n  }\n}\n"],
  "mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB;AAAA,EACE;AAAA,OAEK;AACP,SAAS,4BAA4B;AAIrC,eAAsB,4BAA4B,YAYhD;AACA,MAAI;AACF,UAAM,EAAE,sBAAAA,sBAAqB,IAAI,MAAM,oBAAoB,UAAU;AAErE,WAAOA;AAAA,EAET,SAAS,KAAU;AACjB,QACE,KAAK,MAAM,cAAc,GAAG,KAC5B,UAAU,OACV,IAAI,SAAS,uCACb;AACA,aAAO,qBAAqB;AAAA,QAC1B;AAAA,QACA,KAAK,KAAK,YAAY,cAAc;AAAA,MACtC;AAAA,IACF;AAEA,UAAM;AAAA,EACR;AACF;",
  "names": ["writeProjectManifest"]
}
