|
15 | 15 |
|
16 | 16 | ### Настройка (один раз): |
17 | 17 |
|
18 | | -#### 1. Создать NPM Access Token |
| 18 | +#### 🔐 NPM Trusted Publishing (Рекомендуется) |
| 19 | + |
| 20 | +**Современный способ без токенов! (с 15 ноября 2025 классические токены будут отключены)** |
19 | 21 |
|
20 | 22 | 1. Зайти на [npmjs.com](https://www.npmjs.com/) |
21 | | -2. Settings → Access Tokens → Generate New Token |
22 | | -3. Выбрать тип: **Automation** (для CI/CD) |
23 | | -4. Скопировать токен |
| 23 | +2. Перейти к пакету: `@kolkov/angular-editor` |
| 24 | +3. **Settings** → **Publishing Access** |
| 25 | +4. **Add Trusted Publisher** |
| 26 | +5. Заполнить форму: |
| 27 | + - **Provider**: GitHub |
| 28 | + - **Organization/User**: `kolkov` |
| 29 | + - **Repository**: `angular-editor` |
| 30 | + - **Workflow filename**: `npm-publish.yml` |
| 31 | + - **Environment**: оставить пустым (или указать `production` если используете) |
| 32 | + |
| 33 | +6. **Save** → Готово! 🎉 |
| 34 | + |
| 35 | +**Преимущества:** |
| 36 | +- ✅ Не нужны токены (NPM_TOKEN) |
| 37 | +- ✅ Автоматическая ротация ключей |
| 38 | +- ✅ Provenance (криптографическое подтверждение источника) |
| 39 | +- ✅ Повышенная безопасность через OIDC |
| 40 | + |
| 41 | +#### 🔑 Альтернатива: Granular Access Token (устаревший способ) |
24 | 42 |
|
25 | | -#### 2. Добавить секрет в GitHub |
| 43 | +**Используйте только если Trusted Publishing недоступен** |
26 | 44 |
|
27 | | -1. Открыть репозиторий на GitHub |
28 | | -2. Settings → Secrets and variables → Actions |
29 | | -3. New repository secret: |
| 45 | +1. Зайти на [npmjs.com](https://www.npmjs.com/) |
| 46 | +2. Settings → Access Tokens → Generate New Token |
| 47 | +3. Выбрать тип: **Granular Access Token** |
| 48 | +4. Настроить: |
| 49 | + - **Expiration**: максимум 90 дней |
| 50 | + - **Packages**: выбрать `@kolkov/angular-editor` |
| 51 | + - **Permissions**: Read and write |
| 52 | +5. Скопировать токен |
| 53 | + |
| 54 | +6. Открыть репозиторий на GitHub |
| 55 | +7. Settings → Secrets and variables → Actions |
| 56 | +8. New repository secret: |
30 | 57 | - Name: `NPM_TOKEN` |
31 | 58 | - Secret: вставить токен из npm |
32 | 59 |
|
33 | | -#### 3. Готово! |
| 60 | +9. Обновить workflow: раскомментировать `NODE_AUTH_TOKEN` в шаге publish |
| 61 | + |
| 62 | +**Недостатки:** |
| 63 | +- ⚠️ Токен истекает через 7-90 дней |
| 64 | +- ⚠️ Нужно вручную обновлять в GitHub Secrets |
| 65 | +- ⚠️ Классические токены будут отключены 15.11.2025 |
| 66 | + |
| 67 | +#### ✅ Готово! |
34 | 68 |
|
35 | 69 | Теперь при каждом push тега библиотека будет автоматически опубликована. |
36 | 70 |
|
|
0 commit comments