如何使用 CI 检查 NPM 依赖项

How to Check NPM Dependencies with CI

我最近一直在尝试找到一种方法来定期检查项目的依赖项,这将理想地寻找新版本的包以及弃用的包。

目前,npm-check、depcheck 和其他此类插件似乎无法工作或未返回我期望的结果(即未标记未使用的依赖项)。

有人知道测试这种东西的好方法吗?

对于新版本的软件包,我很满意 greenkeeper。每当您依赖的包的新版本发布时,它都会向您发送拉取请求。那么你的 CI 配置应该 运行 测试 PR 中的代码。

不确定他们目前是否警告已弃用的软件包,但理论上如果您始终使用最新版本,则永远不会使用已弃用的版本。除非由于某种原因整个软件包和所有版本都被弃用。

我认为它也不会标记未使用的依赖项,但您可以考虑让他们添加该功能。他们的支持似乎非常关注用户的需求。

我最终使用 David NPM 模块检查包的状态并根据结果通过/未通过 mocha 测试:

https://github.com/alanshaw/david

您可以在 web-starter-kit 上查看示例代码:

https://github.com/google/web-starter-kit/blob/11562f490fe17cfc88ba86742de6345469b70779/test/dependency-checker.js