获取所有NPM依赖项最小node.js引擎版本

时间:2017-03-17 21:23:49

标签: node.js npm

我们有一个NPM项目X.我想获得项目中所有依赖项的明确列表以及它们所需的最小Node.js(引擎)版本。

我该怎么做?

当然,动机是要发现我们在开发和生产中需要运行的最小Nodejs版本。

npm ls | grep "engines"

类似的东西,除了上面的胜利,希望有更强大的东西

1 个答案:

答案 0 :(得分:0)

我能够这样完成:

let npm = require('npm');

npm.load({}, function(err, npm) {

  if(err) throw err;

  npm.config.set('global', false); // => we don't want to consider global deps

  npm.commands.list([], true, function(err, pkgInfo) {

    let enginesList = Object.keys(pkgInfo.dependencies).map(function(k){
        return {
          dep: k,
          engines: pkgInfo.dependencies[k].engines || {}
        }
    });

    enginesList.forEach(function(val){
      console.log(val.dep + ' => ', val.engines);
    });

  });

});