您如何找出哪些NPM模块依赖于您的?

时间:2013-09-13 23:54:01

标签: node.js module dependencies npm

很容易看出特定模块所依赖的模块,但我似乎无法了解如何查看哪些模块依赖于特定模块。有一个简单的方法吗?如果是这样,有没有办法以编程方式执行此操作?

4 个答案:

答案 0 :(得分:34)

更新:注册表API已更改,可能允许也可能不允许您直接与底层CouchDB数据库通信。幸运的是,仍然有一个公共镜像提供给https://skimdb.npmjs.com/registry的复制,你仍然可以发送查询。使用:

https://skimdb.npmjs.com/registry/_design/app/_view/dependedUpon?group_level=3&startkey=%5B"socket.io"%5D&endkey=%5B"socket.io"%2C%7B%7D%5D&skip=0&limit=1000

为便于阅读,以下是示例中的查询字符串参数:

{ group_level: 3,
  startkey: '["socket.io"]',
  endkey: '["socket.io", {}]',
  skip: 0,
  limit: 1000 }

请注意,如上所述,这些是CouchDB请求的参数。官方API上似乎没有端点来获取此数据,但是注册表中存在一个问题,您可以关注here


你最接近的事情就是从npm注册表中请求JSON。例如,要使程序包依赖于Socket.IO,请向此链接发送GET请求:

http://registry.npmjs.org/-/_view/dependedUpon?group_level=3&startkey=%5B%22socket.io%22%5D&endkey=%5B%22socket.io%22%2C%7B%7D%5D&skip=0&limit=1000

答案 1 :(得分:22)

您可以在npmjs.com上浏览它们,例如转到https://www.npmjs.com/browse/depended/markdown-it

等网址

答案 2 :(得分:13)

截至最近,还有https://libraries.io/npm/socket.io跟踪您的家属和依赖关系。

答案 3 :(得分:3)

dependedUpon现在至少包含在这些工具中:

npm install -g npm-static-stats dependents-tree npm-get-dependents npm-dependents

dependents-tree对于签出新包非常有用