@teambit/pnpm 1.0.776 → 1.0.777
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lockfile-deps-graph-converter.d.ts +2 -2
- package/dist/lockfile-deps-graph-converter.js.map +1 -1
- package/dist/pnpm.package-manager.d.ts +1 -1
- package/dist/pnpm.package-manager.js +47 -27
- package/dist/pnpm.package-manager.js.map +1 -1
- package/dist/{preview-1759442798084.js → preview-1759500757664.js} +2 -2
- package/package.json +7 -7
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ProjectManifest } from '@pnpm/types';
|
|
2
2
|
import { type ResolveFunction } from '@pnpm/client';
|
|
3
3
|
import { DependenciesGraph } from '@teambit/objects';
|
|
4
|
-
import { type CalcDepsGraphOptions } from '@teambit/dependency-resolver';
|
|
4
|
+
import { type CalcDepsGraphOptions, type CalcDepsGraphForComponentOptions } from '@teambit/dependency-resolver';
|
|
5
5
|
import { type BitLockfileFile } from './lynx';
|
|
6
|
-
export declare function convertLockfileToGraph(lockfile: BitLockfileFile, { pkgName, componentRootDir, componentRelativeDir, componentIdByPkgName }: Omit<CalcDepsGraphOptions, 'rootDir'>): DependenciesGraph;
|
|
6
|
+
export declare function convertLockfileToGraph(lockfile: BitLockfileFile, { pkgName, componentRootDir, componentRelativeDir, componentIdByPkgName }: Omit<CalcDepsGraphOptions & CalcDepsGraphForComponentOptions, 'rootDir' | 'components' | 'component'>): DependenciesGraph;
|
|
7
7
|
export declare function convertGraphToLockfile(_graph: DependenciesGraph, { manifests, rootDir, resolve, }: {
|
|
8
8
|
manifests: Record<string, ProjectManifest>;
|
|
9
9
|
rootDir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","_interopRequireDefault","require","dp","_interopRequireWildcard","_lodash","_componentPackageVersion","_objects","_lockfile","_normalizePath","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","convertLockfileToGraphFromCapsule","lockfile","componentRelativeDir","componentIdByPkgName","componentImporter","importers","directDependencies","depType","lifecycle","optional","importerDepsToNeighbours","_convertLockfileToGraph","importerDependencies","neighbours","name","version","specifier","entries","id","refToRelative","convertLockfileToGraph","pkgName","componentRootDir","componentDevImporter","devDependencies","lockedPkgDepPath","dependencies","lockedPkg","snapshots","packages","removeSuffix","DependenciesGraph","edges","buildEdges","buildPackages","depPath","snapshot","extractDependenciesFromSnapshot","edge","pkgId","attr","transitivePeerDependencies","ROOT_EDGE_ID","replaceFileVersions","depTypeField","ref","subDepPath","Map","pkg","graphPkg","pick","resolution","type","parsed","parse","compId","component","fullName","scope","bit","depsRequiringBuild","includes","requiresBuild","Array","from","obj","s","JSON","stringify","componentId","replaceAll","RegExp","snapToSemver","convertGraphToLockfile","_graph","manifests","rootDir","resolve","graphString","serialize","graph","deserialize","allEdgeIds","Set","map","optionalDeps","prodDeps","partition","dep","convertToDeps","optionalDependencies","assign","convertGraphPackageToLockfilePackage","sort","lockfileVersion","rootEdge","findRootEdge","projectDir","manifest","projectId","getLockfileImporterId","startsWith","normalizePath","path","relative","substring","edgeId","find","directDep","depPathToRef","pkgsToResolve","getPkgsToResolve","Promise","all","pkgToResolve","alias","bareSpecifier","lockfileDir","preferredVersions","integrity","deps","pkgsInTheWorkspaces","values","patchHash","peerDepGraphHash","pkgAttr"],"sources":["lockfile-deps-graph-converter.ts"],"sourcesContent":["import path from 'path';\nimport { type ProjectManifest } from '@pnpm/types';\nimport { type LockfileFileProjectResolvedDependencies } from '@pnpm/lockfile.types';\nimport { type ResolveFunction } from '@pnpm/client';\nimport * as dp from '@pnpm/dependency-path';\nimport { pick, partition } from 'lodash';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport {\n DependenciesGraph,\n type PackagesMap,\n type PackageAttributes,\n type DependencyEdge,\n type DependencyNeighbour,\n} from '@teambit/objects';\nimport { type CalcDepsGraphOptions, type ComponentIdByPkgName } from '@teambit/dependency-resolver';\nimport { getLockfileImporterId } from '@pnpm/lockfile.fs';\nimport normalizePath from 'normalize-path';\nimport { type BitLockfileFile } from './lynx';\n\nfunction convertLockfileToGraphFromCapsule(\n lockfile: BitLockfileFile,\n {\n componentRelativeDir,\n componentIdByPkgName,\n }: Pick<CalcDepsGraphOptions, 'componentRelativeDir' | 'componentIdByPkgName'>\n): DependenciesGraph {\n const componentImporter = lockfile.importers![componentRelativeDir];\n const directDependencies: DependencyNeighbour[] = [];\n for (const depType of ['dependencies' as const, 'optionalDependencies' as const, 'devDependencies' as const]) {\n if (componentImporter[depType] != null) {\n const lifecycle = depType === 'devDependencies' ? 'dev' : 'runtime';\n const optional = depType === 'optionalDependencies';\n directDependencies.push(...importerDepsToNeighbours(componentImporter[depType]!, lifecycle, optional));\n }\n }\n return _convertLockfileToGraph(lockfile, { componentIdByPkgName, directDependencies });\n}\n\nfunction importerDepsToNeighbours(\n importerDependencies: LockfileFileProjectResolvedDependencies,\n lifecycle: 'dev' | 'runtime',\n optional: boolean\n): DependencyNeighbour[] {\n const neighbours: DependencyNeighbour[] = [];\n for (const [name, { version, specifier }] of Object.entries(importerDependencies) as any) {\n const id = dp.refToRelative(version, name)!;\n neighbours.push({ name, specifier, id, lifecycle, optional });\n }\n return neighbours;\n}\n\nexport function convertLockfileToGraph(\n lockfile: BitLockfileFile,\n { pkgName, componentRootDir, componentRelativeDir, componentIdByPkgName }: Omit<CalcDepsGraphOptions, 'rootDir'>\n): DependenciesGraph {\n if (componentRootDir == null || pkgName == null) {\n return convertLockfileToGraphFromCapsule(lockfile, { componentRelativeDir, componentIdByPkgName });\n }\n const componentDevImporter = lockfile.importers![componentRelativeDir];\n const directDependencies: DependencyNeighbour[] = [];\n if (componentDevImporter.devDependencies != null) {\n directDependencies.push(...importerDepsToNeighbours(componentDevImporter.devDependencies, 'dev', false));\n }\n const lockedPkgDepPath = `${pkgName}@${lockfile.importers![componentRootDir].dependencies![pkgName].version}`\n const lockedPkg = lockfile.snapshots![lockedPkgDepPath];\n for (const depType of ['dependencies' as const, 'optionalDependencies' as const]) {\n const optional = depType === 'optionalDependencies';\n for (const [name, version] of Object.entries(lockedPkg[depType] ?? {})) {\n const id = dp.refToRelative(version, name)!;\n directDependencies.push({\n name,\n specifier: componentDevImporter[depType]?.[name]?.specifier ?? '*',\n id,\n lifecycle: 'runtime',\n optional,\n });\n }\n }\n delete lockfile.snapshots![lockedPkgDepPath]\n delete lockfile.packages![dp.removeSuffix(lockedPkgDepPath)]\n return _convertLockfileToGraph(lockfile, { componentIdByPkgName, directDependencies });\n}\n\nfunction _convertLockfileToGraph(\n lockfile: BitLockfileFile,\n {\n componentIdByPkgName,\n directDependencies,\n }: {\n componentIdByPkgName: ComponentIdByPkgName;\n directDependencies: DependencyNeighbour[];\n }\n): DependenciesGraph {\n return new DependenciesGraph({\n edges: buildEdges(lockfile, { directDependencies, componentIdByPkgName }),\n packages: buildPackages(lockfile, { componentIdByPkgName }),\n });\n}\n\nfunction buildEdges(\n lockfile: BitLockfileFile,\n {\n directDependencies,\n componentIdByPkgName,\n }: {\n directDependencies: DependencyNeighbour[];\n componentIdByPkgName: ComponentIdByPkgName;\n }\n): DependencyEdge[] {\n const edges: DependencyEdge[] = [];\n for (const [depPath, snapshot] of Object.entries(lockfile.snapshots ?? {})) {\n const neighbours = extractDependenciesFromSnapshot(snapshot);\n const edge: DependencyEdge = {\n id: depPath,\n neighbours,\n };\n const pkgId = dp.removeSuffix(depPath);\n if (pkgId !== depPath) {\n edge.attr = { pkgId };\n }\n if (snapshot.transitivePeerDependencies) {\n edge.attr = {\n ...edge.attr,\n transitivePeerDependencies: snapshot.transitivePeerDependencies,\n };\n }\n if (edge.neighbours.length > 0 || edge.id !== pkgId) {\n edges.push(edge);\n }\n }\n edges.push({\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: replaceFileVersions(componentIdByPkgName, directDependencies),\n });\n return replaceFileVersions(componentIdByPkgName, edges);\n}\n\nfunction extractDependenciesFromSnapshot(snapshot: any): DependencyNeighbour[] {\n const dependencies: DependencyNeighbour[] = [];\n\n for (const { depTypeField, optional } of [\n { depTypeField: 'dependencies', optional: false },\n { depTypeField: 'optionalDependencies', optional: true },\n ]) {\n for (const [name, ref] of Object.entries((snapshot[depTypeField] ?? {}) as Record<string, string>)) {\n const subDepPath = dp.refToRelative(ref, name);\n if (subDepPath != null) {\n dependencies.push({ id: subDepPath, optional });\n }\n }\n }\n\n return dependencies;\n}\n\nfunction buildPackages(\n lockfile: BitLockfileFile,\n { componentIdByPkgName }: { componentIdByPkgName: ComponentIdByPkgName }\n): PackagesMap {\n const packages: PackagesMap = new Map();\n for (const [pkgId, pkg] of Object.entries(lockfile.packages ?? {})) {\n const graphPkg = pick(pkg, [\n 'bundledDependencies',\n 'cpu',\n 'deprecated',\n 'engines',\n 'hasBin',\n 'libc',\n 'name',\n 'os',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'resolution',\n 'version',\n ]) as any;\n if (graphPkg.resolution.type === 'directory') {\n delete graphPkg.resolution;\n }\n const parsed = dp.parse(pkgId);\n if (parsed.name && componentIdByPkgName.has(parsed.name)) {\n const compId = componentIdByPkgName.get(parsed.name)!;\n graphPkg.component = {\n name: compId.fullName,\n scope: compId.scope,\n };\n }\n if (lockfile.bit?.depsRequiringBuild?.includes(pkgId)) {\n graphPkg.requiresBuild = true;\n }\n packages.set(pkgId, graphPkg);\n }\n return new Map(replaceFileVersions(componentIdByPkgName, Array.from(packages.entries())));\n}\n\nfunction replaceFileVersions<T>(componentIdByPkgName: ComponentIdByPkgName, obj: T): T {\n let s = JSON.stringify(obj);\n for (const [pkgName, componentId] of componentIdByPkgName.entries()) {\n s = s.replaceAll(new RegExp(`${pkgName}@file:[^'\"(]+`, 'g'), `${pkgName}@${snapToSemver(componentId.version)}`);\n }\n return JSON.parse(s);\n}\n\nexport async function convertGraphToLockfile(\n _graph: DependenciesGraph,\n {\n manifests,\n rootDir,\n resolve,\n }: {\n manifests: Record<string, ProjectManifest>;\n rootDir: string;\n resolve: ResolveFunction;\n }\n): Promise<BitLockfileFile> {\n const graphString = _graph.serialize();\n const graph = DependenciesGraph.deserialize(graphString)!;\n const packages = {};\n const snapshots = {};\n const allEdgeIds = new Set(graph.edges.map(({ id }) => id));\n\n for (const edge of graph.edges) {\n if (edge.id === DependenciesGraph.ROOT_EDGE_ID) continue;\n const pkgId = edge.attr?.pkgId ?? edge.id;\n snapshots[edge.id] = {};\n packages[pkgId] = {};\n const [optionalDeps, prodDeps] = partition(edge.neighbours, (dep) => dep.optional);\n if (prodDeps.length) {\n snapshots[edge.id].dependencies = convertToDeps(prodDeps);\n }\n if (optionalDeps.length) {\n snapshots[edge.id].optionalDependencies = convertToDeps(optionalDeps);\n }\n const graphPkg = graph.packages.get(pkgId);\n if (graphPkg != null) {\n Object.assign(packages[pkgId], convertGraphPackageToLockfilePackage(graphPkg));\n }\n }\n for (const [pkgId, graphPkg] of graph.packages.entries()) {\n if (packages[pkgId] == null) {\n packages[pkgId] = convertGraphPackageToLockfilePackage(graphPkg);\n snapshots[pkgId] = {};\n }\n }\n const depsRequiringBuild: string[] = [];\n for (const [pkgId, { requiresBuild }] of graph.packages.entries()) {\n if (requiresBuild) {\n depsRequiringBuild.push(pkgId);\n }\n }\n depsRequiringBuild.sort();\n const lockfile: BitLockfileFile & Required<Pick<BitLockfileFile, 'packages'>> = {\n lockfileVersion: '9.0',\n packages,\n snapshots,\n importers: {},\n bit: { depsRequiringBuild },\n };\n const rootEdge = graph.findRootEdge();\n if (rootEdge) {\n for (const [projectDir, manifest] of Object.entries(manifests)) {\n const projectId = getLockfileImporterId(rootDir, projectDir);\n lockfile.importers![projectId] = {\n dependencies: {},\n devDependencies: {},\n optionalDependencies: {},\n };\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies']) {\n for (const [name, specifier] of Object.entries(manifest[depType] ?? {}) as Array<[string, string]>) {\n if (specifier.startsWith('link:')) {\n const version = `link:${normalizePath(path.relative(projectDir, specifier.substring(5)))}`;\n lockfile.importers![projectId][depType][name] = { version, specifier };\n } else {\n const edgeId = rootEdge.neighbours.find(\n (directDep) =>\n directDep.name === name &&\n (directDep.specifier === specifier || dp.removeSuffix(directDep.id) === `${name}@${specifier}`)\n )?.id;\n if (edgeId) {\n const parsed = dp.parse(edgeId);\n const ref = depPathToRef(parsed);\n lockfile.importers![projectId][depType][name] = { version: ref, specifier };\n }\n }\n }\n }\n }\n }\n const pkgsToResolve = getPkgsToResolve(lockfile, manifests);\n await Promise.all(\n pkgsToResolve.map(async (pkgToResolve) => {\n if (lockfile.packages[pkgToResolve.pkgId].resolution == null) {\n const { resolution } = await resolve(\n {\n alias: pkgToResolve.name,\n bareSpecifier: pkgToResolve.version,\n },\n {\n lockfileDir: '',\n projectDir: '',\n preferredVersions: {},\n }\n );\n if ('integrity' in resolution && resolution.integrity) {\n lockfile.packages[pkgToResolve.pkgId].resolution = {\n integrity: resolution.integrity,\n };\n }\n }\n })\n );\n return lockfile;\n\n function convertToDeps(neighbours: DependencyNeighbour[]) {\n const deps = {};\n for (const { id } of neighbours) {\n const parsed = dp.parse(id);\n deps[parsed.name!] = depPathToRef(parsed);\n if (!allEdgeIds.has(id)) {\n snapshots[id] = {};\n packages[id] = convertGraphPackageToLockfilePackage(graph.packages.get(id)!);\n }\n }\n return deps;\n }\n}\n\ninterface PkgToResolve {\n name: string;\n version: string;\n pkgId: string;\n}\n\nfunction getPkgsToResolve(lockfile: BitLockfileFile, manifests: Record<string, ProjectManifest>): PkgToResolve[] {\n const pkgsToResolve: PkgToResolve[] = [];\n const pkgsInTheWorkspaces = new Map<string, string>();\n for (const { name, version } of Object.values(manifests)) {\n if (name && version) {\n pkgsInTheWorkspaces.set(name, version);\n }\n }\n for (const [pkgId, pkg] of Object.entries(lockfile.packages ?? {})) {\n if (pkg.resolution == null || ('type' in pkg.resolution && pkg.resolution.type === 'directory')) {\n const parsed = dp.parse(pkgId);\n if (\n parsed.name &&\n parsed.version &&\n (!pkgsInTheWorkspaces.has(parsed.name) || pkgsInTheWorkspaces.get(parsed.name) !== parsed.version)\n ) {\n pkgsToResolve.push({\n name: parsed.name,\n version: parsed.version,\n pkgId,\n });\n }\n }\n }\n return pkgsToResolve;\n}\n\nfunction depPathToRef(depPath: dp.DependencyPath): string {\n return `${depPath.version}${depPath.patchHash ?? ''}${depPath.peerDepGraphHash ?? ''}`;\n}\n\nfunction convertGraphPackageToLockfilePackage(pkgAttr: PackageAttributes) {\n return pick(pkgAttr, [\n 'bundledDependencies',\n 'cpu',\n 'deprecated',\n 'engines',\n 'hasBin',\n 'libc',\n 'name',\n 'os',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'resolution',\n 'version',\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_path","data","_interopRequireDefault","require","dp","_interopRequireWildcard","_lodash","_componentPackageVersion","_objects","_lockfile","_normalizePath","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","convertLockfileToGraphFromCapsule","lockfile","componentRelativeDir","componentIdByPkgName","componentImporter","importers","directDependencies","depType","lifecycle","optional","importerDepsToNeighbours","_convertLockfileToGraph","importerDependencies","neighbours","name","version","specifier","entries","id","refToRelative","convertLockfileToGraph","pkgName","componentRootDir","componentDevImporter","devDependencies","lockedPkgDepPath","dependencies","lockedPkg","snapshots","packages","removeSuffix","DependenciesGraph","edges","buildEdges","buildPackages","depPath","snapshot","extractDependenciesFromSnapshot","edge","pkgId","attr","transitivePeerDependencies","ROOT_EDGE_ID","replaceFileVersions","depTypeField","ref","subDepPath","Map","pkg","graphPkg","pick","resolution","type","parsed","parse","compId","component","fullName","scope","bit","depsRequiringBuild","includes","requiresBuild","Array","from","obj","s","JSON","stringify","componentId","replaceAll","RegExp","snapToSemver","convertGraphToLockfile","_graph","manifests","rootDir","resolve","graphString","serialize","graph","deserialize","allEdgeIds","Set","map","optionalDeps","prodDeps","partition","dep","convertToDeps","optionalDependencies","assign","convertGraphPackageToLockfilePackage","sort","lockfileVersion","rootEdge","findRootEdge","projectDir","manifest","projectId","getLockfileImporterId","startsWith","normalizePath","path","relative","substring","edgeId","find","directDep","depPathToRef","pkgsToResolve","getPkgsToResolve","Promise","all","pkgToResolve","alias","bareSpecifier","lockfileDir","preferredVersions","integrity","deps","pkgsInTheWorkspaces","values","patchHash","peerDepGraphHash","pkgAttr"],"sources":["lockfile-deps-graph-converter.ts"],"sourcesContent":["import path from 'path';\nimport { type ProjectManifest } from '@pnpm/types';\nimport { type LockfileFileProjectResolvedDependencies } from '@pnpm/lockfile.types';\nimport { type ResolveFunction } from '@pnpm/client';\nimport * as dp from '@pnpm/dependency-path';\nimport { pick, partition } from 'lodash';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport {\n DependenciesGraph,\n type PackagesMap,\n type PackageAttributes,\n type DependencyEdge,\n type DependencyNeighbour,\n} from '@teambit/objects';\nimport { type CalcDepsGraphOptions, type CalcDepsGraphForComponentOptions, type ComponentIdByPkgName } from '@teambit/dependency-resolver';\nimport { getLockfileImporterId } from '@pnpm/lockfile.fs';\nimport normalizePath from 'normalize-path';\nimport { type BitLockfileFile } from './lynx';\n\nfunction convertLockfileToGraphFromCapsule(\n lockfile: BitLockfileFile,\n {\n componentRelativeDir,\n componentIdByPkgName,\n }: Pick<CalcDepsGraphOptions & CalcDepsGraphForComponentOptions, 'componentRelativeDir' | 'componentIdByPkgName'>\n): DependenciesGraph {\n const componentImporter = lockfile.importers![componentRelativeDir];\n const directDependencies: DependencyNeighbour[] = [];\n for (const depType of ['dependencies' as const, 'optionalDependencies' as const, 'devDependencies' as const]) {\n if (componentImporter[depType] != null) {\n const lifecycle = depType === 'devDependencies' ? 'dev' : 'runtime';\n const optional = depType === 'optionalDependencies';\n directDependencies.push(...importerDepsToNeighbours(componentImporter[depType]!, lifecycle, optional));\n }\n }\n return _convertLockfileToGraph(lockfile, { componentIdByPkgName, directDependencies });\n}\n\nfunction importerDepsToNeighbours(\n importerDependencies: LockfileFileProjectResolvedDependencies,\n lifecycle: 'dev' | 'runtime',\n optional: boolean\n): DependencyNeighbour[] {\n const neighbours: DependencyNeighbour[] = [];\n for (const [name, { version, specifier }] of Object.entries(importerDependencies) as any) {\n const id = dp.refToRelative(version, name)!;\n neighbours.push({ name, specifier, id, lifecycle, optional });\n }\n return neighbours;\n}\n\nexport function convertLockfileToGraph(\n lockfile: BitLockfileFile,\n { pkgName, componentRootDir, componentRelativeDir, componentIdByPkgName }: Omit<CalcDepsGraphOptions & CalcDepsGraphForComponentOptions, 'rootDir' | 'components' | 'component'>\n): DependenciesGraph {\n if (componentRootDir == null || pkgName == null) {\n return convertLockfileToGraphFromCapsule(lockfile, { componentRelativeDir, componentIdByPkgName });\n }\n const componentDevImporter = lockfile.importers![componentRelativeDir];\n const directDependencies: DependencyNeighbour[] = [];\n if (componentDevImporter.devDependencies != null) {\n directDependencies.push(...importerDepsToNeighbours(componentDevImporter.devDependencies, 'dev', false));\n }\n const lockedPkgDepPath = `${pkgName}@${lockfile.importers![componentRootDir].dependencies![pkgName].version}`\n const lockedPkg = lockfile.snapshots![lockedPkgDepPath];\n for (const depType of ['dependencies' as const, 'optionalDependencies' as const]) {\n const optional = depType === 'optionalDependencies';\n for (const [name, version] of Object.entries(lockedPkg[depType] ?? {})) {\n const id = dp.refToRelative(version, name)!;\n directDependencies.push({\n name,\n specifier: componentDevImporter[depType]?.[name]?.specifier ?? '*',\n id,\n lifecycle: 'runtime',\n optional,\n });\n }\n }\n delete lockfile.snapshots![lockedPkgDepPath]\n delete lockfile.packages![dp.removeSuffix(lockedPkgDepPath)]\n return _convertLockfileToGraph(lockfile, { componentIdByPkgName, directDependencies });\n}\n\nfunction _convertLockfileToGraph(\n lockfile: BitLockfileFile,\n {\n componentIdByPkgName,\n directDependencies,\n }: {\n componentIdByPkgName: ComponentIdByPkgName;\n directDependencies: DependencyNeighbour[];\n }\n): DependenciesGraph {\n return new DependenciesGraph({\n edges: buildEdges(lockfile, { directDependencies, componentIdByPkgName }),\n packages: buildPackages(lockfile, { componentIdByPkgName }),\n });\n}\n\nfunction buildEdges(\n lockfile: BitLockfileFile,\n {\n directDependencies,\n componentIdByPkgName,\n }: {\n directDependencies: DependencyNeighbour[];\n componentIdByPkgName: ComponentIdByPkgName;\n }\n): DependencyEdge[] {\n const edges: DependencyEdge[] = [];\n for (const [depPath, snapshot] of Object.entries(lockfile.snapshots ?? {})) {\n const neighbours = extractDependenciesFromSnapshot(snapshot);\n const edge: DependencyEdge = {\n id: depPath,\n neighbours,\n };\n const pkgId = dp.removeSuffix(depPath);\n if (pkgId !== depPath) {\n edge.attr = { pkgId };\n }\n if (snapshot.transitivePeerDependencies) {\n edge.attr = {\n ...edge.attr,\n transitivePeerDependencies: snapshot.transitivePeerDependencies,\n };\n }\n if (edge.neighbours.length > 0 || edge.id !== pkgId) {\n edges.push(edge);\n }\n }\n edges.push({\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: replaceFileVersions(componentIdByPkgName, directDependencies),\n });\n return replaceFileVersions(componentIdByPkgName, edges);\n}\n\nfunction extractDependenciesFromSnapshot(snapshot: any): DependencyNeighbour[] {\n const dependencies: DependencyNeighbour[] = [];\n\n for (const { depTypeField, optional } of [\n { depTypeField: 'dependencies', optional: false },\n { depTypeField: 'optionalDependencies', optional: true },\n ]) {\n for (const [name, ref] of Object.entries((snapshot[depTypeField] ?? {}) as Record<string, string>)) {\n const subDepPath = dp.refToRelative(ref, name);\n if (subDepPath != null) {\n dependencies.push({ id: subDepPath, optional });\n }\n }\n }\n\n return dependencies;\n}\n\nfunction buildPackages(\n lockfile: BitLockfileFile,\n { componentIdByPkgName }: { componentIdByPkgName: ComponentIdByPkgName }\n): PackagesMap {\n const packages: PackagesMap = new Map();\n for (const [pkgId, pkg] of Object.entries(lockfile.packages ?? {})) {\n const graphPkg = pick(pkg, [\n 'bundledDependencies',\n 'cpu',\n 'deprecated',\n 'engines',\n 'hasBin',\n 'libc',\n 'name',\n 'os',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'resolution',\n 'version',\n ]) as any;\n if (graphPkg.resolution.type === 'directory') {\n delete graphPkg.resolution;\n }\n const parsed = dp.parse(pkgId);\n if (parsed.name && componentIdByPkgName.has(parsed.name)) {\n const compId = componentIdByPkgName.get(parsed.name)!;\n graphPkg.component = {\n name: compId.fullName,\n scope: compId.scope,\n };\n }\n if (lockfile.bit?.depsRequiringBuild?.includes(pkgId)) {\n graphPkg.requiresBuild = true;\n }\n packages.set(pkgId, graphPkg);\n }\n return new Map(replaceFileVersions(componentIdByPkgName, Array.from(packages.entries())));\n}\n\nfunction replaceFileVersions<T>(componentIdByPkgName: ComponentIdByPkgName, obj: T): T {\n let s = JSON.stringify(obj);\n for (const [pkgName, componentId] of componentIdByPkgName.entries()) {\n s = s.replaceAll(new RegExp(`${pkgName}@file:[^'\"(]+`, 'g'), `${pkgName}@${snapToSemver(componentId.version)}`);\n }\n return JSON.parse(s);\n}\n\nexport async function convertGraphToLockfile(\n _graph: DependenciesGraph,\n {\n manifests,\n rootDir,\n resolve,\n }: {\n manifests: Record<string, ProjectManifest>;\n rootDir: string;\n resolve: ResolveFunction;\n }\n): Promise<BitLockfileFile> {\n const graphString = _graph.serialize();\n const graph = DependenciesGraph.deserialize(graphString)!;\n const packages = {};\n const snapshots = {};\n const allEdgeIds = new Set(graph.edges.map(({ id }) => id));\n\n for (const edge of graph.edges) {\n if (edge.id === DependenciesGraph.ROOT_EDGE_ID) continue;\n const pkgId = edge.attr?.pkgId ?? edge.id;\n snapshots[edge.id] = {};\n packages[pkgId] = {};\n const [optionalDeps, prodDeps] = partition(edge.neighbours, (dep) => dep.optional);\n if (prodDeps.length) {\n snapshots[edge.id].dependencies = convertToDeps(prodDeps);\n }\n if (optionalDeps.length) {\n snapshots[edge.id].optionalDependencies = convertToDeps(optionalDeps);\n }\n const graphPkg = graph.packages.get(pkgId);\n if (graphPkg != null) {\n Object.assign(packages[pkgId], convertGraphPackageToLockfilePackage(graphPkg));\n }\n }\n for (const [pkgId, graphPkg] of graph.packages.entries()) {\n if (packages[pkgId] == null) {\n packages[pkgId] = convertGraphPackageToLockfilePackage(graphPkg);\n snapshots[pkgId] = {};\n }\n }\n const depsRequiringBuild: string[] = [];\n for (const [pkgId, { requiresBuild }] of graph.packages.entries()) {\n if (requiresBuild) {\n depsRequiringBuild.push(pkgId);\n }\n }\n depsRequiringBuild.sort();\n const lockfile: BitLockfileFile & Required<Pick<BitLockfileFile, 'packages'>> = {\n lockfileVersion: '9.0',\n packages,\n snapshots,\n importers: {},\n bit: { depsRequiringBuild },\n };\n const rootEdge = graph.findRootEdge();\n if (rootEdge) {\n for (const [projectDir, manifest] of Object.entries(manifests)) {\n const projectId = getLockfileImporterId(rootDir, projectDir);\n lockfile.importers![projectId] = {\n dependencies: {},\n devDependencies: {},\n optionalDependencies: {},\n };\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies']) {\n for (const [name, specifier] of Object.entries(manifest[depType] ?? {}) as Array<[string, string]>) {\n if (specifier.startsWith('link:')) {\n const version = `link:${normalizePath(path.relative(projectDir, specifier.substring(5)))}`;\n lockfile.importers![projectId][depType][name] = { version, specifier };\n } else {\n const edgeId = rootEdge.neighbours.find(\n (directDep) =>\n directDep.name === name &&\n (directDep.specifier === specifier || dp.removeSuffix(directDep.id) === `${name}@${specifier}`)\n )?.id;\n if (edgeId) {\n const parsed = dp.parse(edgeId);\n const ref = depPathToRef(parsed);\n lockfile.importers![projectId][depType][name] = { version: ref, specifier };\n }\n }\n }\n }\n }\n }\n const pkgsToResolve = getPkgsToResolve(lockfile, manifests);\n await Promise.all(\n pkgsToResolve.map(async (pkgToResolve) => {\n if (lockfile.packages[pkgToResolve.pkgId].resolution == null) {\n const { resolution } = await resolve(\n {\n alias: pkgToResolve.name,\n bareSpecifier: pkgToResolve.version,\n },\n {\n lockfileDir: '',\n projectDir: '',\n preferredVersions: {},\n }\n );\n if ('integrity' in resolution && resolution.integrity) {\n lockfile.packages[pkgToResolve.pkgId].resolution = {\n integrity: resolution.integrity,\n };\n }\n }\n })\n );\n return lockfile;\n\n function convertToDeps(neighbours: DependencyNeighbour[]) {\n const deps = {};\n for (const { id } of neighbours) {\n const parsed = dp.parse(id);\n deps[parsed.name!] = depPathToRef(parsed);\n if (!allEdgeIds.has(id)) {\n snapshots[id] = {};\n packages[id] = convertGraphPackageToLockfilePackage(graph.packages.get(id)!);\n }\n }\n return deps;\n }\n}\n\ninterface PkgToResolve {\n name: string;\n version: string;\n pkgId: string;\n}\n\nfunction getPkgsToResolve(lockfile: BitLockfileFile, manifests: Record<string, ProjectManifest>): PkgToResolve[] {\n const pkgsToResolve: PkgToResolve[] = [];\n const pkgsInTheWorkspaces = new Map<string, string>();\n for (const { name, version } of Object.values(manifests)) {\n if (name && version) {\n pkgsInTheWorkspaces.set(name, version);\n }\n }\n for (const [pkgId, pkg] of Object.entries(lockfile.packages ?? {})) {\n if (pkg.resolution == null || ('type' in pkg.resolution && pkg.resolution.type === 'directory')) {\n const parsed = dp.parse(pkgId);\n if (\n parsed.name &&\n parsed.version &&\n (!pkgsInTheWorkspaces.has(parsed.name) || pkgsInTheWorkspaces.get(parsed.name) !== parsed.version)\n ) {\n pkgsToResolve.push({\n name: parsed.name,\n version: parsed.version,\n pkgId,\n });\n }\n }\n }\n return pkgsToResolve;\n}\n\nfunction depPathToRef(depPath: dp.DependencyPath): string {\n return `${depPath.version}${depPath.patchHash ?? ''}${depPath.peerDepGraphHash ?? ''}`;\n}\n\nfunction convertGraphPackageToLockfilePackage(pkgAttr: PackageAttributes) {\n return pick(pkgAttr, [\n 'bundledDependencies',\n 'cpu',\n 'deprecated',\n 'engines',\n 'hasBin',\n 'libc',\n 'name',\n 'os',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'resolution',\n 'version',\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -54,5 +54,5 @@ export declare class PnpmPackageManager implements PackageManager {
|
|
|
54
54
|
/**
|
|
55
55
|
* Calculating the dependencies graph of a given component using the lockfile.
|
|
56
56
|
*/
|
|
57
|
-
calcDependenciesGraph(opts: CalcDepsGraphOptions): Promise<
|
|
57
|
+
calcDependenciesGraph(opts: CalcDepsGraphOptions): Promise<void>;
|
|
58
58
|
}
|
|
@@ -487,40 +487,60 @@ class PnpmPackageManager {
|
|
|
487
487
|
* Calculating the dependencies graph of a given component using the lockfile.
|
|
488
488
|
*/
|
|
489
489
|
async calcDependenciesGraph(opts) {
|
|
490
|
-
const
|
|
490
|
+
const originalLockfile = await (0, _lockfile2().readWantedLockfile)(opts.rootDir, {
|
|
491
491
|
ignoreIncompatible: false
|
|
492
492
|
});
|
|
493
|
-
if (!
|
|
494
|
-
return
|
|
493
|
+
if (!originalLockfile) {
|
|
494
|
+
return;
|
|
495
495
|
}
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
496
|
+
for (const {
|
|
497
|
+
componentRootDir,
|
|
498
|
+
componentRelativeDir,
|
|
499
|
+
pkgName,
|
|
500
|
+
component
|
|
501
|
+
} of opts.components) {
|
|
502
|
+
const lockfile = structuredClone(originalLockfile);
|
|
503
|
+
let compRootDir;
|
|
504
|
+
if (componentRootDir && !lockfile.importers[componentRootDir] && componentRootDir.includes('@')) {
|
|
505
|
+
compRootDir = componentRootDir.split('@')[0];
|
|
506
|
+
} else {
|
|
507
|
+
compRootDir = componentRootDir;
|
|
508
|
+
}
|
|
509
|
+
if (!lockfile.importers[compRootDir]) {
|
|
510
|
+
// This will only happen if the env was not loaded correctly before install.
|
|
511
|
+
// But in this case we cannot calculate the dependency graph from the lockfile.
|
|
512
|
+
continue;
|
|
513
|
+
}
|
|
514
|
+
const filterByImporterIds = [componentRelativeDir];
|
|
515
|
+
if (compRootDir != null) {
|
|
516
|
+
filterByImporterIds.push(compRootDir);
|
|
517
|
+
}
|
|
518
|
+
for (const importerId of filterByImporterIds) {
|
|
519
|
+
for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies', 'specifiers', 'dependenciesMeta']) {
|
|
520
|
+
for (const workspacePkgName of opts.componentIdByPkgName.keys()) {
|
|
521
|
+
if (workspacePkgName !== pkgName) {
|
|
522
|
+
delete lockfile.importers[importerId]?.[depType]?.[workspacePkgName];
|
|
523
|
+
}
|
|
508
524
|
}
|
|
509
525
|
}
|
|
510
526
|
}
|
|
527
|
+
// Filters the lockfile so that it only includes packages related to the given component.
|
|
528
|
+
const partialLockfile = (0, _lockfile2().convertToLockfileFile)((0, _lockfile().filterLockfileByImporters)(lockfile, filterByImporterIds, {
|
|
529
|
+
include: {
|
|
530
|
+
dependencies: true,
|
|
531
|
+
devDependencies: true,
|
|
532
|
+
optionalDependencies: true
|
|
533
|
+
},
|
|
534
|
+
failOnMissingDependencies: false,
|
|
535
|
+
skipped: new Set()
|
|
536
|
+
}));
|
|
537
|
+
const graph = (0, _lockfileDepsGraphConverter().convertLockfileToGraph)(partialLockfile, _objectSpread(_objectSpread({}, opts), {}, {
|
|
538
|
+
componentRootDir: compRootDir,
|
|
539
|
+
componentRelativeDir,
|
|
540
|
+
pkgName
|
|
541
|
+
}));
|
|
542
|
+
component.state._consumer.dependenciesGraph = graph;
|
|
511
543
|
}
|
|
512
|
-
// Filters the lockfile so that it only includes packages related to the given component.
|
|
513
|
-
const partialLockfile = (0, _lockfile2().convertToLockfileFile)((0, _lockfile().filterLockfileByImporters)(lockfile, filterByImporterIds, {
|
|
514
|
-
include: {
|
|
515
|
-
dependencies: true,
|
|
516
|
-
devDependencies: true,
|
|
517
|
-
optionalDependencies: true
|
|
518
|
-
},
|
|
519
|
-
failOnMissingDependencies: false,
|
|
520
|
-
skipped: new Set()
|
|
521
|
-
}));
|
|
522
|
-
const graph = (0, _lockfileDepsGraphConverter().convertLockfileToGraph)(partialLockfile, opts);
|
|
523
|
-
return graph;
|
|
524
544
|
}
|
|
525
545
|
}
|
|
526
546
|
exports.PnpmPackageManager = PnpmPackageManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dependencyResolver","data","require","_pkgEntities","_dependenciesPnpm","_harmonyModules","_fs","_interopRequireDefault","_lodash","_lockfile","_modulesYaml","_reviewing","_list","_lockfile2","_legacy","_legacy2","_path","_lockfileDepsGraphConverter","_readConfig","_pnpmPruneModules","_lynx","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PnpmPackageManager","constructor","depResolver","logger","cloud","Map","dir","config","warnings","readConfig","fetchRetries","memoize","dependenciesGraphToLockfile","dependenciesGraph","opts","registries","Registries","Registry","resolve","generateResolverAndFetcher","lockfile","convertGraphToLockfile","assign","bit","restoredFromModel","lockfilePath","join","rootDir","writeLockfileFile","debug","process","env","DEPS_GRAPH_LOG","console","log","install","manifests","installOptions","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","packageManagerConfigRootDir","isFeatureEnabled","DEPS_GRAPH","rootComponents","rootComponentsForCapsules","cacheDir","error","message","hidePackageManagerOutput","off","useNesting","extendWithComponentsFromDir","nmSelfReferences","values","manifest","name","devDependencies","modulesManifestCache","delete","dependenciesChanged","rebuild","storeDir","depsRequiringBuild","autoInstallPeers","enableModulesDir","engineStrict","excludeLinksFromLockfile","lockfileOnly","minimumReleaseAge","minimumReleaseAgeExclude","neverBuiltDependencies","nodeLinker","nodeVersion","includeOptionalDeps","ignorePackageManifest","dedupeInjectedDeps","dryRun","overrides","hoistPattern","hoistPatterns","publicHoistPattern","shamefullyHoist","hoistWorkspacePackages","hoistInjectedDependencies","packageImportMethod","preferOffline","sideEffectsCacheRead","sideEffectsCache","sideEffectsCacheWrite","pnpmHomeDir","updateAll","reportOptions","appendOnly","optimizeReportForNonTerminal","BIT_CLI_SERVER_NO_TTY","stdout","ServerSendOutStream","undefined","throttleProgress","hideProgressPrefix","hideLifecycleOutput","peerDependencyRules","returnListOfDepsRequiringBuild","forcedHarmonyVersion","on","getPeerDependencyIssues","lynx","resolveRemoteVersion","packageName","options","fullMetadata","username","getCurrentUser","result","userAgent","rawConfig","maxSockets","networkConcurrency","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","strictSSL","ca","cert","key","pnpmRegistry","defaultRegistry","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","omit","scopesRegistries","reduce","acc","scopedRegName","scopedReg","replace","BIT_CLOUD_REGISTRY","getInjectedDirs","componentDir","modulesState","_readModulesManifest","injectedDeps","lockfileDir","has","get","modulesManifest","readModulesManifest","set","getWorkspaceDepsOfBitRoots","fromEntries","map","pruneModules","pnpmPruneModules","findUsages","depName","search","createPackagesSearcher","readWantedLockfile","ignoreIncompatible","projectPaths","importers","id","includes","BIT_ROOTS_DIR","cache","isHoisted","getPkgLocation","path","results","entries","buildDependenciesHierarchy","depth","Infinity","include","dependencies","optionalDependencies","virtualStoreDirMaxLength","VIRTUAL_STORE_DIR_MAX_LENGTH","projectPath","builtDependenciesHierarchy","pkgNamesToComponentIds","renderTree","alwaysPrintRootPackage","long","showExtraneous","calcDependenciesGraph","componentRootDir","split","filterByImporterIds","componentRelativeDir","importerId","depType","workspacePkgName","componentIdByPkgName","pkgName","partialLockfile","convertLockfileObjectToLockfileFile","filterLockfileByImporters","failOnMissingDependencies","skipped","Set","graph","convertLockfileToGraph","exports","deps","dep","pkgJson","tryReadPackageJson","componentId","scope","pkgDir","JSON","parse","fs","readFileSync"],"sources":["pnpm.package-manager.ts"],"sourcesContent":["import type { CloudMain } from '@teambit/cloud';\nimport { extendWithComponentsFromDir, BIT_CLOUD_REGISTRY } from '@teambit/dependency-resolver';\nimport type {\n DependencyResolverMain,\n InstallationContext,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n CalcDepsGraphOptions,\n} from '@teambit/dependency-resolver';\nimport { Registries, Registry } from '@teambit/pkg.entities.registry';\nimport { VIRTUAL_STORE_DIR_MAX_LENGTH } from '@teambit/dependencies.pnpm.dep-path';\nimport { DEPS_GRAPH, isFeatureEnabled } from '@teambit/harmony.modules.feature-toggle';\nimport type { Logger } from '@teambit/logger';\nimport { type LockfileFile } from '@pnpm/lockfile.types';\nimport fs from 'fs';\nimport { memoize, omit } from 'lodash';\nimport type { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport { filterLockfileByImporters } from '@pnpm/lockfile.filtering';\nimport type { Config } from '@pnpm/config';\nimport { type ProjectId, type ProjectManifest, type DepPath } from '@pnpm/types';\nimport type { Modules } from '@pnpm/modules-yaml';\nimport { readModulesManifest } from '@pnpm/modules-yaml';\nimport type { DependenciesHierarchy, PackageNode } from '@pnpm/reviewing.dependencies-hierarchy';\nimport { buildDependenciesHierarchy, createPackagesSearcher } from '@pnpm/reviewing.dependencies-hierarchy';\nimport { renderTree } from '@pnpm/list';\nimport {\n readWantedLockfile,\n writeLockfileFile,\n convertToLockfileFile as convertLockfileObjectToLockfileFile,\n} from '@pnpm/lockfile.fs';\nimport { BIT_ROOTS_DIR } from '@teambit/legacy.constants';\nimport { ServerSendOutStream } from '@teambit/legacy.logger';\nimport { join } from 'path';\nimport { convertLockfileToGraph, convertGraphToLockfile } from './lockfile-deps-graph-converter';\nimport { readConfig } from './read-config';\nimport { pnpmPruneModules } from './pnpm-prune-modules';\nimport type { RebuildFn } from './lynx';\nimport { generateResolverAndFetcher } from './lynx';\nimport { type DependenciesGraph } from '@teambit/objects';\n\nexport type { RebuildFn };\n\nexport interface InstallResult {\n dependenciesChanged: boolean;\n rebuild: RebuildFn;\n storeDir: string;\n depsRequiringBuild?: DepPath[];\n}\n\ntype ReadConfigResult = Promise<{ config: Config; warnings: string[] }>;\n\nexport class PnpmPackageManager implements PackageManager {\n readonly name = 'pnpm';\n readonly modulesManifestCache: Map<string, Modules> = new Map();\n private username: string;\n\n private _readConfig = async (dir?: string): ReadConfigResult => {\n const { config, warnings } = await readConfig(dir);\n if (config?.fetchRetries && config?.fetchRetries < 5) {\n config.fetchRetries = 5;\n return { config, warnings };\n }\n\n return { config, warnings };\n };\n\n public readConfig: (dir?: string) => ReadConfigResult = memoize(this._readConfig);\n\n constructor(\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private cloud: CloudMain\n ) {}\n\n async dependenciesGraphToLockfile(\n dependenciesGraph: DependenciesGraph,\n opts: {\n cacheDir: string;\n manifests: Record<string, ProjectManifest>;\n rootDir: string;\n registries?: Registries;\n proxyConfig?: PackageManagerProxyConfig;\n networkConfig?: PackageManagerNetworkConfig;\n }\n ) {\n const registries = opts.registries ?? new Registries(new Registry('https://node-registry.bit.cloud', false), {});\n const { resolve } = await generateResolverAndFetcher({\n ...opts,\n registries,\n });\n const lockfile: LockfileFile = await convertGraphToLockfile(dependenciesGraph, {\n ...opts,\n resolve,\n });\n Object.assign(lockfile, {\n bit: {\n restoredFromModel: true,\n },\n });\n const lockfilePath = join(opts.rootDir, 'pnpm-lock.yaml');\n await writeLockfileFile(lockfilePath, lockfile);\n this.logger.debug(`generated a lockfile from dependencies graph at ${lockfilePath}`);\n if (process.env.DEPS_GRAPH_LOG) {\n // eslint-disable-next-line no-console\n console.log(`generated a lockfile from dependencies graph at ${lockfilePath}`);\n }\n }\n\n async install(\n { rootDir, manifests }: InstallationContext,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<InstallResult> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { install } = require('./lynx');\n\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n if (\n installOptions.dependenciesGraph &&\n isFeatureEnabled(DEPS_GRAPH) &&\n (installOptions.rootComponents || installOptions.rootComponentsForCapsules)\n ) {\n try {\n await this.dependenciesGraphToLockfile(installOptions.dependenciesGraph, {\n manifests,\n rootDir,\n registries,\n proxyConfig,\n networkConfig,\n cacheDir: config.cacheDir,\n });\n } catch (error) {\n // If the lockfile could not be created for some reason, it will be created later during installation.\n this.logger.error((error as Error).message);\n }\n }\n\n this.logger.debug(`running installation in root dir ${rootDir}`);\n this.logger.debug('components manifests for installation', manifests);\n if (!installOptions.hidePackageManagerOutput) {\n // this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n // this.logger.console('-------------------------PNPM OUTPUT-------------------------');\n this.logger.off();\n }\n if (!installOptions.useNesting && installOptions.rootComponentsForCapsules) {\n manifests = await extendWithComponentsFromDir(rootDir, manifests);\n }\n if (installOptions.nmSelfReferences) {\n Object.values(manifests).forEach((manifest) => {\n if (manifest.name) {\n manifest.devDependencies = {\n [manifest.name]: 'link:.',\n ...manifest.devDependencies,\n };\n }\n });\n }\n this.modulesManifestCache.delete(rootDir);\n const { dependenciesChanged, rebuild, storeDir, depsRequiringBuild } = await install(\n rootDir,\n manifests,\n config.storeDir,\n config.cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n autoInstallPeers: installOptions.autoInstallPeers ?? true,\n enableModulesDir: installOptions.enableModulesDir,\n engineStrict: installOptions.engineStrict ?? config.engineStrict,\n excludeLinksFromLockfile: installOptions.excludeLinksFromLockfile,\n lockfileOnly: installOptions.lockfileOnly,\n minimumReleaseAge: installOptions.minimumReleaseAge,\n minimumReleaseAgeExclude: installOptions.minimumReleaseAgeExclude,\n neverBuiltDependencies: installOptions.neverBuiltDependencies,\n nodeLinker: installOptions.nodeLinker,\n nodeVersion: installOptions.nodeVersion ?? config.nodeVersion,\n includeOptionalDeps: installOptions.includeOptionalDeps,\n ignorePackageManifest: installOptions.ignorePackageManifest,\n dedupeInjectedDeps: installOptions.dedupeInjectedDeps ?? false,\n dryRun: installOptions.dependenciesGraph == null && installOptions.dryRun,\n overrides: installOptions.overrides,\n hoistPattern: installOptions.hoistPatterns ?? config.hoistPattern,\n publicHoistPattern: config.shamefullyHoist\n ? ['*']\n : ['@eslint/plugin-*', '*eslint-plugin*', '@prettier/plugin-*', '*prettier-plugin-*'],\n hoistWorkspacePackages: installOptions.hoistWorkspacePackages ?? false,\n hoistInjectedDependencies: installOptions.hoistInjectedDependencies,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n preferOffline: installOptions.preferOffline,\n rootComponents: installOptions.rootComponents,\n rootComponentsForCapsules: installOptions.rootComponentsForCapsules,\n sideEffectsCacheRead: installOptions.sideEffectsCache ?? true,\n sideEffectsCacheWrite: installOptions.sideEffectsCache ?? true,\n pnpmHomeDir: config.pnpmHomeDir,\n updateAll: installOptions.updateAll,\n hidePackageManagerOutput: installOptions.hidePackageManagerOutput,\n reportOptions: {\n appendOnly: installOptions.optimizeReportForNonTerminal,\n process: process.env.BIT_CLI_SERVER_NO_TTY ? { ...process, stdout: new ServerSendOutStream() } : undefined,\n throttleProgress: installOptions.throttleProgress,\n hideProgressPrefix: installOptions.hideProgressPrefix,\n hideLifecycleOutput: installOptions.hideLifecycleOutput,\n peerDependencyRules: installOptions.peerDependencyRules,\n },\n returnListOfDepsRequiringBuild: installOptions.returnListOfDepsRequiringBuild,\n forcedHarmonyVersion: installOptions.forcedHarmonyVersion,\n },\n this.logger\n );\n if (!installOptions.hidePackageManagerOutput) {\n this.logger.on();\n // Make a divider row to improve output\n // this.logger.console('-------------------------END PNPM OUTPUT-------------------------');\n // this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n return { dependenciesChanged, rebuild, storeDir, depsRequiringBuild };\n }\n\n async getPeerDependencyIssues(\n rootDir: string,\n manifests: Record<string, ProjectManifest>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<PeerDependencyIssuesByProjects> {\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const registries = await this.depResolver.getRegistries();\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const lynx = require('./lynx');\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n return lynx.getPeerDependencyIssues(manifests, {\n storeDir: config.storeDir,\n cacheDir: config.cacheDir,\n proxyConfig,\n registries,\n rootDir,\n networkConfig,\n overrides: installOptions.overrides,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n });\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { resolveRemoteVersion } = require('./lynx');\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { config } = await this.readConfig(options.packageManagerConfigRootDir);\n return resolveRemoteVersion(packageName, {\n rootDir: options.rootDir,\n cacheDir: config.cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n fullMetadata: options.fullMetadata,\n });\n }\n\n async getProxyConfig?(): Promise<PackageManagerProxyConfig> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getProxyConfig } = require('./get-proxy-config');\n const { config } = await this.readConfig();\n return getProxyConfig(config);\n }\n\n async getNetworkConfig?(): Promise<PackageManagerNetworkConfig> {\n const { config } = await this.readConfig();\n if (!this.username) {\n this.username = (await this.cloud.getCurrentUser())?.username ?? 'anonymous';\n }\n // We need to use config.rawConfig as it will only contain the settings defined by the user.\n // config contains default values of the settings when they are not defined by the user.\n const result: PackageManagerNetworkConfig = {\n userAgent: `bit user/${this.username}`,\n };\n if (config.rawConfig['max-sockets'] != null) {\n result.maxSockets = config.rawConfig['max-sockets'];\n }\n if (config.rawConfig['network-concurrency'] != null) {\n result.networkConcurrency = config.rawConfig['network-concurrency'];\n }\n if (config.rawConfig['fetch-retries'] != null) {\n result.fetchRetries = config.rawConfig['fetch-retries'];\n }\n if (config.rawConfig['fetch-timeout'] != null) {\n result.fetchTimeout = config.rawConfig['fetch-timeout'];\n }\n if (config.rawConfig['fetch-retry-maxtimeout'] != null) {\n result.fetchRetryMaxtimeout = config.rawConfig['fetch-retry-maxtimeout'];\n }\n if (config.rawConfig['fetch-retry-mintimeout'] != null) {\n result.fetchRetryMintimeout = config.rawConfig['fetch-retry-mintimeout'];\n }\n if (config.rawConfig['strict-ssl'] != null) {\n result.strictSSL = config.rawConfig['strict-ssl'];\n }\n if (config.ca != null) {\n result.ca = config.ca;\n }\n if (config.cert != null) {\n result.cert = config.cert;\n }\n if (config.key != null) {\n result.key = config.key;\n }\n return result;\n }\n\n async getRegistries(): Promise<Registries> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getRegistries } = require('./get-registries');\n const { config } = await this.readConfig();\n const pnpmRegistry = await getRegistries(config);\n const defaultRegistry = new Registry(\n pnpmRegistry.default.uri,\n pnpmRegistry.default.alwaysAuth,\n pnpmRegistry.default.authHeaderValue,\n pnpmRegistry.default.originalAuthType,\n pnpmRegistry.default.originalAuthValue\n );\n\n const pnpmScoped = omit(pnpmRegistry, ['default']);\n const scopesRegistries: Record<string, Registry> = Object.keys(pnpmScoped).reduce((acc, scopedRegName) => {\n const scopedReg = pnpmScoped[scopedRegName];\n const name = scopedRegName.replace('@', '');\n acc[name] = new Registry(\n scopedReg.uri,\n scopedReg.alwaysAuth,\n scopedReg.authHeaderValue,\n scopedReg.originalAuthType,\n scopedReg.originalAuthValue\n );\n return acc;\n }, {});\n\n // Add bit registry server if not exist\n if (!scopesRegistries.bit) {\n scopesRegistries.bit = new Registry(BIT_CLOUD_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n\n async getInjectedDirs(rootDir: string, componentDir: string, packageName: string): Promise<string[]> {\n const modulesState = await this._readModulesManifest(rootDir);\n if (modulesState?.injectedDeps == null) return [];\n return modulesState.injectedDeps[`node_modules/${packageName}`] ?? modulesState.injectedDeps[componentDir] ?? [];\n }\n\n async _readModulesManifest(lockfileDir: string): Promise<Modules | undefined> {\n if (this.modulesManifestCache.has(lockfileDir)) {\n return this.modulesManifestCache.get(lockfileDir);\n }\n const modulesManifest = await readModulesManifest(join(lockfileDir, 'node_modules'));\n if (modulesManifest) {\n this.modulesManifestCache.set(lockfileDir, modulesManifest);\n }\n return modulesManifest ?? undefined;\n }\n\n getWorkspaceDepsOfBitRoots(manifests: ProjectManifest[]): Record<string, string> {\n return Object.fromEntries(manifests.map((manifest) => [manifest.name, 'workspace:*']));\n }\n\n async pruneModules(rootDir: string): Promise<void> {\n return pnpmPruneModules(rootDir);\n }\n\n async findUsages(depName: string, opts: { lockfileDir: string; depth?: number }): Promise<string> {\n const search = createPackagesSearcher([depName]);\n const lockfile = await readWantedLockfile(opts.lockfileDir, { ignoreIncompatible: false });\n const projectPaths = Object.keys(lockfile?.importers ?? {})\n .filter((id) => !id.includes(`${BIT_ROOTS_DIR}/`))\n .map((id) => join(opts.lockfileDir, id));\n const cache = new Map();\n const modulesManifest = await this._readModulesManifest(opts.lockfileDir);\n const isHoisted = modulesManifest?.nodeLinker === 'hoisted';\n const getPkgLocation: GetPkgLocation = isHoisted\n ? ({ name }) => join(opts.lockfileDir, 'node_modules', name)\n : ({ path }) => path;\n const results = Object.entries(\n await buildDependenciesHierarchy(projectPaths, {\n depth: opts.depth ?? Infinity,\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: true,\n },\n lockfileDir: opts.lockfileDir,\n registries: {\n default: 'https://registry.npmjs.org',\n },\n search,\n virtualStoreDirMaxLength: VIRTUAL_STORE_DIR_MAX_LENGTH,\n })\n ).map(([projectPath, builtDependenciesHierarchy]) => {\n pkgNamesToComponentIds(builtDependenciesHierarchy, { cache, getPkgLocation });\n return {\n path: projectPath,\n ...builtDependenciesHierarchy,\n };\n });\n return renderTree(results, {\n alwaysPrintRootPackage: false,\n depth: Infinity,\n search: true,\n long: false,\n showExtraneous: false,\n });\n }\n\n /**\n * Calculating the dependencies graph of a given component using the lockfile.\n */\n async calcDependenciesGraph(opts: CalcDepsGraphOptions): Promise<DependenciesGraph | undefined> {\n const lockfile = await readWantedLockfile(opts.rootDir, { ignoreIncompatible: false });\n if (!lockfile) {\n return undefined;\n }\n if (opts.componentRootDir && !lockfile.importers[opts.componentRootDir] && opts.componentRootDir.includes('@')) {\n opts.componentRootDir = opts.componentRootDir.split('@')[0];\n }\n const filterByImporterIds = [opts.componentRelativeDir as ProjectId];\n if (opts.componentRootDir != null) {\n filterByImporterIds.push(opts.componentRootDir as ProjectId);\n }\n for (const importerId of filterByImporterIds) {\n for (const depType of [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n 'specifiers',\n 'dependenciesMeta',\n ]) {\n for (const workspacePkgName of opts.componentIdByPkgName.keys()) {\n if (workspacePkgName !== opts.pkgName) {\n delete lockfile.importers[importerId]?.[depType]?.[workspacePkgName];\n }\n }\n }\n }\n // Filters the lockfile so that it only includes packages related to the given component.\n const partialLockfile = convertLockfileObjectToLockfileFile(\n filterLockfileByImporters(lockfile, filterByImporterIds, {\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: true,\n },\n failOnMissingDependencies: false,\n skipped: new Set(),\n })\n );\n const graph = convertLockfileToGraph(partialLockfile, opts);\n return graph;\n }\n}\n\ntype GetPkgLocation = (pkgNode: PackageNode) => string;\n\nfunction pkgNamesToComponentIds(\n deps: DependenciesHierarchy,\n { cache, getPkgLocation }: { cache: Map<string, string>; getPkgLocation: GetPkgLocation }\n) {\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies']) {\n if (deps[depType]) {\n for (const dep of deps[depType]) {\n if (!cache.has(dep.name)) {\n const pkgJson = tryReadPackageJson(getPkgLocation(dep));\n cache.set(\n dep.name,\n pkgJson?.componentId ? `${pkgJson.componentId.scope}/${pkgJson.componentId.name}` : dep.name\n );\n }\n dep.name = cache.get(dep.name);\n pkgNamesToComponentIds(dep, { cache, getPkgLocation });\n }\n }\n }\n}\n\nfunction tryReadPackageJson(pkgDir: string) {\n try {\n return JSON.parse(fs.readFileSync(join(pkgDir, 'package.json'), 'utf8'));\n } catch {\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_dependencyResolver","data","require","_pkgEntities","_dependenciesPnpm","_harmonyModules","_fs","_interopRequireDefault","_lodash","_lockfile","_modulesYaml","_reviewing","_list","_lockfile2","_legacy","_legacy2","_path","_lockfileDepsGraphConverter","_readConfig","_pnpmPruneModules","_lynx","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PnpmPackageManager","constructor","depResolver","logger","cloud","Map","dir","config","warnings","readConfig","fetchRetries","memoize","dependenciesGraphToLockfile","dependenciesGraph","opts","registries","Registries","Registry","resolve","generateResolverAndFetcher","lockfile","convertGraphToLockfile","assign","bit","restoredFromModel","lockfilePath","join","rootDir","writeLockfileFile","debug","process","env","DEPS_GRAPH_LOG","console","log","install","manifests","installOptions","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","packageManagerConfigRootDir","isFeatureEnabled","DEPS_GRAPH","rootComponents","rootComponentsForCapsules","cacheDir","error","message","hidePackageManagerOutput","off","useNesting","extendWithComponentsFromDir","nmSelfReferences","values","manifest","name","devDependencies","modulesManifestCache","delete","dependenciesChanged","rebuild","storeDir","depsRequiringBuild","autoInstallPeers","enableModulesDir","engineStrict","excludeLinksFromLockfile","lockfileOnly","minimumReleaseAge","minimumReleaseAgeExclude","neverBuiltDependencies","nodeLinker","nodeVersion","includeOptionalDeps","ignorePackageManifest","dedupeInjectedDeps","dryRun","overrides","hoistPattern","hoistPatterns","publicHoistPattern","shamefullyHoist","hoistWorkspacePackages","hoistInjectedDependencies","packageImportMethod","preferOffline","sideEffectsCacheRead","sideEffectsCache","sideEffectsCacheWrite","pnpmHomeDir","updateAll","reportOptions","appendOnly","optimizeReportForNonTerminal","BIT_CLI_SERVER_NO_TTY","stdout","ServerSendOutStream","undefined","throttleProgress","hideProgressPrefix","hideLifecycleOutput","peerDependencyRules","returnListOfDepsRequiringBuild","forcedHarmonyVersion","on","getPeerDependencyIssues","lynx","resolveRemoteVersion","packageName","options","fullMetadata","username","getCurrentUser","result","userAgent","rawConfig","maxSockets","networkConcurrency","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","strictSSL","ca","cert","key","pnpmRegistry","defaultRegistry","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","omit","scopesRegistries","reduce","acc","scopedRegName","scopedReg","replace","BIT_CLOUD_REGISTRY","getInjectedDirs","componentDir","modulesState","_readModulesManifest","injectedDeps","lockfileDir","has","get","modulesManifest","readModulesManifest","set","getWorkspaceDepsOfBitRoots","fromEntries","map","pruneModules","pnpmPruneModules","findUsages","depName","search","createPackagesSearcher","readWantedLockfile","ignoreIncompatible","projectPaths","importers","id","includes","BIT_ROOTS_DIR","cache","isHoisted","getPkgLocation","path","results","entries","buildDependenciesHierarchy","depth","Infinity","include","dependencies","optionalDependencies","virtualStoreDirMaxLength","VIRTUAL_STORE_DIR_MAX_LENGTH","projectPath","builtDependenciesHierarchy","pkgNamesToComponentIds","renderTree","alwaysPrintRootPackage","long","showExtraneous","calcDependenciesGraph","originalLockfile","componentRootDir","componentRelativeDir","pkgName","component","components","structuredClone","compRootDir","split","filterByImporterIds","importerId","depType","workspacePkgName","componentIdByPkgName","partialLockfile","convertLockfileObjectToLockfileFile","filterLockfileByImporters","failOnMissingDependencies","skipped","Set","graph","convertLockfileToGraph","state","_consumer","exports","deps","dep","pkgJson","tryReadPackageJson","componentId","scope","pkgDir","JSON","parse","fs","readFileSync"],"sources":["pnpm.package-manager.ts"],"sourcesContent":["import type { CloudMain } from '@teambit/cloud';\nimport { extendWithComponentsFromDir, BIT_CLOUD_REGISTRY } from '@teambit/dependency-resolver';\nimport type {\n DependencyResolverMain,\n InstallationContext,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n CalcDepsGraphOptions,\n} from '@teambit/dependency-resolver';\nimport { Registries, Registry } from '@teambit/pkg.entities.registry';\nimport { VIRTUAL_STORE_DIR_MAX_LENGTH } from '@teambit/dependencies.pnpm.dep-path';\nimport { DEPS_GRAPH, isFeatureEnabled } from '@teambit/harmony.modules.feature-toggle';\nimport type { Logger } from '@teambit/logger';\nimport { type LockfileFile } from '@pnpm/lockfile.types';\nimport fs from 'fs';\nimport { memoize, omit } from 'lodash';\nimport type { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport { filterLockfileByImporters } from '@pnpm/lockfile.filtering';\nimport type { Config } from '@pnpm/config';\nimport { type ProjectId, type ProjectManifest, type DepPath } from '@pnpm/types';\nimport type { Modules } from '@pnpm/modules-yaml';\nimport { readModulesManifest } from '@pnpm/modules-yaml';\nimport type { DependenciesHierarchy, PackageNode } from '@pnpm/reviewing.dependencies-hierarchy';\nimport { buildDependenciesHierarchy, createPackagesSearcher } from '@pnpm/reviewing.dependencies-hierarchy';\nimport { renderTree } from '@pnpm/list';\nimport {\n readWantedLockfile,\n writeLockfileFile,\n convertToLockfileFile as convertLockfileObjectToLockfileFile,\n} from '@pnpm/lockfile.fs';\nimport { BIT_ROOTS_DIR } from '@teambit/legacy.constants';\nimport { ServerSendOutStream } from '@teambit/legacy.logger';\nimport { join } from 'path';\nimport { convertLockfileToGraph, convertGraphToLockfile } from './lockfile-deps-graph-converter';\nimport { readConfig } from './read-config';\nimport { pnpmPruneModules } from './pnpm-prune-modules';\nimport type { RebuildFn } from './lynx';\nimport { generateResolverAndFetcher } from './lynx';\nimport { type DependenciesGraph } from '@teambit/objects';\n\nexport type { RebuildFn };\n\nexport interface InstallResult {\n dependenciesChanged: boolean;\n rebuild: RebuildFn;\n storeDir: string;\n depsRequiringBuild?: DepPath[];\n}\n\ntype ReadConfigResult = Promise<{ config: Config; warnings: string[] }>;\n\nexport class PnpmPackageManager implements PackageManager {\n readonly name = 'pnpm';\n readonly modulesManifestCache: Map<string, Modules> = new Map();\n private username: string;\n\n private _readConfig = async (dir?: string): ReadConfigResult => {\n const { config, warnings } = await readConfig(dir);\n if (config?.fetchRetries && config?.fetchRetries < 5) {\n config.fetchRetries = 5;\n return { config, warnings };\n }\n\n return { config, warnings };\n };\n\n public readConfig: (dir?: string) => ReadConfigResult = memoize(this._readConfig);\n\n constructor(\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private cloud: CloudMain\n ) {}\n\n async dependenciesGraphToLockfile(\n dependenciesGraph: DependenciesGraph,\n opts: {\n cacheDir: string;\n manifests: Record<string, ProjectManifest>;\n rootDir: string;\n registries?: Registries;\n proxyConfig?: PackageManagerProxyConfig;\n networkConfig?: PackageManagerNetworkConfig;\n }\n ) {\n const registries = opts.registries ?? new Registries(new Registry('https://node-registry.bit.cloud', false), {});\n const { resolve } = await generateResolverAndFetcher({\n ...opts,\n registries,\n });\n const lockfile: LockfileFile = await convertGraphToLockfile(dependenciesGraph, {\n ...opts,\n resolve,\n });\n Object.assign(lockfile, {\n bit: {\n restoredFromModel: true,\n },\n });\n const lockfilePath = join(opts.rootDir, 'pnpm-lock.yaml');\n await writeLockfileFile(lockfilePath, lockfile);\n this.logger.debug(`generated a lockfile from dependencies graph at ${lockfilePath}`);\n if (process.env.DEPS_GRAPH_LOG) {\n // eslint-disable-next-line no-console\n console.log(`generated a lockfile from dependencies graph at ${lockfilePath}`);\n }\n }\n\n async install(\n { rootDir, manifests }: InstallationContext,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<InstallResult> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { install } = require('./lynx');\n\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n if (\n installOptions.dependenciesGraph &&\n isFeatureEnabled(DEPS_GRAPH) &&\n (installOptions.rootComponents || installOptions.rootComponentsForCapsules)\n ) {\n try {\n await this.dependenciesGraphToLockfile(installOptions.dependenciesGraph, {\n manifests,\n rootDir,\n registries,\n proxyConfig,\n networkConfig,\n cacheDir: config.cacheDir,\n });\n } catch (error) {\n // If the lockfile could not be created for some reason, it will be created later during installation.\n this.logger.error((error as Error).message);\n }\n }\n\n this.logger.debug(`running installation in root dir ${rootDir}`);\n this.logger.debug('components manifests for installation', manifests);\n if (!installOptions.hidePackageManagerOutput) {\n // this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n // this.logger.console('-------------------------PNPM OUTPUT-------------------------');\n this.logger.off();\n }\n if (!installOptions.useNesting && installOptions.rootComponentsForCapsules) {\n manifests = await extendWithComponentsFromDir(rootDir, manifests);\n }\n if (installOptions.nmSelfReferences) {\n Object.values(manifests).forEach((manifest) => {\n if (manifest.name) {\n manifest.devDependencies = {\n [manifest.name]: 'link:.',\n ...manifest.devDependencies,\n };\n }\n });\n }\n this.modulesManifestCache.delete(rootDir);\n const { dependenciesChanged, rebuild, storeDir, depsRequiringBuild } = await install(\n rootDir,\n manifests,\n config.storeDir,\n config.cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n autoInstallPeers: installOptions.autoInstallPeers ?? true,\n enableModulesDir: installOptions.enableModulesDir,\n engineStrict: installOptions.engineStrict ?? config.engineStrict,\n excludeLinksFromLockfile: installOptions.excludeLinksFromLockfile,\n lockfileOnly: installOptions.lockfileOnly,\n minimumReleaseAge: installOptions.minimumReleaseAge,\n minimumReleaseAgeExclude: installOptions.minimumReleaseAgeExclude,\n neverBuiltDependencies: installOptions.neverBuiltDependencies,\n nodeLinker: installOptions.nodeLinker,\n nodeVersion: installOptions.nodeVersion ?? config.nodeVersion,\n includeOptionalDeps: installOptions.includeOptionalDeps,\n ignorePackageManifest: installOptions.ignorePackageManifest,\n dedupeInjectedDeps: installOptions.dedupeInjectedDeps ?? false,\n dryRun: installOptions.dependenciesGraph == null && installOptions.dryRun,\n overrides: installOptions.overrides,\n hoistPattern: installOptions.hoistPatterns ?? config.hoistPattern,\n publicHoistPattern: config.shamefullyHoist\n ? ['*']\n : ['@eslint/plugin-*', '*eslint-plugin*', '@prettier/plugin-*', '*prettier-plugin-*'],\n hoistWorkspacePackages: installOptions.hoistWorkspacePackages ?? false,\n hoistInjectedDependencies: installOptions.hoistInjectedDependencies,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n preferOffline: installOptions.preferOffline,\n rootComponents: installOptions.rootComponents,\n rootComponentsForCapsules: installOptions.rootComponentsForCapsules,\n sideEffectsCacheRead: installOptions.sideEffectsCache ?? true,\n sideEffectsCacheWrite: installOptions.sideEffectsCache ?? true,\n pnpmHomeDir: config.pnpmHomeDir,\n updateAll: installOptions.updateAll,\n hidePackageManagerOutput: installOptions.hidePackageManagerOutput,\n reportOptions: {\n appendOnly: installOptions.optimizeReportForNonTerminal,\n process: process.env.BIT_CLI_SERVER_NO_TTY ? { ...process, stdout: new ServerSendOutStream() } : undefined,\n throttleProgress: installOptions.throttleProgress,\n hideProgressPrefix: installOptions.hideProgressPrefix,\n hideLifecycleOutput: installOptions.hideLifecycleOutput,\n peerDependencyRules: installOptions.peerDependencyRules,\n },\n returnListOfDepsRequiringBuild: installOptions.returnListOfDepsRequiringBuild,\n forcedHarmonyVersion: installOptions.forcedHarmonyVersion,\n },\n this.logger\n );\n if (!installOptions.hidePackageManagerOutput) {\n this.logger.on();\n // Make a divider row to improve output\n // this.logger.console('-------------------------END PNPM OUTPUT-------------------------');\n // this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n return { dependenciesChanged, rebuild, storeDir, depsRequiringBuild };\n }\n\n async getPeerDependencyIssues(\n rootDir: string,\n manifests: Record<string, ProjectManifest>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<PeerDependencyIssuesByProjects> {\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const registries = await this.depResolver.getRegistries();\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const lynx = require('./lynx');\n const { config } = await this.readConfig(installOptions.packageManagerConfigRootDir);\n return lynx.getPeerDependencyIssues(manifests, {\n storeDir: config.storeDir,\n cacheDir: config.cacheDir,\n proxyConfig,\n registries,\n rootDir,\n networkConfig,\n overrides: installOptions.overrides,\n packageImportMethod: installOptions.packageImportMethod ?? config.packageImportMethod,\n });\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { resolveRemoteVersion } = require('./lynx');\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { config } = await this.readConfig(options.packageManagerConfigRootDir);\n return resolveRemoteVersion(packageName, {\n rootDir: options.rootDir,\n cacheDir: config.cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n fullMetadata: options.fullMetadata,\n });\n }\n\n async getProxyConfig?(): Promise<PackageManagerProxyConfig> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getProxyConfig } = require('./get-proxy-config');\n const { config } = await this.readConfig();\n return getProxyConfig(config);\n }\n\n async getNetworkConfig?(): Promise<PackageManagerNetworkConfig> {\n const { config } = await this.readConfig();\n if (!this.username) {\n this.username = (await this.cloud.getCurrentUser())?.username ?? 'anonymous';\n }\n // We need to use config.rawConfig as it will only contain the settings defined by the user.\n // config contains default values of the settings when they are not defined by the user.\n const result: PackageManagerNetworkConfig = {\n userAgent: `bit user/${this.username}`,\n };\n if (config.rawConfig['max-sockets'] != null) {\n result.maxSockets = config.rawConfig['max-sockets'];\n }\n if (config.rawConfig['network-concurrency'] != null) {\n result.networkConcurrency = config.rawConfig['network-concurrency'];\n }\n if (config.rawConfig['fetch-retries'] != null) {\n result.fetchRetries = config.rawConfig['fetch-retries'];\n }\n if (config.rawConfig['fetch-timeout'] != null) {\n result.fetchTimeout = config.rawConfig['fetch-timeout'];\n }\n if (config.rawConfig['fetch-retry-maxtimeout'] != null) {\n result.fetchRetryMaxtimeout = config.rawConfig['fetch-retry-maxtimeout'];\n }\n if (config.rawConfig['fetch-retry-mintimeout'] != null) {\n result.fetchRetryMintimeout = config.rawConfig['fetch-retry-mintimeout'];\n }\n if (config.rawConfig['strict-ssl'] != null) {\n result.strictSSL = config.rawConfig['strict-ssl'];\n }\n if (config.ca != null) {\n result.ca = config.ca;\n }\n if (config.cert != null) {\n result.cert = config.cert;\n }\n if (config.key != null) {\n result.key = config.key;\n }\n return result;\n }\n\n async getRegistries(): Promise<Registries> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getRegistries } = require('./get-registries');\n const { config } = await this.readConfig();\n const pnpmRegistry = await getRegistries(config);\n const defaultRegistry = new Registry(\n pnpmRegistry.default.uri,\n pnpmRegistry.default.alwaysAuth,\n pnpmRegistry.default.authHeaderValue,\n pnpmRegistry.default.originalAuthType,\n pnpmRegistry.default.originalAuthValue\n );\n\n const pnpmScoped = omit(pnpmRegistry, ['default']);\n const scopesRegistries: Record<string, Registry> = Object.keys(pnpmScoped).reduce((acc, scopedRegName) => {\n const scopedReg = pnpmScoped[scopedRegName];\n const name = scopedRegName.replace('@', '');\n acc[name] = new Registry(\n scopedReg.uri,\n scopedReg.alwaysAuth,\n scopedReg.authHeaderValue,\n scopedReg.originalAuthType,\n scopedReg.originalAuthValue\n );\n return acc;\n }, {});\n\n // Add bit registry server if not exist\n if (!scopesRegistries.bit) {\n scopesRegistries.bit = new Registry(BIT_CLOUD_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n\n async getInjectedDirs(rootDir: string, componentDir: string, packageName: string): Promise<string[]> {\n const modulesState = await this._readModulesManifest(rootDir);\n if (modulesState?.injectedDeps == null) return [];\n return modulesState.injectedDeps[`node_modules/${packageName}`] ?? modulesState.injectedDeps[componentDir] ?? [];\n }\n\n async _readModulesManifest(lockfileDir: string): Promise<Modules | undefined> {\n if (this.modulesManifestCache.has(lockfileDir)) {\n return this.modulesManifestCache.get(lockfileDir);\n }\n const modulesManifest = await readModulesManifest(join(lockfileDir, 'node_modules'));\n if (modulesManifest) {\n this.modulesManifestCache.set(lockfileDir, modulesManifest);\n }\n return modulesManifest ?? undefined;\n }\n\n getWorkspaceDepsOfBitRoots(manifests: ProjectManifest[]): Record<string, string> {\n return Object.fromEntries(manifests.map((manifest) => [manifest.name, 'workspace:*']));\n }\n\n async pruneModules(rootDir: string): Promise<void> {\n return pnpmPruneModules(rootDir);\n }\n\n async findUsages(depName: string, opts: { lockfileDir: string; depth?: number }): Promise<string> {\n const search = createPackagesSearcher([depName]);\n const lockfile = await readWantedLockfile(opts.lockfileDir, { ignoreIncompatible: false });\n const projectPaths = Object.keys(lockfile?.importers ?? {})\n .filter((id) => !id.includes(`${BIT_ROOTS_DIR}/`))\n .map((id) => join(opts.lockfileDir, id));\n const cache = new Map();\n const modulesManifest = await this._readModulesManifest(opts.lockfileDir);\n const isHoisted = modulesManifest?.nodeLinker === 'hoisted';\n const getPkgLocation: GetPkgLocation = isHoisted\n ? ({ name }) => join(opts.lockfileDir, 'node_modules', name)\n : ({ path }) => path;\n const results = Object.entries(\n await buildDependenciesHierarchy(projectPaths, {\n depth: opts.depth ?? Infinity,\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: true,\n },\n lockfileDir: opts.lockfileDir,\n registries: {\n default: 'https://registry.npmjs.org',\n },\n search,\n virtualStoreDirMaxLength: VIRTUAL_STORE_DIR_MAX_LENGTH,\n })\n ).map(([projectPath, builtDependenciesHierarchy]) => {\n pkgNamesToComponentIds(builtDependenciesHierarchy, { cache, getPkgLocation });\n return {\n path: projectPath,\n ...builtDependenciesHierarchy,\n };\n });\n return renderTree(results, {\n alwaysPrintRootPackage: false,\n depth: Infinity,\n search: true,\n long: false,\n showExtraneous: false,\n });\n }\n\n /**\n * Calculating the dependencies graph of a given component using the lockfile.\n */\n async calcDependenciesGraph(opts: CalcDepsGraphOptions): Promise<void> {\n const originalLockfile = await readWantedLockfile(opts.rootDir, { ignoreIncompatible: false });\n if (!originalLockfile) {\n return;\n }\n for (const { componentRootDir, componentRelativeDir, pkgName, component } of opts.components) {\n const lockfile = structuredClone(originalLockfile);\n let compRootDir: string | undefined;\n if (componentRootDir && !lockfile.importers[componentRootDir] && componentRootDir.includes('@')) {\n compRootDir = componentRootDir.split('@')[0];\n } else {\n compRootDir = componentRootDir;\n }\n if (!lockfile.importers[compRootDir as ProjectId]) {\n // This will only happen if the env was not loaded correctly before install.\n // But in this case we cannot calculate the dependency graph from the lockfile.\n continue;\n }\n const filterByImporterIds = [componentRelativeDir as ProjectId];\n if (compRootDir != null) {\n filterByImporterIds.push(compRootDir as ProjectId);\n }\n for (const importerId of filterByImporterIds) {\n for (const depType of [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n 'specifiers',\n 'dependenciesMeta',\n ]) {\n for (const workspacePkgName of opts.componentIdByPkgName.keys()) {\n if (workspacePkgName !== pkgName) {\n delete lockfile.importers[importerId]?.[depType]?.[workspacePkgName];\n }\n }\n }\n }\n // Filters the lockfile so that it only includes packages related to the given component.\n const partialLockfile = convertLockfileObjectToLockfileFile(\n filterLockfileByImporters(lockfile, filterByImporterIds, {\n include: {\n dependencies: true,\n devDependencies: true,\n optionalDependencies: true,\n },\n failOnMissingDependencies: false,\n skipped: new Set(),\n })\n );\n const graph = convertLockfileToGraph(partialLockfile, {\n ...opts,\n componentRootDir: compRootDir,\n componentRelativeDir,\n pkgName,\n });\n component.state._consumer.dependenciesGraph = graph;\n }\n }\n}\n\ntype GetPkgLocation = (pkgNode: PackageNode) => string;\n\nfunction pkgNamesToComponentIds(\n deps: DependenciesHierarchy,\n { cache, getPkgLocation }: { cache: Map<string, string>; getPkgLocation: GetPkgLocation }\n) {\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies']) {\n if (deps[depType]) {\n for (const dep of deps[depType]) {\n if (!cache.has(dep.name)) {\n const pkgJson = tryReadPackageJson(getPkgLocation(dep));\n cache.set(\n dep.name,\n pkgJson?.componentId ? `${pkgJson.componentId.scope}/${pkgJson.componentId.name}` : dep.name\n );\n }\n dep.name = cache.get(dep.name);\n pkgNamesToComponentIds(dep, { cache, getPkgLocation });\n }\n }\n }\n}\n\nfunction tryReadPackageJson(pkgDir: string) {\n try {\n return JSON.parse(fs.readFileSync(join(pkgDir, 'package.json'), 'utf8'));\n } catch {\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.777/dist/pnpm.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_pnpm@1.0.777/dist/pnpm.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/pnpm",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.777",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/dependencies/pnpm",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.dependencies",
|
|
8
8
|
"name": "pnpm",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.777"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@pnpm/config": "1004.4.0",
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
"@teambit/harmony.modules.feature-toggle": "0.0.29",
|
|
50
50
|
"@teambit/legacy.logger": "0.0.30",
|
|
51
51
|
"@teambit/ui-foundation.ui.use-box.menu": "1.0.16",
|
|
52
|
-
"@teambit/dependency-resolver": "1.0.
|
|
53
|
-
"@teambit/objects": "0.0.
|
|
54
|
-
"@teambit/cloud": "0.0.
|
|
55
|
-
"@teambit/component": "1.0.
|
|
56
|
-
"@teambit/ui": "1.0.
|
|
52
|
+
"@teambit/dependency-resolver": "1.0.768",
|
|
53
|
+
"@teambit/objects": "0.0.275",
|
|
54
|
+
"@teambit/cloud": "0.0.1046",
|
|
55
|
+
"@teambit/component": "1.0.768",
|
|
56
|
+
"@teambit/ui": "1.0.768"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/lodash": "4.14.165",
|