NodeJS 如何在NPM工作区中使用NPM审计?

kr98yfug  于 2023-01-04  发布在  Node.js
关注(0)|答案(1)|浏览(147)

对于一个使用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 auditworkspace-a工作吗?

i1icjdpr

i1icjdpr1#

在相同和不同的机器上用示例项目进行了一些测试之后,解决方案似乎位于.npmrc中的注册表集中,当注解掉企业npm存储库时,审计会再次被选中。
或者,运行npm audit --registry=https://registry.npmjs.org也可以,而无需更改全局配置。
这似乎只需要对工作空间和嵌套依赖项进行审计,因为无论哪种方式,根包级别上的顶级依赖项都可以很好地进行审计。

相关问题