Repolode
sindresorhus

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. 1

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

    npm install --global np
  2. 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 обновляется ежедневно.

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