webpack能否确定在创建生产bundle时是否使用devDependencies



tl;博士:

如果捆绑的代码(对于生产捆绑包)需要/导入任何开发依赖项,是否有方法配置webpack(开箱即用或通过某些插件?)以标记/引发警告?(直接通过devDependencies,或间接通过package-lock.json中的dev: true)?

上下文

我们将dependenabot配置为仅扫描在dependencies中声明的包(这可以通过使用dependenot的allow配置选项来实现)。

然而,为了使这成为一个可靠的安全过程(因为我们依赖dependenabot的安全漏洞扫描),我们需要有一个自动化的过程来确保包正确放置在dependenciesdevDependencies中。这样做的一种方法是,如果任何捆绑的代码包含devDependency,则让webpack发出警告。

一些进一步的潜在相关信息:

这是针对nx管理的带有的单回购

  • 根处的单个package.json
  • 两个应用程序(apps/frontendapps/backend)
  • 几个共享库(在libs/*中)

否。没有Webpack插件可以为您做到这一点。还有一些其他依赖关系图遍历模块/CLI工具可以生成这些统计信息。depcheck就是我经常使用的一个模块。

它可以告诉你未使用和丢失的模块,但不能确切地告诉你要找什么。总的来说,很难找到答案。可能发生的情况是,您声明为devDependency的内容也可能是某个可传递包的实际dependency。此外,强制性的对等依赖关系也被声明为dev依赖关系,这使事情更加复杂。最后,您可能还拥有仅用于开发目的的脚本,在这些脚本中,您还可以导入这些开发依赖项。

最新更新