Repolode
yowainwright

yowainwright/pastoralist

CLI, который фиксирует переопределения зависимостей в package.json и проверяет их на уязвимости, чтобы ими было проще безопасно управлять.

Звёзды
109
Форки
56
Открытые issues
1
Последний коммит
15 часов назад

Что это?

Pastoralist помогает поддерживать переопределения зависимостей (npm overrides, pnpm overrides, Yarn resolutions, Bun overrides) в актуальном состоянии. При запуске он добавляет в package.json приложение со списком переопределений: для каждого указано, какие пакеты от него зависят, когда оно было впервые зафиксировано и можно ли его удалить.

Инструмент поддерживает проекты на npm, pnpm (включая pnpm-workspace.yaml в pnpm 11 и новее), Yarn и Bun, а также обрабатывает монорепозитории с помощью путей к workspace и glob-шаблонов манифестов. Команда 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-пайплайны.
  • Поддерживать переопределения в монорепозитории с несколькими манифестами пакетов.

Быстрый старт

  1. 1

    Установите глобальный CLI с помощью npm

    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?
CLI, который фиксирует переопределения зависимостей в package.json и проверяет их на уязвимости, чтобы ими было проще безопасно управлять. Pastoralist помогает поддерживать переопределения зависимостей (npm overrides, pnpm overrides, Yarn resolutions, Bun overrides) в актуальном состоянии. При запуске он добавляет в package.json приложение со списком переопределений: для каждого указано, какие пакеты от него зависят, когда оно было впервые зафиксировано и можно ли его удалить.
pastoralist можно использовать бесплатно? Какая у него лицензия?
pastoralist распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pastoralist всё ещё поддерживается?
Активно поддерживается. Последний коммит в pastoralist — 22 окт. 2026 г..
Для чего можно использовать pastoralist?
Документировать и поддерживать в актуальном состоянии переопределения транзитивных зависимостей для исправления уязвимостей. Проверять, какие переопределения всё ещё нужны, прежде чем удалять лишние. Добавлять проверку безопасности зависимостей в CI-пайплайны. Поддерживать переопределения в монорепозитории с несколькими манифестами пакетов.
Как установить pastoralist?
Установите глобальный CLI с помощью npm: npm install --global pastoralist Установите его в проект как зависимость для разработки: npm install pastoralist --save-dev Просмотрите изменения с помощью проверки состояния в режиме только для чтения: npx pastoralist doctor Запустите pastoralist, чтобы обновить приложение переопределений: npx pastoralist
Где скачать pastoralist?
Исходный код и инструкции по установке — на GitHub: https://github.com/yowainwright/pastoralist

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты