nx 22.0.0-canary.20251008-05ab516 → 22.0.0-canary.20251013-14efeff

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.
Files changed (38) hide show
  1. package/migrations.json +5 -0
  2. package/package.json +11 -11
  3. package/schemas/nx-schema.json +165 -10
  4. package/src/command-line/release/changelog.d.ts.map +1 -1
  5. package/src/command-line/release/changelog.js +18 -18
  6. package/src/command-line/release/config/config.d.ts +6 -2
  7. package/src/command-line/release/config/config.d.ts.map +1 -1
  8. package/src/command-line/release/config/config.js +119 -70
  9. package/src/command-line/release/utils/git.d.ts +2 -2
  10. package/src/command-line/release/utils/git.d.ts.map +1 -1
  11. package/src/command-line/release/utils/git.js +5 -5
  12. package/src/command-line/release/utils/release-graph.d.ts +1 -1
  13. package/src/command-line/release/utils/release-graph.d.ts.map +1 -1
  14. package/src/command-line/release/utils/release-graph.js +6 -6
  15. package/src/command-line/release/utils/shared.js +11 -11
  16. package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
  17. package/src/command-line/release/version/release-group-processor.js +9 -1
  18. package/src/config/nx-json.d.ts +129 -70
  19. package/src/config/nx-json.d.ts.map +1 -1
  20. package/src/core/graph/main.js +1 -1
  21. package/src/daemon/client/client.d.ts +4 -0
  22. package/src/daemon/client/client.d.ts.map +1 -1
  23. package/src/daemon/client/client.js +23 -0
  24. package/src/daemon/message-types/register-project-graph-listener.d.ts +6 -0
  25. package/src/daemon/message-types/register-project-graph-listener.d.ts.map +1 -0
  26. package/src/daemon/message-types/register-project-graph-listener.js +11 -0
  27. package/src/daemon/server/project-graph-incremental-recomputation.d.ts +3 -1
  28. package/src/daemon/server/project-graph-incremental-recomputation.d.ts.map +1 -1
  29. package/src/daemon/server/project-graph-incremental-recomputation.js +13 -5
  30. package/src/daemon/server/project-graph-listener-sockets.d.ts +8 -0
  31. package/src/daemon/server/project-graph-listener-sockets.d.ts.map +1 -0
  32. package/src/daemon/server/project-graph-listener-sockets.js +24 -0
  33. package/src/daemon/server/server.d.ts.map +1 -1
  34. package/src/daemon/server/server.js +9 -2
  35. package/src/migrations/update-22-0-0/consolidate-release-tag-config.d.ts +3 -0
  36. package/src/migrations/update-22-0-0/consolidate-release-tag-config.d.ts.map +1 -0
  37. package/src/migrations/update-22-0-0/consolidate-release-tag-config.js +100 -0
  38. package/src/native/nx.wasm32-wasi.wasm +0 -0
package/migrations.json CHANGED
@@ -93,6 +93,11 @@
93
93
  "version": "22.0.0-beta.1",
94
94
  "description": "Updates release version config based on the breaking changes in Nx v22",
95
95
  "implementation": "./src/migrations/update-22-0-0/release-version-config-changes"
96
+ },
97
+ "22-0-0-consolidate-release-tag-config": {
98
+ "version": "22.0.0-beta.2",
99
+ "description": "Consolidates releaseTag* options into nested releaseTag object structure",
100
+ "implementation": "./src/migrations/update-22-0-0/consolidate-release-tag-config"
96
101
  }
97
102
  }
98
103
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx",
3
- "version": "22.0.0-canary.20251008-05ab516",
3
+ "version": "22.0.0-canary.20251013-14efeff",
4
4
  "private": false,
5
5
  "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
6
6
  "repository": {
@@ -83,16 +83,16 @@
83
83
  }
84
84
  },
85
85
  "optionalDependencies": {
86
- "@nx/nx-darwin-arm64": "22.0.0-canary.20251008-05ab516",
87
- "@nx/nx-darwin-x64": "22.0.0-canary.20251008-05ab516",
88
- "@nx/nx-freebsd-x64": "22.0.0-canary.20251008-05ab516",
89
- "@nx/nx-linux-arm-gnueabihf": "22.0.0-canary.20251008-05ab516",
90
- "@nx/nx-linux-arm64-gnu": "22.0.0-canary.20251008-05ab516",
91
- "@nx/nx-linux-arm64-musl": "22.0.0-canary.20251008-05ab516",
92
- "@nx/nx-linux-x64-gnu": "22.0.0-canary.20251008-05ab516",
93
- "@nx/nx-linux-x64-musl": "22.0.0-canary.20251008-05ab516",
94
- "@nx/nx-win32-arm64-msvc": "22.0.0-canary.20251008-05ab516",
95
- "@nx/nx-win32-x64-msvc": "22.0.0-canary.20251008-05ab516"
86
+ "@nx/nx-darwin-arm64": "22.0.0-canary.20251013-14efeff",
87
+ "@nx/nx-darwin-x64": "22.0.0-canary.20251013-14efeff",
88
+ "@nx/nx-freebsd-x64": "22.0.0-canary.20251013-14efeff",
89
+ "@nx/nx-linux-arm-gnueabihf": "22.0.0-canary.20251013-14efeff",
90
+ "@nx/nx-linux-arm64-gnu": "22.0.0-canary.20251013-14efeff",
91
+ "@nx/nx-linux-arm64-musl": "22.0.0-canary.20251013-14efeff",
92
+ "@nx/nx-linux-x64-gnu": "22.0.0-canary.20251013-14efeff",
93
+ "@nx/nx-linux-x64-musl": "22.0.0-canary.20251013-14efeff",
94
+ "@nx/nx-win32-arm64-msvc": "22.0.0-canary.20251013-14efeff",
95
+ "@nx/nx-win32-x64-msvc": "22.0.0-canary.20251013-14efeff"
96
96
  },
97
97
  "nx-migrations": {
98
98
  "migrations": "./migrations.json",
@@ -196,9 +196,46 @@
196
196
  }
197
197
  ]
198
198
  },
199
+ "releaseTag": {
200
+ "type": "object",
201
+ "description": "Configuration for release tag generation and matching.",
202
+ "properties": {
203
+ "pattern": {
204
+ "type": "string",
205
+ "description": "Optionally override the git/release tag pattern to use for this group."
206
+ },
207
+ "checkAllBranchesWhen": {
208
+ "oneOf": [
209
+ {
210
+ "type": "boolean"
211
+ },
212
+ {
213
+ "type": "array",
214
+ "items": {
215
+ "type": "string"
216
+ }
217
+ }
218
+ ],
219
+ "description": "By default, we will try and resolve the latest match for the releaseTagPattern from the current branch, falling back to all branches if no match is found on the current branch. Setting this to true will cause us to ALWAYS check all branches for the latest match. Setting it to false will cause us to ONLY check the current branch for the latest match. Setting it to an array of strings will cause us to check all branches WHEN the current branch is one of the strings in the array. Glob patterns are supported."
220
+ },
221
+ "requireSemver": {
222
+ "type": "boolean",
223
+ "description": "Whether to require semver to be used for the release tag pattern. If set to false, the release tag pattern will not be checked for semver compliance."
224
+ },
225
+ "preferDockerVersion": {
226
+ "type": ["boolean", "string"],
227
+ "enum": [true, false, "both"],
228
+ "description": "Controls how docker versions are used relative to semver versions when creating git tags and changelog entries. Set to true to use only the docker version, false to use only the semver version, or 'both' to create tags and changelog entries for both docker and semver versions. By default, this is set to true when docker configuration is present, and false otherwise."
229
+ },
230
+ "strictPreid": {
231
+ "$ref": "#/definitions/NxReleaseReleaseTagPatternStrictPreidConfiguration"
232
+ }
233
+ },
234
+ "additionalProperties": false
235
+ },
199
236
  "releaseTagPattern": {
200
237
  "type": "string",
201
- "description": "Optionally override the git/release tag pattern to use for this group."
238
+ "description": "DEPRECATED: Use releaseTag.pattern instead. Will be removed in Nx 23."
202
239
  },
203
240
  "releaseTagPatternCheckAllBranchesWhen": {
204
241
  "oneOf": [
@@ -212,19 +249,20 @@
212
249
  }
213
250
  }
214
251
  ],
215
- "description": "By default, we will try and resolve the latest match for the releaseTagPattern from the current branch, falling back to all branches if no match is found on the current branch. Setting this to true will cause us to ALWAYS check all branches for the latest match. Setting it to false will cause us to ONLY check the current branch for the latest match. Setting it to an array of strings will cause us to check all branches WHEN the current branch is one of the strings in the array. Glob patterns are supported."
252
+ "description": "DEPRECATED: Use releaseTag.checkAllBranchesWhen instead. Will be removed in Nx 23."
216
253
  },
217
254
  "releaseTagPatternRequireSemver": {
218
255
  "type": "boolean",
219
- "description": "Whether to require semver to be used for the release tag pattern. If set to false, the release tag pattern will not be checked for semver compliance."
256
+ "description": "DEPRECATED: Use releaseTag.requireSemver instead. Will be removed in Nx 23."
220
257
  },
221
258
  "releaseTagPatternPreferDockerVersion": {
222
259
  "type": ["boolean", "string"],
223
260
  "enum": [true, false, "both"],
224
- "description": "Controls how docker versions are used relative to semver versions when creating git tags and changelog entries. Set to true to use only the docker version, false to use only the semver version, or 'both' to create tags and changelog entries for both docker and semver versions. By default, this is set to true when docker configuration is present, and false otherwise."
261
+ "description": "DEPRECATED: Use releaseTag.preferDockerVersion instead. Will be removed in Nx 23."
225
262
  },
226
263
  "releaseTagPatternStrictPreid": {
227
- "$ref": "#/definitions/NxReleaseReleaseTagPatternStrictPreidConfiguration"
264
+ "$ref": "#/definitions/NxReleaseReleaseTagPatternStrictPreidConfiguration",
265
+ "description": "DEPRECATED: Use releaseTag.strictPreid instead. Will be removed in Nx 23."
228
266
  },
229
267
  "versionPlans": {
230
268
  "oneOf": [
@@ -309,9 +347,46 @@
309
347
  }
310
348
  ]
311
349
  },
350
+ "releaseTag": {
351
+ "type": "object",
352
+ "description": "Configuration for release tag generation and matching.",
353
+ "properties": {
354
+ "pattern": {
355
+ "type": "string",
356
+ "description": "Optionally override the git/release tag pattern to use. This field is the source of truth for changelog generation and release tagging, as well as for conventional commits parsing. It supports interpolating the version as {version} and (if releasing independently or forcing project level version control system releases) the project name as {projectName} within the string. The default releaseTagPattern for fixed/unified releases is: \"v{version}\". The default releaseTagPattern for independent releases at the project level is: \"{projectName}@{version}\""
357
+ },
358
+ "checkAllBranchesWhen": {
359
+ "oneOf": [
360
+ {
361
+ "type": "boolean"
362
+ },
363
+ {
364
+ "type": "array",
365
+ "items": {
366
+ "type": "string"
367
+ }
368
+ }
369
+ ],
370
+ "description": "By default, we will try and resolve the latest match for the releaseTagPattern from the current branch, falling back to all branches if no match is found on the current branch. Setting this to true will cause us to ALWAYS check all branches for the latest match. Setting it to false will cause us to ONLY check the current branch for the latest match. Setting it to an array of strings will cause us to check all branches WHEN the current branch is one of the strings in the array. Glob patterns are supported."
371
+ },
372
+ "requireSemver": {
373
+ "type": "boolean",
374
+ "description": "Whether to require semver to be used for the release tag pattern. If set to false, the release tag pattern will not be checked for semver compliance."
375
+ },
376
+ "preferDockerVersion": {
377
+ "type": ["boolean", "string"],
378
+ "enum": [true, false, "both"],
379
+ "description": "Controls how docker versions are used relative to semver versions when creating git tags and changelog entries. Set to true to use only the docker version, false to use only the semver version, or 'both' to create tags and changelog entries for both docker and semver versions. By default, this is set to true when docker configuration is present, and false otherwise."
380
+ },
381
+ "strictPreid": {
382
+ "$ref": "#/definitions/NxReleaseReleaseTagPatternStrictPreidConfiguration"
383
+ }
384
+ },
385
+ "additionalProperties": false
386
+ },
312
387
  "releaseTagPattern": {
313
388
  "type": "string",
314
- "description": "Optionally override the git/release tag pattern to use. This field is the source of truth for changelog generation and release tagging, as well as for conventional commits parsing. It supports interpolating the version as {version} and (if releasing independently or forcing project level version control system releases) the project name as {projectName} within the string. The default releaseTagPattern for fixed/unified releases is: \"v{version}\". The default releaseTagPattern for independent releases at the project level is: \"{projectName}@{version}\""
389
+ "description": "DEPRECATED: Use releaseTag.pattern instead. Will be removed in Nx 23."
315
390
  },
316
391
  "releaseTagPatternCheckAllBranchesWhen": {
317
392
  "oneOf": [
@@ -325,19 +400,20 @@
325
400
  }
326
401
  }
327
402
  ],
328
- "description": "By default, we will try and resolve the latest match for the releaseTagPattern from the current branch, falling back to all branches if no match is found on the current branch. Setting this to true will cause us to ALWAYS check all branches for the latest match. Setting it to false will cause us to ONLY check the current branch for the latest match. Setting it to an array of strings will cause us to check all branches WHEN the current branch is one of the strings in the array. Glob patterns are supported."
403
+ "description": "DEPRECATED: Use releaseTag.checkAllBranchesWhen instead. Will be removed in Nx 23."
329
404
  },
330
405
  "releaseTagPatternRequireSemver": {
331
406
  "type": "boolean",
332
- "description": "Whether to require semver to be used for the release tag pattern. If set to false, the release tag pattern will not be checked for semver compliance."
407
+ "description": "DEPRECATED: Use releaseTag.requireSemver instead. Will be removed in Nx 23."
333
408
  },
334
409
  "releaseTagPatternPreferDockerVersion": {
335
410
  "type": ["boolean", "string"],
336
411
  "enum": [true, false, "both"],
337
- "description": "Controls how docker versions are used relative to semver versions when creating git tags and changelog entries. Set to true to use only the docker version, false to use only the semver version, or 'both' to create tags and changelog entries for both docker and semver versions. By default, this is set to true when docker configuration is present, and false otherwise."
412
+ "description": "DEPRECATED: Use releaseTag.preferDockerVersion instead. Will be removed in Nx 23."
338
413
  },
339
414
  "releaseTagPatternStrictPreid": {
340
- "$ref": "#/definitions/NxReleaseReleaseTagPatternStrictPreidConfiguration"
415
+ "$ref": "#/definitions/NxReleaseReleaseTagPatternStrictPreidConfiguration",
416
+ "description": "DEPRECATED: Use releaseTag.strictPreid instead. Will be removed in Nx 23."
341
417
  },
342
418
  "docker": {
343
419
  "oneOf": [
@@ -384,6 +460,85 @@
384
460
  }
385
461
  },
386
462
  "additionalProperties": false
463
+ },
464
+ "conformance": {
465
+ "type": "object",
466
+ "description": "Configuration for Nx Conformance",
467
+ "properties": {
468
+ "outputPath": {
469
+ "oneOf": [
470
+ {
471
+ "type": "string",
472
+ "description": "Path to write the conformance results to"
473
+ },
474
+ {
475
+ "type": "boolean",
476
+ "enum": [false],
477
+ "description": "Disable writing the conformance results to a file"
478
+ }
479
+ ],
480
+ "description": "Optional path to write the conformance results to, defaults to 'dist/conformance-result.json'. Set to false to disable writing the conformance results to a file."
481
+ },
482
+ "rules": {
483
+ "type": "array",
484
+ "description": "List of conformance rules to apply",
485
+ "items": {
486
+ "type": "object",
487
+ "properties": {
488
+ "rule": {
489
+ "type": "string",
490
+ "description": "Relative path to a local rule implementation, node_module path or nx-cloud rule ID for Nx Cloud Enterprise."
491
+ },
492
+ "options": {
493
+ "type": "object",
494
+ "description": "Rule specific configuration options.",
495
+ "additionalProperties": true
496
+ },
497
+ "projects": {
498
+ "type": "array",
499
+ "description": "The projects to apply this rule to. This property accepts an array of strings which can be project names, glob patterns, directories, tag references or anything else that is supported by the `--projects` filter. By default, the implied value is ['*'] (all projects). You can also use objects with 'matcher' and 'explanation' properties to document why specific projects are included or excluded.",
500
+ "items": {
501
+ "oneOf": [
502
+ {
503
+ "type": "string",
504
+ "description": "A project name, glob pattern, directory, tag reference, or any other valid project filter"
505
+ },
506
+ {
507
+ "type": "object",
508
+ "properties": {
509
+ "matcher": {
510
+ "type": "string",
511
+ "description": "A project name, glob pattern, directory, tag reference, or any other valid project filter"
512
+ },
513
+ "explanation": {
514
+ "type": "string",
515
+ "description": "An explanation to communicate to colleagues why this particular project or projects were included or excluded from the rule"
516
+ }
517
+ },
518
+ "required": ["matcher", "explanation"],
519
+ "additionalProperties": false
520
+ }
521
+ ]
522
+ }
523
+ },
524
+ "explanation": {
525
+ "type": "string",
526
+ "description": "Optional explanation field for users to be able to communicate to their colleagues why a particular rule is enabled and important to the workspace in question."
527
+ },
528
+ "status": {
529
+ "type": "string",
530
+ "enum": ["enforced", "evaluated", "disabled"],
531
+ "description": "Override the default status of the rule, which is 'enforced'. If set to 'evaluated', the rule will be reported as normal, but not enforced (will exit with code 0). If set to 'disabled', the rule will not be evaluated at all.",
532
+ "default": "enforced"
533
+ }
534
+ },
535
+ "required": ["rule"],
536
+ "additionalProperties": false
537
+ }
538
+ }
539
+ },
540
+ "required": ["rules"],
541
+ "additionalProperties": false
387
542
  }
388
543
  },
389
544
  "definitions": {
@@ -1 +1 @@
1
- {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/changelog.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AAkB1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAepD,OAAO,EAEL,SAAS,EAUV,MAAM,aAAa,CAAC;AASrB,OAAO,EACL,cAAc,EASf,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,CAAC,EAAE;QACnB,cAAc,EAAE,cAAc,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,iBAAiB,CAAC,EAAE;QAClB,CAAC,WAAW,EAAE,MAAM,GAAG;YACrB,cAAc,EAAE,cAAc,CAAC;YAC/B,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B,GAAI,MAAM,gBAAgB,oBACV,CAAC;AAExD,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAOnE,MAAM,gBAAgB,KACrB,OAAO,CAAC,wBAAwB,CAAC,CAsqBrC"}
1
+ {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/changelog.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AAkB1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAepD,OAAO,EAEL,SAAS,EAUV,MAAM,aAAa,CAAC;AASrB,OAAO,EACL,cAAc,EASf,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,CAAC,EAAE;QACnB,cAAc,EAAE,cAAc,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,iBAAiB,CAAC,EAAE;QAClB,CAAC,WAAW,EAAE,MAAM,GAAG;YACrB,cAAc,EAAE,cAAc,CAAC;YAC/B,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B,GAAI,MAAM,gBAAgB,oBACV,CAAC;AAExD,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAOnE,MAAM,gBAAgB,KACrB,OAAO,CAAC,wBAAwB,CAAC,CAgqBrC"}
@@ -213,12 +213,12 @@ function createAPI(overrideReleaseConfig) {
213
213
  }
214
214
  else {
215
215
  let workspaceChangelogFromRef = args.from ||
216
- (await (0, git_1.getLatestGitTagForPattern)(nxReleaseConfig.releaseTagPattern, {}, {
217
- checkAllBranchesWhen: nxReleaseConfig.releaseTagPatternCheckAllBranchesWhen,
216
+ (await (0, git_1.getLatestGitTagForPattern)(nxReleaseConfig.releaseTag.pattern, {}, {
217
+ checkAllBranchesWhen: nxReleaseConfig.releaseTag.checkAllBranchesWhen,
218
218
  preid: workspacePreid ??
219
219
  projectsPreid?.[Object.keys(projectsPreid)[0]],
220
- releaseTagPatternRequireSemver: nxReleaseConfig.releaseTagPatternRequireSemver,
221
- releaseTagPatternStrictPreid: nxReleaseConfig.releaseTagPatternStrictPreid,
220
+ requireSemver: nxReleaseConfig.releaseTag.requireSemver,
221
+ strictPreid: nxReleaseConfig.releaseTag.strictPreid,
222
222
  }))?.tag;
223
223
  if (!workspaceChangelogFromRef) {
224
224
  if (useAutomaticFromRef) {
@@ -228,7 +228,7 @@ function createAPI(overrideReleaseConfig) {
228
228
  }
229
229
  }
230
230
  else {
231
- 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.releaseTagPattern" property in nx.json to match the structure of your repository's git tags.`);
231
+ 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.`);
232
232
  }
233
233
  }
234
234
  // Make sure that the fromRef is actually resolvable
@@ -347,14 +347,14 @@ function createAPI(overrideReleaseConfig) {
347
347
  }
348
348
  else {
349
349
  let fromRef = args.from ||
350
- (await (0, git_1.getLatestGitTagForPattern)(releaseGroup.releaseTagPattern, {
350
+ (await (0, git_1.getLatestGitTagForPattern)(releaseGroup.releaseTag.pattern, {
351
351
  projectName: project.name,
352
352
  releaseGroupName: releaseGroup.name,
353
353
  }, {
354
- checkAllBranchesWhen: releaseGroup.releaseTagPatternCheckAllBranchesWhen,
354
+ checkAllBranchesWhen: releaseGroup.releaseTag.checkAllBranchesWhen,
355
355
  preid: projectsPreid[project.name],
356
- releaseTagPatternRequireSemver: releaseGroup.releaseTagPatternRequireSemver,
357
- releaseTagPatternStrictPreid: releaseGroup.releaseTagPatternStrictPreid,
356
+ requireSemver: releaseGroup.releaseTag.requireSemver,
357
+ strictPreid: releaseGroup.releaseTag.strictPreid,
358
358
  }))?.tag;
359
359
  let commits;
360
360
  if (!fromRef && useAutomaticFromRef) {
@@ -370,7 +370,7 @@ function createAPI(overrideReleaseConfig) {
370
370
  }
371
371
  }
372
372
  if (!fromRef && !commits) {
373
- 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.releaseTagPattern" property in nx.json to match the structure of your repository's git tags.`);
373
+ 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.`);
374
374
  }
375
375
  if (!commits) {
376
376
  commits = await filterProjectCommits({
@@ -461,12 +461,12 @@ function createAPI(overrideReleaseConfig) {
461
461
  }
462
462
  else {
463
463
  let fromRef = args.from ||
464
- (await (0, git_1.getLatestGitTagForPattern)(releaseGroup.releaseTagPattern, {}, {
465
- checkAllBranchesWhen: releaseGroup.releaseTagPatternCheckAllBranchesWhen,
464
+ (await (0, git_1.getLatestGitTagForPattern)(releaseGroup.releaseTag.pattern, {}, {
465
+ checkAllBranchesWhen: releaseGroup.releaseTag.checkAllBranchesWhen,
466
466
  preid: workspacePreid ??
467
467
  projectsPreid?.[Object.keys(projectsPreid)[0]],
468
- releaseTagPatternRequireSemver: releaseGroup.releaseTagPatternRequireSemver,
469
- releaseTagPatternStrictPreid: releaseGroup.releaseTagPatternStrictPreid,
468
+ requireSemver: releaseGroup.releaseTag.requireSemver,
469
+ strictPreid: releaseGroup.releaseTag.strictPreid,
470
470
  }))?.tag;
471
471
  if (!fromRef) {
472
472
  if (useAutomaticFromRef) {
@@ -476,7 +476,7 @@ function createAPI(overrideReleaseConfig) {
476
476
  }
477
477
  }
478
478
  else {
479
- 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.releaseTagPattern" property in nx.json to match the structure of your repository's git tags.`);
479
+ 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.`);
480
480
  }
481
481
  }
482
482
  // Make sure that the fromRef is actually resolvable
@@ -547,7 +547,7 @@ function resolveChangelogVersions(args, releaseGraph) {
547
547
  * otherwise it suggests a filtering mismatch between the version and changelog command invocations.
548
548
  */
549
549
  if (!args.versionData[projectName]) {
550
- throw new Error(`The provided versionData object does not contain a version for project "${projectName}". This suggests a filtering mismatch between the version and changelog command invocations.`);
550
+ throw new Error(`The provided versionData object does not contain a version for project "${projectName}". This suggests a filtering mismatch between the version and changelog command invocations. Please ensure that you have used the same "group" or "project" filter between commands.`);
551
551
  }
552
552
  }
553
553
  return versionData;
@@ -744,7 +744,7 @@ async function generateChangelogForWorkspace({ tree, args, nxReleaseConfig, work
744
744
  }
745
745
  const releaseVersion = new shared_1.ReleaseVersion({
746
746
  version: workspaceChangelogVersion,
747
- releaseTagPattern: nxReleaseConfig.releaseTagPattern,
747
+ releaseTagPattern: nxReleaseConfig.releaseTag.pattern,
748
748
  });
749
749
  if (interpolatedTreePath) {
750
750
  const prefix = dryRun ? 'Previewing' : 'Generating';
@@ -849,7 +849,7 @@ async function generateChangelogForProjects({ tree, args, changes, projectsVersi
849
849
  projectsVersionData[project.name].dockerVersion
850
850
  ? projectsVersionData[project.name].dockerVersion
851
851
  : projectsVersionData[project.name].newVersion,
852
- releaseTagPattern: releaseGroup.releaseTagPattern,
852
+ releaseTagPattern: releaseGroup.releaseTag.pattern,
853
853
  projectName: project.name,
854
854
  });
855
855
  if (interpolatedTreePath) {
@@ -29,6 +29,9 @@ type RemoveBooleanFromProperties<T, K extends keyof T> = {
29
29
  type RemoveBooleanFromPropertiesOnEach<T, K extends keyof T[keyof T]> = {
30
30
  [U in keyof T]: RemoveBooleanFromProperties<T[U], K>;
31
31
  };
32
+ type RemoveDeprecatedPropertiesFromEach<T> = {
33
+ [K in keyof T]: Omit<T[K], 'releaseTagPattern' | 'releaseTagPatternCheckAllBranchesWhen' | 'releaseTagPatternRequireSemver' | 'releaseTagPatternPreferDockerVersion' | 'releaseTagPatternStrictPreid'>;
34
+ };
32
35
  export declare const IMPLICIT_DEFAULT_RELEASE_GROUP = "__default__";
33
36
  export declare const DEFAULT_VERSION_ACTIONS_PATH = "@nx/js/src/release/version-actions";
34
37
  /**
@@ -41,13 +44,14 @@ export declare const DEFAULT_VERSION_ACTIONS_PATH = "@nx/js/src/release/version-
41
44
  * pattern such as directories and globs).
42
45
  */
43
46
  export type NxReleaseConfig = Omit<DeepRequired<NxReleaseConfiguration & {
44
- groups: EnsureDockerOptional<DeepRequired<RemoveTrueFromPropertiesOnEach<EnsureProjectsArray<NxReleaseConfiguration['groups']>, 'changelog' | 'docker'>>>;
47
+ groups: RemoveDeprecatedPropertiesFromEach<EnsureDockerOptional<DeepRequired<RemoveTrueFromPropertiesOnEach<EnsureProjectsArray<NxReleaseConfiguration['groups']>, 'changelog' | 'docker'>>>>;
45
48
  changelog: RemoveTrueFromProperties<DeepRequired<NxReleaseConfiguration['changelog']>, 'workspaceChangelog' | 'projectChangelogs'>;
46
49
  conventionalCommits: {
47
50
  types: RemoveBooleanFromPropertiesOnEach<DeepRequired<RemoveBooleanFromProperties<DeepRequired<NxReleaseConfiguration['conventionalCommits']['types']>, string>>, 'changelog'>;
48
51
  };
49
- }>, 'projects' | 'docker'> & {
52
+ }>, 'projects' | 'docker' | 'releaseTagPattern' | 'releaseTagPatternCheckAllBranchesWhen' | 'releaseTagPatternRequireSemver' | 'releaseTagPatternPreferDockerVersion' | 'releaseTagPatternStrictPreid'> & {
50
53
  docker: DeepRequired<NxReleaseDockerConfiguration> | undefined;
54
+ releaseTag: DeepRequired<NonNullable<NxReleaseConfiguration['releaseTag']>>;
51
55
  };
52
56
  export interface CreateNxReleaseConfigError {
53
57
  code: 'PROJECTS_AND_GROUPS_DEFINED' | 'RELEASE_GROUP_MATCHES_NO_PROJECTS' | 'RELEASE_GROUP_RELEASE_TAG_PATTERN_VERSION_PLACEHOLDER_MISSING_OR_EXCESSIVE' | 'PROJECT_MATCHES_MULTIPLE_GROUPS' | 'CONVENTIONAL_COMMITS_SHORTHAND_MIXED_WITH_OVERLAPPING_OPTIONS' | 'GLOBAL_GIT_CONFIG_MIXED_WITH_GRANULAR_GIT_CONFIG' | 'CANNOT_RESOLVE_CHANGELOG_RENDERER' | 'INVALID_CHANGELOG_CREATE_RELEASE_PROVIDER' | 'INVALID_CHANGELOG_CREATE_RELEASE_HOSTNAME' | 'INVALID_CHANGELOG_CREATE_RELEASE_API_BASE_URL' | 'GIT_PUSH_FALSE_WITH_CREATE_RELEASE';
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/config/config.ts"],"names":[],"mappings":"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"}