onreza-release 1.0.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.
@@ -0,0 +1,58 @@
1
+ import type { BinariesConfig, BinaryPlatform, ReleaseConfig } from "./types";
2
+ /**
3
+ * Дефолтное имя конфиг-файла
4
+ */
5
+ export declare const DEFAULT_CONFIG_FILE_NAME = ".gitversereleaserc.jsonc";
6
+ /**
7
+ * Дефолтные платформы для бинарной дистрибуции
8
+ */
9
+ export declare const DEFAULT_BINARY_PLATFORMS: BinaryPlatform[];
10
+ /**
11
+ * Дефолтная конфигурация бинарной дистрибуции
12
+ */
13
+ export declare const DEFAULT_BINARIES_CONFIG: BinariesConfig;
14
+ /**
15
+ * Дефолтная конфигурация
16
+ */
17
+ export declare const DEFAULT_CONFIG: Required<ReleaseConfig>;
18
+ /**
19
+ * Загружает конфигурацию из файла
20
+ *
21
+ * Порядок поиска:
22
+ * 1. Если указан configPath - используем его
23
+ * 2. Ищем .gitversereleaserc.jsonc
24
+ * 3. Ищем .gitversereleaserc.json
25
+ * 4. Если ничего не найдено - используем дефолтную конфигурацию
26
+ */
27
+ export declare function loadConfig(configPath?: string): Promise<Required<ReleaseConfig>>;
28
+ /**
29
+ * Валидирует конфигурацию
30
+ */
31
+ export declare function validateConfig(config: Required<ReleaseConfig>): void;
32
+ /**
33
+ * Валидирует конфигурацию бинарной дистрибуции
34
+ */
35
+ export declare function validateBinariesConfig(config: BinariesConfig): void;
36
+ /**
37
+ * Проверяет, существует ли конфиг-файл
38
+ */
39
+ export declare function configExists(): Promise<string | null>;
40
+ /**
41
+ * Опции для инициализации конфига
42
+ */
43
+ export interface InitConfigOptions {
44
+ /** Режим монорепо */
45
+ monorepo?: boolean;
46
+ /** Дополнительные scopes для commitlint */
47
+ scopes?: string[];
48
+ /** Dry-run режим */
49
+ dryRun?: boolean;
50
+ }
51
+ /**
52
+ * Генерирует содержимое конфиг-файла в формате JSONC
53
+ */
54
+ export declare function generateConfigContent(options?: InitConfigOptions): string;
55
+ /**
56
+ * Инициализирует конфиг-файл
57
+ */
58
+ export declare function initConfig(options?: InitConfigOptions): Promise<string>;
@@ -0,0 +1,91 @@
1
+ import type { GitRepoInfo } from "./types";
2
+ /**
3
+ * Retry функция type
4
+ */
5
+ export type RetryFunction = <T>(fn: () => Promise<T>, operationName?: string) => Promise<T>;
6
+ /**
7
+ * Имя переменной окружения для токена
8
+ */
9
+ export declare const TOKEN_ENV_VAR = "GVR_TOKEN";
10
+ /**
11
+ * Устаревшее имя переменной (для обратной совместимости)
12
+ * @deprecated Используйте GVR_TOKEN
13
+ */
14
+ export declare const LEGACY_TOKEN_ENV_VAR = "GITVERSE_TOKEN";
15
+ /**
16
+ * Результат валидации токена
17
+ */
18
+ export interface TokenValidationResult {
19
+ /** Валиден ли токен */
20
+ valid: boolean;
21
+ /** Имя пользователя (если токен валиден) */
22
+ username?: string;
23
+ /** Сообщение об ошибке (если токен невалиден) */
24
+ error?: string;
25
+ }
26
+ /**
27
+ * Результат получения токена
28
+ */
29
+ interface TokenResult {
30
+ /** Токен */
31
+ token: string;
32
+ /** Имя переменной из которой получен токен */
33
+ source: string;
34
+ /** Использован ли устаревший способ */
35
+ isLegacy: boolean;
36
+ }
37
+ /**
38
+ * Проверяет, запущен ли скрипт в GitVerse Actions CI
39
+ */
40
+ export declare function isGitVerseActionsCI(): boolean;
41
+ /**
42
+ * Получает токен из переменных окружения
43
+ * Приоритет: GVR_TOKEN > GITVERSE_TOKEN (legacy, требует проверки)
44
+ */
45
+ export declare function getToken(): TokenResult | null;
46
+ /**
47
+ * Генерирует сообщение об ошибке отсутствия токена
48
+ */
49
+ export declare function getTokenNotFoundError(): string;
50
+ /**
51
+ * GitVerse API клиент для создания релизов
52
+ */
53
+ export declare class GitVerseReleaseClient {
54
+ private client;
55
+ private repoInfo;
56
+ private retryFn?;
57
+ constructor(token: string, repoInfo: GitRepoInfo, retryFn?: RetryFunction);
58
+ /**
59
+ * Проверяет валидность токена через API
60
+ */
61
+ validateToken(): Promise<TokenValidationResult>;
62
+ /**
63
+ * Создает релиз на GitVerse
64
+ */
65
+ createRelease(tag: string, name: string, body: string, options?: {
66
+ draft?: boolean;
67
+ prerelease?: boolean;
68
+ }): Promise<string>;
69
+ /**
70
+ * Проверяет существование релиза по тегу
71
+ */
72
+ releaseExists(tag: string): Promise<boolean>;
73
+ /**
74
+ * Получает информацию о релизе по тегу
75
+ */
76
+ getRelease(tag: string): Promise<import("@onreza/gitverse-sdk").Release>;
77
+ }
78
+ /**
79
+ * Создает клиент для работы с GitVerse API
80
+ * Примечание: validateGitVerseToken() должен быть вызван до этой функции
81
+ * для проверки токена и вывода deprecation warnings
82
+ */
83
+ export declare function createGitVerseClient(repoInfo: GitRepoInfo, retryFn?: RetryFunction): GitVerseReleaseClient;
84
+ /**
85
+ * Проверяет наличие и валидность токена до начала релиза
86
+ *
87
+ * @param repoInfo Информация о репозитории
88
+ * @returns Результат валидации токена
89
+ */
90
+ export declare function validateGitVerseToken(repoInfo: GitRepoInfo): Promise<TokenValidationResult>;
91
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { CliOptions, ReleaseResult } from "./types";
2
+ /**
3
+ * Основная функция для создания релиза
4
+ */
5
+ export declare function release(packageName?: string, options?: CliOptions): Promise<ReleaseResult>;
6
+ /**
7
+ * Создает только GitVerse Release для существующего тега (без commit/push)
8
+ * Полезно для recovery после failed release в CI/CD
9
+ */
10
+ export declare function createReleaseOnly(tag: string, packageName?: string, configPath?: string): Promise<ReleaseResult>;
11
+ export { generateBinaryPackages, publishBinaries } from "./binaries";
12
+ export { configExists, DEFAULT_BINARIES_CONFIG, DEFAULT_BINARY_PLATFORMS, DEFAULT_CONFIG_FILE_NAME, generateConfigContent, initConfig, loadConfig, validateBinariesConfig, validateConfig, } from "./config";
13
+ export type { TokenValidationResult } from "./gitverse";
14
+ export { createGitVerseClient, getToken, getTokenNotFoundError, isGitVerseActionsCI, LEGACY_TOKEN_ENV_VAR, TOKEN_ENV_VAR, validateGitVerseToken, } from "./gitverse";
15
+ export * from "./types";
16
+ export { ALL_PLATFORMS, expandPlaceholders, getBinaryPath, getPackageName, getPackageOutputPath, getPlatformDir, isValidPlatform, PLATFORM_MAPPINGS, parsePlatforms, platformToNodeValues, validateAllBinaries, validateBinaryExists, } from "./utils/binary-platforms";