relizy 0.1.0 → 0.2.0-beta.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/dist/index.d.ts 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: ResolvedChangelogMonorepoConfig;
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<ChangelogMonorepoConfig["types"]>;
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 loadMonorepoConfig({ baseConfig, overrides, configName }: {
53
- baseConfig?: ResolvedChangelogMonorepoConfig;
54
- overrides?: DeepPartial<ChangelogMonorepoConfig>;
51
+ declare function loadRelizyConfig(options?: {
52
+ baseConfig?: ResolvedRelizyConfig;
53
+ overrides?: DeepPartial<RelizyConfig>;
55
54
  configName?: string;
56
- }): Promise<ResolvedChangelogMonorepoConfig>;
57
- type ResolvedConfig = ChangelogMonorepoConfig & ReturnType<typeof getDefaultConfig>;
58
- type ResolvedChangelogMonorepoConfig = ResolvedConfig & {
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: ChangelogMonorepoConfig): ChangelogMonorepoConfig;
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: ResolvedChangelogMonorepoConfig;
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: boolean;
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<GitProviderOptions> & {
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: ResolvedChangelogMonorepoConfig;
151
+ config: ResolvedRelizyConfig;
153
152
  release: GitlabRelease;
154
153
  dryRun?: boolean;
155
154
  }): Promise<GitlabReleaseResponse>;
156
- declare function gitlab(options?: Partial<GitProviderOptions> & {
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<ResolvedChangelogMonorepoConfig['monorepo']>['ignorePackageNames'];
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: ResolvedChangelogMonorepoConfig;
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: ResolvedChangelogMonorepoConfig;
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: ResolvedChangelogMonorepoConfig): Promise<PackageInfo[]>;
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: ResolvedChangelogMonorepoConfig;
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: ResolvedChangelogMonorepoConfig;
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: ResolvedChangelogMonorepoConfig;
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: ResolvedChangelogMonorepoConfig;
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: ResolvedChangelogMonorepoConfig;
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
- * @default undefined
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 dev dependencies when bumping.
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
- * @default undefined
440
+ * Use custom config
360
441
  */
361
- config?: ResolvedChangelogMonorepoConfig;
442
+ config?: ResolvedRelizyConfig;
362
443
  /**
363
- * @default undefined
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 false
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
- config?: ResolvedChangelogMonorepoConfig;
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 GitProviderOptions {
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
- config?: ResolvedChangelogMonorepoConfig;
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
- config?: ResolvedChangelogMonorepoConfig;
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
- release?: boolean;
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
- interface ChangelogMonorepoConfig extends Partial<Omit<ChangelogConfig$1, 'output' | 'templates' | 'publish'>> {
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
- * @default `{
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 providerRelease(options?: Partial<GitProviderOptions>): Promise<{
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, loadMonorepoConfig, parseGitRemoteUrl, providerRelease, publish, publishPackage, pushCommitAndTags, release, resolveTags, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
559
- export type { BumpConfig, BumpOptions, BumpResult, ChangelogConfig, ChangelogMonorepoConfig, ChangelogOptions, ConfigType, GitProvider, GitProviderOptions, GitlabRelease, GitlabReleaseResponse, MonorepoConfig, PackageInfo, PackageManager, PackageToBump, PackageWithCommits, PackageWithDeps, PostedRelease, PublishConfig, PublishOptions, PublishResponse, ReleaseConfig, ReleaseOptions, RepoConfig, ResolvedChangelogMonorepoConfig, TemplatesConfig, VersionMode };
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 };