如何列出所有必需的npm对等依赖项

如何列出所有必需的npm对等依赖项,npm,peer-dependencies,Npm,Peer Dependencies,如何列出项目中当前需要的所有对等依赖关系 我尝试过搜索,但我只找到了一堆自定义包来检查对等依赖关系。我已经知道它们目前还可以,但我想知道它们实际上是什么包和版本的列表 有什么办法吗 如果按包的名称进行搜索,则运行下面的命令将提供对等depdencies npm info bootstrap peerDependencies { jquery: '1.9.1 - 3', 'popper.js': '^1.16.0' } 在整个package.json文件上运行它是我不熟悉的您可以使用从项目文件夹

如何列出项目中当前需要的所有对等依赖关系

我尝试过搜索,但我只找到了一堆自定义包来检查对等依赖关系。我已经知道它们目前还可以,但我想知道它们实际上是什么包和版本的列表


有什么办法吗

如果按包的名称进行搜索,则运行下面的命令将提供对等depdencies

npm info bootstrap peerDependencies
{ jquery: '1.9.1 - 3', 'popper.js': '^1.16.0' }

在整个package.json文件上运行它是我不熟悉的

您可以使用从项目文件夹启动的以下bash脚本来完成。为了便于理解,它为每个匹配的package.json调用node。为了提高性能,您可以将多个here文档替换为单个文档(在for循环周围),并调用节点一次

#!/bin/bash
for d in $(find node_modules -name package.json \
           -exec grep -lw peerDependencies {} \;)
do
    node << EOF
        const {peerDependencies } = require('./$d');
        for (k in peerDependencies) {
            console.log('File $d:', k, peerDependencies[k]);
        }
EOF
done
#!/bin/bash                                                                      
for d in $(find node_modules -name package.json \                                
           -exec grep -lw peerDependencies {} \;)                                
do                                                                               
        echo "m = require('./$d');                                               
for (k in m.peerDependencies) {                                                  
    console.log('File $d:', k, m.peerDependencies[k]);                           
}"                                                                               
done |                                                                           
node