Files
dvc-cli/docs/PUBLISHING.md
2025-11-09 01:28:42 +03:00

137 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📦 Инструкция по публикации в NPM
## Подготовка к публикации
### Шаг 1: Авторизация в NPM
```bash
npm login
```
Введите credentials для аккаунта с доступом к организации `@grom13`.
### Шаг 2: Сборка проекта
```bash
cd /home/gromov/projects/my/dvc-cli
npm run build
```
Эта команда выполнит:
- Сборку библиотеки в `dist/`
- Генерацию TypeScript деклараций (`.d.ts`)
- Сборку CLI бинарника в `bin/cli.js`
### Шаг 3: Проверка перед публикацией (опционально)
```bash
# Посмотреть какие файлы будут опубликованы
npm pack --dry-run
# Или создать тестовый архив для проверки
npm pack
# Это создаст файл grom13-dvc-cli-0.1.0.tgz
```
## Публикация
### Шаг 4: Публикация в NPM
```bash
npm publish --access public
```
⚠️ **Важно:** Флаг `--access public` обязателен для scoped пакетов (`@grom13/...`), иначе NPM попытается опубликовать как приватный пакет (требует платную подписку).
### Шаг 5: Проверка публикации
```bash
# Проверить что пакет доступен
npm view @grom13/dvc-cli
# Протестировать установку через npx
npx @grom13/dvc-cli --help
# Или установить глобально и протестировать
npm install -g @grom13/dvc-cli
dvc --help
```
## Обновление версии
Для будущих релизов используйте команды версионирования:
```bash
# 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
```
После обновления версии:
```bash
npm publish --access public
```
## Откат публикации (если нужно)
```bash
# Удалить конкретную версию (в течение 72 часов)
npm unpublish @grom13/dvc-cli@0.1.0
# Удалить весь пакет (использовать осторожно!)
npm unpublish @grom13/dvc-cli --force
```
⚠️ **Внимание:** После unpublish нельзя повторно опубликовать ту же версию. Нужно увеличить версию.
## Использование после публикации
Пакет будет доступен для использования:
```bash
# Через npx (без установки)
npx @grom13/dvc-cli video.mp4 ./output
# Глобальная установка
npm install -g @grom13/dvc-cli
dvc video.mp4 ./output
# Локальная установка в проект
npm install @grom13/dvc-cli
```
## Troubleshooting
### Ошибка: "You must sign up for private packages"
Решение: Добавьте флаг `--access public` при публикации.
### Ошибка: "You do not have permission to publish"
Решение: Убедитесь что вы авторизованы (`npm whoami`) и имеете доступ к организации `@grom13`.
### Ошибка при сборке
Решение: Убедитесь что установлены все зависимости:
```bash
npm install
# или
bun install
```
## Checklist перед публикацией
- [ ] Обновлена версия в `package.json`
- [ ] Обновлен `README.md` с актуальной информацией
- [ ] Проект успешно собирается (`npm run build`)
- [ ] Протестирован CLI локально
- [ ] Авторизованы в NPM (`npm whoami`)
- [ ] Проверены файлы для публикации (`npm pack --dry-run`)