npm パッケージを使っていてライブラリのアップデートが速いものは、新しくなった方法を試そうとしたら依存しているパッケージが変更になっていたりでハマってしまうことが割とあります。
このパッケージが依存してるライブラリ何?が知りたい時のメモ
npm view dependencies で依存パッケージを表示できる
npm view
コマンドでパッケージのいろいろな情報を見ることができます。
これに dependencies
オプションを付けると直接依存しているパッケージだけを表示してくれます!
# react の直接依存パッケージ少ない! $ npm view react@17.0.2 dependencies { 'loose-envify': '^1.1.0', 'object-assign': '^4.1.1' } # @apollo/client だとこんな感じ $ npm view @apollo/client@3.4.16 dependencies { '@graphql-typed-document-node/core': '^3.0.0', '@wry/context': '^0.6.0', '@wry/equality': '^0.5.0', '@wry/trie': '^0.3.0', 'graphql-tag': '^2.12.3', 'hoist-non-react-statics': '^3.3.2', optimism: '^0.16.1', 'prop-types': '^15.7.2', 'symbol-observable': '^4.0.0', 'ts-invariant': '^0.9.0', tslib: '^2.3.0', 'zen-observable-ts': '~1.1.0' }
npm list
で自分のプロジェクトにインストールされているパッケージのリストを表示できる
$ npm list search-repos-app@0.1.0 /Users/kikiki/graphql-with-react/ ├── @apollo/client@3.4.16 ├── @testing-library/jest-dom@5.14.1 ├── @testing-library/react@11.2.7 ├── @testing-library/user-event@12.8.3 ├── graphql@15.6.1 ├── react-dom@17.0.2 ├── react-scripts@4.0.3 ├── react@17.0.2 └── web-vitals@1.1.2
昔は npm list
だと node_modules のパッケージが全部ズラーっと出たので --depth=0
オプションを使ってた記憶だったけど npm v8.1.0
では npm list
でプロジェクトの直接的な依存パッケージだけ表示してくれるようになっていた。
Huge な node_modules のリストを見たいときは npm list --all
とすれば深淵を覗き込むことができる。
所管
npm view
コマンド全然使ってなかったので、パッケージのことを知るのに便利でした。
おわり ₍ ᐢ. ̫ .ᐢ ₎
[参考]