@pnpm/reviewing.dependencies-hierarchy 1001.3.1 → 1001.3.3
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/lib/getPkgInfo.js +7 -5
- package/lib/getPkgInfo.js.map +1 -1
- package/package.json +8 -8
- package/lib/PackageNode.d.ts +0 -22
- package/lib/PackageNode.js +0 -3
- package/lib/PackageNode.js.map +0 -1
- package/lib/buildDependenciesHierarchy.d.ts +0 -25
- package/lib/buildDependenciesHierarchy.js +0 -262
- package/lib/buildDependenciesHierarchy.js.map +0 -1
package/lib/getPkgInfo.js
CHANGED
|
@@ -44,12 +44,14 @@ function getPkgInfo(opts) {
|
|
|
44
44
|
isMissing = true;
|
|
45
45
|
isSkipped = opts.skipped.has(depPath);
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
if (pkgSnapshot) {
|
|
48
|
+
resolved = (0, lockfile_utils_1.pkgSnapshotToResolution)(depPath, pkgSnapshot, opts.registries).tarball;
|
|
49
|
+
optional = pkgSnapshot.optional;
|
|
50
|
+
if ('integrity' in pkgSnapshot.resolution) {
|
|
51
|
+
integrity = pkgSnapshot.resolution.integrity;
|
|
52
|
+
}
|
|
52
53
|
}
|
|
54
|
+
depType = opts.depTypes[depPath];
|
|
53
55
|
}
|
|
54
56
|
else {
|
|
55
57
|
name = opts.alias;
|
package/lib/getPkgInfo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPkgInfo.js","sourceRoot":"","sources":["../src/getPkgInfo.ts"],"names":[],"mappings":";;;;;AA2DA,
|
|
1
|
+
{"version":3,"file":"getPkgInfo.js","sourceRoot":"","sources":["../src/getPkgInfo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/reviewing.dependencies-hierarchy",
|
|
3
|
-
"version": "1001.3.
|
|
3
|
+
"version": "1001.3.3",
|
|
4
4
|
"description": "Creates a dependencies hierarchy for a symlinked `node_modules`",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pnpm",
|
|
@@ -34,23 +34,23 @@
|
|
|
34
34
|
"resolve-link-target": "^2.0.0",
|
|
35
35
|
"semver": "^7.7.1",
|
|
36
36
|
"@pnpm/lockfile.detect-dep-types": "1001.0.25",
|
|
37
|
-
"@pnpm/
|
|
37
|
+
"@pnpm/dependency-path": "1001.1.10",
|
|
38
|
+
"@pnpm/lockfile.fs": "1001.1.31",
|
|
38
39
|
"@pnpm/lockfile.utils": "1004.0.2",
|
|
39
40
|
"@pnpm/matcher": "1000.1.0",
|
|
40
|
-
"@pnpm/normalize-registries": "1000.1.9",
|
|
41
41
|
"@pnpm/modules-yaml": "1002.0.1",
|
|
42
|
+
"@pnpm/normalize-registries": "1000.1.9",
|
|
42
43
|
"@pnpm/read-package-json": "1000.1.7",
|
|
43
|
-
"@pnpm/dependency-path": "1001.1.10",
|
|
44
44
|
"@pnpm/read-modules-dir": "1000.0.0",
|
|
45
|
-
"@pnpm/
|
|
46
|
-
"@pnpm/
|
|
45
|
+
"@pnpm/types": "1001.3.0",
|
|
46
|
+
"@pnpm/store.cafs": "1000.1.4"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/normalize-path": "^3.0.2",
|
|
50
50
|
"@types/semver": "7.5.3",
|
|
51
51
|
"@pnpm/constants": "1001.3.1",
|
|
52
|
-
"@pnpm/
|
|
53
|
-
"@pnpm/
|
|
52
|
+
"@pnpm/reviewing.dependencies-hierarchy": "1001.3.3",
|
|
53
|
+
"@pnpm/test-fixtures": "1000.0.0"
|
|
54
54
|
},
|
|
55
55
|
"engines": {
|
|
56
56
|
"node": ">=18.12"
|
package/lib/PackageNode.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export interface PackageNode {
|
|
2
|
-
alias: string;
|
|
3
|
-
circular?: true;
|
|
4
|
-
deduped?: true;
|
|
5
|
-
/**
|
|
6
|
-
* When `deduped` is true, the number of transitive dependencies that were
|
|
7
|
-
* elided because this subtree was already expanded elsewhere in the tree.
|
|
8
|
-
*/
|
|
9
|
-
dedupedDependenciesCount?: number;
|
|
10
|
-
dependencies?: PackageNode[];
|
|
11
|
-
dev?: boolean;
|
|
12
|
-
isPeer: boolean;
|
|
13
|
-
isSkipped: boolean;
|
|
14
|
-
isMissing: boolean;
|
|
15
|
-
name: string;
|
|
16
|
-
optional?: true;
|
|
17
|
-
path: string;
|
|
18
|
-
resolved?: string;
|
|
19
|
-
searched?: true;
|
|
20
|
-
version: string;
|
|
21
|
-
searchMessage?: string;
|
|
22
|
-
}
|
package/lib/PackageNode.js
DELETED
package/lib/PackageNode.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PackageNode.js","sourceRoot":"","sources":["../src/PackageNode.ts"],"names":[],"mappings":""}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { type DependenciesField, type Finder, type Registries } from '@pnpm/types';
|
|
2
|
-
import { type PackageNode } from './PackageNode.js';
|
|
3
|
-
export interface DependenciesHierarchy {
|
|
4
|
-
dependencies?: PackageNode[];
|
|
5
|
-
devDependencies?: PackageNode[];
|
|
6
|
-
optionalDependencies?: PackageNode[];
|
|
7
|
-
unsavedDependencies?: PackageNode[];
|
|
8
|
-
}
|
|
9
|
-
export declare function buildDependenciesHierarchy(projectPaths: string[] | undefined, maybeOpts: {
|
|
10
|
-
depth: number;
|
|
11
|
-
excludePeerDependencies?: boolean;
|
|
12
|
-
include?: {
|
|
13
|
-
[dependenciesField in DependenciesField]: boolean;
|
|
14
|
-
};
|
|
15
|
-
registries?: Registries;
|
|
16
|
-
onlyProjects?: boolean;
|
|
17
|
-
search?: Finder;
|
|
18
|
-
showDedupedSearchMatches?: boolean;
|
|
19
|
-
lockfileDir: string;
|
|
20
|
-
checkWantedLockfileOnly?: boolean;
|
|
21
|
-
modulesDir?: string;
|
|
22
|
-
virtualStoreDirMaxLength: number;
|
|
23
|
-
}): Promise<{
|
|
24
|
-
[projectDir: string]: DependenciesHierarchy;
|
|
25
|
-
}>;
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.buildDependenciesHierarchy = buildDependenciesHierarchy;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const lockfile_fs_1 = require("@pnpm/lockfile.fs");
|
|
9
|
-
const lockfile_detect_dep_types_1 = require("@pnpm/lockfile.detect-dep-types");
|
|
10
|
-
const modules_yaml_1 = require("@pnpm/modules-yaml");
|
|
11
|
-
const normalize_registries_1 = require("@pnpm/normalize-registries");
|
|
12
|
-
const read_modules_dir_1 = require("@pnpm/read-modules-dir");
|
|
13
|
-
const read_package_json_1 = require("@pnpm/read-package-json");
|
|
14
|
-
const types_1 = require("@pnpm/types");
|
|
15
|
-
const normalize_path_1 = __importDefault(require("normalize-path"));
|
|
16
|
-
const realpath_missing_1 = __importDefault(require("realpath-missing"));
|
|
17
|
-
const resolve_link_target_1 = __importDefault(require("resolve-link-target"));
|
|
18
|
-
const buildDependencyGraph_js_1 = require("./buildDependencyGraph.js");
|
|
19
|
-
const getTree_js_1 = require("./getTree.js");
|
|
20
|
-
const getTreeNodeChildId_js_1 = require("./getTreeNodeChildId.js");
|
|
21
|
-
const getPkgInfo_js_1 = require("./getPkgInfo.js");
|
|
22
|
-
async function buildDependenciesHierarchy(projectPaths, maybeOpts) {
|
|
23
|
-
if (!maybeOpts?.lockfileDir) {
|
|
24
|
-
throw new TypeError('opts.lockfileDir is required');
|
|
25
|
-
}
|
|
26
|
-
const modulesDir = await (0, realpath_missing_1.default)(path_1.default.join(maybeOpts.lockfileDir, maybeOpts.modulesDir ?? 'node_modules'));
|
|
27
|
-
const modules = await (0, modules_yaml_1.readModulesManifest)(modulesDir);
|
|
28
|
-
const registries = (0, normalize_registries_1.normalizeRegistries)({
|
|
29
|
-
...maybeOpts?.registries,
|
|
30
|
-
...modules?.registries,
|
|
31
|
-
});
|
|
32
|
-
const internalPnpmDir = path_1.default.join(modulesDir, '.pnpm');
|
|
33
|
-
const currentLockfile = await (0, lockfile_fs_1.readCurrentLockfile)(internalPnpmDir, { ignoreIncompatible: false });
|
|
34
|
-
const wantedLockfile = await (0, lockfile_fs_1.readWantedLockfile)(maybeOpts.lockfileDir, { ignoreIncompatible: false });
|
|
35
|
-
if (projectPaths == null) {
|
|
36
|
-
projectPaths = Object.keys(wantedLockfile?.importers ?? {})
|
|
37
|
-
.map((id) => path_1.default.join(maybeOpts.lockfileDir, id));
|
|
38
|
-
}
|
|
39
|
-
const result = {};
|
|
40
|
-
const lockfileToUse = maybeOpts.checkWantedLockfileOnly ? wantedLockfile : currentLockfile;
|
|
41
|
-
if (!lockfileToUse) {
|
|
42
|
-
for (const projectPath of projectPaths) {
|
|
43
|
-
result[projectPath] = {};
|
|
44
|
-
}
|
|
45
|
-
return result;
|
|
46
|
-
}
|
|
47
|
-
const opts = {
|
|
48
|
-
depth: maybeOpts.depth || 0,
|
|
49
|
-
excludePeerDependencies: maybeOpts.excludePeerDependencies,
|
|
50
|
-
include: maybeOpts.include ?? {
|
|
51
|
-
dependencies: true,
|
|
52
|
-
devDependencies: true,
|
|
53
|
-
optionalDependencies: true,
|
|
54
|
-
},
|
|
55
|
-
lockfileDir: maybeOpts.lockfileDir,
|
|
56
|
-
checkWantedLockfileOnly: maybeOpts.checkWantedLockfileOnly,
|
|
57
|
-
onlyProjects: maybeOpts.onlyProjects,
|
|
58
|
-
registries,
|
|
59
|
-
search: maybeOpts.search,
|
|
60
|
-
showDedupedSearchMatches: maybeOpts.showDedupedSearchMatches ?? (maybeOpts.search != null),
|
|
61
|
-
skipped: new Set(modules?.skipped ?? []),
|
|
62
|
-
modulesDir,
|
|
63
|
-
virtualStoreDir: modules?.virtualStoreDir,
|
|
64
|
-
virtualStoreDirMaxLength: modules?.virtualStoreDirMaxLength ?? maybeOpts.virtualStoreDirMaxLength,
|
|
65
|
-
};
|
|
66
|
-
// Build the dependency graph ONCE for all importers and share a single
|
|
67
|
-
// MaterializationCache so that identical subtrees are only materialized once.
|
|
68
|
-
const allRootIds = [];
|
|
69
|
-
for (const projectPath of projectPaths) {
|
|
70
|
-
const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, projectPath);
|
|
71
|
-
if (lockfileToUse.importers[importerId]) {
|
|
72
|
-
allRootIds.push({ type: 'importer', importerId });
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
const sharedGraph = (0, buildDependencyGraph_js_1.buildDependencyGraph)(allRootIds, {
|
|
76
|
-
currentPackages: lockfileToUse.packages ?? {},
|
|
77
|
-
importers: lockfileToUse.importers,
|
|
78
|
-
include: opts.include,
|
|
79
|
-
lockfileDir: opts.lockfileDir,
|
|
80
|
-
});
|
|
81
|
-
const sharedMaterializationCache = new Map();
|
|
82
|
-
const sharedDepTypes = (0, lockfile_detect_dep_types_1.detectDepTypes)(lockfileToUse);
|
|
83
|
-
const ctx = {
|
|
84
|
-
currentLockfile: lockfileToUse,
|
|
85
|
-
wantedLockfile,
|
|
86
|
-
...opts,
|
|
87
|
-
graph: sharedGraph,
|
|
88
|
-
materializationCache: sharedMaterializationCache,
|
|
89
|
-
depTypes: sharedDepTypes,
|
|
90
|
-
};
|
|
91
|
-
const getHierarchy = dependenciesHierarchyForPackage.bind(null, ctx);
|
|
92
|
-
const pairs = await Promise.all(projectPaths.map(async (projectPath) => {
|
|
93
|
-
return [
|
|
94
|
-
projectPath,
|
|
95
|
-
await getHierarchy(projectPath),
|
|
96
|
-
];
|
|
97
|
-
}));
|
|
98
|
-
for (const [projectPath, dependenciesHierarchy] of pairs) {
|
|
99
|
-
result[projectPath] = dependenciesHierarchy;
|
|
100
|
-
}
|
|
101
|
-
return result;
|
|
102
|
-
}
|
|
103
|
-
async function dependenciesHierarchyForPackage(opts, projectPath) {
|
|
104
|
-
const { currentLockfile, wantedLockfile, graph, materializationCache, depTypes } = opts;
|
|
105
|
-
const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, projectPath);
|
|
106
|
-
if (!currentLockfile.importers[importerId])
|
|
107
|
-
return {};
|
|
108
|
-
const modulesDir = opts.modulesDir && path_1.default.isAbsolute(opts.modulesDir)
|
|
109
|
-
? opts.modulesDir
|
|
110
|
-
: path_1.default.join(projectPath, opts.modulesDir ?? 'node_modules');
|
|
111
|
-
const savedDeps = getAllDirectDependencies(currentLockfile.importers[importerId]);
|
|
112
|
-
// When searching, unsaved deps are irrelevant — they aren't in the lockfile
|
|
113
|
-
// graph and can't have dependency subtrees showing paths to the search target.
|
|
114
|
-
const unsavedDeps = opts.search
|
|
115
|
-
? []
|
|
116
|
-
: ((await (0, read_modules_dir_1.readModulesDir)(modulesDir)) ?? []).filter((directDep) => !savedDeps[directDep]);
|
|
117
|
-
const currentPackages = currentLockfile.packages ?? {};
|
|
118
|
-
const wantedPackages = wantedLockfile?.packages ?? {};
|
|
119
|
-
const getTreeOpts = {
|
|
120
|
-
...opts,
|
|
121
|
-
currentPackages,
|
|
122
|
-
importers: currentLockfile.importers,
|
|
123
|
-
rewriteLinkVersionDir: projectPath,
|
|
124
|
-
maxDepth: opts.depth,
|
|
125
|
-
wantedPackages,
|
|
126
|
-
modulesDir,
|
|
127
|
-
};
|
|
128
|
-
const parentId = { type: 'importer', importerId };
|
|
129
|
-
const getChildrenTree = (nodeId, parentDir) => (0, getTree_js_1.getTree)({ ...getTreeOpts, parentDir, graph, materializationCache }, nodeId);
|
|
130
|
-
const result = {};
|
|
131
|
-
for (const dependenciesField of types_1.DEPENDENCIES_FIELDS.sort().filter(dependenciesField => opts.include[dependenciesField])) {
|
|
132
|
-
const topDeps = currentLockfile.importers[importerId][dependenciesField] ?? {};
|
|
133
|
-
result[dependenciesField] = [];
|
|
134
|
-
for (const alias in topDeps) {
|
|
135
|
-
const ref = topDeps[alias];
|
|
136
|
-
const { pkgInfo: packageInfo, readManifest } = (0, getPkgInfo_js_1.getPkgInfo)({
|
|
137
|
-
alias,
|
|
138
|
-
currentPackages: currentLockfile.packages ?? {},
|
|
139
|
-
depTypes,
|
|
140
|
-
rewriteLinkVersionDir: projectPath,
|
|
141
|
-
linkedPathBaseDir: projectPath,
|
|
142
|
-
ref,
|
|
143
|
-
registries: opts.registries,
|
|
144
|
-
skipped: opts.skipped,
|
|
145
|
-
wantedPackages: wantedLockfile?.packages ?? {},
|
|
146
|
-
virtualStoreDir: opts.virtualStoreDir,
|
|
147
|
-
virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
|
|
148
|
-
modulesDir,
|
|
149
|
-
});
|
|
150
|
-
let newEntry = null;
|
|
151
|
-
const searchMatch = opts.search?.({
|
|
152
|
-
alias,
|
|
153
|
-
name: packageInfo.name,
|
|
154
|
-
version: packageInfo.version,
|
|
155
|
-
readManifest,
|
|
156
|
-
});
|
|
157
|
-
const nodeId = (0, getTreeNodeChildId_js_1.getTreeNodeChildId)({
|
|
158
|
-
parentId,
|
|
159
|
-
dep: { alias, ref },
|
|
160
|
-
lockfileDir: opts.lockfileDir,
|
|
161
|
-
importers: currentLockfile.importers,
|
|
162
|
-
});
|
|
163
|
-
if (opts.onlyProjects && nodeId?.type !== 'importer') {
|
|
164
|
-
continue;
|
|
165
|
-
}
|
|
166
|
-
let treeResult;
|
|
167
|
-
if (nodeId == null) {
|
|
168
|
-
if ((opts.search != null) && !searchMatch)
|
|
169
|
-
continue;
|
|
170
|
-
newEntry = packageInfo;
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
treeResult = getChildrenTree(nodeId, packageInfo.path);
|
|
174
|
-
if (treeResult.deduped) {
|
|
175
|
-
// This subtree was already materialized for a previous importer.
|
|
176
|
-
const showDeduped = opts.search == null || Boolean(searchMatch) ||
|
|
177
|
-
Boolean(opts.showDedupedSearchMatches && treeResult.hasSearchMatch);
|
|
178
|
-
if (showDeduped) {
|
|
179
|
-
newEntry = packageInfo;
|
|
180
|
-
if (treeResult.count > 0) {
|
|
181
|
-
newEntry.deduped = true;
|
|
182
|
-
newEntry.dedupedDependenciesCount = treeResult.count;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
else if (treeResult.nodes.length > 0) {
|
|
187
|
-
newEntry = {
|
|
188
|
-
...packageInfo,
|
|
189
|
-
dependencies: treeResult.nodes,
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
else if ((opts.search == null) || searchMatch) {
|
|
193
|
-
newEntry = packageInfo;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
if (newEntry != null) {
|
|
197
|
-
if (searchMatch) {
|
|
198
|
-
newEntry.searched = true;
|
|
199
|
-
if (typeof searchMatch === 'string') {
|
|
200
|
-
newEntry.searchMessage = searchMatch;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
else if (newEntry.deduped && opts.showDedupedSearchMatches && treeResult?.hasSearchMatch) {
|
|
204
|
-
newEntry.searched = true;
|
|
205
|
-
if (treeResult.searchMessages.length > 0) {
|
|
206
|
-
newEntry.searchMessage = treeResult.searchMessages.join('\n');
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
result[dependenciesField].push(newEntry);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
if (unsavedDeps.length > 0)
|
|
214
|
-
await Promise.all(unsavedDeps.map(async (unsavedDep) => {
|
|
215
|
-
let pkgPath = path_1.default.join(modulesDir, unsavedDep);
|
|
216
|
-
let version;
|
|
217
|
-
try {
|
|
218
|
-
pkgPath = await (0, resolve_link_target_1.default)(pkgPath);
|
|
219
|
-
version = `link:${(0, normalize_path_1.default)(path_1.default.relative(projectPath, pkgPath))}`;
|
|
220
|
-
}
|
|
221
|
-
catch {
|
|
222
|
-
// if error happened. The package is not a link
|
|
223
|
-
const pkg = await (0, read_package_json_1.safeReadPackageJsonFromDir)(pkgPath);
|
|
224
|
-
version = pkg?.version ?? 'undefined';
|
|
225
|
-
}
|
|
226
|
-
const pkg = {
|
|
227
|
-
alias: unsavedDep,
|
|
228
|
-
isMissing: false,
|
|
229
|
-
isPeer: false,
|
|
230
|
-
isSkipped: false,
|
|
231
|
-
name: unsavedDep,
|
|
232
|
-
path: pkgPath,
|
|
233
|
-
version,
|
|
234
|
-
};
|
|
235
|
-
const searchMatch = opts.search?.({
|
|
236
|
-
alias: pkg.alias,
|
|
237
|
-
name: pkg.name,
|
|
238
|
-
version: pkg.version,
|
|
239
|
-
readManifest: () => (0, read_package_json_1.readPackageJsonFromDirSync)(pkgPath),
|
|
240
|
-
});
|
|
241
|
-
if ((opts.search != null) && !searchMatch)
|
|
242
|
-
return;
|
|
243
|
-
const newEntry = pkg;
|
|
244
|
-
if (searchMatch) {
|
|
245
|
-
newEntry.searched = true;
|
|
246
|
-
if (typeof searchMatch === 'string') {
|
|
247
|
-
newEntry.searchMessage = searchMatch;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
result.unsavedDependencies = result.unsavedDependencies ?? [];
|
|
251
|
-
result.unsavedDependencies.push(newEntry);
|
|
252
|
-
}));
|
|
253
|
-
return result;
|
|
254
|
-
}
|
|
255
|
-
function getAllDirectDependencies(projectSnapshot) {
|
|
256
|
-
return {
|
|
257
|
-
...projectSnapshot.dependencies,
|
|
258
|
-
...projectSnapshot.devDependencies,
|
|
259
|
-
...projectSnapshot.optionalDependencies,
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
//# sourceMappingURL=buildDependenciesHierarchy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildDependenciesHierarchy.js","sourceRoot":"","sources":["../src/buildDependenciesHierarchy.ts"],"names":[],"mappings":"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"}
|