johnny-dependency
Version:
npm -ls for remote packages
13 lines (8 loc) • 709 B
JavaScript
const getAllDependencies = require('./get-dependencies');
const getLatestDependencies = require('./get-latest-dependencies');
const { resolveDependencies, formatGraphWithoutCircularDeps } = require('./format-dependencies');
const _ = require('lodash');
function buildGraph(rootPackage, pacoteOptions) {
return getAllDependencies(rootPackage, pacoteOptions).then(result => getLatestDependencies(_.uniq(result.dependencies.map(npmPackage => npmPackage.name))).then(latestVersions => formatGraphWithoutCircularDeps({ name: rootPackage.name, version: result.resolvedDependencies[`${rootPackage.name}@${rootPackage.version}`] }, resolveDependencies(result), latestVersions)));
}
module.exports = buildGraph;