UNPKG

1.15 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3function readPackageTree(path) {
4 const rpt = require('read-package-tree');
5 return new Promise((resolve, reject) => {
6 rpt(path, (e, data) => {
7 if (e) {
8 reject(e);
9 }
10 else {
11 resolve(data);
12 }
13 });
14 });
15}
16exports.readPackageTree = readPackageTree;
17function findNodeDependencies(node) {
18 const rawDeps = {
19 ...node.package.dependencies,
20 ...node.package.devDependencies,
21 ...node.package.peerDependencies,
22 ...node.package.optionalDependencies,
23 };
24 return Object.entries(rawDeps).reduce((deps, [name, version]) => {
25 let dependencyNode;
26 let parent = node;
27 while (!dependencyNode && parent) {
28 dependencyNode = parent.children.find(child => child.name === name);
29 parent = parent.parent;
30 }
31 deps[name] = {
32 node: dependencyNode,
33 version,
34 };
35 return deps;
36 }, Object.create(null));
37}
38exports.findNodeDependencies = findNodeDependencies;