特定のモジュールがどのモジュールに依存しているかを確認するのは簡単ですが、どのモジュールが特定のモジュールに依存しているかを確認する方法がわからないようです。これを行う簡単な方法はありますか?もしそうなら、これをプログラムで行う方法はありますか?
更新:レジストリ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のエンドポイントはないようですが、フォローできるレジストリに未解決の問題があります ここ 。
これを行うのに最も近いのは、おそらく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
たとえば、 https://www.npmjs.com/browse/depended/markdown-it のようなURLにアクセスすると、npmjs.com自体でそれらを参照できます。
最近では、依存関係と依存関係を追跡する https://libraries.io/npm/socket.io もあります。
dependedUponは少なくともこれらのツールによってラップされています:
npm install -g npm-static-stats dependents-tree npm-get-dependents npm-dependents
依存ツリーは、新しいパッケージをチェックアウトするのに最も便利に見えます