{
  "version": 3,
  "sources": ["../../../../src/packages/plugin-commands-store-inspecting/catIndex.ts"],
  "sourcesContent": ["import type { Config } from '../config/index.ts';\nimport { createResolver } from '../client/index.ts';\n\nimport { PnpmError } from '../error/index.ts';\nimport { sortDeepKeys } from '../object.key-sorting/index.ts';\nimport { getStorePath } from '../store-path/index.ts';\nimport {\n  getIndexFilePathInCafs,\n  type PackageFilesIndex,\n} from '../store.cafs/index.ts';\nimport { pickRegistryForPackage } from '../pick-registry-for-package/index.ts';\nimport { parseWantedDependency } from '../parse-wanted-dependency/index.ts';\n\nimport { loadJsonFile } from 'load-json-file';\nimport renderHelp from 'render-help';\n\nexport const skipPackageManagerCheck = true;\n\nexport const commandNames = ['cat-index'];\n\nexport const rcOptionsTypes = cliOptionsTypes;\n\nexport function cliOptionsTypes(): Record<string, unknown> {\n  return {};\n}\n\nexport function help(): string {\n  return renderHelp({\n    description: 'Prints the index file of a specific package from the store.',\n    descriptionLists: [],\n    usages: ['pnpm cat-index <pkg name>@<pkg version>'],\n  });\n}\n\nexport type CatIndexCommandOptions = Pick<\n  Config,\n  | 'rawConfig'\n  | 'pnpmHomeDir'\n  | 'storeDir'\n  | 'lockfileDir'\n  | 'dir'\n  | 'registries'\n  | 'cacheDir'\n  | 'sslConfigs'\n>;\n\nexport async function handler(\n  opts: CatIndexCommandOptions,\n  params: string[]\n): Promise<string> {\n  if (params.length === 0) {\n    throw new PnpmError('MISSING_PACKAGE_NAME', 'Specify a package', {\n      hint: help(),\n    });\n  }\n\n  const wantedDependency = params[0];\n\n  if (typeof wantedDependency === 'undefined') {\n    throw new PnpmError('MISSING_PACKAGE_NAME', 'Specify a package', {\n      hint: help(),\n    });\n  }\n\n  const { alias, pref } = parseWantedDependency(wantedDependency);\n\n  if (typeof alias === 'undefined') {\n    throw new PnpmError(\n      'INVALID_SELECTOR',\n      `Cannot parse the \"${wantedDependency}\" selector`\n    );\n  }\n\n  const storeDir = await getStorePath({\n    pkgRoot: process.cwd(),\n    storePath: opts.storeDir,\n    pnpmHomeDir: opts.pnpmHomeDir,\n  });\n\n  const { resolve } = createResolver({\n    ...opts,\n    authConfig: opts.rawConfig,\n  });\n\n  const pkgSnapshot = await resolve(\n    { alias, pref },\n    {\n      lockfileDir: opts.lockfileDir ?? opts.dir,\n      preferredVersions: {},\n      projectDir: opts.dir,\n      registry: pickRegistryForPackage(opts.registries, alias, pref),\n    }\n  );\n\n  if (typeof pkgSnapshot.resolution.integrity === 'undefined') {\n    throw new PnpmError(\n      'MISSING_INTEGRITY',\n      'No integrity found for the package'\n    );\n  }\n\n  const filesIndexFile = getIndexFilePathInCafs(\n    storeDir,\n    pkgSnapshot.resolution.integrity,\n    `${alias}@${pref}`\n  );\n\n  try {\n    const pkgFilesIndex = await loadJsonFile<PackageFilesIndex>(filesIndexFile);\n\n    return JSON.stringify(sortDeepKeys(pkgFilesIndex), null, 2);\n  } catch {\n    throw new PnpmError(\n      'INVALID_PACKAGE',\n      'No corresponding index file found. You can use pnpm list to see if the package is installed.'\n    );\n  }\n}\n"],
  "mappings": "AACA,SAAS,sBAAsB;AAE/B,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAC7B;AAAA,EACE;AAAA,OAEK;AACP,SAAS,8BAA8B;AACvC,SAAS,6BAA6B;AAEtC,SAAS,oBAAoB;AAC7B,OAAO,gBAAgB;AAEhB,MAAM,0BAA0B;AAEhC,MAAM,eAAe,CAAC,WAAW;AAEjC,MAAM,iBAAiB;AAEvB,SAAS,kBAA2C;AACzD,SAAO,CAAC;AACV;AAEO,SAAS,OAAe;AAC7B,SAAO,WAAW;AAAA,IAChB,aAAa;AAAA,IACb,kBAAkB,CAAC;AAAA,IACnB,QAAQ,CAAC,yCAAyC;AAAA,EACpD,CAAC;AACH;AAcA,eAAsB,QACpB,MACA,QACiB;AACjB,MAAI,OAAO,WAAW,GAAG;AACvB,UAAM,IAAI,UAAU,wBAAwB,qBAAqB;AAAA,MAC/D,MAAM,KAAK;AAAA,IACb,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmB,OAAO,CAAC;AAEjC,MAAI,OAAO,qBAAqB,aAAa;AAC3C,UAAM,IAAI,UAAU,wBAAwB,qBAAqB;AAAA,MAC/D,MAAM,KAAK;AAAA,IACb,CAAC;AAAA,EACH;AAEA,QAAM,EAAE,OAAO,KAAK,IAAI,sBAAsB,gBAAgB;AAE9D,MAAI,OAAO,UAAU,aAAa;AAChC,UAAM,IAAI;AAAA,MACR;AAAA,MACA,qBAAqB,gBAAgB;AAAA,IACvC;AAAA,EACF;AAEA,QAAM,WAAW,MAAM,aAAa;AAAA,IAClC,SAAS,QAAQ,IAAI;AAAA,IACrB,WAAW,KAAK;AAAA,IAChB,aAAa,KAAK;AAAA,EACpB,CAAC;AAED,QAAM,EAAE,QAAQ,IAAI,eAAe;AAAA,IACjC,GAAG;AAAA,IACH,YAAY,KAAK;AAAA,EACnB,CAAC;AAED,QAAM,cAAc,MAAM;AAAA,IACxB,EAAE,OAAO,KAAK;AAAA,IACd;AAAA,MACE,aAAa,KAAK,eAAe,KAAK;AAAA,MACtC,mBAAmB,CAAC;AAAA,MACpB,YAAY,KAAK;AAAA,MACjB,UAAU,uBAAuB,KAAK,YAAY,OAAO,IAAI;AAAA,IAC/D;AAAA,EACF;AAEA,MAAI,OAAO,YAAY,WAAW,cAAc,aAAa;AAC3D,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA,YAAY,WAAW;AAAA,IACvB,GAAG,KAAK,IAAI,IAAI;AAAA,EAClB;AAEA,MAAI;AACF,UAAM,gBAAgB,MAAM,aAAgC,cAAc;AAE1E,WAAO,KAAK,UAAU,aAAa,aAAa,GAAG,MAAM,CAAC;AAAA,EAC5D,QAAQ;AACN,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
  "names": []
}
