Repolode
yowainwright

yowainwright/pastoralist

package.jsonの依存関係の各overrideを付録に記録し、セキュリティ上の問題をスキャンして、安全に管理できるCLIです。

スター
109
フォーク
56
未解決の Issue
1
最終コミット
15 時間前

これは何?

Pastoralistは、依存関係のoverride(npm overrides、pnpm overrides、Yarn resolutions、Bun overrides)を継続的に管理します。実行するとpackage.jsonに付録が追加され、各overrideについて、依存しているパッケージ、最初に記録された日時、削除可能かどうかが記載されます。

npm、pnpm(pnpm 11以降ではpnpm-workspace.yamlを含む)、Yarn、Bunのプロジェクトに対応し、workspaceのパスやmanifestのglobを通じてmonorepoも扱えます。読み取り専用のdoctorコマンドで変更を事前確認でき、メインコマンドでは--dry-runも使えます。

任意の脆弱性チェックでは、OSV(デフォルト)、GitHub、Snyk、npm、Socket、Spektionなどのプロバイダーを利用できます。検出結果は対話形式で修正することも、自動適用することもでき、キャッシュしたり、CI向けにJSONで出力したりできます。

主な機能

  • 01各overrideについて、依存しているパッケージと最初に記録された日付をpackage.jsonに記録します。
  • 02npm、pnpm、Yarn、Bunのoverride形式に対応しています。
  • 03読み取り専用のdoctorコマンドまたは--dry-runで変更を事前確認できます。
  • 04OSV、GitHub、Snyk、npm、Socket、Spektionを使って脆弱性をチェックします。
  • 05使われていないoverrideを検出し、不要と確認できたものを削除できます。
  • 06機械処理可能なJSONを出力でき、quietモードではセキュリティ上の問題が見つかると0以外の終了コードを返します。

ユースケース

  • セキュリティ修正のための推移的依存関係のoverrideを記録し、最新の状態に保つ。
  • 整理する前に、どのoverrideがまだ必要かを監査する。
  • CIパイプラインに依存関係のセキュリティチェックを追加する。
  • 複数のパッケージマニフェストを持つmonorepo全体でoverrideを管理する。

クイックスタート

  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の依存関係の各overrideを付録に記録し、セキュリティ上の問題をスキャンして、安全に管理できるCLIです。 Pastoralistは、依存関係のoverride(npm overrides、pnpm overrides、Yarn resolutions、Bun overrides)を継続的に管理します。実行するとpackage.jsonに付録が追加され、各overrideについて、依存しているパッケージ、最初に記録された日時、削除可能かどうかが記載されます。
pastoralist は無料で使えますか?ライセンスは?
pastoralist は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
pastoralist は今もメンテナンスされていますか?
活発にメンテナンス中。pastoralist の最終コミットは 2026年10月22日 です。
pastoralist は何に使えますか?
セキュリティ修正のための推移的依存関係のoverrideを記録し、最新の状態に保つ。 整理する前に、どのoverrideがまだ必要かを監査する。 CIパイプラインに依存関係のセキュリティチェックを追加する。 複数のパッケージマニフェストを持つmonorepo全体でoverrideを管理する。
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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト