relizy 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -23,7 +23,7 @@
23
23
  </a>
24
24
  </p>
25
25
 
26
- <a href="https://louismazel.github.io/relizy/">Documentation</a>
26
+ <a href="https://relizy.pages.dev">Documentation</a>
27
27
 
28
28
  </div>
29
29
 
@@ -61,7 +61,7 @@ Imagine you have multiple packages in your project (like a box with several toys
61
61
 
62
62
  ## 📚 Documentation
63
63
 
64
- You can [find the documentation here](https://louismazel.github.io/relizy/).
64
+ You can [find the documentation here](https://relizy.pages.dev).
65
65
 
66
66
  ## 📦 Installation
67
67
 
@@ -140,7 +140,7 @@ relizy release --minor # Automatically posts to configured social channels
140
140
 
141
141
  This README covers the basics to get you started quickly. For detailed documentation, configuration options, and advanced features, visit our full documentation:
142
142
 
143
- **[📚 Full Documentation](https://louismazel.github.io/relizy/)**
143
+ **[📚 Full Documentation](https://relizy.pages.dev)**
144
144
 
145
145
  Topics covered in the documentation:
146
146
 
@@ -201,7 +201,7 @@ relizy release --patch --no-provider-release
201
201
  relizy release --patch --no-publish --no-push
202
202
  ```
203
203
 
204
- For detailed CLI reference, configuration options, and advanced features, check out the [full documentation](https://louismazel.github.io/relizy/).
204
+ For detailed CLI reference, configuration options, and advanced features, check out the [full documentation](https://relizy.pages.dev).
205
205
 
206
206
  ## 🧑‍💻 Development & Contributing
207
207
 
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 { al as isInCI, am 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.DPLg_yCE.mjs';
8
+ import { am as isInCI, an 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.ubFyghBI.mjs';
9
9
  import 'node:child_process';
10
10
  import '@maz-ui/utils';
11
11
  import 'c12';
package/dist/index.d.mts CHANGED
@@ -67,6 +67,12 @@ declare function getDefaultConfig(): {
67
67
  logLevel: LogLevel;
68
68
  safetyCheck: boolean;
69
69
  };
70
+ /**
71
+ * Merge user types with defaults: each user-defined entry replaces the default entirely.
72
+ * This prevents defu's deep merge from adding default sub-properties
73
+ * the user intentionally omitted (e.g. `docs: { title: '...' }` without `semver`).
74
+ */
75
+ declare function mergeTypes<T extends Record<string, unknown>>(userTypes: T | undefined, defaultTypes: T): T;
70
76
  declare function loadRelizyConfig(options?: {
71
77
  baseConfig?: ResolvedRelizyConfig;
72
78
  overrides?: DeepPartial<RelizyConfig>;
@@ -1613,7 +1619,7 @@ type HookConfig = {
1613
1619
  };
1614
1620
  /**
1615
1621
  * Relizy configuration
1616
- * @see https://louismazel.github.io/relizy/config/overview
1622
+ * @see https://relizy.pages.dev/config/overview
1617
1623
  */
1618
1624
  interface RelizyConfig extends Partial<Omit<ChangelogConfig$1, 'output' | 'templates' | 'publish' | 'types' | 'tokens'>> {
1619
1625
  /**
@@ -1748,5 +1754,5 @@ declare function socialSafetyCheck({ config }: {
1748
1754
  }): Promise<void>;
1749
1755
  declare function social(options?: Partial<SocialOptions>): Promise<SocialResult>;
1750
1756
 
1751
- export { NEW_PACKAGE_MARKER, PR_COMMENT_MARKER, buildChangelogBody, buildCommentBody, buildCompareLink, buildContributors, bump, capReleaseTypeForZeroMajor, changelog, checkGitStatusIfDirty, 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, getTwitterCredentials, github, gitlab, hasLernaJson, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, readPackageJson, readPackages, release, resolveTags, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
1757
+ export { NEW_PACKAGE_MARKER, PR_COMMENT_MARKER, buildChangelogBody, buildCommentBody, buildCompareLink, buildContributors, bump, capReleaseTypeForZeroMajor, changelog, checkGitStatusIfDirty, 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, 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 };
1752
1758
  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 };
package/dist/index.d.ts CHANGED
@@ -67,6 +67,12 @@ declare function getDefaultConfig(): {
67
67
  logLevel: LogLevel;
68
68
  safetyCheck: boolean;
69
69
  };
70
+ /**
71
+ * Merge user types with defaults: each user-defined entry replaces the default entirely.
72
+ * This prevents defu's deep merge from adding default sub-properties
73
+ * the user intentionally omitted (e.g. `docs: { title: '...' }` without `semver`).
74
+ */
75
+ declare function mergeTypes<T extends Record<string, unknown>>(userTypes: T | undefined, defaultTypes: T): T;
70
76
  declare function loadRelizyConfig(options?: {
71
77
  baseConfig?: ResolvedRelizyConfig;
72
78
  overrides?: DeepPartial<RelizyConfig>;
@@ -1613,7 +1619,7 @@ type HookConfig = {
1613
1619
  };
1614
1620
  /**
1615
1621
  * Relizy configuration
1616
- * @see https://louismazel.github.io/relizy/config/overview
1622
+ * @see https://relizy.pages.dev/config/overview
1617
1623
  */
1618
1624
  interface RelizyConfig extends Partial<Omit<ChangelogConfig$1, 'output' | 'templates' | 'publish' | 'types' | 'tokens'>> {
1619
1625
  /**
@@ -1748,5 +1754,5 @@ declare function socialSafetyCheck({ config }: {
1748
1754
  }): Promise<void>;
1749
1755
  declare function social(options?: Partial<SocialOptions>): Promise<SocialResult>;
1750
1756
 
1751
- export { NEW_PACKAGE_MARKER, PR_COMMENT_MARKER, buildChangelogBody, buildCommentBody, buildCompareLink, buildContributors, bump, capReleaseTypeForZeroMajor, changelog, checkGitStatusIfDirty, 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, getTwitterCredentials, github, gitlab, hasLernaJson, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, readPackageJson, readPackages, release, resolveTags, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
1757
+ export { NEW_PACKAGE_MARKER, PR_COMMENT_MARKER, buildChangelogBody, buildCommentBody, buildCompareLink, buildContributors, bump, capReleaseTypeForZeroMajor, changelog, checkGitStatusIfDirty, 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, 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 };
1752
1758
  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 };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { af as NEW_PACKAGE_MARKER, Y as PR_COMMENT_MARKER, L as buildChangelogBody, a as buildCommentBody, K as buildCompareLink, M as buildContributors, b as bump, at as capReleaseTypeForZeroMajor, c as changelog, u as checkGitStatusIfDirty, aH as confirmBump, A as createCommitAndTags, I as createGitlabRelease, k as defineConfig, x as detectGitProvider, P as detectPackageManager, X as detectPullRequest, Q as determinePublishTag, av as determineReleaseType, au as determineSemverChange, ao as executeBuildCmd, an as executeFormatCmd, ak as executeHook, o as expandPackagesToBumpWithDependents, a8 as extractChangelogSummary, az as extractVersionFromPackageTag, aK as extractVersionFromTag, v as fetchGitTags, aq as filterOutPrivatePackages, V as findGitHubPR, W as findGitLabMR, a5 as formatChangelogForSlack, a6 as formatSlackMessage, ai as formatTweetMessage, i as generateChangelog, N as generateMarkDown, T as getAuthCommand, aI as getBumpedIndependentPackages, aG as getBumpedPackageIndependently, am as getCIName, aL as getCanaryVersion, E as getCurrentGitBranch, F as getCurrentGitRef, j as getDefaultConfig, n as getDependentsOf, D as getFirstCommit, q as getGitStatus, aa as getIndependentTag, ae as getLastPackageTag, ad as getLastRepoTag, ab as getLastStableTag, ac as getLastTag, z as getModifiedReleaseFilePatterns, a2 as getPackageCommits, m as getPackageDependencies, ax as getPackageNewVersion, a1 as getPackages, ar as getPackagesOrBumpedPackages, S as getPackagesToPublishInIndependentMode, R as getPackagesToPublishInSelectiveMode, aE as getPreid, a9 as getReleaseUrl, $ as getRootPackage, G as getShortCommitSha, a4 as getSlackToken, ah as getTwitterCredentials, H as github, J as gitlab, a3 as hasLernaJson, ap as isBumpedPackage, aF as isChangedPreid, aD as isGraduating, as as isGraduatingToStableBetweenVersion, al as isInCI, aA as isPrerelease, aC as isPrereleaseReleaseType, aB as isStableReleaseType, aM as isTagVersionCompatibleWithCurrent, l as loadRelizyConfig, O as parseChangelogMarkdown, y as parseGitRemoteUrl, Z as postPrComment, a7 as postReleaseToSlack, aj as postReleaseToTwitter, p as prComment, e as providerRelease, d as providerReleaseSafetyCheck, g as publish, U as publishPackage, f as publishSafetyCheck, B as pushCommitAndTags, _ as readPackageJson, a0 as readPackages, r as release, ag as resolveTags, C as rollbackModifiedFiles, aJ as shouldFilterPrereleaseTags, h as social, s as socialSafetyCheck, t as topologicalSort, ay as updateLernaVersion, w as writeChangelogToFile, aw as writeVersion } from './shared/relizy.DPLg_yCE.mjs';
1
+ export { ag as NEW_PACKAGE_MARKER, Z as PR_COMMENT_MARKER, M as buildChangelogBody, a as buildCommentBody, L as buildCompareLink, N as buildContributors, b as bump, au as capReleaseTypeForZeroMajor, c as changelog, v as checkGitStatusIfDirty, aI as confirmBump, B as createCommitAndTags, J as createGitlabRelease, k as defineConfig, y as detectGitProvider, Q as detectPackageManager, Y as detectPullRequest, R as determinePublishTag, aw as determineReleaseType, av as determineSemverChange, ap as executeBuildCmd, ao as executeFormatCmd, al as executeHook, q as expandPackagesToBumpWithDependents, a9 as extractChangelogSummary, aA as extractVersionFromPackageTag, aL as extractVersionFromTag, x as fetchGitTags, ar as filterOutPrivatePackages, W as findGitHubPR, X as findGitLabMR, a6 as formatChangelogForSlack, a7 as formatSlackMessage, aj as formatTweetMessage, i as generateChangelog, O as generateMarkDown, U as getAuthCommand, aJ as getBumpedIndependentPackages, aH as getBumpedPackageIndependently, an as getCIName, aM as getCanaryVersion, F as getCurrentGitBranch, G as getCurrentGitRef, j as getDefaultConfig, o as getDependentsOf, E as getFirstCommit, u as getGitStatus, ab as getIndependentTag, af as getLastPackageTag, ae as getLastRepoTag, ac as getLastStableTag, ad as getLastTag, A as getModifiedReleaseFilePatterns, a3 as getPackageCommits, n as getPackageDependencies, ay as getPackageNewVersion, a2 as getPackages, as as getPackagesOrBumpedPackages, T as getPackagesToPublishInIndependentMode, S as getPackagesToPublishInSelectiveMode, aF as getPreid, aa as getReleaseUrl, a0 as getRootPackage, H as getShortCommitSha, a5 as getSlackToken, ai as getTwitterCredentials, I as github, K as gitlab, a4 as hasLernaJson, aq as isBumpedPackage, aG as isChangedPreid, aE as isGraduating, at as isGraduatingToStableBetweenVersion, am as isInCI, aB as isPrerelease, aD as isPrereleaseReleaseType, aC as isStableReleaseType, aN as isTagVersionCompatibleWithCurrent, l as loadRelizyConfig, m as mergeTypes, P as parseChangelogMarkdown, z as parseGitRemoteUrl, _ as postPrComment, a8 as postReleaseToSlack, ak as postReleaseToTwitter, p as prComment, e as providerRelease, d as providerReleaseSafetyCheck, g as publish, V as publishPackage, f as publishSafetyCheck, C as pushCommitAndTags, $ as readPackageJson, a1 as readPackages, r as release, ah as resolveTags, D as rollbackModifiedFiles, aK as shouldFilterPrereleaseTags, h as social, s as socialSafetyCheck, t as topologicalSort, az as updateLernaVersion, w as writeChangelogToFile, ax as writeVersion } from './shared/relizy.ubFyghBI.mjs';
2
2
  import '@maz-ui/node';
3
3
  import 'node:child_process';
4
4
  import 'node:process';
@@ -1972,20 +1972,34 @@ async function resolveConfig(config, cwd) {
1972
1972
  }
1973
1973
  return config;
1974
1974
  }
1975
+ function mergeTypes(userTypes, defaultTypes) {
1976
+ if (!userTypes) {
1977
+ return { ...defaultTypes };
1978
+ }
1979
+ return {
1980
+ ...defaultTypes,
1981
+ ...userTypes
1982
+ };
1983
+ }
1975
1984
  async function loadRelizyConfig(options) {
1976
1985
  const cwd = options?.overrides?.cwd ?? process$1.cwd();
1977
1986
  await setupDotenv({ cwd });
1978
1987
  const configFile = options?.configFile ?? "relizy";
1979
1988
  const defaultConfig = getDefaultConfig();
1989
+ const { types: defaultTypes, ...defaultsWithoutTypes } = defaultConfig;
1980
1990
  const overridesConfig = defu(options?.overrides, options?.baseConfig);
1981
1991
  const results = await loadConfig({
1982
1992
  dotenv: true,
1983
1993
  cwd,
1984
1994
  name: configFile,
1985
1995
  packageJson: true,
1986
- defaults: defaultConfig,
1996
+ defaults: defaultsWithoutTypes,
1987
1997
  overrides: overridesConfig
1988
1998
  });
1999
+ results.config.types = mergeTypes(
2000
+ results.config.types,
2001
+ defaultTypes
2002
+ );
1989
2003
  if (typeof results._configFile !== "string") {
1990
2004
  logger.debug(`No config file found with name "${configFile}"`);
1991
2005
  if (options?.configFile) {
@@ -3959,7 +3973,28 @@ ${message}`);
3959
3973
  logger.error("Twitter API dependency not found. Please install it with: pnpm add twitter-api-v2");
3960
3974
  throw new Error("Missing dependency: twitter-api-v2. Install it with: pnpm add twitter-api-v2", { cause: error });
3961
3975
  }
3976
+ const httpCode = error?.code;
3977
+ const apiData = error?.data;
3978
+ const apiErrors = error?.errors;
3979
+ const rateLimit = error?.rateLimit;
3962
3980
  logger.error("Failed to post tweet:", error.message || error);
3981
+ if (httpCode) {
3982
+ logger.error(`HTTP code: ${httpCode}`);
3983
+ }
3984
+ if (apiData) {
3985
+ logger.error("Twitter response body:", JSON.stringify(apiData, null, 2));
3986
+ }
3987
+ if (apiErrors) {
3988
+ logger.error("Twitter errors:", JSON.stringify(apiErrors, null, 2));
3989
+ }
3990
+ if (rateLimit) {
3991
+ logger.error("Rate limit info:", JSON.stringify(rateLimit, null, 2));
3992
+ }
3993
+ if (httpCode === 402) {
3994
+ logger.warn(
3995
+ "Twitter/X returned 402 (Payment Required \u2014 likely `CreditsDepleted`).\nSince February 2026, the X API runs on a pay-per-use model \u2014 there is no free tier anymore.\nEach POST /2/tweets costs $0.010, debited from credits you top up in advance.\nTop up your balance at https://developer.x.com \u2192 Billing, then retry.\nReference: https://docs.x.com/x-api/getting-started/pricing"
3996
+ );
3997
+ }
3963
3998
  throw error;
3964
3999
  }
3965
4000
  }
@@ -4890,7 +4925,7 @@ async function providerReleaseSafetyCheck({ config, provider }) {
4890
4925
  throw new Error(`Unsupported Git provider: ${internalProvider || "unknown"}`);
4891
4926
  }
4892
4927
  if (!token) {
4893
- throw new Error(`No token provided for ${internalProvider} - The release will not be published - Please refer to the documentation: https://louismazel.github.io/relizy/guide/installation#environment-setup`);
4928
+ throw new Error(`No token provided for ${internalProvider} - The release will not be published - Please refer to the documentation: https://relizy.pages.dev/guide/installation#environment-setup`);
4894
4929
  }
4895
4930
  if (isAIProviderReleaseEnabled(config)) {
4896
4931
  await aiSafetyCheck({ config });
@@ -5782,4 +5817,4 @@ Git provider: ${provider}`);
5782
5817
  }
5783
5818
  }
5784
5819
 
5785
- export { getRootPackage as $, createCommitAndTags as A, pushCommitAndTags as B, rollbackModifiedFiles as C, getFirstCommit as D, getCurrentGitBranch as E, getCurrentGitRef as F, getShortCommitSha as G, github as H, createGitlabRelease as I, gitlab as J, buildCompareLink as K, buildChangelogBody as L, buildContributors as M, generateMarkDown as N, parseChangelogMarkdown as O, detectPackageManager as P, determinePublishTag as Q, getPackagesToPublishInSelectiveMode as R, getPackagesToPublishInIndependentMode as S, getAuthCommand as T, publishPackage as U, findGitHubPR as V, findGitLabMR as W, detectPullRequest as X, PR_COMMENT_MARKER as Y, postPrComment as Z, readPackageJson as _, buildCommentBody as a, readPackages as a0, getPackages as a1, getPackageCommits as a2, hasLernaJson as a3, getSlackToken as a4, formatChangelogForSlack as a5, formatSlackMessage as a6, postReleaseToSlack as a7, extractChangelogSummary as a8, getReleaseUrl as a9, isPrerelease as aA, isStableReleaseType as aB, isPrereleaseReleaseType as aC, isGraduating as aD, getPreid as aE, isChangedPreid as aF, getBumpedPackageIndependently as aG, confirmBump as aH, getBumpedIndependentPackages as aI, shouldFilterPrereleaseTags as aJ, extractVersionFromTag as aK, getCanaryVersion as aL, isTagVersionCompatibleWithCurrent as aM, getIndependentTag as aa, getLastStableTag as ab, getLastTag as ac, getLastRepoTag as ad, getLastPackageTag as ae, NEW_PACKAGE_MARKER as af, resolveTags as ag, getTwitterCredentials as ah, formatTweetMessage as ai, postReleaseToTwitter as aj, executeHook as ak, isInCI as al, getCIName as am, executeFormatCmd as an, executeBuildCmd as ao, isBumpedPackage as ap, filterOutPrivatePackages as aq, getPackagesOrBumpedPackages as ar, isGraduatingToStableBetweenVersion as as, capReleaseTypeForZeroMajor as at, determineSemverChange as au, determineReleaseType as av, writeVersion as aw, getPackageNewVersion as ax, updateLernaVersion as ay, extractVersionFromPackageTag 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, getPackageDependencies as m, getDependentsOf as n, expandPackagesToBumpWithDependents as o, prComment as p, getGitStatus as q, release as r, socialSafetyCheck as s, topologicalSort as t, checkGitStatusIfDirty as u, fetchGitTags as v, writeChangelogToFile as w, detectGitProvider as x, parseGitRemoteUrl as y, getModifiedReleaseFilePatterns as z };
5820
+ export { readPackageJson 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, buildContributors as N, generateMarkDown as O, parseChangelogMarkdown as P, detectPackageManager as Q, determinePublishTag as R, getPackagesToPublishInSelectiveMode as S, getPackagesToPublishInIndependentMode as T, getAuthCommand as U, publishPackage as V, findGitHubPR as W, findGitLabMR as X, detectPullRequest as Y, PR_COMMENT_MARKER as Z, postPrComment as _, buildCommentBody as a, getRootPackage as a0, readPackages as a1, getPackages as a2, getPackageCommits as a3, hasLernaJson as a4, getSlackToken as a5, formatChangelogForSlack as a6, formatSlackMessage as a7, postReleaseToSlack as a8, extractChangelogSummary as a9, extractVersionFromPackageTag as aA, isPrerelease as aB, isStableReleaseType as aC, isPrereleaseReleaseType as aD, isGraduating as aE, getPreid as aF, isChangedPreid as aG, getBumpedPackageIndependently as aH, confirmBump as aI, getBumpedIndependentPackages as aJ, shouldFilterPrereleaseTags as aK, extractVersionFromTag as aL, getCanaryVersion as aM, isTagVersionCompatibleWithCurrent as aN, getReleaseUrl as aa, getIndependentTag as ab, getLastStableTag as ac, getLastTag as ad, getLastRepoTag as ae, getLastPackageTag as af, NEW_PACKAGE_MARKER as ag, resolveTags as ah, getTwitterCredentials as ai, formatTweetMessage as aj, postReleaseToTwitter as ak, executeHook as al, isInCI as am, getCIName as an, executeFormatCmd as ao, executeBuildCmd as ap, isBumpedPackage as aq, filterOutPrivatePackages as ar, getPackagesOrBumpedPackages as as, isGraduatingToStableBetweenVersion as at, capReleaseTypeForZeroMajor as au, determineSemverChange as av, determineReleaseType as aw, writeVersion as ax, getPackageNewVersion as ay, updateLernaVersion 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,11 +1,11 @@
1
1
  {
2
2
  "name": "relizy",
3
3
  "type": "module",
4
- "version": "1.3.1",
4
+ "version": "1.3.2",
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",
8
- "homepage": "https://louismazel.github.io/relizy",
8
+ "homepage": "https://relizy.pages.dev",
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "git+https://github.com/LouisMazel/relizy.git"