@teambit/pnpm 1.0.575 → 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 +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lockfile-deps-graph-converter.d.ts +10 -4
- package/dist/lockfile-deps-graph-converter.js +97 -19
- package/dist/lockfile-deps-graph-converter.js.map +1 -1
- package/dist/lockfile-deps-graph-converter.spec.js +45 -21
- package/dist/lockfile-deps-graph-converter.spec.js.map +1 -1
- package/dist/lynx.d.ts +17 -0
- package/dist/lynx.js +32 -1
- package/dist/lynx.js.map +1 -1
- package/dist/pnpm.package-manager.d.ts +9 -3
- package/dist/pnpm.package-manager.js +34 -10
- package/dist/pnpm.package-manager.js.map +1 -1
- package/dist/{preview-1742267959340.js → preview-1742380734552.js} +2 -2
- package/package.json +12 -11
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
|
|
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
|
-
|
|
6
|
-
export declare function
|
|
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:
|
|
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 (
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
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
|
|
219
|
-
|
|
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(
|
|
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":";;;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAG,GAAA;EAAA,MAAAH,IAAA,GAAAI,uBAAA,CAAAF,OAAA;EAAAC,EAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,wBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,uBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,yBAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,wBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,SAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAS,UAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,SAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,eAAA;EAAA,MAAAV,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAQ,cAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAnB,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAAA,SAAAmB,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,IAAA6B,eAAA,CAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAA+B,gBAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAgC,cAAA,CAAAhC,CAAA,MAAAF,CAAA,GAAAW,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,IAAAiC,KAAA,EAAAhC,CAAA,EAAAqB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAArC,CAAA,CAAAE,CAAA,IAAAC,CAAA,EAAAH,CAAA;AAAA,SAAAkC,eAAA/B,CAAA,QAAAc,CAAA,GAAAqB,YAAA,CAAAnC,CAAA,uCAAAc,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqB,aAAAnC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAoC,MAAA,CAAAC,WAAA,kBAAAxC,CAAA,QAAAiB,CAAA,GAAAjB,CAAA,CAAAgB,IAAA,CAAAb,CAAA,EAAAD,CAAA,uCAAAe,CAAA,SAAAA,CAAA,YAAAwB,SAAA,yEAAAvC,CAAA,GAAAwC,MAAA,GAAAC,MAAA,EAAAxC,CAAA;AAG3C,SAASyC,iCAAiCA,CACxCC,QAAyB,EACzB;EACEC,oBAAoB;EACpBC;AAC2E,CAAC,EAC3D;EACnB,MAAMC,iBAAiB,GAAGH,QAAQ,CAACI,SAAS,CAAEH,oBAAoB,CAAC;EACnE,MAAMI,kBAAyC,GAAG,EAAE;EACpD,KAAK,MAAMC,OAAO,IAAI,CAAC,cAAc,EAAW,sBAAsB,EAAW,iBAAiB,CAAU,EAAE;IAC5G,IAAIH,iBAAiB,CAACG,OAAO,CAAC,IAAI,IAAI,EAAE;MACtC,MAAMC,SAAS,GAAGD,OAAO,KAAK,iBAAiB,GAAG,KAAK,GAAG,SAAS;MACnE,MAAME,QAAQ,GAAGF,OAAO,KAAK,sBAAsB;MACnDD,kBAAkB,CAACzB,IAAI,CAAC,GAAG6B,wBAAwB,CAACN,iBAAiB,CAACG,OAAO,CAAC,EAAGC,SAAS,EAAEC,QAAQ,CAAC,CAAC;IACxG;EACF;EACA,OAAOE,uBAAuB,CAACV,QAAQ,EAAE;IAAEE,oBAAoB;IAAEG;EAAmB,CAAC,CAAC;AACxF;AAEA,SAASI,wBAAwBA,CAC/BE,oBAA0D,EAC1DJ,SAA4B,EAC5BC,QAAiB,EACM;EACvB,MAAMI,UAAiC,GAAG,EAAE;EAC5C,KAAK,MAAM,CAACC,IAAI,EAAE;IAAEC,OAAO;IAAEC;EAAU,CAAC,CAAC,IAAIjD,MAAM,CAACkD,OAAO,CAACL,oBAAoB,CAAC,EAAS;IACxF,MAAMM,EAAE,GAAGvE,EAAE,CAAD,CAAC,CAACwE,aAAa,CAACJ,OAAO,EAAED,IAAI,CAAE;IAC3CD,UAAU,CAAChC,IAAI,CAAC;MAAEiC,IAAI;MAAEE,SAAS;MAAEE,EAAE;MAAEV,SAAS;MAAEC;IAAS,CAAC,CAAC;EAC/D;EACA,OAAOI,UAAU;AACnB;AAEO,SAASO,sBAAsBA,CACpCnB,QAAyB,EACzB;EAAEoB,OAAO;EAAEC,gBAAgB;EAAEpB,oBAAoB;EAAEC;AAA4D,CAAC,EAC7F;EACnB,IAAImB,gBAAgB,IAAI,IAAI,IAAID,OAAO,IAAI,IAAI,EAAE;IAC/C,OAAOrB,iCAAiC,CAACC,QAAQ,EAAE;MAAEC,oBAAoB;MAAEC;IAAqB,CAAC,CAAC;EACpG;EACA,MAAMoB,oBAAoB,GAAGtB,QAAQ,CAACI,SAAS,CAAEH,oBAAoB,CAAC;EACtE,MAAMI,kBAAyC,GAAG,EAAE;EACpD,IAAIiB,oBAAoB,CAACC,eAAe,IAAI,IAAI,EAAE;IAChDlB,kBAAkB,CAACzB,IAAI,CAAC,GAAG6B,wBAAwB,CAACa,oBAAoB,CAACC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;EAC1G;EACA,MAAMC,SAAS,GACbxB,QAAQ,CAACyB,SAAS,CAAE,GAAGL,OAAO,IAAIpB,QAAQ,CAACI,SAAS,CAAEiB,gBAAgB,CAAC,CAACK,YAAY,CAAEN,OAAO,CAAC,CAACN,OAAO,EAAE,CAAC;EAC3G,KAAK,MAAMR,OAAO,IAAI,CAAC,cAAc,EAAW,sBAAsB,CAAU,EAAE;IAChF,MAAME,QAAQ,GAAGF,OAAO,KAAK,sBAAsB;IACnD,KAAK,MAAM,CAACO,IAAI,EAAEC,OAAO,CAAC,IAAIhD,MAAM,CAACkD,OAAO,CAACQ,SAAS,CAAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;MACtE,MAAMW,EAAE,GAAGvE,EAAE,CAAD,CAAC,CAACwE,aAAa,CAACJ,OAAO,EAAED,IAAI,CAAE;MAC3CR,kBAAkB,CAACzB,IAAI,CAAC;QACtBiC,IAAI;QACJE,SAAS,EAAEO,oBAAoB,CAAChB,OAAO,CAAC,GAAGO,IAAI,CAAC,EAAEE,SAAS,IAAI,GAAG;QAClEE,EAAE;QACFV,SAAS,EAAE,SAAS;QACpBC;MACF,CAAC,CAAC;IACJ;EACF;EACA,OAAOE,uBAAuB,CAACV,QAAQ,EAAE;IAAEE,oBAAoB;IAAEG;EAAmB,CAAC,CAAC;AACxF;AAEA,SAASK,uBAAuBA,CAC9BV,QAAyB,EACzB;EACEE,oBAAoB;EACpBG;AAIF,CAAC,EACkB;EACnB,OAAO,KAAIsB,4BAAiB,EAAC;IAC3BC,KAAK,EAAEC,UAAU,CAAC7B,QAAQ,EAAE;MAAEK,kBAAkB;MAAEH;IAAqB,CAAC,CAAC;IACzE4B,QAAQ,EAAEC,aAAa,CAAC/B,QAAQ,EAAE;MAAEE;IAAqB,CAAC;EAC5D,CAAC,CAAC;AACJ;AAEA,SAAS2B,UAAUA,CACjB7B,QAAyB,EACzB;EACEK,kBAAkB;EAClBH;AAIF,CAAC,EACiB;EAClB,MAAM0B,KAAuB,GAAG,EAAE;EAClC,KAAK,MAAM,CAACI,OAAO,EAAEC,QAAQ,CAAC,IAAInE,MAAM,CAACkD,OAAO,CAAChB,QAAQ,CAACyB,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE;IAC1E,MAAMb,UAAU,GAAGsB,+BAA+B,CAACD,QAAQ,CAAC;IAC5D,MAAME,IAAoB,GAAG;MAC3BlB,EAAE,EAAEe,OAAO;MACXpB;IACF,CAAC;IACD,MAAMwB,KAAK,GAAG1F,EAAE,CAAD,CAAC,CAAC2F,YAAY,CAACL,OAAO,CAAC;IACtC,IAAII,KAAK,KAAKJ,OAAO,EAAE;MACrBG,IAAI,CAACG,IAAI,GAAG;QAAEF;MAAM,CAAC;IACvB;IACA,IAAIH,QAAQ,CAACM,0BAA0B,EAAE;MACvCJ,IAAI,CAACG,IAAI,GAAAxD,aAAA,CAAAA,aAAA,KACJqD,IAAI,CAACG,IAAI;QACZC,0BAA0B,EAAEN,QAAQ,CAACM;MAA0B,EAChE;IACH;IACA,IAAIJ,IAAI,CAACvB,UAAU,CAAC5B,MAAM,GAAG,CAAC,IAAImD,IAAI,CAAClB,EAAE,KAAKmB,KAAK,EAAE;MACnDR,KAAK,CAAChD,IAAI,CAACuD,IAAI,CAAC;IAClB;EACF;EACAP,KAAK,CAAChD,IAAI,CAAC;IACTqC,EAAE,EAAEU,4BAAiB,CAACa,YAAY;IAClC5B,UAAU,EAAE6B,mBAAmB,CAACvC,oBAAoB,EAAEG,kBAAkB;EAC1E,CAAC,CAAC;EACF,OAAOoC,mBAAmB,CAACvC,oBAAoB,EAAE0B,KAAK,CAAC;AACzD;AAEA,SAASM,+BAA+BA,CAACD,QAAa,EAAyB;EAC7E,MAAMP,YAAmC,GAAG,EAAE;EAE9C,KAAK,MAAM;IAAEgB,YAAY;IAAElC;EAAS,CAAC,IAAI,CACvC;IAAEkC,YAAY,EAAE,cAAc;IAAElC,QAAQ,EAAE;EAAM,CAAC,EACjD;IAAEkC,YAAY,EAAE,sBAAsB;IAAElC,QAAQ,EAAE;EAAK,CAAC,CACzD,EAAE;IACD,KAAK,MAAM,CAACK,IAAI,EAAE8B,GAAG,CAAC,IAAI7E,MAAM,CAACkD,OAAO,CAAEiB,QAAQ,CAACS,YAAY,CAAC,IAAI,CAAC,CAA4B,CAAC,EAAE;MAClG,MAAME,UAAU,GAAGlG,EAAE,CAAD,CAAC,CAACwE,aAAa,CAACyB,GAAG,EAAE9B,IAAI,CAAC;MAC9C,IAAI+B,UAAU,IAAI,IAAI,EAAE;QACtBlB,YAAY,CAAC9C,IAAI,CAAC;UAAEqC,EAAE,EAAE2B,UAAU;UAAEpC;QAAS,CAAC,CAAC;MACjD;IACF;EACF;EAEA,OAAOkB,YAAY;AACrB;AAEA,SAASK,aAAaA,CACpB/B,QAAyB,EACzB;EAAEE;AAAqE,CAAC,EAC3D;EACb,MAAM4B,QAAqB,GAAG,IAAIe,GAAG,CAAC,CAAC;EACvC,KAAK,MAAM,CAACT,KAAK,EAAEU,GAAG,CAAC,IAAIhF,MAAM,CAACkD,OAAO,CAAChB,QAAQ,CAAC8B,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;IAClE,MAAMiB,QAAQ,GAAG,IAAAC,cAAI,EAACF,GAAG,EAAE,CACzB,qBAAqB,EACrB,KAAK,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACN,IAAI,EACJ,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,SAAS,CACV,CAAQ;IACT,IAAIC,QAAQ,CAACE,UAAU,CAACC,IAAI,KAAK,WAAW,EAAE;MAC5C,OAAOH,QAAQ,CAACE,UAAU;IAC5B;IACA,MAAME,MAAM,GAAGzG,EAAE,CAAD,CAAC,CAAC0G,KAAK,CAAChB,KAAK,CAAC;IAC9B,IAAIe,MAAM,CAACtC,IAAI,IAAIX,oBAAoB,CAACzC,GAAG,CAAC0F,MAAM,CAACtC,IAAI,CAAC,EAAE;MACxD,MAAMwC,MAAM,GAAGnD,oBAAoB,CAACxC,GAAG,CAACyF,MAAM,CAACtC,IAAI,CAAE;MACrDkC,QAAQ,CAACO,SAAS,GAAG;QACnBzC,IAAI,EAAEwC,MAAM,CAACE,QAAQ;QACrBC,KAAK,EAAEH,MAAM,CAACG;MAChB,CAAC;IACH;IACA,IAAIxD,QAAQ,CAACyD,GAAG,EAAEC,kBAAkB,EAAEC,QAAQ,CAACvB,KAAK,CAAC,EAAE;MACrDW,QAAQ,CAACa,aAAa,GAAG,IAAI;IAC/B;IACA9B,QAAQ,CAACzD,GAAG,CAAC+D,KAAK,EAAEW,QAAQ,CAAC;EAC/B;EACA,OAAO,IAAIF,GAAG,CAACJ,mBAAmB,CAACvC,oBAAoB,EAAE2D,KAAK,CAACC,IAAI,CAAChC,QAAQ,CAACd,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F;AAEA,SAASyB,mBAAmBA,CAAIvC,oBAA0C,EAAE6D,GAAM,EAAK;EACrF,IAAIC,CAAC,GAAGC,IAAI,CAACC,SAAS,CAACH,GAAG,CAAC;EAC3B,KAAK,MAAM,CAAC3C,OAAO,EAAE+C,WAAW,CAAC,IAAIjE,oBAAoB,CAACc,OAAO,CAAC,CAAC,EAAE;IACnEgD,CAAC,GAAGA,CAAC,CAACI,UAAU,CAAC,IAAIC,MAAM,CAAC,GAAGjD,OAAO,eAAe,EAAE,GAAG,CAAC,EAAE,GAAGA,OAAO,IAAI,IAAAkD,uCAAY,EAACH,WAAW,CAACrD,OAAO,CAAC,EAAE,CAAC;EACjH;EACA,OAAOmD,IAAI,CAACb,KAAK,CAACY,CAAC,CAAC;AACtB;AAEO,eAAeO,sBAAsBA,CAC1CC,MAAyB,EACzB;EACEC,SAAS;EACTC,OAAO;EACPC,OAAO;EACPC;AAMF,CAAC,EACyB;EAC1B,MAAMC,WAAW,GAAGL,MAAM,CAACM,SAAS,CAAC,CAAC;EACtC,MAAMC,KAAK,GAAGpD,4BAAiB,CAACqD,WAAW,CAACH,WAAW,CAAE;EACzD,MAAM/C,QAAQ,GAAG,CAAC,CAAC;EACnB,MAAML,SAAS,GAAG,CAAC,CAAC;EACpB,MAAMwD,UAAU,GAAG,IAAIC,GAAG,CAACH,KAAK,CAACnD,KAAK,CAACuD,GAAG,CAAC,CAAC;IAAElE;EAAG,CAAC,KAAKA,EAAE,CAAC,CAAC;EAE3D,KAAK,MAAMkB,IAAI,IAAI4C,KAAK,CAACnD,KAAK,EAAE;IAC9B,IAAIO,IAAI,CAAClB,EAAE,KAAKU,4BAAiB,CAACa,YAAY,EAAE;IAChD,MAAMJ,KAAK,GAAGD,IAAI,CAACG,IAAI,EAAEF,KAAK,IAAID,IAAI,CAAClB,EAAE;IACzCQ,SAAS,CAACU,IAAI,CAAClB,EAAE,CAAC,GAAG,CAAC,CAAC;IACvBa,QAAQ,CAACM,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAACgD,YAAY,EAAEC,QAAQ,CAAC,GAAG,IAAAC,mBAAS,EAACnD,IAAI,CAACvB,UAAU,EAAG2E,GAAG,IAAKA,GAAG,CAAC/E,QAAQ,CAAC;IAClF,IAAI6E,QAAQ,CAACrG,MAAM,EAAE;MACnByC,SAAS,CAACU,IAAI,CAAClB,EAAE,CAAC,CAACS,YAAY,GAAG8D,aAAa,CAACH,QAAQ,CAAC;IAC3D;IACA,IAAID,YAAY,CAACpG,MAAM,EAAE;MACvByC,SAAS,CAACU,IAAI,CAAClB,EAAE,CAAC,CAACwE,oBAAoB,GAAGD,aAAa,CAACJ,YAAY,CAAC;IACvE;IACA,MAAMrC,QAAQ,GAAGgC,KAAK,CAACjD,QAAQ,CAACpE,GAAG,CAAC0E,KAAK,CAAC;IAC1C,IAAIW,QAAQ,IAAI,IAAI,EAAE;MACpBjF,MAAM,CAAC4H,MAAM,CAAC5D,QAAQ,CAACM,KAAK,CAAC,EAAEuD,oCAAoC,CAAC5C,QAAQ,CAAC,CAAC;IAChF;EACF;EACA,MAAMW,kBAA4B,GAAG,EAAE;EACvC,KAAK,MAAM,CAACtB,KAAK,EAAE;IAAEwB;EAAc,CAAC,CAAC,IAAImB,KAAK,CAACjD,QAAQ,CAACd,OAAO,CAAC,CAAC,EAAE;IACjE,IAAI4C,aAAa,EAAE;MACjBF,kBAAkB,CAAC9E,IAAI,CAACwD,KAAK,CAAC;IAChC;EACF;EACAsB,kBAAkB,CAACkC,IAAI,CAAC,CAAC;EACzB,MAAM5F,QAAuE,GAAG;IAC9E6F,eAAe,EAAE,KAAK;IACtB/D,QAAQ;IACRL,SAAS;IACTrB,SAAS,EAAE,CAAC,CAAC;IACbqD,GAAG,EAAE;MAAEC;IAAmB;EAC5B,CAAC;EACD,MAAMoC,QAAQ,GAAGf,KAAK,CAACgB,YAAY,CAAC,CAAC;EACrC,IAAID,QAAQ,EAAE;IACZ,KAAK,MAAM,CAACE,UAAU,EAAEC,QAAQ,CAAC,IAAInI,MAAM,CAACkD,OAAO,CAACyD,SAAS,CAAC,EAAE;MAC9D,MAAMyB,SAAS,GAAG,IAAAC,iCAAqB,EAACzB,OAAO,EAAEsB,UAAU,CAAC;MAC5DhG,QAAQ,CAACI,SAAS,CAAE8F,SAAS,CAAC,GAAG;QAC/BxE,YAAY,EAAE,CAAC,CAAC;QAChBH,eAAe,EAAE,CAAC,CAAC;QACnBkE,oBAAoB,EAAE,CAAC;MACzB,CAAC;MACD,KAAK,MAAMnF,OAAO,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,CAAC,EAAE;QACjF,KAAK,MAAM,CAACO,IAAI,EAAEE,SAAS,CAAC,IAAIjD,MAAM,CAACkD,OAAO,CAACiF,QAAQ,CAAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAA6B;UAClG,IAAIS,SAAS,CAACqF,UAAU,CAAC,OAAO,CAAC,EAAE;YACjC,MAAMtF,OAAO,GAAG,QAAQ,IAAAuF,wBAAa,EAACC,eAAI,CAACC,QAAQ,CAACP,UAAU,EAAEjF,SAAS,CAACyF,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1FxG,QAAQ,CAACI,SAAS,CAAE8F,SAAS,CAAC,CAAC5F,OAAO,CAAC,CAACO,IAAI,CAAC,GAAG;cAAEC,OAAO;cAAEC;YAAU,CAAC;UACxE,CAAC,MAAM;YACL,MAAM0F,MAAM,GAAGX,QAAQ,CAAClF,UAAU,CAAC8F,IAAI,CACpCC,SAAS,IACRA,SAAS,CAAC9F,IAAI,KAAKA,IAAI,KACtB8F,SAAS,CAAC5F,SAAS,KAAKA,SAAS,IAAIrE,EAAE,CAAD,CAAC,CAAC2F,YAAY,CAACsE,SAAS,CAAC1F,EAAE,CAAC,KAAK,GAAGJ,IAAI,IAAIE,SAAS,EAAE,CAClG,CAAC,EAAEE,EAAE;YACL,IAAIwF,MAAM,EAAE;cACV,MAAMtD,MAAM,GAAGzG,EAAE,CAAD,CAAC,CAAC0G,KAAK,CAACqD,MAAM,CAAC;cAC/B,MAAM9D,GAAG,GAAGiE,YAAY,CAACzD,MAAM,CAAC;cAChCnD,QAAQ,CAACI,SAAS,CAAE8F,SAAS,CAAC,CAAC5F,OAAO,CAAC,CAACO,IAAI,CAAC,GAAG;gBAAEC,OAAO,EAAE6B,GAAG;gBAAE5B;cAAU,CAAC;YAC7E;UACF;QACF;MACF;IACF;EACF;EACA,MAAM8F,aAAsE,GAAG,EAAE;EACjF,MAAMC,mBAAmB,GAAG,IAAI5B,GAAG,CAACpH,MAAM,CAACiJ,MAAM,CAACtC,SAAS,CAAC,CAACU,GAAG,CAAC,CAAC;IAAEtE;EAAK,CAAC,KAAKA,IAAI,CAAC,CAAC;EACrF,KAAK,MAAM,CAACuB,KAAK,EAAEU,GAAG,CAAC,IAAIhF,MAAM,CAACkD,OAAO,CAAChB,QAAQ,CAAC8B,QAAQ,CAAC,EAAE;IAC5D,IAAIgB,GAAG,CAACG,UAAU,IAAI,IAAI,IAAI,MAAM,IAAIH,GAAG,CAACG,UAAU,IAAIH,GAAG,CAACG,UAAU,CAACC,IAAI,KAAK,WAAW,EAAE;MAC7F,MAAMC,MAAM,GAAGzG,EAAE,CAAD,CAAC,CAAC0G,KAAK,CAAChB,KAAK,CAAC;MAC9B,IAAIe,MAAM,CAACtC,IAAI,IAAIsC,MAAM,CAACrC,OAAO,IAAI,CAACgG,mBAAmB,CAACrJ,GAAG,CAAC0F,MAAM,CAACtC,IAAI,CAAC,EAAE;QAC1EgG,aAAa,CAACjI,IAAI,CAAC;UACjBiC,IAAI,EAAEsC,MAAM,CAACtC,IAAI;UACjBC,OAAO,EAAEqC,MAAM,CAACrC,OAAO;UACvBsB;QACF,CAAC,CAAC;MACJ;IACF;EACF;EACA,MAAM4E,OAAO,CAACC,GAAG,CAACJ,aAAa,CAAC1B,GAAG,CAAC,MAAO+B,YAAY,IAAK;IAC1D,IAAIlH,QAAQ,CAAC8B,QAAQ,CAACoF,YAAY,CAAC9E,KAAK,CAAC,CAACa,UAAU,IAAI,IAAI,EAAE;MAC5D,MAAM;QAAEA;MAAW,CAAC,GAAG,MAAM0B,OAAO,CAAC;QACnCwC,KAAK,EAAED,YAAY,CAACrG,IAAI;QACxBuG,IAAI,EAAEF,YAAY,CAACpG;MACrB,CAAC,EAAE;QACDuG,WAAW,EAAE,EAAE;QACfrB,UAAU,EAAE,EAAE;QACdsB,QAAQ,EAAE,IAAAC,gDAAsB,EAAC3C,UAAU,EAAEsC,YAAY,CAACrG,IAAI,CAAC;QAC/D2G,iBAAiB,EAAE,CAAC;MACtB,CAAC,CAAC;MACF,IAAI,WAAW,IAAIvE,UAAU,IAAIA,UAAU,CAACwE,SAAS,EAAE;QACrDzH,QAAQ,CAAC8B,QAAQ,CAACoF,YAAY,CAAC9E,KAAK,CAAC,CAACa,UAAU,GAAG;UACjDwE,SAAS,EAAExE,UAAU,CAACwE;QACxB,CAAC;MACH;IACF;EACF,CAAC,CAAC,CAAC;EACH,OAAOzH,QAAQ;EAEf,SAASwF,aAAaA,CAAC5E,UAAiC,EAAE;IACxD,MAAM8G,IAAI,GAAG,CAAC,CAAC;IACf,KAAK,MAAM;MAAEzG;IAAG,CAAC,IAAIL,UAAU,EAAE;MAC/B,MAAMuC,MAAM,GAAGzG,EAAE,CAAD,CAAC,CAAC0G,KAAK,CAACnC,EAAE,CAAC;MAC3ByG,IAAI,CAACvE,MAAM,CAACtC,IAAI,CAAE,GAAG+F,YAAY,CAACzD,MAAM,CAAC;MACzC,IAAI,CAAC8B,UAAU,CAACxH,GAAG,CAACwD,EAAE,CAAC,EAAE;QACvBQ,SAAS,CAACR,EAAE,CAAC,GAAG,CAAC,CAAC;QAClBa,QAAQ,CAACb,EAAE,CAAC,GAAG0E,oCAAoC,CAACZ,KAAK,CAACjD,QAAQ,CAACpE,GAAG,CAACuD,EAAE,CAAE,CAAC;MAC9E;IACF;IACA,OAAOyG,IAAI;EACb;AACF;AAEA,SAASd,YAAYA,CAAC5E,OAA0B,EAAU;EACxD,OAAO,GAAGA,OAAO,CAAClB,OAAO,GAAGkB,OAAO,CAAC2F,SAAS,IAAI,EAAE,GAAG3F,OAAO,CAAC4F,WAAW,IAAI,EAAE,EAAE;AACnF;AAEA,SAASjC,oCAAoCA,CAACkC,OAA0B,EAAE;EACxE,OAAO,IAAA7E,cAAI,EAAC6E,OAAO,EAAE,CACnB,qBAAqB,EACrB,KAAK,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACN,IAAI,EACJ,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,SAAS,CACV,CAAC;AACJ","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: '
|
|
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@
|
|
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@
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
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
|
-
}
|
|
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@
|
|
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@
|
|
315
|
+
'comp1@1.0.0': {
|
|
291
316
|
resolution: {
|
|
292
|
-
|
|
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 {};
|