relizy 0.1.0 → 0.2.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 +39 -39
- package/dist/cli.mjs +17 -10
- package/dist/index.d.mts +320 -65
- package/dist/index.d.ts +320 -65
- package/dist/index.mjs +5 -5
- package/dist/shared/{relizy.Blp-ymeX.mjs → relizy.CBq0DAtR.mjs} +533 -306
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -3,30 +3,28 @@ import { GitCommit, ChangelogConfig as ChangelogConfig$1, SemverBumpType } from
|
|
|
3
3
|
import { ReleaseType } from 'semver';
|
|
4
4
|
import { DeepPartial } from '@maz-ui/utils';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Generate changelog for a specific package
|
|
8
|
+
*/
|
|
6
9
|
declare function generateChangelog({ pkg, commits, config, from, dryRun, }: {
|
|
7
10
|
pkg: PackageInfo;
|
|
8
11
|
commits: GitCommit[];
|
|
9
|
-
config:
|
|
12
|
+
config: ResolvedRelizyConfig;
|
|
10
13
|
from: string;
|
|
11
14
|
dryRun: boolean;
|
|
12
15
|
}): Promise<string>;
|
|
16
|
+
/**
|
|
17
|
+
* Write changelog to file
|
|
18
|
+
*/
|
|
13
19
|
declare function writeChangelogToFile({ pkg, changelog, dryRun, }: {
|
|
14
20
|
pkg: PackageInfo;
|
|
15
21
|
changelog: string;
|
|
16
22
|
dryRun: boolean;
|
|
17
23
|
}): void;
|
|
18
|
-
declare function executeFormatCmd({ config, dryRun, }: {
|
|
19
|
-
config: ResolvedChangelogMonorepoConfig;
|
|
20
|
-
dryRun: boolean;
|
|
21
|
-
}): Promise<void>;
|
|
22
|
-
declare function executeBuildCmd({ config, dryRun, }: {
|
|
23
|
-
config: ResolvedChangelogMonorepoConfig;
|
|
24
|
-
dryRun: boolean;
|
|
25
|
-
}): Promise<void>;
|
|
26
24
|
|
|
27
25
|
declare function getDefaultConfig(): {
|
|
28
26
|
cwd: string;
|
|
29
|
-
types: NonNullable<
|
|
27
|
+
types: NonNullable<RelizyConfig["types"]>;
|
|
30
28
|
templates: {
|
|
31
29
|
commitMessage: string;
|
|
32
30
|
tagMessage: string;
|
|
@@ -48,17 +46,18 @@ declare function getDefaultConfig(): {
|
|
|
48
46
|
scopeMap: {};
|
|
49
47
|
release: Required<ReleaseConfig>;
|
|
50
48
|
logLevel: LogLevel;
|
|
49
|
+
safetyCheck: boolean;
|
|
51
50
|
};
|
|
52
|
-
declare function
|
|
53
|
-
baseConfig?:
|
|
54
|
-
overrides?: DeepPartial<
|
|
51
|
+
declare function loadRelizyConfig(options?: {
|
|
52
|
+
baseConfig?: ResolvedRelizyConfig;
|
|
53
|
+
overrides?: DeepPartial<RelizyConfig>;
|
|
55
54
|
configName?: string;
|
|
56
|
-
}): Promise<
|
|
57
|
-
type ResolvedConfig =
|
|
58
|
-
type
|
|
55
|
+
}): Promise<ResolvedRelizyConfig>;
|
|
56
|
+
type ResolvedConfig = RelizyConfig & ReturnType<typeof getDefaultConfig>;
|
|
57
|
+
type ResolvedRelizyConfig = ResolvedConfig & {
|
|
59
58
|
output: string;
|
|
60
59
|
};
|
|
61
|
-
declare function defineConfig(config:
|
|
60
|
+
declare function defineConfig(config: RelizyConfig): RelizyConfig;
|
|
62
61
|
|
|
63
62
|
interface PackageWithDeps extends PackageInfo {
|
|
64
63
|
dependencies: string[];
|
|
@@ -103,12 +102,12 @@ declare function parseGitRemoteUrl(remoteUrl: string): {
|
|
|
103
102
|
owner: string;
|
|
104
103
|
repo: string;
|
|
105
104
|
} | null;
|
|
106
|
-
declare function createCommitAndTags({ config, noVerify, bumpedPackages, newVersion, dryRun, logLevel, }
|
|
107
|
-
config
|
|
105
|
+
declare function createCommitAndTags({ config, noVerify, bumpedPackages, newVersion, dryRun, logLevel, }?: {
|
|
106
|
+
config?: ResolvedRelizyConfig;
|
|
108
107
|
noVerify?: boolean;
|
|
109
108
|
bumpedPackages?: PackageInfo[];
|
|
110
109
|
newVersion?: string;
|
|
111
|
-
dryRun
|
|
110
|
+
dryRun?: boolean;
|
|
112
111
|
logLevel?: LogLevel;
|
|
113
112
|
}): Promise<string[]>;
|
|
114
113
|
declare function pushCommitAndTags({ dryRun, logLevel, cwd }: {
|
|
@@ -120,7 +119,7 @@ declare function getFirstCommit(cwd: string): string;
|
|
|
120
119
|
declare function getCurrentGitBranch(cwd: string): string;
|
|
121
120
|
declare function getCurrentGitRef(cwd: string): string;
|
|
122
121
|
|
|
123
|
-
declare function github(options?: Partial<
|
|
122
|
+
declare function github(options?: Partial<ProviderReleaseOptions> & {
|
|
124
123
|
bumpResult?: BumpResult;
|
|
125
124
|
}): Promise<PostedRelease[]>;
|
|
126
125
|
|
|
@@ -149,31 +148,31 @@ interface GitlabReleaseResponse {
|
|
|
149
148
|
};
|
|
150
149
|
}
|
|
151
150
|
declare function createGitlabRelease({ config, release, dryRun, }: {
|
|
152
|
-
config:
|
|
151
|
+
config: ResolvedRelizyConfig;
|
|
153
152
|
release: GitlabRelease;
|
|
154
153
|
dryRun?: boolean;
|
|
155
154
|
}): Promise<GitlabReleaseResponse>;
|
|
156
|
-
declare function gitlab(options?: Partial<
|
|
155
|
+
declare function gitlab(options?: Partial<ProviderReleaseOptions> & {
|
|
157
156
|
bumpResult?: BumpResult;
|
|
158
157
|
}): Promise<PostedRelease[]>;
|
|
159
158
|
|
|
160
159
|
declare function getPackages({ cwd, patterns, ignorePackageNames, }: {
|
|
161
160
|
cwd: string;
|
|
162
161
|
patterns?: string[];
|
|
163
|
-
ignorePackageNames: NonNullable<
|
|
162
|
+
ignorePackageNames: NonNullable<ResolvedRelizyConfig['monorepo']>['ignorePackageNames'];
|
|
164
163
|
}): PackageInfo[];
|
|
165
164
|
declare function getPackageCommits({ pkg, from, to, config, changelog, }: {
|
|
166
165
|
pkg: PackageInfo;
|
|
167
166
|
from: string;
|
|
168
167
|
to: string;
|
|
169
|
-
config:
|
|
168
|
+
config: ResolvedRelizyConfig;
|
|
170
169
|
changelog: boolean;
|
|
171
170
|
}): Promise<GitCommit[]>;
|
|
172
171
|
declare function getRootPackage(rootDir: string): PackageInfo;
|
|
173
172
|
declare function hasLernaJson(rootDir: string): boolean;
|
|
174
173
|
declare function getPackageToBump({ packages, config, from, to, }: {
|
|
175
174
|
packages: PackageInfo[];
|
|
176
|
-
config:
|
|
175
|
+
config: ResolvedRelizyConfig;
|
|
177
176
|
from: string;
|
|
178
177
|
to: string;
|
|
179
178
|
}): Promise<PackageToBump[]>;
|
|
@@ -181,10 +180,10 @@ declare function getPackageToBump({ packages, config, from, to, }: {
|
|
|
181
180
|
declare function detectPackageManager(cwd?: string): PackageManager;
|
|
182
181
|
declare function determinePublishTag(version: string | undefined, configTag?: string): string;
|
|
183
182
|
declare function getPackagesToPublishInSelectiveMode(sortedPackages: PackageWithDeps[], rootVersion: string | undefined): PackageInfo[];
|
|
184
|
-
declare function getPackagesToPublishInIndependentMode(sortedPackages: PackageWithDeps[], config:
|
|
183
|
+
declare function getPackagesToPublishInIndependentMode(sortedPackages: PackageWithDeps[], config: ResolvedRelizyConfig): Promise<PackageInfo[]>;
|
|
185
184
|
declare function publishPackage({ pkg, config, packageManager, dryRun, }: {
|
|
186
185
|
pkg: PackageInfo;
|
|
187
|
-
config:
|
|
186
|
+
config: ResolvedRelizyConfig;
|
|
188
187
|
packageManager: PackageManager;
|
|
189
188
|
dryRun: boolean;
|
|
190
189
|
}): Promise<void>;
|
|
@@ -206,7 +205,7 @@ interface ResolvedTags {
|
|
|
206
205
|
to: string;
|
|
207
206
|
}
|
|
208
207
|
interface ResolveTagsOptions<VM extends VersionMode, S extends Step, Package = VM extends 'independent' ? PackageInfo : undefined, NewVersion = S extends 'bump' | 'changelog' ? undefined : string, CurrentVersion = S extends 'bump' | 'changelog' ? string : undefined> {
|
|
209
|
-
config:
|
|
208
|
+
config: ResolvedRelizyConfig;
|
|
210
209
|
versionMode: VM;
|
|
211
210
|
step: S;
|
|
212
211
|
pkg: Package;
|
|
@@ -216,12 +215,39 @@ interface ResolveTagsOptions<VM extends VersionMode, S extends Step, Package = V
|
|
|
216
215
|
}
|
|
217
216
|
declare function resolveTags<T extends VersionMode, S extends Step>({ config, versionMode, step, pkg, currentVersion, newVersion, logLevel, }: ResolveTagsOptions<T, S>): Promise<ResolvedTags>;
|
|
218
217
|
|
|
218
|
+
/**
|
|
219
|
+
* Execute a hook
|
|
220
|
+
*/
|
|
221
|
+
declare function executeHook(hook: keyof HookConfig, config: ResolvedRelizyConfig, dryRun: boolean, params?: any): Promise<any>;
|
|
222
|
+
/**
|
|
223
|
+
* Check if we are in a CI environment
|
|
224
|
+
*/
|
|
225
|
+
declare function isInCI(): boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Get CI name
|
|
228
|
+
*/
|
|
229
|
+
declare function getCIName(): string | null;
|
|
230
|
+
/**
|
|
231
|
+
* Execute format command
|
|
232
|
+
*/
|
|
233
|
+
declare function executeFormatCmd({ config, dryRun, }: {
|
|
234
|
+
config: ResolvedRelizyConfig;
|
|
235
|
+
dryRun: boolean;
|
|
236
|
+
}): Promise<void>;
|
|
237
|
+
/**
|
|
238
|
+
* Execute build command
|
|
239
|
+
*/
|
|
240
|
+
declare function executeBuildCmd({ config, dryRun, }: {
|
|
241
|
+
config: ResolvedRelizyConfig;
|
|
242
|
+
dryRun: boolean;
|
|
243
|
+
}): Promise<void>;
|
|
244
|
+
|
|
219
245
|
declare function determineReleaseType({ currentVersion, from, to, commits, config, force, }: {
|
|
220
246
|
currentVersion: string;
|
|
221
247
|
from: string;
|
|
222
248
|
to: string;
|
|
223
249
|
commits?: GitCommit[];
|
|
224
|
-
config:
|
|
250
|
+
config: ResolvedRelizyConfig;
|
|
225
251
|
force: boolean;
|
|
226
252
|
}): BumpOptions['type'] | null;
|
|
227
253
|
declare function writeVersion(pkgPath: string, version: string, dryRun?: boolean): void;
|
|
@@ -256,7 +282,7 @@ declare function bumpPackageIndependently({ pkg, dryRun, }: {
|
|
|
256
282
|
};
|
|
257
283
|
declare function confirmBump({ versionMode, config, packages, force, currentVersion, newVersion, dryRun, }: {
|
|
258
284
|
versionMode: VersionMode;
|
|
259
|
-
config:
|
|
285
|
+
config: ResolvedRelizyConfig;
|
|
260
286
|
packages: PackageInfo[];
|
|
261
287
|
force: boolean;
|
|
262
288
|
currentVersion?: string;
|
|
@@ -265,7 +291,7 @@ declare function confirmBump({ versionMode, config, packages, force, currentVers
|
|
|
265
291
|
}): Promise<void>;
|
|
266
292
|
declare function findPackagesWithCommitsAndCalculateVersions({ packages, config, force, suffix, }: {
|
|
267
293
|
packages: PackageInfo[];
|
|
268
|
-
config:
|
|
294
|
+
config: ResolvedRelizyConfig;
|
|
269
295
|
force: boolean;
|
|
270
296
|
suffix: string | undefined;
|
|
271
297
|
}): Promise<(PackageInfo & PackageToBump)[]>;
|
|
@@ -276,43 +302,90 @@ declare function bumpIndependentPackages({ packages, dryRun, }: {
|
|
|
276
302
|
|
|
277
303
|
type VersionMode = 'unified' | 'independent' | 'selective';
|
|
278
304
|
type GitProvider = 'github' | 'gitlab';
|
|
305
|
+
type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun';
|
|
279
306
|
interface PackageInfo {
|
|
307
|
+
/**
|
|
308
|
+
* Package name
|
|
309
|
+
*/
|
|
280
310
|
name: string;
|
|
311
|
+
/**
|
|
312
|
+
* Package path
|
|
313
|
+
*/
|
|
281
314
|
path: string;
|
|
315
|
+
/**
|
|
316
|
+
* Current version
|
|
317
|
+
*/
|
|
282
318
|
currentVersion: string;
|
|
319
|
+
/**
|
|
320
|
+
* New version
|
|
321
|
+
*/
|
|
283
322
|
version: string;
|
|
323
|
+
/**
|
|
324
|
+
* Tag name
|
|
325
|
+
*/
|
|
284
326
|
fromTag?: string;
|
|
285
327
|
}
|
|
286
328
|
interface PackageWithCommits extends PackageInfo {
|
|
329
|
+
/**
|
|
330
|
+
* Commits
|
|
331
|
+
*/
|
|
287
332
|
commits: GitCommit[];
|
|
288
333
|
}
|
|
289
334
|
interface PublishResponse {
|
|
290
335
|
publishedPackages: PackageInfo[];
|
|
291
336
|
}
|
|
292
337
|
type BumpResult = {
|
|
338
|
+
/**
|
|
339
|
+
* Old version
|
|
340
|
+
*/
|
|
293
341
|
oldVersion?: string;
|
|
342
|
+
/**
|
|
343
|
+
* New version
|
|
344
|
+
*/
|
|
294
345
|
newVersion?: string;
|
|
346
|
+
/**
|
|
347
|
+
* Tag name
|
|
348
|
+
*/
|
|
295
349
|
fromTag?: string;
|
|
350
|
+
/**
|
|
351
|
+
* Bumped packages
|
|
352
|
+
*/
|
|
296
353
|
bumpedPackages: PackageInfo[];
|
|
354
|
+
/**
|
|
355
|
+
* Bumped
|
|
356
|
+
*/
|
|
297
357
|
bumped: true;
|
|
298
358
|
} | {
|
|
359
|
+
/**
|
|
360
|
+
* Bumped
|
|
361
|
+
*/
|
|
299
362
|
bumped: false;
|
|
300
363
|
};
|
|
301
364
|
interface PostedRelease {
|
|
365
|
+
/**
|
|
366
|
+
* Release name
|
|
367
|
+
*/
|
|
302
368
|
name: string;
|
|
369
|
+
/**
|
|
370
|
+
* Release tag
|
|
371
|
+
*/
|
|
303
372
|
tag: string;
|
|
373
|
+
/**
|
|
374
|
+
* Is prerelease
|
|
375
|
+
*/
|
|
304
376
|
prerelease: boolean;
|
|
377
|
+
/**
|
|
378
|
+
* Release version
|
|
379
|
+
*/
|
|
305
380
|
version: string;
|
|
306
381
|
}
|
|
307
382
|
interface MonorepoConfig {
|
|
308
383
|
/**
|
|
309
384
|
* Version mode for the monorepo.
|
|
310
|
-
* @required
|
|
311
385
|
*/
|
|
312
386
|
versionMode: VersionMode;
|
|
313
387
|
/**
|
|
314
388
|
* Glob pattern matching for packages to bump.
|
|
315
|
-
* @required
|
|
316
389
|
*/
|
|
317
390
|
packages: string[];
|
|
318
391
|
/**
|
|
@@ -322,16 +395,23 @@ interface MonorepoConfig {
|
|
|
322
395
|
ignorePackageNames?: string[];
|
|
323
396
|
}
|
|
324
397
|
type ConfigType = {
|
|
398
|
+
/**
|
|
399
|
+
* Title
|
|
400
|
+
*/
|
|
325
401
|
title: string;
|
|
402
|
+
/**
|
|
403
|
+
* Semver bump type
|
|
404
|
+
*/
|
|
326
405
|
semver?: SemverBumpType;
|
|
327
406
|
} | boolean;
|
|
328
407
|
interface BumpConfig {
|
|
329
408
|
/**
|
|
409
|
+
* Release type (e.g. 'major', 'minor', 'patch', 'prerelease', 'prepatch', 'preminor', 'premajor')
|
|
330
410
|
* @default 'release'
|
|
331
411
|
*/
|
|
332
412
|
type?: ReleaseType;
|
|
333
413
|
/**
|
|
334
|
-
*
|
|
414
|
+
* Prerelease identifier (e.g. 'beta', 'alpha')
|
|
335
415
|
*/
|
|
336
416
|
preid?: string;
|
|
337
417
|
/**
|
|
@@ -340,7 +420,7 @@ interface BumpConfig {
|
|
|
340
420
|
*/
|
|
341
421
|
clean?: boolean;
|
|
342
422
|
/**
|
|
343
|
-
* Include
|
|
423
|
+
* Include dependencies when bumping.
|
|
344
424
|
* @default ['dependencies']
|
|
345
425
|
*/
|
|
346
426
|
dependencyTypes?: ('dependencies' | 'devDependencies' | 'peerDependencies')[];
|
|
@@ -352,81 +432,175 @@ interface BumpConfig {
|
|
|
352
432
|
}
|
|
353
433
|
interface BumpOptions extends BumpConfig {
|
|
354
434
|
/**
|
|
435
|
+
* Run without side effects
|
|
355
436
|
* @default false
|
|
356
437
|
*/
|
|
357
438
|
dryRun?: boolean;
|
|
358
439
|
/**
|
|
359
|
-
*
|
|
440
|
+
* Use custom config
|
|
360
441
|
*/
|
|
361
|
-
config?:
|
|
442
|
+
config?: ResolvedRelizyConfig;
|
|
362
443
|
/**
|
|
363
|
-
*
|
|
444
|
+
* Set log level
|
|
364
445
|
*/
|
|
365
446
|
logLevel?: LogLevel;
|
|
366
447
|
/**
|
|
448
|
+
* Bump all packages even if there are no commits
|
|
367
449
|
* @default false
|
|
368
450
|
*/
|
|
369
451
|
force?: boolean;
|
|
370
452
|
/**
|
|
453
|
+
* Custom config file name (e.g. `relizy.standalone` for `relizy.standalone.config.ts`)
|
|
371
454
|
* @default 'relizy'
|
|
372
455
|
*/
|
|
373
456
|
configName?: string;
|
|
374
457
|
/**
|
|
375
458
|
* Custom suffix for prerelease versions - replace the last .X with .suffix (e.g. 1.0.0-beta.0 -> 1.0.0-beta.suffix)
|
|
376
|
-
* @default undefined
|
|
377
459
|
*/
|
|
378
460
|
suffix?: string;
|
|
379
461
|
}
|
|
380
462
|
interface ChangelogConfig {
|
|
463
|
+
/**
|
|
464
|
+
* Command to format the changelog (e.g. `prettier --write CHANGELOG.md`).
|
|
465
|
+
*/
|
|
381
466
|
formatCmd?: string;
|
|
467
|
+
/**
|
|
468
|
+
* Generate changelog at root level with all changes
|
|
469
|
+
* @default true
|
|
470
|
+
*/
|
|
382
471
|
rootChangelog?: boolean;
|
|
383
472
|
/**
|
|
384
473
|
* Include commit body in the changelog.
|
|
385
|
-
* @default
|
|
474
|
+
* @default true
|
|
386
475
|
*/
|
|
387
476
|
includeCommitBody?: boolean;
|
|
388
477
|
}
|
|
389
478
|
interface ChangelogOptions extends ChangelogConfig {
|
|
479
|
+
/**
|
|
480
|
+
* Start tag
|
|
481
|
+
*/
|
|
390
482
|
from?: string;
|
|
483
|
+
/**
|
|
484
|
+
* End tag
|
|
485
|
+
*/
|
|
391
486
|
to?: string;
|
|
487
|
+
/**
|
|
488
|
+
* Run without side effects
|
|
489
|
+
* @default false
|
|
490
|
+
*/
|
|
392
491
|
dryRun?: boolean;
|
|
492
|
+
/**
|
|
493
|
+
* Bumped packages
|
|
494
|
+
*/
|
|
393
495
|
bumpedPackages?: PackageInfo[];
|
|
394
|
-
|
|
496
|
+
/**
|
|
497
|
+
* Use custom config
|
|
498
|
+
*/
|
|
499
|
+
config?: ResolvedRelizyConfig;
|
|
500
|
+
/**
|
|
501
|
+
* Set log level
|
|
502
|
+
*/
|
|
395
503
|
logLevel?: LogLevel;
|
|
504
|
+
/**
|
|
505
|
+
* Custom config file name (e.g. `relizy.standalone` for `relizy.standalone.config.ts`)
|
|
506
|
+
* @default 'relizy'
|
|
507
|
+
*/
|
|
396
508
|
configName?: string;
|
|
397
509
|
}
|
|
398
|
-
interface
|
|
510
|
+
interface ProviderReleaseOptions {
|
|
511
|
+
/**
|
|
512
|
+
* Start tag
|
|
513
|
+
*/
|
|
399
514
|
from?: string;
|
|
515
|
+
/**
|
|
516
|
+
* End tag
|
|
517
|
+
*/
|
|
400
518
|
to?: string;
|
|
519
|
+
/**
|
|
520
|
+
* Git token (GitHub or GitLab)
|
|
521
|
+
*/
|
|
401
522
|
token?: string;
|
|
402
|
-
|
|
523
|
+
/**
|
|
524
|
+
* Use custom config
|
|
525
|
+
*/
|
|
526
|
+
config?: ResolvedRelizyConfig;
|
|
527
|
+
/**
|
|
528
|
+
* Custom config file name (e.g. `relizy.standalone` for `relizy.standalone.config.ts`)
|
|
529
|
+
* @default 'relizy'
|
|
530
|
+
*/
|
|
403
531
|
configName?: string;
|
|
532
|
+
/**
|
|
533
|
+
* Git provider
|
|
534
|
+
* @default 'github'
|
|
535
|
+
*/
|
|
404
536
|
provider?: GitProvider;
|
|
537
|
+
/**
|
|
538
|
+
* Bump result
|
|
539
|
+
*/
|
|
405
540
|
bumpResult?: BumpResult;
|
|
541
|
+
/**
|
|
542
|
+
* Set log level
|
|
543
|
+
*/
|
|
406
544
|
logLevel?: LogLevel;
|
|
545
|
+
/**
|
|
546
|
+
* Run without side effects
|
|
547
|
+
* @default false
|
|
548
|
+
*/
|
|
407
549
|
dryRun?: boolean;
|
|
550
|
+
/**
|
|
551
|
+
* Skip safety check
|
|
552
|
+
* @default false
|
|
553
|
+
*/
|
|
554
|
+
safetyCheck?: boolean;
|
|
408
555
|
}
|
|
409
556
|
type PublishConfig = ChangelogConfig$1['publish'] & {
|
|
557
|
+
/**
|
|
558
|
+
* NPM registry URL (e.g. `https://registry.npmjs.org/`)
|
|
559
|
+
*/
|
|
410
560
|
registry?: string;
|
|
561
|
+
/**
|
|
562
|
+
* NPM tag (e.g. `latest`)
|
|
563
|
+
*/
|
|
411
564
|
tag?: string;
|
|
565
|
+
/**
|
|
566
|
+
* NPM access level (e.g. `public` or `restricted`)
|
|
567
|
+
*/
|
|
412
568
|
access?: 'public' | 'restricted';
|
|
569
|
+
/**
|
|
570
|
+
* NPM OTP (e.g. `123456`)
|
|
571
|
+
*/
|
|
413
572
|
otp?: string;
|
|
414
573
|
/**
|
|
415
|
-
* Glob pattern matching for packages to publish
|
|
416
|
-
* @default undefined
|
|
574
|
+
* Glob pattern matching for packages to publish
|
|
417
575
|
*/
|
|
418
576
|
packages?: string[];
|
|
419
577
|
/**
|
|
420
|
-
* Command to build your packages before publishing.
|
|
421
|
-
* @default undefined
|
|
578
|
+
* Command to build your packages before publishing (e.g. `pnpm build`)
|
|
422
579
|
*/
|
|
423
580
|
buildCmd?: string;
|
|
424
581
|
};
|
|
425
582
|
interface PublishOptions extends PublishConfig {
|
|
583
|
+
/**
|
|
584
|
+
* Run without side effects
|
|
585
|
+
* @default false
|
|
586
|
+
*/
|
|
426
587
|
dryRun?: boolean;
|
|
427
|
-
|
|
588
|
+
/**
|
|
589
|
+
* Use custom config
|
|
590
|
+
*/
|
|
591
|
+
config?: ResolvedRelizyConfig;
|
|
592
|
+
/**
|
|
593
|
+
* Bumped packages
|
|
594
|
+
*/
|
|
428
595
|
bumpedPackages?: PackageInfo[];
|
|
596
|
+
/**
|
|
597
|
+
* Set log level
|
|
598
|
+
*/
|
|
429
599
|
logLevel?: LogLevel;
|
|
600
|
+
/**
|
|
601
|
+
* Custom config file name (e.g. `relizy.standalone` for `relizy.standalone.config.ts`)
|
|
602
|
+
* @default 'relizy'
|
|
603
|
+
*/
|
|
430
604
|
configName?: string;
|
|
431
605
|
}
|
|
432
606
|
interface ReleaseConfig {
|
|
@@ -449,7 +623,7 @@ interface ReleaseConfig {
|
|
|
449
623
|
* Publish release to your repository (github or gitlab)
|
|
450
624
|
* @default true
|
|
451
625
|
*/
|
|
452
|
-
|
|
626
|
+
providerRelease?: boolean;
|
|
453
627
|
/**
|
|
454
628
|
* Publish release to your registry
|
|
455
629
|
* @default true
|
|
@@ -473,19 +647,15 @@ interface ReleaseOptions extends ReleaseConfig, BumpConfig, ChangelogConfig, Pub
|
|
|
473
647
|
*/
|
|
474
648
|
dryRun?: boolean;
|
|
475
649
|
/**
|
|
476
|
-
* @default undefined
|
|
477
650
|
*/
|
|
478
651
|
from?: string;
|
|
479
652
|
/**
|
|
480
|
-
* @default undefined
|
|
481
653
|
*/
|
|
482
654
|
to?: string;
|
|
483
655
|
/**
|
|
484
|
-
* @default undefined
|
|
485
656
|
*/
|
|
486
657
|
token?: string;
|
|
487
658
|
/**
|
|
488
|
-
* @default undefined
|
|
489
659
|
*/
|
|
490
660
|
logLevel?: LogLevel;
|
|
491
661
|
/**
|
|
@@ -499,52 +669,137 @@ interface ReleaseOptions extends ReleaseConfig, BumpConfig, ChangelogConfig, Pub
|
|
|
499
669
|
force?: boolean;
|
|
500
670
|
/**
|
|
501
671
|
* Custom suffix for prerelease versions - replace the last .X with .suffix (e.g. 1.0.0-beta.0 -> 1.0.0-beta.suffix)
|
|
502
|
-
* @default undefined
|
|
503
672
|
*/
|
|
504
673
|
suffix?: string;
|
|
674
|
+
/**
|
|
675
|
+
* Git provider (e.g. `github` or `gitlab`)
|
|
676
|
+
* @default 'github'
|
|
677
|
+
*/
|
|
678
|
+
provider?: GitProvider;
|
|
679
|
+
/**
|
|
680
|
+
* Skip safety check
|
|
681
|
+
* @default true
|
|
682
|
+
*/
|
|
683
|
+
safetyCheck?: boolean;
|
|
505
684
|
}
|
|
506
685
|
interface TemplatesConfig {
|
|
686
|
+
/**
|
|
687
|
+
* Commit message template
|
|
688
|
+
*/
|
|
507
689
|
commitMessage?: string;
|
|
690
|
+
/**
|
|
691
|
+
* Tag message template
|
|
692
|
+
*/
|
|
508
693
|
tagMessage?: string;
|
|
509
694
|
/**
|
|
510
695
|
* Not used with "independent" version mode
|
|
511
696
|
*/
|
|
512
697
|
tagBody?: string;
|
|
698
|
+
/**
|
|
699
|
+
* Empty changelog content
|
|
700
|
+
*/
|
|
513
701
|
emptyChangelogContent?: string;
|
|
514
702
|
}
|
|
515
703
|
interface RepoConfig {
|
|
704
|
+
/**
|
|
705
|
+
* Git domain (e.g. `github.com`)
|
|
706
|
+
*/
|
|
516
707
|
domain?: string;
|
|
708
|
+
/**
|
|
709
|
+
* Git repository (e.g. `user/repo`)
|
|
710
|
+
*/
|
|
517
711
|
repo?: string;
|
|
712
|
+
/**
|
|
713
|
+
* Git token
|
|
714
|
+
*/
|
|
518
715
|
token?: string;
|
|
716
|
+
/**
|
|
717
|
+
* Git provider (e.g. `github` or `gitlab`)
|
|
718
|
+
* @default 'github'
|
|
719
|
+
*/
|
|
519
720
|
provider?: GitProvider;
|
|
520
721
|
}
|
|
521
|
-
|
|
722
|
+
type HookType = 'before' | 'after' | 'error';
|
|
723
|
+
type HookStep = 'bump' | 'changelog' | 'commit-and-tag' | 'provider-release' | 'publish' | 'push' | 'release';
|
|
724
|
+
/**
|
|
725
|
+
* Hooks configuration
|
|
726
|
+
* Useful to run custom scripts before, after a step or on error
|
|
727
|
+
*/
|
|
728
|
+
type HookConfig = {
|
|
729
|
+
[K in `${HookType}:${HookStep}`]?: string | ((config: ResolvedRelizyConfig, dryRun: boolean) => any);
|
|
730
|
+
} & {
|
|
731
|
+
'generate:changelog'?: (config: ResolvedRelizyConfig, dryRun: boolean, params: {
|
|
732
|
+
commits: GitCommit[];
|
|
733
|
+
changelog: string;
|
|
734
|
+
}) => string | void | null | undefined | Promise<string | void | null | undefined>;
|
|
735
|
+
};
|
|
736
|
+
interface RelizyConfig extends Partial<Omit<ChangelogConfig$1, 'output' | 'templates' | 'publish'>> {
|
|
737
|
+
/**
|
|
738
|
+
* Current working directory
|
|
739
|
+
* @default process.cwd()
|
|
740
|
+
*/
|
|
522
741
|
cwd?: string;
|
|
742
|
+
/**
|
|
743
|
+
* Start tag
|
|
744
|
+
*/
|
|
523
745
|
from?: string;
|
|
746
|
+
/**
|
|
747
|
+
* End tag
|
|
748
|
+
*/
|
|
524
749
|
to?: string;
|
|
525
750
|
/**
|
|
526
|
-
*
|
|
527
|
-
versionMode: 'selective',
|
|
528
|
-
packages: ['packages/*'],
|
|
529
|
-
ignorePackageNames: [],
|
|
530
|
-
}`
|
|
751
|
+
* Monorepo config
|
|
531
752
|
*/
|
|
532
753
|
monorepo?: MonorepoConfig;
|
|
754
|
+
/**
|
|
755
|
+
* Repo config
|
|
756
|
+
*/
|
|
533
757
|
repo?: RepoConfig;
|
|
758
|
+
/**
|
|
759
|
+
* Templates config
|
|
760
|
+
*/
|
|
534
761
|
templates?: TemplatesConfig;
|
|
762
|
+
/**
|
|
763
|
+
* Bump config
|
|
764
|
+
*/
|
|
535
765
|
bump?: BumpConfig;
|
|
766
|
+
/**
|
|
767
|
+
* Publish config
|
|
768
|
+
*/
|
|
536
769
|
publish?: PublishConfig;
|
|
770
|
+
/**
|
|
771
|
+
* Changelog config
|
|
772
|
+
*/
|
|
537
773
|
changelog?: ChangelogConfig;
|
|
774
|
+
/**
|
|
775
|
+
* Release config
|
|
776
|
+
*/
|
|
538
777
|
release?: ReleaseConfig;
|
|
778
|
+
/**
|
|
779
|
+
* Hooks config
|
|
780
|
+
*/
|
|
781
|
+
hooks?: HookConfig;
|
|
782
|
+
/**
|
|
783
|
+
* Set log level
|
|
784
|
+
* @default 'default'
|
|
785
|
+
*/
|
|
539
786
|
logLevel?: LogLevel;
|
|
787
|
+
/**
|
|
788
|
+
* The safety check will verify if tokens or others required for release are set (depends on the release options)
|
|
789
|
+
* @default true
|
|
790
|
+
*/
|
|
791
|
+
safetyCheck?: boolean;
|
|
540
792
|
}
|
|
541
|
-
type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun';
|
|
542
793
|
|
|
543
794
|
declare function bump(options?: Partial<BumpOptions>): Promise<BumpResult>;
|
|
544
795
|
|
|
545
796
|
declare function changelog(options?: Partial<ChangelogOptions>): Promise<void>;
|
|
546
797
|
|
|
547
|
-
declare function
|
|
798
|
+
declare function providerReleaseSafetyCheck({ config, provider }: {
|
|
799
|
+
config: ResolvedRelizyConfig;
|
|
800
|
+
provider?: GitProvider | null;
|
|
801
|
+
}): void;
|
|
802
|
+
declare function providerRelease(options?: Partial<ProviderReleaseOptions>): Promise<{
|
|
548
803
|
detectedProvider: GitProvider;
|
|
549
804
|
postedReleases: PostedRelease[];
|
|
550
805
|
}>;
|
|
@@ -555,5 +810,5 @@ declare function publish(options?: Partial<PublishOptions>): Promise<{
|
|
|
555
810
|
|
|
556
811
|
declare function release(options?: Partial<ReleaseOptions>): Promise<void>;
|
|
557
812
|
|
|
558
|
-
export { bump, bumpIndependentPackages, bumpPackageIndependently, bumpPackageVersion, changelog, checkGitStatusIfDirty, confirmBump, createCommitAndTags, createGitlabRelease, defineConfig, detectGitProvider, detectPackageManager, determinePublishTag, determineReleaseType, executeBuildCmd, executeFormatCmd, expandPackagesToBumpWithDependents, extractVersionFromPackageTag, fetchGitTags, findPackagesWithCommitsAndCalculateVersions, generateChangelog, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getLastPackageTag, getLastRepoTag, getPackageCommits, getPackageDependencies, getPackageToBump, getPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPackagesWithDependencies, getPreid, getRootPackage, github, gitlab, hasLernaJson, isChangedPreid, isGraduating, isPrerelease, isPrereleaseReleaseType, isStableReleaseType,
|
|
559
|
-
export type { BumpConfig, BumpOptions, BumpResult, ChangelogConfig,
|
|
813
|
+
export { bump, bumpIndependentPackages, bumpPackageIndependently, bumpPackageVersion, changelog, checkGitStatusIfDirty, confirmBump, createCommitAndTags, createGitlabRelease, defineConfig, detectGitProvider, detectPackageManager, determinePublishTag, determineReleaseType, executeBuildCmd, executeFormatCmd, executeHook, expandPackagesToBumpWithDependents, extractVersionFromPackageTag, fetchGitTags, findPackagesWithCommitsAndCalculateVersions, generateChangelog, getCIName, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getLastPackageTag, getLastRepoTag, getPackageCommits, getPackageDependencies, getPackageToBump, getPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPackagesWithDependencies, getPreid, getRootPackage, github, gitlab, hasLernaJson, isChangedPreid, isGraduating, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, loadRelizyConfig, parseGitRemoteUrl, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, pushCommitAndTags, release, resolveTags, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
|
|
814
|
+
export type { BumpConfig, BumpOptions, BumpResult, ChangelogConfig, ChangelogOptions, ConfigType, GitProvider, GitlabRelease, GitlabReleaseResponse, HookConfig, HookStep, HookType, MonorepoConfig, PackageInfo, PackageManager, PackageToBump, PackageWithCommits, PackageWithDeps, PostedRelease, ProviderReleaseOptions, PublishConfig, PublishOptions, PublishResponse, ReleaseConfig, ReleaseOptions, RelizyConfig, RepoConfig, ResolveTagsOptions, ResolvedConfig, ResolvedRelizyConfig, ResolvedTags, Step, TemplatesConfig, VersionMode };
|