有没有一种快速的方法来找出我的node.js / npm项目中的所有依赖关系的来源?

npm能够安装官方npmregistry,giturl,HTTPurl和其他来源的依赖关系。 有一个快速的方式来recursion确定我的项目中的所有依赖项的来源?

基本上我需要确保我所有的依赖来自同一个地方。 有一件事我想到的是recursion读取所有package.json文件,并确保所有的依赖是一个有效的semver数字。 NPM是否有这个内置的工具? 有没有快速的shell技巧,我可以使用,而不是写一个节点脚本来做到这一点?

npm将下载的软件包的URL放入_resolved字段。 所以你可以捕获所有packages.json并grep这个字段。 shell技巧的例子:

 find node_modules -name "package.json" | xargs cat | grep "_resolved" 

如果你想查看哪些软件包不是来自npmjs,那么

 find node_modules -name "package.json" | xargs cat | grep "_resolved" | grep -v npmjs.org 

希望它会帮助你。