@storm-software/git-tools 2.111.24 → 2.111.26
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 +1 -1
- package/bin/git.cjs +368 -292
- package/bin/git.js +331 -255
- package/dist/{chunk-ZKXBGRHW.cjs → chunk-C6VZWVYK.cjs} +4 -0
- package/dist/{chunk-JHC42VE5.js → chunk-G57AJLLK.js} +4 -0
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/release/config.cjs +2 -2
- package/dist/release/config.d.cts +4 -0
- package/dist/release/config.d.ts +4 -0
- package/dist/release/config.js +1 -1
- package/package.json +2 -1
package/bin/git.cjs
CHANGED
|
@@ -71861,10 +71861,7 @@ var runCommit = async (commitizenFile = "@storm-software/git-tools/commit/config
|
|
|
71861
71861
|
|
|
71862
71862
|
`);
|
|
71863
71863
|
await runCommitLint(config, { message: message2 });
|
|
71864
|
-
const commandItems = ["git", "commit"];
|
|
71865
|
-
if (!process.env.CI && !process.env.STORM_CI) {
|
|
71866
|
-
commandItems.push("-S");
|
|
71867
|
-
}
|
|
71864
|
+
const commandItems = ["git", "commit", "-S"];
|
|
71868
71865
|
commandItems.push(...["--file", commitMsgFile]);
|
|
71869
71866
|
const command = (0, import_any_shell_escape.default)(commandItems);
|
|
71870
71867
|
if (dryRun) {
|
|
@@ -77659,6 +77656,7 @@ var chalk3 = _chunkIG6EXAQUcjs.__toESM.call(void 0, _chunkXE275LJTcjs.require_so
|
|
|
77659
77656
|
var import_enquirer2 = _chunkIG6EXAQUcjs.__toESM.call(void 0, require_enquirer(), 1);
|
|
77660
77657
|
var import_semver2 = _chunkIG6EXAQUcjs.__toESM.call(void 0, require_semver4(), 1);
|
|
77661
77658
|
var import_tmp = _chunkIG6EXAQUcjs.__toESM.call(void 0, require_tmp2(), 1);
|
|
77659
|
+
var _titlecase = require('@stryke/string-format/title-case');
|
|
77662
77660
|
|
|
77663
77661
|
|
|
77664
77662
|
|
|
@@ -77693,7 +77691,6 @@ var _resolvenxjsonerrormessage = require('nx/src/command-line/release/utils/reso
|
|
|
77693
77691
|
|
|
77694
77692
|
|
|
77695
77693
|
|
|
77696
|
-
|
|
77697
77694
|
var _shared = require('nx/src/command-line/release/utils/shared');
|
|
77698
77695
|
|
|
77699
77696
|
|
|
@@ -77712,13 +77709,14 @@ var _workspaceroot = require('nx/src/utils/workspace-root');
|
|
|
77712
77709
|
|
|
77713
77710
|
// src/utilities/changelog-utils.ts
|
|
77714
77711
|
_chunkIG6EXAQUcjs.init_cjs_shims.call(void 0, );
|
|
77712
|
+
|
|
77715
77713
|
var _prettier = require('prettier');
|
|
77716
77714
|
async function generateChangelogContent(releaseVersion, filepath, newContent, currentContent, project, workspaceConfig) {
|
|
77717
77715
|
const formatOptions = await _asyncNullishCoalesce(await _prettier.resolveConfig.call(void 0, filepath), async () => ( {}));
|
|
77718
77716
|
const header = await _prettier.format.call(void 0,
|
|
77719
77717
|
`${_optionalChain([workspaceConfig, 'optionalAccess', _181 => _181.release, 'access', _182 => _182.banner]) ? `})
|
|
77720
77718
|
|
|
77721
|
-
` : ""}# Changelog ${project || _optionalChain([workspaceConfig, 'optionalAccess', _185 => _185.name]) ? "for" : ""}${_optionalChain([workspaceConfig, 'optionalAccess', _186 => _186.name]) ? ` ${titleCase(workspaceConfig.name)}` : ""}${project ? `${_optionalChain([workspaceConfig, 'optionalAccess', _187 => _187.name]) ? " -" : ""} ${titleCase(project)}` : ""}
|
|
77719
|
+
` : ""}# Changelog ${project || _optionalChain([workspaceConfig, 'optionalAccess', _185 => _185.name]) ? "for" : ""}${_optionalChain([workspaceConfig, 'optionalAccess', _186 => _186.name]) ? ` ${_titlecase.titleCase.call(void 0, workspaceConfig.name)}` : ""}${project ? `${_optionalChain([workspaceConfig, 'optionalAccess', _187 => _187.name]) ? " -" : ""} ${_titlecase.titleCase.call(void 0, project)}` : ""}
|
|
77722
77720
|
|
|
77723
77721
|
`,
|
|
77724
77722
|
{
|
|
@@ -77754,14 +77752,6 @@ ${changelogContents}`,
|
|
|
77754
77752
|
}
|
|
77755
77753
|
);
|
|
77756
77754
|
}
|
|
77757
|
-
var titleCase = (input) => {
|
|
77758
|
-
if (!input) {
|
|
77759
|
-
return "";
|
|
77760
|
-
}
|
|
77761
|
-
return input.split(/(?=[A-Z])|[\.\-\s_]/).map((s) => s.trim()).filter((s) => !!s).map(
|
|
77762
|
-
(s) => s ? s.toLowerCase().charAt(0).toUpperCase() + s.toLowerCase().slice(1) : s
|
|
77763
|
-
).join(" ");
|
|
77764
|
-
};
|
|
77765
77755
|
function generateChangelogTitle(version2, project, workspaceConfig) {
|
|
77766
77756
|
if (!_optionalChain([workspaceConfig, 'optionalAccess', _188 => _188.name]) || !project) {
|
|
77767
77757
|
return version2;
|
|
@@ -77799,6 +77789,7 @@ function parseChangelogMarkdown(contents) {
|
|
|
77799
77789
|
// src/utilities/git-utils.ts
|
|
77800
77790
|
_chunkIG6EXAQUcjs.init_cjs_shims.call(void 0, );
|
|
77801
77791
|
var _execcommandjs = require('nx/src/command-line/release/utils/exec-command.js');
|
|
77792
|
+
|
|
77802
77793
|
async function gitTag({
|
|
77803
77794
|
tag,
|
|
77804
77795
|
message: message2,
|
|
@@ -77841,6 +77832,76 @@ async function gitTag({
|
|
|
77841
77832
|
${err}`);
|
|
77842
77833
|
}
|
|
77843
77834
|
}
|
|
77835
|
+
async function gitCommit({
|
|
77836
|
+
messages,
|
|
77837
|
+
additionalArgs,
|
|
77838
|
+
dryRun,
|
|
77839
|
+
verbose,
|
|
77840
|
+
logFn
|
|
77841
|
+
}) {
|
|
77842
|
+
logFn = logFn || console.log;
|
|
77843
|
+
const commandArgs = ["commit", "-S"];
|
|
77844
|
+
for (const message2 of messages) {
|
|
77845
|
+
commandArgs.push("--message", message2);
|
|
77846
|
+
}
|
|
77847
|
+
if (additionalArgs) {
|
|
77848
|
+
if (Array.isArray(additionalArgs)) {
|
|
77849
|
+
commandArgs.push(...additionalArgs);
|
|
77850
|
+
} else {
|
|
77851
|
+
commandArgs.push(...additionalArgs.split(" "));
|
|
77852
|
+
}
|
|
77853
|
+
}
|
|
77854
|
+
if (verbose) {
|
|
77855
|
+
logFn(
|
|
77856
|
+
dryRun ? `Would commit all previously staged files in git with the following command, but --dry-run was set:` : `Committing files in git with the following command:`
|
|
77857
|
+
);
|
|
77858
|
+
logFn(`git ${commandArgs.join(" ")}`);
|
|
77859
|
+
}
|
|
77860
|
+
if (dryRun) {
|
|
77861
|
+
return;
|
|
77862
|
+
}
|
|
77863
|
+
let hasStagedFiles = false;
|
|
77864
|
+
try {
|
|
77865
|
+
await _execcommandjs.execCommand.call(void 0, "git", ["diff-index", "--quiet", "HEAD", "--cached"]);
|
|
77866
|
+
} catch (e16) {
|
|
77867
|
+
hasStagedFiles = true;
|
|
77868
|
+
}
|
|
77869
|
+
if (!hasStagedFiles) {
|
|
77870
|
+
logFn("\nNo staged files found. Skipping commit.");
|
|
77871
|
+
return;
|
|
77872
|
+
}
|
|
77873
|
+
return _execcommandjs.execCommand.call(void 0, "git", commandArgs);
|
|
77874
|
+
}
|
|
77875
|
+
async function commitChanges({
|
|
77876
|
+
changedFiles,
|
|
77877
|
+
deletedFiles,
|
|
77878
|
+
isDryRun,
|
|
77879
|
+
isVerbose: isVerbose2,
|
|
77880
|
+
gitCommitMessages,
|
|
77881
|
+
gitCommitArgs,
|
|
77882
|
+
logFn
|
|
77883
|
+
}) {
|
|
77884
|
+
logFn = logFn || console.log;
|
|
77885
|
+
if (!_optionalChain([changedFiles, 'optionalAccess', _189 => _189.length]) && !_optionalChain([deletedFiles, 'optionalAccess', _190 => _190.length])) {
|
|
77886
|
+
throw new Error("Error: No changed files to commit");
|
|
77887
|
+
}
|
|
77888
|
+
logFn(`Committing changes with git`);
|
|
77889
|
+
await _git.gitAdd.call(void 0, {
|
|
77890
|
+
changedFiles,
|
|
77891
|
+
deletedFiles,
|
|
77892
|
+
dryRun: isDryRun,
|
|
77893
|
+
verbose: isVerbose2
|
|
77894
|
+
});
|
|
77895
|
+
if (isVerbose2) {
|
|
77896
|
+
console.log("");
|
|
77897
|
+
}
|
|
77898
|
+
await gitCommit({
|
|
77899
|
+
messages: gitCommitMessages || [],
|
|
77900
|
+
additionalArgs: gitCommitArgs,
|
|
77901
|
+
dryRun: isDryRun,
|
|
77902
|
+
verbose: isVerbose2
|
|
77903
|
+
});
|
|
77904
|
+
}
|
|
77844
77905
|
|
|
77845
77906
|
// src/release/changelog-renderer.ts
|
|
77846
77907
|
_chunkIG6EXAQUcjs.init_cjs_shims.call(void 0, );
|
|
@@ -81244,6 +81305,195 @@ var {
|
|
|
81244
81305
|
var import_semver = _chunkIG6EXAQUcjs.__toESM.call(void 0, require_semver4(), 1);
|
|
81245
81306
|
var _changelogrenderer = require('nx/release/changelog-renderer'); var _changelogrenderer2 = _interopRequireDefault(_changelogrenderer);
|
|
81246
81307
|
var _conventionalcommits = require('nx/src/command-line/release/config/conventional-commits');
|
|
81308
|
+
var StormChangelogRenderer = (_class16 = class extends _changelogrenderer2.default {
|
|
81309
|
+
/**
|
|
81310
|
+
* The Storm workspace configuration object, which is loaded from the storm-workspace.json file.
|
|
81311
|
+
*/
|
|
81312
|
+
__init43() {this.workspaceConfig = null}
|
|
81313
|
+
/**
|
|
81314
|
+
* The configuration object for the ChangelogRenderer, which includes the changes, version, project, and other options.
|
|
81315
|
+
*/
|
|
81316
|
+
|
|
81317
|
+
/**
|
|
81318
|
+
* A ChangelogRenderer class takes in the determined changes and other relevant metadata and returns a string, or a Promise of a string of changelog contents (usually markdown).
|
|
81319
|
+
*
|
|
81320
|
+
* @param config - The configuration object for the ChangelogRenderer
|
|
81321
|
+
*/
|
|
81322
|
+
constructor(config) {
|
|
81323
|
+
super(config);_class16.prototype.__init43.call(this);;
|
|
81324
|
+
this.config = {
|
|
81325
|
+
...config,
|
|
81326
|
+
repoData: config.remoteReleaseClient.getRemoteRepoData()
|
|
81327
|
+
};
|
|
81328
|
+
}
|
|
81329
|
+
async render() {
|
|
81330
|
+
this.workspaceConfig = await _chunkXE275LJTcjs.getWorkspaceConfig.call(void 0, );
|
|
81331
|
+
return await super.render();
|
|
81332
|
+
}
|
|
81333
|
+
preprocessChanges() {
|
|
81334
|
+
this.relevantChanges = [...this.changes];
|
|
81335
|
+
this.breakingChanges = [];
|
|
81336
|
+
this.additionalChangesForAuthorsSection = [];
|
|
81337
|
+
for (let i = this.relevantChanges.length - 1; i >= 0; i--) {
|
|
81338
|
+
const change = this.relevantChanges[i];
|
|
81339
|
+
if (change && change.type === "revert" && change.revertedHashes) {
|
|
81340
|
+
for (const revertedHash of change.revertedHashes) {
|
|
81341
|
+
const revertedCommitIndex = this.relevantChanges.findIndex(
|
|
81342
|
+
(c) => c.shortHash && revertedHash.startsWith(c.shortHash)
|
|
81343
|
+
);
|
|
81344
|
+
if (revertedCommitIndex !== -1) {
|
|
81345
|
+
this.relevantChanges.splice(revertedCommitIndex, 1);
|
|
81346
|
+
this.relevantChanges.splice(i, 1);
|
|
81347
|
+
i--;
|
|
81348
|
+
break;
|
|
81349
|
+
}
|
|
81350
|
+
}
|
|
81351
|
+
}
|
|
81352
|
+
}
|
|
81353
|
+
if (this.isVersionPlans) {
|
|
81354
|
+
this.conventionalCommitsConfig = {
|
|
81355
|
+
types: {
|
|
81356
|
+
feat: _conventionalcommits.DEFAULT_CONVENTIONAL_COMMITS_CONFIG.types.feat,
|
|
81357
|
+
fix: _conventionalcommits.DEFAULT_CONVENTIONAL_COMMITS_CONFIG.types.fix
|
|
81358
|
+
}
|
|
81359
|
+
};
|
|
81360
|
+
for (let i = this.relevantChanges.length - 1; i >= 0; i--) {
|
|
81361
|
+
if (_optionalChain([this, 'access', _191 => _191.relevantChanges, 'access', _192 => _192[i], 'optionalAccess', _193 => _193.isBreaking])) {
|
|
81362
|
+
const change = this.relevantChanges[i];
|
|
81363
|
+
if (change) {
|
|
81364
|
+
this.additionalChangesForAuthorsSection.push(change);
|
|
81365
|
+
const line = this.formatChange(change);
|
|
81366
|
+
this.breakingChanges.push(line);
|
|
81367
|
+
this.relevantChanges.splice(i, 1);
|
|
81368
|
+
}
|
|
81369
|
+
}
|
|
81370
|
+
}
|
|
81371
|
+
} else {
|
|
81372
|
+
for (const change of this.relevantChanges) {
|
|
81373
|
+
if (change.isBreaking) {
|
|
81374
|
+
const breakingChangeExplanation = change.body ? this.extractBreakingChangeExplanation(change.body) : "";
|
|
81375
|
+
this.breakingChanges.push(
|
|
81376
|
+
breakingChangeExplanation ? `- ${change.scope ? `**${change.scope.trim()}:** ` : ""}${breakingChangeExplanation}` : this.formatChange(change)
|
|
81377
|
+
);
|
|
81378
|
+
}
|
|
81379
|
+
}
|
|
81380
|
+
}
|
|
81381
|
+
}
|
|
81382
|
+
/**
|
|
81383
|
+
* Determines if the changelog entry should be rendered as empty. This is the case when there are no relevant changes, breaking changes, or dependency bumps.
|
|
81384
|
+
*/
|
|
81385
|
+
// protected override shouldRenderEmptyEntry(): boolean {
|
|
81386
|
+
// return true;
|
|
81387
|
+
// }
|
|
81388
|
+
renderVersionTitle() {
|
|
81389
|
+
const isMajorVersion = `${(0, import_semver.major)(this.changelogEntryVersion)}.0.0` === this.changelogEntryVersion.replace(/^v/, "");
|
|
81390
|
+
return isMajorVersion ? `# ${generateChangelogTitle(this.changelogEntryVersion, this.project, this.workspaceConfig)}` : `## ${generateChangelogTitle(this.changelogEntryVersion, this.project, this.workspaceConfig)}`;
|
|
81391
|
+
}
|
|
81392
|
+
renderBreakingChanges() {
|
|
81393
|
+
return [
|
|
81394
|
+
"### Breaking Changes",
|
|
81395
|
+
"",
|
|
81396
|
+
...Array.from(new Set(this.breakingChanges))
|
|
81397
|
+
];
|
|
81398
|
+
}
|
|
81399
|
+
renderDependencyBumps() {
|
|
81400
|
+
const markdownLines = ["", "### Updated Dependencies", ""];
|
|
81401
|
+
_optionalChain([this, 'access', _194 => _194.dependencyBumps, 'optionalAccess', _195 => _195.forEach, 'call', _196 => _196(({ dependencyName, newVersion }) => {
|
|
81402
|
+
markdownLines.push(`- Updated ${dependencyName} to ${newVersion}`);
|
|
81403
|
+
})]);
|
|
81404
|
+
return markdownLines;
|
|
81405
|
+
}
|
|
81406
|
+
async renderAuthors() {
|
|
81407
|
+
const markdownLines = [];
|
|
81408
|
+
const _authors = /* @__PURE__ */ new Map();
|
|
81409
|
+
for (const change of [
|
|
81410
|
+
...this.relevantChanges,
|
|
81411
|
+
...this.additionalChangesForAuthorsSection
|
|
81412
|
+
]) {
|
|
81413
|
+
if (!change.authors) {
|
|
81414
|
+
continue;
|
|
81415
|
+
}
|
|
81416
|
+
for (const author of change.authors) {
|
|
81417
|
+
const name = this.formatName(author.name);
|
|
81418
|
+
if (!name || name.includes("[bot]") || name === _optionalChain([this, 'access', _197 => _197.workspaceConfig, 'optionalAccess', _198 => _198.bot, 'access', _199 => _199.name])) {
|
|
81419
|
+
continue;
|
|
81420
|
+
}
|
|
81421
|
+
if (_authors.has(name)) {
|
|
81422
|
+
const entry = _authors.get(name);
|
|
81423
|
+
_optionalChain([entry, 'optionalAccess', _200 => _200.email, 'access', _201 => _201.add, 'call', _202 => _202(author.email)]);
|
|
81424
|
+
} else {
|
|
81425
|
+
_authors.set(name, { email: /* @__PURE__ */ new Set([author.email]) });
|
|
81426
|
+
}
|
|
81427
|
+
}
|
|
81428
|
+
}
|
|
81429
|
+
if (this.config.repoData && this.changelogRenderOptions.mapAuthorsToGitHubUsernames) {
|
|
81430
|
+
await Promise.all(
|
|
81431
|
+
[..._authors.keys()].map(async (authorName) => {
|
|
81432
|
+
const meta = _authors.get(authorName);
|
|
81433
|
+
if (!meta) {
|
|
81434
|
+
return;
|
|
81435
|
+
}
|
|
81436
|
+
for (const email of meta.email) {
|
|
81437
|
+
if (email.endsWith("@users.noreply.github.com")) {
|
|
81438
|
+
const match = email.match(
|
|
81439
|
+
/^(\d+\+)?([^@]+)@users\.noreply\.github\.com$/
|
|
81440
|
+
);
|
|
81441
|
+
if (match && match[2]) {
|
|
81442
|
+
meta.github = match[2];
|
|
81443
|
+
break;
|
|
81444
|
+
}
|
|
81445
|
+
}
|
|
81446
|
+
const { data } = await axios_default.get(`https://ungh.cc/users/find/${email}`).catch(() => ({ data: { user: null } }));
|
|
81447
|
+
if (_optionalChain([data, 'optionalAccess', _203 => _203.user])) {
|
|
81448
|
+
meta.github = data.user.username;
|
|
81449
|
+
break;
|
|
81450
|
+
}
|
|
81451
|
+
}
|
|
81452
|
+
})
|
|
81453
|
+
);
|
|
81454
|
+
}
|
|
81455
|
+
const authors = [..._authors.entries()].map((e) => ({
|
|
81456
|
+
name: e[0],
|
|
81457
|
+
...e[1]
|
|
81458
|
+
}));
|
|
81459
|
+
if (authors.length > 0) {
|
|
81460
|
+
markdownLines.push(
|
|
81461
|
+
"",
|
|
81462
|
+
"### \u2764\uFE0F Thank You",
|
|
81463
|
+
"",
|
|
81464
|
+
...authors.sort((a, b) => a.name.localeCompare(b.name)).map((i) => {
|
|
81465
|
+
const github = i.github ? ` @${i.github}` : "";
|
|
81466
|
+
return `- ${i.name}${github}`;
|
|
81467
|
+
})
|
|
81468
|
+
);
|
|
81469
|
+
}
|
|
81470
|
+
return markdownLines;
|
|
81471
|
+
}
|
|
81472
|
+
formatChange(change) {
|
|
81473
|
+
let description = change.description || "";
|
|
81474
|
+
let extraLines = [];
|
|
81475
|
+
let extraLinesStr = "";
|
|
81476
|
+
if (description.includes("\n")) {
|
|
81477
|
+
const lines2 = description.split("\n");
|
|
81478
|
+
if (lines2.length > 1) {
|
|
81479
|
+
description = lines2[0];
|
|
81480
|
+
extraLines = lines2.slice(1);
|
|
81481
|
+
}
|
|
81482
|
+
const indentation = " ";
|
|
81483
|
+
extraLinesStr = extraLines.filter((l) => l.trim().length > 0).map((l) => `${indentation}${l}`).join("\n");
|
|
81484
|
+
}
|
|
81485
|
+
let changeLine = "- " + (!this.isVersionPlans && change.scope ? `**${change.scope.trim()}:** ` : "") + description;
|
|
81486
|
+
if (this.config.repoData && change.githubReferences) {
|
|
81487
|
+
changeLine += this.remoteReleaseClient.formatReferences(
|
|
81488
|
+
change.githubReferences
|
|
81489
|
+
);
|
|
81490
|
+
}
|
|
81491
|
+
if (extraLinesStr) {
|
|
81492
|
+
changeLine += "\n\n" + extraLinesStr;
|
|
81493
|
+
}
|
|
81494
|
+
return changeLine;
|
|
81495
|
+
}
|
|
81496
|
+
}, _class16);
|
|
81247
81497
|
|
|
81248
81498
|
// src/release/github.ts
|
|
81249
81499
|
_chunkIG6EXAQUcjs.init_cjs_shims.call(void 0, );
|
|
@@ -81258,6 +81508,9 @@ var import_enquirer = _chunkIG6EXAQUcjs.__toESM.call(void 0, require_enquirer(),
|
|
|
81258
81508
|
|
|
81259
81509
|
|
|
81260
81510
|
|
|
81511
|
+
|
|
81512
|
+
|
|
81513
|
+
|
|
81261
81514
|
function getGitHubRepoData(remoteName = "origin", createReleaseConfig) {
|
|
81262
81515
|
try {
|
|
81263
81516
|
const remoteUrl = _child_process.execSync.call(void 0, `git remote get-url ${remoteName}`, {
|
|
@@ -81287,7 +81540,11 @@ function getGitHubRepoData(remoteName = "origin", createReleaseConfig) {
|
|
|
81287
81540
|
);
|
|
81288
81541
|
}
|
|
81289
81542
|
} catch (error) {
|
|
81290
|
-
|
|
81543
|
+
import_devkit.output.error({
|
|
81544
|
+
title: `Failed to get GitHub repo data`,
|
|
81545
|
+
bodyLines: [error.message]
|
|
81546
|
+
});
|
|
81547
|
+
return void 0;
|
|
81291
81548
|
}
|
|
81292
81549
|
}
|
|
81293
81550
|
async function createOrUpdateGithubRelease(createReleaseConfig, releaseVersion, changelogContents, latestCommit, { dryRun }) {
|
|
@@ -81301,12 +81558,12 @@ async function createOrUpdateGithubRelease(createReleaseConfig, releaseVersion,
|
|
|
81301
81558
|
});
|
|
81302
81559
|
process.exit(1);
|
|
81303
81560
|
}
|
|
81304
|
-
const
|
|
81561
|
+
const tokenData = await resolveTokenData(githubRepoData.hostname);
|
|
81305
81562
|
const githubRequestConfig = {
|
|
81306
81563
|
repo: githubRepoData.slug,
|
|
81307
81564
|
hostname: githubRepoData.hostname,
|
|
81308
81565
|
apiBaseUrl: githubRepoData.apiBaseUrl,
|
|
81309
|
-
token
|
|
81566
|
+
token: _optionalChain([tokenData, 'optionalAccess', _204 => _204.token]) || null
|
|
81310
81567
|
};
|
|
81311
81568
|
let existingGithubReleaseForVersion;
|
|
81312
81569
|
try {
|
|
@@ -81315,7 +81572,7 @@ async function createOrUpdateGithubRelease(createReleaseConfig, releaseVersion,
|
|
|
81315
81572
|
releaseVersion.gitTag
|
|
81316
81573
|
);
|
|
81317
81574
|
} catch (err) {
|
|
81318
|
-
if (_optionalChain([err, 'access',
|
|
81575
|
+
if (_optionalChain([err, 'access', _205 => _205.response, 'optionalAccess', _206 => _206.status]) === 401) {
|
|
81319
81576
|
import_devkit.output.error({
|
|
81320
81577
|
title: `Unable to resolve data via the GitHub API. You can use any of the following options to resolve this:`,
|
|
81321
81578
|
bodyLines: [
|
|
@@ -81325,7 +81582,7 @@ async function createOrUpdateGithubRelease(createReleaseConfig, releaseVersion,
|
|
|
81325
81582
|
});
|
|
81326
81583
|
process.exit(1);
|
|
81327
81584
|
}
|
|
81328
|
-
if (_optionalChain([err, 'access',
|
|
81585
|
+
if (_optionalChain([err, 'access', _207 => _207.response, 'optionalAccess', _208 => _208.status]) === 404) {
|
|
81329
81586
|
} else {
|
|
81330
81587
|
throw err;
|
|
81331
81588
|
}
|
|
@@ -81342,7 +81599,7 @@ async function createOrUpdateGithubRelease(createReleaseConfig, releaseVersion,
|
|
|
81342
81599
|
}
|
|
81343
81600
|
console.log("");
|
|
81344
81601
|
_printchanges.printDiff.call(void 0,
|
|
81345
|
-
_optionalChain([existingGithubReleaseForVersion, 'optionalAccess',
|
|
81602
|
+
_optionalChain([existingGithubReleaseForVersion, 'optionalAccess', _209 => _209.body]) ? existingGithubReleaseForVersion.body : "",
|
|
81346
81603
|
changelogContents,
|
|
81347
81604
|
3,
|
|
81348
81605
|
_shared.noDiffInChangelogMessage
|
|
@@ -81369,7 +81626,7 @@ async function createOrUpdateGithubReleaseInternal(githubRequestConfig, release,
|
|
|
81369
81626
|
if (result2.status === "manual") {
|
|
81370
81627
|
if (result2.error) {
|
|
81371
81628
|
process.exitCode = 1;
|
|
81372
|
-
if (_optionalChain([result2, 'access',
|
|
81629
|
+
if (_optionalChain([result2, 'access', _210 => _210.error, 'access', _211 => _211.response, 'optionalAccess', _212 => _212.data])) {
|
|
81373
81630
|
import_devkit.output.error({
|
|
81374
81631
|
title: `A GitHub API Error occurred when creating/updating the release`,
|
|
81375
81632
|
bodyLines: [
|
|
@@ -81407,13 +81664,10 @@ Follow up in the browser to manually create the release:
|
|
|
81407
81664
|
` + chalk2.underline(chalk2.cyan(result2.url)) + "\n"
|
|
81408
81665
|
);
|
|
81409
81666
|
});
|
|
81410
|
-
}
|
|
81411
|
-
if (result2.status === "manual") {
|
|
81412
81667
|
if (result2.error) {
|
|
81413
81668
|
console.error(result2.error);
|
|
81414
81669
|
process.exitCode = 1;
|
|
81415
81670
|
}
|
|
81416
|
-
const open2 = (init_open(), _chunkIG6EXAQUcjs.__toCommonJS.call(void 0, open_exports));
|
|
81417
81671
|
await open2(result2.url).then(() => {
|
|
81418
81672
|
console.info(
|
|
81419
81673
|
`Follow up in the browser to manually create the release.`
|
|
@@ -81446,7 +81700,7 @@ async function promptForContinueInGitHub() {
|
|
|
81446
81700
|
}
|
|
81447
81701
|
]);
|
|
81448
81702
|
return reply.open === "Yes";
|
|
81449
|
-
} catch (
|
|
81703
|
+
} catch (e17) {
|
|
81450
81704
|
process.stdout.write("\x1B[?25h");
|
|
81451
81705
|
process.exit(1);
|
|
81452
81706
|
}
|
|
@@ -81483,13 +81737,13 @@ async function syncGithubRelease(githubRequestConfig, release, existingGithubRel
|
|
|
81483
81737
|
};
|
|
81484
81738
|
}
|
|
81485
81739
|
}
|
|
81486
|
-
async function
|
|
81487
|
-
const tokenFromEnv = process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
81740
|
+
async function resolveTokenData(hostname) {
|
|
81741
|
+
const tokenFromEnv = process.env.STORM_BOT_GITHUB_TOKEN || process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
81488
81742
|
if (tokenFromEnv) {
|
|
81489
|
-
return tokenFromEnv;
|
|
81743
|
+
return { token: tokenFromEnv, headerName: "Authorization" };
|
|
81490
81744
|
}
|
|
81491
|
-
const ghCLIPath =
|
|
81492
|
-
process.env.XDG_CONFIG_HOME ||
|
|
81745
|
+
const ghCLIPath = (0, import_devkit.joinPathFragments)(
|
|
81746
|
+
process.env.XDG_CONFIG_HOME || (0, import_devkit.joinPathFragments)(_os.homedir.call(void 0, ), ".config"),
|
|
81493
81747
|
"gh",
|
|
81494
81748
|
"hosts.yml"
|
|
81495
81749
|
);
|
|
@@ -81502,11 +81756,12 @@ async function resolveGithubToken(hostname) {
|
|
|
81502
81756
|
return ghCLIConfig[hostname].oauth_token;
|
|
81503
81757
|
}
|
|
81504
81758
|
if (ghCLIConfig[hostname].user && ghCLIConfig[hostname].git_protocol === "ssh") {
|
|
81505
|
-
|
|
81759
|
+
const token = _child_process.execSync.call(void 0, `gh auth token`, {
|
|
81506
81760
|
encoding: "utf8",
|
|
81507
81761
|
stdio: "pipe",
|
|
81508
81762
|
windowsHide: false
|
|
81509
81763
|
}).trim();
|
|
81764
|
+
return { token, headerName: "Authorization" };
|
|
81510
81765
|
}
|
|
81511
81766
|
}
|
|
81512
81767
|
}
|
|
@@ -81515,7 +81770,9 @@ async function resolveGithubToken(hostname) {
|
|
|
81515
81770
|
`Warning: It was not possible to automatically resolve a GitHub token from your environment for hostname ${hostname}. If you set the GITHUB_TOKEN or GH_TOKEN environment variable, that will be used for GitHub API requests.`
|
|
81516
81771
|
);
|
|
81517
81772
|
}
|
|
81518
|
-
|
|
81773
|
+
throw new Error(
|
|
81774
|
+
`Unable to resolve a GitHub token for hostname ${hostname}. Please set the GITHUB_TOKEN or GH_TOKEN environment variable, or ensure you have an active session via the official gh CLI tool (https://cli.github.com).`
|
|
81775
|
+
);
|
|
81519
81776
|
}
|
|
81520
81777
|
async function getGithubReleaseByTag(config, tag) {
|
|
81521
81778
|
return await makeGithubRequest(
|
|
@@ -81557,206 +81814,24 @@ function githubNewReleaseURL(config, release) {
|
|
|
81557
81814
|
}
|
|
81558
81815
|
return url2;
|
|
81559
81816
|
}
|
|
81560
|
-
|
|
81561
|
-
|
|
81562
|
-
|
|
81563
|
-
|
|
81564
|
-
|
|
81565
|
-
|
|
81566
|
-
}
|
|
81567
|
-
function formatReferences(references, repoData) {
|
|
81568
|
-
const pr = references.filter((ref) => ref.type === "pull-request");
|
|
81569
|
-
const issue = references.filter((ref) => ref.type === "issue");
|
|
81570
|
-
if (pr.length > 0 || issue.length > 0) {
|
|
81571
|
-
return " (" + [...pr, ...issue].map((ref) => formatReference(ref, repoData)).join(", ") + ")";
|
|
81572
|
-
}
|
|
81573
|
-
if (references.length > 0) {
|
|
81574
|
-
return " (" + formatReference(references[0], repoData) + ")";
|
|
81817
|
+
async function createGithubRemoteReleaseClient(remoteName = "origin") {
|
|
81818
|
+
const repoData = getGitHubRepoData(remoteName, "github");
|
|
81819
|
+
if (!repoData) {
|
|
81820
|
+
throw new Error(
|
|
81821
|
+
`Unable to create a remote release client because the GitHub repo slug could not be determined. Please ensure you have a valid GitHub remote configured.`
|
|
81822
|
+
);
|
|
81575
81823
|
}
|
|
81576
|
-
return
|
|
81824
|
+
return new (0, _github.GithubRemoteReleaseClient)(
|
|
81825
|
+
repoData,
|
|
81826
|
+
{
|
|
81827
|
+
provider: "github",
|
|
81828
|
+
hostname: repoData.hostname,
|
|
81829
|
+
apiBaseUrl: repoData.apiBaseUrl
|
|
81830
|
+
},
|
|
81831
|
+
await resolveTokenData(repoData.hostname)
|
|
81832
|
+
);
|
|
81577
81833
|
}
|
|
81578
81834
|
|
|
81579
|
-
// src/release/changelog-renderer.ts
|
|
81580
|
-
var StormChangelogRenderer = (_class16 = class extends _changelogrenderer2.default {
|
|
81581
|
-
/**
|
|
81582
|
-
* The Storm workspace configuration object, which is loaded from the storm-workspace.json file.
|
|
81583
|
-
*/
|
|
81584
|
-
__init43() {this.workspaceConfig = null}
|
|
81585
|
-
/**
|
|
81586
|
-
* A ChangelogRenderer class takes in the determined changes and other relevant metadata and returns a string, or a Promise of a string of changelog contents (usually markdown).
|
|
81587
|
-
*
|
|
81588
|
-
* @param config - The configuration object for the ChangelogRenderer
|
|
81589
|
-
*/
|
|
81590
|
-
constructor(config) {
|
|
81591
|
-
super(config);_class16.prototype.__init43.call(this);;
|
|
81592
|
-
}
|
|
81593
|
-
async render() {
|
|
81594
|
-
this.workspaceConfig = await _chunkXE275LJTcjs.getWorkspaceConfig.call(void 0, );
|
|
81595
|
-
return await super.render();
|
|
81596
|
-
}
|
|
81597
|
-
preprocessChanges() {
|
|
81598
|
-
this.relevantChanges = [...this.changes];
|
|
81599
|
-
this.breakingChanges = [];
|
|
81600
|
-
this.additionalChangesForAuthorsSection = [];
|
|
81601
|
-
for (let i = this.relevantChanges.length - 1; i >= 0; i--) {
|
|
81602
|
-
const change = this.relevantChanges[i];
|
|
81603
|
-
if (change && change.type === "revert" && change.revertedHashes) {
|
|
81604
|
-
for (const revertedHash of change.revertedHashes) {
|
|
81605
|
-
const revertedCommitIndex = this.relevantChanges.findIndex(
|
|
81606
|
-
(c) => c.shortHash && revertedHash.startsWith(c.shortHash)
|
|
81607
|
-
);
|
|
81608
|
-
if (revertedCommitIndex !== -1) {
|
|
81609
|
-
this.relevantChanges.splice(revertedCommitIndex, 1);
|
|
81610
|
-
this.relevantChanges.splice(i, 1);
|
|
81611
|
-
i--;
|
|
81612
|
-
break;
|
|
81613
|
-
}
|
|
81614
|
-
}
|
|
81615
|
-
}
|
|
81616
|
-
}
|
|
81617
|
-
if (this.isVersionPlans) {
|
|
81618
|
-
this.conventionalCommitsConfig = {
|
|
81619
|
-
types: {
|
|
81620
|
-
feat: _conventionalcommits.DEFAULT_CONVENTIONAL_COMMITS_CONFIG.types.feat,
|
|
81621
|
-
fix: _conventionalcommits.DEFAULT_CONVENTIONAL_COMMITS_CONFIG.types.fix
|
|
81622
|
-
}
|
|
81623
|
-
};
|
|
81624
|
-
for (let i = this.relevantChanges.length - 1; i >= 0; i--) {
|
|
81625
|
-
if (_optionalChain([this, 'access', _197 => _197.relevantChanges, 'access', _198 => _198[i], 'optionalAccess', _199 => _199.isBreaking])) {
|
|
81626
|
-
const change = this.relevantChanges[i];
|
|
81627
|
-
if (change) {
|
|
81628
|
-
this.additionalChangesForAuthorsSection.push(change);
|
|
81629
|
-
const line = this.formatChange(change);
|
|
81630
|
-
this.breakingChanges.push(line);
|
|
81631
|
-
this.relevantChanges.splice(i, 1);
|
|
81632
|
-
}
|
|
81633
|
-
}
|
|
81634
|
-
}
|
|
81635
|
-
} else {
|
|
81636
|
-
for (const change of this.relevantChanges) {
|
|
81637
|
-
if (change.isBreaking) {
|
|
81638
|
-
const breakingChangeExplanation = change.body ? this.extractBreakingChangeExplanation(change.body) : "";
|
|
81639
|
-
this.breakingChanges.push(
|
|
81640
|
-
breakingChangeExplanation ? `- ${change.scope ? `**${change.scope.trim()}:** ` : ""}${breakingChangeExplanation}` : this.formatChange(change)
|
|
81641
|
-
);
|
|
81642
|
-
}
|
|
81643
|
-
}
|
|
81644
|
-
}
|
|
81645
|
-
}
|
|
81646
|
-
/**
|
|
81647
|
-
* Determines if the changelog entry should be rendered as empty. This is the case when there are no relevant changes, breaking changes, or dependency bumps.
|
|
81648
|
-
*/
|
|
81649
|
-
// protected override shouldRenderEmptyEntry(): boolean {
|
|
81650
|
-
// return true;
|
|
81651
|
-
// }
|
|
81652
|
-
renderVersionTitle() {
|
|
81653
|
-
const isMajorVersion = `${(0, import_semver.major)(this.changelogEntryVersion)}.0.0` === this.changelogEntryVersion.replace(/^v/, "");
|
|
81654
|
-
return isMajorVersion ? `# ${generateChangelogTitle(this.changelogEntryVersion, this.project, this.workspaceConfig)}` : `## ${generateChangelogTitle(this.changelogEntryVersion, this.project, this.workspaceConfig)}`;
|
|
81655
|
-
}
|
|
81656
|
-
renderBreakingChanges() {
|
|
81657
|
-
return [
|
|
81658
|
-
"### Breaking Changes",
|
|
81659
|
-
"",
|
|
81660
|
-
...Array.from(new Set(this.breakingChanges))
|
|
81661
|
-
];
|
|
81662
|
-
}
|
|
81663
|
-
renderDependencyBumps() {
|
|
81664
|
-
const markdownLines = ["", "### Updated Dependencies", ""];
|
|
81665
|
-
_optionalChain([this, 'access', _200 => _200.dependencyBumps, 'optionalAccess', _201 => _201.forEach, 'call', _202 => _202(({ dependencyName, newVersion }) => {
|
|
81666
|
-
markdownLines.push(`- Updated ${dependencyName} to ${newVersion}`);
|
|
81667
|
-
})]);
|
|
81668
|
-
return markdownLines;
|
|
81669
|
-
}
|
|
81670
|
-
async renderAuthors() {
|
|
81671
|
-
const markdownLines = [];
|
|
81672
|
-
const _authors = /* @__PURE__ */ new Map();
|
|
81673
|
-
for (const change of [
|
|
81674
|
-
...this.relevantChanges,
|
|
81675
|
-
...this.additionalChangesForAuthorsSection
|
|
81676
|
-
]) {
|
|
81677
|
-
if (!change.authors) {
|
|
81678
|
-
continue;
|
|
81679
|
-
}
|
|
81680
|
-
for (const author of change.authors) {
|
|
81681
|
-
const name = this.formatName(author.name);
|
|
81682
|
-
if (!name || name.includes("[bot]") || name === _optionalChain([this, 'access', _203 => _203.workspaceConfig, 'optionalAccess', _204 => _204.bot, 'access', _205 => _205.name])) {
|
|
81683
|
-
continue;
|
|
81684
|
-
}
|
|
81685
|
-
if (_authors.has(name)) {
|
|
81686
|
-
const entry = _authors.get(name);
|
|
81687
|
-
_optionalChain([entry, 'optionalAccess', _206 => _206.email, 'access', _207 => _207.add, 'call', _208 => _208(author.email)]);
|
|
81688
|
-
} else {
|
|
81689
|
-
_authors.set(name, { email: /* @__PURE__ */ new Set([author.email]) });
|
|
81690
|
-
}
|
|
81691
|
-
}
|
|
81692
|
-
}
|
|
81693
|
-
if (this.repoData && this.changelogRenderOptions.mapAuthorsToGitHubUsernames) {
|
|
81694
|
-
await Promise.all(
|
|
81695
|
-
[..._authors.keys()].map(async (authorName) => {
|
|
81696
|
-
const meta = _authors.get(authorName);
|
|
81697
|
-
if (!meta) {
|
|
81698
|
-
return;
|
|
81699
|
-
}
|
|
81700
|
-
for (const email of meta.email) {
|
|
81701
|
-
if (email.endsWith("@users.noreply.github.com")) {
|
|
81702
|
-
const match = email.match(
|
|
81703
|
-
/^(\d+\+)?([^@]+)@users\.noreply\.github\.com$/
|
|
81704
|
-
);
|
|
81705
|
-
if (match && match[2]) {
|
|
81706
|
-
meta.github = match[2];
|
|
81707
|
-
break;
|
|
81708
|
-
}
|
|
81709
|
-
}
|
|
81710
|
-
const { data } = await axios_default.get(`https://ungh.cc/users/find/${email}`).catch(() => ({ data: { user: null } }));
|
|
81711
|
-
if (_optionalChain([data, 'optionalAccess', _209 => _209.user])) {
|
|
81712
|
-
meta.github = data.user.username;
|
|
81713
|
-
break;
|
|
81714
|
-
}
|
|
81715
|
-
}
|
|
81716
|
-
})
|
|
81717
|
-
);
|
|
81718
|
-
}
|
|
81719
|
-
const authors = [..._authors.entries()].map((e) => ({
|
|
81720
|
-
name: e[0],
|
|
81721
|
-
...e[1]
|
|
81722
|
-
}));
|
|
81723
|
-
if (authors.length > 0) {
|
|
81724
|
-
markdownLines.push(
|
|
81725
|
-
"",
|
|
81726
|
-
"### \u2764\uFE0F Thank You",
|
|
81727
|
-
"",
|
|
81728
|
-
...authors.sort((a, b) => a.name.localeCompare(b.name)).map((i) => {
|
|
81729
|
-
const github = i.github ? ` @${i.github}` : "";
|
|
81730
|
-
return `- ${i.name}${github}`;
|
|
81731
|
-
})
|
|
81732
|
-
);
|
|
81733
|
-
}
|
|
81734
|
-
return markdownLines;
|
|
81735
|
-
}
|
|
81736
|
-
formatChange(change) {
|
|
81737
|
-
let description = change.description || "";
|
|
81738
|
-
let extraLines = [];
|
|
81739
|
-
let extraLinesStr = "";
|
|
81740
|
-
if (description.includes("\n")) {
|
|
81741
|
-
const lines2 = description.split("\n");
|
|
81742
|
-
if (lines2.length > 1) {
|
|
81743
|
-
description = lines2[0];
|
|
81744
|
-
extraLines = lines2.slice(1);
|
|
81745
|
-
}
|
|
81746
|
-
const indentation = " ";
|
|
81747
|
-
extraLinesStr = extraLines.filter((l) => l.trim().length > 0).map((l) => `${indentation}${l}`).join("\n");
|
|
81748
|
-
}
|
|
81749
|
-
let changeLine = "- " + (!this.isVersionPlans && change.scope ? `**${change.scope.trim()}:** ` : "") + description;
|
|
81750
|
-
if (this.repoData && this.changelogRenderOptions.commitReferences && change.githubReferences) {
|
|
81751
|
-
changeLine += formatReferences(change.githubReferences, this.repoData);
|
|
81752
|
-
}
|
|
81753
|
-
if (extraLinesStr) {
|
|
81754
|
-
changeLine += "\n\n" + extraLinesStr;
|
|
81755
|
-
}
|
|
81756
|
-
return changeLine;
|
|
81757
|
-
}
|
|
81758
|
-
}, _class16);
|
|
81759
|
-
|
|
81760
81835
|
// src/release/changelog.ts
|
|
81761
81836
|
function createAPI(overrideReleaseConfig) {
|
|
81762
81837
|
return async function releaseChangelog(args) {
|
|
@@ -81821,7 +81896,7 @@ function createAPI(overrideReleaseConfig) {
|
|
|
81821
81896
|
if (args.deleteVersionPlans === void 0) {
|
|
81822
81897
|
args.deleteVersionPlans = true;
|
|
81823
81898
|
}
|
|
81824
|
-
const changelogGenerationEnabled = !!_optionalChain([nxReleaseConfig, 'optionalAccess',
|
|
81899
|
+
const changelogGenerationEnabled = !!_optionalChain([nxReleaseConfig, 'optionalAccess', _213 => _213.changelog, 'optionalAccess', _214 => _214.workspaceChangelog]) || _optionalChain([nxReleaseConfig, 'optionalAccess', _215 => _215.groups]) && Object.values(_optionalChain([nxReleaseConfig, 'optionalAccess', _216 => _216.groups])).some((g) => g.changelog);
|
|
81825
81900
|
if (!changelogGenerationEnabled) {
|
|
81826
81901
|
_output.output.warn({
|
|
81827
81902
|
title: `Changelogs are disabled. No changelog entries will be generated`,
|
|
@@ -81832,7 +81907,7 @@ function createAPI(overrideReleaseConfig) {
|
|
|
81832
81907
|
return {};
|
|
81833
81908
|
}
|
|
81834
81909
|
const tree = new (0, _tree.FsTree)(_workspaceroot.workspaceRoot, !!args.verbose);
|
|
81835
|
-
const useAutomaticFromRef = _optionalChain([nxReleaseConfig, 'optionalAccess',
|
|
81910
|
+
const useAutomaticFromRef = _optionalChain([nxReleaseConfig, 'optionalAccess', _217 => _217.changelog, 'optionalAccess', _218 => _218.automaticFromRef]) || args.firstRelease;
|
|
81836
81911
|
const { workspaceChangelogVersion, projectsVersionData } = resolveChangelogVersions(
|
|
81837
81912
|
args,
|
|
81838
81913
|
releaseGroups,
|
|
@@ -81841,20 +81916,20 @@ function createAPI(overrideReleaseConfig) {
|
|
|
81841
81916
|
const to = args.to || "HEAD";
|
|
81842
81917
|
const toSHA = await _git.getCommitHash.call(void 0, to);
|
|
81843
81918
|
const headSHA = to === "HEAD" ? toSHA : await _git.getCommitHash.call(void 0, "HEAD");
|
|
81844
|
-
const autoCommitEnabled = _nullishCoalesce(args.gitCommit, () => ( _optionalChain([nxReleaseConfig, 'access',
|
|
81919
|
+
const autoCommitEnabled = _nullishCoalesce(args.gitCommit, () => ( _optionalChain([nxReleaseConfig, 'access', _219 => _219.changelog, 'optionalAccess', _220 => _220.git, 'access', _221 => _221.commit])));
|
|
81845
81920
|
if (autoCommitEnabled && headSHA !== toSHA) {
|
|
81846
81921
|
throw new Error(
|
|
81847
81922
|
`You are attempting to recreate the changelog for an old release (Head: "${headSHA}", To: "${toSHA}", From: "${args.from}"), but you have enabled auto-commit mode. Please disable auto-commit mode by updating your nx.json, or passing --git-commit=false`
|
|
81848
81923
|
);
|
|
81849
81924
|
}
|
|
81850
|
-
const commitMessage = args.gitCommitMessage || _optionalChain([nxReleaseConfig, 'access',
|
|
81925
|
+
const commitMessage = args.gitCommitMessage || _optionalChain([nxReleaseConfig, 'access', _222 => _222.changelog, 'optionalAccess', _223 => _223.git, 'optionalAccess', _224 => _224.commitMessage]);
|
|
81851
81926
|
const commitMessageValues = _shared.createCommitMessageValues.call(void 0,
|
|
81852
81927
|
releaseGroups,
|
|
81853
81928
|
releaseGroupToFilteredProjects,
|
|
81854
81929
|
projectsVersionData,
|
|
81855
81930
|
commitMessage
|
|
81856
81931
|
);
|
|
81857
|
-
const gitTagValues = _nullishCoalesce(args.gitTag, () => ( _optionalChain([nxReleaseConfig, 'access',
|
|
81932
|
+
const gitTagValues = _nullishCoalesce(args.gitTag, () => ( _optionalChain([nxReleaseConfig, 'access', _225 => _225.changelog, 'optionalAccess', _226 => _226.git, 'access', _227 => _227.tag]))) ? _shared.createGitTagValues.call(void 0,
|
|
81858
81933
|
releaseGroups,
|
|
81859
81934
|
releaseGroupToFilteredProjects,
|
|
81860
81935
|
projectsVersionData
|
|
@@ -81915,7 +81990,7 @@ function createAPI(overrideReleaseConfig) {
|
|
|
81915
81990
|
nxReleaseConfig.releaseTagPattern,
|
|
81916
81991
|
{},
|
|
81917
81992
|
nxReleaseConfig.releaseTagPatternCheckAllBranchesWhen
|
|
81918
|
-
)), 'optionalAccess', async
|
|
81993
|
+
)), 'optionalAccess', async _228 => _228.tag]);
|
|
81919
81994
|
if (!workspaceChangelogFromRef) {
|
|
81920
81995
|
if (useAutomaticFromRef) {
|
|
81921
81996
|
workspaceChangelogFromRef = await _git.getFirstGitCommit.call(void 0, );
|
|
@@ -81969,7 +82044,7 @@ function createAPI(overrideReleaseConfig) {
|
|
|
81969
82044
|
)
|
|
81970
82045
|
});
|
|
81971
82046
|
if (workspaceChangelog && shouldCreateGitHubRelease(
|
|
81972
|
-
_optionalChain([nxReleaseConfig, 'access',
|
|
82047
|
+
_optionalChain([nxReleaseConfig, 'access', _229 => _229.changelog, 'optionalAccess', _230 => _230.workspaceChangelog]),
|
|
81973
82048
|
args.createRelease
|
|
81974
82049
|
)) {
|
|
81975
82050
|
postGitTasks.push(async (latestCommit) => {
|
|
@@ -81983,7 +82058,7 @@ function createAPI(overrideReleaseConfig) {
|
|
|
81983
82058
|
|
|
81984
82059
|
${contents}`);
|
|
81985
82060
|
await createOrUpdateGithubRelease(
|
|
81986
|
-
_optionalChain([nxReleaseConfig, 'access',
|
|
82061
|
+
_optionalChain([nxReleaseConfig, 'access', _231 => _231.changelog, 'optionalAccess', _232 => _232.workspaceChangelog]) ? _optionalChain([nxReleaseConfig, 'access', _233 => _233.changelog, 'optionalAccess', _234 => _234.workspaceChangelog, 'access', _235 => _235.createRelease]) : _github.defaultCreateReleaseProvider,
|
|
81987
82062
|
workspaceChangelog.releaseVersion,
|
|
81988
82063
|
contents,
|
|
81989
82064
|
latestCommit,
|
|
@@ -82001,13 +82076,13 @@ ${contents}`);
|
|
|
82001
82076
|
continue;
|
|
82002
82077
|
}
|
|
82003
82078
|
for (const project of releaseGroup.projects) {
|
|
82004
|
-
if (!_optionalChain([projectsVersionData, 'access',
|
|
82079
|
+
if (!_optionalChain([projectsVersionData, 'access', _236 => _236[project], 'optionalAccess', _237 => _237.newVersion])) {
|
|
82005
82080
|
continue;
|
|
82006
82081
|
}
|
|
82007
82082
|
const dependentProjects = (projectsVersionData[project].dependentProjects || []).map((dep) => {
|
|
82008
82083
|
return {
|
|
82009
82084
|
dependencyName: dep.source,
|
|
82010
|
-
newVersion: _optionalChain([projectsVersionData, 'access',
|
|
82085
|
+
newVersion: _optionalChain([projectsVersionData, 'access', _238 => _238[dep.source], 'optionalAccess', _239 => _239.newVersion])
|
|
82011
82086
|
};
|
|
82012
82087
|
}).filter((b) => b.newVersion !== null);
|
|
82013
82088
|
for (const dependent of dependentProjects) {
|
|
@@ -82029,13 +82104,13 @@ ${contents}`);
|
|
|
82029
82104
|
if (config === false) {
|
|
82030
82105
|
continue;
|
|
82031
82106
|
}
|
|
82032
|
-
const projects = _optionalChain([args, 'access',
|
|
82107
|
+
const projects = _optionalChain([args, 'access', _240 => _240.projects, 'optionalAccess', _241 => _241.length]) ? (
|
|
82033
82108
|
// If the user has passed a list of projects, we need to use the filtered list of projects within the release group, plus any dependents
|
|
82034
82109
|
Array.from(releaseGroupToFilteredProjects.get(releaseGroup)).flatMap(
|
|
82035
82110
|
(project) => {
|
|
82036
82111
|
return [
|
|
82037
82112
|
project,
|
|
82038
|
-
..._optionalChain([projectsVersionData, 'access',
|
|
82113
|
+
..._optionalChain([projectsVersionData, 'access', _242 => _242[project], 'optionalAccess', _243 => _243.dependentProjects, 'access', _244 => _244.map, 'call', _245 => _245(
|
|
82039
82114
|
(dep) => dep.source
|
|
82040
82115
|
)]) || []
|
|
82041
82116
|
];
|
|
@@ -82080,14 +82155,14 @@ ${contents}`);
|
|
|
82080
82155
|
releaseGroupName: releaseGroup.name
|
|
82081
82156
|
},
|
|
82082
82157
|
releaseGroup.releaseTagPatternCheckAllBranchesWhen
|
|
82083
|
-
)), 'optionalAccess', async
|
|
82158
|
+
)), 'optionalAccess', async _246 => _246.tag]);
|
|
82084
82159
|
if (!fromRef && useAutomaticFromRef) {
|
|
82085
82160
|
const firstCommit = await _git.getFirstGitCommit.call(void 0, );
|
|
82086
82161
|
const allCommits = await getCommits(firstCommit, toSHA);
|
|
82087
82162
|
const commitsForProject = allCommits.filter(
|
|
82088
82163
|
(c) => c.affectedFiles.find((f) => f.startsWith(project.data.root))
|
|
82089
82164
|
);
|
|
82090
|
-
fromRef = _optionalChain([commitsForProject, 'access',
|
|
82165
|
+
fromRef = _optionalChain([commitsForProject, 'access', _247 => _247[0], 'optionalAccess', _248 => _248.shortHash]);
|
|
82091
82166
|
if (args.verbose) {
|
|
82092
82167
|
console.log(
|
|
82093
82168
|
`Determined --from ref for ${project.name} from the first commit in which it exists: ${fromRef}`
|
|
@@ -82115,7 +82190,7 @@ ${contents}`);
|
|
|
82115
82190
|
body: c.body,
|
|
82116
82191
|
isBreaking: c.isBreaking,
|
|
82117
82192
|
githubReferences: c.references,
|
|
82118
|
-
// TODO
|
|
82193
|
+
// TODO: Implement support for Co-authored-by and adding multiple authors
|
|
82119
82194
|
authors: [c.author],
|
|
82120
82195
|
shortHash: c.shortHash,
|
|
82121
82196
|
revertedHashes: c.revertedHashes,
|
|
@@ -82215,7 +82290,7 @@ ${contents}`);
|
|
|
82215
82290
|
releaseGroup.releaseTagPattern,
|
|
82216
82291
|
{},
|
|
82217
82292
|
releaseGroup.releaseTagPatternCheckAllBranchesWhen
|
|
82218
|
-
)), 'optionalAccess', async
|
|
82293
|
+
)), 'optionalAccess', async _249 => _249.tag]);
|
|
82219
82294
|
if (!fromRef) {
|
|
82220
82295
|
if (useAutomaticFromRef) {
|
|
82221
82296
|
fromRef = await _git.getFirstGitCommit.call(void 0, );
|
|
@@ -82244,7 +82319,7 @@ ${contents}`);
|
|
|
82244
82319
|
body: c.body,
|
|
82245
82320
|
isBreaking: c.isBreaking,
|
|
82246
82321
|
githubReferences: c.references,
|
|
82247
|
-
// TODO
|
|
82322
|
+
// TODO: Implement support for Co-authored-by and adding multiple authors
|
|
82248
82323
|
authors: [c.author],
|
|
82249
82324
|
shortHash: c.shortHash,
|
|
82250
82325
|
revertedHashes: c.revertedHashes,
|
|
@@ -82404,17 +82479,17 @@ async function applyChangesAndExit(args, nxReleaseConfig, tree, toSHA, postGitTa
|
|
|
82404
82479
|
});
|
|
82405
82480
|
deletedFiles = Array.from(planFiles);
|
|
82406
82481
|
}
|
|
82407
|
-
if (_nullishCoalesce(args.gitCommit, () => ( _optionalChain([nxReleaseConfig, 'access',
|
|
82408
|
-
await
|
|
82482
|
+
if (_nullishCoalesce(args.gitCommit, () => ( _optionalChain([nxReleaseConfig, 'access', _250 => _250.changelog, 'optionalAccess', _251 => _251.git, 'access', _252 => _252.commit])))) {
|
|
82483
|
+
await commitChanges({
|
|
82409
82484
|
changedFiles,
|
|
82410
82485
|
deletedFiles,
|
|
82411
82486
|
isDryRun: !!args.dryRun,
|
|
82412
82487
|
isVerbose: !!args.verbose,
|
|
82413
82488
|
gitCommitMessages: commitMessageValues,
|
|
82414
|
-
gitCommitArgs: args.gitCommitArgs
|
|
82489
|
+
gitCommitArgs: _nullishCoalesce(args.gitCommitArgs, () => ( _optionalChain([nxReleaseConfig, 'access', _253 => _253.changelog, 'optionalAccess', _254 => _254.git, 'access', _255 => _255.commitArgs])))
|
|
82415
82490
|
});
|
|
82416
82491
|
latestCommit = await _git.getCommitHash.call(void 0, "HEAD");
|
|
82417
|
-
} else if ((_nullishCoalesce(args.stageChanges, () => ( _optionalChain([nxReleaseConfig, 'access',
|
|
82492
|
+
} else if ((_nullishCoalesce(args.stageChanges, () => ( _optionalChain([nxReleaseConfig, 'access', _256 => _256.changelog, 'optionalAccess', _257 => _257.git, 'access', _258 => _258.stageChanges])))) && changes.length) {
|
|
82418
82493
|
_output.output.logSingleLine(`Staging changed files with git`);
|
|
82419
82494
|
await _git.gitAdd.call(void 0, {
|
|
82420
82495
|
changedFiles,
|
|
@@ -82423,25 +82498,24 @@ async function applyChangesAndExit(args, nxReleaseConfig, tree, toSHA, postGitTa
|
|
|
82423
82498
|
verbose: args.verbose
|
|
82424
82499
|
});
|
|
82425
82500
|
}
|
|
82426
|
-
if (_nullishCoalesce(args.gitTag, () => ( _optionalChain([nxReleaseConfig, 'access',
|
|
82501
|
+
if (_nullishCoalesce(args.gitTag, () => ( _optionalChain([nxReleaseConfig, 'access', _259 => _259.changelog, 'optionalAccess', _260 => _260.git, 'access', _261 => _261.tag])))) {
|
|
82427
82502
|
_output.output.logSingleLine(`Tagging commit with git`);
|
|
82428
82503
|
for (const tag of gitTagValues) {
|
|
82429
82504
|
await gitTag({
|
|
82430
82505
|
tag,
|
|
82431
|
-
message: args.gitTagMessage || _optionalChain([nxReleaseConfig, 'access',
|
|
82432
|
-
additionalArgs: args.gitTagArgs || _optionalChain([nxReleaseConfig, 'access',
|
|
82506
|
+
message: args.gitTagMessage || _optionalChain([nxReleaseConfig, 'access', _262 => _262.changelog, 'optionalAccess', _263 => _263.git, 'access', _264 => _264.tagMessage]),
|
|
82507
|
+
additionalArgs: args.gitTagArgs || _optionalChain([nxReleaseConfig, 'access', _265 => _265.changelog, 'optionalAccess', _266 => _266.git, 'access', _267 => _267.tagArgs]),
|
|
82433
82508
|
dryRun: args.dryRun,
|
|
82434
82509
|
verbose: args.verbose
|
|
82435
82510
|
});
|
|
82436
82511
|
}
|
|
82437
82512
|
}
|
|
82438
|
-
if (_nullishCoalesce(args.gitPush, () => ( _optionalChain([nxReleaseConfig, 'access',
|
|
82513
|
+
if (_nullishCoalesce(args.gitPush, () => ( _optionalChain([nxReleaseConfig, 'access', _268 => _268.changelog, 'optionalAccess', _269 => _269.git, 'access', _270 => _270.push])))) {
|
|
82439
82514
|
_output.output.logSingleLine(`Pushing to git remote "${args.gitRemote}"`);
|
|
82440
82515
|
await _git.gitPush.call(void 0, {
|
|
82441
82516
|
gitRemote: args.gitRemote,
|
|
82442
82517
|
dryRun: args.dryRun,
|
|
82443
82518
|
verbose: args.verbose
|
|
82444
|
-
// additionalArgs: ["--signed=if-asked"]
|
|
82445
82519
|
});
|
|
82446
82520
|
}
|
|
82447
82521
|
for (const postGitTask of postGitTasks) {
|
|
@@ -82452,11 +82526,9 @@ async function applyChangesAndExit(args, nxReleaseConfig, tree, toSHA, postGitTa
|
|
|
82452
82526
|
async function generateChangelogForWorkspace({
|
|
82453
82527
|
tree,
|
|
82454
82528
|
args,
|
|
82455
|
-
projectGraph,
|
|
82456
82529
|
nxReleaseConfig,
|
|
82457
82530
|
workspaceChangelogVersion,
|
|
82458
|
-
changes
|
|
82459
|
-
commits
|
|
82531
|
+
changes
|
|
82460
82532
|
}) {
|
|
82461
82533
|
const workspaceConfig = await _chunkXE275LJTcjs.getWorkspaceConfig.call(void 0, );
|
|
82462
82534
|
if (!workspaceConfig) {
|
|
@@ -82464,7 +82536,7 @@ async function generateChangelogForWorkspace({
|
|
|
82464
82536
|
`Unable to determine the Storm workspace config. Please ensure that your storm-workspace.json file is present and valid.`
|
|
82465
82537
|
);
|
|
82466
82538
|
}
|
|
82467
|
-
const config = _optionalChain([nxReleaseConfig, 'access',
|
|
82539
|
+
const config = _optionalChain([nxReleaseConfig, 'access', _271 => _271.changelog, 'optionalAccess', _272 => _272.workspaceChangelog]);
|
|
82468
82540
|
if (config === false) {
|
|
82469
82541
|
return;
|
|
82470
82542
|
}
|
|
@@ -82486,7 +82558,7 @@ async function generateChangelogForWorkspace({
|
|
|
82486
82558
|
});
|
|
82487
82559
|
return;
|
|
82488
82560
|
}
|
|
82489
|
-
if (_optionalChain([Object, 'access',
|
|
82561
|
+
if (_optionalChain([Object, 'access', _273 => _273.values, 'call', _274 => _274(_nullishCoalesce(nxReleaseConfig.groups, () => ( {}))), 'access', _275 => _275[0], 'optionalAccess', _276 => _276.projectsRelationship]) === "independent") {
|
|
82490
82562
|
_output.output.warn({
|
|
82491
82563
|
title: `Workspace changelog is enabled, but you have configured an independent projects relationship. This is not supported, so workspace changelog will be disabled.`,
|
|
82492
82564
|
bodyLines: [
|
|
@@ -82522,16 +82594,16 @@ async function generateChangelogForWorkspace({
|
|
|
82522
82594
|
)}`
|
|
82523
82595
|
});
|
|
82524
82596
|
}
|
|
82525
|
-
const
|
|
82597
|
+
const remoteReleaseClient = await createGithubRemoteReleaseClient(gitRemote);
|
|
82526
82598
|
const changelogRenderer = new StormChangelogRenderer({
|
|
82527
82599
|
changes,
|
|
82528
82600
|
changelogEntryVersion: releaseVersion.rawVersion,
|
|
82529
82601
|
project: null,
|
|
82530
82602
|
isVersionPlans: false,
|
|
82531
|
-
repoData: githubRepoData,
|
|
82532
82603
|
entryWhenNoChanges: config.entryWhenNoChanges,
|
|
82533
82604
|
changelogRenderOptions: config.renderOptions,
|
|
82534
|
-
conventionalCommitsConfig: nxReleaseConfig.conventionalCommits
|
|
82605
|
+
conventionalCommitsConfig: nxReleaseConfig.conventionalCommits,
|
|
82606
|
+
remoteReleaseClient
|
|
82535
82607
|
});
|
|
82536
82608
|
let contents = await changelogRenderer.render();
|
|
82537
82609
|
if (interactive) {
|
|
@@ -82552,7 +82624,7 @@ async function generateChangelogForWorkspace({
|
|
|
82552
82624
|
releaseVersion,
|
|
82553
82625
|
interpolatedTreePath,
|
|
82554
82626
|
contents,
|
|
82555
|
-
tree.exists(interpolatedTreePath) ? _optionalChain([tree, 'access',
|
|
82627
|
+
tree.exists(interpolatedTreePath) ? _optionalChain([tree, 'access', _277 => _277.read, 'call', _278 => _278(interpolatedTreePath), 'optionalAccess', _279 => _279.toString, 'call', _280 => _280()]) : "",
|
|
82556
82628
|
null,
|
|
82557
82629
|
workspaceConfig
|
|
82558
82630
|
)
|
|
@@ -82597,11 +82669,12 @@ async function generateChangelogForProjects({
|
|
|
82597
82669
|
workspaceRoot: ""
|
|
82598
82670
|
});
|
|
82599
82671
|
}
|
|
82600
|
-
|
|
82672
|
+
const newVersion = _optionalChain([projectsVersionData, 'access', _281 => _281[project.name], 'optionalAccess', _282 => _282.newVersion]);
|
|
82673
|
+
if (!newVersion) {
|
|
82601
82674
|
continue;
|
|
82602
82675
|
}
|
|
82603
82676
|
const releaseVersion = new (0, _shared.ReleaseVersion)({
|
|
82604
|
-
version:
|
|
82677
|
+
version: newVersion,
|
|
82605
82678
|
releaseTagPattern: releaseGroup.releaseTagPattern,
|
|
82606
82679
|
projectName: project.name
|
|
82607
82680
|
});
|
|
@@ -82612,15 +82685,11 @@ async function generateChangelogForProjects({
|
|
|
82612
82685
|
releaseVersion.gitTag
|
|
82613
82686
|
)}`
|
|
82614
82687
|
});
|
|
82615
|
-
const
|
|
82616
|
-
gitRemote,
|
|
82617
|
-
config.createRelease
|
|
82618
|
-
);
|
|
82688
|
+
const remoteReleaseClient = await createGithubRemoteReleaseClient(gitRemote);
|
|
82619
82689
|
const changelogRenderer = new StormChangelogRenderer({
|
|
82620
82690
|
changes,
|
|
82621
82691
|
changelogEntryVersion: releaseVersion.rawVersion,
|
|
82622
82692
|
project: project.name,
|
|
82623
|
-
repoData: githubRepoData,
|
|
82624
82693
|
entryWhenNoChanges: typeof config.entryWhenNoChanges === "string" ? _utils.interpolate.call(void 0, config.entryWhenNoChanges, {
|
|
82625
82694
|
projectName: project.name,
|
|
82626
82695
|
projectRoot: project.data.root,
|
|
@@ -82629,7 +82698,8 @@ async function generateChangelogForProjects({
|
|
|
82629
82698
|
changelogRenderOptions: config.renderOptions,
|
|
82630
82699
|
isVersionPlans: !!releaseGroup.versionPlans,
|
|
82631
82700
|
conventionalCommitsConfig: releaseGroup.versionPlans ? null : nxReleaseConfig.conventionalCommits,
|
|
82632
|
-
dependencyBumps: projectToAdditionalDependencyBumps.get(project.name)
|
|
82701
|
+
dependencyBumps: projectToAdditionalDependencyBumps.get(project.name),
|
|
82702
|
+
remoteReleaseClient
|
|
82633
82703
|
});
|
|
82634
82704
|
let contents = await changelogRenderer.render();
|
|
82635
82705
|
_output.output.log({
|
|
@@ -82655,7 +82725,7 @@ ${contents}`.trim()
|
|
|
82655
82725
|
releaseVersion,
|
|
82656
82726
|
interpolatedTreePath,
|
|
82657
82727
|
contents,
|
|
82658
|
-
tree.exists(interpolatedTreePath) ? _optionalChain([tree, 'access',
|
|
82728
|
+
tree.exists(interpolatedTreePath) ? _optionalChain([tree, 'access', _283 => _283.read, 'call', _284 => _284(interpolatedTreePath), 'optionalAccess', _285 => _285.toString, 'call', _286 => _286()]) : "",
|
|
82659
82729
|
project.name,
|
|
82660
82730
|
workspaceConfig
|
|
82661
82731
|
)
|
|
@@ -82679,11 +82749,11 @@ ${contents}`.trim()
|
|
|
82679
82749
|
return projectChangelogs;
|
|
82680
82750
|
}
|
|
82681
82751
|
function checkChangelogFilesEnabled(nxReleaseConfig) {
|
|
82682
|
-
if (_optionalChain([nxReleaseConfig, 'access',
|
|
82752
|
+
if (_optionalChain([nxReleaseConfig, 'access', _287 => _287.changelog, 'optionalAccess', _288 => _288.workspaceChangelog]) && _optionalChain([nxReleaseConfig, 'access', _289 => _289.changelog, 'optionalAccess', _290 => _290.workspaceChangelog, 'access', _291 => _291.file])) {
|
|
82683
82753
|
return true;
|
|
82684
82754
|
}
|
|
82685
82755
|
return Object.values(_nullishCoalesce(nxReleaseConfig.groups, () => ( {}))).some(
|
|
82686
|
-
(releaseGroup) => typeof _optionalChain([releaseGroup, 'optionalAccess',
|
|
82756
|
+
(releaseGroup) => typeof _optionalChain([releaseGroup, 'optionalAccess', _292 => _292.changelog]) === "boolean" && releaseGroup.changelog || _optionalChain([releaseGroup, 'optionalAccess', _293 => _293.changelog, 'optionalAccess', _294 => _294.file])
|
|
82687
82757
|
);
|
|
82688
82758
|
}
|
|
82689
82759
|
async function getCommits(fromSHA, toSHA) {
|
|
@@ -82777,16 +82847,16 @@ function formatGithubReleaseNotes(releaseVersion, content, projectName, workspac
|
|
|
82777
82847
|
if (!workspaceConfig) {
|
|
82778
82848
|
return content;
|
|
82779
82849
|
}
|
|
82780
|
-
return `![${_optionalChain([titleCase
|
|
82850
|
+
return `![${_optionalChain([_titlecase.titleCase.call(void 0, workspaceConfig.organization), 'optionalAccess', _295 => _295.replaceAll, 'call', _296 => _296(" ", "-")])}](${workspaceConfig.release.banner})
|
|
82781
82851
|
${workspaceConfig.release.header || ""}
|
|
82782
82852
|
|
|
82783
|
-
# ${projectName ? `${titleCase(projectName)} ` : ""}v${releaseVersion.rawVersion}
|
|
82853
|
+
# ${projectName ? `${_titlecase.titleCase.call(void 0, projectName)} ` : ""}v${releaseVersion.rawVersion}
|
|
82784
82854
|
|
|
82785
|
-
We at [${titleCase(workspaceConfig.organization)}](${workspaceConfig.homepage}) are very excited to announce the v${releaseVersion.rawVersion} release of the ${projectName ? titleCase(projectName) : workspaceConfig.name ? titleCase(workspaceConfig.name) : "Storm Software"} project! \u{1F680}
|
|
82855
|
+
We at [${_titlecase.titleCase.call(void 0, workspaceConfig.organization)}](${workspaceConfig.homepage}) are very excited to announce the v${releaseVersion.rawVersion} release of the ${projectName ? _titlecase.titleCase.call(void 0, projectName) : workspaceConfig.name ? _titlecase.titleCase.call(void 0, workspaceConfig.name) : "Storm Software"} project! \u{1F680}
|
|
82786
82856
|
|
|
82787
82857
|
These changes are released under the ${workspaceConfig.license.includes("license") ? workspaceConfig.license : `${workspaceConfig.license} license`}. You can find more details on [our licensing page](${workspaceConfig.licensing}). You can find guides, API references, and other documentation around this release (and much more) on [our documentation site](${workspaceConfig.docs}).
|
|
82788
82858
|
|
|
82789
|
-
If you have any questions or comments, feel free to reach out to the team on [Discord](${workspaceConfig.account.discord}) or [our contact page](${workspaceConfig.contact}). Please help us spread the word by giving [this repository](https://github.com/${workspaceConfig.organization}/${workspaceConfig.name}) a star \u2B50 on GitHub or [posting on X (Twitter)](https://x.com/intent/tweet?text=Check%20out%20the%20latest%20@${workspaceConfig.account.twitter}%20release%20${projectName ? `${_optionalChain([titleCase
|
|
82859
|
+
If you have any questions or comments, feel free to reach out to the team on [Discord](${workspaceConfig.account.discord}) or [our contact page](${workspaceConfig.contact}). Please help us spread the word by giving [this repository](https://github.com/${workspaceConfig.organization}/${workspaceConfig.name}) a star \u2B50 on GitHub or [posting on X (Twitter)](https://x.com/intent/tweet?text=Check%20out%20the%20latest%20@${workspaceConfig.account.twitter}%20release%20${projectName ? `${_optionalChain([_titlecase.titleCase.call(void 0, projectName), 'optionalAccess', _297 => _297.replaceAll, 'call', _298 => _298(" ", "%20")])}%20` : ""}v${releaseVersion.rawVersion}%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/${workspaceConfig.organization}/${workspaceConfig.name}/releases/tag/${releaseVersion.gitTag}) about this release!
|
|
82790
82860
|
|
|
82791
82861
|
## Release Notes
|
|
82792
82862
|
|
|
@@ -82823,6 +82893,8 @@ var DEFAULT_RELEASE_GROUP_CONFIG = {
|
|
|
82823
82893
|
version: {
|
|
82824
82894
|
groupPreVersionCommand: "pnpm build",
|
|
82825
82895
|
useLegacyVersioning: true,
|
|
82896
|
+
currentVersionResolver: "git-tag",
|
|
82897
|
+
specifierSource: "conventional-commits",
|
|
82826
82898
|
generator: "@storm-software/workspace-tools:release-version",
|
|
82827
82899
|
generatorOptions: {
|
|
82828
82900
|
currentVersionResolver: "git-tag",
|
|
@@ -82853,6 +82925,8 @@ var DEFAULT_RELEASE_CONFIG = {
|
|
|
82853
82925
|
version: {
|
|
82854
82926
|
preVersionCommand: "pnpm build",
|
|
82855
82927
|
useLegacyVersioning: true,
|
|
82928
|
+
currentVersionResolver: "git-tag",
|
|
82929
|
+
specifierSource: "conventional-commits",
|
|
82856
82930
|
generator: "@storm-software/workspace-tools:release-version",
|
|
82857
82931
|
generatorOptions: {
|
|
82858
82932
|
currentVersionResolver: "git-tag",
|
|
@@ -82863,10 +82937,12 @@ var DEFAULT_RELEASE_CONFIG = {
|
|
|
82863
82937
|
|
|
82864
82938
|
// src/release/run.ts
|
|
82865
82939
|
var runRelease = async (config, options) => {
|
|
82866
|
-
|
|
82867
|
-
|
|
82868
|
-
process.env.
|
|
82869
|
-
process.env.
|
|
82940
|
+
const name = config.bot.name;
|
|
82941
|
+
const email = config.bot.email ? config.bot.email : config.bot.name ? `${config.bot.name}@users.noreply.github.com` : "bot@stormsoftware.com";
|
|
82942
|
+
process.env.GIT_AUTHOR_NAME = name;
|
|
82943
|
+
process.env.GIT_AUTHOR_EMAIL = email;
|
|
82944
|
+
process.env.GIT_COMMITTER_NAME = name;
|
|
82945
|
+
process.env.GIT_COMMITTER_EMAIL = email;
|
|
82870
82946
|
process.env.NODE_AUTH_TOKEN = process.env.NPM_TOKEN;
|
|
82871
82947
|
process.env.NPM_AUTH_TOKEN = process.env.NPM_TOKEN;
|
|
82872
82948
|
process.env.NPM_CONFIG_PROVENANCE = "true";
|
|
@@ -82882,10 +82958,10 @@ var runRelease = async (config, options) => {
|
|
|
82882
82958
|
`,
|
|
82883
82959
|
config
|
|
82884
82960
|
);
|
|
82885
|
-
if (_optionalChain([nxJson, 'access',
|
|
82961
|
+
if (_optionalChain([nxJson, 'access', _299 => _299.release, 'optionalAccess', _300 => _300.groups])) {
|
|
82886
82962
|
nxJson.release.groups = Object.keys(nxJson.release.groups).reduce(
|
|
82887
82963
|
(ret, groupName) => {
|
|
82888
|
-
const groupConfig = _optionalChain([nxJson, 'access',
|
|
82964
|
+
const groupConfig = _optionalChain([nxJson, 'access', _301 => _301.release, 'optionalAccess', _302 => _302.groups, 'optionalAccess', _303 => _303[groupName]]);
|
|
82889
82965
|
ret[groupName] = _chunkFMYKTN2Zcjs.defu.call(void 0, groupConfig, DEFAULT_RELEASE_GROUP_CONFIG);
|
|
82890
82966
|
return ret;
|
|
82891
82967
|
},
|
|
@@ -82915,7 +82991,7 @@ var runRelease = async (config, options) => {
|
|
|
82915
82991
|
});
|
|
82916
82992
|
await releaseChangelog({
|
|
82917
82993
|
...options,
|
|
82918
|
-
version: _optionalChain([nxReleaseConfig, 'optionalAccess',
|
|
82994
|
+
version: _optionalChain([nxReleaseConfig, 'optionalAccess', _304 => _304.projectsRelationship]) !== "fixed" ? void 0 : workspaceVersion,
|
|
82919
82995
|
versionData: projectsVersionData,
|
|
82920
82996
|
dryRun: false,
|
|
82921
82997
|
verbose: _chunkXE275LJTcjs.isVerbose.call(void 0, config.logLevel),
|
|
@@ -82932,7 +83008,7 @@ var runRelease = async (config, options) => {
|
|
|
82932
83008
|
);
|
|
82933
83009
|
} else {
|
|
82934
83010
|
const changedProjects = Object.keys(projectsVersionData).filter(
|
|
82935
|
-
(key) => _optionalChain([projectsVersionData, 'access',
|
|
83011
|
+
(key) => _optionalChain([projectsVersionData, 'access', _305 => _305[key], 'optionalAccess', _306 => _306.newVersion])
|
|
82936
83012
|
);
|
|
82937
83013
|
if (changedProjects.length > 0) {
|
|
82938
83014
|
_chunkXE275LJTcjs.writeInfo.call(void 0,
|
|
@@ -82948,14 +83024,14 @@ ${changedProjects.map((changedProject) => ` - ${changedProject}`).join("\n")}
|
|
|
82948
83024
|
verbose: _chunkXE275LJTcjs.isVerbose.call(void 0, config.logLevel)
|
|
82949
83025
|
});
|
|
82950
83026
|
const failedProjects = Object.keys(result2).filter(
|
|
82951
|
-
(key) => _optionalChain([result2, 'access',
|
|
83027
|
+
(key) => _optionalChain([result2, 'access', _307 => _307[key], 'optionalAccess', _308 => _308.code]) && _optionalChain([result2, 'access', _309 => _309[key], 'optionalAccess', _310 => _310.code]) > 0
|
|
82952
83028
|
);
|
|
82953
83029
|
if (failedProjects.length > 0) {
|
|
82954
83030
|
throw new Error(
|
|
82955
83031
|
`The Storm release process was not completed successfully! One or more errors occured while running the \`nx-release-publish\` executor tasks.
|
|
82956
83032
|
|
|
82957
83033
|
Please review the workflow details for the following project(s):
|
|
82958
|
-
${failedProjects.map((failedProject) => ` - ${failedProject} (Error Code: ${_optionalChain([result2, 'access',
|
|
83034
|
+
${failedProjects.map((failedProject) => ` - ${failedProject} (Error Code: ${_optionalChain([result2, 'access', _311 => _311[failedProject], 'optionalAccess', _312 => _312.code])})`).join("\n")}
|
|
82959
83035
|
`
|
|
82960
83036
|
);
|
|
82961
83037
|
}
|
|
@@ -82969,7 +83045,7 @@ async function updatePackageManifests(projectsVersionData, config) {
|
|
|
82969
83045
|
let projectGraph;
|
|
82970
83046
|
try {
|
|
82971
83047
|
projectGraph = (0, import_devkit2.readCachedProjectGraph)();
|
|
82972
|
-
} catch (
|
|
83048
|
+
} catch (e18) {
|
|
82973
83049
|
await (0, import_devkit2.createProjectGraphAsync)();
|
|
82974
83050
|
projectGraph = (0, import_devkit2.readCachedProjectGraph)();
|
|
82975
83051
|
}
|
|
@@ -82977,7 +83053,7 @@ async function updatePackageManifests(projectsVersionData, config) {
|
|
|
82977
83053
|
await Promise.all(
|
|
82978
83054
|
Object.keys(projectsVersionData).map(async (node) => {
|
|
82979
83055
|
const projectNode = projectGraph.nodes[node];
|
|
82980
|
-
if (!_optionalChain([projectNode, 'optionalAccess',
|
|
83056
|
+
if (!_optionalChain([projectNode, 'optionalAccess', _313 => _313.data, 'access', _314 => _314.root])) {
|
|
82981
83057
|
_chunkXE275LJTcjs.writeWarning.call(void 0,
|
|
82982
83058
|
`Project node ${node} not found in the project graph. Skipping manifest update.`,
|
|
82983
83059
|
config
|
|
@@ -82985,7 +83061,7 @@ async function updatePackageManifests(projectsVersionData, config) {
|
|
|
82985
83061
|
return;
|
|
82986
83062
|
}
|
|
82987
83063
|
const versionData = projectsVersionData[node];
|
|
82988
|
-
if (_optionalChain([projectNode, 'optionalAccess',
|
|
83064
|
+
if (_optionalChain([projectNode, 'optionalAccess', _315 => _315.data, 'access', _316 => _316.root]) && versionData && versionData.newVersion !== null) {
|
|
82989
83065
|
_chunkXE275LJTcjs.writeTrace.call(void 0,
|
|
82990
83066
|
`Writing version ${versionData.newVersion} update to manifest file for ${node}
|
|
82991
83067
|
`,
|