sync
This commit is contained in:
136
docs/PUBLISHING.md
Normal file
136
docs/PUBLISHING.md
Normal file
@@ -0,0 +1,136 @@
|
||||
# 📦 Инструкция по публикации в 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`)
|
||||
|
||||
Reference in New Issue
Block a user