UNPKG

1.42 kBJavaScriptView Raw
1"use strict";
2/**
3 * @license
4 * Copyright Google Inc. All Rights Reserved.
5 *
6 * Use of this source code is governed by an MIT-style license that can be
7 * found in the LICENSE file at https://angular.io/license
8 */
9Object.defineProperty(exports, "__esModule", { value: true });
10exports.findNodeDependencies = exports.readPackageTree = void 0;
11function readPackageTree(path) {
12 const rpt = require('read-package-tree');
13 return new Promise((resolve, reject) => {
14 rpt(path, (e, data) => {
15 if (e) {
16 reject(e);
17 }
18 else {
19 resolve(data);
20 }
21 });
22 });
23}
24exports.readPackageTree = readPackageTree;
25function findNodeDependencies(node) {
26 const rawDeps = {
27 ...node.package.dependencies,
28 ...node.package.devDependencies,
29 ...node.package.peerDependencies,
30 ...node.package.optionalDependencies,
31 };
32 return Object.entries(rawDeps).reduce((deps, [name, version]) => {
33 let dependencyNode;
34 let parent = node;
35 while (!dependencyNode && parent) {
36 dependencyNode = parent.children.find(child => child.name === name);
37 parent = parent.parent;
38 }
39 deps[name] = {
40 node: dependencyNode,
41 version,
42 };
43 return deps;
44 }, Object.create(null));
45}
46exports.findNodeDependencies = findNodeDependencies;