对于一个使用AWS CDK的项目,我们正在从lerna迁移到NPM工作区,目前为止一切都很好,除了在项目根目录下运行npm audit
,这似乎没有考虑到工作区。
我们使用以下文件夹结构:
.
|-package.json
|-package-lock.json
|-ts-config.json
|-lib
|-index.ts
|-lambdas
|-workspace-a
|-index.ts
|-package.json
当添加一个带有漏洞的依赖项到项目根的package.json
时,npm audit
会像往常一样向我们报告这些漏洞。当在workspace-a package.json
中安装相同的依赖项时,它会像预期的那样出现在工作区的项目根package-lock.json
部分,但npm audit
没有注意到,并报告0个漏洞。
到目前为止,我已经尝试了几种运行npm audit
的方法;通过添加--workspaces=true
,--workspace lib/lambdas/workspace-a
和--package-lock-only
,但似乎都不起作用。
有什么我没有看到的东西让npm audit
为workspace-a
工作吗?
1条答案
按热度按时间i1icjdpr1#
在相同和不同的机器上用示例项目进行了一些测试之后,解决方案似乎位于
.npmrc
中的注册表集中,当注解掉企业npm存储库时,审计会再次被选中。或者,运行
npm audit --registry=https://registry.npmjs.org
也可以,而无需更改全局配置。这似乎只需要对工作空间和嵌套依赖项进行审计,因为无论哪种方式,根包级别上的顶级依赖项都可以很好地进行审计。