1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | function getProjectNameForProjectAssetsJson(manifestFile) {
|
4 | var _a, _b, _c, _d;
|
5 | return _d = (_c = (_b = (_a = manifestFile) === null || _a === void 0 ? void 0 : _a.project) === null || _b === void 0 ? void 0 : _b.restore) === null || _c === void 0 ? void 0 : _c.projectName, (_d !== null && _d !== void 0 ? _d : {});
|
6 | }
|
7 | function getProjectVersionForProjectAssetsJson(manifestFile) {
|
8 | var _a, _b, _c;
|
9 | return _c = (_b = (_a = manifestFile) === null || _a === void 0 ? void 0 : _a.project) === null || _b === void 0 ? void 0 : _b.version, (_c !== null && _c !== void 0 ? _c : {});
|
10 | }
|
11 | function buildPackageTree(name, version) {
|
12 | const depTree = {
|
13 | dependencies: {},
|
14 | name,
|
15 | version,
|
16 | };
|
17 | return depTree;
|
18 | }
|
19 |
|
20 |
|
21 |
|
22 | function getDependencyTreeFromProjectAssetsJson(manifestFile, targetFrameWork) {
|
23 | var _a, _b, _c, _d, _e, _f, _g, _h;
|
24 | const projectName = getProjectNameForProjectAssetsJson(manifestFile);
|
25 | const projectVersion = getProjectVersionForProjectAssetsJson(manifestFile);
|
26 | const depTree = buildPackageTree(projectName, projectVersion);
|
27 | const topLevelDeps = Object.keys((_c = (_b = (_a = manifestFile) === null || _a === void 0 ? void 0 : _a.targets) === null || _b === void 0 ? void 0 : _b[targetFrameWork], (_c !== null && _c !== void 0 ? _c : {})));
|
28 | for (const topLevelDep of topLevelDeps) {
|
29 | const [topLevelDepName, topLevelDepVersion] = topLevelDep.split('/');
|
30 | const topLevelDepTree = buildPackageTree(topLevelDepName, topLevelDepVersion);
|
31 | const transitiveDeps = (_h = (_g = (_f = (_e = (_d = manifestFile) === null || _d === void 0 ? void 0 : _d.targets) === null || _e === void 0 ? void 0 : _e[targetFrameWork]) === null || _f === void 0 ? void 0 : _f[topLevelDep]) === null || _g === void 0 ? void 0 : _g.dependencies, (_h !== null && _h !== void 0 ? _h : {}));
|
32 | for (const transitiveDep of Object.keys(transitiveDeps)) {
|
33 | const transitiveDepVersion = transitiveDeps[transitiveDep];
|
34 | const transitiveDepTree = buildPackageTree(transitiveDep, transitiveDepVersion);
|
35 | topLevelDepTree.dependencies[transitiveDep] = transitiveDepTree;
|
36 | }
|
37 | depTree.dependencies[topLevelDepName] = topLevelDepTree;
|
38 | }
|
39 | return depTree;
|
40 | }
|
41 | exports.getDependencyTreeFromProjectAssetsJson = getDependencyTreeFromProjectAssetsJson;
|
42 |
|
\ | No newline at end of file |