CLI-инструмент для управления версиями пакетов, changelog и публикацией в монорепозиториях на основе changeset-файлов, которые авторы добавляют вместе с изменениями.
sindresorhus/np
CLI-обёртка над npm publish: проверяет проект перед релизом, меняет версию, создаёт git-тег, запускает тесты и отправляет изменения — всё за один интерактивный запуск.
- Звёзды
- 7,710
- Форки
- 311
- Открытые issues
- 7
- Последний коммит
- в прошлом месяце
Что это?
np — инструмент командной строки, который заменяет обычную ручную последовательность действий для публикации npm-пакета. Запустите его в проекте: он проверит, что вы находитесь в ветке для релиза, рабочая директория чистая и синхронизирована с удалённым репозиторием, а версии Node.js и npm соответствуют требованиям проекта. Затем np переустановит зависимости, запустит тесты, обновит версию в package.json и package-lock.json, создаст git-тег и опубликует пакет в npm.
Если публикация завершится ошибкой, np вернёт проект в исходное состояние. После успешной публикации он отправит коммиты и теги в GitHub или GitLab, а также может открыть заполненный черновик релиза GitHub Releases. Кроме того, np не позволяет случайно публиковать предварительные версии с dist-tag latest, поддерживает двухфакторную аутентификацию и предлагает режим dry-run, который показывает все шаги, не выполняя их.
np работает с npm, pnpm, Bun и Yarn и позволяет публиковать пакеты в GitHub Packages или собственный реестр. Инструмент рассчитан на интерактивный запуск локально, а не в CI; монорепозитории не поддерживаются.
Ключевые возможности
- 01Перед публикацией проверяет ветку для релиза, чистоту рабочей директории и наличие не полученных из удалённого репозитория изменений.
- 02Обновляет версии в package.json и package-lock.json и создаёт git-тег.
- 03Запускает тесты и возвращает проект в исходное состояние, если публикация завершается ошибкой.
- 04Отправляет коммиты и теги в GitHub или GitLab и может открыть черновик релиза.
- 05Предлагает интерактивный интерфейс и режим dry-run.
- 06Поддерживает npm, pnpm, Bun и Yarn, а также GitHub Packages.
Сценарии использования
- Публикация библиотеки в npm с локальной машины по единому проверяемому процессу релиза.
- Стандартизация релизов в команде: добавьте np в package.json как скрипт для релиза.
- Публикация предварительных версий под отдельным dist-tag, например beta, без риска затронуть тег latest.
- Публикация приватного пакета из git-репозитория с пропуском шага npm publish.
Быстрый старт
- 1
Установите np глобально с помощью npm
npm install --global np - 2
Запустите np в проекте и следуйте интерактивным подсказкам
np
Что важно знать
- Монорепозитории не поддерживаются.
- CI — не лучшая среда для работы: инструмент предназначен для локального интерактивного использования.
- Требуются Node.js 22 или новее, npm 10 или новее и Git 2.11 или новее.
В подборках
Темы
Частые вопросы
- Что такое np?
- CLI-обёртка над npm publish: проверяет проект перед релизом, меняет версию, создаёт git-тег, запускает тесты и отправляет изменения — всё за один интерактивный запуск. np — инструмент командной строки, который заменяет обычную ручную последовательность действий для публикации npm-пакета. Запустите его в проекте: он проверит, что вы находитесь в ветке для релиза, рабочая директория чистая и синхронизирована с удалённым репозиторием, а версии Node.js и npm соответствуют требованиям проекта. Затем np переустановит зависимости, запустит тесты, обновит версию в package.json и package-lock.json, создаст git-тег и опубликует пакет в npm.
- np можно использовать бесплатно? Какая у него лицензия?
- np распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- np всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в np — 9 сент. 2026 г..
- Для чего можно использовать np?
- Публикация библиотеки в npm с локальной машины по единому проверяемому процессу релиза. Стандартизация релизов в команде: добавьте np в package.json как скрипт для релиза. Публикация предварительных версий под отдельным dist-tag, например beta, без риска затронуть тег latest. Публикация приватного пакета из git-репозитория с пропуском шага npm publish.
- Как установить np?
- Установите np глобально с помощью npm: npm install --global np Запустите np в проекте и следуйте интерактивным подсказкам: np
- Где скачать np?
- Исходный код и инструкции по установке — на GitHub: https://github.com/sindresorhus/np
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Фреймворк от сообщества для управления конфигурацией zsh: сотни плагинов и тем, а также инструмент обновления.
Графический интерфейс для Windows, который управляет установкой и обновлением программ через WinGet, Scoop, Chocolatey, Homebrew, APT, pip, npm и другие пакетные менеджеры.
Офлайн-инструмент на C++ для удаления видимых водяных знаков Gemini с изображений методом обратного альфа-смешивания; есть GUI, CLI и пакетная обработка.
Подборка коротких самостоятельных статей и фрагментов кода на JavaScript для изучения повседневных программных приёмов за 30 секунд или быстрее.
Инструмент на JavaScript для написания скриптов в стиле shell: обёртка над child_process с безопасным экранированием аргументов и кроссплатформенными помощниками.