gitverse-release 3.6.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -340,7 +340,7 @@ npx gitverse-release publish-binaries
340
340
  {
341
341
  "binaries": {
342
342
  "enabled": true,
343
- "scope": "@rainypixel", // npm scope
343
+ "scope": "@rainypixel", // npm scope (опционально)
344
344
  "name": "yougile", // базовое имя пакетов
345
345
  "binName": "yougile", // имя бинарника в $PATH (опционально)
346
346
  "distDir": "./dist", // директория с бинарниками
@@ -360,9 +360,58 @@ npx gitverse-release publish-binaries
360
360
  }
361
361
  ```
362
362
 
363
+ ### Пакеты без scope
364
+
365
+ `scope` опционален. Без него пакеты публикуются как `myapp-linux-x64` вместо `@org/myapp-linux-x64`:
366
+
367
+ ```jsonc
368
+ {
369
+ "binaries": {
370
+ "enabled": true,
371
+ "name": "myapp", // без scope!
372
+ "distDir": "./dist",
373
+ "platforms": ["linux-x64", "darwin-arm64"]
374
+ }
375
+ }
376
+ // Результат: myapp-linux-x64, myapp-darwin-arm64
377
+ ```
378
+
379
+ ### Кастомный шаблон имени пакета
380
+
381
+ Используйте `packageNameTemplate` для гибкой настройки имён:
382
+
383
+ ```jsonc
384
+ {
385
+ "binaries": {
386
+ "name": "myapp",
387
+ "packageNameTemplate": "{{name}}-bin-{{platform}}"
388
+ }
389
+ }
390
+ // Результат: myapp-bin-linux-x64
391
+ ```
392
+
393
+ ```jsonc
394
+ {
395
+ "binaries": {
396
+ "name": "myapp",
397
+ "scope": "@org",
398
+ "packageNameTemplate": "@{{scope}}/{{name}}-cli-{{platform}}"
399
+ }
400
+ }
401
+ // Результат: @org/myapp-cli-linux-x64
402
+ ```
403
+
404
+ **Плейсхолдеры:** `{{scope}}`, `{{name}}`, `{{platform}}`
405
+
406
+ **Дефолтные шаблоны:**
407
+ - Без scope: `{{name}}-{{platform}}`
408
+ - Со scope: `@{{scope}}/{{name}}-{{platform}}`
409
+
363
410
  ### Структура бинарников
364
411
 
365
- Бинарники должны находиться в `distDir` в формате:
412
+ #### Формат "directory" (по умолчанию)
413
+
414
+ Бинарники в директориях:
366
415
 
367
416
  ```
368
417
  dist/
@@ -374,6 +423,37 @@ dist/
374
423
  yougile.exe # бинарник для Windows
375
424
  ```
376
425
 
426
+ #### Формат "tar.gz"
427
+
428
+ Бинарники в tar.gz архивах (удобно для CI артефактов):
429
+
430
+ ```jsonc
431
+ {
432
+ "binaries": {
433
+ "inputFormat": "tar.gz",
434
+ "sourceBinName": "cli", // имя бинарника внутри архива
435
+ "platformMap": { // маппинг имён архивов на платформы
436
+ "linux-amd64": "linux-x64",
437
+ "darwin-arm64": "darwin-arm64",
438
+ "windows-x64": "win32-x64"
439
+ }
440
+ }
441
+ }
442
+ ```
443
+
444
+ Структура архивов:
445
+ ```
446
+ dist/
447
+ myapp-linux-amd64.tar.gz # содержит cli (или cli внутри поддиректории)
448
+ myapp-darwin-arm64.tar.gz
449
+ myapp-windows-x64.tar.gz
450
+ ```
451
+
452
+ **Опции для tar.gz:**
453
+ - `inputFormat: "tar.gz"` — включает режим архивов
454
+ - `sourceBinName` — имя бинарника внутри архива (если отличается от `name`)
455
+ - `platformMap` — маппинг ключей в именах архивов на npm платформы
456
+
377
457
  ### Генерируемая структура
378
458
 
379
459
  ```