nx 22.5.2 → 22.5.4
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/.eslintrc.json +3 -1
- package/bin/nx.js +6 -0
- package/migrations.json +6 -0
- package/package.json +12 -12
- package/src/ai/set-up-ai-agents/set-up-ai-agents.d.ts.map +1 -1
- package/src/ai/set-up-ai-agents/set-up-ai-agents.js +3 -0
- package/src/command-line/import/command-object.d.ts.map +1 -1
- package/src/command-line/import/command-object.js +1 -1
- package/src/command-line/list/command-object.d.ts.map +1 -1
- package/src/command-line/list/command-object.js +6 -1
- package/src/command-line/list/list.d.ts +2 -0
- package/src/command-line/list/list.d.ts.map +1 -1
- package/src/command-line/list/list.js +5 -1
- package/src/command-line/nx-cloud/apply-locally/apply-locally.d.ts +5 -0
- package/src/command-line/nx-cloud/apply-locally/apply-locally.d.ts.map +1 -0
- package/src/command-line/nx-cloud/apply-locally/apply-locally.js +13 -0
- package/src/command-line/nx-cloud/apply-locally/command-object.d.ts +3 -0
- package/src/command-line/nx-cloud/apply-locally/command-object.d.ts.map +1 -0
- package/src/command-line/nx-cloud/apply-locally/command-object.js +15 -0
- package/src/command-line/nx-commands.d.ts.map +1 -1
- package/src/command-line/nx-commands.js +9 -7
- package/src/command-line/release/config/config.d.ts.map +1 -1
- package/src/command-line/release/config/config.js +11 -2
- package/src/command-line/release/utils/remote-release-clients/extract-repo-slug.d.ts +10 -0
- package/src/command-line/release/utils/remote-release-clients/extract-repo-slug.d.ts.map +1 -0
- package/src/command-line/release/utils/remote-release-clients/extract-repo-slug.js +61 -0
- package/src/command-line/release/utils/remote-release-clients/github.d.ts.map +1 -1
- package/src/command-line/release/utils/remote-release-clients/github.js +8 -13
- package/src/command-line/release/utils/remote-release-clients/gitlab.d.ts.map +1 -1
- package/src/command-line/release/utils/remote-release-clients/gitlab.js +4 -9
- package/src/command-line/release/utils/shared.d.ts +1 -1
- package/src/command-line/release/utils/shared.d.ts.map +1 -1
- package/src/command-line/release/utils/shared.js +23 -15
- package/src/command-line/watch/watch.js +4 -4
- package/src/core/graph/main.js +1 -1
- package/src/daemon/server/project-graph-incremental-recomputation.d.ts.map +1 -1
- package/src/daemon/server/project-graph-incremental-recomputation.js +13 -5
- package/src/migrations/update-22-7-0/add-polygraph-to-git-ignore.d.ts +3 -0
- package/src/migrations/update-22-7-0/add-polygraph-to-git-ignore.d.ts.map +1 -0
- package/src/migrations/update-22-7-0/add-polygraph-to-git-ignore.js +14 -0
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/js/lock-file/project-graph-pruning.d.ts.map +1 -1
- package/src/plugins/js/lock-file/project-graph-pruning.js +3 -1
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts.map +1 -1
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +6 -3
- package/src/project-graph/nx-deps-cache.d.ts +10 -0
- package/src/project-graph/nx-deps-cache.d.ts.map +1 -1
- package/src/project-graph/nx-deps-cache.js +36 -0
- package/src/project-graph/plugins/isolation/isolated-plugin.d.ts.map +1 -1
- package/src/project-graph/plugins/isolation/isolated-plugin.js +42 -35
- package/src/project-graph/project-graph.d.ts.map +1 -1
- package/src/project-graph/project-graph.js +23 -4
- package/src/project-graph/utils/project-configuration-utils.js +1 -1
- package/src/tasks-runner/running-tasks/batch-process.d.ts +0 -3
- package/src/tasks-runner/running-tasks/batch-process.d.ts.map +1 -1
- package/src/tasks-runner/running-tasks/batch-process.js +0 -7
- package/src/utils/ignore.d.ts +5 -0
- package/src/utils/ignore.d.ts.map +1 -1
- package/src/utils/ignore.js +16 -0
- package/src/utils/package-manager.d.ts.map +1 -1
- package/src/utils/package-manager.js +22 -1
- package/src/utils/plugins/output.d.ts +29 -1
- package/src/utils/plugins/output.d.ts.map +1 -1
- package/src/utils/plugins/output.js +90 -1
- package/src/utils/plugins/plugin-capabilities.d.ts +1 -0
- package/src/utils/plugins/plugin-capabilities.d.ts.map +1 -1
- package/src/utils/plugins/plugin-capabilities.js +2 -0
- package/src/native/index.d.ts +0 -553
package/.eslintrc.json
CHANGED
|
@@ -145,7 +145,9 @@
|
|
|
145
145
|
// Nx Docker plugin conditionally available dynamically at runtime
|
|
146
146
|
"@nx/docker",
|
|
147
147
|
// Only used in test-utils at the time of writing
|
|
148
|
-
"@ltd/j-toml"
|
|
148
|
+
"@ltd/j-toml",
|
|
149
|
+
// Used in WASI browser implementation (nx.wasi-browser.js)
|
|
150
|
+
"@napi-rs/wasm-runtime"
|
|
149
151
|
]
|
|
150
152
|
}
|
|
151
153
|
]
|
package/bin/nx.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
// TODO: Remove this workaround once picocolors handles FORCE_COLOR=0 correctly
|
|
5
|
+
// See: https://github.com/alexeyraspopov/picocolors/issues/100
|
|
6
|
+
if (process.env.FORCE_COLOR === '0') {
|
|
7
|
+
process.env.NO_COLOR = '1';
|
|
8
|
+
delete process.env.FORCE_COLOR;
|
|
9
|
+
}
|
|
4
10
|
const find_workspace_root_1 = require("../src/utils/find-workspace-root");
|
|
5
11
|
const pc = require("picocolors");
|
|
6
12
|
const dotenv_1 = require("../src/utils/dotenv");
|
package/migrations.json
CHANGED
|
@@ -136,6 +136,12 @@
|
|
|
136
136
|
"version": "22.1.0-beta.5",
|
|
137
137
|
"description": "Updates the nx wrapper.",
|
|
138
138
|
"implementation": "./src/migrations/update-22-1-0/update-nx-wrapper"
|
|
139
|
+
},
|
|
140
|
+
"22-7-0-add-polygraph-to-git-ignore": {
|
|
141
|
+
"cli": "nx",
|
|
142
|
+
"version": "22.7.0-beta.0",
|
|
143
|
+
"description": "Adds .nx/polygraph to .gitignore",
|
|
144
|
+
"implementation": "./src/migrations/update-22-7-0/add-polygraph-to-git-ignore"
|
|
139
145
|
}
|
|
140
146
|
}
|
|
141
147
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nx",
|
|
3
|
-
"version": "22.5.
|
|
3
|
+
"version": "22.5.4",
|
|
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": {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"jest-diff": "^30.0.2",
|
|
55
55
|
"jsonc-parser": "3.2.0",
|
|
56
56
|
"lines-and-columns": "2.0.3",
|
|
57
|
-
"minimatch": "10.
|
|
57
|
+
"minimatch": "10.2.4",
|
|
58
58
|
"node-machine-id": "1.1.12",
|
|
59
59
|
"npm-run-path": "^4.0.1",
|
|
60
60
|
"open": "^8.4.0",
|
|
@@ -84,16 +84,16 @@
|
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
"optionalDependencies": {
|
|
87
|
-
"@nx/nx-darwin-arm64": "22.5.
|
|
88
|
-
"@nx/nx-darwin-x64": "22.5.
|
|
89
|
-
"@nx/nx-freebsd-x64": "22.5.
|
|
90
|
-
"@nx/nx-linux-arm-gnueabihf": "22.5.
|
|
91
|
-
"@nx/nx-linux-arm64-gnu": "22.5.
|
|
92
|
-
"@nx/nx-linux-arm64-musl": "22.5.
|
|
93
|
-
"@nx/nx-linux-x64-gnu": "22.5.
|
|
94
|
-
"@nx/nx-linux-x64-musl": "22.5.
|
|
95
|
-
"@nx/nx-win32-arm64-msvc": "22.5.
|
|
96
|
-
"@nx/nx-win32-x64-msvc": "22.5.
|
|
87
|
+
"@nx/nx-darwin-arm64": "22.5.4",
|
|
88
|
+
"@nx/nx-darwin-x64": "22.5.4",
|
|
89
|
+
"@nx/nx-freebsd-x64": "22.5.4",
|
|
90
|
+
"@nx/nx-linux-arm-gnueabihf": "22.5.4",
|
|
91
|
+
"@nx/nx-linux-arm64-gnu": "22.5.4",
|
|
92
|
+
"@nx/nx-linux-arm64-musl": "22.5.4",
|
|
93
|
+
"@nx/nx-linux-x64-gnu": "22.5.4",
|
|
94
|
+
"@nx/nx-linux-x64-musl": "22.5.4",
|
|
95
|
+
"@nx/nx-win32-arm64-msvc": "22.5.4",
|
|
96
|
+
"@nx/nx-win32-x64-msvc": "22.5.4"
|
|
97
97
|
},
|
|
98
98
|
"nx-migrations": {
|
|
99
99
|
"migrations": "./migrations.json",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-up-ai-agents.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/ai/set-up-ai-agents/set-up-ai-agents.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS7C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"set-up-ai-agents.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/ai/set-up-ai-agents/set-up-ai-agents.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS7C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AA0B5B,OAAO,EACL,sCAAsC,EACtC,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC,CAAC;AAmCF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,4BAA4B,EACrC,KAAK,UAAQ,GACZ,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAmC5D;AAaD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAmP7C;AAqJD,eAAe,sBAAsB,CAAC"}
|
|
@@ -11,6 +11,7 @@ const generate_files_1 = require("../../generators/utils/generate-files");
|
|
|
11
11
|
const json_1 = require("../../generators/utils/json");
|
|
12
12
|
const native_1 = require("../../native");
|
|
13
13
|
const package_json_1 = require("../../utils/package-json");
|
|
14
|
+
const ignore_1 = require("../../utils/ignore");
|
|
14
15
|
const provenance_1 = require("../../utils/provenance");
|
|
15
16
|
const workspace_root_1 = require("../../utils/workspace-root");
|
|
16
17
|
const constants_1 = require("../constants");
|
|
@@ -98,6 +99,7 @@ async function setupAiAgentsGeneratorImpl(tree, options) {
|
|
|
98
99
|
...json.extraKnownMarketplaces,
|
|
99
100
|
'nx-claude-plugins': {
|
|
100
101
|
source: {
|
|
102
|
+
...json.extraKnownMarketplaces?.['nx-claude-plugins']?.source,
|
|
101
103
|
source: 'github',
|
|
102
104
|
repo: 'nrwl/nx-ai-agents-config',
|
|
103
105
|
},
|
|
@@ -181,6 +183,7 @@ async function setupAiAgentsGeneratorImpl(tree, options) {
|
|
|
181
183
|
}
|
|
182
184
|
}
|
|
183
185
|
}
|
|
186
|
+
(0, ignore_1.addEntryToGitIgnore)(tree, (0, path_1.join)(options.directory, '.gitignore'), '.nx/polygraph');
|
|
184
187
|
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
|
|
185
188
|
// we use the check variable to determine if we should actually make changes or just report what would be changed
|
|
186
189
|
return async (check = false) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/import/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/import/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,eAAO,MAAM,kBAAkB,EAAE,aAgDhC,CAAC"}
|
|
@@ -10,7 +10,7 @@ exports.yargsImportCommand = {
|
|
|
10
10
|
builder: (yargs) => (0, documentation_1.linkToNxDevAndExamples)((0, shared_options_1.withVerbose)(yargs
|
|
11
11
|
.positional('sourceRepository', {
|
|
12
12
|
type: 'string',
|
|
13
|
-
description: 'The remote URL of the source to import.',
|
|
13
|
+
description: 'The remote URL or local path of the source repository to import.',
|
|
14
14
|
})
|
|
15
15
|
.positional('destinationDirectory', {
|
|
16
16
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/list/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/list/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,eAAO,MAAM,gBAAgB,EAAE,aAkB9B,CAAC"}
|
|
@@ -4,9 +4,14 @@ exports.yargsListCommand = void 0;
|
|
|
4
4
|
exports.yargsListCommand = {
|
|
5
5
|
command: 'list [plugin]',
|
|
6
6
|
describe: 'Lists installed plugins, capabilities of installed plugins and other available plugins.',
|
|
7
|
-
builder: (yargs) => yargs
|
|
7
|
+
builder: (yargs) => yargs
|
|
8
|
+
.positional('plugin', {
|
|
8
9
|
type: 'string',
|
|
9
10
|
description: 'The name of an installed plugin to query.',
|
|
11
|
+
})
|
|
12
|
+
.option('json', {
|
|
13
|
+
type: 'boolean',
|
|
14
|
+
description: 'Output JSON.',
|
|
10
15
|
}),
|
|
11
16
|
handler: async (args) => {
|
|
12
17
|
await (await Promise.resolve().then(() => require('./list'))).listHandler(args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/list/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/list/list.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,QAAQ;IACvB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C/D"}
|
|
@@ -19,12 +19,16 @@ async function listHandler(args) {
|
|
|
19
19
|
const projectGraph = await (0, project_graph_1.createProjectGraphAsync)({ exitOnError: true });
|
|
20
20
|
const projects = (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(projectGraph);
|
|
21
21
|
if (args.plugin) {
|
|
22
|
-
await (0, plugins_1.listPluginCapabilities)(args.plugin, projects.projects);
|
|
22
|
+
await (0, plugins_1.listPluginCapabilities)(args.plugin, projects.projects, args.json);
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
const nxJson = (0, nx_json_1.readNxJson)();
|
|
26
26
|
const localPlugins = await (0, plugins_1.getLocalWorkspacePlugins)(projects, nxJson);
|
|
27
27
|
const installedPlugins = await (0, plugins_1.getInstalledPluginsAndCapabilities)(workspace_root_1.workspaceRoot, projects.projects);
|
|
28
|
+
if (args.json) {
|
|
29
|
+
console.log(JSON.stringify((0, output_2.formatPluginsAsJson)(localPlugins, installedPlugins), null, 2));
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
28
32
|
if (localPlugins.size) {
|
|
29
33
|
(0, plugins_1.listPlugins)(localPlugins, 'Local workspace plugins:');
|
|
30
34
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-locally.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/nx-cloud/apply-locally/apply-locally.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAM3E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyLocallyHandler = applyLocallyHandler;
|
|
4
|
+
const nx_json_1 = require("../../../config/nx-json");
|
|
5
|
+
const nx_cloud_utils_1 = require("../../../utils/nx-cloud-utils");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
function applyLocallyHandler(args) {
|
|
8
|
+
if (!(0, nx_cloud_utils_1.isNxCloudUsed)((0, nx_json_1.readNxJson)())) {
|
|
9
|
+
(0, utils_1.warnNotConnectedToCloud)();
|
|
10
|
+
return Promise.resolve(0);
|
|
11
|
+
}
|
|
12
|
+
return (0, utils_1.executeNxCloudCommand)('apply-locally', args.verbose);
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/nx-cloud/apply-locally/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,eAAO,MAAM,wBAAwB,EAAE,aActC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.yargsApplyLocallyCommand = void 0;
|
|
4
|
+
const shared_options_1 = require("../../yargs-utils/shared-options");
|
|
5
|
+
exports.yargsApplyLocallyCommand = {
|
|
6
|
+
command: 'apply-locally [options]',
|
|
7
|
+
describe: 'Applies a self-healing CI fix locally. This command is an alias for `nx-cloud apply-locally`.',
|
|
8
|
+
builder: (yargs) => (0, shared_options_1.withVerbose)(yargs)
|
|
9
|
+
.help(false)
|
|
10
|
+
.showHelpOnFail(false)
|
|
11
|
+
.option('help', { describe: 'Show help.', type: 'boolean' }),
|
|
12
|
+
handler: async (args) => {
|
|
13
|
+
process.exit(await (await Promise.resolve().then(() => require('./apply-locally'))).applyLocallyHandler(args));
|
|
14
|
+
},
|
|
15
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-commands.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/command-line/nx-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"nx-commands.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/command-line/nx-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4D/B,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAEzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAwDf,CAAC"}
|
|
@@ -33,11 +33,12 @@ const command_object_27 = require("./nx-cloud/start-ci-run/command-object");
|
|
|
33
33
|
const command_object_28 = require("./nx-cloud/start-agent/command-object");
|
|
34
34
|
const command_object_29 = require("./nx-cloud/complete-run/command-object");
|
|
35
35
|
const command_object_30 = require("./nx-cloud/fix-ci/command-object");
|
|
36
|
-
const command_object_31 = require("./nx-cloud/
|
|
36
|
+
const command_object_31 = require("./nx-cloud/apply-locally/command-object");
|
|
37
|
+
const command_object_32 = require("./nx-cloud/download-cloud-client/command-object");
|
|
37
38
|
const command_objects_1 = require("./deprecated/command-objects");
|
|
38
|
-
const
|
|
39
|
+
const command_object_33 = require("./sync/command-object");
|
|
39
40
|
const output_1 = require("../utils/output");
|
|
40
|
-
const
|
|
41
|
+
const command_object_34 = require("./mcp/command-object");
|
|
41
42
|
// Ensure that the output takes up the available width of the terminal.
|
|
42
43
|
yargs.wrap(yargs.terminalWidth());
|
|
43
44
|
exports.parserConfiguration = {
|
|
@@ -84,8 +85,8 @@ exports.commandsObject = yargs
|
|
|
84
85
|
.command(command_object_16.yargsRunCommand)
|
|
85
86
|
.command(command_object_17.yargsRunManyCommand)
|
|
86
87
|
.command(command_object_18.yargsShowCommand)
|
|
87
|
-
.command(
|
|
88
|
-
.command(
|
|
88
|
+
.command(command_object_33.yargsSyncCommand)
|
|
89
|
+
.command(command_object_33.yargsSyncCheckCommand)
|
|
89
90
|
.command(command_object_3.yargsViewLogsCommand)
|
|
90
91
|
.command(command_object_19.yargsWatchCommand)
|
|
91
92
|
.command(command_object_16.yargsNxInfixCommand)
|
|
@@ -96,8 +97,9 @@ exports.commandsObject = yargs
|
|
|
96
97
|
.command(command_object_28.yargsStartAgentCommand)
|
|
97
98
|
.command(command_object_29.yargsStopAllAgentsCommand)
|
|
98
99
|
.command(command_object_30.yargsFixCiCommand)
|
|
99
|
-
.command(command_object_31.
|
|
100
|
-
.command(
|
|
100
|
+
.command(command_object_31.yargsApplyLocallyCommand)
|
|
101
|
+
.command(command_object_32.yargsDownloadCloudClientCommand)
|
|
102
|
+
.command(command_object_34.yargsMcpCommand)
|
|
101
103
|
.command(resolveConformanceCommandObject())
|
|
102
104
|
.command(resolveConformanceCheckCommandObject())
|
|
103
105
|
.scriptName('nx')
|
|
@@ -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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"}
|
|
@@ -593,7 +593,7 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
593
593
|
return { error, nxReleaseConfig: null };
|
|
594
594
|
// If any project in the group has docker configuration, disable semver requirement
|
|
595
595
|
releaseGroup.releaseTag.requireSemver = false;
|
|
596
|
-
// Set preferDockerVersion
|
|
596
|
+
// Set preferDockerVersion by default when docker projects exist,
|
|
597
597
|
// unless user has explicitly configured it
|
|
598
598
|
if (releaseGroup.releaseTag.preferDockerVersion === false &&
|
|
599
599
|
userConfig.groups?.[releaseGroupName]?.releaseTag
|
|
@@ -602,7 +602,16 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
602
602
|
?.releaseTagPatternPreferDockerVersion === undefined &&
|
|
603
603
|
userConfig.releaseTag?.preferDockerVersion === undefined &&
|
|
604
604
|
userConfig.releaseTagPatternPreferDockerVersion === undefined) {
|
|
605
|
-
|
|
605
|
+
// Check if ALL projects have docker config, or just some
|
|
606
|
+
const allProjectsHaveDocker = releaseGroup.projects.every((projectName) => {
|
|
607
|
+
const projectNode = projectGraph.nodes[projectName];
|
|
608
|
+
const projectDockerConfig = projectNode?.data.release?.docker;
|
|
609
|
+
return projectDockerConfig !== undefined || !!releaseGroup.docker;
|
|
610
|
+
});
|
|
611
|
+
// Use 'both' for mixed groups so non-docker projects fall back correctly
|
|
612
|
+
releaseGroup.releaseTag.preferDockerVersion = allProjectsHaveDocker
|
|
613
|
+
? true
|
|
614
|
+
: 'both';
|
|
606
615
|
}
|
|
607
616
|
}
|
|
608
617
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RemoteRepoSlug } from './remote-release-client';
|
|
2
|
+
/**
|
|
3
|
+
* Extracts a GitHub-style repo slug (user/repo).
|
|
4
|
+
*/
|
|
5
|
+
export declare function extractGitHubRepoSlug(remoteUrl: string, expectedHostname: string): RemoteRepoSlug | null;
|
|
6
|
+
/**
|
|
7
|
+
* Extracts a GitLab-style repo slug with full nested group path.
|
|
8
|
+
*/
|
|
9
|
+
export declare function extractGitLabRepoSlug(remoteUrl: string, expectedHostname: string): RemoteRepoSlug | null;
|
|
10
|
+
//# sourceMappingURL=extract-repo-slug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-repo-slug.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/command-line/release/utils/remote-release-clients/extract-repo-slug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACvB,cAAc,GAAG,IAAI,CAEvB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,GACvB,cAAc,GAAG,IAAI,CAEvB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractGitHubRepoSlug = extractGitHubRepoSlug;
|
|
4
|
+
exports.extractGitLabRepoSlug = extractGitLabRepoSlug;
|
|
5
|
+
/**
|
|
6
|
+
* Extracts a GitHub-style repo slug (user/repo).
|
|
7
|
+
*/
|
|
8
|
+
function extractGitHubRepoSlug(remoteUrl, expectedHostname) {
|
|
9
|
+
return extractRepoSlug(remoteUrl, expectedHostname, 2);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Extracts a GitLab-style repo slug with full nested group path.
|
|
13
|
+
*/
|
|
14
|
+
function extractGitLabRepoSlug(remoteUrl, expectedHostname) {
|
|
15
|
+
return extractRepoSlug(remoteUrl, expectedHostname, Infinity);
|
|
16
|
+
}
|
|
17
|
+
const SCP_URL_REGEX = /^git@([^:]+):(.+)$/;
|
|
18
|
+
/**
|
|
19
|
+
* Extracts a repository slug from a Git remote URL.
|
|
20
|
+
* `segmentLimit` = 2 for GitHub (user/repo), `Infinity` for GitLab (with subgroups).
|
|
21
|
+
*/
|
|
22
|
+
function extractRepoSlug(remoteUrl, expectedHostname, segmentLimit) {
|
|
23
|
+
if (!remoteUrl)
|
|
24
|
+
return null;
|
|
25
|
+
// SCP-like: git@host:path
|
|
26
|
+
const scpMatch = remoteUrl.match(SCP_URL_REGEX);
|
|
27
|
+
if (scpMatch) {
|
|
28
|
+
const [, host, path] = scpMatch;
|
|
29
|
+
if (!isHostMatch(host, expectedHostname))
|
|
30
|
+
return null;
|
|
31
|
+
const segments = normalizeRepoPath(path).split('/').filter(Boolean);
|
|
32
|
+
if (segments.length < 2)
|
|
33
|
+
return null;
|
|
34
|
+
return segments.slice(0, segmentLimit).join('/');
|
|
35
|
+
}
|
|
36
|
+
// URL-like
|
|
37
|
+
try {
|
|
38
|
+
const url = new URL(remoteUrl);
|
|
39
|
+
if (!isHostMatch(url.hostname, expectedHostname))
|
|
40
|
+
return null;
|
|
41
|
+
const segments = normalizeRepoPath(url.pathname).split('/').filter(Boolean);
|
|
42
|
+
if (segments.length < 2)
|
|
43
|
+
return null;
|
|
44
|
+
return segments.slice(0, segmentLimit).join('/');
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function normalizeRepoPath(s) {
|
|
51
|
+
return s.replace(/^\/+|\/+$|\.git$/g, '');
|
|
52
|
+
}
|
|
53
|
+
function normalizeHostname(hostname) {
|
|
54
|
+
return hostname
|
|
55
|
+
.toLowerCase()
|
|
56
|
+
.replace(/^ssh\./, '')
|
|
57
|
+
.split(':')[0];
|
|
58
|
+
}
|
|
59
|
+
function isHostMatch(actual, expected) {
|
|
60
|
+
return normalizeHostname(actual) === normalizeHostname(expected);
|
|
61
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/command-line/release/utils/remote-release-clients/github.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/command-line/release/utils/remote-release-clients/github.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAOjC,MAAM,WAAW,cAAe,SAAQ,cAAc;CAAG;AAGzD,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,4BAA4B,EAAE,mCAKxC,CAAC;AAEJ,qBAAa,yBAA0B,SAAQ,mBAAmB,CAAC,mBAAmB,CAAC;IACrF,yBAAyB,SAAY;IAErC;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,mBAAmB,EAAE,KAAK,GAAG,mCAAmC,EAChE,UAAU,SAAW,GACpB,cAAc,GAAG,IAAI;IAkCxB;;OAEG;WACU,gBAAgB,CAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IA4CxD,iBAAiB,CACf,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,OAAO,GACd,WAAW;IAYR,sBAAsB,CAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAC9D,OAAO,CAAC,IAAI,CAAC;IA6BhB;;OAEG;cACa,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO1E;;OAEG;cACa,aAAa,CAC3B,aAAa,EAAE,mBAAmB,GACjC,OAAO,CAAC,GAAG,CAAC;cAQC,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,mBAAmB,GACjC,OAAO,CAAC,GAAG,CAAC;IAWf,SAAS,CAAC,yBAAyB,CACjC,oBAAoB,EAAE,oBAAoB,GACzC,MAAM;IAgBT,SAAS,CAAC,eAAe,IAAI,IAAI;IAUjC,SAAS,CAAC,gBAAgB,CACxB,eAAe,EAAE,mBAAmB,GAAG,SAAS,EAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,IAAI;cAcS,WAAW,CACzB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC;YAgDF,yBAAyB;IA6BvC;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM;cAmCjC,WAAW,CACzB,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,CAAC,EAAE,mBAAmB,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAiC/B,OAAO,CAAC,yBAAyB;CASlC"}
|
|
@@ -8,6 +8,7 @@ const node_fs_1 = require("node:fs");
|
|
|
8
8
|
const node_os_1 = require("node:os");
|
|
9
9
|
const output_1 = require("../../../../utils/output");
|
|
10
10
|
const path_1 = require("../../../../utils/path");
|
|
11
|
+
const extract_repo_slug_1 = require("./extract-repo-slug");
|
|
11
12
|
const remote_release_client_1 = require("./remote-release-client");
|
|
12
13
|
// axios types and values don't seem to match
|
|
13
14
|
const _axios = require("axios");
|
|
@@ -36,27 +37,21 @@ class GithubRemoteReleaseClient extends remote_release_client_1.RemoteReleaseCli
|
|
|
36
37
|
let apiBaseUrl = exports.defaultCreateReleaseProvider.apiBaseUrl;
|
|
37
38
|
if (createReleaseConfig !== false &&
|
|
38
39
|
typeof createReleaseConfig !== 'string') {
|
|
39
|
-
hostname = createReleaseConfig.hostname;
|
|
40
|
+
hostname = createReleaseConfig.hostname || hostname;
|
|
40
41
|
apiBaseUrl = createReleaseConfig.apiBaseUrl;
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const regex = new RegExp(regexString);
|
|
46
|
-
const match = remoteUrl.match(regex);
|
|
47
|
-
if (match && match[1]) {
|
|
48
|
-
return {
|
|
49
|
-
hostname,
|
|
50
|
-
apiBaseUrl,
|
|
51
|
-
// Ensure any trailing .git is stripped
|
|
52
|
-
slug: match[1].replace(/\.git$/, ''),
|
|
53
|
-
};
|
|
43
|
+
const slug = (0, extract_repo_slug_1.extractGitHubRepoSlug)(remoteUrl, hostname);
|
|
44
|
+
if (slug) {
|
|
45
|
+
return { hostname, apiBaseUrl, slug };
|
|
54
46
|
}
|
|
55
47
|
else {
|
|
56
48
|
throw new Error(`Could not extract "user/repo" data from the resolved remote URL: ${remoteUrl}`);
|
|
57
49
|
}
|
|
58
50
|
}
|
|
59
51
|
catch (error) {
|
|
52
|
+
if (process.env.NX_VERBOSE_LOGGING === 'true') {
|
|
53
|
+
console.error(error);
|
|
54
|
+
}
|
|
60
55
|
return null;
|
|
61
56
|
}
|
|
62
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/command-line/release/utils/remote-release-clients/gitlab.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/command-line/release/utils/remote-release-clients/gitlab.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,EAAE,CAAC;KACL,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,4BAA4B,EAAE,mCAKxC,CAAC;AAEJ,qBAAa,yBAA0B,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IAC/E,yBAAyB,SAAY;IAErC;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,mBAAmB,EAAE,KAAK,GAAG,mCAAmC,EAChE,UAAU,SAAW,GACpB,cAAc,GAAG,IAAI;IAyCxB;;OAEG;WACU,gBAAgB,CAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAmBxD,iBAAiB,CACf,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,OAAO,GACd,WAAW;IAaR,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;cAI7B,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;cASpD,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;cAWzD,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,GAAG,CAAC;IAaf;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,CACjC,qBAAqB,EAAE,oBAAoB,GAC1C,MAAM;IAKT,SAAS,CAAC,eAAe,IAAI,IAAI;IAUjC,SAAS,CAAC,gBAAgB,CACxB,eAAe,EAAE,aAAa,GAAG,SAAS,EAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,IAAI;cAgBS,WAAW,CACzB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC;YA+CF,yBAAyB;IA6BvC;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM;cAuCjC,WAAW,CACzB,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,CAAC,EAAE,aAAa,GAC9B,OAAO,CAAC,mBAAmB,CAAC;IAoC/B,OAAO,CAAC,yBAAyB;CASlC"}
|
|
@@ -5,6 +5,7 @@ const pc = require("picocolors");
|
|
|
5
5
|
const enquirer_1 = require("enquirer");
|
|
6
6
|
const node_child_process_1 = require("node:child_process");
|
|
7
7
|
const output_1 = require("../../../../utils/output");
|
|
8
|
+
const extract_repo_slug_1 = require("./extract-repo-slug");
|
|
8
9
|
const remote_release_client_1 = require("./remote-release-client");
|
|
9
10
|
exports.defaultCreateReleaseProvider = {
|
|
10
11
|
provider: 'gitlab',
|
|
@@ -31,16 +32,10 @@ class GitLabRemoteReleaseClient extends remote_release_client_1.RemoteReleaseCli
|
|
|
31
32
|
if (createReleaseConfig !== false &&
|
|
32
33
|
typeof createReleaseConfig !== 'string') {
|
|
33
34
|
hostname = createReleaseConfig.hostname || hostname;
|
|
34
|
-
apiBaseUrl = createReleaseConfig.apiBaseUrl
|
|
35
|
+
apiBaseUrl = createReleaseConfig.apiBaseUrl;
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const regexString = `${escapedHostname}[/:]([\\w.-]+/[\\w.-]+(?:/[\\w.-]+)*)(\\.git)?`;
|
|
39
|
-
const regex = new RegExp(regexString);
|
|
40
|
-
const match = remoteUrl.match(regex);
|
|
41
|
-
if (match && match[1]) {
|
|
42
|
-
// Remove trailing .git if present
|
|
43
|
-
const slug = match[1].replace(/\.git$/, '');
|
|
37
|
+
const slug = (0, extract_repo_slug_1.extractGitLabRepoSlug)(remoteUrl, hostname);
|
|
38
|
+
if (slug) {
|
|
44
39
|
// Encode the project path for use in API URLs
|
|
45
40
|
const projectId = encodeURIComponent(slug);
|
|
46
41
|
return {
|
|
@@ -16,7 +16,7 @@ export interface VersionDataEntry {
|
|
|
16
16
|
* dockerVersion will be populated if the project is a docker project and has been
|
|
17
17
|
* included within this release.
|
|
18
18
|
*/
|
|
19
|
-
dockerVersion?: string;
|
|
19
|
+
dockerVersion?: string | null;
|
|
20
20
|
/**
|
|
21
21
|
* The list of projects which depend upon the current project.
|
|
22
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
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;AAM7D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAEL,SAAS,EAGV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,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;
|
|
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;AAM7D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAEL,SAAS,EAGV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,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,GAAG,IAAI,CAAC;IAC9B;;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,EAAE,kEAAkE;IAC/E,gBAAgB,GACjB,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;CAWF;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,CA8GV;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,CAwGV;AAeD,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAcnE;AA6BD,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,GAE5B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,qBAAqB,EAAE,OAAO,CAAA;CAAE,EAAE,CAAC,CAAC,CA4C5E"}
|
|
@@ -203,14 +203,19 @@ function createGitTagValues(releaseGroups, releaseGroupToFilteredProjects, versi
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
else {
|
|
206
|
-
// Use either docker version or semver version based on preference
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
206
|
+
// Use either docker version or semver version based on preference, with null fallback
|
|
207
|
+
const version = preferDockerVersion
|
|
208
|
+
? (projectVersionData.dockerVersion ??
|
|
209
|
+
projectVersionData.newVersion)
|
|
210
|
+
: (projectVersionData.newVersion ??
|
|
211
|
+
projectVersionData.dockerVersion);
|
|
212
|
+
if (version) {
|
|
213
|
+
tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
|
|
214
|
+
version,
|
|
215
|
+
projectName: (0, git_1.sanitizeProjectNameForGitTag)(project),
|
|
216
|
+
releaseGroupName: releaseGroup.name,
|
|
217
|
+
}));
|
|
218
|
+
}
|
|
214
219
|
}
|
|
215
220
|
}
|
|
216
221
|
}
|
|
@@ -237,13 +242,16 @@ function createGitTagValues(releaseGroups, releaseGroupToFilteredProjects, versi
|
|
|
237
242
|
}
|
|
238
243
|
}
|
|
239
244
|
else {
|
|
240
|
-
// Use either docker version or semver version based on preference
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
245
|
+
// Use either docker version or semver version based on preference, with null fallback
|
|
246
|
+
const version = preferDockerVersion
|
|
247
|
+
? (projectVersionData.dockerVersion ?? projectVersionData.newVersion)
|
|
248
|
+
: (projectVersionData.newVersion ?? projectVersionData.dockerVersion);
|
|
249
|
+
if (version) {
|
|
250
|
+
tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
|
|
251
|
+
version,
|
|
252
|
+
releaseGroupName: releaseGroup.name,
|
|
253
|
+
}));
|
|
254
|
+
}
|
|
247
255
|
}
|
|
248
256
|
}
|
|
249
257
|
}
|
|
@@ -28,10 +28,10 @@ class BatchFunctionRunner {
|
|
|
28
28
|
fileChanges.forEach((fileChange) => {
|
|
29
29
|
this.pendingFiles.add(fileChange.path);
|
|
30
30
|
});
|
|
31
|
-
return this.process();
|
|
31
|
+
return this.process(true);
|
|
32
32
|
}
|
|
33
|
-
async process() {
|
|
34
|
-
if (!this.running && this.hasPending) {
|
|
33
|
+
async process(runAnyway) {
|
|
34
|
+
if (!this.running && (this.hasPending || runAnyway)) {
|
|
35
35
|
this.running = true;
|
|
36
36
|
// Clone the pending projects and files before clearing
|
|
37
37
|
const projects = new Set(this.pendingProjects);
|
|
@@ -41,7 +41,7 @@ class BatchFunctionRunner {
|
|
|
41
41
|
this.pendingFiles.clear();
|
|
42
42
|
return this.callback(projects, files).then(() => {
|
|
43
43
|
this.running = false;
|
|
44
|
-
this.process();
|
|
44
|
+
this.process(false);
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
else {
|