{
  "version": 3,
  "sources": ["../../../../src/packages/lockfile.types/index.ts"],
  "sourcesContent": ["import type { PatchFile } from '../patching.types/index.ts';\nimport type { Resolution } from '../resolver-base/index.ts';\nimport type { DependenciesMeta, DepPath, ProjectId } from '../types/index.ts';\n\nexport type { PatchFile, ProjectId };\n\nexport * from './lockfileFileTypes.ts';\n\nexport type LockfileSettings = {\n  autoInstallPeers?: boolean | undefined;\n  excludeLinksFromLockfile?: boolean | undefined;\n  peersSuffixMaxLength?: number | undefined;\n  injectWorkspacePackages?: boolean | undefined;\n};\n\nexport type LockfileBase = {\n  catalogs?: CatalogSnapshots | undefined;\n  ignoredOptionalDependencies?: string[] | undefined;\n  lockfileVersion: string;\n  overrides?: Record<string, string> | undefined;\n  packageExtensionsChecksum?: string | undefined;\n  patchedDependencies?: Record<string, PatchFile> | undefined;\n  pnpmfileChecksum?: string | undefined;\n  settings?: LockfileSettings | undefined;\n  time?: Record<string, string> | undefined;\n};\n\nexport interface LockfileObject extends LockfileBase {\n  importers?: Record<ProjectId, ProjectSnapshot> | undefined;\n  packages?: PackageSnapshots | undefined;\n}\n\nexport type LockfilePackageSnapshot = {\n  optional?: boolean | undefined;\n  dependencies?: ResolvedDependencies | undefined;\n  optionalDependencies?: ResolvedDependencies | undefined;\n  transitivePeerDependencies?: string[] | undefined;\n};\n\nexport type LockfilePackageInfo = {\n  id?: string | undefined;\n  patched?: boolean | undefined;\n  hasBin?: boolean | undefined;\n  // name and version are only needed\n  // for packages that are hosted not in the npm registry\n  name?: string | undefined;\n  version?: string | undefined;\n  resolution?: Resolution | undefined;\n  peerDependencies?: Record<string, string> | undefined;\n  peerDependenciesMeta?:\n    | { [name: string]: { optional: boolean | undefined } }\n    | undefined;\n  bundledDependencies?: string[] | boolean | undefined;\n  engines?:\n    | (Record<string, string> & {\n        node?: string | undefined;\n      })\n    | undefined;\n  os?: string[] | undefined;\n  cpu?: string[] | undefined;\n  libc?: string[] | undefined;\n  deprecated?: string | undefined;\n};\n\nexport type ProjectSnapshotBase = {\n  dependenciesMeta?: DependenciesMeta | undefined;\n  publishDirectory?: string | undefined;\n};\n\nexport interface ProjectSnapshot extends ProjectSnapshotBase {\n  specifiers: ResolvedDependencies;\n  dependencies?: ResolvedDependencies | undefined;\n  optionalDependencies?: ResolvedDependencies | undefined;\n  devDependencies?: ResolvedDependencies | undefined;\n}\n\nexport type ResolvedDependenciesOfImporters = Record<\n  string,\n  { version: string; specifier: string }\n>;\n\nexport type PackageSnapshots = {\n  [packagePath: DepPath]: PackageSnapshot;\n};\n\nexport type PackageSnapshot = LockfilePackageInfo & LockfilePackageSnapshot;\n\nexport type Dependencies = {\n  [name: string]: string;\n};\n\nexport type PackageBin = string | { [name: string]: string };\n\n/** @example\n * {\n *   \"foo\": \"registry.npmjs.org/foo/1.0.1\"\n * }\n */\nexport type ResolvedDependencies = Record<string, string>;\n\nexport type CatalogSnapshots = {\n  [catalogName: string]: { [dependencyName: string]: ResolvedCatalogEntry };\n};\n\nexport type ResolvedCatalogEntry = {\n  /**\n   * The real specifier that should be used for this dependency's catalog entry.\n   * This would be the ^1.2.3 portion of:\n   *\n   * @example\n   * catalog:\n   *   foo: ^1.2.3\n   */\n  readonly specifier: string;\n\n  /**\n   * The concrete version that the requested specifier resolved to. Ex: 1.2.3\n   */\n  readonly version: string;\n};\n"],
  "mappings": "AAMA,cAAc;",
  "names": []
}
