@teambit/pnpm 1.0.1322 → 1.0.1324

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.
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","_interopRequireDefault","require","_component","_objects","_lockfileDepsGraphConverter","_chai","_excluded","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","before","initLockfileDepsGraphConverter","describe","lockfile","bit","depsRequiringBuild","importers","dependencies","comp1","version","specifier","foo","qar","zoo","lockfileVersion","snapshots","bar","comp2","packages","resolution","directory","type","engines","node","npm","hasBin","os","cpu","integrity","peerDependencies","graph","convertLockfileToGraph","pkgName","componentRelativeDir","componentRootDir","componentIdByPkgName","Map","ComponentID","fromString","expected","schemaVersion","edges","id","neighbours","optional","attr","pkgId","name","lifecycle","requiresBuild","component","scope","it","pnpmfileChecksum","lockfileSettings","overrides","graphFields","expect","to","equal","undefined","fromEntries","entries","eql","convertGraphToLockfile","DependenciesGraph","manifests","path","resolve","rootDir","process","cwd","devDependencies","optionalDependencies","linked","rootNeighbourIds","find","edge","map","not","include","referencingComp1","some","has","comp3","rootEdge","findRootEdge","includes","Array","from","graph2","unreached","baz","filtered","filterLockfileByImporters","sort","get","generateLargeLockfile","numPackages","numComponents","importerDeps","deps","compName","compPath","fileDepPath","set","_","start","performance","now","elapsed","be","greaterThan","size","lessThan","lockfileCount","lockfiles","graphs","ROOT_EDGE_ID","resolverCalled","merge","abc","err","Error","code","componentPkgId","snapPkgId","caught","message","error","_error","eq","compDir","helmetSnapshot","peerSnapshot","createGraph","opts","typesReactDep","peerKeyed","typesReactUnresolved","convert","rootManifest","peerLockfile","wantedDep","alias","react","dependent","constructor","componentDir","createLockfile","graphToLockfile","deserialize","serialize","have","property","lockfileOverrides","roundTrip","settings","autoInstallPeers","dedupePeers","injectWorkspacePackages","cache","createLockfileToGraphCache","filtered1","graph1","filtered2","fooEdge1","fooEdge2","startsWith"],"sources":["lockfile-deps-graph-converter.spec.ts"],"sourcesContent":["import path from 'path';\nimport { ComponentID } from '@teambit/component';\nimport { DependenciesGraph, type PackagesMap, type DependencyEdge } from '@teambit/objects';\nimport { type ProjectManifest } from '@pnpm/types';\nimport {\n convertLockfileToGraph,\n convertGraphToLockfile,\n createLockfileToGraphCache,\n filterLockfileByImporters,\n init as initLockfileDepsGraphConverter,\n} from './lockfile-deps-graph-converter';\nimport { type BitLockfileFile } from './lynx';\nimport { expect } from 'chai';\n\nbefore(async () => {\n await initLockfileDepsGraphConverter();\n});\n\ndescribe('convertLockfileToGraph simple case', () => {\n const lockfile: BitLockfileFile = {\n bit: {\n depsRequiringBuild: ['bar@1.0.0'],\n },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: {\n version: 'file:comps/comp1',\n specifier: '*',\n },\n },\n },\n 'comps/comp1': {\n dependencies: {\n foo: {\n version: '1.0.0(patch_hash=0000)',\n specifier: '^1.0.0',\n },\n qar: {\n version: '1.1.0',\n specifier: '^1.0.0',\n },\n zoo: {\n version: '1.1.0(qar@1.1.0)',\n specifier: '^1.1.0',\n },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0(patch_hash=0000)': {\n dependencies: {\n bar: '1.0.0',\n },\n },\n 'bar@1.0.0': {},\n 'qar@1.1.0': {},\n 'zoo@1.1.0(qar@1.1.0)': {\n dependencies: {\n qar: '1.1.0',\n },\n },\n 'comp1@file:comps/comp1': {\n dependencies: {\n foo: '1.0.0(patch_hash=0000)',\n qar: '1.1.0',\n zoo: '1.1.0(qar@1.1.0)',\n comp2: 'file:comps/comp2',\n },\n },\n 'comp2@file:comps/comp2': {\n dependencies: {},\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: {\n directory: 'comps/comp1',\n type: 'directory',\n },\n },\n 'comp2@file:comps/comp2': {\n resolution: {\n directory: 'comps/comp2',\n type: 'directory',\n },\n },\n 'foo@1.0.0': {\n engines: {\n node: '>=8',\n npm: '>=6',\n },\n hasBin: true,\n os: ['darwin'],\n cpu: ['arm64'],\n resolution: {\n integrity: 'sha512-000',\n },\n },\n 'bar@1.0.0': {\n resolution: {\n integrity: 'sha512-111',\n },\n },\n 'qar@1.1.0': {\n resolution: {\n integrity: 'sha512-222',\n },\n },\n 'zoo@1.1.0': {\n peerDependencies: {\n qar: '*',\n },\n resolution: {\n integrity: 'sha512-333',\n },\n },\n },\n };\n let graph: DependenciesGraph;\n before(() => {\n graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n });\n });\n const expected = {\n schemaVersion: '2.0',\n edges: [\n {\n id: 'foo@1.0.0(patch_hash=0000)',\n neighbours: [{ id: 'bar@1.0.0', optional: false }],\n attr: {\n pkgId: 'foo@1.0.0',\n },\n },\n {\n id: 'zoo@1.1.0(qar@1.1.0)',\n neighbours: [{ id: 'qar@1.1.0', optional: false }],\n attr: {\n pkgId: 'zoo@1.1.0',\n },\n },\n {\n id: '.',\n neighbours: [\n {\n id: 'foo@1.0.0(patch_hash=0000)',\n name: 'foo',\n specifier: '^1.0.0',\n lifecycle: 'runtime',\n optional: false,\n },\n {\n id: 'qar@1.1.0',\n name: 'qar',\n specifier: '^1.0.0',\n lifecycle: 'runtime',\n optional: false,\n },\n {\n id: 'zoo@1.1.0(qar@1.1.0)',\n name: 'zoo',\n specifier: '^1.1.0',\n lifecycle: 'runtime',\n optional: false,\n },\n {\n id: 'comp2@1.0.0',\n lifecycle: 'runtime',\n name: 'comp2',\n optional: false,\n specifier: '*',\n },\n ],\n },\n ],\n packages: {\n 'foo@1.0.0': {\n engines: {\n node: '>=8',\n npm: '>=6',\n },\n hasBin: true,\n os: ['darwin'],\n cpu: ['arm64'],\n resolution: {\n integrity: 'sha512-000',\n },\n },\n 'bar@1.0.0': {\n requiresBuild: true,\n resolution: {\n integrity: 'sha512-111',\n },\n },\n 'qar@1.1.0': {\n resolution: {\n integrity: 'sha512-222',\n },\n },\n 'zoo@1.1.0': {\n peerDependencies: {\n qar: '*',\n },\n resolution: {\n integrity: 'sha512-333',\n },\n },\n 'comp2@1.0.0': {\n component: {\n name: 'comp2',\n scope: 'my-scope',\n },\n },\n },\n };\n it('should convert the lockfile object to the graph object', () => {\n // The lockfile records no pnpmfileChecksum. Whether the graph then has the\n // property set to undefined or not at all depends on how the class is\n // compiled, so it is checked on its own.\n const { pnpmfileChecksum, lockfileSettings, overrides, ...graphFields } = graph;\n expect(pnpmfileChecksum).to.equal(undefined);\n expect(lockfileSettings).to.equal(undefined);\n expect(overrides).to.equal(undefined);\n expect({\n ...graphFields,\n packages: Object.fromEntries(graph.packages.entries()),\n }).to.eql(expected);\n });\n it('should convert the graph object to the lockfile object', async () => {\n expect(\n await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: {\n dependencies: {\n foo: '^1.0.0',\n bar: `link:${path.resolve('comps/bar')}`, // Links from the manifests are added to the lockfile\n qar: '1.1.0',\n zoo: '1.1.0',\n comp2: '1.0.0',\n },\n },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n })\n ).to.eql({\n bit: {\n depsRequiringBuild: ['bar@1.0.0'],\n },\n importers: {\n 'comps/comp1': {\n dependencies: {\n comp2: {\n version: '1.0.0',\n specifier: '1.0.0',\n },\n foo: {\n version: '1.0.0(patch_hash=0000)',\n specifier: '^1.0.0',\n },\n bar: {\n version: 'link:../bar',\n specifier: `link:${path.resolve('comps/bar')}`,\n },\n qar: {\n version: '1.1.0',\n specifier: '1.1.0',\n },\n zoo: {\n version: '1.1.0(qar@1.1.0)',\n specifier: '1.1.0',\n },\n },\n devDependencies: {},\n optionalDependencies: {},\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0(patch_hash=0000)': {\n dependencies: {\n bar: '1.0.0',\n },\n },\n 'bar@1.0.0': {},\n 'qar@1.1.0': {},\n 'comp2@1.0.0': {},\n 'zoo@1.1.0(qar@1.1.0)': {\n dependencies: {\n qar: '1.1.0',\n },\n },\n },\n packages: {\n 'comp2@1.0.0': {\n resolution: {\n integrity: '0000',\n },\n },\n 'foo@1.0.0': {\n engines: {\n node: '>=8',\n npm: '>=6',\n },\n hasBin: true,\n os: ['darwin'],\n cpu: ['arm64'],\n resolution: {\n integrity: 'sha512-000',\n },\n },\n 'bar@1.0.0': {\n resolution: {\n integrity: 'sha512-111',\n },\n },\n 'qar@1.1.0': {\n resolution: {\n integrity: 'sha512-222',\n },\n },\n 'zoo@1.1.0': {\n peerDependencies: {\n qar: '*',\n },\n resolution: {\n integrity: 'sha512-333',\n },\n },\n },\n });\n });\n});\n\ndescribe('convertLockfileToGraph with a link: importer dependency', () => {\n it('should skip importer deps whose ref has no registry form', () => {\n const lockfile: BitLockfileFile = {\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n devDependencies: {\n linked: { version: 'link:../linked', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': {},\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: { directory: 'comps/comp1', type: 'directory' },\n },\n },\n } as BitLockfileFile;\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n const rootNeighbourIds = graph.edges.find((edge) => edge.id === '.')!.neighbours.map(({ id }) => id);\n expect(rootNeighbourIds).to.not.include(null);\n expect(rootNeighbourIds).to.not.include('null');\n });\n});\n\ndescribe('convertLockfileToGraph with a circular workspace dependency back to the component being processed', () => {\n // Reproduces the \"No matching version found for <workspace-comp>@0.0.0-<hash>\"\n // failure: comp1 (the component being processed) is removed from snapshots\n // and packages, but a circular workspace dep (comp2 depends back on comp1)\n // leaves an edge whose neighbour references comp1@<version> with no\n // corresponding packages entry. When the graph is later converted back to a\n // lockfile, convertGraphToLockfile materialises that dangling neighbour as\n // an empty packages entry and getPkgsToResolve treats it as a missing\n // package, asking the registry for a snap-version that was never published.\n it('should drop edges that reference the component being processed', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': {\n dependencies: {\n comp2: 'file:comps/comp2',\n },\n },\n 'comp2@file:comps/comp2': {\n dependencies: {\n comp1: 'file:comps/comp1',\n },\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: { directory: 'comps/comp1', type: 'directory' },\n },\n 'comp2@file:comps/comp2': {\n resolution: { directory: 'comps/comp2', type: 'directory' },\n },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n });\n // The graph must never reference comp1 — it is the component being\n // snapped, so it does not belong in its own deps graph.\n const referencingComp1 = graph.edges.filter((edge) => edge.neighbours.some((n) => n.id === 'comp1@1.0.0'));\n expect(referencingComp1).to.eql([]);\n expect(graph.packages.has('comp1@1.0.0')).to.equal(false);\n });\n\n // Same bug, but the cycle closes through an intermediate workspace\n // component (comp1 → comp2 → comp3 → comp1). The back-edge in the\n // lockfile lives on comp3's snapshot, not comp2's. Scrubbing only\n // direct dependents of comp1 would miss it; the fix iterates every\n // remaining snapshot so chain-length doesn't matter.\n it('should drop edges that reference the component via a multi-hop chain', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp3: { version: 'file:comps/comp3', specifier: '*' },\n },\n },\n 'comps/comp3': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': { dependencies: { comp2: 'file:comps/comp2' } },\n 'comp2@file:comps/comp2': { dependencies: { comp3: 'file:comps/comp3' } },\n 'comp3@file:comps/comp3': { dependencies: { comp1: 'file:comps/comp1' } },\n },\n packages: {\n 'comp1@file:comps/comp1': { resolution: { directory: 'comps/comp1', type: 'directory' } },\n 'comp2@file:comps/comp2': { resolution: { directory: 'comps/comp2', type: 'directory' } },\n 'comp3@file:comps/comp3': { resolution: { directory: 'comps/comp3', type: 'directory' } },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ['comp3', ComponentID.fromString('my-scope/comp3@1.0.0')],\n ]),\n });\n const referencingComp1 = graph.edges.filter((edge) => edge.neighbours.some((n) => n.id === 'comp1@1.0.0'));\n expect(referencingComp1).to.eql([]);\n expect(graph.packages.has('comp1@1.0.0')).to.equal(false);\n });\n});\n\ndescribe('convertLockfileToGraph with directory packages missing from componentIdByPkgName', () => {\n it('should not persist orphan @file: pkgIds in the produced graph', () => {\n // Reproduces how the broken graphs end up in the model: a directory-type\n // package in the lockfile whose name is absent from componentIdByPkgName.\n // buildPackages strips the directory resolution but leaves the \"@file:\"\n // pkgId untouched, which downstream cannot resolve. The graph creator\n // must drop these so the model never stores entries that future\n // installs can't generate a valid lockfile from.\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n 'orphan-comp': { version: 'file:packages/orphan-comp', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0': {},\n 'orphan-comp@file:packages/orphan-comp': {\n dependencies: { foo: '1.0.0' },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n 'orphan-comp@file:packages/orphan-comp': {\n resolution: { directory: 'packages/orphan-comp', type: 'directory' },\n },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: undefined,\n componentRelativeDir: 'comps/comp1',\n componentRootDir: undefined,\n // Intentionally empty: simulates the bug where the workspace map\n // didn't include the directory dep.\n componentIdByPkgName: new Map(),\n });\n expect([...graph.packages.keys()]).to.eql(['foo@1.0.0']);\n const rootEdge = graph.findRootEdge();\n expect(rootEdge?.neighbours.map((n) => n.id)).to.eql(['foo@1.0.0']);\n expect(graph.edges.find(({ id }) => id.includes('@file:'))).to.equal(undefined);\n });\n});\n\ndescribe('convertLockfileToGraph when the root importer or snapshot lacks the component', () => {\n it('should fall back to the component importer when the root importer is missing the component entry', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n // dependencies is undefined (or missing comp1)\n },\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0': {},\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n const rootEdge = graph.findRootEdge();\n expect(rootEdge?.neighbours).to.eql([\n {\n name: 'foo',\n specifier: '^1.0.0',\n id: 'foo@1.0.0',\n lifecycle: 'runtime',\n optional: false,\n },\n ]);\n });\n\n it('should fall back to the component importer when the locked snapshot is missing from snapshots', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0': {},\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n const rootEdge = graph.findRootEdge();\n expect(rootEdge?.neighbours).to.eql([\n {\n name: 'foo',\n specifier: '^1.0.0',\n id: 'foo@1.0.0',\n lifecycle: 'runtime',\n optional: false,\n },\n ]);\n });\n\n it('should scrub the component itself and circular back-edges when falling back to the component importer', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {},\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': {\n dependencies: {\n comp2: 'file:comps/comp2',\n },\n },\n 'comp2@file:comps/comp2': {\n dependencies: {\n comp1: 'file:comps/comp1',\n },\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: { directory: 'comps/comp1', type: 'directory' },\n },\n 'comp2@file:comps/comp2': {\n resolution: { directory: 'comps/comp2', type: 'directory' },\n },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n });\n const referencingComp1 = graph.edges.filter((edge) => edge.neighbours.some((n) => n.id === 'comp1@1.0.0'));\n expect(referencingComp1).to.eql([]);\n expect(Array.from(graph.packages.keys())).to.not.include('comp1@1.0.0');\n });\n\n it('should scrub circular back-edges even when the component snapshot itself is missing', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp2@file:comps/comp2': {\n dependencies: {\n comp1: 'file:comps/comp1',\n },\n },\n },\n packages: {\n 'comp2@file:comps/comp2': {\n resolution: { directory: 'comps/comp2', type: 'directory' },\n },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n });\n const referencingComp1 = graph.edges.filter((edge) => edge.neighbours.some((n) => n.id === 'comp1@1.0.0'));\n expect(referencingComp1).to.eql([]);\n expect(Array.from(graph.packages.keys())).to.not.include('comp1@1.0.0');\n });\n\n it('should not include packages reachable only from the root importer when falling back to the component importer', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n 'node_modules/.bit_roots/env': {\n dependencies: {\n 'root-only-pkg': { version: '2.0.0', specifier: '^2.0.0' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0': {},\n 'root-only-pkg@2.0.0': {},\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n 'root-only-pkg@2.0.0': { resolution: { integrity: 'sha512-bbb' } },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n expect(Array.from(graph.packages.keys())).to.eql(['foo@1.0.0']);\n });\n\n it('should not mutate the caller lockfile when converting without a root importer', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': {\n dependencies: {\n comp2: 'file:comps/comp2',\n },\n },\n 'comp2@file:comps/comp2': {\n dependencies: {\n comp1: 'file:comps/comp1',\n },\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: { directory: 'comps/comp1', type: 'directory' },\n },\n 'comp2@file:comps/comp2': {\n resolution: { directory: 'comps/comp2', type: 'directory' },\n },\n },\n };\n const componentIdByPkgName = new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]);\n convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentIdByPkgName,\n });\n const graph2 = convertLockfileToGraph(lockfile, {\n pkgName: 'comp2',\n componentRelativeDir: 'comps/comp2',\n componentIdByPkgName,\n });\n expect(Array.from(graph2.packages.keys())).to.eql(['comp1@1.0.0']);\n });\n});\n\ndescribe('filterLockfileByImporters', () => {\n it('should narrow packages and snapshots to the transitive closure of the requested importers without mutating the source lockfile', () => {\n const lockfile: BitLockfileFile = {\n lockfileVersion: '9.0',\n importers: {\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0(bar@1.0.0)', specifier: '^1.0.0' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n unreached: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-foo' } },\n 'bar@1.0.0': { resolution: { integrity: 'sha512-bar' } },\n 'baz@1.0.0': { resolution: { integrity: 'sha512-baz' } },\n 'unreached@1.0.0': { resolution: { integrity: 'sha512-unreached' } },\n },\n snapshots: {\n 'foo@1.0.0(bar@1.0.0)': {\n dependencies: {\n bar: '1.0.0',\n },\n optionalDependencies: {\n baz: '1.0.0',\n },\n },\n 'bar@1.0.0': {},\n 'baz@1.0.0': {},\n 'unreached@1.0.0': {},\n },\n };\n const filtered = filterLockfileByImporters(lockfile, ['comps/comp1']);\n expect(Object.keys(filtered.packages!).sort()).to.eql(['bar@1.0.0', 'baz@1.0.0', 'foo@1.0.0']);\n expect(Object.keys(filtered.snapshots!).sort()).to.eql(['bar@1.0.0', 'baz@1.0.0', 'foo@1.0.0(bar@1.0.0)']);\n expect(Object.keys(filtered.importers!)).to.eql(['comps/comp1']);\n\n // Mutating the top-level filtered snapshots/packages map must not mutate the original lockfile\n delete filtered.snapshots!['foo@1.0.0(bar@1.0.0)'];\n delete filtered.packages!['foo@1.0.0'];\n expect(lockfile.snapshots!['foo@1.0.0(bar@1.0.0)'].dependencies!.bar).to.equal('1.0.0');\n expect(lockfile.packages!['foo@1.0.0']).to.not.equal(undefined);\n });\n\n it('should retain package metadata for a reached dependency even when its snapshot is absent', () => {\n const lockfile: BitLockfileFile = {\n lockfileVersion: '9.0',\n importers: {\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-foo' } },\n },\n snapshots: {},\n };\n const filtered = filterLockfileByImporters(lockfile, ['comps/comp1']);\n expect(filtered.packages).to.eql({\n 'foo@1.0.0': { resolution: { integrity: 'sha512-foo' } },\n });\n const graph = convertLockfileToGraph(filtered, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n expect(graph.packages.get('foo@1.0.0')).to.eql({\n resolution: { integrity: 'sha512-foo' },\n });\n });\n});\n\ndescribe('convertLockfileToGraph benchmark', () => {\n function generateLargeLockfile(\n numPackages: number,\n numComponents: number\n ): {\n lockfile: BitLockfileFile;\n componentIdByPkgName: Map<string, InstanceType<typeof ComponentID>>;\n } {\n const snapshots: Record<string, any> = {};\n const packages: Record<string, any> = {};\n const importerDeps: Record<string, any> = {};\n const componentIdByPkgName = new Map<string, InstanceType<typeof ComponentID>>();\n\n // Generate regular packages\n for (let i = 0; i < numPackages; i++) {\n const pkgId = `pkg-${i}@1.0.${i}`;\n packages[pkgId] = {\n resolution: { integrity: `sha512-${i}` },\n };\n // Each package depends on the next 2 packages (creating a graph)\n const deps: Record<string, string> = {};\n if (i + 1 < numPackages) deps[`pkg-${i + 1}`] = `1.0.${i + 1}`;\n if (i + 2 < numPackages) deps[`pkg-${i + 2}`] = `1.0.${i + 2}`;\n snapshots[pkgId] = Object.keys(deps).length > 0 ? { dependencies: deps } : {};\n if (i < 50) {\n importerDeps[`pkg-${i}`] = { version: `1.0.${i}`, specifier: `^1.0.${i}` };\n }\n }\n\n // Generate component packages (with file: protocol)\n for (let i = 0; i < numComponents; i++) {\n const compName = `@my-scope/comp-${i}`;\n const compPath = `comps/comp-${i}`;\n const fileDepPath = `${compName}@file:${compPath}`;\n\n packages[fileDepPath] = {\n resolution: { directory: compPath, type: 'directory' },\n };\n snapshots[fileDepPath] = {\n dependencies: {\n [`pkg-${i % numPackages}`]: `1.0.${i % numPackages}`,\n },\n };\n componentIdByPkgName.set(compName, ComponentID.fromString(`my-scope/comp-${i}@0.0.${i}`));\n }\n\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: Object.fromEntries(\n Array.from({ length: numComponents }, (_, i) => [\n `@my-scope/comp-${i}`,\n { version: `file:comps/comp-${i}`, specifier: '*' },\n ])\n ),\n },\n 'comps/comp-0': {\n dependencies: importerDeps,\n },\n },\n lockfileVersion: '9.0',\n snapshots,\n packages,\n };\n\n return { lockfile, componentIdByPkgName };\n }\n\n it('should handle 1000 packages and 50 components within 500ms', () => {\n const { lockfile, componentIdByPkgName } = generateLargeLockfile(1000, 50);\n\n const start = performance.now();\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n });\n const elapsed = performance.now() - start;\n\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n expect(elapsed).to.be.lessThan(500);\n });\n\n it('should handle 5000 packages and 200 components within 2000ms', () => {\n const { lockfile, componentIdByPkgName } = generateLargeLockfile(5000, 200);\n\n const start = performance.now();\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n });\n const elapsed = performance.now() - start;\n\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n expect(elapsed).to.be.lessThan(2000);\n });\n\n it('should handle 10000 packages and 500 components within 5000ms', () => {\n const { lockfile, componentIdByPkgName } = generateLargeLockfile(10000, 500);\n\n const start = performance.now();\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n });\n const elapsed = performance.now() - start;\n\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n expect(elapsed).to.be.lessThan(5000);\n });\n\n it('should handle converting 20 lockfiles (1000 pkgs, 100 comps each) within 3000ms', () => {\n const lockfileCount = 20;\n const lockfiles = Array.from({ length: lockfileCount }, () => generateLargeLockfile(1000, 100));\n\n const start = performance.now();\n const graphs = lockfiles.map(({ lockfile, componentIdByPkgName }) =>\n convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n })\n );\n const elapsed = performance.now() - start;\n\n for (const graph of graphs) {\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n }\n expect(elapsed).to.be.lessThan(3000);\n });\n\n it('should handle converting 50 lockfiles (500 pkgs, 50 comps each) within 3000ms', () => {\n const lockfileCount = 50;\n const lockfiles = Array.from({ length: lockfileCount }, () => generateLargeLockfile(500, 50));\n\n const start = performance.now();\n const graphs = lockfiles.map(({ lockfile, componentIdByPkgName }) =>\n convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n })\n );\n const elapsed = performance.now() - start;\n\n for (const graph of graphs) {\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n }\n expect(elapsed).to.be.lessThan(3000);\n });\n});\n\ndescribe('convertGraphToLockfile on invalid graph', () => {\n // Reproduces the CI failure where a saved deps graph leaks \"@file:\" entries\n // because buildPackages couldn't map them to a workspace component. The\n // directory resolution was deleted and getPkgsToResolve can't recover an\n // integrity for \"file:\" versions (dp.parse puts them in nonSemverVersion,\n // not version), so validation throws \"doesn't have a 'resolution' field\".\n // At install time the orphan can't be salvaged: if its name matches a\n // workspace project pnpm wires it through importers/link entries (so the\n // packages entry would be wrong), and otherwise we have no published\n // version to recover. Dropping it is the only safe outcome.\n it('should drop orphan @file: packages when generating a lockfile', async () => {\n const packages: PackagesMap = new Map([\n ['@teambit/dot-launch.apps.whats-new-app@file:dot-launch/apps/whats-new-app', {} as any],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n { id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' },\n {\n id: '@teambit/dot-launch.apps.whats-new-app@file:dot-launch/apps/whats-new-app',\n name: '@teambit/dot-launch.apps.whats-new-app',\n specifier: '*',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [\n {\n id: '@teambit/dot-launch.apps.whats-new-app@file:dot-launch/apps/whats-new-app',\n optional: false,\n },\n ],\n },\n {\n id: '@teambit/dot-launch.apps.whats-new-app@file:dot-launch/apps/whats-new-app',\n neighbours: [],\n },\n ];\n const graph = new DependenciesGraph({ packages, edges });\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: {\n dependencies: { foo: '1.0.0' },\n },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n expect(Object.keys(lockfile.packages!)).to.eql(['foo@1.0.0']);\n expect(Object.keys(lockfile.snapshots!)).to.eql(['foo@1.0.0']);\n // The dangling snapshot neighbour pointing at the orphan must also be\n // filtered out so pnpm doesn't try to resolve a dep that no longer exists.\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({});\n });\n\n // Saved by bits older than #10361: when a workspace component with a\n // circular dep was snapped, the component's own snapshot/package was\n // deleted but back-references on other snapshots survived. The neighbour\n // now points at a snap-version pkgId that exists nowhere else in the\n // graph. Without the scrub, convertGraphToLockfile would materialise an\n // empty packages entry and getPkgsToResolve would ask the registry for\n // that unpublished snap version (surfacing as ERR_PNPM_NO_MATCHING_VERSION\n // on ripple at install time).\n it('should drop orphan neighbours that have no edge and no packages entry', async () => {\n const packages: PackagesMap = new Map([['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any]]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [\n {\n id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc0fcd7c894001404a162a48aca0219d43',\n optional: false,\n },\n ],\n },\n ];\n const graph = new DependenciesGraph({ packages, edges });\n let resolverCalled = false;\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: {\n dependencies: { foo: '1.0.0' },\n },\n },\n rootDir: process.cwd(),\n resolve: () => {\n resolverCalled = true;\n return { resolution: { integrity: '0000' } } as any;\n },\n });\n expect(resolverCalled).to.equal(false);\n expect(Object.keys(lockfile.packages!)).to.eql(['foo@1.0.0']);\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({});\n });\n\n it('should leave legitimate neighbours intact when scrubbing orphans', async () => {\n const packages: PackagesMap = new Map([\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ['bar@2.0.0', { resolution: { integrity: 'sha512-bbb' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [\n { id: 'bar@2.0.0', optional: false },\n { id: 'orphan-pkg@0.0.0-deadbeef', optional: false },\n ],\n },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({ dependencies: { bar: '2.0.0' } });\n expect(Object.keys(lockfile.packages!).sort()).to.eql(['bar@2.0.0', 'foo@1.0.0']);\n });\n\n it('should merge peer providers to the highest compatible version', async () => {\n const peerDependencies = { 'peer-a': '^1.0.0' };\n const graph = new DependenciesGraph({\n packages: new Map([\n ['abc@1.0.0', { resolution: { integrity: 'sha512-abc1' }, peerDependencies } as any],\n ['peer-a@1.0.1', { resolution: { integrity: 'sha512-peer101' } } as any],\n ]),\n edges: [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n {\n id: 'abc@1.0.0(peer-a@1.0.1)',\n name: 'abc',\n specifier: '*',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: 'abc@1.0.0(peer-a@1.0.1)',\n attr: { pkgId: 'abc@1.0.0' },\n neighbours: [{ id: 'peer-a@1.0.1', optional: false }],\n },\n ],\n });\n graph.merge(\n new DependenciesGraph({\n packages: new Map([\n ['abc@2.0.0', { resolution: { integrity: 'sha512-abc2' }, peerDependencies } as any],\n ['peer-a@1.0.0', { resolution: { integrity: 'sha512-peer100' } } as any],\n ]),\n edges: [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n {\n id: 'abc@2.0.0(peer-a@1.0.0)',\n name: 'abc',\n specifier: '*',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: 'abc@2.0.0(peer-a@1.0.0)',\n attr: { pkgId: 'abc@2.0.0' },\n neighbours: [{ id: 'peer-a@1.0.0', optional: false }],\n },\n ],\n })\n );\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { abc: '*' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n expect(Object.keys(lockfile.packages!).sort()).to.eql(['abc@2.0.0', 'peer-a@1.0.1']);\n expect(lockfile.importers!['comps/comp1'].dependencies!.abc.version).to.eql('2.0.0(peer-a@1.0.1)');\n expect(lockfile.snapshots!['abc@2.0.0(peer-a@1.0.1)']).to.eql({ dependencies: { 'peer-a': '1.0.1' } });\n });\n\n // Saved by bits older than #10361: even when the workspace-component's snap\n // entry survives in the graph (with no resolution, since the directory type\n // was stripped at snap time), the registry lookup at install time fails\n // because that snap-version was never published. Scrub the package, its\n // snapshots and every reference to it so pnpm can re-resolve the dep from\n // the installing manifest's specifier instead of aborting the install.\n it('should drop workspace-component pkgs that fail to resolve from the registry', async () => {\n const packages: PackagesMap = new Map([\n [\n '@bitdev/react.app-types.vite-react@0.0.0-df1917dc',\n { component: { scope: 'bitdev.react', name: 'app-types/vite-react' } } as any,\n ],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [{ id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc', optional: false }],\n },\n {\n id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc',\n neighbours: [],\n },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => {\n const err = new Error('No matching version found');\n (err as Error & { code: string }).code = 'ERR_PNPM_NO_MATCHING_VERSION';\n throw err;\n },\n });\n expect(Object.keys(lockfile.packages!).sort()).to.eql(['foo@1.0.0']);\n expect(Object.keys(lockfile.snapshots!).sort()).to.eql(['foo@1.0.0']);\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({});\n });\n\n it('should keep workspace-component pkgs that already have a valid resolution', async () => {\n const componentPkgId = '@my-org/my-scope.comp2@1.0.0';\n const packages: PackagesMap = new Map([\n [\n componentPkgId,\n {\n component: { scope: 'my-org.my-scope', name: 'comp2' },\n resolution: { integrity: 'sha512-comp2' },\n } as any,\n ],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n {\n id: componentPkgId,\n name: '@my-org/my-scope.comp2',\n specifier: '1.0.0',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: componentPkgId,\n neighbours: [],\n },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { '@my-org/my-scope.comp2': '1.0.0' } },\n [path.resolve('comps/comp2')]: {\n name: '@my-org/my-scope.comp2',\n version: '1.0.0',\n },\n },\n rootDir: process.cwd(),\n resolve: () => {\n throw new Error('resolved workspace component should not be re-resolved');\n },\n });\n expect(lockfile.importers!['comps/comp1'].dependencies!['@my-org/my-scope.comp2']).to.eql({\n version: '1.0.0',\n specifier: '1.0.0',\n });\n expect(lockfile.packages![componentPkgId]).to.eql({ resolution: { integrity: 'sha512-comp2' } });\n expect(lockfile.snapshots![componentPkgId]).to.eql({});\n });\n\n // A workspace-component snap reaches lockfile validation with no resolution\n // even though resolve() never threw NO_MATCHING_VERSION, because\n // getPkgsToResolve skips any pkgId whose name+version matches a manifest in\n // the sign/capsule set. The snap is a seeder being signed, so it is in the\n // manifests, never sent to the resolver, and would surface as\n // `packages['...button-base@0.0.0-<snap>'] entry doesn't have a \"resolution\"\n // field`. It must be scrubbed so pnpm links it from the manifest instead.\n it('should drop workspace-component snaps skipped by the resolver (seeder in manifests)', async () => {\n const snapPkgId = '@my-org/my-scope.components.button-base@0.0.0-e1613079b55eabc19ad484478b769d929986c124';\n const packages: PackagesMap = new Map([\n [snapPkgId, { component: { scope: 'my-org.my-scope', name: 'components/button-base' } } as any],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [{ id: snapPkgId, optional: false }],\n },\n { id: snapPkgId, neighbours: [] },\n ];\n let resolverCalled = false;\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n // button-base is a seeder being signed, so it appears in the manifests\n // with its snap version — getPkgsToResolve skips it for that reason.\n [path.resolve('comps/button-base')]: {\n name: '@my-org/my-scope.components.button-base',\n version: '0.0.0-e1613079b55eabc19ad484478b769d929986c124',\n },\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => {\n resolverCalled = true;\n return { resolution: { integrity: '0000' } } as any;\n },\n });\n expect(resolverCalled).to.equal(false);\n expect(Object.keys(lockfile.packages!).sort()).to.eql(['foo@1.0.0']);\n expect(Object.keys(lockfile.snapshots!).sort()).to.eql(['foo@1.0.0']);\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({});\n });\n\n // Sibling of the above: even when the resolver IS called for a\n // workspace-component snap, it may succeed yet return a resolution with no\n // integrity (e.g. a directory/git resolution). The pkg then stays\n // resolution-less and must be scrubbed rather than failing validation.\n it('should drop workspace-component pkgs whose resolution has no integrity', async () => {\n const snapPkgId = '@my-org/my-scope.components.button-base@0.0.0-e1613079';\n const packages: PackagesMap = new Map([\n [snapPkgId, { component: { scope: 'my-org.my-scope', name: 'components/button-base' } } as any],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n { id: 'foo@1.0.0', neighbours: [{ id: snapPkgId, optional: false }] },\n { id: snapPkgId, neighbours: [] },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n // Resolver succeeds but returns no integrity for the unpublished snap.\n resolve: () => ({ resolution: {} }) as any,\n });\n expect(Object.keys(lockfile.packages!).sort()).to.eql(['foo@1.0.0']);\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({});\n });\n\n // When the resolve failure is for a regular registry package (no component\n // attribute), we still want to surface the error rather than silently drop\n // it — that path means the graph itself is genuinely broken, not just\n // referencing an unpublished workspace snap.\n it('should re-throw resolver errors for non-component pkgs', async () => {\n const packages: PackagesMap = new Map([['foo@1.0.0', {} as any]]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n { id: 'foo@1.0.0', neighbours: [] },\n ];\n let caught: Error | undefined;\n try {\n await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => {\n throw new Error('boom');\n },\n });\n } catch (err) {\n caught = err as Error;\n }\n expect(caught?.message).to.equal('boom');\n });\n\n // Narrowing guardrail: even for a component-flagged pkg, only\n // ERR_PNPM_NO_MATCHING_VERSION should be swallowed. A network/auth/5xx\n // failure must propagate so a real outage isn't silently masked as a\n // graph-recovery success.\n it('should re-throw non-NoMatchingVersion errors even for component pkgs', async () => {\n const packages: PackagesMap = new Map([\n [\n '@bitdev/react.app-types.vite-react@0.0.0-df1917dc',\n { component: { scope: 'bitdev.react', name: 'app-types/vite-react' } } as any,\n ],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n { id: 'foo@1.0.0', neighbours: [{ id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc' }] },\n { id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc', neighbours: [] },\n ];\n let caught: Error | undefined;\n try {\n await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => {\n const err = new Error('Connect ETIMEDOUT');\n (err as Error & { code: string }).code = 'ERR_PNPM_META_FETCH_FAIL';\n throw err;\n },\n });\n } catch (err) {\n caught = err as Error;\n }\n expect(caught?.message).to.equal('Connect ETIMEDOUT');\n expect((caught as Error & { code: string }).code).to.equal('ERR_PNPM_META_FETCH_FAIL');\n });\n\n it('should throw an error if resolution is missing', async () => {\n const packages: PackagesMap = new Map([['foo@1.0.0', {} as any]]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n {\n id: 'foo@1.0.0',\n name: 'foo',\n specifier: '1.0.0',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [],\n },\n ];\n const graph = new DependenciesGraph({\n packages,\n edges,\n });\n let error: Error | undefined;\n try {\n await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: {\n dependencies: {\n foo: '1.0.0',\n },\n },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: {} }) as any,\n });\n } catch (_error) {\n error = _error as Error;\n }\n expect(error?.message).eq(\n `Failed to generate a valid lockfile. The \"packages['foo@1.0.0']\" entry doesn't have a \"resolution\" field.`\n );\n });\n});\n\n// A graph is stored by a workspace whose root may provide a different version of a package than\n// the root of the install restoring it (the capsules root pins the env's peers). pnpm resolves\n// peers from the root and dedupes satisfiable ranges to it, so the restored lockfile must not keep\n// the workspace's other version next to the root's one.\ndescribe('convertGraphToLockfile with a root manifest that provides a package the graph resolved to another version', () => {\n const rootDir = process.cwd();\n const compDir = path.resolve('comps/comp1');\n const helmetSnapshot = '@types/react-helmet@6.1.6';\n const peerSnapshot = 'react-types-peer@1.0.0(@types/react@18.2.23)';\n const resolve = (async () => ({ resolution: { integrity: '0000' } })) as any;\n function createGraph(\n opts: { peerKeyed?: boolean; overrides?: Record<string, string>; typesReactUnresolved?: boolean } = {}\n ) {\n const typesReactDep = opts.peerKeyed ? peerSnapshot : '@types/react@18.2.23';\n const packages: PackagesMap = new Map([\n [helmetSnapshot, { resolution: { integrity: 'sha512-helmet' } } as any],\n [\n '@types/react@18.2.23',\n (opts.typesReactUnresolved ? {} : { resolution: { integrity: 'sha512-react18' } }) as any,\n ],\n [\n 'react-types-peer@1.0.0',\n { resolution: { integrity: 'sha512-peer' }, peerDependencies: { '@types/react': '*' } } as any,\n ],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: helmetSnapshot, name: '@types/react-helmet', specifier: '6.1.6', lifecycle: 'dev' }],\n },\n { id: helmetSnapshot, neighbours: [{ id: typesReactDep }] },\n { id: peerSnapshot, attr: { pkgId: 'react-types-peer@1.0.0' }, neighbours: [{ id: '@types/react@18.2.23' }] },\n ];\n return new DependenciesGraph({ packages, edges, overrides: opts.overrides });\n }\n function convert(rootManifest: ProjectManifest, graph = createGraph()) {\n return convertGraphToLockfile(graph, {\n manifests: { [rootDir]: rootManifest, [compDir]: { devDependencies: { '@types/react-helmet': '6.1.6' } } },\n rootDir,\n resolve,\n });\n }\n\n it('should drop a reference to another version of a package the root pins, so the install resolves it to the root version', async () => {\n const lockfile = await convert({ dependencies: { '@types/react': '17.0.87' } });\n expect(lockfile.snapshots![helmetSnapshot]).to.eql({ dependencies: {} });\n expect(lockfile.packages!['@types/react@18.2.23']).to.equal(undefined);\n expect(lockfile.snapshots!['@types/react@18.2.23']).to.equal(undefined);\n });\n\n it('should drop a peer resolution of the other version', async () => {\n const lockfile = await convert({ dependencies: { '@types/react': '17.0.87' } }, createGraph({ peerKeyed: true }));\n expect(lockfile.snapshots![peerSnapshot]).to.eql({ dependencies: {} });\n expect(lockfile.packages!['@types/react@18.2.23']).to.equal(undefined);\n });\n\n it('should keep a regular dependency when the root specifier is a range, a tag or a link', async () => {\n for (const specifier of ['^17.0.0', 'latest', 'link:../types-react']) {\n const lockfile = await convert({ dependencies: { '@types/react': specifier } });\n expect(lockfile.snapshots![helmetSnapshot], specifier).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n }\n });\n\n it('should drop a peer resolution whatever the root specifier is, since pnpm resolves peers from the root', async () => {\n for (const specifier of ['^17.0.0', 'latest', 'link:../types-react', 'npm:@types/react@17.0.87']) {\n const lockfile = await convert({ dependencies: { '@types/react': specifier } }, createGraph({ peerKeyed: true }));\n expect(lockfile.snapshots![peerSnapshot], specifier).to.eql({ dependencies: {} });\n expect(lockfile.packages!['@types/react@18.2.23'], specifier).to.equal(undefined);\n }\n });\n\n it('should keep the reference when it is already the root version, however the root spells it', async () => {\n for (const specifier of ['18.2.23', 'v18.2.23']) {\n const lockfile = await convert({ dependencies: { '@types/react': specifier } });\n expect(lockfile.snapshots![helmetSnapshot], specifier).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n const peerLockfile = await convert(\n { dependencies: { '@types/react': specifier } },\n createGraph({ peerKeyed: true })\n );\n expect(peerLockfile.snapshots![peerSnapshot], specifier).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n }\n });\n\n it('should keep the reference when the root provides the package only as an optional dependency', async () => {\n const lockfile = await convert({ optionalDependencies: { '@types/react': '17.0.87' } });\n expect(lockfile.snapshots![helmetSnapshot]).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n });\n\n it('should keep the reference when an override targets the package', async () => {\n for (const overrides of [\n { '@types/react-helmet>@types/react': '^18.0.0' },\n { '@types/react@*': '18.2.23' },\n ] as Record<string, string>[]) {\n const lockfile = await convert({ dependencies: { '@types/react': '17.0.87' } }, createGraph({ overrides }));\n expect(lockfile.snapshots![helmetSnapshot]).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n }\n });\n\n it('should not send a package the dedupe orphaned to the resolver', async () => {\n const lockfile = await convertGraphToLockfile(createGraph({ typesReactUnresolved: true }), {\n manifests: {\n [rootDir]: { dependencies: { '@types/react': '17.0.87' } },\n [compDir]: { devDependencies: { '@types/react-helmet': '6.1.6' } },\n },\n rootDir,\n resolve: async (wantedDep: { alias?: string }) => {\n if (wantedDep.alias === '@types/react') throw new Error('ENOTFOUND');\n return { resolution: { integrity: '0000' } };\n },\n });\n expect(lockfile.packages!['@types/react@18.2.23']).to.equal(undefined);\n });\n\n it('should not take an inherited object property name, e.g. \"constructor\", for a package the root provides', async () => {\n const packages: PackagesMap = new Map([\n ['dependent@1.0.0', { resolution: { integrity: 'sha512-dependent' }, peerDependencies: { react: '*' } } as any],\n ['constructor@1.0.0', { resolution: { integrity: 'sha512-constructor' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'dependent@1.0.0', name: 'dependent', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n { id: 'dependent@1.0.0', neighbours: [{ id: 'constructor@1.0.0' }] },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph({ packages, edges }), {\n manifests: {\n [rootDir]: { dependencies: { '@types/react': '17.0.87' } },\n [compDir]: { dependencies: { dependent: '1.0.0' } },\n },\n rootDir,\n resolve,\n });\n expect(lockfile.snapshots!['dependent@1.0.0']).to.eql({ dependencies: { constructor: '1.0.0' } });\n });\n\n it('should leave the graph alone when the root has no such dependency', async () => {\n const lockfile = await convert({ dependencies: { react: '18.3.1' } });\n expect(lockfile.snapshots![helmetSnapshot]).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n });\n});\n\ndescribe('pnpmfileChecksum', () => {\n const componentDir = 'comps/comp1';\n\n function createLockfile(pnpmfileChecksum?: string): BitLockfileFile {\n return {\n lockfileVersion: '9.0',\n pnpmfileChecksum,\n importers: {\n [componentDir]: {\n dependencies: { foo: { version: '1.0.0', specifier: '1.0.0' } },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n snapshots: {\n 'foo@1.0.0': {},\n },\n } as BitLockfileFile;\n }\n\n function graphToLockfile(graph: DependenciesGraph) {\n return convertGraphToLockfile(graph, {\n manifests: {\n [path.resolve(componentDir)]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n }\n\n it('should be kept from the lockfile to the graph and back', async () => {\n const graph = convertLockfileToGraph(createLockfile('hooks-1'), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n expect(graph.pnpmfileChecksum).to.equal('hooks-1');\n\n const lockfile = await graphToLockfile(DependenciesGraph.deserialize(graph.serialize())!);\n expect(lockfile.pnpmfileChecksum).to.equal('hooks-1');\n });\n\n it('should stay unset for a graph saved without one', async () => {\n const graph = convertLockfileToGraph(createLockfile(), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n expect(graph.pnpmfileChecksum).to.equal(undefined);\n\n const lockfile = await graphToLockfile(graph);\n expect(lockfile).not.to.have.property('pnpmfileChecksum');\n });\n\n it(\"should restore the checksum of Bit's readPackage hooks as the overrides that replaced them\", async () => {\n const graph = convertLockfileToGraph(createLockfile('bit-1'), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n\n const lockfile = await graphToLockfile(DependenciesGraph.deserialize(graph.serialize())!);\n expect(lockfile).not.to.have.property('pnpmfileChecksum');\n expect(lockfile.overrides).to.eql({ '@teambit/legacy@*': '-', '@teambit/harmony@*': '-' });\n });\n});\n\ndescribe('lockfile overrides', () => {\n const componentDir = 'comps/comp1';\n const overrides = { '@teambit/legacy@*': '-', react: '19.1.0' };\n\n function createLockfile(lockfileOverrides?: Record<string, string>): BitLockfileFile {\n return {\n lockfileVersion: '9.0',\n overrides: lockfileOverrides,\n importers: {\n [componentDir]: {\n dependencies: { foo: { version: '1.0.0', specifier: '1.0.0' } },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n snapshots: {\n 'foo@1.0.0': {},\n },\n } as BitLockfileFile;\n }\n\n async function roundTrip(lockfile: BitLockfileFile) {\n const graph = convertLockfileToGraph(lockfile, {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n return convertGraphToLockfile(DependenciesGraph.deserialize(graph.serialize())!, {\n manifests: {\n [path.resolve(componentDir)]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n }\n\n it('should be kept from the lockfile to the graph and back', async () => {\n expect((await roundTrip(createLockfile(overrides))).overrides).to.eql(overrides);\n });\n\n it('should stay unset for a lockfile without overrides', async () => {\n expect(await roundTrip(createLockfile())).not.to.have.property('overrides');\n });\n});\n\ndescribe('lockfile settings', () => {\n const componentDir = 'comps/comp1';\n const settings = { autoInstallPeers: true, dedupePeers: true, injectWorkspacePackages: true };\n\n function createLockfile(lockfileSettings?: BitLockfileFile['settings']): BitLockfileFile {\n return {\n lockfileVersion: '9.0',\n ...(lockfileSettings ? { settings: lockfileSettings } : {}),\n importers: {\n [componentDir]: {\n dependencies: { foo: { version: '1.0.0', specifier: '1.0.0' } },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n snapshots: {\n 'foo@1.0.0': {},\n },\n } as BitLockfileFile;\n }\n\n function graphToLockfile(graph: DependenciesGraph) {\n return convertGraphToLockfile(graph, {\n manifests: {\n [path.resolve(componentDir)]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n }\n\n it('should be kept from the lockfile to the graph and back', async () => {\n const graph = convertLockfileToGraph(createLockfile(settings), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n expect(graph.lockfileSettings).to.eql(settings);\n\n const lockfile = await graphToLockfile(DependenciesGraph.deserialize(graph.serialize())!);\n expect(lockfile.settings).to.eql(settings);\n });\n\n it('should stay unset for a graph saved without them', async () => {\n const graph = convertLockfileToGraph(createLockfile(), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n\n const lockfile = await graphToLockfile(graph);\n expect(lockfile).not.to.have.property('settings');\n });\n});\n\ndescribe('createLockfileToGraphCache', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n lockfileVersion: '9.0',\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1(foo@1.0.0)', specifier: '*' },\n comp2: { version: 'file:comps/comp2(foo@1.0.0)', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2(foo@1.0.0)', specifier: '*' },\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp1: { version: 'file:comps/comp1(foo@1.0.0)', specifier: '*' },\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n snapshots: {\n 'comp1@file:comps/comp1(foo@1.0.0)': {\n dependencies: { comp2: 'file:comps/comp2(foo@1.0.0)', foo: '1.0.0' },\n },\n 'comp2@file:comps/comp2(foo@1.0.0)': {\n dependencies: { comp1: 'file:comps/comp1(foo@1.0.0)', foo: '1.0.0' },\n },\n 'foo@1.0.0': { dependencies: { bar: '2.0.0' } },\n 'bar@2.0.0': {},\n },\n packages: {\n 'comp1@file:comps/comp1': { resolution: { directory: 'comps/comp1', type: 'directory' } },\n 'comp2@file:comps/comp2': { resolution: { directory: 'comps/comp2', type: 'directory' } },\n 'foo@1.0.0': { resolution: { integrity: 'sha512-foo' } },\n 'bar@2.0.0': { resolution: { integrity: 'sha512-bar' } },\n },\n };\n\n it('should reuse unmodified package and edge entries across components while isolating circular back-edge scrubbing', () => {\n const componentIdByPkgName = new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]);\n const cache = createLockfileToGraphCache();\n\n const filtered1 = filterLockfileByImporters(lockfile, ['comps/comp1', 'node_modules/.bit_roots/env']);\n const graph1 = convertLockfileToGraph(filtered1, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n cache,\n });\n\n const filtered2 = filterLockfileByImporters(lockfile, ['comps/comp2', 'node_modules/.bit_roots/env']);\n const graph2 = convertLockfileToGraph(filtered2, {\n pkgName: 'comp2',\n componentRelativeDir: 'comps/comp2',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n cache,\n });\n\n // Shared non-mutated package and edge objects are reused by reference\n expect(graph1.packages.get('foo@1.0.0')).to.equal(graph2.packages.get('foo@1.0.0'));\n const fooEdge1 = graph1.edges.find((e) => e.id === 'foo@1.0.0');\n const fooEdge2 = graph2.edges.find((e) => e.id === 'foo@1.0.0');\n expect(fooEdge1).to.not.equal(undefined);\n expect(fooEdge1).to.equal(fooEdge2);\n\n // Circular back-edges are scrubbed per component without mutating the original lockfile\n expect(graph1.packages.has('comp1@1.0.0')).to.equal(false);\n expect(graph1.packages.has('comp2@1.0.0')).to.equal(true);\n expect(graph1.edges.some((e) => e.neighbours.some((n) => n.id.startsWith('comp1@')))).to.equal(false);\n\n expect(graph2.packages.has('comp2@1.0.0')).to.equal(false);\n expect(graph2.packages.has('comp1@1.0.0')).to.equal(true);\n expect(graph2.edges.some((e) => e.neighbours.some((n) => n.id.startsWith('comp2@')))).to.equal(false);\n });\n\n it('should invalidate cached entries when reused with a different componentIdByPkgName mapping', () => {\n const cache = createLockfileToGraphCache();\n const filtered1 = filterLockfileByImporters(lockfile, ['comps/comp1', 'node_modules/.bit_roots/env']);\n const graph1 = convertLockfileToGraph(filtered1, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n cache,\n });\n expect(graph1.packages.has('comp2@1.0.0')).to.equal(true);\n expect(graph1.edges.some((e) => e.id === 'comp2@1.0.0(foo@1.0.0)')).to.equal(true);\n\n // Reuse the same cache and lockfile objects with an updated version mapping for comp2\n const filtered2 = filterLockfileByImporters(lockfile, ['comps/comp1', 'node_modules/.bit_roots/env']);\n const graph2 = convertLockfileToGraph(filtered2, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@2.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@2.0.0')],\n ]),\n cache,\n });\n expect(graph2.packages.has('comp2@2.0.0')).to.equal(true);\n expect(graph2.packages.has('comp2@1.0.0')).to.equal(false);\n expect(graph2.edges.some((e) => e.id === 'comp2@2.0.0(foo@1.0.0)')).to.equal(true);\n expect(graph2.edges.some((e) => e.id === 'comp2@1.0.0(foo@1.0.0)')).to.equal(false);\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","_interopRequireDefault","require","_component","_objects","_lockfileDepsGraphConverter","_chai","_excluded","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","before","initLockfileDepsGraphConverter","describe","lockfile","bit","depsRequiringBuild","importers","dependencies","comp1","version","specifier","foo","qar","zoo","lockfileVersion","snapshots","bar","comp2","packages","resolution","directory","type","engines","node","npm","hasBin","os","cpu","integrity","peerDependencies","graph","convertLockfileToGraph","pkgName","componentRelativeDir","componentRootDir","componentIdByPkgName","Map","ComponentID","fromString","expected","schemaVersion","edges","id","neighbours","optional","attr","pkgId","name","lifecycle","requiresBuild","component","scope","it","pnpmfileChecksum","lockfileSettings","overrides","graphFields","expect","to","equal","undefined","fromEntries","entries","eql","convertGraphToLockfile","DependenciesGraph","manifests","path","resolve","rootDir","process","cwd","devDependencies","optionalDependencies","linked","rootNeighbourIds","find","edge","map","not","include","referencingComp1","some","has","comp3","rootEdge","findRootEdge","includes","Array","from","graph2","unreached","baz","filtered","filterLockfileByImporters","sort","get","generateLargeLockfile","numPackages","numComponents","importerDeps","deps","compName","compPath","fileDepPath","set","_","start","performance","now","elapsed","be","greaterThan","size","lessThan","lockfileCount","lockfiles","graphs","ROOT_EDGE_ID","resolverCalled","merge","abc","err","Error","code","componentPkgId","snapPkgId","linkedPkgId","caught","message","error","_error","eq","compDir","helmetSnapshot","peerSnapshot","createGraph","opts","typesReactDep","peerKeyed","typesReactUnresolved","convert","rootManifest","peerLockfile","wantedDep","alias","react","dependent","constructor","componentDir","createLockfile","graphToLockfile","deserialize","serialize","have","property","lockfileOverrides","roundTrip","settings","autoInstallPeers","dedupePeers","injectWorkspacePackages","cache","createLockfileToGraphCache","filtered1","graph1","filtered2","fooEdge1","fooEdge2","startsWith"],"sources":["lockfile-deps-graph-converter.spec.ts"],"sourcesContent":["import path from 'path';\nimport { ComponentID } from '@teambit/component';\nimport { DependenciesGraph, type PackagesMap, type DependencyEdge } from '@teambit/objects';\nimport { type ProjectManifest } from '@pnpm/types';\nimport {\n convertLockfileToGraph,\n convertGraphToLockfile,\n createLockfileToGraphCache,\n filterLockfileByImporters,\n init as initLockfileDepsGraphConverter,\n} from './lockfile-deps-graph-converter';\nimport { type BitLockfileFile } from './lynx';\nimport { expect } from 'chai';\n\nbefore(async () => {\n await initLockfileDepsGraphConverter();\n});\n\ndescribe('convertLockfileToGraph simple case', () => {\n const lockfile: BitLockfileFile = {\n bit: {\n depsRequiringBuild: ['bar@1.0.0'],\n },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: {\n version: 'file:comps/comp1',\n specifier: '*',\n },\n },\n },\n 'comps/comp1': {\n dependencies: {\n foo: {\n version: '1.0.0(patch_hash=0000)',\n specifier: '^1.0.0',\n },\n qar: {\n version: '1.1.0',\n specifier: '^1.0.0',\n },\n zoo: {\n version: '1.1.0(qar@1.1.0)',\n specifier: '^1.1.0',\n },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0(patch_hash=0000)': {\n dependencies: {\n bar: '1.0.0',\n },\n },\n 'bar@1.0.0': {},\n 'qar@1.1.0': {},\n 'zoo@1.1.0(qar@1.1.0)': {\n dependencies: {\n qar: '1.1.0',\n },\n },\n 'comp1@file:comps/comp1': {\n dependencies: {\n foo: '1.0.0(patch_hash=0000)',\n qar: '1.1.0',\n zoo: '1.1.0(qar@1.1.0)',\n comp2: 'file:comps/comp2',\n },\n },\n 'comp2@file:comps/comp2': {\n dependencies: {},\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: {\n directory: 'comps/comp1',\n type: 'directory',\n },\n },\n 'comp2@file:comps/comp2': {\n resolution: {\n directory: 'comps/comp2',\n type: 'directory',\n },\n },\n 'foo@1.0.0': {\n engines: {\n node: '>=8',\n npm: '>=6',\n },\n hasBin: true,\n os: ['darwin'],\n cpu: ['arm64'],\n resolution: {\n integrity: 'sha512-000',\n },\n },\n 'bar@1.0.0': {\n resolution: {\n integrity: 'sha512-111',\n },\n },\n 'qar@1.1.0': {\n resolution: {\n integrity: 'sha512-222',\n },\n },\n 'zoo@1.1.0': {\n peerDependencies: {\n qar: '*',\n },\n resolution: {\n integrity: 'sha512-333',\n },\n },\n },\n };\n let graph: DependenciesGraph;\n before(() => {\n graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n });\n });\n const expected = {\n schemaVersion: '2.0',\n edges: [\n {\n id: 'foo@1.0.0(patch_hash=0000)',\n neighbours: [{ id: 'bar@1.0.0', optional: false }],\n attr: {\n pkgId: 'foo@1.0.0',\n },\n },\n {\n id: 'zoo@1.1.0(qar@1.1.0)',\n neighbours: [{ id: 'qar@1.1.0', optional: false }],\n attr: {\n pkgId: 'zoo@1.1.0',\n },\n },\n {\n id: '.',\n neighbours: [\n {\n id: 'foo@1.0.0(patch_hash=0000)',\n name: 'foo',\n specifier: '^1.0.0',\n lifecycle: 'runtime',\n optional: false,\n },\n {\n id: 'qar@1.1.0',\n name: 'qar',\n specifier: '^1.0.0',\n lifecycle: 'runtime',\n optional: false,\n },\n {\n id: 'zoo@1.1.0(qar@1.1.0)',\n name: 'zoo',\n specifier: '^1.1.0',\n lifecycle: 'runtime',\n optional: false,\n },\n {\n id: 'comp2@1.0.0',\n lifecycle: 'runtime',\n name: 'comp2',\n optional: false,\n specifier: '*',\n },\n ],\n },\n ],\n packages: {\n 'foo@1.0.0': {\n engines: {\n node: '>=8',\n npm: '>=6',\n },\n hasBin: true,\n os: ['darwin'],\n cpu: ['arm64'],\n resolution: {\n integrity: 'sha512-000',\n },\n },\n 'bar@1.0.0': {\n requiresBuild: true,\n resolution: {\n integrity: 'sha512-111',\n },\n },\n 'qar@1.1.0': {\n resolution: {\n integrity: 'sha512-222',\n },\n },\n 'zoo@1.1.0': {\n peerDependencies: {\n qar: '*',\n },\n resolution: {\n integrity: 'sha512-333',\n },\n },\n 'comp2@1.0.0': {\n component: {\n name: 'comp2',\n scope: 'my-scope',\n },\n },\n },\n };\n it('should convert the lockfile object to the graph object', () => {\n // The lockfile records no pnpmfileChecksum. Whether the graph then has the\n // property set to undefined or not at all depends on how the class is\n // compiled, so it is checked on its own.\n const { pnpmfileChecksum, lockfileSettings, overrides, ...graphFields } = graph;\n expect(pnpmfileChecksum).to.equal(undefined);\n expect(lockfileSettings).to.equal(undefined);\n expect(overrides).to.equal(undefined);\n expect({\n ...graphFields,\n packages: Object.fromEntries(graph.packages.entries()),\n }).to.eql(expected);\n });\n it('should convert the graph object to the lockfile object', async () => {\n expect(\n await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: {\n dependencies: {\n foo: '^1.0.0',\n bar: `link:${path.resolve('comps/bar')}`, // Links from the manifests are added to the lockfile\n qar: '1.1.0',\n zoo: '1.1.0',\n comp2: '1.0.0',\n },\n },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n })\n ).to.eql({\n bit: {\n depsRequiringBuild: ['bar@1.0.0'],\n },\n importers: {\n 'comps/comp1': {\n dependencies: {\n comp2: {\n version: '1.0.0',\n specifier: '1.0.0',\n },\n foo: {\n version: '1.0.0(patch_hash=0000)',\n specifier: '^1.0.0',\n },\n bar: {\n version: 'link:../bar',\n specifier: `link:${path.resolve('comps/bar')}`,\n },\n qar: {\n version: '1.1.0',\n specifier: '1.1.0',\n },\n zoo: {\n version: '1.1.0(qar@1.1.0)',\n specifier: '1.1.0',\n },\n },\n devDependencies: {},\n optionalDependencies: {},\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0(patch_hash=0000)': {\n dependencies: {\n bar: '1.0.0',\n },\n },\n 'bar@1.0.0': {},\n 'qar@1.1.0': {},\n 'comp2@1.0.0': {},\n 'zoo@1.1.0(qar@1.1.0)': {\n dependencies: {\n qar: '1.1.0',\n },\n },\n },\n packages: {\n 'comp2@1.0.0': {\n resolution: {\n integrity: '0000',\n },\n },\n 'foo@1.0.0': {\n engines: {\n node: '>=8',\n npm: '>=6',\n },\n hasBin: true,\n os: ['darwin'],\n cpu: ['arm64'],\n resolution: {\n integrity: 'sha512-000',\n },\n },\n 'bar@1.0.0': {\n resolution: {\n integrity: 'sha512-111',\n },\n },\n 'qar@1.1.0': {\n resolution: {\n integrity: 'sha512-222',\n },\n },\n 'zoo@1.1.0': {\n peerDependencies: {\n qar: '*',\n },\n resolution: {\n integrity: 'sha512-333',\n },\n },\n },\n });\n });\n});\n\ndescribe('convertLockfileToGraph with a link: importer dependency', () => {\n it('should skip importer deps whose ref has no registry form', () => {\n const lockfile: BitLockfileFile = {\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n devDependencies: {\n linked: { version: 'link:../linked', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': {},\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: { directory: 'comps/comp1', type: 'directory' },\n },\n },\n } as BitLockfileFile;\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n const rootNeighbourIds = graph.edges.find((edge) => edge.id === '.')!.neighbours.map(({ id }) => id);\n expect(rootNeighbourIds).to.not.include(null);\n expect(rootNeighbourIds).to.not.include('null');\n });\n});\n\ndescribe('convertLockfileToGraph with a circular workspace dependency back to the component being processed', () => {\n // Reproduces the \"No matching version found for <workspace-comp>@0.0.0-<hash>\"\n // failure: comp1 (the component being processed) is removed from snapshots\n // and packages, but a circular workspace dep (comp2 depends back on comp1)\n // leaves an edge whose neighbour references comp1@<version> with no\n // corresponding packages entry. When the graph is later converted back to a\n // lockfile, convertGraphToLockfile materialises that dangling neighbour as\n // an empty packages entry and getPkgsToResolve treats it as a missing\n // package, asking the registry for a snap-version that was never published.\n it('should drop edges that reference the component being processed', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': {\n dependencies: {\n comp2: 'file:comps/comp2',\n },\n },\n 'comp2@file:comps/comp2': {\n dependencies: {\n comp1: 'file:comps/comp1',\n },\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: { directory: 'comps/comp1', type: 'directory' },\n },\n 'comp2@file:comps/comp2': {\n resolution: { directory: 'comps/comp2', type: 'directory' },\n },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n });\n // The graph must never reference comp1 — it is the component being\n // snapped, so it does not belong in its own deps graph.\n const referencingComp1 = graph.edges.filter((edge) => edge.neighbours.some((n) => n.id === 'comp1@1.0.0'));\n expect(referencingComp1).to.eql([]);\n expect(graph.packages.has('comp1@1.0.0')).to.equal(false);\n });\n\n // Same bug, but the cycle closes through an intermediate workspace\n // component (comp1 → comp2 → comp3 → comp1). The back-edge in the\n // lockfile lives on comp3's snapshot, not comp2's. Scrubbing only\n // direct dependents of comp1 would miss it; the fix iterates every\n // remaining snapshot so chain-length doesn't matter.\n it('should drop edges that reference the component via a multi-hop chain', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp3: { version: 'file:comps/comp3', specifier: '*' },\n },\n },\n 'comps/comp3': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': { dependencies: { comp2: 'file:comps/comp2' } },\n 'comp2@file:comps/comp2': { dependencies: { comp3: 'file:comps/comp3' } },\n 'comp3@file:comps/comp3': { dependencies: { comp1: 'file:comps/comp1' } },\n },\n packages: {\n 'comp1@file:comps/comp1': { resolution: { directory: 'comps/comp1', type: 'directory' } },\n 'comp2@file:comps/comp2': { resolution: { directory: 'comps/comp2', type: 'directory' } },\n 'comp3@file:comps/comp3': { resolution: { directory: 'comps/comp3', type: 'directory' } },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ['comp3', ComponentID.fromString('my-scope/comp3@1.0.0')],\n ]),\n });\n const referencingComp1 = graph.edges.filter((edge) => edge.neighbours.some((n) => n.id === 'comp1@1.0.0'));\n expect(referencingComp1).to.eql([]);\n expect(graph.packages.has('comp1@1.0.0')).to.equal(false);\n });\n});\n\ndescribe('convertLockfileToGraph with directory packages missing from componentIdByPkgName', () => {\n it('should not persist orphan @file: pkgIds in the produced graph', () => {\n // Reproduces how the broken graphs end up in the model: a directory-type\n // package in the lockfile whose name is absent from componentIdByPkgName.\n // buildPackages strips the directory resolution but leaves the \"@file:\"\n // pkgId untouched, which downstream cannot resolve. The graph creator\n // must drop these so the model never stores entries that future\n // installs can't generate a valid lockfile from.\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n 'orphan-comp': { version: 'file:packages/orphan-comp', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0': {},\n 'orphan-comp@file:packages/orphan-comp': {\n dependencies: { foo: '1.0.0' },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n 'orphan-comp@file:packages/orphan-comp': {\n resolution: { directory: 'packages/orphan-comp', type: 'directory' },\n },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: undefined,\n componentRelativeDir: 'comps/comp1',\n componentRootDir: undefined,\n // Intentionally empty: simulates the bug where the workspace map\n // didn't include the directory dep.\n componentIdByPkgName: new Map(),\n });\n expect([...graph.packages.keys()]).to.eql(['foo@1.0.0']);\n const rootEdge = graph.findRootEdge();\n expect(rootEdge?.neighbours.map((n) => n.id)).to.eql(['foo@1.0.0']);\n expect(graph.edges.find(({ id }) => id.includes('@file:'))).to.equal(undefined);\n });\n});\n\ndescribe('convertLockfileToGraph when the root importer or snapshot lacks the component', () => {\n it('should fall back to the component importer when the root importer is missing the component entry', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n // dependencies is undefined (or missing comp1)\n },\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0': {},\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n const rootEdge = graph.findRootEdge();\n expect(rootEdge?.neighbours).to.eql([\n {\n name: 'foo',\n specifier: '^1.0.0',\n id: 'foo@1.0.0',\n lifecycle: 'runtime',\n optional: false,\n },\n ]);\n });\n\n it('should fall back to the component importer when the locked snapshot is missing from snapshots', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0': {},\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n const rootEdge = graph.findRootEdge();\n expect(rootEdge?.neighbours).to.eql([\n {\n name: 'foo',\n specifier: '^1.0.0',\n id: 'foo@1.0.0',\n lifecycle: 'runtime',\n optional: false,\n },\n ]);\n });\n\n it('should scrub the component itself and circular back-edges when falling back to the component importer', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {},\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': {\n dependencies: {\n comp2: 'file:comps/comp2',\n },\n },\n 'comp2@file:comps/comp2': {\n dependencies: {\n comp1: 'file:comps/comp1',\n },\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: { directory: 'comps/comp1', type: 'directory' },\n },\n 'comp2@file:comps/comp2': {\n resolution: { directory: 'comps/comp2', type: 'directory' },\n },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n });\n const referencingComp1 = graph.edges.filter((edge) => edge.neighbours.some((n) => n.id === 'comp1@1.0.0'));\n expect(referencingComp1).to.eql([]);\n expect(Array.from(graph.packages.keys())).to.not.include('comp1@1.0.0');\n });\n\n it('should scrub circular back-edges even when the component snapshot itself is missing', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp2@file:comps/comp2': {\n dependencies: {\n comp1: 'file:comps/comp1',\n },\n },\n },\n packages: {\n 'comp2@file:comps/comp2': {\n resolution: { directory: 'comps/comp2', type: 'directory' },\n },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n });\n const referencingComp1 = graph.edges.filter((edge) => edge.neighbours.some((n) => n.id === 'comp1@1.0.0'));\n expect(referencingComp1).to.eql([]);\n expect(Array.from(graph.packages.keys())).to.not.include('comp1@1.0.0');\n });\n\n it('should not include packages reachable only from the root importer when falling back to the component importer', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n 'node_modules/.bit_roots/env': {\n dependencies: {\n 'root-only-pkg': { version: '2.0.0', specifier: '^2.0.0' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'foo@1.0.0': {},\n 'root-only-pkg@2.0.0': {},\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n 'root-only-pkg@2.0.0': { resolution: { integrity: 'sha512-bbb' } },\n },\n };\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n expect(Array.from(graph.packages.keys())).to.eql(['foo@1.0.0']);\n });\n\n it('should not mutate the caller lockfile when converting without a root importer', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2', specifier: '*' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp1: { version: 'file:comps/comp1', specifier: '*' },\n },\n },\n },\n lockfileVersion: '9.0',\n snapshots: {\n 'comp1@file:comps/comp1': {\n dependencies: {\n comp2: 'file:comps/comp2',\n },\n },\n 'comp2@file:comps/comp2': {\n dependencies: {\n comp1: 'file:comps/comp1',\n },\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: { directory: 'comps/comp1', type: 'directory' },\n },\n 'comp2@file:comps/comp2': {\n resolution: { directory: 'comps/comp2', type: 'directory' },\n },\n },\n };\n const componentIdByPkgName = new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]);\n convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentIdByPkgName,\n });\n const graph2 = convertLockfileToGraph(lockfile, {\n pkgName: 'comp2',\n componentRelativeDir: 'comps/comp2',\n componentIdByPkgName,\n });\n expect(Array.from(graph2.packages.keys())).to.eql(['comp1@1.0.0']);\n });\n});\n\ndescribe('filterLockfileByImporters', () => {\n it('should narrow packages and snapshots to the transitive closure of the requested importers without mutating the source lockfile', () => {\n const lockfile: BitLockfileFile = {\n lockfileVersion: '9.0',\n importers: {\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0(bar@1.0.0)', specifier: '^1.0.0' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n unreached: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-foo' } },\n 'bar@1.0.0': { resolution: { integrity: 'sha512-bar' } },\n 'baz@1.0.0': { resolution: { integrity: 'sha512-baz' } },\n 'unreached@1.0.0': { resolution: { integrity: 'sha512-unreached' } },\n },\n snapshots: {\n 'foo@1.0.0(bar@1.0.0)': {\n dependencies: {\n bar: '1.0.0',\n },\n optionalDependencies: {\n baz: '1.0.0',\n },\n },\n 'bar@1.0.0': {},\n 'baz@1.0.0': {},\n 'unreached@1.0.0': {},\n },\n };\n const filtered = filterLockfileByImporters(lockfile, ['comps/comp1']);\n expect(Object.keys(filtered.packages!).sort()).to.eql(['bar@1.0.0', 'baz@1.0.0', 'foo@1.0.0']);\n expect(Object.keys(filtered.snapshots!).sort()).to.eql(['bar@1.0.0', 'baz@1.0.0', 'foo@1.0.0(bar@1.0.0)']);\n expect(Object.keys(filtered.importers!)).to.eql(['comps/comp1']);\n\n // Mutating the top-level filtered snapshots/packages map must not mutate the original lockfile\n delete filtered.snapshots!['foo@1.0.0(bar@1.0.0)'];\n delete filtered.packages!['foo@1.0.0'];\n expect(lockfile.snapshots!['foo@1.0.0(bar@1.0.0)'].dependencies!.bar).to.equal('1.0.0');\n expect(lockfile.packages!['foo@1.0.0']).to.not.equal(undefined);\n });\n\n it('should retain package metadata for a reached dependency even when its snapshot is absent', () => {\n const lockfile: BitLockfileFile = {\n lockfileVersion: '9.0',\n importers: {\n 'comps/comp1': {\n dependencies: {\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-foo' } },\n },\n snapshots: {},\n };\n const filtered = filterLockfileByImporters(lockfile, ['comps/comp1']);\n expect(filtered.packages).to.eql({\n 'foo@1.0.0': { resolution: { integrity: 'sha512-foo' } },\n });\n const graph = convertLockfileToGraph(filtered, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentIdByPkgName: new Map([['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')]]),\n });\n expect(graph.packages.get('foo@1.0.0')).to.eql({\n resolution: { integrity: 'sha512-foo' },\n });\n });\n});\n\ndescribe('convertLockfileToGraph benchmark', () => {\n function generateLargeLockfile(\n numPackages: number,\n numComponents: number\n ): {\n lockfile: BitLockfileFile;\n componentIdByPkgName: Map<string, InstanceType<typeof ComponentID>>;\n } {\n const snapshots: Record<string, any> = {};\n const packages: Record<string, any> = {};\n const importerDeps: Record<string, any> = {};\n const componentIdByPkgName = new Map<string, InstanceType<typeof ComponentID>>();\n\n // Generate regular packages\n for (let i = 0; i < numPackages; i++) {\n const pkgId = `pkg-${i}@1.0.${i}`;\n packages[pkgId] = {\n resolution: { integrity: `sha512-${i}` },\n };\n // Each package depends on the next 2 packages (creating a graph)\n const deps: Record<string, string> = {};\n if (i + 1 < numPackages) deps[`pkg-${i + 1}`] = `1.0.${i + 1}`;\n if (i + 2 < numPackages) deps[`pkg-${i + 2}`] = `1.0.${i + 2}`;\n snapshots[pkgId] = Object.keys(deps).length > 0 ? { dependencies: deps } : {};\n if (i < 50) {\n importerDeps[`pkg-${i}`] = { version: `1.0.${i}`, specifier: `^1.0.${i}` };\n }\n }\n\n // Generate component packages (with file: protocol)\n for (let i = 0; i < numComponents; i++) {\n const compName = `@my-scope/comp-${i}`;\n const compPath = `comps/comp-${i}`;\n const fileDepPath = `${compName}@file:${compPath}`;\n\n packages[fileDepPath] = {\n resolution: { directory: compPath, type: 'directory' },\n };\n snapshots[fileDepPath] = {\n dependencies: {\n [`pkg-${i % numPackages}`]: `1.0.${i % numPackages}`,\n },\n };\n componentIdByPkgName.set(compName, ComponentID.fromString(`my-scope/comp-${i}@0.0.${i}`));\n }\n\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: Object.fromEntries(\n Array.from({ length: numComponents }, (_, i) => [\n `@my-scope/comp-${i}`,\n { version: `file:comps/comp-${i}`, specifier: '*' },\n ])\n ),\n },\n 'comps/comp-0': {\n dependencies: importerDeps,\n },\n },\n lockfileVersion: '9.0',\n snapshots,\n packages,\n };\n\n return { lockfile, componentIdByPkgName };\n }\n\n it('should handle 1000 packages and 50 components within 500ms', () => {\n const { lockfile, componentIdByPkgName } = generateLargeLockfile(1000, 50);\n\n const start = performance.now();\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n });\n const elapsed = performance.now() - start;\n\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n expect(elapsed).to.be.lessThan(500);\n });\n\n it('should handle 5000 packages and 200 components within 2000ms', () => {\n const { lockfile, componentIdByPkgName } = generateLargeLockfile(5000, 200);\n\n const start = performance.now();\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n });\n const elapsed = performance.now() - start;\n\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n expect(elapsed).to.be.lessThan(2000);\n });\n\n it('should handle 10000 packages and 500 components within 5000ms', () => {\n const { lockfile, componentIdByPkgName } = generateLargeLockfile(10000, 500);\n\n const start = performance.now();\n const graph = convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n });\n const elapsed = performance.now() - start;\n\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n expect(elapsed).to.be.lessThan(5000);\n });\n\n it('should handle converting 20 lockfiles (1000 pkgs, 100 comps each) within 3000ms', () => {\n const lockfileCount = 20;\n const lockfiles = Array.from({ length: lockfileCount }, () => generateLargeLockfile(1000, 100));\n\n const start = performance.now();\n const graphs = lockfiles.map(({ lockfile, componentIdByPkgName }) =>\n convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n })\n );\n const elapsed = performance.now() - start;\n\n for (const graph of graphs) {\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n }\n expect(elapsed).to.be.lessThan(3000);\n });\n\n it('should handle converting 50 lockfiles (500 pkgs, 50 comps each) within 3000ms', () => {\n const lockfileCount = 50;\n const lockfiles = Array.from({ length: lockfileCount }, () => generateLargeLockfile(500, 50));\n\n const start = performance.now();\n const graphs = lockfiles.map(({ lockfile, componentIdByPkgName }) =>\n convertLockfileToGraph(lockfile, {\n pkgName: '@my-scope/comp-0',\n componentRelativeDir: 'comps/comp-0',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n })\n );\n const elapsed = performance.now() - start;\n\n for (const graph of graphs) {\n expect(graph.edges.length).to.be.greaterThan(0);\n expect(graph.packages.size).to.be.greaterThan(0);\n }\n expect(elapsed).to.be.lessThan(3000);\n });\n});\n\ndescribe('convertGraphToLockfile on invalid graph', () => {\n // Reproduces the CI failure where a saved deps graph leaks \"@file:\" entries\n // because buildPackages couldn't map them to a workspace component. The\n // directory resolution was deleted and getPkgsToResolve can't recover an\n // integrity for \"file:\" versions (dp.parse puts them in nonSemverVersion,\n // not version), so validation throws \"doesn't have a 'resolution' field\".\n // At install time the orphan can't be salvaged: if its name matches a\n // workspace project pnpm wires it through importers/link entries (so the\n // packages entry would be wrong), and otherwise we have no published\n // version to recover. Dropping it is the only safe outcome.\n it('should drop orphan @file: packages when generating a lockfile', async () => {\n const packages: PackagesMap = new Map([\n ['@teambit/dot-launch.apps.whats-new-app@file:dot-launch/apps/whats-new-app', {} as any],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n { id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' },\n {\n id: '@teambit/dot-launch.apps.whats-new-app@file:dot-launch/apps/whats-new-app',\n name: '@teambit/dot-launch.apps.whats-new-app',\n specifier: '*',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [\n {\n id: '@teambit/dot-launch.apps.whats-new-app@file:dot-launch/apps/whats-new-app',\n optional: false,\n },\n ],\n },\n {\n id: '@teambit/dot-launch.apps.whats-new-app@file:dot-launch/apps/whats-new-app',\n neighbours: [],\n },\n ];\n const graph = new DependenciesGraph({ packages, edges });\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: {\n dependencies: { foo: '1.0.0' },\n },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n expect(Object.keys(lockfile.packages!)).to.eql(['foo@1.0.0']);\n expect(Object.keys(lockfile.snapshots!)).to.eql(['foo@1.0.0']);\n // The dangling snapshot neighbour pointing at the orphan must also be\n // filtered out so pnpm doesn't try to resolve a dep that no longer exists.\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({});\n });\n\n // Saved by bits older than #10361: when a workspace component with a\n // circular dep was snapped, the component's own snapshot/package was\n // deleted but back-references on other snapshots survived. The neighbour\n // now points at a snap-version pkgId that exists nowhere else in the\n // graph. Without the scrub, convertGraphToLockfile would materialise an\n // empty packages entry and getPkgsToResolve would ask the registry for\n // that unpublished snap version (surfacing as ERR_PNPM_NO_MATCHING_VERSION\n // on ripple at install time).\n it('should drop orphan neighbours that have no edge and no packages entry', async () => {\n const packages: PackagesMap = new Map([['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any]]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [\n {\n id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc0fcd7c894001404a162a48aca0219d43',\n optional: false,\n },\n ],\n },\n ];\n const graph = new DependenciesGraph({ packages, edges });\n let resolverCalled = false;\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: {\n dependencies: { foo: '1.0.0' },\n },\n },\n rootDir: process.cwd(),\n resolve: () => {\n resolverCalled = true;\n return { resolution: { integrity: '0000' } } as any;\n },\n });\n expect(resolverCalled).to.equal(false);\n expect(Object.keys(lockfile.packages!)).to.eql(['foo@1.0.0']);\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({});\n });\n\n it('should leave legitimate neighbours intact when scrubbing orphans', async () => {\n const packages: PackagesMap = new Map([\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ['bar@2.0.0', { resolution: { integrity: 'sha512-bbb' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [\n { id: 'bar@2.0.0', optional: false },\n { id: 'orphan-pkg@0.0.0-deadbeef', optional: false },\n ],\n },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({ dependencies: { bar: '2.0.0' } });\n expect(Object.keys(lockfile.packages!).sort()).to.eql(['bar@2.0.0', 'foo@1.0.0']);\n });\n\n it('should merge peer providers to the highest compatible version', async () => {\n const peerDependencies = { 'peer-a': '^1.0.0' };\n const graph = new DependenciesGraph({\n packages: new Map([\n ['abc@1.0.0', { resolution: { integrity: 'sha512-abc1' }, peerDependencies } as any],\n ['peer-a@1.0.1', { resolution: { integrity: 'sha512-peer101' } } as any],\n ]),\n edges: [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n {\n id: 'abc@1.0.0(peer-a@1.0.1)',\n name: 'abc',\n specifier: '*',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: 'abc@1.0.0(peer-a@1.0.1)',\n attr: { pkgId: 'abc@1.0.0' },\n neighbours: [{ id: 'peer-a@1.0.1', optional: false }],\n },\n ],\n });\n graph.merge(\n new DependenciesGraph({\n packages: new Map([\n ['abc@2.0.0', { resolution: { integrity: 'sha512-abc2' }, peerDependencies } as any],\n ['peer-a@1.0.0', { resolution: { integrity: 'sha512-peer100' } } as any],\n ]),\n edges: [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n {\n id: 'abc@2.0.0(peer-a@1.0.0)',\n name: 'abc',\n specifier: '*',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: 'abc@2.0.0(peer-a@1.0.0)',\n attr: { pkgId: 'abc@2.0.0' },\n neighbours: [{ id: 'peer-a@1.0.0', optional: false }],\n },\n ],\n })\n );\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { abc: '*' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n expect(Object.keys(lockfile.packages!).sort()).to.eql(['abc@2.0.0', 'peer-a@1.0.1']);\n expect(lockfile.importers!['comps/comp1'].dependencies!.abc.version).to.eql('2.0.0(peer-a@1.0.1)');\n expect(lockfile.snapshots!['abc@2.0.0(peer-a@1.0.1)']).to.eql({ dependencies: { 'peer-a': '1.0.1' } });\n });\n\n // Saved by bits older than #10361: even when the workspace-component's snap\n // entry survives in the graph (with no resolution, since the directory type\n // was stripped at snap time), the registry lookup at install time fails\n // because that snap-version was never published. Scrub the package, its\n // snapshots and every reference to it so pnpm can re-resolve the dep from\n // the installing manifest's specifier instead of aborting the install.\n it('should drop workspace-component pkgs that fail to resolve from the registry', async () => {\n const packages: PackagesMap = new Map([\n [\n '@bitdev/react.app-types.vite-react@0.0.0-df1917dc',\n { component: { scope: 'bitdev.react', name: 'app-types/vite-react' } } as any,\n ],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [{ id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc', optional: false }],\n },\n {\n id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc',\n neighbours: [],\n },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => {\n const err = new Error('No matching version found');\n (err as Error & { code: string }).code = 'ERR_PNPM_NO_MATCHING_VERSION';\n throw err;\n },\n });\n expect(Object.keys(lockfile.packages!).sort()).to.eql(['foo@1.0.0']);\n expect(Object.keys(lockfile.snapshots!).sort()).to.eql(['foo@1.0.0']);\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({});\n });\n\n // pnpm links a dependency on the version the workspace holds to the\n // workspace component, so the registry resolution the graph carries for it\n // would only be resolved again. The restored lockfile records the component\n // the way pnpm does, as a `file:` directory package.\n it('should link workspace-component pkgs at the version the workspace holds, whatever resolution they carry', async () => {\n const componentPkgId = '@my-org/my-scope.comp2@1.0.0';\n const packages: PackagesMap = new Map([\n [\n componentPkgId,\n {\n component: { scope: 'my-org.my-scope', name: 'comp2' },\n resolution: { integrity: 'sha512-comp2' },\n } as any,\n ],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n {\n id: componentPkgId,\n name: '@my-org/my-scope.comp2',\n specifier: '1.0.0',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: componentPkgId,\n neighbours: [],\n },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { '@my-org/my-scope.comp2': '1.0.0' } },\n [path.resolve('comps/comp2')]: {\n name: '@my-org/my-scope.comp2',\n version: '1.0.0',\n },\n },\n rootDir: process.cwd(),\n resolve: () => {\n throw new Error('resolved workspace component should not be re-resolved');\n },\n });\n expect(lockfile.importers!['comps/comp1'].dependencies!['@my-org/my-scope.comp2']).to.eql({\n version: 'file:comps/comp2',\n specifier: '1.0.0',\n });\n expect(Object.keys(lockfile.packages!)).to.eql(['@my-org/my-scope.comp2@file:comps/comp2']);\n expect(lockfile.packages!['@my-org/my-scope.comp2@file:comps/comp2']).to.eql({\n resolution: { directory: 'comps/comp2', type: 'directory' },\n });\n expect(Object.keys(lockfile.snapshots!)).to.eql(['@my-org/my-scope.comp2@file:comps/comp2']);\n expect(lockfile.snapshots!['@my-org/my-scope.comp2@file:comps/comp2']).to.eql({});\n });\n\n // A workspace-component snap whose name+version matches a manifest in the\n // sign/capsule set is a seeder being signed. Its snap version was never\n // published, so it is never sent to the resolver; pnpm links it from the\n // manifest, transitive dependencies on it included, so the restored lockfile\n // records it as a `file:` directory package and points the dependency at it.\n it('should link workspace-component snaps that are seeders in the manifests', async () => {\n const snapPkgId = '@my-org/my-scope.components.button-base@0.0.0-e1613079b55eabc19ad484478b769d929986c124';\n const packages: PackagesMap = new Map([\n [snapPkgId, { component: { scope: 'my-org.my-scope', name: 'components/button-base' } } as any],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [{ id: snapPkgId, optional: false }],\n },\n { id: snapPkgId, neighbours: [] },\n ];\n let resolverCalled = false;\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n // button-base is a seeder being signed, so it appears in the manifests\n // with its snap version — getPkgsToResolve skips it for that reason.\n [path.resolve('comps/button-base')]: {\n name: '@my-org/my-scope.components.button-base',\n version: '0.0.0-e1613079b55eabc19ad484478b769d929986c124',\n },\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => {\n resolverCalled = true;\n return { resolution: { integrity: '0000' } } as any;\n },\n });\n expect(resolverCalled).to.equal(false);\n const linkedPkgId = '@my-org/my-scope.components.button-base@file:comps/button-base';\n expect(Object.keys(lockfile.packages!).sort()).to.eql([linkedPkgId, 'foo@1.0.0']);\n expect(lockfile.packages![linkedPkgId]).to.eql({\n resolution: { directory: 'comps/button-base', type: 'directory' },\n });\n expect(Object.keys(lockfile.snapshots!).sort()).to.eql([linkedPkgId, 'foo@1.0.0']);\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({\n dependencies: { '@my-org/my-scope.components.button-base': 'file:comps/button-base' },\n });\n });\n\n // Sibling of the above: even when the resolver IS called for a\n // workspace-component snap, it may succeed yet return a resolution with no\n // integrity (e.g. a directory/git resolution). The pkg then stays\n // resolution-less and must be scrubbed rather than failing validation.\n it('should drop workspace-component pkgs whose resolution has no integrity', async () => {\n const snapPkgId = '@my-org/my-scope.components.button-base@0.0.0-e1613079';\n const packages: PackagesMap = new Map([\n [snapPkgId, { component: { scope: 'my-org.my-scope', name: 'components/button-base' } } as any],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n { id: 'foo@1.0.0', neighbours: [{ id: snapPkgId, optional: false }] },\n { id: snapPkgId, neighbours: [] },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n // Resolver succeeds but returns no integrity for the unpublished snap.\n resolve: () => ({ resolution: {} }) as any,\n });\n expect(Object.keys(lockfile.packages!).sort()).to.eql(['foo@1.0.0']);\n expect(lockfile.snapshots!['foo@1.0.0']).to.eql({});\n });\n\n // When the resolve failure is for a regular registry package (no component\n // attribute), we still want to surface the error rather than silently drop\n // it — that path means the graph itself is genuinely broken, not just\n // referencing an unpublished workspace snap.\n it('should re-throw resolver errors for non-component pkgs', async () => {\n const packages: PackagesMap = new Map([['foo@1.0.0', {} as any]]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n { id: 'foo@1.0.0', neighbours: [] },\n ];\n let caught: Error | undefined;\n try {\n await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => {\n throw new Error('boom');\n },\n });\n } catch (err) {\n caught = err as Error;\n }\n expect(caught?.message).to.equal('boom');\n });\n\n // Narrowing guardrail: even for a component-flagged pkg, only\n // ERR_PNPM_NO_MATCHING_VERSION should be swallowed. A network/auth/5xx\n // failure must propagate so a real outage isn't silently masked as a\n // graph-recovery success.\n it('should re-throw non-NoMatchingVersion errors even for component pkgs', async () => {\n const packages: PackagesMap = new Map([\n [\n '@bitdev/react.app-types.vite-react@0.0.0-df1917dc',\n { component: { scope: 'bitdev.react', name: 'app-types/vite-react' } } as any,\n ],\n ['foo@1.0.0', { resolution: { integrity: 'sha512-aaa' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'foo@1.0.0', name: 'foo', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n { id: 'foo@1.0.0', neighbours: [{ id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc' }] },\n { id: '@bitdev/react.app-types.vite-react@0.0.0-df1917dc', neighbours: [] },\n ];\n let caught: Error | undefined;\n try {\n await convertGraphToLockfile(new DependenciesGraph(new DependenciesGraph({ packages, edges })), {\n manifests: {\n [path.resolve('comps/comp1')]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => {\n const err = new Error('Connect ETIMEDOUT');\n (err as Error & { code: string }).code = 'ERR_PNPM_META_FETCH_FAIL';\n throw err;\n },\n });\n } catch (err) {\n caught = err as Error;\n }\n expect(caught?.message).to.equal('Connect ETIMEDOUT');\n expect((caught as Error & { code: string }).code).to.equal('ERR_PNPM_META_FETCH_FAIL');\n });\n\n it('should throw an error if resolution is missing', async () => {\n const packages: PackagesMap = new Map([['foo@1.0.0', {} as any]]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [\n {\n id: 'foo@1.0.0',\n name: 'foo',\n specifier: '1.0.0',\n lifecycle: 'runtime',\n },\n ],\n },\n {\n id: 'foo@1.0.0',\n neighbours: [],\n },\n ];\n const graph = new DependenciesGraph({\n packages,\n edges,\n });\n let error: Error | undefined;\n try {\n await convertGraphToLockfile(new DependenciesGraph(graph), {\n manifests: {\n [path.resolve('comps/comp1')]: {\n dependencies: {\n foo: '1.0.0',\n },\n },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: {} }) as any,\n });\n } catch (_error) {\n error = _error as Error;\n }\n expect(error?.message).eq(\n `Failed to generate a valid lockfile. The \"packages['foo@1.0.0']\" entry doesn't have a \"resolution\" field.`\n );\n });\n});\n\n// A graph is stored by a workspace whose root may provide a different version of a package than\n// the root of the install restoring it (the capsules root pins the env's peers). pnpm resolves\n// peers from the root and dedupes satisfiable ranges to it, so the restored lockfile must not keep\n// the workspace's other version next to the root's one.\ndescribe('convertGraphToLockfile with a root manifest that provides a package the graph resolved to another version', () => {\n const rootDir = process.cwd();\n const compDir = path.resolve('comps/comp1');\n const helmetSnapshot = '@types/react-helmet@6.1.6';\n const peerSnapshot = 'react-types-peer@1.0.0(@types/react@18.2.23)';\n const resolve = (async () => ({ resolution: { integrity: '0000' } })) as any;\n function createGraph(\n opts: { peerKeyed?: boolean; overrides?: Record<string, string>; typesReactUnresolved?: boolean } = {}\n ) {\n const typesReactDep = opts.peerKeyed ? peerSnapshot : '@types/react@18.2.23';\n const packages: PackagesMap = new Map([\n [helmetSnapshot, { resolution: { integrity: 'sha512-helmet' } } as any],\n [\n '@types/react@18.2.23',\n (opts.typesReactUnresolved ? {} : { resolution: { integrity: 'sha512-react18' } }) as any,\n ],\n [\n 'react-types-peer@1.0.0',\n { resolution: { integrity: 'sha512-peer' }, peerDependencies: { '@types/react': '*' } } as any,\n ],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: helmetSnapshot, name: '@types/react-helmet', specifier: '6.1.6', lifecycle: 'dev' }],\n },\n { id: helmetSnapshot, neighbours: [{ id: typesReactDep }] },\n { id: peerSnapshot, attr: { pkgId: 'react-types-peer@1.0.0' }, neighbours: [{ id: '@types/react@18.2.23' }] },\n ];\n return new DependenciesGraph({ packages, edges, overrides: opts.overrides });\n }\n function convert(rootManifest: ProjectManifest, graph = createGraph()) {\n return convertGraphToLockfile(graph, {\n manifests: { [rootDir]: rootManifest, [compDir]: { devDependencies: { '@types/react-helmet': '6.1.6' } } },\n rootDir,\n resolve,\n });\n }\n\n it('should drop a reference to another version of a package the root pins, so the install resolves it to the root version', async () => {\n const lockfile = await convert({ dependencies: { '@types/react': '17.0.87' } });\n expect(lockfile.snapshots![helmetSnapshot]).to.eql({ dependencies: {} });\n expect(lockfile.packages!['@types/react@18.2.23']).to.equal(undefined);\n expect(lockfile.snapshots!['@types/react@18.2.23']).to.equal(undefined);\n });\n\n it('should drop a peer resolution of the other version', async () => {\n const lockfile = await convert({ dependencies: { '@types/react': '17.0.87' } }, createGraph({ peerKeyed: true }));\n expect(lockfile.snapshots![peerSnapshot]).to.eql({ dependencies: {} });\n expect(lockfile.packages!['@types/react@18.2.23']).to.equal(undefined);\n });\n\n it('should keep a regular dependency when the root specifier is a range, a tag or a link', async () => {\n for (const specifier of ['^17.0.0', 'latest', 'link:../types-react']) {\n const lockfile = await convert({ dependencies: { '@types/react': specifier } });\n expect(lockfile.snapshots![helmetSnapshot], specifier).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n }\n });\n\n it('should drop a peer resolution whatever the root specifier is, since pnpm resolves peers from the root', async () => {\n for (const specifier of ['^17.0.0', 'latest', 'link:../types-react', 'npm:@types/react@17.0.87']) {\n const lockfile = await convert({ dependencies: { '@types/react': specifier } }, createGraph({ peerKeyed: true }));\n expect(lockfile.snapshots![peerSnapshot], specifier).to.eql({ dependencies: {} });\n expect(lockfile.packages!['@types/react@18.2.23'], specifier).to.equal(undefined);\n }\n });\n\n it('should keep the reference when it is already the root version, however the root spells it', async () => {\n for (const specifier of ['18.2.23', 'v18.2.23']) {\n const lockfile = await convert({ dependencies: { '@types/react': specifier } });\n expect(lockfile.snapshots![helmetSnapshot], specifier).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n const peerLockfile = await convert(\n { dependencies: { '@types/react': specifier } },\n createGraph({ peerKeyed: true })\n );\n expect(peerLockfile.snapshots![peerSnapshot], specifier).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n }\n });\n\n it('should keep the reference when the root provides the package only as an optional dependency', async () => {\n const lockfile = await convert({ optionalDependencies: { '@types/react': '17.0.87' } });\n expect(lockfile.snapshots![helmetSnapshot]).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n });\n\n it('should keep the reference when an override targets the package', async () => {\n for (const overrides of [\n { '@types/react-helmet>@types/react': '^18.0.0' },\n { '@types/react@*': '18.2.23' },\n ] as Record<string, string>[]) {\n const lockfile = await convert({ dependencies: { '@types/react': '17.0.87' } }, createGraph({ overrides }));\n expect(lockfile.snapshots![helmetSnapshot]).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n }\n });\n\n it('should not send a package the dedupe orphaned to the resolver', async () => {\n const lockfile = await convertGraphToLockfile(createGraph({ typesReactUnresolved: true }), {\n manifests: {\n [rootDir]: { dependencies: { '@types/react': '17.0.87' } },\n [compDir]: { devDependencies: { '@types/react-helmet': '6.1.6' } },\n },\n rootDir,\n resolve: async (wantedDep: { alias?: string }) => {\n if (wantedDep.alias === '@types/react') throw new Error('ENOTFOUND');\n return { resolution: { integrity: '0000' } };\n },\n });\n expect(lockfile.packages!['@types/react@18.2.23']).to.equal(undefined);\n });\n\n it('should not take an inherited object property name, e.g. \"constructor\", for a package the root provides', async () => {\n const packages: PackagesMap = new Map([\n ['dependent@1.0.0', { resolution: { integrity: 'sha512-dependent' }, peerDependencies: { react: '*' } } as any],\n ['constructor@1.0.0', { resolution: { integrity: 'sha512-constructor' } } as any],\n ]);\n const edges: DependencyEdge[] = [\n {\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: [{ id: 'dependent@1.0.0', name: 'dependent', specifier: '1.0.0', lifecycle: 'runtime' }],\n },\n { id: 'dependent@1.0.0', neighbours: [{ id: 'constructor@1.0.0' }] },\n ];\n const lockfile = await convertGraphToLockfile(new DependenciesGraph({ packages, edges }), {\n manifests: {\n [rootDir]: { dependencies: { '@types/react': '17.0.87' } },\n [compDir]: { dependencies: { dependent: '1.0.0' } },\n },\n rootDir,\n resolve,\n });\n expect(lockfile.snapshots!['dependent@1.0.0']).to.eql({ dependencies: { constructor: '1.0.0' } });\n });\n\n it('should leave the graph alone when the root has no such dependency', async () => {\n const lockfile = await convert({ dependencies: { react: '18.3.1' } });\n expect(lockfile.snapshots![helmetSnapshot]).to.eql({ dependencies: { '@types/react': '18.2.23' } });\n });\n});\n\ndescribe('pnpmfileChecksum', () => {\n const componentDir = 'comps/comp1';\n\n function createLockfile(pnpmfileChecksum?: string): BitLockfileFile {\n return {\n lockfileVersion: '9.0',\n pnpmfileChecksum,\n importers: {\n [componentDir]: {\n dependencies: { foo: { version: '1.0.0', specifier: '1.0.0' } },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n snapshots: {\n 'foo@1.0.0': {},\n },\n } as BitLockfileFile;\n }\n\n function graphToLockfile(graph: DependenciesGraph) {\n return convertGraphToLockfile(graph, {\n manifests: {\n [path.resolve(componentDir)]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n }\n\n it('should be kept from the lockfile to the graph and back', async () => {\n const graph = convertLockfileToGraph(createLockfile('hooks-1'), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n expect(graph.pnpmfileChecksum).to.equal('hooks-1');\n\n const lockfile = await graphToLockfile(DependenciesGraph.deserialize(graph.serialize())!);\n expect(lockfile.pnpmfileChecksum).to.equal('hooks-1');\n });\n\n it('should stay unset for a graph saved without one', async () => {\n const graph = convertLockfileToGraph(createLockfile(), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n expect(graph.pnpmfileChecksum).to.equal(undefined);\n\n const lockfile = await graphToLockfile(graph);\n expect(lockfile).not.to.have.property('pnpmfileChecksum');\n });\n\n it(\"should restore the checksum of Bit's readPackage hooks as the overrides that replaced them\", async () => {\n const graph = convertLockfileToGraph(createLockfile('bit-1'), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n\n const lockfile = await graphToLockfile(DependenciesGraph.deserialize(graph.serialize())!);\n expect(lockfile).not.to.have.property('pnpmfileChecksum');\n expect(lockfile.overrides).to.eql({ '@teambit/legacy@*': '-', '@teambit/harmony@*': '-' });\n });\n});\n\ndescribe('lockfile overrides', () => {\n const componentDir = 'comps/comp1';\n const overrides = { '@teambit/legacy@*': '-', react: '19.1.0' };\n\n function createLockfile(lockfileOverrides?: Record<string, string>): BitLockfileFile {\n return {\n lockfileVersion: '9.0',\n overrides: lockfileOverrides,\n importers: {\n [componentDir]: {\n dependencies: { foo: { version: '1.0.0', specifier: '1.0.0' } },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n snapshots: {\n 'foo@1.0.0': {},\n },\n } as BitLockfileFile;\n }\n\n async function roundTrip(lockfile: BitLockfileFile) {\n const graph = convertLockfileToGraph(lockfile, {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n return convertGraphToLockfile(DependenciesGraph.deserialize(graph.serialize())!, {\n manifests: {\n [path.resolve(componentDir)]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n }\n\n it('should be kept from the lockfile to the graph and back', async () => {\n expect((await roundTrip(createLockfile(overrides))).overrides).to.eql(overrides);\n });\n\n it('should stay unset for a lockfile without overrides', async () => {\n expect(await roundTrip(createLockfile())).not.to.have.property('overrides');\n });\n});\n\ndescribe('lockfile settings', () => {\n const componentDir = 'comps/comp1';\n const settings = { autoInstallPeers: true, dedupePeers: true, injectWorkspacePackages: true };\n\n function createLockfile(lockfileSettings?: BitLockfileFile['settings']): BitLockfileFile {\n return {\n lockfileVersion: '9.0',\n ...(lockfileSettings ? { settings: lockfileSettings } : {}),\n importers: {\n [componentDir]: {\n dependencies: { foo: { version: '1.0.0', specifier: '1.0.0' } },\n },\n },\n packages: {\n 'foo@1.0.0': { resolution: { integrity: 'sha512-aaa' } },\n },\n snapshots: {\n 'foo@1.0.0': {},\n },\n } as BitLockfileFile;\n }\n\n function graphToLockfile(graph: DependenciesGraph) {\n return convertGraphToLockfile(graph, {\n manifests: {\n [path.resolve(componentDir)]: { dependencies: { foo: '1.0.0' } },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n });\n }\n\n it('should be kept from the lockfile to the graph and back', async () => {\n const graph = convertLockfileToGraph(createLockfile(settings), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n expect(graph.lockfileSettings).to.eql(settings);\n\n const lockfile = await graphToLockfile(DependenciesGraph.deserialize(graph.serialize())!);\n expect(lockfile.settings).to.eql(settings);\n });\n\n it('should stay unset for a graph saved without them', async () => {\n const graph = convertLockfileToGraph(createLockfile(), {\n componentRelativeDir: componentDir,\n componentIdByPkgName: new Map(),\n });\n\n const lockfile = await graphToLockfile(graph);\n expect(lockfile).not.to.have.property('settings');\n });\n});\n\ndescribe('createLockfileToGraphCache', () => {\n const lockfile: BitLockfileFile = {\n bit: { depsRequiringBuild: [] },\n lockfileVersion: '9.0',\n importers: {\n '.': {},\n 'node_modules/.bit_roots/env': {\n dependencies: {\n comp1: { version: 'file:comps/comp1(foo@1.0.0)', specifier: '*' },\n comp2: { version: 'file:comps/comp2(foo@1.0.0)', specifier: '*' },\n },\n },\n 'comps/comp1': {\n dependencies: {\n comp2: { version: 'file:comps/comp2(foo@1.0.0)', specifier: '*' },\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n 'comps/comp2': {\n dependencies: {\n comp1: { version: 'file:comps/comp1(foo@1.0.0)', specifier: '*' },\n foo: { version: '1.0.0', specifier: '^1.0.0' },\n },\n },\n },\n snapshots: {\n 'comp1@file:comps/comp1(foo@1.0.0)': {\n dependencies: { comp2: 'file:comps/comp2(foo@1.0.0)', foo: '1.0.0' },\n },\n 'comp2@file:comps/comp2(foo@1.0.0)': {\n dependencies: { comp1: 'file:comps/comp1(foo@1.0.0)', foo: '1.0.0' },\n },\n 'foo@1.0.0': { dependencies: { bar: '2.0.0' } },\n 'bar@2.0.0': {},\n },\n packages: {\n 'comp1@file:comps/comp1': { resolution: { directory: 'comps/comp1', type: 'directory' } },\n 'comp2@file:comps/comp2': { resolution: { directory: 'comps/comp2', type: 'directory' } },\n 'foo@1.0.0': { resolution: { integrity: 'sha512-foo' } },\n 'bar@2.0.0': { resolution: { integrity: 'sha512-bar' } },\n },\n };\n\n it('should reuse unmodified package and edge entries across components while isolating circular back-edge scrubbing', () => {\n const componentIdByPkgName = new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]);\n const cache = createLockfileToGraphCache();\n\n const filtered1 = filterLockfileByImporters(lockfile, ['comps/comp1', 'node_modules/.bit_roots/env']);\n const graph1 = convertLockfileToGraph(filtered1, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n cache,\n });\n\n const filtered2 = filterLockfileByImporters(lockfile, ['comps/comp2', 'node_modules/.bit_roots/env']);\n const graph2 = convertLockfileToGraph(filtered2, {\n pkgName: 'comp2',\n componentRelativeDir: 'comps/comp2',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName,\n cache,\n });\n\n // Shared non-mutated package and edge objects are reused by reference\n expect(graph1.packages.get('foo@1.0.0')).to.equal(graph2.packages.get('foo@1.0.0'));\n const fooEdge1 = graph1.edges.find((e) => e.id === 'foo@1.0.0');\n const fooEdge2 = graph2.edges.find((e) => e.id === 'foo@1.0.0');\n expect(fooEdge1).to.not.equal(undefined);\n expect(fooEdge1).to.equal(fooEdge2);\n\n // Circular back-edges are scrubbed per component without mutating the original lockfile\n expect(graph1.packages.has('comp1@1.0.0')).to.equal(false);\n expect(graph1.packages.has('comp2@1.0.0')).to.equal(true);\n expect(graph1.edges.some((e) => e.neighbours.some((n) => n.id.startsWith('comp1@')))).to.equal(false);\n\n expect(graph2.packages.has('comp2@1.0.0')).to.equal(false);\n expect(graph2.packages.has('comp1@1.0.0')).to.equal(true);\n expect(graph2.edges.some((e) => e.neighbours.some((n) => n.id.startsWith('comp2@')))).to.equal(false);\n });\n\n it('should invalidate cached entries when reused with a different componentIdByPkgName mapping', () => {\n const cache = createLockfileToGraphCache();\n const filtered1 = filterLockfileByImporters(lockfile, ['comps/comp1', 'node_modules/.bit_roots/env']);\n const graph1 = convertLockfileToGraph(filtered1, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@1.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@1.0.0')],\n ]),\n cache,\n });\n expect(graph1.packages.has('comp2@1.0.0')).to.equal(true);\n expect(graph1.edges.some((e) => e.id === 'comp2@1.0.0(foo@1.0.0)')).to.equal(true);\n\n // Reuse the same cache and lockfile objects with an updated version mapping for comp2\n const filtered2 = filterLockfileByImporters(lockfile, ['comps/comp1', 'node_modules/.bit_roots/env']);\n const graph2 = convertLockfileToGraph(filtered2, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map([\n ['comp1', ComponentID.fromString('my-scope/comp1@2.0.0')],\n ['comp2', ComponentID.fromString('my-scope/comp2@2.0.0')],\n ]),\n cache,\n });\n expect(graph2.packages.has('comp2@2.0.0')).to.equal(true);\n expect(graph2.packages.has('comp2@1.0.0')).to.equal(false);\n expect(graph2.edges.some((e) => e.id === 'comp2@2.0.0(foo@1.0.0)')).to.equal(true);\n expect(graph2.edges.some((e) => e.id === 'comp2@1.0.0(foo@1.0.0)')).to.equal(false);\n });\n});\n"],"mappings":"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","ignoreList":[]}