UNPKG

2.63 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3function 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}
7function 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}
11function buildPackageTree(name, version) {
12 const depTree = {
13 dependencies: {},
14 name,
15 version,
16 };
17 return depTree;
18}
19// Currently the function getDependencyTreeFromProjectAssetsJson returns
20// a two level deep flat list of 100% of dependencies.
21// TODO: Get full tree
22function 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}
41exports.getDependencyTreeFromProjectAssetsJson = getDependencyTreeFromProjectAssetsJson;
42//# sourceMappingURL=project-assets-json-parser.js.map
\No newline at end of file