3

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

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

关于如何做到这一点的任何想法?

4

2 回答 2

4

如果按包名称搜索,则运行以下命令会提供对等依赖项

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

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

于 2020-03-20T09:38:29.210 回答
1

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

#!/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                                  
于 2020-12-06T12:06:09.707 回答