nx 22.1.0-canary.20251106-e9146c7 → 22.1.0-canary.20251111-647d751
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/package.json +12 -11
- package/release/changelog-renderer/index.d.ts.map +1 -1
- package/release/changelog-renderer/index.js +13 -8
- package/src/command-line/init/init-v2.js +1 -1
- package/src/command-line/release/changelog/commit-utils.d.ts +14 -0
- package/src/command-line/release/changelog/commit-utils.d.ts.map +1 -0
- package/src/command-line/release/changelog/commit-utils.js +63 -0
- package/src/command-line/release/changelog/version-plan-filtering.d.ts +39 -0
- package/src/command-line/release/changelog/version-plan-filtering.d.ts.map +1 -0
- package/src/command-line/release/changelog/version-plan-filtering.js +151 -0
- package/src/command-line/release/changelog/version-plan-utils.d.ts +32 -0
- package/src/command-line/release/changelog/version-plan-utils.d.ts.map +1 -0
- package/src/command-line/release/changelog/version-plan-utils.js +92 -0
- package/src/command-line/release/changelog.d.ts +1 -16
- package/src/command-line/release/changelog.d.ts.map +1 -1
- package/src/command-line/release/changelog.js +127 -269
- package/src/command-line/release/command-object.d.ts +1 -0
- package/src/command-line/release/command-object.d.ts.map +1 -1
- package/src/command-line/release/command-object.js +6 -0
- package/src/command-line/release/utils/shared.d.ts.map +1 -1
- package/src/command-line/release/utils/shared.js +2 -2
- package/src/core/graph/main.js +1 -1
- package/src/native/index.d.ts +13 -2
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/js/index.d.ts.map +1 -1
- package/src/plugins/js/index.js +55 -7
- package/src/plugins/js/lock-file/lock-file.d.ts +5 -2
- package/src/plugins/js/lock-file/lock-file.d.ts.map +1 -1
- package/src/plugins/js/lock-file/lock-file.js +8 -6
- package/src/plugins/js/lock-file/npm-parser.d.ts +5 -2
- package/src/plugins/js/lock-file/npm-parser.d.ts.map +1 -1
- package/src/plugins/js/lock-file/npm-parser.js +5 -8
- package/src/plugins/js/lock-file/pnpm-parser.d.ts +5 -2
- package/src/plugins/js/lock-file/pnpm-parser.d.ts.map +1 -1
- package/src/plugins/js/lock-file/pnpm-parser.js +5 -7
- package/src/plugins/js/lock-file/yarn-parser.d.ts +5 -2
- package/src/plugins/js/lock-file/yarn-parser.d.ts.map +1 -1
- package/src/plugins/js/lock-file/yarn-parser.js +5 -7
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +1 -1
- package/src/project-graph/plugins/get-plugins.d.ts.map +1 -1
- package/src/project-graph/plugins/get-plugins.js +4 -4
- package/src/project-graph/plugins/isolation/index.d.ts +1 -1
- package/src/project-graph/plugins/isolation/index.d.ts.map +1 -1
- package/src/project-graph/plugins/isolation/index.js +2 -2
- package/src/project-graph/plugins/isolation/plugin-pool.d.ts +1 -1
- package/src/project-graph/plugins/isolation/plugin-pool.d.ts.map +1 -1
- package/src/project-graph/plugins/isolation/plugin-pool.js +10 -6
- package/src/tasks-runner/process-metrics-service.d.ts +1 -1
- package/src/tasks-runner/process-metrics-service.d.ts.map +1 -1
- package/src/tasks-runner/process-metrics-service.js +2 -2
|
@@ -31,6 +31,9 @@ const resolve_changelog_renderer_1 = require("./utils/resolve-changelog-renderer
|
|
|
31
31
|
const resolve_nx_json_error_message_1 = require("./utils/resolve-nx-json-error-message");
|
|
32
32
|
const shared_1 = require("./utils/shared");
|
|
33
33
|
const version_plan_utils_1 = require("./utils/version-plan-utils");
|
|
34
|
+
const version_plan_utils_2 = require("./changelog/version-plan-utils");
|
|
35
|
+
const commit_utils_1 = require("./changelog/commit-utils");
|
|
36
|
+
const version_plan_filtering_1 = require("./changelog/version-plan-filtering");
|
|
34
37
|
const releaseChangelogCLIHandler = (args) => (0, handle_errors_1.handleErrors)(args.verbose, () => createAPI({}, false)(args));
|
|
35
38
|
exports.releaseChangelogCLIHandler = releaseChangelogCLIHandler;
|
|
36
39
|
function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
|
|
@@ -96,14 +99,7 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
|
|
|
96
99
|
process.env.NX_RELEASE_INTERNAL_SUPPRESS_FILTER_LOG !== 'true') {
|
|
97
100
|
output_1.output.note(releaseGraph.filterLog);
|
|
98
101
|
}
|
|
99
|
-
|
|
100
|
-
await (0, version_plans_1.setResolvedVersionPlansOnGroups)(rawVersionPlans, releaseGraph.releaseGroups, Object.keys(projectGraph.nodes), args.verbose);
|
|
101
|
-
// Validate version plans against the filter after resolution
|
|
102
|
-
const versionPlanValidationError = (0, version_plan_utils_1.validateResolvedVersionPlansAgainstFilter)(releaseGraph.releaseGroups, releaseGraph.releaseGroupToFilteredProjects);
|
|
103
|
-
if (versionPlanValidationError) {
|
|
104
|
-
output_1.output.error(versionPlanValidationError);
|
|
105
|
-
process.exit(1);
|
|
106
|
-
}
|
|
102
|
+
let rawVersionPlans = await (0, version_plans_1.readRawVersionPlans)();
|
|
107
103
|
if (args.deleteVersionPlans === undefined) {
|
|
108
104
|
// default to deleting version plans in this command instead of after versioning
|
|
109
105
|
args.deleteVersionPlans = true;
|
|
@@ -138,6 +134,28 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
|
|
|
138
134
|
const to = args.to || 'HEAD';
|
|
139
135
|
const toSHA = await (0, git_1.getCommitHash)(to);
|
|
140
136
|
const headSHA = to === 'HEAD' ? toSHA : await (0, git_1.getCommitHash)('HEAD');
|
|
137
|
+
// Resolve the from SHA once for reuse across different contexts
|
|
138
|
+
const fromSHA = await (0, version_plan_filtering_1.resolveWorkspaceChangelogFromSHA)({
|
|
139
|
+
args,
|
|
140
|
+
nxReleaseConfig,
|
|
141
|
+
useAutomaticFromRef,
|
|
142
|
+
});
|
|
143
|
+
// Filter version plans based on resolveVersionPlans option
|
|
144
|
+
const shouldFilterVersionPlans = args.resolveVersionPlans === 'using-from-and-to';
|
|
145
|
+
if (shouldFilterVersionPlans && rawVersionPlans.length > 0 && fromSHA) {
|
|
146
|
+
rawVersionPlans = await (0, version_plan_filtering_1.filterVersionPlansByCommitRange)(rawVersionPlans, fromSHA, toSHA, args.verbose);
|
|
147
|
+
if (args.verbose) {
|
|
148
|
+
console.log(`Using version plans committed between ${fromSHA} and ${toSHA}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// Set resolved version plans on groups
|
|
152
|
+
await (0, version_plans_1.setResolvedVersionPlansOnGroups)(rawVersionPlans, releaseGraph.releaseGroups, Object.keys(projectGraph.nodes), args.verbose);
|
|
153
|
+
// Validate version plans against the filter after resolution
|
|
154
|
+
const versionPlanValidationError = (0, version_plan_utils_1.validateResolvedVersionPlansAgainstFilter)(releaseGraph.releaseGroups, releaseGraph.releaseGroupToFilteredProjects);
|
|
155
|
+
if (versionPlanValidationError) {
|
|
156
|
+
output_1.output.error(versionPlanValidationError);
|
|
157
|
+
process.exit(1);
|
|
158
|
+
}
|
|
141
159
|
/**
|
|
142
160
|
* Extract the preid from the workspace version and the project versions
|
|
143
161
|
*/
|
|
@@ -164,92 +182,16 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
|
|
|
164
182
|
: [];
|
|
165
183
|
(0, shared_1.handleDuplicateGitTags)(gitTagValues);
|
|
166
184
|
const postGitTasks = [];
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
const releaseType = versionPlanSemverReleaseTypeToChangelogType(vp.groupVersionBump);
|
|
178
|
-
let githubReferences = [];
|
|
179
|
-
let authors = undefined;
|
|
180
|
-
const parsedCommit = vp.commit
|
|
181
|
-
? (0, git_1.parseVersionPlanCommit)(vp.commit)
|
|
182
|
-
: null;
|
|
183
|
-
if (parsedCommit) {
|
|
184
|
-
githubReferences = parsedCommit.references;
|
|
185
|
-
authors = parsedCommit.authors;
|
|
186
|
-
}
|
|
187
|
-
const changes = !vp.triggeredByProjects
|
|
188
|
-
? {
|
|
189
|
-
type: releaseType.type,
|
|
190
|
-
scope: '',
|
|
191
|
-
description: vp.message,
|
|
192
|
-
body: '',
|
|
193
|
-
isBreaking: releaseType.isBreaking,
|
|
194
|
-
githubReferences,
|
|
195
|
-
authors,
|
|
196
|
-
affectedProjects: '*',
|
|
197
|
-
}
|
|
198
|
-
: vp.triggeredByProjects.map((project) => {
|
|
199
|
-
return {
|
|
200
|
-
type: releaseType.type,
|
|
201
|
-
scope: project,
|
|
202
|
-
description: vp.message,
|
|
203
|
-
body: '',
|
|
204
|
-
isBreaking: releaseType.isBreaking,
|
|
205
|
-
githubReferences,
|
|
206
|
-
authors,
|
|
207
|
-
affectedProjects: [project],
|
|
208
|
-
};
|
|
209
|
-
});
|
|
210
|
-
return changes;
|
|
211
|
-
})
|
|
212
|
-
.filter(Boolean);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
let workspaceChangelogFromRef = args.from ||
|
|
218
|
-
(await (0, git_1.getLatestGitTagForPattern)(nxReleaseConfig.releaseTag.pattern, {}, {
|
|
219
|
-
checkAllBranchesWhen: nxReleaseConfig.releaseTag.checkAllBranchesWhen,
|
|
220
|
-
preid: workspacePreid ??
|
|
221
|
-
projectsPreid?.[Object.keys(projectsPreid)[0]],
|
|
222
|
-
requireSemver: nxReleaseConfig.releaseTag.requireSemver,
|
|
223
|
-
strictPreid: nxReleaseConfig.releaseTag.strictPreid,
|
|
224
|
-
}))?.tag;
|
|
225
|
-
if (!workspaceChangelogFromRef) {
|
|
226
|
-
if (useAutomaticFromRef) {
|
|
227
|
-
workspaceChangelogFromRef = await (0, git_1.getFirstGitCommit)();
|
|
228
|
-
if (args.verbose) {
|
|
229
|
-
console.log(`Determined workspace --from ref from the first commit in the workspace: ${workspaceChangelogFromRef}`);
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
else {
|
|
233
|
-
throw new Error(`Unable to determine the previous git tag. If this is the first release of your workspace, use the --first-release option or set the "release.changelog.automaticFromRef" config property in nx.json to generate a changelog from the first commit. Otherwise, be sure to configure the "release.releaseTag.pattern" property in nx.json to match the structure of your repository's git tags.`);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
// Make sure that the fromRef is actually resolvable
|
|
237
|
-
const workspaceChangelogFromSHA = await (0, git_1.getCommitHash)(workspaceChangelogFromRef);
|
|
238
|
-
workspaceChangelogChanges = filterHiddenChanges((await getCommits(workspaceChangelogFromSHA, toSHA)).map((c) => {
|
|
239
|
-
return {
|
|
240
|
-
type: c.type,
|
|
241
|
-
scope: c.scope,
|
|
242
|
-
description: c.description,
|
|
243
|
-
body: c.body,
|
|
244
|
-
isBreaking: c.isBreaking,
|
|
245
|
-
githubReferences: c.references,
|
|
246
|
-
authors: c.authors,
|
|
247
|
-
shortHash: c.shortHash,
|
|
248
|
-
revertedHashes: c.revertedHashes,
|
|
249
|
-
affectedProjects: '*',
|
|
250
|
-
};
|
|
251
|
-
}), nxReleaseConfig.conventionalCommits);
|
|
252
|
-
}
|
|
185
|
+
const workspaceChangelogChanges = await resolveWorkspaceChangelogChanges({
|
|
186
|
+
releaseGraph,
|
|
187
|
+
nxReleaseConfig,
|
|
188
|
+
args,
|
|
189
|
+
workspacePreid,
|
|
190
|
+
projectsPreid,
|
|
191
|
+
useAutomaticFromRef,
|
|
192
|
+
toSHA,
|
|
193
|
+
fromSHA,
|
|
194
|
+
});
|
|
253
195
|
const workspaceChangelog = await generateChangelogForWorkspace({
|
|
254
196
|
tree,
|
|
255
197
|
args,
|
|
@@ -261,6 +203,32 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
|
|
|
261
203
|
if (workspaceChangelog && workspaceChangelog.postGitTask) {
|
|
262
204
|
postGitTasks.push(workspaceChangelog.postGitTask);
|
|
263
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Create a cache for from SHA resolution to avoid duplicate git operations
|
|
208
|
+
*/
|
|
209
|
+
const fromSHACache = new Map();
|
|
210
|
+
// Cache the workspace from SHA if available
|
|
211
|
+
if (fromSHA) {
|
|
212
|
+
fromSHACache.set('workspace', fromSHA);
|
|
213
|
+
}
|
|
214
|
+
// Helper function to get cached from SHA or resolve and cache it
|
|
215
|
+
const getCachedFromSHA = async (cacheKey, pattern, templateValues, preid, checkAllBranchesWhen, requireSemver, strictPreid) => {
|
|
216
|
+
if (fromSHACache.has(cacheKey)) {
|
|
217
|
+
return fromSHACache.get(cacheKey);
|
|
218
|
+
}
|
|
219
|
+
const sha = await (0, version_plan_filtering_1.resolveChangelogFromSHA)({
|
|
220
|
+
fromRef: args.from,
|
|
221
|
+
tagPattern: pattern,
|
|
222
|
+
tagPatternValues: templateValues,
|
|
223
|
+
checkAllBranchesWhen,
|
|
224
|
+
preid,
|
|
225
|
+
requireSemver,
|
|
226
|
+
strictPreid,
|
|
227
|
+
useAutomaticFromRef,
|
|
228
|
+
});
|
|
229
|
+
fromSHACache.set(cacheKey, sha);
|
|
230
|
+
return sha;
|
|
231
|
+
};
|
|
264
232
|
/**
|
|
265
233
|
* Compute any additional dependency bumps up front because there could be cases of circular dependencies,
|
|
266
234
|
* and figuring them out during the main iteration would be too late.
|
|
@@ -318,57 +286,29 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
|
|
|
318
286
|
for (const project of projectNodes) {
|
|
319
287
|
let changes = null;
|
|
320
288
|
if (releaseGroup.resolvedVersionPlans) {
|
|
321
|
-
changes = releaseGroup.resolvedVersionPlans
|
|
322
|
-
.map((vp) => {
|
|
323
|
-
const bumpForProject = vp.projectVersionBumps[project.name];
|
|
324
|
-
if (!bumpForProject) {
|
|
325
|
-
return null;
|
|
326
|
-
}
|
|
327
|
-
const releaseType = versionPlanSemverReleaseTypeToChangelogType(bumpForProject);
|
|
328
|
-
let githubReferences = [];
|
|
329
|
-
let authors = [];
|
|
330
|
-
const parsedCommit = vp.commit
|
|
331
|
-
? (0, git_1.parseVersionPlanCommit)(vp.commit)
|
|
332
|
-
: null;
|
|
333
|
-
if (parsedCommit) {
|
|
334
|
-
githubReferences = parsedCommit.references;
|
|
335
|
-
authors = parsedCommit.authors;
|
|
336
|
-
}
|
|
337
|
-
return {
|
|
338
|
-
type: releaseType.type,
|
|
339
|
-
scope: project.name,
|
|
340
|
-
description: vp.message,
|
|
341
|
-
body: '',
|
|
342
|
-
isBreaking: releaseType.isBreaking,
|
|
343
|
-
affectedProjects: Object.keys(vp.projectVersionBumps),
|
|
344
|
-
githubReferences,
|
|
345
|
-
authors,
|
|
346
|
-
};
|
|
347
|
-
})
|
|
348
|
-
.filter(Boolean);
|
|
289
|
+
changes = (0, version_plan_utils_2.createChangesFromProjectsVersionPlans)(releaseGroup.resolvedVersionPlans, project.name);
|
|
349
290
|
}
|
|
350
291
|
else {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
checkAllBranchesWhen: releaseGroup.releaseTag.checkAllBranchesWhen,
|
|
357
|
-
preid: projectsPreid[project.name],
|
|
358
|
-
requireSemver: releaseGroup.releaseTag.requireSemver,
|
|
359
|
-
strictPreid: releaseGroup.releaseTag.strictPreid,
|
|
360
|
-
}))?.tag;
|
|
292
|
+
const projectCacheKey = `${releaseGroup.name}:${project.name}`;
|
|
293
|
+
const fromSHA = await getCachedFromSHA(projectCacheKey, releaseGroup.releaseTag.pattern, {
|
|
294
|
+
projectName: project.name,
|
|
295
|
+
releaseGroupName: releaseGroup.name,
|
|
296
|
+
}, projectsPreid[project.name], releaseGroup.releaseTag.checkAllBranchesWhen, releaseGroup.releaseTag.requireSemver, releaseGroup.releaseTag.strictPreid);
|
|
361
297
|
let commits;
|
|
298
|
+
let fromRef = fromSHA;
|
|
362
299
|
if (!fromRef && useAutomaticFromRef) {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
300
|
+
// For automatic from ref, we already have it cached
|
|
301
|
+
fromRef = fromSHACache.get(projectCacheKey);
|
|
302
|
+
if (fromRef) {
|
|
303
|
+
commits = await filterProjectCommits({
|
|
304
|
+
fromSHA: fromRef,
|
|
305
|
+
toSHA,
|
|
306
|
+
projectPath: project.data.root,
|
|
307
|
+
});
|
|
308
|
+
fromRef = commits[0]?.shortHash;
|
|
309
|
+
if (args.verbose) {
|
|
310
|
+
console.log(`Determined --from ref for ${project.name} from the first commit in which it exists: ${fromRef}`);
|
|
311
|
+
}
|
|
372
312
|
}
|
|
373
313
|
}
|
|
374
314
|
if (!fromRef && !commits) {
|
|
@@ -382,21 +322,8 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
|
|
|
382
322
|
});
|
|
383
323
|
}
|
|
384
324
|
const { fileMap } = await (0, file_map_utils_1.createFileMapUsingProjectGraph)(projectGraph);
|
|
385
|
-
const fileToProjectMap = createFileToProjectMap(fileMap.projectFileMap);
|
|
386
|
-
changes =
|
|
387
|
-
type: c.type,
|
|
388
|
-
scope: c.scope,
|
|
389
|
-
description: c.description,
|
|
390
|
-
body: c.body,
|
|
391
|
-
isBreaking: c.isBreaking,
|
|
392
|
-
githubReferences: c.references,
|
|
393
|
-
authors: c.authors,
|
|
394
|
-
shortHash: c.shortHash,
|
|
395
|
-
revertedHashes: c.revertedHashes,
|
|
396
|
-
affectedProjects: commitChangesNonProjectFiles(c, fileMap.nonProjectFiles)
|
|
397
|
-
? '*'
|
|
398
|
-
: getProjectsAffectedByCommit(c, fileToProjectMap),
|
|
399
|
-
})), nxReleaseConfig.conventionalCommits);
|
|
325
|
+
const fileToProjectMap = (0, commit_utils_1.createFileToProjectMap)(fileMap.projectFileMap);
|
|
326
|
+
changes = (0, commit_utils_1.createChangesFromCommits)(commits, fileMap, fileToProjectMap, nxReleaseConfig.conventionalCommits);
|
|
400
327
|
}
|
|
401
328
|
const projectChangelogs = await generateChangelogForProjects({
|
|
402
329
|
tree,
|
|
@@ -422,83 +349,22 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
|
|
|
422
349
|
else {
|
|
423
350
|
let changes = [];
|
|
424
351
|
if (releaseGroup.resolvedVersionPlans) {
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
const releaseType = versionPlanSemverReleaseTypeToChangelogType(vp.groupVersionBump);
|
|
428
|
-
let githubReferences = [];
|
|
429
|
-
let authors = undefined;
|
|
430
|
-
const parsedCommit = vp.commit
|
|
431
|
-
? (0, git_1.parseVersionPlanCommit)(vp.commit)
|
|
432
|
-
: null;
|
|
433
|
-
if (parsedCommit) {
|
|
434
|
-
githubReferences = parsedCommit.references;
|
|
435
|
-
authors = parsedCommit.authors;
|
|
436
|
-
}
|
|
437
|
-
const changes = !vp.triggeredByProjects
|
|
438
|
-
? {
|
|
439
|
-
type: releaseType.type,
|
|
440
|
-
scope: '',
|
|
441
|
-
description: vp.message,
|
|
442
|
-
body: '',
|
|
443
|
-
isBreaking: releaseType.isBreaking,
|
|
444
|
-
githubReferences,
|
|
445
|
-
authors,
|
|
446
|
-
affectedProjects: '*',
|
|
447
|
-
}
|
|
448
|
-
: vp.triggeredByProjects.map((project) => {
|
|
449
|
-
return {
|
|
450
|
-
type: releaseType.type,
|
|
451
|
-
scope: project,
|
|
452
|
-
description: vp.message,
|
|
453
|
-
body: '',
|
|
454
|
-
isBreaking: releaseType.isBreaking,
|
|
455
|
-
githubReferences,
|
|
456
|
-
authors,
|
|
457
|
-
affectedProjects: [project],
|
|
458
|
-
};
|
|
459
|
-
});
|
|
460
|
-
return changes;
|
|
461
|
-
})
|
|
462
|
-
.filter(Boolean);
|
|
352
|
+
// This is identical to workspace changelog for fixed groups
|
|
353
|
+
changes = (0, version_plan_utils_2.createChangesFromGroupVersionPlans)(releaseGroup.resolvedVersionPlans);
|
|
463
354
|
}
|
|
464
355
|
else {
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
}))?.tag;
|
|
473
|
-
if (!fromRef) {
|
|
474
|
-
if (useAutomaticFromRef) {
|
|
475
|
-
fromRef = await (0, git_1.getFirstGitCommit)();
|
|
476
|
-
if (args.verbose) {
|
|
477
|
-
console.log(`Determined release group --from ref from the first commit in the workspace: ${fromRef}`);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
else {
|
|
481
|
-
throw new Error(`Unable to determine the previous git tag. If this is the first release of your release group, use the --first-release option or set the "release.changelog.automaticFromRef" config property in nx.json to generate a changelog from the first commit. Otherwise, be sure to configure the "release.releaseTag.pattern" property in nx.json to match the structure of your repository's git tags.`);
|
|
482
|
-
}
|
|
356
|
+
const groupCacheKey = `${releaseGroup.name}:fixed`;
|
|
357
|
+
const fromSHA = await getCachedFromSHA(groupCacheKey, releaseGroup.releaseTag.pattern, {}, workspacePreid ?? projectsPreid?.[Object.keys(projectsPreid)[0]], releaseGroup.releaseTag.checkAllBranchesWhen, releaseGroup.releaseTag.requireSemver, releaseGroup.releaseTag.strictPreid);
|
|
358
|
+
if (!fromSHA) {
|
|
359
|
+
throw new Error(`Unable to determine the previous git tag. If this is the first release of your release group, use the --first-release option or set the "release.changelog.automaticFromRef" config property in nx.json to generate a changelog from the first commit. Otherwise, be sure to configure the "release.releaseTag.pattern" property in nx.json to match the structure of your repository's git tags.`);
|
|
360
|
+
}
|
|
361
|
+
if (args.verbose && useAutomaticFromRef && !args.from) {
|
|
362
|
+
console.log(`Determined release group --from ref from the first commit in the workspace: ${fromSHA}`);
|
|
483
363
|
}
|
|
484
|
-
// Make sure that the fromRef is actually resolvable
|
|
485
|
-
const fromSHA = await (0, git_1.getCommitHash)(fromRef);
|
|
486
364
|
const { fileMap } = await (0, file_map_utils_1.createFileMapUsingProjectGraph)(projectGraph);
|
|
487
|
-
const fileToProjectMap = createFileToProjectMap(fileMap.projectFileMap);
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
scope: c.scope,
|
|
491
|
-
description: c.description,
|
|
492
|
-
body: c.body,
|
|
493
|
-
isBreaking: c.isBreaking,
|
|
494
|
-
githubReferences: c.references,
|
|
495
|
-
authors: c.authors,
|
|
496
|
-
shortHash: c.shortHash,
|
|
497
|
-
revertedHashes: c.revertedHashes,
|
|
498
|
-
affectedProjects: commitChangesNonProjectFiles(c, fileMap.nonProjectFiles)
|
|
499
|
-
? '*'
|
|
500
|
-
: getProjectsAffectedByCommit(c, fileToProjectMap),
|
|
501
|
-
})), nxReleaseConfig.conventionalCommits);
|
|
365
|
+
const fileToProjectMap = (0, commit_utils_1.createFileToProjectMap)(fileMap.projectFileMap);
|
|
366
|
+
const commits = await getCommits(fromSHA, toSHA);
|
|
367
|
+
changes = (0, commit_utils_1.createChangesFromCommits)(commits, fileMap, fileToProjectMap, nxReleaseConfig.conventionalCommits);
|
|
502
368
|
}
|
|
503
369
|
const projectChangelogs = await generateChangelogForProjects({
|
|
504
370
|
tree,
|
|
@@ -948,17 +814,6 @@ async function filterProjectCommits({ fromSHA, toSHA, projectPath, }) {
|
|
|
948
814
|
const allCommits = await getCommits(fromSHA, toSHA);
|
|
949
815
|
return allCommits.filter((c) => c.affectedFiles.find((f) => f.startsWith(projectPath)));
|
|
950
816
|
}
|
|
951
|
-
function filterHiddenChanges(changes, conventionalCommitsConfig) {
|
|
952
|
-
return changes.filter((change) => {
|
|
953
|
-
const type = change.type;
|
|
954
|
-
const typeConfig = conventionalCommitsConfig.types[type];
|
|
955
|
-
if (!typeConfig) {
|
|
956
|
-
// don't include changes with unknown types
|
|
957
|
-
return false;
|
|
958
|
-
}
|
|
959
|
-
return !typeConfig.changelog.hidden;
|
|
960
|
-
});
|
|
961
|
-
}
|
|
962
817
|
async function promptForRemoteRelease() {
|
|
963
818
|
try {
|
|
964
819
|
const result = await (0, enquirer_1.prompt)([
|
|
@@ -977,40 +832,43 @@ async function promptForRemoteRelease() {
|
|
|
977
832
|
return false;
|
|
978
833
|
}
|
|
979
834
|
}
|
|
980
|
-
function
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
835
|
+
async function resolveWorkspaceChangelogChanges({ releaseGraph, nxReleaseConfig, args, workspacePreid, projectsPreid, useAutomaticFromRef, toSHA, fromSHA, }) {
|
|
836
|
+
// NOTE: If there are multiple release groups, we'll just skip the workspace changelog anyway.
|
|
837
|
+
const versionPlansEnabledForWorkspaceChangelog = releaseGraph.releaseGroups[0]?.resolvedVersionPlans;
|
|
838
|
+
// Derive changes from version plan files
|
|
839
|
+
if (versionPlansEnabledForWorkspaceChangelog) {
|
|
840
|
+
return resolveWorkspaceChangelogFromVersionPlans(releaseGraph);
|
|
984
841
|
}
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
842
|
+
// Derive changes from commits
|
|
843
|
+
return resolveWorkspaceChangelogFromCommits({
|
|
844
|
+
nxReleaseConfig,
|
|
845
|
+
args,
|
|
846
|
+
workspacePreid,
|
|
847
|
+
projectsPreid,
|
|
848
|
+
useAutomaticFromRef,
|
|
849
|
+
toSHA,
|
|
850
|
+
fromSHA,
|
|
851
|
+
});
|
|
989
852
|
}
|
|
990
|
-
function
|
|
991
|
-
const
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
853
|
+
function resolveWorkspaceChangelogFromVersionPlans(releaseGraph) {
|
|
854
|
+
const firstReleaseGroup = releaseGraph.releaseGroups[0];
|
|
855
|
+
// We only produce a workspace changelog in the case of a single, fixed relationship release group
|
|
856
|
+
if (releaseGraph.releaseGroups.length !== 1 ||
|
|
857
|
+
firstReleaseGroup?.projectsRelationship !== 'fixed') {
|
|
858
|
+
return [];
|
|
996
859
|
}
|
|
997
|
-
|
|
860
|
+
const versionPlans = firstReleaseGroup.resolvedVersionPlans;
|
|
861
|
+
return (0, version_plan_utils_2.createChangesFromGroupVersionPlans)(versionPlans);
|
|
998
862
|
}
|
|
999
|
-
function
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
return { type: 'feat', isBreaking: true };
|
|
1004
|
-
case 'preminor':
|
|
1005
|
-
case 'minor':
|
|
1006
|
-
return { type: 'feat', isBreaking: false };
|
|
1007
|
-
case 'prerelease':
|
|
1008
|
-
case 'prepatch':
|
|
1009
|
-
case 'patch':
|
|
1010
|
-
return { type: 'fix', isBreaking: false };
|
|
1011
|
-
default:
|
|
1012
|
-
throw new Error(`Invalid semver bump type: ${bump}`);
|
|
863
|
+
async function resolveWorkspaceChangelogFromCommits({ nxReleaseConfig, args, workspacePreid, projectsPreid, useAutomaticFromRef, toSHA, fromSHA, }) {
|
|
864
|
+
// Use the cached fromSHA if available, otherwise throw an error
|
|
865
|
+
if (!fromSHA) {
|
|
866
|
+
throw new Error(`Unable to determine the previous git tag. If this is the first release of your workspace, use the --first-release option or set the "release.changelog.automaticFromRef" config property in nx.json to generate a changelog from the first commit. Otherwise, be sure to configure the "release.releaseTag.pattern" property in nx.json to match the structure of your repository's git tags.`);
|
|
1013
867
|
}
|
|
868
|
+
const workspaceChangelogFromSHA = fromSHA;
|
|
869
|
+
const commits = await getCommits(workspaceChangelogFromSHA, toSHA);
|
|
870
|
+
// For workspace changelog, all commits affect all projects
|
|
871
|
+
return (0, commit_utils_1.filterHiddenChanges)(commits.map((c) => (0, commit_utils_1.mapCommitToChange)(c, '*')), nxReleaseConfig.conventionalCommits);
|
|
1014
872
|
}
|
|
1015
873
|
function extractPreid(version) {
|
|
1016
874
|
if (!(0, shared_1.isPrerelease)(version)) {
|
|
@@ -41,6 +41,7 @@ export type ChangelogOptions = NxReleaseArgs & GitOptions & VersionPlanArgs & Fi
|
|
|
41
41
|
from?: string;
|
|
42
42
|
interactive?: string;
|
|
43
43
|
createRelease?: false | 'github' | 'gitlab';
|
|
44
|
+
resolveVersionPlans?: 'all' | 'using-from-and-to';
|
|
44
45
|
replaceExistingContents?: boolean;
|
|
45
46
|
releaseGraph?: ReleaseGraph;
|
|
46
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/command-object.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/command-object.ts"],"names":[],"mappings":"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"}
|
|
@@ -162,6 +162,12 @@ const changelogCommand = {
|
|
|
162
162
|
type: 'boolean',
|
|
163
163
|
description: 'Whether to overwrite the existing changelog contents instead of prepending to them.',
|
|
164
164
|
default: false,
|
|
165
|
+
})
|
|
166
|
+
.option('resolve-version-plans', {
|
|
167
|
+
type: 'string',
|
|
168
|
+
description: 'How to resolve version plans for changelog generation, defaults to resolving all version plan files available on disk.',
|
|
169
|
+
choices: ['all', 'using-from-and-to'],
|
|
170
|
+
default: 'all',
|
|
165
171
|
})
|
|
166
172
|
.check((argv) => {
|
|
167
173
|
if (!argv.version) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAK7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAErD,eAAO,MAAM,wBAAwB,QAEpC,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,iBAAiB,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,oBAAoB,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED,qBAAa,cAAc;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;gBAEV,EACV,OAAO,EAAE,qEAAqE;IAC9E,iBAAiB,EAAE,8EAA8E;IACjG,WAAW,GACZ,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;CAQF;AAED,wBAAsB,aAAa,CAAC,EAClC,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,aAAa,GACd,EAAE;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC,iBAsBA;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,oBAAoB,EAAE,EACrC,8BAA8B,EAAE,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EACtE,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,MAAM,GACpB,MAAM,EAAE,CA0GV;AAcD,wBAAgB,wCAAwC,CACtD,YAAY,EAAE,oBAAoB,GACjC,OAAO,GAAG,MAAM,CAElB;AAED,wBAAgB,wBAAwB,CACtC,aAAa,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;CAAE,EAC1D,WAAW,EAAE,MAAM,GAClB,OAAO,CAOT;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,oBAAoB,EAAE,EACrC,8BAA8B,EAAE,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EACtE,WAAW,EAAE,WAAW,GACvB,MAAM,EAAE,CA6FV;AAeD,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAcnE;AAED,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,MAAM,EAAE,GAEpB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,qBAAqB,EAAE,OAAO,CAAA;CAAE,EAAE,CAAC,CAAC,CAwC5E"}
|
|
@@ -11,10 +11,10 @@ exports.handleDuplicateGitTags = handleDuplicateGitTags;
|
|
|
11
11
|
exports.getCommitsRelevantToProjects = getCommitsRelevantToProjects;
|
|
12
12
|
const chalk = require("chalk");
|
|
13
13
|
const semver_1 = require("semver");
|
|
14
|
-
const utils_1 = require("../../../tasks-runner/utils");
|
|
15
|
-
const output_1 = require("../../../utils/output");
|
|
16
14
|
const affected_project_graph_1 = require("../../../project-graph/affected/affected-project-graph");
|
|
17
15
|
const file_utils_1 = require("../../../project-graph/file-utils");
|
|
16
|
+
const utils_1 = require("../../../tasks-runner/utils");
|
|
17
|
+
const output_1 = require("../../../utils/output");
|
|
18
18
|
const git_1 = require("./git");
|
|
19
19
|
exports.noDiffInChangelogMessage = chalk.yellow(`NOTE: There was no diff detected for the changelog entry. Maybe you intended to pass alternative git references via --from and --to?`);
|
|
20
20
|
function isPrerelease(version) {
|