Files
create-vod/docs/PUBLISHING.md

4.5 KiB
Raw Permalink Blame History

📦 Инструкция по публикации в NPM

Подготовка к публикации

Шаг 1: Авторизация в NPM

npm login

Введите credentials для аккаунта с доступом к организации @gromlab.

Шаг 2: Сборка проекта

cd /home/gromov/projects/my/create-vod
npm run build

Эта команда выполнит:

  • Сборку библиотеки в dist/
  • Генерацию TypeScript деклараций (.d.ts)
  • Сборку CLI бинарника в bin/cli.js

Шаг 3: Проверка перед публикацией (опционально)

# Посмотреть какие файлы будут опубликованы
npm pack --dry-run

# Или создать тестовый архив для проверки
npm pack
# Это создаст файл gromlab-create-vod-0.1.0.tgz

Публикация

Шаг 4: Публикация в NPM

npm publish --access public

⚠️ Важно: Флаг --access public обязателен для scoped пакетов (@gromlab/...), иначе NPM попытается опубликовать как приватный пакет (требует платную подписку).

Токен и 2FA

  • Создайте новый npm-токен с отмеченным чекбоксом "Bypass two-factor authentication (2FA)".
  • Добавьте/обновите ~/.npmrc перед публикацией:
    @gromlab:registry=https://registry.npmjs.org/
    //registry.npmjs.org/:_authToken=<TOKEN>
    
  • После этого публикуйте:
    npm publish --access public
    

Шаг 5: Проверка публикации

# Проверить что пакет доступен
npm view @gromlab/create-vod

# Протестировать установку через npx
npx @gromlab/create-vod --help

# Или установить глобально и протестировать
npm install -g @gromlab/create-vod
dvc --help

Обновление версии

Для будущих релизов используйте команды версионирования:

# Patch версия (0.1.0 → 0.1.1) - исправления багов
npm version patch

# Minor версия (0.1.0 → 0.2.0) - новые функции
npm version minor

# Major версия (0.1.0 → 1.0.0) - breaking changes
npm version major

После обновления версии:

npm publish --access public

Откат публикации (если нужно)

# Удалить конкретную версию (в течение 72 часов)
npm unpublish @gromlab/create-vod@0.1.0

# Удалить весь пакет (использовать осторожно!)
npm unpublish @gromlab/create-vod --force

⚠️ Внимание: После unpublish нельзя повторно опубликовать ту же версию. Нужно увеличить версию.

Использование после публикации

Пакет будет доступен для использования:

# Через npx (без установки)
npx @gromlab/create-vod video.mp4 ./output

# Глобальная установка
npm install -g @gromlab/create-vod
dvc video.mp4 ./output

# Локальная установка в проект
npm install @gromlab/create-vod

Troubleshooting

Ошибка: "You must sign up for private packages"

Решение: Добавьте флаг --access public при публикации.

Ошибка: "You do not have permission to publish"

Решение: Убедитесь что вы авторизованы (npm whoami) и имеете доступ к организации @gromlab.

Ошибка при сборке

Решение: Убедитесь что установлены все зависимости:

npm install
# или
bun install

Checklist перед публикацией

  • Обновлена версия в package.json
  • Обновлен README.md с актуальной информацией
  • Проект успешно собирается (npm run build)
  • Протестирован CLI локально
  • Авторизованы в NPM (npm whoami)
  • Проверены файлы для публикации (npm pack --dry-run)