我们有一个NPM项目X.我想获得项目中所有依赖项的明确列表以及它们所需的最小Node.js(引擎)版本。
我该怎么做?
当然,动机是要发现我们在开发和生产中需要运行的最小Nodejs版本。
npm ls | grep "engines"
类似的东西,除了上面的胜利,希望有更强大的东西
答案 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);
});
});
});