UNPKG

1.12 kBJavaScriptView Raw
1var check = require('check-types');
2var _ = require('lodash');
3var registry = require('./registry');
4var cleanVersions = registry.cleanVersions;
5
6function format(label, deps) {
7 check.verify.unemptyString(label, 'missing label');
8 check.verify.object(deps, 'expected deps');
9 return Object.keys(deps).map(function (name) {
10 return {
11 type: label,
12 name: name,
13 version: deps[name]
14 };
15 });
16}
17
18function getKnownDependencies(packageFilename) {
19 check.verify.string(packageFilename, 'missing package filename string');
20
21 var workingPackage = require(packageFilename);
22
23 var dependencies = workingPackage.dependencies || {};
24 var devDependencies = workingPackage.devDependencies || {};
25 var peerDependencies = workingPackage.peerDependencies || {};
26
27 var all = [].concat(
28 format('prod', dependencies),
29 format('dev', devDependencies),
30 format('peer', peerDependencies)
31 );
32
33 var cleaned = cleanVersions(all);
34 // console.log('nameVersionPairs', cleaned);
35 return cleaned;
36}
37
38module.exports = getKnownDependencies;