@teambit/pnpm 1.0.576 → 1.0.577

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export type { PnpmMain } from './pnpm.main.runtime';
2
2
  export type { PnpmUI } from './pnpm.ui.runtime';
3
3
  export { PnpmAspect as default, PnpmAspect } from './pnpm.aspect';
4
4
  export type { PnpmPackageManager, InstallResult, RebuildFn } from './pnpm.package-manager';
5
+ export type { BitLockfile, BitLockfileFile } from './lynx';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_pnpm","data","require"],"sources":["index.ts"],"sourcesContent":["export type { PnpmMain } from './pnpm.main.runtime';\nexport type { PnpmUI } from './pnpm.ui.runtime';\nexport { PnpmAspect as default, PnpmAspect } from './pnpm.aspect';\nexport type { PnpmPackageManager, InstallResult, RebuildFn } from './pnpm.package-manager';\n"],"mappings":";;;;;;;;;;;;;;;;;AAEA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_pnpm","data","require"],"sources":["index.ts"],"sourcesContent":["export type { PnpmMain } from './pnpm.main.runtime';\nexport type { PnpmUI } from './pnpm.ui.runtime';\nexport { PnpmAspect as default, PnpmAspect } from './pnpm.aspect';\nexport type { PnpmPackageManager, InstallResult, RebuildFn } from './pnpm.package-manager';\nexport type { BitLockfile, BitLockfileFile } from './lynx';\n"],"mappings":";;;;;;;;;;;;;;;;;AAEA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -1,6 +1,12 @@
1
- import { type ProjectManifest } from '@pnpm/types';
2
- import { type LockfileFileV9 } from '@pnpm/lockfile.types';
1
+ import { type ProjectManifest, type Registries } from '@pnpm/types';
2
+ import { type ResolveFunction } from '@pnpm/client';
3
3
  import { DependenciesGraph } from '@teambit/objects';
4
4
  import { type CalcDepsGraphOptions } from '@teambit/dependency-resolver';
5
- export declare function convertLockfileToGraph(lockfile: LockfileFileV9, { pkgName, componentRootDir, componentRelativeDir, componentIdByPkgName }: Omit<CalcDepsGraphOptions, 'rootDir'>): DependenciesGraph;
6
- export declare function convertGraphToLockfile(graph: DependenciesGraph, manifests: Record<string, ProjectManifest>, rootDir: string): LockfileFileV9;
5
+ import { type BitLockfileFile } from './lynx';
6
+ export declare function convertLockfileToGraph(lockfile: BitLockfileFile, { pkgName, componentRootDir, componentRelativeDir, componentIdByPkgName }: Omit<CalcDepsGraphOptions, 'rootDir'>): DependenciesGraph;
7
+ export declare function convertGraphToLockfile(_graph: DependenciesGraph, { manifests, rootDir, resolve, registries, }: {
8
+ manifests: Record<string, ProjectManifest>;
9
+ rootDir: string;
10
+ resolve: ResolveFunction;
11
+ registries: Registries;
12
+ }): Promise<BitLockfileFile>;
@@ -19,6 +19,13 @@ function dp() {
19
19
  };
20
20
  return data;
21
21
  }
22
+ function _pickRegistryForPackage() {
23
+ const data = require("@pnpm/pick-registry-for-package");
24
+ _pickRegistryForPackage = function () {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
22
29
  function _lodash() {
23
30
  const data = require("lodash");
24
31
  _lodash = function () {
@@ -26,6 +33,13 @@ function _lodash() {
26
33
  };
27
34
  return data;
28
35
  }
36
+ function _componentPackageVersion() {
37
+ const data = require("@teambit/component-package-version");
38
+ _componentPackageVersion = function () {
39
+ return data;
40
+ };
41
+ return data;
42
+ }
29
43
  function _objects() {
30
44
  const data = require("@teambit/objects");
31
45
  _objects = function () {
@@ -130,10 +144,10 @@ function _convertLockfileToGraph(lockfile, {
130
144
  componentIdByPkgName,
131
145
  directDependencies
132
146
  }) {
133
- lockfile = replaceFileVersionsWithPendingVersions(lockfile);
134
147
  return new (_objects().DependenciesGraph)({
135
148
  edges: buildEdges(lockfile, {
136
- directDependencies
149
+ directDependencies,
150
+ componentIdByPkgName
137
151
  }),
138
152
  packages: buildPackages(lockfile, {
139
153
  componentIdByPkgName
@@ -141,7 +155,8 @@ function _convertLockfileToGraph(lockfile, {
141
155
  });
142
156
  }
143
157
  function buildEdges(lockfile, {
144
- directDependencies
158
+ directDependencies,
159
+ componentIdByPkgName
145
160
  }) {
146
161
  const edges = [];
147
162
  for (const [depPath, snapshot] of Object.entries(lockfile.snapshots ?? {})) {
@@ -167,9 +182,9 @@ function buildEdges(lockfile, {
167
182
  }
168
183
  edges.push({
169
184
  id: _objects().DependenciesGraph.ROOT_EDGE_ID,
170
- neighbours: replaceFileVersionsWithPendingVersions(directDependencies)
185
+ neighbours: replaceFileVersions(componentIdByPkgName, directDependencies)
171
186
  });
172
- return edges;
187
+ return replaceFileVersions(componentIdByPkgName, edges);
173
188
  }
174
189
  function extractDependenciesFromSnapshot(snapshot) {
175
190
  const dependencies = [];
@@ -201,24 +216,39 @@ function buildPackages(lockfile, {
201
216
  const packages = new Map();
202
217
  for (const [pkgId, pkg] of Object.entries(lockfile.packages ?? {})) {
203
218
  const graphPkg = (0, _lodash().pick)(pkg, ['bundledDependencies', 'cpu', 'deprecated', 'engines', 'hasBin', 'libc', 'name', 'os', 'peerDependencies', 'peerDependenciesMeta', 'resolution', 'version']);
204
- if (pkgId.includes('@pending:')) {
205
- const parsed = dp().parse(pkgId);
206
- if (parsed.name && componentIdByPkgName.has(parsed.name)) {
207
- const compId = componentIdByPkgName.get(parsed.name);
208
- graphPkg.component = {
209
- name: compId.fullName,
210
- scope: compId.scope
211
- };
212
- }
219
+ if (graphPkg.resolution.type === 'directory') {
220
+ delete graphPkg.resolution;
221
+ }
222
+ const parsed = dp().parse(pkgId);
223
+ if (parsed.name && componentIdByPkgName.has(parsed.name)) {
224
+ const compId = componentIdByPkgName.get(parsed.name);
225
+ graphPkg.component = {
226
+ name: compId.fullName,
227
+ scope: compId.scope
228
+ };
229
+ }
230
+ if (lockfile.bit?.depsRequiringBuild?.includes(pkgId)) {
231
+ graphPkg.requiresBuild = true;
213
232
  }
214
233
  packages.set(pkgId, graphPkg);
215
234
  }
216
- return packages;
235
+ return new Map(replaceFileVersions(componentIdByPkgName, Array.from(packages.entries())));
217
236
  }
218
- function replaceFileVersionsWithPendingVersions(obj) {
219
- return JSON.parse(JSON.stringify(obj).replaceAll(/file:[^'"(]+/g, 'pending:'));
237
+ function replaceFileVersions(componentIdByPkgName, obj) {
238
+ let s = JSON.stringify(obj);
239
+ for (const [pkgName, componentId] of componentIdByPkgName.entries()) {
240
+ s = s.replaceAll(new RegExp(`${pkgName}@file:[^'"(]+`, 'g'), `${pkgName}@${(0, _componentPackageVersion().snapToSemver)(componentId.version)}`);
241
+ }
242
+ return JSON.parse(s);
220
243
  }
221
- function convertGraphToLockfile(graph, manifests, rootDir) {
244
+ async function convertGraphToLockfile(_graph, {
245
+ manifests,
246
+ rootDir,
247
+ resolve,
248
+ registries
249
+ }) {
250
+ const graphString = _graph.serialize();
251
+ const graph = _objects().DependenciesGraph.deserialize(graphString);
222
252
  const packages = {};
223
253
  const snapshots = {};
224
254
  const allEdgeIds = new Set(graph.edges.map(({
@@ -241,11 +271,23 @@ function convertGraphToLockfile(graph, manifests, rootDir) {
241
271
  Object.assign(packages[pkgId], convertGraphPackageToLockfilePackage(graphPkg));
242
272
  }
243
273
  }
274
+ const depsRequiringBuild = [];
275
+ for (const [pkgId, {
276
+ requiresBuild
277
+ }] of graph.packages.entries()) {
278
+ if (requiresBuild) {
279
+ depsRequiringBuild.push(pkgId);
280
+ }
281
+ }
282
+ depsRequiringBuild.sort();
244
283
  const lockfile = {
245
284
  lockfileVersion: '9.0',
246
285
  packages,
247
286
  snapshots,
248
- importers: {}
287
+ importers: {},
288
+ bit: {
289
+ depsRequiringBuild
290
+ }
249
291
  };
250
292
  const rootEdge = graph.findRootEdge();
251
293
  if (rootEdge) {
@@ -279,6 +321,42 @@ function convertGraphToLockfile(graph, manifests, rootDir) {
279
321
  }
280
322
  }
281
323
  }
324
+ const pkgsToResolve = [];
325
+ const pkgsInTheWorkspaces = new Set(Object.values(manifests).map(({
326
+ name
327
+ }) => name));
328
+ for (const [pkgId, pkg] of Object.entries(lockfile.packages)) {
329
+ if (pkg.resolution == null || 'type' in pkg.resolution && pkg.resolution.type === 'directory') {
330
+ const parsed = dp().parse(pkgId);
331
+ if (parsed.name && parsed.version && !pkgsInTheWorkspaces.has(parsed.name)) {
332
+ pkgsToResolve.push({
333
+ name: parsed.name,
334
+ version: parsed.version,
335
+ pkgId
336
+ });
337
+ }
338
+ }
339
+ }
340
+ await Promise.all(pkgsToResolve.map(async pkgToResolve => {
341
+ if (lockfile.packages[pkgToResolve.pkgId].resolution == null) {
342
+ const {
343
+ resolution
344
+ } = await resolve({
345
+ alias: pkgToResolve.name,
346
+ pref: pkgToResolve.version
347
+ }, {
348
+ lockfileDir: '',
349
+ projectDir: '',
350
+ registry: (0, _pickRegistryForPackage().pickRegistryForPackage)(registries, pkgToResolve.name),
351
+ preferredVersions: {}
352
+ });
353
+ if ('integrity' in resolution && resolution.integrity) {
354
+ lockfile.packages[pkgToResolve.pkgId].resolution = {
355
+ integrity: resolution.integrity
356
+ };
357
+ }
358
+ }
359
+ }));
282
360
  return lockfile;
283
361
  function convertToDeps(neighbours) {
284
362
  const deps = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","_interopRequireDefault","require","dp","_interopRequireWildcard","_lodash","_objects","_lockfile","_normalizePath","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","convertLockfileToGraphFromCapsule","lockfile","componentRelativeDir","componentIdByPkgName","componentImporter","importers","directDependencies","depType","lifecycle","optional","importerDepsToNeighbours","_convertLockfileToGraph","importerDependencies","neighbours","name","version","specifier","entries","id","refToRelative","convertLockfileToGraph","pkgName","componentRootDir","componentDevImporter","devDependencies","lockedPkg","snapshots","dependencies","replaceFileVersionsWithPendingVersions","DependenciesGraph","edges","buildEdges","packages","buildPackages","depPath","snapshot","extractDependenciesFromSnapshot","edge","pkgId","removeSuffix","attr","transitivePeerDependencies","ROOT_EDGE_ID","depTypeField","ref","subDepPath","Map","pkg","graphPkg","pick","includes","parsed","parse","compId","component","fullName","scope","obj","JSON","stringify","replaceAll","convertGraphToLockfile","graph","manifests","rootDir","allEdgeIds","Set","map","optionalDeps","prodDeps","partition","dep","convertToDeps","optionalDependencies","assign","convertGraphPackageToLockfilePackage","lockfileVersion","rootEdge","findRootEdge","projectDir","manifest","projectId","getLockfileImporterId","startsWith","normalizePath","path","relative","substring","edgeId","find","directDep","depPathToRef","deps","patchHash","peersSuffix","pkgAttr"],"sources":["lockfile-deps-graph-converter.ts"],"sourcesContent":["import path from 'path';\nimport { type ProjectManifest } from '@pnpm/types';\nimport { type LockfileFileV9, type InlineSpecifiersResolvedDependencies } from '@pnpm/lockfile.types';\nimport * as dp from '@pnpm/dependency-path';\nimport { pick, partition } from 'lodash';\nimport {\n DependenciesGraph,\n type PackagesMap,\n type PackageAttributes,\n type DependencyEdge,\n type DependencyNeighbour,\n} from '@teambit/objects';\nimport { type CalcDepsGraphOptions, type ComponentIdByPkgName } from '@teambit/dependency-resolver';\nimport { getLockfileImporterId } from '@pnpm/lockfile.fs';\nimport normalizePath from 'normalize-path';\n\nfunction convertLockfileToGraphFromCapsule(\n lockfile: LockfileFileV9,\n {\n componentRelativeDir,\n componentIdByPkgName,\n }: Pick<CalcDepsGraphOptions, 'componentRelativeDir' | 'componentIdByPkgName'>\n): DependenciesGraph {\n const componentImporter = lockfile.importers![componentRelativeDir];\n const directDependencies: DependencyNeighbour[] = [];\n for (const depType of ['dependencies' as const, 'optionalDependencies' as const, 'devDependencies' as const]) {\n if (componentImporter[depType] != null) {\n const lifecycle = depType === 'devDependencies' ? 'dev' : 'runtime';\n const optional = depType === 'optionalDependencies';\n directDependencies.push(...importerDepsToNeighbours(componentImporter[depType]!, lifecycle, optional));\n }\n }\n return _convertLockfileToGraph(lockfile, { componentIdByPkgName, directDependencies });\n}\n\nfunction importerDepsToNeighbours(\n importerDependencies: InlineSpecifiersResolvedDependencies,\n lifecycle: 'dev' | 'runtime',\n optional: boolean\n): DependencyNeighbour[] {\n const neighbours: DependencyNeighbour[] = [];\n for (const [name, { version, specifier }] of Object.entries(importerDependencies) as any) {\n const id = dp.refToRelative(version, name)!;\n neighbours.push({ name, specifier, id, lifecycle, optional });\n }\n return neighbours;\n}\n\nexport function convertLockfileToGraph(\n lockfile: LockfileFileV9,\n { pkgName, componentRootDir, componentRelativeDir, componentIdByPkgName }: Omit<CalcDepsGraphOptions, 'rootDir'>\n): DependenciesGraph {\n if (componentRootDir == null || pkgName == null) {\n return convertLockfileToGraphFromCapsule(lockfile, { componentRelativeDir, componentIdByPkgName });\n }\n const componentDevImporter = lockfile.importers![componentRelativeDir];\n const directDependencies: DependencyNeighbour[] = [];\n if (componentDevImporter.devDependencies != null) {\n directDependencies.push(...importerDepsToNeighbours(componentDevImporter.devDependencies, 'dev', false));\n }\n const lockedPkg =\n lockfile.snapshots![`${pkgName}@${lockfile.importers![componentRootDir].dependencies![pkgName].version}`];\n for (const depType of ['dependencies' as const, 'optionalDependencies' as const]) {\n const optional = depType === 'optionalDependencies';\n for (const [name, version] of Object.entries(lockedPkg[depType] ?? {})) {\n const id = dp.refToRelative(version, name)!;\n directDependencies.push({\n name,\n specifier: componentDevImporter[depType]?.[name]?.specifier ?? '*',\n id,\n lifecycle: 'runtime',\n optional,\n });\n }\n }\n return _convertLockfileToGraph(lockfile, { componentIdByPkgName, directDependencies });\n}\n\nfunction _convertLockfileToGraph(\n lockfile: LockfileFileV9,\n {\n componentIdByPkgName,\n directDependencies,\n }: {\n componentIdByPkgName: ComponentIdByPkgName;\n directDependencies: DependencyNeighbour[];\n }\n): DependenciesGraph {\n lockfile = replaceFileVersionsWithPendingVersions(lockfile);\n return new DependenciesGraph({\n edges: buildEdges(lockfile, { directDependencies }),\n packages: buildPackages(lockfile, { componentIdByPkgName }),\n });\n}\n\nfunction buildEdges(\n lockfile: LockfileFileV9,\n { directDependencies }: { directDependencies: DependencyNeighbour[] }\n): DependencyEdge[] {\n const edges: DependencyEdge[] = [];\n for (const [depPath, snapshot] of Object.entries(lockfile.snapshots ?? {})) {\n const neighbours = extractDependenciesFromSnapshot(snapshot);\n const edge: DependencyEdge = {\n id: depPath,\n neighbours,\n };\n const pkgId = dp.removeSuffix(depPath);\n if (pkgId !== depPath) {\n edge.attr = { pkgId };\n }\n if (snapshot.transitivePeerDependencies) {\n edge.attr = {\n ...edge.attr,\n transitivePeerDependencies: snapshot.transitivePeerDependencies,\n };\n }\n if (edge.neighbours.length > 0 || edge.id !== pkgId) {\n edges.push(edge);\n }\n }\n edges.push({\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: replaceFileVersionsWithPendingVersions(directDependencies),\n });\n return edges;\n}\n\nfunction extractDependenciesFromSnapshot(snapshot: any): DependencyNeighbour[] {\n const dependencies: DependencyNeighbour[] = [];\n\n for (const { depTypeField, optional } of [\n { depTypeField: 'dependencies', optional: false },\n { depTypeField: 'optionalDependencies', optional: true },\n ]) {\n for (const [name, ref] of Object.entries((snapshot[depTypeField] ?? {}) as Record<string, string>)) {\n const subDepPath = dp.refToRelative(ref, name);\n if (subDepPath != null) {\n dependencies.push({ id: subDepPath, optional });\n }\n }\n }\n\n return dependencies;\n}\n\nfunction buildPackages(\n lockfile: LockfileFileV9,\n { componentIdByPkgName }: { componentIdByPkgName: ComponentIdByPkgName }\n): PackagesMap {\n const packages: PackagesMap = new Map();\n for (const [pkgId, pkg] of Object.entries(lockfile.packages ?? {})) {\n const graphPkg = pick(pkg, [\n 'bundledDependencies',\n 'cpu',\n 'deprecated',\n 'engines',\n 'hasBin',\n 'libc',\n 'name',\n 'os',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'resolution',\n 'version',\n ]) as any;\n if (pkgId.includes('@pending:')) {\n const parsed = dp.parse(pkgId);\n if (parsed.name && componentIdByPkgName.has(parsed.name)) {\n const compId = componentIdByPkgName.get(parsed.name)!;\n graphPkg.component = {\n name: compId.fullName,\n scope: compId.scope,\n };\n }\n }\n packages.set(pkgId, graphPkg);\n }\n return packages;\n}\n\nfunction replaceFileVersionsWithPendingVersions<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj).replaceAll(/file:[^'\"(]+/g, 'pending:'));\n}\n\nexport function convertGraphToLockfile(\n graph: DependenciesGraph,\n manifests: Record<string, ProjectManifest>,\n rootDir: string\n): LockfileFileV9 {\n const packages = {};\n const snapshots = {};\n const allEdgeIds = new Set(graph.edges.map(({ id }) => id));\n\n for (const edge of graph.edges) {\n if (edge.id === DependenciesGraph.ROOT_EDGE_ID) continue;\n const pkgId = edge.attr?.pkgId ?? edge.id;\n snapshots[edge.id] = {};\n packages[pkgId] = {};\n const [optionalDeps, prodDeps] = partition(edge.neighbours, (dep) => dep.optional);\n if (prodDeps.length) {\n snapshots[edge.id].dependencies = convertToDeps(prodDeps);\n }\n if (optionalDeps.length) {\n snapshots[edge.id].optionalDependencies = convertToDeps(optionalDeps);\n }\n const graphPkg = graph.packages.get(pkgId);\n if (graphPkg != null) {\n Object.assign(packages[pkgId], convertGraphPackageToLockfilePackage(graphPkg));\n }\n }\n const lockfile = {\n lockfileVersion: '9.0',\n packages,\n snapshots,\n importers: {},\n };\n const rootEdge = graph.findRootEdge();\n if (rootEdge) {\n for (const [projectDir, manifest] of Object.entries(manifests)) {\n const projectId = getLockfileImporterId(rootDir, projectDir);\n lockfile.importers![projectId] = {\n dependencies: {},\n devDependencies: {},\n optionalDependencies: {},\n };\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies']) {\n for (const [name, specifier] of Object.entries(manifest[depType] ?? {}) as Array<[string, string]>) {\n if (specifier.startsWith('link:')) {\n const version = `link:${normalizePath(path.relative(projectDir, specifier.substring(5)))}`;\n lockfile.importers![projectId][depType][name] = { version, specifier };\n } else {\n const edgeId = rootEdge.neighbours.find(\n (directDep) =>\n directDep.name === name &&\n (directDep.specifier === specifier || dp.removeSuffix(directDep.id) === `${name}@${specifier}`)\n )?.id;\n if (edgeId) {\n const parsed = dp.parse(edgeId);\n const ref = depPathToRef(parsed);\n lockfile.importers![projectId][depType][name] = { version: ref, specifier };\n }\n }\n }\n }\n }\n }\n return lockfile;\n\n function convertToDeps(neighbours: DependencyNeighbour[]) {\n const deps = {};\n for (const { id } of neighbours) {\n const parsed = dp.parse(id);\n deps[parsed.name!] = depPathToRef(parsed);\n if (!allEdgeIds.has(id)) {\n snapshots[id] = {};\n packages[id] = convertGraphPackageToLockfilePackage(graph.packages.get(id)!);\n }\n }\n return deps;\n }\n}\n\nfunction depPathToRef(depPath: dp.DependencyPath): string {\n return `${depPath.version}${depPath.patchHash ?? ''}${depPath.peersSuffix ?? ''}`;\n}\n\nfunction convertGraphPackageToLockfilePackage(pkgAttr: PackageAttributes) {\n return pick(pkgAttr, [\n 'bundledDependencies',\n 'cpu',\n 'deprecated',\n 'engines',\n 'hasBin',\n 'libc',\n 'name',\n 'os',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'resolution',\n 'version',\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","_interopRequireDefault","require","dp","_interopRequireWildcard","_pickRegistryForPackage","_lodash","_componentPackageVersion","_objects","_lockfile","_normalizePath","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","convertLockfileToGraphFromCapsule","lockfile","componentRelativeDir","componentIdByPkgName","componentImporter","importers","directDependencies","depType","lifecycle","optional","importerDepsToNeighbours","_convertLockfileToGraph","importerDependencies","neighbours","name","version","specifier","entries","id","refToRelative","convertLockfileToGraph","pkgName","componentRootDir","componentDevImporter","devDependencies","lockedPkg","snapshots","dependencies","DependenciesGraph","edges","buildEdges","packages","buildPackages","depPath","snapshot","extractDependenciesFromSnapshot","edge","pkgId","removeSuffix","attr","transitivePeerDependencies","ROOT_EDGE_ID","replaceFileVersions","depTypeField","ref","subDepPath","Map","pkg","graphPkg","pick","resolution","type","parsed","parse","compId","component","fullName","scope","bit","depsRequiringBuild","includes","requiresBuild","Array","from","obj","s","JSON","stringify","componentId","replaceAll","RegExp","snapToSemver","convertGraphToLockfile","_graph","manifests","rootDir","resolve","registries","graphString","serialize","graph","deserialize","allEdgeIds","Set","map","optionalDeps","prodDeps","partition","dep","convertToDeps","optionalDependencies","assign","convertGraphPackageToLockfilePackage","sort","lockfileVersion","rootEdge","findRootEdge","projectDir","manifest","projectId","getLockfileImporterId","startsWith","normalizePath","path","relative","substring","edgeId","find","directDep","depPathToRef","pkgsToResolve","pkgsInTheWorkspaces","values","Promise","all","pkgToResolve","alias","pref","lockfileDir","registry","pickRegistryForPackage","preferredVersions","integrity","deps","patchHash","peersSuffix","pkgAttr"],"sources":["lockfile-deps-graph-converter.ts"],"sourcesContent":["import path from 'path';\nimport { type ProjectManifest, type Registries } from '@pnpm/types';\nimport { type InlineSpecifiersResolvedDependencies } from '@pnpm/lockfile.types';\nimport { type ResolveFunction } from '@pnpm/client';\nimport * as dp from '@pnpm/dependency-path';\nimport { pickRegistryForPackage } from '@pnpm/pick-registry-for-package';\nimport { pick, partition } from 'lodash';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport {\n DependenciesGraph,\n type PackagesMap,\n type PackageAttributes,\n type DependencyEdge,\n type DependencyNeighbour,\n} from '@teambit/objects';\nimport { type CalcDepsGraphOptions, type ComponentIdByPkgName } from '@teambit/dependency-resolver';\nimport { getLockfileImporterId } from '@pnpm/lockfile.fs';\nimport normalizePath from 'normalize-path';\nimport { type BitLockfileFile } from './lynx';\n\nfunction convertLockfileToGraphFromCapsule(\n lockfile: BitLockfileFile,\n {\n componentRelativeDir,\n componentIdByPkgName,\n }: Pick<CalcDepsGraphOptions, 'componentRelativeDir' | 'componentIdByPkgName'>\n): DependenciesGraph {\n const componentImporter = lockfile.importers![componentRelativeDir];\n const directDependencies: DependencyNeighbour[] = [];\n for (const depType of ['dependencies' as const, 'optionalDependencies' as const, 'devDependencies' as const]) {\n if (componentImporter[depType] != null) {\n const lifecycle = depType === 'devDependencies' ? 'dev' : 'runtime';\n const optional = depType === 'optionalDependencies';\n directDependencies.push(...importerDepsToNeighbours(componentImporter[depType]!, lifecycle, optional));\n }\n }\n return _convertLockfileToGraph(lockfile, { componentIdByPkgName, directDependencies });\n}\n\nfunction importerDepsToNeighbours(\n importerDependencies: InlineSpecifiersResolvedDependencies,\n lifecycle: 'dev' | 'runtime',\n optional: boolean\n): DependencyNeighbour[] {\n const neighbours: DependencyNeighbour[] = [];\n for (const [name, { version, specifier }] of Object.entries(importerDependencies) as any) {\n const id = dp.refToRelative(version, name)!;\n neighbours.push({ name, specifier, id, lifecycle, optional });\n }\n return neighbours;\n}\n\nexport function convertLockfileToGraph(\n lockfile: BitLockfileFile,\n { pkgName, componentRootDir, componentRelativeDir, componentIdByPkgName }: Omit<CalcDepsGraphOptions, 'rootDir'>\n): DependenciesGraph {\n if (componentRootDir == null || pkgName == null) {\n return convertLockfileToGraphFromCapsule(lockfile, { componentRelativeDir, componentIdByPkgName });\n }\n const componentDevImporter = lockfile.importers![componentRelativeDir];\n const directDependencies: DependencyNeighbour[] = [];\n if (componentDevImporter.devDependencies != null) {\n directDependencies.push(...importerDepsToNeighbours(componentDevImporter.devDependencies, 'dev', false));\n }\n const lockedPkg =\n lockfile.snapshots![`${pkgName}@${lockfile.importers![componentRootDir].dependencies![pkgName].version}`];\n for (const depType of ['dependencies' as const, 'optionalDependencies' as const]) {\n const optional = depType === 'optionalDependencies';\n for (const [name, version] of Object.entries(lockedPkg[depType] ?? {})) {\n const id = dp.refToRelative(version, name)!;\n directDependencies.push({\n name,\n specifier: componentDevImporter[depType]?.[name]?.specifier ?? '*',\n id,\n lifecycle: 'runtime',\n optional,\n });\n }\n }\n return _convertLockfileToGraph(lockfile, { componentIdByPkgName, directDependencies });\n}\n\nfunction _convertLockfileToGraph(\n lockfile: BitLockfileFile,\n {\n componentIdByPkgName,\n directDependencies,\n }: {\n componentIdByPkgName: ComponentIdByPkgName;\n directDependencies: DependencyNeighbour[];\n }\n): DependenciesGraph {\n return new DependenciesGraph({\n edges: buildEdges(lockfile, { directDependencies, componentIdByPkgName }),\n packages: buildPackages(lockfile, { componentIdByPkgName }),\n });\n}\n\nfunction buildEdges(\n lockfile: BitLockfileFile,\n {\n directDependencies,\n componentIdByPkgName,\n }: {\n directDependencies: DependencyNeighbour[];\n componentIdByPkgName: ComponentIdByPkgName;\n }\n): DependencyEdge[] {\n const edges: DependencyEdge[] = [];\n for (const [depPath, snapshot] of Object.entries(lockfile.snapshots ?? {})) {\n const neighbours = extractDependenciesFromSnapshot(snapshot);\n const edge: DependencyEdge = {\n id: depPath,\n neighbours,\n };\n const pkgId = dp.removeSuffix(depPath);\n if (pkgId !== depPath) {\n edge.attr = { pkgId };\n }\n if (snapshot.transitivePeerDependencies) {\n edge.attr = {\n ...edge.attr,\n transitivePeerDependencies: snapshot.transitivePeerDependencies,\n };\n }\n if (edge.neighbours.length > 0 || edge.id !== pkgId) {\n edges.push(edge);\n }\n }\n edges.push({\n id: DependenciesGraph.ROOT_EDGE_ID,\n neighbours: replaceFileVersions(componentIdByPkgName, directDependencies),\n });\n return replaceFileVersions(componentIdByPkgName, edges);\n}\n\nfunction extractDependenciesFromSnapshot(snapshot: any): DependencyNeighbour[] {\n const dependencies: DependencyNeighbour[] = [];\n\n for (const { depTypeField, optional } of [\n { depTypeField: 'dependencies', optional: false },\n { depTypeField: 'optionalDependencies', optional: true },\n ]) {\n for (const [name, ref] of Object.entries((snapshot[depTypeField] ?? {}) as Record<string, string>)) {\n const subDepPath = dp.refToRelative(ref, name);\n if (subDepPath != null) {\n dependencies.push({ id: subDepPath, optional });\n }\n }\n }\n\n return dependencies;\n}\n\nfunction buildPackages(\n lockfile: BitLockfileFile,\n { componentIdByPkgName }: { componentIdByPkgName: ComponentIdByPkgName }\n): PackagesMap {\n const packages: PackagesMap = new Map();\n for (const [pkgId, pkg] of Object.entries(lockfile.packages ?? {})) {\n const graphPkg = pick(pkg, [\n 'bundledDependencies',\n 'cpu',\n 'deprecated',\n 'engines',\n 'hasBin',\n 'libc',\n 'name',\n 'os',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'resolution',\n 'version',\n ]) as any;\n if (graphPkg.resolution.type === 'directory') {\n delete graphPkg.resolution;\n }\n const parsed = dp.parse(pkgId);\n if (parsed.name && componentIdByPkgName.has(parsed.name)) {\n const compId = componentIdByPkgName.get(parsed.name)!;\n graphPkg.component = {\n name: compId.fullName,\n scope: compId.scope,\n };\n }\n if (lockfile.bit?.depsRequiringBuild?.includes(pkgId)) {\n graphPkg.requiresBuild = true;\n }\n packages.set(pkgId, graphPkg);\n }\n return new Map(replaceFileVersions(componentIdByPkgName, Array.from(packages.entries())));\n}\n\nfunction replaceFileVersions<T>(componentIdByPkgName: ComponentIdByPkgName, obj: T): T {\n let s = JSON.stringify(obj);\n for (const [pkgName, componentId] of componentIdByPkgName.entries()) {\n s = s.replaceAll(new RegExp(`${pkgName}@file:[^'\"(]+`, 'g'), `${pkgName}@${snapToSemver(componentId.version)}`);\n }\n return JSON.parse(s);\n}\n\nexport async function convertGraphToLockfile(\n _graph: DependenciesGraph,\n {\n manifests,\n rootDir,\n resolve,\n registries,\n }: {\n manifests: Record<string, ProjectManifest>;\n rootDir: string;\n resolve: ResolveFunction;\n registries: Registries;\n }\n): Promise<BitLockfileFile> {\n const graphString = _graph.serialize();\n const graph = DependenciesGraph.deserialize(graphString)!;\n const packages = {};\n const snapshots = {};\n const allEdgeIds = new Set(graph.edges.map(({ id }) => id));\n\n for (const edge of graph.edges) {\n if (edge.id === DependenciesGraph.ROOT_EDGE_ID) continue;\n const pkgId = edge.attr?.pkgId ?? edge.id;\n snapshots[edge.id] = {};\n packages[pkgId] = {};\n const [optionalDeps, prodDeps] = partition(edge.neighbours, (dep) => dep.optional);\n if (prodDeps.length) {\n snapshots[edge.id].dependencies = convertToDeps(prodDeps);\n }\n if (optionalDeps.length) {\n snapshots[edge.id].optionalDependencies = convertToDeps(optionalDeps);\n }\n const graphPkg = graph.packages.get(pkgId);\n if (graphPkg != null) {\n Object.assign(packages[pkgId], convertGraphPackageToLockfilePackage(graphPkg));\n }\n }\n const depsRequiringBuild: string[] = [];\n for (const [pkgId, { requiresBuild }] of graph.packages.entries()) {\n if (requiresBuild) {\n depsRequiringBuild.push(pkgId);\n }\n }\n depsRequiringBuild.sort();\n const lockfile: BitLockfileFile & Required<Pick<BitLockfileFile, 'packages'>> = {\n lockfileVersion: '9.0',\n packages,\n snapshots,\n importers: {},\n bit: { depsRequiringBuild },\n };\n const rootEdge = graph.findRootEdge();\n if (rootEdge) {\n for (const [projectDir, manifest] of Object.entries(manifests)) {\n const projectId = getLockfileImporterId(rootDir, projectDir);\n lockfile.importers![projectId] = {\n dependencies: {},\n devDependencies: {},\n optionalDependencies: {},\n };\n for (const depType of ['dependencies', 'devDependencies', 'optionalDependencies']) {\n for (const [name, specifier] of Object.entries(manifest[depType] ?? {}) as Array<[string, string]>) {\n if (specifier.startsWith('link:')) {\n const version = `link:${normalizePath(path.relative(projectDir, specifier.substring(5)))}`;\n lockfile.importers![projectId][depType][name] = { version, specifier };\n } else {\n const edgeId = rootEdge.neighbours.find(\n (directDep) =>\n directDep.name === name &&\n (directDep.specifier === specifier || dp.removeSuffix(directDep.id) === `${name}@${specifier}`)\n )?.id;\n if (edgeId) {\n const parsed = dp.parse(edgeId);\n const ref = depPathToRef(parsed);\n lockfile.importers![projectId][depType][name] = { version: ref, specifier };\n }\n }\n }\n }\n }\n }\n const pkgsToResolve: Array<{ name: string; version: string; pkgId: string }> = [];\n const pkgsInTheWorkspaces = new Set(Object.values(manifests).map(({ name }) => name));\n for (const [pkgId, pkg] of Object.entries(lockfile.packages)) {\n if (pkg.resolution == null || 'type' in pkg.resolution && pkg.resolution.type === 'directory') {\n const parsed = dp.parse(pkgId)\n if (parsed.name && parsed.version && !pkgsInTheWorkspaces.has(parsed.name)) {\n pkgsToResolve.push({\n name: parsed.name,\n version: parsed.version,\n pkgId,\n })\n }\n }\n }\n await Promise.all(pkgsToResolve.map(async (pkgToResolve) => {\n if (lockfile.packages[pkgToResolve.pkgId].resolution == null) {\n const { resolution } = await resolve({\n alias: pkgToResolve.name,\n pref: pkgToResolve.version,\n }, {\n lockfileDir: '',\n projectDir: '',\n registry: pickRegistryForPackage(registries, pkgToResolve.name),\n preferredVersions: {},\n })\n if ('integrity' in resolution && resolution.integrity) {\n lockfile.packages[pkgToResolve.pkgId].resolution = {\n integrity: resolution.integrity,\n };\n }\n }\n }));\n return lockfile;\n\n function convertToDeps(neighbours: DependencyNeighbour[]) {\n const deps = {};\n for (const { id } of neighbours) {\n const parsed = dp.parse(id);\n deps[parsed.name!] = depPathToRef(parsed);\n if (!allEdgeIds.has(id)) {\n snapshots[id] = {};\n packages[id] = convertGraphPackageToLockfilePackage(graph.packages.get(id)!);\n }\n }\n return deps;\n }\n}\n\nfunction depPathToRef(depPath: dp.DependencyPath): string {\n return `${depPath.version}${depPath.patchHash ?? ''}${depPath.peersSuffix ?? ''}`;\n}\n\nfunction convertGraphPackageToLockfilePackage(pkgAttr: PackageAttributes) {\n return pick(pkgAttr, [\n 'bundledDependencies',\n 'cpu',\n 'deprecated',\n 'engines',\n 'hasBin',\n 'libc',\n 'name',\n 'os',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'resolution',\n 'version',\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,13 @@ function _path() {
7
7
  };
8
8
  return data;
9
9
  }
10
+ function _component() {
11
+ const data = require("@teambit/component");
12
+ _component = function () {
13
+ return data;
14
+ };
15
+ return data;
16
+ }
10
17
  function _objects() {
11
18
  const data = require("@teambit/objects");
12
19
  _objects = function () {
@@ -36,6 +43,9 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
36
43
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
37
44
  describe('convertLockfileToGraph simple case', () => {
38
45
  const lockfile = {
46
+ bit: {
47
+ depsRequiringBuild: ['bar@1.0.0']
48
+ },
39
49
  importers: {
40
50
  '.': {},
41
51
  'node_modules/.bit_roots/env': {
@@ -128,10 +138,10 @@ describe('convertLockfileToGraph simple case', () => {
128
138
  pkgName: 'comp1',
129
139
  componentRelativeDir: 'comps/comp1',
130
140
  componentRootDir: 'node_modules/.bit_roots/env',
131
- componentIdByPkgName: new Map()
141
+ componentIdByPkgName: new Map([['comp1', _component().ComponentID.fromString('my-scope/comp1@1.0.0')]])
132
142
  });
133
143
  const expected = {
134
- schemaVersion: '1.0',
144
+ schemaVersion: '2.0',
135
145
  edges: [{
136
146
  id: 'foo@1.0.0(patch_hash=0000)',
137
147
  neighbours: [{
@@ -151,7 +161,7 @@ describe('convertLockfileToGraph simple case', () => {
151
161
  pkgId: 'zoo@1.1.0'
152
162
  }
153
163
  }, {
154
- id: 'comp1@pending:',
164
+ id: 'comp1@1.0.0',
155
165
  neighbours: [{
156
166
  id: 'foo@1.0.0(patch_hash=0000)',
157
167
  optional: false
@@ -198,6 +208,7 @@ describe('convertLockfileToGraph simple case', () => {
198
208
  }
199
209
  },
200
210
  'bar@1.0.0': {
211
+ requiresBuild: true,
201
212
  resolution: {
202
213
  integrity: 'sha512-111'
203
214
  }
@@ -215,10 +226,10 @@ describe('convertLockfileToGraph simple case', () => {
215
226
  integrity: 'sha512-333'
216
227
  }
217
228
  },
218
- 'comp1@pending:': {
219
- resolution: {
220
- directory: 'comps/comp1',
221
- type: 'directory'
229
+ 'comp1@1.0.0': {
230
+ component: {
231
+ name: 'comp1',
232
+ scope: 'my-scope'
222
233
  }
223
234
  }
224
235
  }
@@ -228,18 +239,32 @@ describe('convertLockfileToGraph simple case', () => {
228
239
  packages: Object.fromEntries(graph.packages.entries())
229
240
  })).to.eql(expected);
230
241
  });
231
- it('should convert the graph object to the lockfile object', () => {
232
- (0, _chai().expect)((0, _lockfileDepsGraphConverter().convertGraphToLockfile)(new (_objects().DependenciesGraph)(graph), {
233
- [_path().default.resolve('comps/comp1')]: {
234
- dependencies: {
235
- foo: '^1.0.0',
236
- bar: `link:${_path().default.resolve('comps/bar')}`,
237
- // Links from the manifests are added to the lockfile
238
- qar: '1.1.0',
239
- zoo: '1.1.0'
242
+ it('should convert the graph object to the lockfile object', async () => {
243
+ (0, _chai().expect)(await (0, _lockfileDepsGraphConverter().convertGraphToLockfile)(new (_objects().DependenciesGraph)(graph), {
244
+ manifests: {
245
+ [_path().default.resolve('comps/comp1')]: {
246
+ dependencies: {
247
+ foo: '^1.0.0',
248
+ bar: `link:${_path().default.resolve('comps/bar')}`,
249
+ // Links from the manifests are added to the lockfile
250
+ qar: '1.1.0',
251
+ zoo: '1.1.0'
252
+ }
240
253
  }
254
+ },
255
+ rootDir: process.cwd(),
256
+ resolve: () => ({
257
+ resolution: {
258
+ integrity: '0000'
259
+ }
260
+ }),
261
+ registries: {
262
+ default: 'https://registry.npmjs.org/'
241
263
  }
242
- }, process.cwd())).to.eql({
264
+ })).to.eql({
265
+ bit: {
266
+ depsRequiringBuild: ['bar@1.0.0']
267
+ },
243
268
  importers: {
244
269
  'comps/comp1': {
245
270
  dependencies: {
@@ -273,7 +298,7 @@ describe('convertLockfileToGraph simple case', () => {
273
298
  },
274
299
  'bar@1.0.0': {},
275
300
  'qar@1.1.0': {},
276
- 'comp1@pending:': {
301
+ 'comp1@1.0.0': {
277
302
  dependencies: {
278
303
  foo: '1.0.0(patch_hash=0000)',
279
304
  qar: '1.1.0',
@@ -287,10 +312,9 @@ describe('convertLockfileToGraph simple case', () => {
287
312
  }
288
313
  },
289
314
  packages: {
290
- 'comp1@pending:': {
315
+ 'comp1@1.0.0': {
291
316
  resolution: {
292
- directory: 'comps/comp1',
293
- type: 'directory'
317
+ integrity: '0000'
294
318
  }
295
319
  },
296
320
  'foo@1.0.0': {
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","_interopRequireDefault","require","_objects","_lockfileDepsGraphConverter","_chai","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","describe","lockfile","importers","dependencies","comp1","version","specifier","foo","qar","zoo","lockfileVersion","snapshots","bar","packages","resolution","directory","type","engines","node","npm","hasBin","os","cpu","integrity","peerDependencies","graph","convertLockfileToGraph","pkgName","componentRelativeDir","componentRootDir","componentIdByPkgName","Map","expected","schemaVersion","edges","id","neighbours","optional","attr","pkgId","name","lifecycle","it","expect","fromEntries","entries","to","eql","convertGraphToLockfile","DependenciesGraph","path","resolve","process","cwd","devDependencies","optionalDependencies"],"sources":["lockfile-deps-graph-converter.spec.ts"],"sourcesContent":["import path from 'path';\nimport { DependenciesGraph } from '@teambit/objects';\nimport { type LockfileFileV9 } from '@pnpm/lockfile.types';\nimport { convertLockfileToGraph, convertGraphToLockfile } from './lockfile-deps-graph-converter';\nimport { expect } from 'chai';\n\ndescribe('convertLockfileToGraph simple case', () => {\n const lockfile: LockfileFileV9 = {\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 },\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: {\n directory: 'comps/comp1',\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 const graph = convertLockfileToGraph(lockfile, {\n pkgName: 'comp1',\n componentRelativeDir: 'comps/comp1',\n componentRootDir: 'node_modules/.bit_roots/env',\n componentIdByPkgName: new Map(),\n });\n const expected = {\n schemaVersion: '1.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: 'comp1@pending:',\n neighbours: [\n {\n id: 'foo@1.0.0(patch_hash=0000)',\n optional: false,\n },\n {\n id: 'qar@1.1.0',\n optional: false,\n },\n {\n id: 'zoo@1.1.0(qar@1.1.0)',\n optional: false,\n },\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 },\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 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 'comp1@pending:': {\n resolution: {\n directory: 'comps/comp1',\n type: 'directory',\n },\n },\n },\n };\n it('should convert the lockfile object to the graph object', () => {\n expect({\n ...graph,\n packages: Object.fromEntries(graph.packages.entries()),\n }).to.eql(expected);\n });\n it('should convert the graph object to the lockfile object', () => {\n expect(\n convertGraphToLockfile(\n new DependenciesGraph(graph),\n {\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 },\n },\n },\n process.cwd()\n )\n ).to.eql({\n importers: {\n 'comps/comp1': {\n dependencies: {\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 'comp1@pending:': {\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 },\n },\n 'zoo@1.1.0(qar@1.1.0)': {\n dependencies: {\n qar: '1.1.0',\n },\n },\n },\n packages: {\n 'comp1@pending:': {\n resolution: {\n directory: 'comps/comp1',\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 });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","_interopRequireDefault","require","_component","_objects","_lockfileDepsGraphConverter","_chai","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","describe","lockfile","bit","depsRequiringBuild","importers","dependencies","comp1","version","specifier","foo","qar","zoo","lockfileVersion","snapshots","bar","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","expect","fromEntries","entries","to","eql","convertGraphToLockfile","DependenciesGraph","manifests","path","resolve","rootDir","process","cwd","registries","devDependencies","optionalDependencies"],"sources":["lockfile-deps-graph-converter.spec.ts"],"sourcesContent":["import path from 'path';\nimport { ComponentID } from '@teambit/component';\nimport { DependenciesGraph } from '@teambit/objects';\nimport { convertLockfileToGraph, convertGraphToLockfile } from './lockfile-deps-graph-converter';\nimport { type BitLockfileFile } from './lynx';\nimport { expect } from 'chai';\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 },\n },\n },\n packages: {\n 'comp1@file:comps/comp1': {\n resolution: {\n directory: 'comps/comp1',\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 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 ]),\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: 'comp1@1.0.0',\n neighbours: [\n {\n id: 'foo@1.0.0(patch_hash=0000)',\n optional: false,\n },\n {\n id: 'qar@1.1.0',\n optional: false,\n },\n {\n id: 'zoo@1.1.0(qar@1.1.0)',\n optional: false,\n },\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 },\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 'comp1@1.0.0': {\n component: {\n name: 'comp1',\n scope: 'my-scope',\n },\n },\n },\n };\n it('should convert the lockfile object to the graph object', () => {\n expect({\n ...graph,\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(\n new DependenciesGraph(graph),\n {\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 },\n },\n },\n rootDir: process.cwd(),\n resolve: () => ({ resolution: { integrity: '0000' } }) as any,\n registries: {\n default: 'https://registry.npmjs.org/',\n },\n }\n )\n ).to.eql({\n bit: {\n depsRequiringBuild: ['bar@1.0.0'],\n },\n importers: {\n 'comps/comp1': {\n dependencies: {\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 'comp1@1.0.0': {\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 },\n },\n 'zoo@1.1.0(qar@1.1.0)': {\n dependencies: {\n qar: '1.1.0',\n },\n },\n },\n packages: {\n 'comp1@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"],"mappings":"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","ignoreList":[]}
package/dist/lynx.d.ts CHANGED
@@ -3,7 +3,13 @@ import { type PeerDependencyRules, type DepPath } from '@pnpm/types';
3
3
  import { ResolvedPackageVersion, Registries, PackageManagerProxyConfig, PackageManagerNetworkConfig } from '@teambit/dependency-resolver';
4
4
  import { InstallOptions, PeerDependencyIssuesByProjects } from '@pnpm/core';
5
5
  import { ProjectManifest } from '@pnpm/types';
6
+ import { type LockfileFileV9, type Lockfile } from '@pnpm/lockfile.types';
6
7
  import { Logger } from '@teambit/logger';
8
+ type RegistriesMap = {
9
+ default: string;
10
+ [registryName: string]: string;
11
+ };
12
+ export declare function generateResolverAndFetcher(cacheDir: string, registries: Registries, proxyConfig?: PackageManagerProxyConfig, networkConfig?: PackageManagerNetworkConfig): Promise<import("@pnpm/client").Client>;
7
13
  export declare function getPeerDependencyIssues(manifestsByPaths: Record<string, any>, opts: {
8
14
  storeDir?: string;
9
15
  cacheDir: string;
@@ -45,3 +51,14 @@ export declare function install(rootDir: string, manifestsByPaths: Record<string
45
51
  depsRequiringBuild?: DepPath[];
46
52
  }>;
47
53
  export declare function resolveRemoteVersion(packageName: string, rootDir: string, cacheDir: string, registries: Registries, proxyConfig?: PackageManagerProxyConfig, networkConfig?: PackageManagerNetworkConfig): Promise<ResolvedPackageVersion>;
54
+ export declare function getRegistriesMap(registries: Registries): RegistriesMap;
55
+ export interface BitLockfile extends Lockfile {
56
+ bit?: BitLockfileAttributes;
57
+ }
58
+ export interface BitLockfileFile extends LockfileFileV9 {
59
+ bit?: BitLockfileAttributes;
60
+ }
61
+ export interface BitLockfileAttributes {
62
+ depsRequiringBuild: string[];
63
+ }
64
+ export {};