relizy 1.5.0-beta.1 → 1.5.0-beta.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/dist/cli.mjs +4 -4
- package/dist/index.d.mts +26 -3
- package/dist/index.d.ts +26 -3
- package/dist/index.mjs +1 -1
- package/dist/shared/{relizy.wrrRuBuo.mjs → relizy.B0MWtDvR.mjs} +95 -32
- package/package.json +2 -2
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 {
|
|
8
|
+
import { ar as isInCI, R as getCIName, e as bump, g as changelog, aG as publish, aE as providerRelease, aY as social, aD as prComment, aP as release } from './shared/relizy.B0MWtDvR.mjs';
|
|
9
9
|
import 'node:child_process';
|
|
10
10
|
import '@maz-ui/utils/helpers/formatJson';
|
|
11
11
|
import 'c12';
|
|
@@ -21,10 +21,10 @@ import 'convert-gitmoji';
|
|
|
21
21
|
import 'node-fetch-native';
|
|
22
22
|
|
|
23
23
|
const hasSilentFlag = process.argv.includes("--log-level") && process.argv.includes("silent");
|
|
24
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
25
|
-
const __dirname = dirname(__filename);
|
|
24
|
+
const __filename$1 = fileURLToPath(import.meta.url);
|
|
25
|
+
const __dirname$1 = dirname(__filename$1);
|
|
26
26
|
const packageJson = JSON.parse(
|
|
27
|
-
readFileSync(join(__dirname, "../package.json"), "utf-8")
|
|
27
|
+
readFileSync(join(__dirname$1, "../package.json"), "utf-8")
|
|
28
28
|
);
|
|
29
29
|
const version = packageJson.version;
|
|
30
30
|
if (!hasSilentFlag) {
|
package/dist/index.d.mts
CHANGED
|
@@ -380,6 +380,27 @@ declare function resolveRegistryTargetsForPackage(pkg: PackageBase, config: Reso
|
|
|
380
380
|
* scoped to packages that are not part of this release does not block it.
|
|
381
381
|
*/
|
|
382
382
|
declare function resolveRegistryTargetsForPackages(packages: PackageBase[], config: ResolvedRelizyConfig): RegistryTarget[];
|
|
383
|
+
/**
|
|
384
|
+
* Run `fn` with the registry target's auth token and scope registry
|
|
385
|
+
* temporarily written to the project `.npmrc` (at `config.cwd`), then restore
|
|
386
|
+
* the original file - or remove it if it did not exist - ALWAYS, even on
|
|
387
|
+
* failure.
|
|
388
|
+
*
|
|
389
|
+
* This is the version-proof replacement for passing rc-options as CLI flags:
|
|
390
|
+
* the `.npmrc` contract is stable across npm/pnpm/bun and every version, so we
|
|
391
|
+
* never depend on the CLI argument parser (which pnpm changed in v10+). Only
|
|
392
|
+
* the keys relizy manages are overridden; every other line already in the
|
|
393
|
+
* user's `.npmrc` is preserved untouched. When there is nothing to inject (no
|
|
394
|
+
* token/scope, or a package manager that does not read `.npmrc` such as yarn),
|
|
395
|
+
* the `.npmrc` is left as-is and `fn` runs against the user's own config.
|
|
396
|
+
*/
|
|
397
|
+
declare function withRegistryNpmrc<T>({ config, registryTarget, packageName, packageManager, fn, }: {
|
|
398
|
+
config: ResolvedRelizyConfig;
|
|
399
|
+
registryTarget: RegistryTarget;
|
|
400
|
+
packageName?: string;
|
|
401
|
+
packageManager: PackageManager;
|
|
402
|
+
fn: () => Promise<T>;
|
|
403
|
+
}): Promise<T>;
|
|
383
404
|
declare function getAuthCommand({ packageManager, config, otp, registryTarget, }: {
|
|
384
405
|
packageManager: PackageManager;
|
|
385
406
|
config: ResolvedRelizyConfig;
|
|
@@ -1260,7 +1281,8 @@ interface RegistryTarget {
|
|
|
1260
1281
|
*/
|
|
1261
1282
|
registry: string;
|
|
1262
1283
|
/**
|
|
1263
|
-
* Registry token -
|
|
1284
|
+
* Registry token - supported for npm, pnpm and bun (injected via `.npmrc`).
|
|
1285
|
+
* Yarn is not supported (it uses `.yarnrc.yml`); configure its auth yourself.
|
|
1264
1286
|
*/
|
|
1265
1287
|
token?: string;
|
|
1266
1288
|
/**
|
|
@@ -1321,7 +1343,8 @@ type PublishConfig = ChangelogConfig$1['publish'] & {
|
|
|
1321
1343
|
*/
|
|
1322
1344
|
buildCmd?: string;
|
|
1323
1345
|
/**
|
|
1324
|
-
* NPM token (e.g. `123456`) -
|
|
1346
|
+
* NPM token (e.g. `123456`) - supported for npm, pnpm and bun (injected via
|
|
1347
|
+
* `.npmrc`). Yarn is not supported (it uses `.yarnrc.yml`).
|
|
1325
1348
|
*/
|
|
1326
1349
|
token?: string;
|
|
1327
1350
|
/**
|
|
@@ -2103,5 +2126,5 @@ declare function socialSafetyCheck({ config }: {
|
|
|
2103
2126
|
}): Promise<void>;
|
|
2104
2127
|
declare function social(options?: Partial<SocialOptions>): Promise<SocialResult>;
|
|
2105
2128
|
|
|
2106
|
-
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, findReachableCommitBySubject, formatChangelogForSlack, formatPackagesForSlack, formatSlackMessage, formatTweetMessage, generateChangelog, generateMarkDown, getAuthCommand, getBumpedIndependentPackages, getBumpedPackageIndependently, getCIName, getCanaryVersion, getCommitSubject, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getIndependentTag, getLastPackageTag, getLastRepoTag, getLastStableTag, getLastTag, getModifiedReleaseFilePatterns, getNpmRegistry, getPackageCommits, getPackageDependencies, getPackageNewVersion, getPackages, getPackagesOrBumpedPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPreid, getReleaseUrl, getRootPackage, getShortCommitSha, getSlackToken, getSlackWebhookUrl, getTwitterCredentials, github, gitlab, hasLernaJson, isAncestor, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, mergeTypes, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, pushTagForce, readPackageJson, readPackages, reconcileFromTag, redactSecrets, release, resetRewrittenTagCache, resolveAllConfiguredRegistryTargets, resolveRegistryTargetsForPackage, resolveRegistryTargetsForPackages, resolveTags, retagAnnotatedLocal, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, tagExists, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
|
|
2129
|
+
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, findReachableCommitBySubject, formatChangelogForSlack, formatPackagesForSlack, formatSlackMessage, formatTweetMessage, generateChangelog, generateMarkDown, getAuthCommand, getBumpedIndependentPackages, getBumpedPackageIndependently, getCIName, getCanaryVersion, getCommitSubject, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getIndependentTag, getLastPackageTag, getLastRepoTag, getLastStableTag, getLastTag, getModifiedReleaseFilePatterns, getNpmRegistry, getPackageCommits, getPackageDependencies, getPackageNewVersion, getPackages, getPackagesOrBumpedPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPreid, getReleaseUrl, getRootPackage, getShortCommitSha, getSlackToken, getSlackWebhookUrl, getTwitterCredentials, github, gitlab, hasLernaJson, isAncestor, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, mergeTypes, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, pushTagForce, readPackageJson, readPackages, reconcileFromTag, redactSecrets, release, resetRewrittenTagCache, resolveAllConfiguredRegistryTargets, resolveRegistryTargetsForPackage, resolveRegistryTargetsForPackages, resolveTags, retagAnnotatedLocal, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, tagExists, topologicalSort, updateLernaVersion, withRegistryNpmrc, writeChangelogToFile, writeVersion };
|
|
2107
2130
|
export type { AIConfig, AIPromptTarget, AIProviderName, AISocialConfig, AISystemPromptOverrides, AITargetConfig, BumpConfig, BumpOptions, BumpResult, BumpResultFalsy, BumpResultTruthy, ChangelogConfig, ChangelogInclude, ChangelogOptions, ClaudeCodeProviderOptions, ConfigType, GitProvider, GitlabRelease, GitlabReleaseResponse, HookConfig, HookStep, HookType, MonorepoConfig, OnRewrittenTag, PackageBase, PackageBumpEntry, PackageManager, PostedRelease, PrCommentConfig, PrCommentMode, PrCommentOptions, PrCommentStatus, ProviderReleaseOptions, ProviderReleaseResult, PublishConfig, PublishOptions, PublishResponse, PullRequestInfo, ReadPackage, Reference, RegistryTarget, 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
|
@@ -380,6 +380,27 @@ declare function resolveRegistryTargetsForPackage(pkg: PackageBase, config: Reso
|
|
|
380
380
|
* scoped to packages that are not part of this release does not block it.
|
|
381
381
|
*/
|
|
382
382
|
declare function resolveRegistryTargetsForPackages(packages: PackageBase[], config: ResolvedRelizyConfig): RegistryTarget[];
|
|
383
|
+
/**
|
|
384
|
+
* Run `fn` with the registry target's auth token and scope registry
|
|
385
|
+
* temporarily written to the project `.npmrc` (at `config.cwd`), then restore
|
|
386
|
+
* the original file - or remove it if it did not exist - ALWAYS, even on
|
|
387
|
+
* failure.
|
|
388
|
+
*
|
|
389
|
+
* This is the version-proof replacement for passing rc-options as CLI flags:
|
|
390
|
+
* the `.npmrc` contract is stable across npm/pnpm/bun and every version, so we
|
|
391
|
+
* never depend on the CLI argument parser (which pnpm changed in v10+). Only
|
|
392
|
+
* the keys relizy manages are overridden; every other line already in the
|
|
393
|
+
* user's `.npmrc` is preserved untouched. When there is nothing to inject (no
|
|
394
|
+
* token/scope, or a package manager that does not read `.npmrc` such as yarn),
|
|
395
|
+
* the `.npmrc` is left as-is and `fn` runs against the user's own config.
|
|
396
|
+
*/
|
|
397
|
+
declare function withRegistryNpmrc<T>({ config, registryTarget, packageName, packageManager, fn, }: {
|
|
398
|
+
config: ResolvedRelizyConfig;
|
|
399
|
+
registryTarget: RegistryTarget;
|
|
400
|
+
packageName?: string;
|
|
401
|
+
packageManager: PackageManager;
|
|
402
|
+
fn: () => Promise<T>;
|
|
403
|
+
}): Promise<T>;
|
|
383
404
|
declare function getAuthCommand({ packageManager, config, otp, registryTarget, }: {
|
|
384
405
|
packageManager: PackageManager;
|
|
385
406
|
config: ResolvedRelizyConfig;
|
|
@@ -1260,7 +1281,8 @@ interface RegistryTarget {
|
|
|
1260
1281
|
*/
|
|
1261
1282
|
registry: string;
|
|
1262
1283
|
/**
|
|
1263
|
-
* Registry token -
|
|
1284
|
+
* Registry token - supported for npm, pnpm and bun (injected via `.npmrc`).
|
|
1285
|
+
* Yarn is not supported (it uses `.yarnrc.yml`); configure its auth yourself.
|
|
1264
1286
|
*/
|
|
1265
1287
|
token?: string;
|
|
1266
1288
|
/**
|
|
@@ -1321,7 +1343,8 @@ type PublishConfig = ChangelogConfig$1['publish'] & {
|
|
|
1321
1343
|
*/
|
|
1322
1344
|
buildCmd?: string;
|
|
1323
1345
|
/**
|
|
1324
|
-
* NPM token (e.g. `123456`) -
|
|
1346
|
+
* NPM token (e.g. `123456`) - supported for npm, pnpm and bun (injected via
|
|
1347
|
+
* `.npmrc`). Yarn is not supported (it uses `.yarnrc.yml`).
|
|
1325
1348
|
*/
|
|
1326
1349
|
token?: string;
|
|
1327
1350
|
/**
|
|
@@ -2103,5 +2126,5 @@ declare function socialSafetyCheck({ config }: {
|
|
|
2103
2126
|
}): Promise<void>;
|
|
2104
2127
|
declare function social(options?: Partial<SocialOptions>): Promise<SocialResult>;
|
|
2105
2128
|
|
|
2106
|
-
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, findReachableCommitBySubject, formatChangelogForSlack, formatPackagesForSlack, formatSlackMessage, formatTweetMessage, generateChangelog, generateMarkDown, getAuthCommand, getBumpedIndependentPackages, getBumpedPackageIndependently, getCIName, getCanaryVersion, getCommitSubject, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getIndependentTag, getLastPackageTag, getLastRepoTag, getLastStableTag, getLastTag, getModifiedReleaseFilePatterns, getNpmRegistry, getPackageCommits, getPackageDependencies, getPackageNewVersion, getPackages, getPackagesOrBumpedPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPreid, getReleaseUrl, getRootPackage, getShortCommitSha, getSlackToken, getSlackWebhookUrl, getTwitterCredentials, github, gitlab, hasLernaJson, isAncestor, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, mergeTypes, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, pushTagForce, readPackageJson, readPackages, reconcileFromTag, redactSecrets, release, resetRewrittenTagCache, resolveAllConfiguredRegistryTargets, resolveRegistryTargetsForPackage, resolveRegistryTargetsForPackages, resolveTags, retagAnnotatedLocal, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, tagExists, topologicalSort, updateLernaVersion, writeChangelogToFile, writeVersion };
|
|
2129
|
+
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, findReachableCommitBySubject, formatChangelogForSlack, formatPackagesForSlack, formatSlackMessage, formatTweetMessage, generateChangelog, generateMarkDown, getAuthCommand, getBumpedIndependentPackages, getBumpedPackageIndependently, getCIName, getCanaryVersion, getCommitSubject, getCurrentGitBranch, getCurrentGitRef, getDefaultConfig, getDependentsOf, getFirstCommit, getGitStatus, getIndependentTag, getLastPackageTag, getLastRepoTag, getLastStableTag, getLastTag, getModifiedReleaseFilePatterns, getNpmRegistry, getPackageCommits, getPackageDependencies, getPackageNewVersion, getPackages, getPackagesOrBumpedPackages, getPackagesToPublishInIndependentMode, getPackagesToPublishInSelectiveMode, getPreid, getReleaseUrl, getRootPackage, getShortCommitSha, getSlackToken, getSlackWebhookUrl, getTwitterCredentials, github, gitlab, hasLernaJson, isAncestor, isBumpedPackage, isChangedPreid, isGraduating, isGraduatingToStableBetweenVersion, isInCI, isPrerelease, isPrereleaseReleaseType, isStableReleaseType, isTagVersionCompatibleWithCurrent, loadRelizyConfig, mergeTypes, parseChangelogMarkdown, parseGitRemoteUrl, postPrComment, postReleaseToSlack, postReleaseToTwitter, prComment, providerRelease, providerReleaseSafetyCheck, publish, publishPackage, publishSafetyCheck, pushCommitAndTags, pushTagForce, readPackageJson, readPackages, reconcileFromTag, redactSecrets, release, resetRewrittenTagCache, resolveAllConfiguredRegistryTargets, resolveRegistryTargetsForPackage, resolveRegistryTargetsForPackages, resolveTags, retagAnnotatedLocal, rollbackModifiedFiles, shouldFilterPrereleaseTags, social, socialSafetyCheck, tagExists, topologicalSort, updateLernaVersion, withRegistryNpmrc, writeChangelogToFile, writeVersion };
|
|
2107
2130
|
export type { AIConfig, AIPromptTarget, AIProviderName, AISocialConfig, AISystemPromptOverrides, AITargetConfig, BumpConfig, BumpOptions, BumpResult, BumpResultFalsy, BumpResultTruthy, ChangelogConfig, ChangelogInclude, ChangelogOptions, ClaudeCodeProviderOptions, ConfigType, GitProvider, GitlabRelease, GitlabReleaseResponse, HookConfig, HookStep, HookType, MonorepoConfig, OnRewrittenTag, PackageBase, PackageBumpEntry, PackageManager, PostedRelease, PrCommentConfig, PrCommentMode, PrCommentOptions, PrCommentStatus, ProviderReleaseOptions, ProviderReleaseResult, PublishConfig, PublishOptions, PublishResponse, PullRequestInfo, ReadPackage, Reference, RegistryTarget, 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 {
|
|
1
|
+
export { N as NEW_PACKAGE_MARKER, P as PR_COMMENT_MARKER, b as buildChangelogBody, a as buildCommentBody, c as buildCompareLink, d as buildContributors, e as bump, f as capReleaseTypeForZeroMajor, g as changelog, h as checkGitStatusIfDirty, i as collectContributorNames, j as collectPackageBumps, k as confirmBump, l as createCommitAndTags, m as createGitlabRelease, n as defineConfig, o as detectGitProvider, p as detectPackageManager, q as detectPullRequest, r as determinePublishTag, s as determineReleaseType, t as determineSemverChange, u as executeBuildCmd, v as executeFormatCmd, w as executeHook, x as expandPackagesToBumpWithDependents, y as extractChangelogSummary, z as extractVersionFromPackageTag, A as extractVersionFromTag, B as fetchGitTags, C as filterOutPrivatePackages, D as findGitHubPR, E as findGitLabMR, F as findReachableCommitBySubject, G as formatChangelogForSlack, H as formatPackagesForSlack, I as formatSlackMessage, J as formatTweetMessage, K as generateChangelog, L as generateMarkDown, M as getAuthCommand, O as getBumpedIndependentPackages, Q as getBumpedPackageIndependently, R as getCIName, S as getCanaryVersion, T as getCommitSubject, U as getCurrentGitBranch, V as getCurrentGitRef, W as getDefaultConfig, X as getDependentsOf, Y as getFirstCommit, Z as getGitStatus, _ as getIndependentTag, $ as getLastPackageTag, a0 as getLastRepoTag, a1 as getLastStableTag, a2 as getLastTag, a3 as getModifiedReleaseFilePatterns, a4 as getNpmRegistry, a5 as getPackageCommits, a6 as getPackageDependencies, a7 as getPackageNewVersion, a8 as getPackages, a9 as getPackagesOrBumpedPackages, aa as getPackagesToPublishInIndependentMode, ab as getPackagesToPublishInSelectiveMode, ac as getPreid, ad as getReleaseUrl, ae as getRootPackage, af as getShortCommitSha, ag as getSlackToken, ah as getSlackWebhookUrl, ai as getTwitterCredentials, aj as github, ak as gitlab, al as hasLernaJson, am as isAncestor, an as isBumpedPackage, ao as isChangedPreid, ap as isGraduating, aq as isGraduatingToStableBetweenVersion, ar as isInCI, as as isPrerelease, at as isPrereleaseReleaseType, au as isStableReleaseType, av as isTagVersionCompatibleWithCurrent, aw as loadRelizyConfig, ax as mergeTypes, ay as parseChangelogMarkdown, az as parseGitRemoteUrl, aA as postPrComment, aB as postReleaseToSlack, aC as postReleaseToTwitter, aD as prComment, aE as providerRelease, aF as providerReleaseSafetyCheck, aG as publish, aH as publishPackage, aI as publishSafetyCheck, aJ as pushCommitAndTags, aK as pushTagForce, aL as readPackageJson, aM as readPackages, aN as reconcileFromTag, aO as redactSecrets, aP as release, aQ as resetRewrittenTagCache, aR as resolveAllConfiguredRegistryTargets, aS as resolveRegistryTargetsForPackage, aT as resolveRegistryTargetsForPackages, aU as resolveTags, aV as retagAnnotatedLocal, aW as rollbackModifiedFiles, aX as shouldFilterPrereleaseTags, aY as social, aZ as socialSafetyCheck, a_ as tagExists, a$ as topologicalSort, b0 as updateLernaVersion, b1 as withRegistryNpmrc, b2 as writeChangelogToFile, b3 as writeVersion } from './shared/relizy.B0MWtDvR.mjs';
|
|
2
2
|
import '@maz-ui/node';
|
|
3
3
|
import 'node:child_process';
|
|
4
4
|
import 'node:process';
|
|
@@ -5,7 +5,7 @@ import { formatJson } from '@maz-ui/utils/helpers/formatJson';
|
|
|
5
5
|
import { setupDotenv, loadConfig } from 'c12';
|
|
6
6
|
import { getGitDiff, parseCommits, resolveRepoConfig, getRepoConfig, formatCompareChanges, formatReference, createGithubRelease } from 'changelogen';
|
|
7
7
|
import { defu } from 'defu';
|
|
8
|
-
import { existsSync, readFileSync, statSync, writeFileSync } from 'node:fs';
|
|
8
|
+
import { existsSync, readFileSync, statSync, writeFileSync, rmSync } from 'node:fs';
|
|
9
9
|
import path, { join, relative, sep } from 'node:path';
|
|
10
10
|
import { select, confirm, input } from '@inquirer/prompts';
|
|
11
11
|
import micromatch from 'micromatch';
|
|
@@ -1960,6 +1960,71 @@ function resolveRegistryTargetsForPackages(packages, config) {
|
|
|
1960
1960
|
const allTargets = packages.flatMap((pkg) => resolveRegistryTargetsForPackage(pkg, config));
|
|
1961
1961
|
return dedupRegistryTargets(allTargets);
|
|
1962
1962
|
}
|
|
1963
|
+
function readsNpmrc(packageManager) {
|
|
1964
|
+
return packageManager === "npm" || packageManager === "pnpm" || packageManager === "bun";
|
|
1965
|
+
}
|
|
1966
|
+
function getPackageScope(packageName) {
|
|
1967
|
+
if (!packageName?.startsWith("@") || !packageName.includes("/")) {
|
|
1968
|
+
return void 0;
|
|
1969
|
+
}
|
|
1970
|
+
return packageName.slice(0, packageName.indexOf("/"));
|
|
1971
|
+
}
|
|
1972
|
+
function buildNpmrcEntries({
|
|
1973
|
+
registryTarget,
|
|
1974
|
+
scope,
|
|
1975
|
+
packageManager
|
|
1976
|
+
}) {
|
|
1977
|
+
const { registry, token } = registryTarget;
|
|
1978
|
+
const entries = [];
|
|
1979
|
+
if (registry && scope) {
|
|
1980
|
+
entries.push({ key: `${scope}:registry`, line: `${scope}:registry=${registry}` });
|
|
1981
|
+
}
|
|
1982
|
+
if (token) {
|
|
1983
|
+
if (!registry) {
|
|
1984
|
+
logger.warn("Publish token provided but no registry specified");
|
|
1985
|
+
} else if (!readsNpmrc(packageManager)) {
|
|
1986
|
+
logger.warn("Publish token only supported for npm, pnpm and bun");
|
|
1987
|
+
} else {
|
|
1988
|
+
const url = new URL(registry);
|
|
1989
|
+
const authKey = `//${url.host}${url.pathname}:_authToken`;
|
|
1990
|
+
entries.push({ key: authKey, line: `${authKey}=${token}` });
|
|
1991
|
+
}
|
|
1992
|
+
}
|
|
1993
|
+
return entries;
|
|
1994
|
+
}
|
|
1995
|
+
async function withRegistryNpmrc({
|
|
1996
|
+
config,
|
|
1997
|
+
registryTarget,
|
|
1998
|
+
packageName,
|
|
1999
|
+
packageManager,
|
|
2000
|
+
fn
|
|
2001
|
+
}) {
|
|
2002
|
+
const scope = getPackageScope(packageName);
|
|
2003
|
+
const entries = buildNpmrcEntries({ registryTarget, scope, packageManager });
|
|
2004
|
+
if (entries.length === 0) {
|
|
2005
|
+
return fn();
|
|
2006
|
+
}
|
|
2007
|
+
const npmrcPath = join(config.cwd, ".npmrc");
|
|
2008
|
+
const existed = existsSync(npmrcPath);
|
|
2009
|
+
const original = existed ? readFileSync(npmrcPath, "utf8") : "";
|
|
2010
|
+
const managedKeys = new Set(entries.map((entry) => entry.key));
|
|
2011
|
+
const preservedLines = original.split("\n").filter((line) => {
|
|
2012
|
+
const key = line.split("=")[0]?.trim();
|
|
2013
|
+
return !key || !managedKeys.has(key);
|
|
2014
|
+
});
|
|
2015
|
+
const nextContent = `${[...preservedLines, ...entries.map((entry) => entry.line)].filter(Boolean).join("\n")}
|
|
2016
|
+
`;
|
|
2017
|
+
try {
|
|
2018
|
+
writeFileSync(npmrcPath, nextContent);
|
|
2019
|
+
return await fn();
|
|
2020
|
+
} finally {
|
|
2021
|
+
if (existed) {
|
|
2022
|
+
writeFileSync(npmrcPath, original);
|
|
2023
|
+
} else {
|
|
2024
|
+
rmSync(npmrcPath, { force: true });
|
|
2025
|
+
}
|
|
2026
|
+
}
|
|
2027
|
+
}
|
|
1963
2028
|
function getCommandArgs({
|
|
1964
2029
|
packageManager,
|
|
1965
2030
|
tag,
|
|
@@ -1973,19 +2038,6 @@ function getCommandArgs({
|
|
|
1973
2038
|
if (registry) {
|
|
1974
2039
|
args.push("--registry", registry);
|
|
1975
2040
|
}
|
|
1976
|
-
const isPnpmOrNpm = packageManager === "pnpm" || packageManager === "npm";
|
|
1977
|
-
const publishToken = registryTarget.token;
|
|
1978
|
-
if (publishToken) {
|
|
1979
|
-
if (!registry) {
|
|
1980
|
-
logger.warn("Publish token provided but no registry specified");
|
|
1981
|
-
} else if (!isPnpmOrNpm) {
|
|
1982
|
-
logger.warn("Publish token only supported for pnpm and npm");
|
|
1983
|
-
} else {
|
|
1984
|
-
const registryUrl = new URL(registry);
|
|
1985
|
-
const authTokenKey = `--//${registryUrl.host}${registryUrl.pathname}:_authToken=${publishToken}`;
|
|
1986
|
-
args.push(authTokenKey);
|
|
1987
|
-
}
|
|
1988
|
-
}
|
|
1989
2041
|
const finalOtp = otp ?? sessionOtpByRegistry.get(normalizeRegistryKey(registry)) ?? registryTarget.otp;
|
|
1990
2042
|
if (finalOtp) {
|
|
1991
2043
|
args.push("--otp", finalOtp);
|
|
@@ -2125,7 +2177,7 @@ async function publishToRegistryTarget({
|
|
|
2125
2177
|
packageNameAndVersion,
|
|
2126
2178
|
registryLabel
|
|
2127
2179
|
}) {
|
|
2128
|
-
const tag = determinePublishTag(pkg.newVersion || pkg.version, registryTarget.tag);
|
|
2180
|
+
const tag = determinePublishTag(pkg.newVersion || pkg.version, registryTarget.tag ?? config.publish.tag);
|
|
2129
2181
|
let dynamicOtp;
|
|
2130
2182
|
const maxAttempts = 2;
|
|
2131
2183
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
@@ -2138,15 +2190,21 @@ async function publishToRegistryTarget({
|
|
|
2138
2190
|
dryRun
|
|
2139
2191
|
});
|
|
2140
2192
|
process.chdir(pkg.path);
|
|
2141
|
-
await
|
|
2142
|
-
command,
|
|
2143
|
-
packageNameAndVersion,
|
|
2144
|
-
packageManager,
|
|
2145
|
-
pkg,
|
|
2193
|
+
await withRegistryNpmrc({
|
|
2146
2194
|
config,
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2195
|
+
registryTarget,
|
|
2196
|
+
packageName: pkg.name,
|
|
2197
|
+
packageManager,
|
|
2198
|
+
fn: () => executePublishCommand({
|
|
2199
|
+
command,
|
|
2200
|
+
packageNameAndVersion,
|
|
2201
|
+
packageManager,
|
|
2202
|
+
pkg,
|
|
2203
|
+
config,
|
|
2204
|
+
dryRun,
|
|
2205
|
+
tag,
|
|
2206
|
+
registryLabel
|
|
2207
|
+
})
|
|
2150
2208
|
});
|
|
2151
2209
|
const registryKey = normalizeRegistryKey(registryTarget.registry);
|
|
2152
2210
|
if (dynamicOtp && !sessionOtpByRegistry.has(registryKey)) {
|
|
@@ -5686,14 +5744,19 @@ async function checkRegistryAuth({
|
|
|
5686
5744
|
}, patienceDelay);
|
|
5687
5745
|
try {
|
|
5688
5746
|
logger.info(`Authenticating to package registry${registryLabel}...`);
|
|
5689
|
-
await
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5696
|
-
|
|
5747
|
+
await withRegistryNpmrc({
|
|
5748
|
+
config,
|
|
5749
|
+
registryTarget,
|
|
5750
|
+
packageManager: config.publish.packageManager,
|
|
5751
|
+
fn: () => execPromise(authCommand, {
|
|
5752
|
+
cwd: config.cwd,
|
|
5753
|
+
timeout: timeoutMs,
|
|
5754
|
+
noStdout: true,
|
|
5755
|
+
noStderr: true,
|
|
5756
|
+
noSuccess: true,
|
|
5757
|
+
noError: true,
|
|
5758
|
+
logLevel: config.logLevel
|
|
5759
|
+
})
|
|
5697
5760
|
});
|
|
5698
5761
|
logger.info(`Successfully authenticated to package registry${registryLabel}`);
|
|
5699
5762
|
} catch (error) {
|
|
@@ -6632,4 +6695,4 @@ Git provider: ${provider}`);
|
|
|
6632
6695
|
}
|
|
6633
6696
|
}
|
|
6634
6697
|
|
|
6635
|
-
export {
|
|
6698
|
+
export { getLastPackageTag as $, extractVersionFromTag as A, fetchGitTags as B, filterOutPrivatePackages as C, findGitHubPR as D, findGitLabMR as E, findReachableCommitBySubject as F, formatChangelogForSlack as G, formatPackagesForSlack as H, formatSlackMessage as I, formatTweetMessage as J, generateChangelog as K, generateMarkDown as L, getAuthCommand as M, NEW_PACKAGE_MARKER as N, getBumpedIndependentPackages as O, PR_COMMENT_MARKER as P, getBumpedPackageIndependently as Q, getCIName as R, getCanaryVersion as S, getCommitSubject as T, getCurrentGitBranch as U, getCurrentGitRef as V, getDefaultConfig as W, getDependentsOf as X, getFirstCommit as Y, getGitStatus as Z, getIndependentTag as _, buildCommentBody as a, topologicalSort as a$, getLastRepoTag as a0, getLastStableTag as a1, getLastTag as a2, getModifiedReleaseFilePatterns as a3, getNpmRegistry as a4, getPackageCommits as a5, getPackageDependencies as a6, getPackageNewVersion as a7, getPackages as a8, getPackagesOrBumpedPackages as a9, postPrComment as aA, postReleaseToSlack as aB, postReleaseToTwitter as aC, prComment as aD, providerRelease as aE, providerReleaseSafetyCheck as aF, publish as aG, publishPackage as aH, publishSafetyCheck as aI, pushCommitAndTags as aJ, pushTagForce as aK, readPackageJson as aL, readPackages as aM, reconcileFromTag as aN, redactSecrets as aO, release as aP, resetRewrittenTagCache as aQ, resolveAllConfiguredRegistryTargets as aR, resolveRegistryTargetsForPackage as aS, resolveRegistryTargetsForPackages as aT, resolveTags as aU, retagAnnotatedLocal as aV, rollbackModifiedFiles as aW, shouldFilterPrereleaseTags as aX, social as aY, socialSafetyCheck as aZ, tagExists as a_, getPackagesToPublishInIndependentMode as aa, getPackagesToPublishInSelectiveMode as ab, getPreid as ac, getReleaseUrl as ad, getRootPackage as ae, getShortCommitSha as af, getSlackToken as ag, getSlackWebhookUrl as ah, getTwitterCredentials as ai, github as aj, gitlab as ak, hasLernaJson as al, isAncestor as am, isBumpedPackage as an, isChangedPreid as ao, isGraduating as ap, isGraduatingToStableBetweenVersion as aq, isInCI as ar, isPrerelease as as, isPrereleaseReleaseType as at, isStableReleaseType as au, isTagVersionCompatibleWithCurrent as av, loadRelizyConfig as aw, mergeTypes as ax, parseChangelogMarkdown as ay, parseGitRemoteUrl as az, buildChangelogBody as b, updateLernaVersion as b0, withRegistryNpmrc as b1, writeChangelogToFile as b2, writeVersion as b3, buildCompareLink as c, buildContributors as d, bump as e, capReleaseTypeForZeroMajor as f, changelog as g, checkGitStatusIfDirty as h, collectContributorNames as i, collectPackageBumps as j, confirmBump as k, createCommitAndTags as l, createGitlabRelease as m, defineConfig as n, detectGitProvider as o, detectPackageManager as p, detectPullRequest as q, determinePublishTag as r, determineReleaseType as s, determineSemverChange as t, executeBuildCmd as u, executeFormatCmd as v, executeHook as w, expandPackagesToBumpWithDependents as x, extractChangelogSummary as y, extractVersionFromPackageTag as z };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "relizy",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.5.0-beta.
|
|
4
|
+
"version": "1.5.0-beta.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",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"@commitlint/config-conventional": "21.2.2",
|
|
90
90
|
"@commitlint/cz-commitlint": "^21.2.2",
|
|
91
91
|
"@commitlint/types": "^21.2.0",
|
|
92
|
-
"@maz-ui/eslint-config": "5.0.0-beta.
|
|
92
|
+
"@maz-ui/eslint-config": "5.0.0-beta.43",
|
|
93
93
|
"@slack/web-api": "7.16.0",
|
|
94
94
|
"@types/micromatch": "^4.0.10",
|
|
95
95
|
"@types/node": "^25.9.2",
|