{
  "version": 3,
  "sources": ["../../../../../src/packages/plugin-commands-installation/import/index.ts"],
  "sourcesContent": ["import fs from 'node:fs';\nimport path from 'node:path';\nimport { docsUrl } from '../../cli-utils/index.ts';\nimport { WANTED_LOCKFILE } from '../../constants/index.ts';\nimport { PnpmError } from '../../error/index.ts';\nimport { readProjectManifestOnly } from '../../read-project-manifest/index.ts';\nimport {\n  createOrConnectStoreController,\n  type CreateStoreControllerOptions,\n} from '../../store-connection-manager/index.ts';\nimport gfs from '../../graceful-fs/index.ts';\nimport { install, type InstallOptions } from '../../core/index.ts';\nimport { type Config, getOptionsFromRootManifest } from '../../config/index.ts';\nimport { findWorkspacePackages } from '../../workspace.find-packages/index.ts';\nimport type { ProjectsGraph, Project } from '../../types/index.ts';\nimport { logger } from '../../logger/index.ts';\nimport { sequenceGraph } from '../../sort-packages/index.ts';\nimport rimraf from '@zkochan/rimraf';\nimport { loadJsonFile } from 'load-json-file';\nimport mapValues from 'ramda/src/map';\nimport renderHelp from 'render-help';\nimport { parse as parseYarnLock, type LockFileObject } from '@yarnpkg/lockfile';\nimport * as yarnCore from '@yarnpkg/core';\nimport { parseSyml } from '@yarnpkg/parsers';\nimport { recursive } from '../recursive.ts';\nimport { yarnLockFileKeyNormalizer } from './yarnUtil.ts';\n\ntype NpmPackageLock = {\n  dependencies: LockedPackagesMap;\n  packages: LockedPackagesMap;\n  name?: string | undefined;\n};\n\ntype LockedPackage = {\n  version: string;\n  lockfileVersion: number;\n  name?: string | undefined;\n  dependencies?: LockedPackagesMap | SimpleDependenciesMap | undefined;\n  packages?: LockedPackagesMap | undefined;\n};\n\ntype SimpleDependenciesMap = {\n  [name: string]: string;\n};\n\ntype LockedPackagesMap = {\n  [name: string]: LockedPackage;\n};\n\ntype YarnLockPackage = {\n  version: string;\n  resolved: string;\n  integrity: string;\n  dependencies?:\n    | {\n        [name: string]: string;\n      }\n    | undefined;\n  optionalDependencies?:\n    | {\n        [depName: string]: string;\n      }\n    | undefined;\n};\ntype YarnPackageLock = {\n  [name: string]: YarnLockPackage;\n};\n\nenum YarnLockType {\n  yarn = 'yarn',\n  yarn2 = 'yarn2',\n}\n\n// copy from yarn v1\ntype YarnLock2Struct = {\n  type: YarnLockType.yarn2;\n  object: YarnPackageLock;\n};\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: `Generates ${WANTED_LOCKFILE} from an npm package-lock.json (or npm-shrinkwrap.json, yarn.lock) file.`,\n    url: docsUrl('import'),\n    usages: ['pnpm import'],\n  });\n}\n\nexport const commandNames = ['import'];\n\nexport type ImportCommandOptions = Pick<\n  Config,\n  | 'allProjects'\n  | 'allProjectsGraph'\n  | 'selectedProjectsGraph'\n  | 'workspaceDir'\n  | 'ignoreWorkspaceCycles'\n  | 'disallowWorkspaceCycles'\n  | 'sharedWorkspaceLockfile'\n  | 'workspacePackagePatterns'\n  | 'rootProjectManifest'\n  | 'rootProjectManifestDir'\n> &\n  CreateStoreControllerOptions &\n  Omit<\n    InstallOptions,\n    'storeController' | 'lockfileOnly' | 'preferredVersions'\n  >;\n\nexport async function handler(\n  opts: ImportCommandOptions,\n  params: string[]\n): Promise<void> {\n  // Removing existing pnpm lockfile\n  // it should not influence the new one\n  await rimraf(path.join(opts.dir, WANTED_LOCKFILE));\n  const versionsByPackageNames = {};\n  let preferredVersions = {};\n  if (fs.existsSync(path.join(opts.dir, 'yarn.lock'))) {\n    const yarnPackageLockFile = await readYarnLockFile(opts.dir);\n    getAllVersionsFromYarnLockFile(yarnPackageLockFile, versionsByPackageNames);\n  } else if (\n    fs.existsSync(path.join(opts.dir, 'package-lock.json')) ||\n    fs.existsSync(path.join(opts.dir, 'npm-shrinkwrap.json'))\n  ) {\n    const npmPackageLock = await readNpmLockfile(opts.dir);\n    if (npmPackageLock.lockfileVersion < 3) {\n      getAllVersionsByPackageNamesPreV3(npmPackageLock, versionsByPackageNames);\n    } else {\n      getAllVersionsByPackageNames(npmPackageLock, versionsByPackageNames);\n    }\n  } else {\n    throw new PnpmError('LOCKFILE_NOT_FOUND', 'No lockfile found');\n  }\n  preferredVersions = getPreferredVersions(versionsByPackageNames);\n\n  // For a workspace with shared lockfile\n  if (typeof opts.workspaceDir === 'string') {\n    const allProjects =\n      opts.allProjects ??\n      (await findWorkspacePackages(opts.workspaceDir, {\n        ...opts,\n        patterns: opts.workspacePackagePatterns,\n      }));\n\n    const selectedProjectsGraph =\n      opts.selectedProjectsGraph ?? selectProjectByDir(allProjects, opts.dir);\n\n    if (selectedProjectsGraph != null) {\n      const sequencedGraph = sequenceGraph(selectedProjectsGraph);\n\n      // Check and warn if there are cyclic dependencies\n      if (opts.ignoreWorkspaceCycles !== true && !sequencedGraph.safe) {\n        const cyclicDependenciesInfo =\n          sequencedGraph.cycles.length > 0\n            ? `: ${sequencedGraph.cycles.map((deps) => deps.join(', ')).join('; ')}`\n            : '';\n\n        if (opts.disallowWorkspaceCycles === true) {\n          throw new PnpmError(\n            'DISALLOW_WORKSPACE_CYCLES',\n            `There are cyclic workspace dependencies${cyclicDependenciesInfo}`\n          );\n        }\n\n        logger.warn({\n          message: `There are cyclic workspace dependencies${cyclicDependenciesInfo}`,\n          prefix: opts.workspaceDir,\n        });\n      }\n\n      await recursive(\n        allProjects,\n        params,\n        {\n          ...opts,\n          lockfileDir: opts.lockfileDir,\n          pnpmfile: opts.pnpmfile ?? '',\n          lockfileOnly: true,\n          registries: opts.registries ?? {\n            default: 'https://registry.npmjs.org/',\n          },\n          selectedProjectsGraph,\n          preferredVersions,\n          workspaceDir: opts.workspaceDir,\n          rawLocalConfig: {},\n          bail: false,\n          linkWorkspacePackages: false,\n        },\n        'import'\n      );\n    }\n\n    return;\n  }\n\n  const store = await createOrConnectStoreController(opts);\n\n  const manifest = await readProjectManifestOnly(opts.dir);\n\n  const manifestOpts = opts.rootProjectManifest\n    ? getOptionsFromRootManifest(\n        opts.rootProjectManifestDir,\n        opts.rootProjectManifest\n      )\n    : {};\n\n  const installOpts = {\n    ...opts,\n    ...manifestOpts,\n    binsDir: '',\n    update: false,\n    allowNonAppliedPatches: opts.allowNonAppliedPatches ?? false,\n    allowedDeprecatedVersions: opts.allowedDeprecatedVersions ?? {},\n    overrides: opts.overrides ?? {},\n    ignoredOptionalDependencies: opts.ignoredOptionalDependencies ?? [],\n    packageExtensions: opts.packageExtensions ?? {},\n    lockfileOnly: true,\n    preferredVersions,\n    storeController: store.ctrl,\n    storeDir: store.dir,\n  };\n  await install(manifest, installOpts);\n}\n\nasync function readYarnLockFile(dir: string): Promise<LockFileObject> {\n  try {\n    const yarnLockFile = await gfs.readFile(\n      path.join(dir, 'yarn.lock'),\n      'utf8'\n    );\n\n    const yarnLockFileType = getYarnLockfileType(yarnLockFile);\n\n    if (yarnLockFileType === YarnLockType.yarn) {\n      const lockJsonFile = parseYarnLock(yarnLockFile);\n\n      if (lockJsonFile.type === 'success') {\n        return lockJsonFile.object;\n      }\n\n      throw new PnpmError(\n        'YARN_LOCKFILE_PARSE_FAILED',\n        `Yarn.lock file was ${lockJsonFile.type}`\n      );\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n    if (yarnLockFileType === YarnLockType.yarn2) {\n      const lockJsonFile = parseYarn2Lock(yarnLockFile);\n\n      // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n      if (lockJsonFile.type === YarnLockType.yarn2) {\n        return lockJsonFile.object;\n      }\n    }\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  } catch (err: any) {\n    if (err.code !== 'ENOENT') {\n      throw err;\n    }\n  }\n\n  throw new PnpmError('YARN_LOCKFILE_NOT_FOUND', 'No yarn.lock found');\n}\n\nfunction parseYarn2Lock(lockFileContents: string): YarnLock2Struct {\n  const parseYarnLock = parseSyml(lockFileContents);\n\n  // biome-ignore lint/performance/noDelete: <explanation>\n  delete parseYarnLock.__metadata;\n\n  const dependencies: YarnPackageLock = {};\n\n  const { structUtils } = yarnCore;\n\n  const { parseDescriptor, parseRange } = structUtils;\n\n  const keyNormalizer = yarnLockFileKeyNormalizer(parseDescriptor, parseRange);\n\n  for (const fullDescriptor in parseYarnLock) {\n    const versionData = parseYarnLock[fullDescriptor];\n\n    for (const descriptor of keyNormalizer(fullDescriptor)) {\n      dependencies[descriptor] = versionData;\n    }\n  }\n\n  return {\n    object: dependencies,\n    type: YarnLockType.yarn2,\n  };\n}\n\nasync function readNpmLockfile(dir: string): Promise<LockedPackage> {\n  try {\n    return await loadJsonFile<LockedPackage>(\n      path.join(dir, 'package-lock.json')\n    );\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  } catch (err: any) {\n    if (err.code !== 'ENOENT') {\n      throw err;\n    }\n  }\n\n  try {\n    return await loadJsonFile<LockedPackage>(\n      path.join(dir, 'npm-shrinkwrap.json')\n    );\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  } catch (err: any) {\n    if (err.code !== 'ENOENT') {\n      throw err;\n    }\n  }\n\n  throw new PnpmError(\n    'NPM_LOCKFILE_NOT_FOUND',\n    'No package-lock.json or npm-shrinkwrap.json found'\n  );\n}\n\nfunction getPreferredVersions(\n  versionsByPackageNames: VersionsByPackageNames\n): Record<string, Record<string, string>> {\n  return mapValues.default((versions: Set<string>): { [k: string]: string } => {\n    return Object.fromEntries(\n      Array.from(versions).map((version) => [version, 'version'])\n    );\n  }, versionsByPackageNames);\n}\n\ntype VersionsByPackageNames = Record<string, Set<string>>;\n\nfunction getAllVersionsByPackageNamesPreV3(\n  npmPackageLock: NpmPackageLock | LockedPackage,\n  versionsByPackageNames: VersionsByPackageNames\n): void {\n  if (npmPackageLock.dependencies == null) {\n    return;\n  }\n\n  for (const [packageName, { version }] of Object.entries(\n    npmPackageLock.dependencies\n  )) {\n    if (!versionsByPackageNames[packageName]) {\n      versionsByPackageNames[packageName] = new Set();\n    }\n\n    versionsByPackageNames[packageName].add(version);\n  }\n\n  for (const dep of Object.values(npmPackageLock.dependencies)) {\n    getAllVersionsByPackageNamesPreV3(dep, versionsByPackageNames);\n  }\n}\n\nfunction getAllVersionsByPackageNames(\n  pkg: NpmPackageLock | LockedPackage,\n  versionsByPackageNames: VersionsByPackageNames\n): void {\n  if (pkg.dependencies) {\n    extractDependencies(\n      versionsByPackageNames,\n      pkg.dependencies as LockedPackagesMap\n    );\n  }\n\n  if ('packages' in pkg && pkg.packages) {\n    extractDependencies(versionsByPackageNames, pkg.packages);\n  }\n}\n\nfunction extractDependencies(\n  versionsByPackageNames: VersionsByPackageNames,\n  dependencies: LockedPackagesMap\n): void {\n  for (let [pkgName, pkgDetails] of Object.entries(dependencies)) {\n    if (pkgName.includes('node_modules')) {\n      pkgName = pkgName.substring(pkgName.lastIndexOf('node_modules/') + 13);\n    }\n\n    if (!versionsByPackageNames[pkgName]) {\n      versionsByPackageNames[pkgName] = new Set<string>();\n    }\n\n    if (pkgDetails.version) {\n      versionsByPackageNames[pkgName]?.add(pkgDetails.version);\n    }\n\n    if (pkgDetails.packages) {\n      extractDependencies(versionsByPackageNames, pkgDetails.packages);\n    }\n    if (pkgDetails.dependencies) {\n      for (const [pkgName1, version] of Object.entries(\n        pkgDetails.dependencies\n      )) {\n        if (!versionsByPackageNames[pkgName1]) {\n          versionsByPackageNames[pkgName1] = new Set<string>();\n        }\n\n        versionsByPackageNames[pkgName1].add(version);\n      }\n    }\n  }\n}\n\nfunction getAllVersionsFromYarnLockFile(\n  yarnPackageLock: LockFileObject,\n  versionsByPackageNames: {\n    [packageName: string]: Set<string>;\n  }\n): void {\n  for (const [packageName, { version }] of Object.entries(yarnPackageLock)) {\n    const pkgName = packageName.substring(0, packageName.lastIndexOf('@'));\n\n    if (!versionsByPackageNames[pkgName]) {\n      versionsByPackageNames[pkgName] = new Set();\n    }\n\n    versionsByPackageNames[pkgName].add(version);\n  }\n}\n\nfunction selectProjectByDir(\n  projects: Project[],\n  searchedDir: string\n): ProjectsGraph | undefined {\n  const project = projects.find(({ rootDir }: Project): boolean => {\n    return path.relative(rootDir, searchedDir) === '';\n  });\n\n  if (project == null) {\n    return undefined;\n  }\n\n  return { [searchedDir]: { dependencies: [], package: project } };\n}\n\nfunction getYarnLockfileType(lockFileContents: string): YarnLockType {\n  return lockFileContents.includes('__metadata')\n    ? YarnLockType.yarn2\n    : YarnLockType.yarn;\n}\n"],
  "mappings": "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",
  "names": ["YarnLockType", "parseYarnLock"]
}
