在Yarn 2berry中审核依赖项的最佳方法?

问题描述

我正在寻找一种方法来审核纱2中的漏洞依赖关系。在纱1.x中,可以通过运行npm而不是{{1 }}。但是对于Yarn 2,没有这样的命令。根据{{​​3}}在Berry github上的说法,它不会实现(项目维护者更喜欢通过插件完成)。

我尝试运行yarn audit,但是某些本地软件包(我使用npm audit url类型在package.json中列出)上的安装阻塞了。

构建起来不会是一个复杂的插件,我为此乐在其中,但是它并不会像安装一些东西然后继续我的一天那样有趣。我环顾四周,但总是遇到相同的vapourware / abandonware存储库。

但是我仍然猜测我只是找不到它们。或有一个未记录的技巧来简化它。因此,我的问题是:)

PS,是的,我可以在运行上面的npm install --package-lock-only && npm auditlink:命令时临时使用link:删除本地软件包,但这并不是我想尝试的事情,为CI自动化。

解决方法

我会尝试https://snyk.io/并非免费提供给大型团队用于商业用途,但这可以使您开始进行日常跑步等。

(我与Snyk.io毫无关系)

,

更新(2020年10月28日):
纱线2刚刚合并了期待已久的yarn npm audit增强功能。

PR-https://github.com/yarnpkg/berry/pull/1892
文件-https://yarnpkg.com/cli/npm/audit


我最近正在尝试使用Yarn 2,我发现您可以使用@efrem/auditdeps实用程序来做到这一点:

yarn dlx @efrem/auditdeps [--level=(low|moderate|high|critical)] [--production]

输出不像npm audit那样漂亮,但是您会获得JSON格式的更多详细信息,并且可以将其通过管道传输到其他工具或任何自定义格式的脚本中,以获取所需的确切信息。