Repolode
yowainwright

yowainwright/pastoralist

一个命令行工具,为 package.json 中的依赖覆盖项记录台账并进行安全扫描,便于安全地维护。

Star
109
Fork
56
未关闭 Issue
1
最近提交
15小时前

这是什么?

Pastoralist 用于长期维护依赖覆盖项(overrides),支持 npm overrides、pnpm overrides、Yarn resolutions 和 Bun overrides。运行后会在 package.json 中追加一份台账,记录每个覆盖项被哪些包依赖、首次记录的时间,以及是否可以移除。

工具支持 npm、pnpm(包括 pnpm 11+ 的 pnpm-workspace.yaml)、Yarn 和 Bun 项目,并可通过工作区路径和 manifest 通配符处理 monorepo。只读的 doctor 命令可预览变更,主命令也支持 --dry-run。

可选的漏洞扫描支持 OSV(默认)、GitHub、Snyk、npm、Socket 和 Spektion 等数据源。扫描结果可交互式修复或自动应用,也可缓存或以 JSON 格式输出,方便接入 CI。

核心功能

  • 01在 package.json 中记录每个覆盖项的依赖方和首次记录日期。
  • 02支持 npm、pnpm、Yarn 和 Bun 的覆盖项格式。
  • 03通过只读的 doctor 命令或 --dry-run 预览变更。
  • 04可对接 OSV、GitHub、Snyk、npm、Socket 和 Spektion 进行漏洞检查。
  • 05识别未使用的覆盖项,并可移除已确认无用的条目。
  • 06支持 JSON 输出,静默模式下发现安全问题时以非零码退出,方便 CI 使用。

适用场景

  • 为修复传递依赖漏洞而设置的覆盖项保持记录完整、及时更新。
  • 在清理前核查哪些覆盖项仍然需要。
  • 在 CI 流水线中加入依赖安全检查。
  • 在包含多个 package.json 的 monorepo 中统一维护覆盖项。

快速上手

  1. 1

    使用 npm 全局安装 CLI

    npm install --global pastoralist
  2. 2

    在项目中作为开发依赖安装

    npm install pastoralist --save-dev
  3. 3

    运行只读健康检查以预览更改

    npx pastoralist doctor
  4. 4

    运行 pastoralist 更新覆盖依赖附录

    npx pastoralist

使用前须知

  • 安全扫描提供方(如 GitHub、Snyk、Socket)可能需要 API 令牌才能使用。

收录于专题

标签

常见问题

pastoralist 是什么?
一个命令行工具,为 package.json 中的依赖覆盖项记录台账并进行安全扫描,便于安全地维护。 Pastoralist 用于长期维护依赖覆盖项(overrides),支持 npm overrides、pnpm overrides、Yarn resolutions 和 Bun overrides。运行后会在 package.json 中追加一份台账,记录每个覆盖项被哪些包依赖、首次记录的时间,以及是否可以移除。
pastoralist 可以免费使用吗?用的什么许可证?
pastoralist 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
pastoralist 还在维护吗?
活跃维护中。pastoralist 最近一次提交是在 2026年10月22日。
pastoralist 适合用来做什么?
为修复传递依赖漏洞而设置的覆盖项保持记录完整、及时更新。 在清理前核查哪些覆盖项仍然需要。 在 CI 流水线中加入依赖安全检查。 在包含多个 package.json 的 monorepo 中统一维护覆盖项。
pastoralist 怎么安装和运行?
使用 npm 全局安装 CLI: npm install --global pastoralist 在项目中作为开发依赖安装: npm install pastoralist --save-dev 运行只读健康检查以预览更改: npx pastoralist doctor 运行 pastoralist 更新覆盖依赖附录: npx pastoralist
在哪里获取 pastoralist?
源代码和安装说明在 GitHub 上:https://github.com/yowainwright/pastoralist

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目