Инструмент для автоматического обновления зависимостей: находит устаревшие пакеты в репозиториях и создаёт pull request с обновлениями.
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
Установите глобальный CLI с помощью npm
npm install --global pastoralist - 2
Установите его в проект как зависимость для разработки
npm install pastoralist --save-dev - 3
Просмотрите изменения с помощью проверки состояния в режиме только для чтения
npx pastoralist doctor - 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 обновляется ежедневно.
Похожие проекты
Фронтенд-инструментарий на Rust: совместимый с npm менеджер пакетов, сборщик на базе Turbopack и сборка WASM для браузера.
CLI-инструмент для управления версиями пакетов, changelog и публикацией в монорепозиториях на основе changeset-файлов, которые авторы добавляют вместе с изменениями.
Графический интерфейс для Windows, который управляет установкой и обновлением программ через WinGet, Scoop, Chocolatey, Homebrew, APT, pip, npm и другие пакетные менеджеры.
Единый набор инструментов для веб-разработки: Vite, Vitest, Oxlint, Oxfmt, Rolldown и tsdown доступны через CLI `vp`, который также управляет средой выполнения и пакетными менеджерами.
Быстрый универсальный инструментарий для JavaScript и TypeScript: runtime, bundler, тестовый раннер и пакетный менеджер в одном исполняемом файле.