relizy 1.4.0-beta.0 → 1.4.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/cli.mjs CHANGED
@@ -5,7 +5,7 @@ import process from 'node:process';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  import { printBanner, logger } from '@maz-ui/node';
7
7
  import { Command } from 'commander';
8
- import { ao as isInCI, ap as getCIName, b as bump, c as changelog, g as publish, e as providerRelease, h as social, p as prComment, r as release } from './shared/relizy.CxbwJj6k.mjs';
8
+ import { aq as isInCI, ar as getCIName, b as bump, c as changelog, g as publish, e as providerRelease, h as social, p as prComment, r as release } from './shared/relizy.-haCClxZ.mjs';
9
9
  import 'node:child_process';
10
10
  import '@maz-ui/utils';
11
11
  import 'c12';
package/dist/index.d.mts CHANGED
@@ -62,6 +62,7 @@ declare function getDefaultConfig(): {
62
62
  onlyStable: boolean;
63
63
  postMaxLength: number;
64
64
  noAuthors: boolean;
65
+ noPackages: boolean;
65
66
  };
66
67
  };
67
68
  prComment: Required<PrCommentConfig>;
@@ -280,6 +281,37 @@ declare function publishPackage({ pkg, config, packageManager, dryRun, }: {
280
281
  dryRun: boolean;
281
282
  }): Promise<void>;
282
283
 
284
+ /**
285
+ * A package entry as consumed by release-summary renderers (PR comments, Slack messages, etc.).
286
+ * Normalizes the three possible shapes of "which packages shipped and at what version":
287
+ * - `bumpedPackages` from a monorepo bump (has both `oldVersion` and `newVersion`)
288
+ * - `packages` in standalone CLI mode (only `version`, no transition)
289
+ * - a mixed case where a bumped package didn't produce a new version
290
+ */
291
+ interface PackageBumpEntry {
292
+ /** Package name (e.g. `@acme/ui`) */
293
+ name: string;
294
+ /** Version before the release — only set when a real transition happened */
295
+ oldVersion?: string;
296
+ /** Version after the release — only set when a real transition happened */
297
+ newVersion?: string;
298
+ /** Fallback version when there is no old→new transition (standalone mode, graduations) */
299
+ version: string;
300
+ /** True when `oldVersion` and `newVersion` are both set AND differ */
301
+ hasTransition: boolean;
302
+ }
303
+ /**
304
+ * Collect package release data in a renderer-agnostic shape.
305
+ * Shared by the PR-comment GFM table and the Slack mrkdwn list.
306
+ */
307
+ declare function collectPackageBumps({ bumpedPackages, packages, }: {
308
+ bumpedPackages?: BumpResultTruthy['bumpedPackages'];
309
+ packages?: Array<{
310
+ name: string;
311
+ version: string;
312
+ }>;
313
+ }): PackageBumpEntry[];
314
+
283
315
  interface PullRequestInfo {
284
316
  /**
285
317
  * PR/MR number
@@ -370,10 +402,16 @@ declare function getSlackWebhookUrl(options: {
370
402
  * Format changelog for Slack (convert markdown to Slack's mrkdwn format)
371
403
  */
372
404
  declare function formatChangelogForSlack(changelog: string, maxLength?: number): string;
405
+ /**
406
+ * Render a list of bumped packages as a Slack mrkdwn bullet list.
407
+ * Each entry becomes `• \`name\`: \`old\` → \`new\`` when a transition is detected,
408
+ * otherwise falls back to `• \`name\`: \`version\``.
409
+ */
410
+ declare function formatPackagesForSlack(packages: PackageBumpEntry[]): string;
373
411
  /**
374
412
  * Format the Slack message using blocks
375
413
  */
376
- declare function formatSlackMessage({ projectName, version, changelog, releaseUrl, changelogUrl, template, contributors, postMaxLength }: {
414
+ declare function formatSlackMessage({ projectName, version, changelog, releaseUrl, changelogUrl, template, contributors, packages, postMaxLength }: {
377
415
  template?: string;
378
416
  projectName: string;
379
417
  version: string;
@@ -381,6 +419,7 @@ declare function formatSlackMessage({ projectName, version, changelog, releaseUr
381
419
  releaseUrl?: string;
382
420
  changelogUrl?: string;
383
421
  contributors?: string[];
422
+ packages?: PackageBumpEntry[];
384
423
  postMaxLength?: number;
385
424
  }): any[];
386
425
  /**
@@ -388,7 +427,7 @@ declare function formatSlackMessage({ projectName, version, changelog, releaseUr
388
427
  * Dispatches to Incoming Webhook (if `webhookUrl` is set) or Web API (`token` + `channel`).
389
428
  * When both are provided, the webhook takes priority.
390
429
  */
391
- declare function postReleaseToSlack({ version, projectName, changelog, releaseUrl, changelogUrl, channel, token, webhookUrl, template, contributors, postMaxLength, dryRun, }: SlackOptions): Promise<{
430
+ declare function postReleaseToSlack({ version, projectName, changelog, releaseUrl, changelogUrl, channel, token, webhookUrl, template, contributors, packages, postMaxLength, dryRun, }: SlackOptions): Promise<{
392
431
  ok: true;
393
432
  transport: "webhook";
394
433
  } | _slack_web_api.ChatPostMessageResponse | undefined>;
@@ -1280,7 +1319,7 @@ interface TwitterSocialConfig {
1280
1319
  /**
1281
1320
  * Custom message template
1282
1321
  * Available variables: {{projectName}}, {{newVersion}}, {{changelog}}, {{releaseUrl}}, {{changelogUrl}}
1283
- * @default '🚀 {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}'
1322
+ * @default '📣 {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}'
1284
1323
  */
1285
1324
  template?: string;
1286
1325
  /**
@@ -1347,6 +1386,11 @@ interface SlackSocialConfig {
1347
1386
  * @default false
1348
1387
  */
1349
1388
  noAuthors?: boolean;
1389
+ /**
1390
+ * Hide the packages block (list of bumped packages with their before → after versions).
1391
+ * @default false
1392
+ */
1393
+ noPackages?: boolean;
1350
1394
  }
1351
1395
  type AIProviderName = 'claude-code';
1352
1396
  interface ClaudeCodeProviderOptions {
@@ -1534,12 +1578,27 @@ interface SlackOptions {
1534
1578
  * Contributor names (plain strings, no email/handle). Empty array or undefined → no contributors block.
1535
1579
  */
1536
1580
  contributors?: string[];
1581
+ /**
1582
+ * Packages bumped in this release. Empty array or undefined → no packages block.
1583
+ */
1584
+ packages?: SlackPackageEntry[];
1537
1585
  /**
1538
1586
  * Run without side effects
1539
1587
  * @default false
1540
1588
  */
1541
1589
  dryRun?: boolean;
1542
1590
  }
1591
+ /**
1592
+ * A bumped-package entry in a Slack message (derived from PackageBumpEntry in src/core/packages.ts).
1593
+ * Duplicated here to avoid a core→types back-import; kept in sync by design.
1594
+ */
1595
+ interface SlackPackageEntry {
1596
+ name: string;
1597
+ oldVersion?: string;
1598
+ newVersion?: string;
1599
+ version: string;
1600
+ hasTransition: boolean;
1601
+ }
1543
1602
  interface TemplatesConfig {
1544
1603
  /**
1545
1604
  * Commit message template (title).
@@ -1584,7 +1643,7 @@ interface TemplatesConfig {
1584
1643
  /**
1585
1644
  * Twitter message template
1586
1645
  * Available variables: {{projectName}}, {{newVersion}}, {{changelog}}, {{releaseUrl}}, {{changelogUrl}}
1587
- * @default '🚀 {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}'
1646
+ * @default '📣 {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}'
1588
1647
  */
1589
1648
  twitterMessage?: string;
1590
1649
  /**
@@ -1815,5 +1874,5 @@ declare function socialSafetyCheck({ config }: {
1815
1874
  }): Promise<void>;
1816
1875
  declare function social(options?: Partial<SocialOptions>): Promise<SocialResult>;
1817
1876
 
1818
- export { NEW_PACKAGE_MARKER, PR_COMMENT_MARKER, buildChangelogBody, buildCommentBody, buildCompareLink, buildContributors, bump, capReleaseTypeForZeroMajor, changelog, checkGitStatusIfDirty, collectContributorNames, confirmBump, createCommitAndTags, createGitlabRelease, defineConfig, detectGitProvider, detectPackageManager, detectPullRequest, determinePublishTag, determineReleaseType, determineSemverChange, executeBuildCmd, executeFormatCmd, executeHook, expandPackagesToBumpWithDependents, extractChangelogSummary, extractVersionFromPackageTag, extractVersionFromTag, fetchGitTags, filterOutPrivatePackages, findGitHubPR, findGitLabMR, formatChangelogForSlack, formatSlackMessage, formatTweetMessage, generateChangelog, generateMarkDown, getAuthCommand, getBumpedIndependentPackages, getBumpedPackageIndependently, getCIName, getCanaryVersion, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getIndependentTag, getLastPackageTag, getLastRepoTag, getLastStableTag, getLastTag, getModifiedReleaseFilePatterns, getPackageCommits, getPackageDependencies, getPackageNewVersion, getPackages, getPackagesOrBumpedPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPreid, getReleaseUrl, getRootPackage, getShortCommitSha, getSlackToken, getSlackWebhookUrl, getTwitterCredentials, github, gitlab, hasLernaJson, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, mergeTypes, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, readPackageJson, readPackages, release, resolveTags, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
1819
- export type { AIConfig, AIPromptTarget, AIProviderName, AISocialConfig, AISystemPromptOverrides, AITargetConfig, BumpConfig, BumpOptions, BumpResult, BumpResultFalsy, BumpResultTruthy, ChangelogConfig, ChangelogOptions, ClaudeCodeProviderOptions, ConfigType, GitProvider, GitlabRelease, GitlabReleaseResponse, HookConfig, HookStep, HookType, MonorepoConfig, PackageBase, PackageManager, PostedRelease, PrCommentConfig, PrCommentMode, PrCommentOptions, PrCommentStatus, ProviderReleaseOptions, ProviderReleaseResult, PublishConfig, PublishOptions, PublishResponse, PullRequestInfo, ReadPackage, Reference, ReleaseConfig, ReleaseContext, ReleaseOptions, RelizyConfig, RepoConfig, ResolvedConfig, ResolvedRelizyConfig, ResolvedTags, ResolvedTwitterCredentials, RootPackage, SlackCredentials, SlackOptions, SlackSocialConfig, SocialConfig, SocialNetworkResult, SocialOptions, SocialResult, Step, TemplatesConfig, TokensConfig, TwitterCredentials, TwitterOptions, TwitterSocialConfig, VersionMode };
1877
+ export { NEW_PACKAGE_MARKER, PR_COMMENT_MARKER, buildChangelogBody, buildCommentBody, buildCompareLink, buildContributors, bump, capReleaseTypeForZeroMajor, changelog, checkGitStatusIfDirty, collectContributorNames, collectPackageBumps, confirmBump, createCommitAndTags, createGitlabRelease, defineConfig, detectGitProvider, detectPackageManager, detectPullRequest, determinePublishTag, determineReleaseType, determineSemverChange, executeBuildCmd, executeFormatCmd, executeHook, expandPackagesToBumpWithDependents, extractChangelogSummary, extractVersionFromPackageTag, extractVersionFromTag, fetchGitTags, filterOutPrivatePackages, findGitHubPR, findGitLabMR, formatChangelogForSlack, formatPackagesForSlack, formatSlackMessage, formatTweetMessage, generateChangelog, generateMarkDown, getAuthCommand, getBumpedIndependentPackages, getBumpedPackageIndependently, getCIName, getCanaryVersion, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getIndependentTag, getLastPackageTag, getLastRepoTag, getLastStableTag, getLastTag, getModifiedReleaseFilePatterns, getPackageCommits, getPackageDependencies, getPackageNewVersion, getPackages, getPackagesOrBumpedPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPreid, getReleaseUrl, getRootPackage, getShortCommitSha, getSlackToken, getSlackWebhookUrl, getTwitterCredentials, github, gitlab, hasLernaJson, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, mergeTypes, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, readPackageJson, readPackages, release, resolveTags, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
1878
+ export type { AIConfig, AIPromptTarget, AIProviderName, AISocialConfig, AISystemPromptOverrides, AITargetConfig, BumpConfig, BumpOptions, BumpResult, BumpResultFalsy, BumpResultTruthy, ChangelogConfig, ChangelogOptions, ClaudeCodeProviderOptions, ConfigType, GitProvider, GitlabRelease, GitlabReleaseResponse, HookConfig, HookStep, HookType, MonorepoConfig, PackageBase, PackageBumpEntry, PackageManager, PostedRelease, PrCommentConfig, PrCommentMode, PrCommentOptions, PrCommentStatus, ProviderReleaseOptions, ProviderReleaseResult, PublishConfig, PublishOptions, PublishResponse, PullRequestInfo, ReadPackage, Reference, ReleaseConfig, ReleaseContext, ReleaseOptions, RelizyConfig, RepoConfig, ResolvedConfig, ResolvedRelizyConfig, ResolvedTags, ResolvedTwitterCredentials, RootPackage, SlackCredentials, SlackOptions, SlackPackageEntry, SlackSocialConfig, SocialConfig, SocialNetworkResult, SocialOptions, SocialResult, Step, TemplatesConfig, TokensConfig, TwitterCredentials, TwitterOptions, TwitterSocialConfig, VersionMode };
package/dist/index.d.ts CHANGED
@@ -62,6 +62,7 @@ declare function getDefaultConfig(): {
62
62
  onlyStable: boolean;
63
63
  postMaxLength: number;
64
64
  noAuthors: boolean;
65
+ noPackages: boolean;
65
66
  };
66
67
  };
67
68
  prComment: Required<PrCommentConfig>;
@@ -280,6 +281,37 @@ declare function publishPackage({ pkg, config, packageManager, dryRun, }: {
280
281
  dryRun: boolean;
281
282
  }): Promise<void>;
282
283
 
284
+ /**
285
+ * A package entry as consumed by release-summary renderers (PR comments, Slack messages, etc.).
286
+ * Normalizes the three possible shapes of "which packages shipped and at what version":
287
+ * - `bumpedPackages` from a monorepo bump (has both `oldVersion` and `newVersion`)
288
+ * - `packages` in standalone CLI mode (only `version`, no transition)
289
+ * - a mixed case where a bumped package didn't produce a new version
290
+ */
291
+ interface PackageBumpEntry {
292
+ /** Package name (e.g. `@acme/ui`) */
293
+ name: string;
294
+ /** Version before the release — only set when a real transition happened */
295
+ oldVersion?: string;
296
+ /** Version after the release — only set when a real transition happened */
297
+ newVersion?: string;
298
+ /** Fallback version when there is no old→new transition (standalone mode, graduations) */
299
+ version: string;
300
+ /** True when `oldVersion` and `newVersion` are both set AND differ */
301
+ hasTransition: boolean;
302
+ }
303
+ /**
304
+ * Collect package release data in a renderer-agnostic shape.
305
+ * Shared by the PR-comment GFM table and the Slack mrkdwn list.
306
+ */
307
+ declare function collectPackageBumps({ bumpedPackages, packages, }: {
308
+ bumpedPackages?: BumpResultTruthy['bumpedPackages'];
309
+ packages?: Array<{
310
+ name: string;
311
+ version: string;
312
+ }>;
313
+ }): PackageBumpEntry[];
314
+
283
315
  interface PullRequestInfo {
284
316
  /**
285
317
  * PR/MR number
@@ -370,10 +402,16 @@ declare function getSlackWebhookUrl(options: {
370
402
  * Format changelog for Slack (convert markdown to Slack's mrkdwn format)
371
403
  */
372
404
  declare function formatChangelogForSlack(changelog: string, maxLength?: number): string;
405
+ /**
406
+ * Render a list of bumped packages as a Slack mrkdwn bullet list.
407
+ * Each entry becomes `• \`name\`: \`old\` → \`new\`` when a transition is detected,
408
+ * otherwise falls back to `• \`name\`: \`version\``.
409
+ */
410
+ declare function formatPackagesForSlack(packages: PackageBumpEntry[]): string;
373
411
  /**
374
412
  * Format the Slack message using blocks
375
413
  */
376
- declare function formatSlackMessage({ projectName, version, changelog, releaseUrl, changelogUrl, template, contributors, postMaxLength }: {
414
+ declare function formatSlackMessage({ projectName, version, changelog, releaseUrl, changelogUrl, template, contributors, packages, postMaxLength }: {
377
415
  template?: string;
378
416
  projectName: string;
379
417
  version: string;
@@ -381,6 +419,7 @@ declare function formatSlackMessage({ projectName, version, changelog, releaseUr
381
419
  releaseUrl?: string;
382
420
  changelogUrl?: string;
383
421
  contributors?: string[];
422
+ packages?: PackageBumpEntry[];
384
423
  postMaxLength?: number;
385
424
  }): any[];
386
425
  /**
@@ -388,7 +427,7 @@ declare function formatSlackMessage({ projectName, version, changelog, releaseUr
388
427
  * Dispatches to Incoming Webhook (if `webhookUrl` is set) or Web API (`token` + `channel`).
389
428
  * When both are provided, the webhook takes priority.
390
429
  */
391
- declare function postReleaseToSlack({ version, projectName, changelog, releaseUrl, changelogUrl, channel, token, webhookUrl, template, contributors, postMaxLength, dryRun, }: SlackOptions): Promise<{
430
+ declare function postReleaseToSlack({ version, projectName, changelog, releaseUrl, changelogUrl, channel, token, webhookUrl, template, contributors, packages, postMaxLength, dryRun, }: SlackOptions): Promise<{
392
431
  ok: true;
393
432
  transport: "webhook";
394
433
  } | _slack_web_api.ChatPostMessageResponse | undefined>;
@@ -1280,7 +1319,7 @@ interface TwitterSocialConfig {
1280
1319
  /**
1281
1320
  * Custom message template
1282
1321
  * Available variables: {{projectName}}, {{newVersion}}, {{changelog}}, {{releaseUrl}}, {{changelogUrl}}
1283
- * @default '🚀 {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}'
1322
+ * @default '📣 {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}'
1284
1323
  */
1285
1324
  template?: string;
1286
1325
  /**
@@ -1347,6 +1386,11 @@ interface SlackSocialConfig {
1347
1386
  * @default false
1348
1387
  */
1349
1388
  noAuthors?: boolean;
1389
+ /**
1390
+ * Hide the packages block (list of bumped packages with their before → after versions).
1391
+ * @default false
1392
+ */
1393
+ noPackages?: boolean;
1350
1394
  }
1351
1395
  type AIProviderName = 'claude-code';
1352
1396
  interface ClaudeCodeProviderOptions {
@@ -1534,12 +1578,27 @@ interface SlackOptions {
1534
1578
  * Contributor names (plain strings, no email/handle). Empty array or undefined → no contributors block.
1535
1579
  */
1536
1580
  contributors?: string[];
1581
+ /**
1582
+ * Packages bumped in this release. Empty array or undefined → no packages block.
1583
+ */
1584
+ packages?: SlackPackageEntry[];
1537
1585
  /**
1538
1586
  * Run without side effects
1539
1587
  * @default false
1540
1588
  */
1541
1589
  dryRun?: boolean;
1542
1590
  }
1591
+ /**
1592
+ * A bumped-package entry in a Slack message (derived from PackageBumpEntry in src/core/packages.ts).
1593
+ * Duplicated here to avoid a core→types back-import; kept in sync by design.
1594
+ */
1595
+ interface SlackPackageEntry {
1596
+ name: string;
1597
+ oldVersion?: string;
1598
+ newVersion?: string;
1599
+ version: string;
1600
+ hasTransition: boolean;
1601
+ }
1543
1602
  interface TemplatesConfig {
1544
1603
  /**
1545
1604
  * Commit message template (title).
@@ -1584,7 +1643,7 @@ interface TemplatesConfig {
1584
1643
  /**
1585
1644
  * Twitter message template
1586
1645
  * Available variables: {{projectName}}, {{newVersion}}, {{changelog}}, {{releaseUrl}}, {{changelogUrl}}
1587
- * @default '🚀 {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}'
1646
+ * @default '📣 {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}'
1588
1647
  */
1589
1648
  twitterMessage?: string;
1590
1649
  /**
@@ -1815,5 +1874,5 @@ declare function socialSafetyCheck({ config }: {
1815
1874
  }): Promise<void>;
1816
1875
  declare function social(options?: Partial<SocialOptions>): Promise<SocialResult>;
1817
1876
 
1818
- export { NEW_PACKAGE_MARKER, PR_COMMENT_MARKER, buildChangelogBody, buildCommentBody, buildCompareLink, buildContributors, bump, capReleaseTypeForZeroMajor, changelog, checkGitStatusIfDirty, collectContributorNames, confirmBump, createCommitAndTags, createGitlabRelease, defineConfig, detectGitProvider, detectPackageManager, detectPullRequest, determinePublishTag, determineReleaseType, determineSemverChange, executeBuildCmd, executeFormatCmd, executeHook, expandPackagesToBumpWithDependents, extractChangelogSummary, extractVersionFromPackageTag, extractVersionFromTag, fetchGitTags, filterOutPrivatePackages, findGitHubPR, findGitLabMR, formatChangelogForSlack, formatSlackMessage, formatTweetMessage, generateChangelog, generateMarkDown, getAuthCommand, getBumpedIndependentPackages, getBumpedPackageIndependently, getCIName, getCanaryVersion, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getIndependentTag, getLastPackageTag, getLastRepoTag, getLastStableTag, getLastTag, getModifiedReleaseFilePatterns, getPackageCommits, getPackageDependencies, getPackageNewVersion, getPackages, getPackagesOrBumpedPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPreid, getReleaseUrl, getRootPackage, getShortCommitSha, getSlackToken, getSlackWebhookUrl, getTwitterCredentials, github, gitlab, hasLernaJson, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, mergeTypes, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, readPackageJson, readPackages, release, resolveTags, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
1819
- export type { AIConfig, AIPromptTarget, AIProviderName, AISocialConfig, AISystemPromptOverrides, AITargetConfig, BumpConfig, BumpOptions, BumpResult, BumpResultFalsy, BumpResultTruthy, ChangelogConfig, ChangelogOptions, ClaudeCodeProviderOptions, ConfigType, GitProvider, GitlabRelease, GitlabReleaseResponse, HookConfig, HookStep, HookType, MonorepoConfig, PackageBase, PackageManager, PostedRelease, PrCommentConfig, PrCommentMode, PrCommentOptions, PrCommentStatus, ProviderReleaseOptions, ProviderReleaseResult, PublishConfig, PublishOptions, PublishResponse, PullRequestInfo, ReadPackage, Reference, ReleaseConfig, ReleaseContext, ReleaseOptions, RelizyConfig, RepoConfig, ResolvedConfig, ResolvedRelizyConfig, ResolvedTags, ResolvedTwitterCredentials, RootPackage, SlackCredentials, SlackOptions, SlackSocialConfig, SocialConfig, SocialNetworkResult, SocialOptions, SocialResult, Step, TemplatesConfig, TokensConfig, TwitterCredentials, TwitterOptions, TwitterSocialConfig, VersionMode };
1877
+ export { NEW_PACKAGE_MARKER, PR_COMMENT_MARKER, buildChangelogBody, buildCommentBody, buildCompareLink, buildContributors, bump, capReleaseTypeForZeroMajor, changelog, checkGitStatusIfDirty, collectContributorNames, collectPackageBumps, confirmBump, createCommitAndTags, createGitlabRelease, defineConfig, detectGitProvider, detectPackageManager, detectPullRequest, determinePublishTag, determineReleaseType, determineSemverChange, executeBuildCmd, executeFormatCmd, executeHook, expandPackagesToBumpWithDependents, extractChangelogSummary, extractVersionFromPackageTag, extractVersionFromTag, fetchGitTags, filterOutPrivatePackages, findGitHubPR, findGitLabMR, formatChangelogForSlack, formatPackagesForSlack, formatSlackMessage, formatTweetMessage, generateChangelog, generateMarkDown, getAuthCommand, getBumpedIndependentPackages, getBumpedPackageIndependently, getCIName, getCanaryVersion, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getIndependentTag, getLastPackageTag, getLastRepoTag, getLastStableTag, getLastTag, getModifiedReleaseFilePatterns, getPackageCommits, getPackageDependencies, getPackageNewVersion, getPackages, getPackagesOrBumpedPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPreid, getReleaseUrl, getRootPackage, getShortCommitSha, getSlackToken, getSlackWebhookUrl, getTwitterCredentials, github, gitlab, hasLernaJson, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, mergeTypes, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, readPackageJson, readPackages, release, resolveTags, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
1878
+ export type { AIConfig, AIPromptTarget, AIProviderName, AISocialConfig, AISystemPromptOverrides, AITargetConfig, BumpConfig, BumpOptions, BumpResult, BumpResultFalsy, BumpResultTruthy, ChangelogConfig, ChangelogOptions, ClaudeCodeProviderOptions, ConfigType, GitProvider, GitlabRelease, GitlabReleaseResponse, HookConfig, HookStep, HookType, MonorepoConfig, PackageBase, PackageBumpEntry, PackageManager, PostedRelease, PrCommentConfig, PrCommentMode, PrCommentOptions, PrCommentStatus, ProviderReleaseOptions, ProviderReleaseResult, PublishConfig, PublishOptions, PublishResponse, PullRequestInfo, ReadPackage, Reference, ReleaseConfig, ReleaseContext, ReleaseOptions, RelizyConfig, RepoConfig, ResolvedConfig, ResolvedRelizyConfig, ResolvedTags, ResolvedTwitterCredentials, RootPackage, SlackCredentials, SlackOptions, SlackPackageEntry, SlackSocialConfig, SocialConfig, SocialNetworkResult, SocialOptions, SocialResult, Step, TemplatesConfig, TokensConfig, TwitterCredentials, TwitterOptions, TwitterSocialConfig, VersionMode };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { ai as NEW_PACKAGE_MARKER, _ as PR_COMMENT_MARKER, M as buildChangelogBody, a as buildCommentBody, L as buildCompareLink, O as buildContributors, b as bump, aw as capReleaseTypeForZeroMajor, c as changelog, v as checkGitStatusIfDirty, N as collectContributorNames, aK as confirmBump, B as createCommitAndTags, J as createGitlabRelease, k as defineConfig, y as detectGitProvider, R as detectPackageManager, Z as detectPullRequest, S as determinePublishTag, ay as determineReleaseType, ax as determineSemverChange, ar as executeBuildCmd, aq as executeFormatCmd, an as executeHook, q as expandPackagesToBumpWithDependents, ab as extractChangelogSummary, aC as extractVersionFromPackageTag, aN as extractVersionFromTag, x as fetchGitTags, at as filterOutPrivatePackages, X as findGitHubPR, Y as findGitLabMR, a8 as formatChangelogForSlack, a9 as formatSlackMessage, al as formatTweetMessage, i as generateChangelog, P as generateMarkDown, V as getAuthCommand, aL as getBumpedIndependentPackages, aJ as getBumpedPackageIndependently, ap as getCIName, aO as getCanaryVersion, F as getCurrentGitBranch, G as getCurrentGitRef, j as getDefaultConfig, o as getDependentsOf, E as getFirstCommit, u as getGitStatus, ad as getIndependentTag, ah as getLastPackageTag, ag as getLastRepoTag, ae as getLastStableTag, af as getLastTag, A as getModifiedReleaseFilePatterns, a4 as getPackageCommits, n as getPackageDependencies, aA as getPackageNewVersion, a3 as getPackages, au as getPackagesOrBumpedPackages, U as getPackagesToPublishInIndependentMode, T as getPackagesToPublishInSelectiveMode, aH as getPreid, ac as getReleaseUrl, a1 as getRootPackage, H as getShortCommitSha, a6 as getSlackToken, a7 as getSlackWebhookUrl, ak as getTwitterCredentials, I as github, K as gitlab, a5 as hasLernaJson, as as isBumpedPackage, aI as isChangedPreid, aG as isGraduating, av as isGraduatingToStableBetweenVersion, ao as isInCI, aD as isPrerelease, aF as isPrereleaseReleaseType, aE as isStableReleaseType, aP as isTagVersionCompatibleWithCurrent, l as loadRelizyConfig, m as mergeTypes, Q as parseChangelogMarkdown, z as parseGitRemoteUrl, $ as postPrComment, aa as postReleaseToSlack, am as postReleaseToTwitter, p as prComment, e as providerRelease, d as providerReleaseSafetyCheck, g as publish, W as publishPackage, f as publishSafetyCheck, C as pushCommitAndTags, a0 as readPackageJson, a2 as readPackages, r as release, aj as resolveTags, D as rollbackModifiedFiles, aM as shouldFilterPrereleaseTags, h as social, s as socialSafetyCheck, t as topologicalSort, aB as updateLernaVersion, w as writeChangelogToFile, az as writeVersion } from './shared/relizy.CxbwJj6k.mjs';
1
+ export { ak as NEW_PACKAGE_MARKER, $ as PR_COMMENT_MARKER, M as buildChangelogBody, a as buildCommentBody, L as buildCompareLink, O as buildContributors, b as bump, ay as capReleaseTypeForZeroMajor, c as changelog, v as checkGitStatusIfDirty, N as collectContributorNames, X as collectPackageBumps, aM as confirmBump, B as createCommitAndTags, J as createGitlabRelease, k as defineConfig, y as detectGitProvider, R as detectPackageManager, _ as detectPullRequest, S as determinePublishTag, aA as determineReleaseType, az as determineSemverChange, at as executeBuildCmd, as as executeFormatCmd, ap as executeHook, q as expandPackagesToBumpWithDependents, ad as extractChangelogSummary, aE as extractVersionFromPackageTag, aP as extractVersionFromTag, x as fetchGitTags, av as filterOutPrivatePackages, Y as findGitHubPR, Z as findGitLabMR, a9 as formatChangelogForSlack, aa as formatPackagesForSlack, ab as formatSlackMessage, an as formatTweetMessage, i as generateChangelog, P as generateMarkDown, V as getAuthCommand, aN as getBumpedIndependentPackages, aL as getBumpedPackageIndependently, ar as getCIName, aQ as getCanaryVersion, F as getCurrentGitBranch, G as getCurrentGitRef, j as getDefaultConfig, o as getDependentsOf, E as getFirstCommit, u as getGitStatus, af as getIndependentTag, aj as getLastPackageTag, ai as getLastRepoTag, ag as getLastStableTag, ah as getLastTag, A as getModifiedReleaseFilePatterns, a5 as getPackageCommits, n as getPackageDependencies, aC as getPackageNewVersion, a4 as getPackages, aw as getPackagesOrBumpedPackages, U as getPackagesToPublishInIndependentMode, T as getPackagesToPublishInSelectiveMode, aJ as getPreid, ae as getReleaseUrl, a2 as getRootPackage, H as getShortCommitSha, a7 as getSlackToken, a8 as getSlackWebhookUrl, am as getTwitterCredentials, I as github, K as gitlab, a6 as hasLernaJson, au as isBumpedPackage, aK as isChangedPreid, aI as isGraduating, ax as isGraduatingToStableBetweenVersion, aq as isInCI, aF as isPrerelease, aH as isPrereleaseReleaseType, aG as isStableReleaseType, aR as isTagVersionCompatibleWithCurrent, l as loadRelizyConfig, m as mergeTypes, Q as parseChangelogMarkdown, z as parseGitRemoteUrl, a0 as postPrComment, ac as postReleaseToSlack, ao as postReleaseToTwitter, p as prComment, e as providerRelease, d as providerReleaseSafetyCheck, g as publish, W as publishPackage, f as publishSafetyCheck, C as pushCommitAndTags, a1 as readPackageJson, a3 as readPackages, r as release, al as resolveTags, D as rollbackModifiedFiles, aO as shouldFilterPrereleaseTags, h as social, s as socialSafetyCheck, t as topologicalSort, aD as updateLernaVersion, w as writeChangelogToFile, aB as writeVersion } from './shared/relizy.-haCClxZ.mjs';
2
2
  import '@maz-ui/node';
3
3
  import 'node:child_process';
4
4
  import 'node:process';
@@ -420,24 +420,6 @@ function isAllowedCommit({
420
420
  }
421
421
  return false;
422
422
  }
423
- function isCommitOfTrackedPackages({
424
- commit,
425
- config
426
- }) {
427
- if (!config.monorepo?.packages?.length) {
428
- return true;
429
- }
430
- const packages = readPackages({
431
- cwd: config.cwd,
432
- patterns: config.monorepo.packages,
433
- ignorePackageNames: config.monorepo?.ignorePackageNames,
434
- includePrivates: config.monorepo?.includePrivates
435
- });
436
- return packages.some((pkg) => {
437
- const path = relative(config.cwd, pkg.path).split(sep).join("/");
438
- return commit.body.includes(path);
439
- });
440
- }
441
423
  async function getPackageCommits({
442
424
  pkg,
443
425
  from,
@@ -470,18 +452,17 @@ async function getPackageCommits({
470
452
  if (!rootPackage) {
471
453
  throw new Error("Failed to read root package.json");
472
454
  }
455
+ const isRootPackage = pkg.path === changelogConfig.cwd || pkg.name === rootPackage.name;
473
456
  const commits = allCommits.filter((commit) => {
474
457
  const type = changelogConfig?.types[commit.type];
475
458
  if (!isAllowedCommit({ commit, type, changelog })) {
476
459
  return false;
477
460
  }
478
- const isTrackedPackage = isCommitOfTrackedPackages({ commit, config });
479
- if ((pkg.path === changelogConfig.cwd || pkg.name === rootPackage.name) && isTrackedPackage) {
461
+ if (isRootPackage) {
480
462
  return true;
481
463
  }
482
464
  const packageRelativePath = relative(changelogConfig.cwd, pkg.path).split(sep).join("/");
483
- const bodyContainsPath = commit.body.includes(packageRelativePath);
484
- return bodyContainsPath && isTrackedPackage;
465
+ return commit.body.includes(packageRelativePath);
485
466
  });
486
467
  logger.debug(`Found ${commits.length} commit(s) for ${pkg.name} from ${from} to ${to}`);
487
468
  if (commits.length > 0) {
@@ -1847,7 +1828,7 @@ function getDefaultConfig() {
1847
1828
  tagMessage: "Bump version to {{newVersion}}",
1848
1829
  tagBody: "v{{newVersion}}",
1849
1830
  emptyChangelogContent: "No relevant changes for this release",
1850
- twitterMessage: "\u{1F680} {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}",
1831
+ twitterMessage: "\u{1F4E3} {{projectName}} {{newVersion}} is out!\n\n{{changelog}}\n\n{{releaseUrl}}\n{{changelogUrl}}",
1851
1832
  slackMessage: void 0,
1852
1833
  // Use rich blocks format by default (no template)
1853
1834
  changelogTitle: "{{oldVersion}}...{{newVersion}}"
@@ -1916,7 +1897,8 @@ function getDefaultConfig() {
1916
1897
  enabled: false,
1917
1898
  onlyStable: true,
1918
1899
  postMaxLength: 2500,
1919
- noAuthors: false
1900
+ noAuthors: false,
1901
+ noPackages: false
1920
1902
  }
1921
1903
  },
1922
1904
  prComment: {
@@ -3318,6 +3300,32 @@ async function gitlab(options = {}) {
3318
3300
  }
3319
3301
  }
3320
3302
 
3303
+ function collectPackageBumps({
3304
+ bumpedPackages,
3305
+ packages
3306
+ }) {
3307
+ if (bumpedPackages && bumpedPackages.length > 0) {
3308
+ return bumpedPackages.map((pkg) => {
3309
+ const hasTransition = Boolean(pkg.newVersion && pkg.oldVersion !== pkg.newVersion);
3310
+ return {
3311
+ name: pkg.name,
3312
+ oldVersion: pkg.oldVersion,
3313
+ newVersion: pkg.newVersion,
3314
+ version: pkg.newVersion || pkg.version,
3315
+ hasTransition
3316
+ };
3317
+ });
3318
+ }
3319
+ if (packages && packages.length > 0) {
3320
+ return packages.map((pkg) => ({
3321
+ name: pkg.name,
3322
+ version: pkg.version,
3323
+ hasTransition: false
3324
+ }));
3325
+ }
3326
+ return [];
3327
+ }
3328
+
3321
3329
  function getGitHubApiBase(domain) {
3322
3330
  const apiDomain = domain === "github.com" || !domain ? "api.github.com" : domain;
3323
3331
  return apiDomain === "api.github.com" ? `https://${apiDomain}` : `https://${apiDomain}/api/v3`;
@@ -3738,7 +3746,7 @@ function getSlackWebhookUrl(options) {
3738
3746
  return options.socialWebhookUrl || process.env.RELIZY_SLACK_WEBHOOK_URL || process.env.SLACK_WEBHOOK_URL || null;
3739
3747
  }
3740
3748
  function formatChangelogForSlack(changelog, maxLength = 2500) {
3741
- let formatted = changelog.replace(/^### (.+)$/gm, "*$1*").replace(/^## (.+)$/gm, "*$1*").replace(/^# (.+)$/gm, "*$1*").replace(/\*\*(.+?)\*\*/g, "*$1*");
3749
+ let formatted = changelog.replace(/^### (.+)$/gm, "*$1*").replace(/^## (.+)$/gm, "*$1*").replace(/^# (.+)$/gm, "*$1*").replace(/\*\*(.+?)\*\*/g, "*$1*").replace(/^([ \t]*)-[ \t]+/gm, "$1\u2022 ");
3742
3750
  const linkPattern = /\[([^\]]*)]\(([^)]*)\)/g;
3743
3751
  formatted = formatted.replace(linkPattern, (_, text, url) => `<${url}|${text}>`);
3744
3752
  if (formatted.length > maxLength) {
@@ -3746,11 +3754,20 @@ function formatChangelogForSlack(changelog, maxLength = 2500) {
3746
3754
  }
3747
3755
  return formatted;
3748
3756
  }
3749
- function formatSlackMessage({ projectName, version, changelog, releaseUrl, changelogUrl, template, contributors = [], postMaxLength = 2500 }) {
3757
+ function formatPackagesForSlack(packages) {
3758
+ if (packages.length === 0) {
3759
+ return "";
3760
+ }
3761
+ return packages.map(
3762
+ (pkg) => pkg.hasTransition ? `\u2022 **${pkg.name}** : \`${pkg.oldVersion}\` \u2192 \`${pkg.newVersion}\`` : `\u2022 **${pkg.name}** : \`${pkg.version}\``
3763
+ ).join("\n");
3764
+ }
3765
+ function formatSlackMessage({ projectName, version, changelog, releaseUrl, changelogUrl, template, contributors = [], packages = [], postMaxLength = 2500 }) {
3750
3766
  const contributorsLine = contributors.length > 0 ? contributors.map((n) => `\u2022 ${n}`).join("\n") : "";
3767
+ const packagesLine = formatPackagesForSlack(packages);
3751
3768
  if (template) {
3752
3769
  const summary = extractChangelogSummary(changelog, { maxLength: postMaxLength });
3753
- let message = template.replace("{{projectName}}", projectName).replace("{{newVersion}}", version).replace("{{changelog}}", summary).replace("{{contributors}}", contributorsLine);
3770
+ let message = template.replace("{{projectName}}", projectName).replace("{{newVersion}}", version).replace("{{changelog}}", summary).replace("{{contributors}}", contributorsLine).replace("{{packages}}", packagesLine);
3754
3771
  if (releaseUrl) {
3755
3772
  message = message.replace("{{releaseUrl}}", releaseUrl);
3756
3773
  } else {
@@ -3776,7 +3793,7 @@ function formatSlackMessage({ projectName, version, changelog, releaseUrl, chang
3776
3793
  type: "header",
3777
3794
  text: {
3778
3795
  type: "plain_text",
3779
- text: `\u{1F680} ${projectName} ${version} is out!`,
3796
+ text: `\u{1F4E3} ${projectName} ${version} is out!`,
3780
3797
  emoji: true
3781
3798
  }
3782
3799
  }
@@ -3791,6 +3808,17 @@ function formatSlackMessage({ projectName, version, changelog, releaseUrl, chang
3791
3808
  }
3792
3809
  });
3793
3810
  }
3811
+ if (packages.length > 0) {
3812
+ blocks.push({
3813
+ type: "section",
3814
+ text: {
3815
+ type: "mrkdwn",
3816
+ text: `*\u{1F4E6} Packages*
3817
+
3818
+ ${packagesLine}`
3819
+ }
3820
+ });
3821
+ }
3794
3822
  if (contributors.length > 0) {
3795
3823
  blocks.push({
3796
3824
  type: "section",
@@ -3913,6 +3941,7 @@ async function postReleaseToSlack({
3913
3941
  webhookUrl,
3914
3942
  template,
3915
3943
  contributors,
3944
+ packages,
3916
3945
  postMaxLength,
3917
3946
  dryRun = false
3918
3947
  }) {
@@ -3933,6 +3962,7 @@ async function postReleaseToSlack({
3933
3962
  releaseUrl,
3934
3963
  changelogUrl,
3935
3964
  contributors,
3965
+ packages,
3936
3966
  postMaxLength
3937
3967
  });
3938
3968
  const fallbackText = `${projectName} ${version} is out!`;
@@ -4773,23 +4803,15 @@ function buildMetadataLines({
4773
4803
  return lines;
4774
4804
  }
4775
4805
  function buildPackageTableLines(bumpedPackages, packages) {
4776
- const lines = [];
4777
- const header = ["", "### Packages", "", "| Package | Version |", "| --- | --- |"];
4778
- if (bumpedPackages.length > 0) {
4779
- lines.push(...header);
4780
- for (const pkg of bumpedPackages) {
4781
- const hasTransition = pkg.newVersion && pkg.oldVersion !== pkg.newVersion;
4782
- lines.push(
4783
- hasTransition ? `| \`${pkg.name}\` | \`${pkg.oldVersion}\` \u2192 \`${pkg.newVersion}\` |` : `| \`${pkg.name}\` | \`${pkg.version}\` |`
4784
- );
4785
- }
4786
- return lines;
4806
+ const entries = collectPackageBumps({ bumpedPackages, packages });
4807
+ if (entries.length === 0) {
4808
+ return [];
4787
4809
  }
4788
- if (packages && packages.length > 0) {
4789
- lines.push(...header);
4790
- for (const pkg of packages) {
4791
- lines.push(`| \`${pkg.name}\` | \`${pkg.version}\` |`);
4792
- }
4810
+ const lines = ["", "### Packages", "", "| Package | Version |", "| --- | --- |"];
4811
+ for (const entry of entries) {
4812
+ lines.push(
4813
+ entry.hasTransition ? `| \`${entry.name}\` | \`${entry.oldVersion}\` \u2192 \`${entry.newVersion}\` |` : `| \`${entry.name}\` | \`${entry.version}\` |`
4814
+ );
4793
4815
  }
4794
4816
  return lines;
4795
4817
  }
@@ -5372,7 +5394,8 @@ async function handleSlackPost({
5372
5394
  dryRun,
5373
5395
  newVersion,
5374
5396
  tag,
5375
- commits
5397
+ commits,
5398
+ bumpedPackages
5376
5399
  }) {
5377
5400
  const slackConfig = config.social?.slack;
5378
5401
  if (!slackConfig?.enabled) {
@@ -5420,6 +5443,8 @@ async function handleSlackPost({
5420
5443
  const shouldHideContributors = config.noAuthors === true || slackConfig.noAuthors === true;
5421
5444
  const contributors = shouldHideContributors ? [] : collectContributorNames({ commits, config });
5422
5445
  logger.debug(`Contributors: ${contributors.length}`);
5446
+ const packages = slackConfig.noPackages === true ? [] : collectPackageBumps({ bumpedPackages });
5447
+ logger.debug(`Packages: ${packages.length}`);
5423
5448
  const response = await postReleaseToSlack({
5424
5449
  version: newVersion,
5425
5450
  projectName: config.projectName || rootPackageBase.name,
@@ -5431,6 +5456,7 @@ async function handleSlackPost({
5431
5456
  webhookUrl: webhookUrl ?? void 0,
5432
5457
  template,
5433
5458
  contributors,
5459
+ packages,
5434
5460
  postMaxLength: slackConfig.postMaxLength ?? 2500,
5435
5461
  dryRun
5436
5462
  });
@@ -5547,7 +5573,8 @@ ${twitterChangelog}`);
5547
5573
  dryRun,
5548
5574
  newVersion,
5549
5575
  tag: to,
5550
- commits: rootPackage.commits
5576
+ commits: rootPackage.commits,
5577
+ bumpedPackages: options.bumpResult?.bumpedPackages
5551
5578
  });
5552
5579
  const results = [];
5553
5580
  if (config.social?.twitter?.enabled) {
@@ -5917,4 +5944,4 @@ Git provider: ${provider}`);
5917
5944
  }
5918
5945
  }
5919
5946
 
5920
- export { postPrComment as $, getModifiedReleaseFilePatterns as A, createCommitAndTags as B, pushCommitAndTags as C, rollbackModifiedFiles as D, getFirstCommit as E, getCurrentGitBranch as F, getCurrentGitRef as G, getShortCommitSha as H, github as I, createGitlabRelease as J, gitlab as K, buildCompareLink as L, buildChangelogBody as M, collectContributorNames as N, buildContributors as O, generateMarkDown as P, parseChangelogMarkdown as Q, detectPackageManager as R, determinePublishTag as S, getPackagesToPublishInSelectiveMode as T, getPackagesToPublishInIndependentMode as U, getAuthCommand as V, publishPackage as W, findGitHubPR as X, findGitLabMR as Y, detectPullRequest as Z, PR_COMMENT_MARKER as _, buildCommentBody as a, readPackageJson as a0, getRootPackage as a1, readPackages as a2, getPackages as a3, getPackageCommits as a4, hasLernaJson as a5, getSlackToken as a6, getSlackWebhookUrl as a7, formatChangelogForSlack as a8, formatSlackMessage as a9, getPackageNewVersion as aA, updateLernaVersion as aB, extractVersionFromPackageTag as aC, isPrerelease as aD, isStableReleaseType as aE, isPrereleaseReleaseType as aF, isGraduating as aG, getPreid as aH, isChangedPreid as aI, getBumpedPackageIndependently as aJ, confirmBump as aK, getBumpedIndependentPackages as aL, shouldFilterPrereleaseTags as aM, extractVersionFromTag as aN, getCanaryVersion as aO, isTagVersionCompatibleWithCurrent as aP, postReleaseToSlack as aa, extractChangelogSummary as ab, getReleaseUrl as ac, getIndependentTag as ad, getLastStableTag as ae, getLastTag as af, getLastRepoTag as ag, getLastPackageTag as ah, NEW_PACKAGE_MARKER as ai, resolveTags as aj, getTwitterCredentials as ak, formatTweetMessage as al, postReleaseToTwitter as am, executeHook as an, isInCI as ao, getCIName as ap, executeFormatCmd as aq, executeBuildCmd as ar, isBumpedPackage as as, filterOutPrivatePackages as at, getPackagesOrBumpedPackages as au, isGraduatingToStableBetweenVersion as av, capReleaseTypeForZeroMajor as aw, determineSemverChange as ax, determineReleaseType as ay, writeVersion as az, bump as b, changelog as c, providerReleaseSafetyCheck as d, providerRelease as e, publishSafetyCheck as f, publish as g, social as h, generateChangelog as i, getDefaultConfig as j, defineConfig as k, loadRelizyConfig as l, mergeTypes as m, getPackageDependencies as n, getDependentsOf as o, prComment as p, expandPackagesToBumpWithDependents as q, release as r, socialSafetyCheck as s, topologicalSort as t, getGitStatus as u, checkGitStatusIfDirty as v, writeChangelogToFile as w, fetchGitTags as x, detectGitProvider as y, parseGitRemoteUrl as z };
5947
+ export { PR_COMMENT_MARKER as $, getModifiedReleaseFilePatterns as A, createCommitAndTags as B, pushCommitAndTags as C, rollbackModifiedFiles as D, getFirstCommit as E, getCurrentGitBranch as F, getCurrentGitRef as G, getShortCommitSha as H, github as I, createGitlabRelease as J, gitlab as K, buildCompareLink as L, buildChangelogBody as M, collectContributorNames as N, buildContributors as O, generateMarkDown as P, parseChangelogMarkdown as Q, detectPackageManager as R, determinePublishTag as S, getPackagesToPublishInSelectiveMode as T, getPackagesToPublishInIndependentMode as U, getAuthCommand as V, publishPackage as W, collectPackageBumps as X, findGitHubPR as Y, findGitLabMR as Z, detectPullRequest as _, buildCommentBody as a, postPrComment as a0, readPackageJson as a1, getRootPackage as a2, readPackages as a3, getPackages as a4, getPackageCommits as a5, hasLernaJson as a6, getSlackToken as a7, getSlackWebhookUrl as a8, formatChangelogForSlack as a9, determineReleaseType as aA, writeVersion as aB, getPackageNewVersion as aC, updateLernaVersion as aD, extractVersionFromPackageTag as aE, isPrerelease as aF, isStableReleaseType as aG, isPrereleaseReleaseType as aH, isGraduating as aI, getPreid as aJ, isChangedPreid as aK, getBumpedPackageIndependently as aL, confirmBump as aM, getBumpedIndependentPackages as aN, shouldFilterPrereleaseTags as aO, extractVersionFromTag as aP, getCanaryVersion as aQ, isTagVersionCompatibleWithCurrent as aR, formatPackagesForSlack as aa, formatSlackMessage as ab, postReleaseToSlack as ac, extractChangelogSummary as ad, getReleaseUrl as ae, getIndependentTag as af, getLastStableTag as ag, getLastTag as ah, getLastRepoTag as ai, getLastPackageTag as aj, NEW_PACKAGE_MARKER as ak, resolveTags as al, getTwitterCredentials as am, formatTweetMessage as an, postReleaseToTwitter as ao, executeHook as ap, isInCI as aq, getCIName as ar, executeFormatCmd as as, executeBuildCmd as at, isBumpedPackage as au, filterOutPrivatePackages as av, getPackagesOrBumpedPackages as aw, isGraduatingToStableBetweenVersion as ax, capReleaseTypeForZeroMajor as ay, determineSemverChange as az, bump as b, changelog as c, providerReleaseSafetyCheck as d, providerRelease as e, publishSafetyCheck as f, publish as g, social as h, generateChangelog as i, getDefaultConfig as j, defineConfig as k, loadRelizyConfig as l, mergeTypes as m, getPackageDependencies as n, getDependentsOf as o, prComment as p, expandPackagesToBumpWithDependents as q, release as r, socialSafetyCheck as s, topologicalSort as t, getGitStatus as u, checkGitStatusIfDirty as v, writeChangelogToFile as w, fetchGitTags as x, detectGitProvider as y, parseGitRemoteUrl as z };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "relizy",
3
3
  "type": "module",
4
- "version": "1.4.0-beta.0",
4
+ "version": "1.4.0",
5
5
  "description": "Changelogen adapter for monorepo management with unified and independent versioning",
6
6
  "author": "Louis Mazel <me@loicmazuel.com>",
7
7
  "license": "MIT",