nx 21.6.0-canary.20250912-cfc03a2 → 21.6.0-canary.20250916-a429972
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/generators.json +6 -0
- package/package.json +11 -11
- package/schemas/nx-schema.json +14 -0
- package/src/ai/set-up-ai-agents/get-agent-rules.d.ts +2 -0
- package/src/ai/set-up-ai-agents/get-agent-rules.d.ts.map +1 -0
- package/src/ai/set-up-ai-agents/get-agent-rules.js +26 -0
- package/src/ai/set-up-ai-agents/schema.d.ts +8 -0
- package/src/ai/set-up-ai-agents/schema.json +25 -0
- package/src/ai/set-up-ai-agents/set-up-ai-agents.d.ts +6 -0
- package/src/ai/set-up-ai-agents/set-up-ai-agents.d.ts.map +1 -0
- package/src/ai/set-up-ai-agents/set-up-ai-agents.js +84 -0
- package/src/command-line/release/config/config.d.ts.map +1 -1
- package/src/command-line/release/config/config.js +3 -0
- package/src/command-line/release/version/release-group-processor.d.ts +1 -0
- package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
- package/src/command-line/release/version/release-group-processor.js +5 -0
- package/src/config/nx-json.d.ts +9 -0
- package/src/config/nx-json.d.ts.map +1 -1
- package/src/devkit-internals.d.ts +1 -1
- package/src/devkit-internals.d.ts.map +1 -1
- package/src/devkit-internals.js +2 -1
- package/src/executors/run-script/run-script.impl.d.ts.map +1 -1
- package/src/executors/run-script/run-script.impl.js +33 -8
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/tasks-runner/task-orchestrator.js +2 -2
- package/src/utils/package-json.d.ts +4 -0
- package/src/utils/package-json.d.ts.map +1 -1
- package/src/utils/package-json.js +50 -0
- package/src/utils/package-manager.d.ts +5 -1
- package/src/utils/package-manager.d.ts.map +1 -1
- package/src/utils/package-manager.js +9 -3
- package/src/utils/provenance.d.ts +3 -1
- package/src/utils/provenance.d.ts.map +1 -1
- package/src/utils/provenance.js +52 -30
package/generators.json
CHANGED
@@ -5,6 +5,12 @@
|
|
5
5
|
"schema": "./src/nx-cloud/generators/connect-to-nx-cloud/schema.json",
|
6
6
|
"description": "Connect a workspace to Nx Cloud",
|
7
7
|
"x-hidden": true
|
8
|
+
},
|
9
|
+
"set-up-ai-agents": {
|
10
|
+
"factory": "./src/ai/set-up-ai-agents/set-up-ai-agents",
|
11
|
+
"schema": "./src/ai/set-up-ai-agents/schema.json",
|
12
|
+
"description": "Sets up the Nx MCP & rule files for common AI Agents",
|
13
|
+
"hidden": true
|
8
14
|
}
|
9
15
|
}
|
10
16
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "nx",
|
3
|
-
"version": "21.6.0-canary.
|
3
|
+
"version": "21.6.0-canary.20250916-a429972",
|
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": "21.6.0-canary.
|
87
|
-
"@nx/nx-darwin-x64": "21.6.0-canary.
|
88
|
-
"@nx/nx-freebsd-x64": "21.6.0-canary.
|
89
|
-
"@nx/nx-linux-arm-gnueabihf": "21.6.0-canary.
|
90
|
-
"@nx/nx-linux-arm64-gnu": "21.6.0-canary.
|
91
|
-
"@nx/nx-linux-arm64-musl": "21.6.0-canary.
|
92
|
-
"@nx/nx-linux-x64-gnu": "21.6.0-canary.
|
93
|
-
"@nx/nx-linux-x64-musl": "21.6.0-canary.
|
94
|
-
"@nx/nx-win32-arm64-msvc": "21.6.0-canary.
|
95
|
-
"@nx/nx-win32-x64-msvc": "21.6.0-canary.
|
86
|
+
"@nx/nx-darwin-arm64": "21.6.0-canary.20250916-a429972",
|
87
|
+
"@nx/nx-darwin-x64": "21.6.0-canary.20250916-a429972",
|
88
|
+
"@nx/nx-freebsd-x64": "21.6.0-canary.20250916-a429972",
|
89
|
+
"@nx/nx-linux-arm-gnueabihf": "21.6.0-canary.20250916-a429972",
|
90
|
+
"@nx/nx-linux-arm64-gnu": "21.6.0-canary.20250916-a429972",
|
91
|
+
"@nx/nx-linux-arm64-musl": "21.6.0-canary.20250916-a429972",
|
92
|
+
"@nx/nx-linux-x64-gnu": "21.6.0-canary.20250916-a429972",
|
93
|
+
"@nx/nx-linux-x64-musl": "21.6.0-canary.20250916-a429972",
|
94
|
+
"@nx/nx-win32-arm64-msvc": "21.6.0-canary.20250916-a429972",
|
95
|
+
"@nx/nx-win32-x64-msvc": "21.6.0-canary.20250916-a429972"
|
96
96
|
},
|
97
97
|
"nx-migrations": {
|
98
98
|
"migrations": "./migrations.json",
|
package/schemas/nx-schema.json
CHANGED
@@ -858,6 +858,20 @@
|
|
858
858
|
"description": "Whether to preserve local dependency protocols (e.g. file references, or the `workspace:` protocol in package.json files) of local dependencies when updating them during versioning. This was false by default in legacy versioning, but is true by default now.",
|
859
859
|
"default": true
|
860
860
|
},
|
861
|
+
"preserveMatchingDependencyRanges": {
|
862
|
+
"type": ["boolean", "array"],
|
863
|
+
"description": "Whether to preserve matching dependency ranges when updating them during versioning. This is false by default. (e.g. The new version will be '1.2.0' and the current version range in dependents is already '^1.0.0'. Therefore, the manifest file is not updated.)",
|
864
|
+
"default": false,
|
865
|
+
"items": {
|
866
|
+
"type": "string",
|
867
|
+
"enum": [
|
868
|
+
"dependencies",
|
869
|
+
"devDependencies",
|
870
|
+
"peerDependencies",
|
871
|
+
"optionalDependencies"
|
872
|
+
]
|
873
|
+
}
|
874
|
+
},
|
861
875
|
"versionActions": {
|
862
876
|
"type": "string",
|
863
877
|
"description": "The path to the version actions implementation to use for releasing all projects by default. This can also be overridden on the release group and project levels.",
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"get-agent-rules.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/ai/set-up-ai-agents/get-agent-rules.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,UAwB7C"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getAgentRules = getAgentRules;
|
4
|
+
function getAgentRules(nxCloud) {
|
5
|
+
return `
|
6
|
+
# General Guidelines for working with Nx
|
7
|
+
|
8
|
+
- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through \`nx\` (i.e. \`nx run\`, \`nx run-many\`, \`nx affected\`) instead of using the underlying tooling directly
|
9
|
+
- You have access to the Nx MCP server and its tools, use them to help the user
|
10
|
+
- When answering questions about the repository, use the \`nx_workspace\` tool first to gain an understanding of the workspace architecture where applicable.
|
11
|
+
- When working in individual projects, use the \`nx_project_details\` mcp tool to analyze and understand the specific project structure and dependencies
|
12
|
+
- For questions around nx configuration, best practices or if you're unsure, use the \`nx_docs\` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration
|
13
|
+
- If the user needs help with an Nx configuration or project graph error, use the \`nx_workspace\` tool to get any errors
|
14
|
+
${nxCloud
|
15
|
+
? `
|
16
|
+
# CI Error Guidelines
|
17
|
+
|
18
|
+
If the user wants help with fixing an error in their CI pipeline, use the following flow:
|
19
|
+
- Retrieve the list of current CI Pipeline Executions (CIPEs) using the \`nx_cloud_cipe_details\` tool
|
20
|
+
- If there are any errors, use the \`nx_cloud_fix_cipe_failure\` tool to retrieve the logs for a specific task
|
21
|
+
- Use the task logs to see what's wrong and help the user fix their problem. Use the appropriate tools if necessary
|
22
|
+
- Make sure that the problem is fixed by running the task that you passed into the \`nx_cloud_fix_cipe_failure\` tool
|
23
|
+
`
|
24
|
+
: ''}
|
25
|
+
`;
|
26
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
3
|
+
"$id": "SetupAiAgents",
|
4
|
+
"title": "Set Up AI Agents",
|
5
|
+
"description": "Sets up the Nx MCP & rule files for common AI Agents.",
|
6
|
+
"type": "object",
|
7
|
+
"properties": {
|
8
|
+
"directory": {
|
9
|
+
"type": "string",
|
10
|
+
"description": "Directory where the AI agent configuration files will be generated",
|
11
|
+
"default": "."
|
12
|
+
},
|
13
|
+
"writeNxCloudRules": {
|
14
|
+
"type": "boolean",
|
15
|
+
"description": "Whether to write Nx Cloud rules",
|
16
|
+
"default": false
|
17
|
+
},
|
18
|
+
"packageVersion": {
|
19
|
+
"type": "string",
|
20
|
+
"description": "The version of the package to use",
|
21
|
+
"default": "latest"
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"required": ["directory"]
|
25
|
+
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { Tree } from '../../generators/tree';
|
2
|
+
import { NormalizedSetupAiAgentsGeneratorSchema, SetupAiAgentsGeneratorSchema } from './schema';
|
3
|
+
export declare function setupAiAgentsGenerator(tree: Tree, options: SetupAiAgentsGeneratorSchema, inner?: boolean): Promise<any>;
|
4
|
+
export declare function setupAiAgentsGeneratorImpl(tree: Tree, options: NormalizedSetupAiAgentsGeneratorSchema): Promise<void>;
|
5
|
+
export default setupAiAgentsGenerator;
|
6
|
+
//# sourceMappingURL=set-up-ai-agents.d.ts.map
|
@@ -0,0 +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":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAK7C,OAAO,EACL,sCAAsC,EACtC,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,4BAA4B,EACrC,KAAK,UAAQ,gBAoCd;AAYD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sCAAsC,iBAgChD;AAqBD,eAAe,sBAAsB,CAAC"}
|
@@ -0,0 +1,84 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.setupAiAgentsGenerator = setupAiAgentsGenerator;
|
4
|
+
exports.setupAiAgentsGeneratorImpl = setupAiAgentsGeneratorImpl;
|
5
|
+
const path_1 = require("path");
|
6
|
+
const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
|
7
|
+
const json_1 = require("../../generators/utils/json");
|
8
|
+
const package_json_1 = require("../../utils/package-json");
|
9
|
+
const provenance_1 = require("../../utils/provenance");
|
10
|
+
const get_agent_rules_1 = require("./get-agent-rules");
|
11
|
+
async function setupAiAgentsGenerator(tree, options, inner = false) {
|
12
|
+
const normalizedOptions = normalizeOptions(options);
|
13
|
+
// Use environment variable to force local execution
|
14
|
+
if (process.env.NX_AI_FILES_USE_LOCAL === 'true' || inner) {
|
15
|
+
return await setupAiAgentsGeneratorImpl(tree, normalizedOptions);
|
16
|
+
}
|
17
|
+
try {
|
18
|
+
await (0, provenance_1.ensurePackageHasProvenance)('nx', normalizedOptions.packageVersion);
|
19
|
+
const { tempDir, cleanup } = (0, package_json_1.installPackageToTmp)('nx', normalizedOptions.packageVersion);
|
20
|
+
let modulePath = (0, path_1.join)(tempDir, 'node_modules', 'nx', 'src/ai/set-up-ai-agents/set-up-ai-agents.js');
|
21
|
+
const module = await Promise.resolve(`${modulePath}`).then(s => require(s));
|
22
|
+
const setupAiAgentsGeneratorResult = await module.setupAiAgentsGenerator(tree, normalizedOptions, true);
|
23
|
+
cleanup();
|
24
|
+
return setupAiAgentsGeneratorResult;
|
25
|
+
}
|
26
|
+
catch (error) {
|
27
|
+
return await setupAiAgentsGeneratorImpl(tree, normalizedOptions);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
function normalizeOptions(options) {
|
31
|
+
return {
|
32
|
+
directory: options.directory,
|
33
|
+
writeNxCloudRules: options.writeNxCloudRules ?? false,
|
34
|
+
packageVersion: options.packageVersion ?? 'latest',
|
35
|
+
};
|
36
|
+
}
|
37
|
+
async function setupAiAgentsGeneratorImpl(tree, options) {
|
38
|
+
const claudePath = (0, path_1.join)(options.directory, 'CLAUDE.md');
|
39
|
+
if (!tree.exists(claudePath)) {
|
40
|
+
tree.write(claudePath, (0, get_agent_rules_1.getAgentRules)(options.writeNxCloudRules));
|
41
|
+
}
|
42
|
+
const agentsPath = (0, path_1.join)(options.directory, 'AGENTS.md');
|
43
|
+
if (!tree.exists(agentsPath)) {
|
44
|
+
tree.write(agentsPath, (0, get_agent_rules_1.getAgentRules)(options.writeNxCloudRules));
|
45
|
+
}
|
46
|
+
const mcpJsonPath = (0, path_1.join)(options.directory, '.mcp.json');
|
47
|
+
if (!tree.exists(mcpJsonPath)) {
|
48
|
+
(0, json_1.writeJson)(tree, mcpJsonPath, {});
|
49
|
+
}
|
50
|
+
(0, json_1.updateJson)(tree, mcpJsonPath, mcpConfigUpdater);
|
51
|
+
const geminiPath = (0, path_1.join)(options.directory, '.gemini', 'settings.json');
|
52
|
+
if (!tree.exists(geminiPath)) {
|
53
|
+
(0, json_1.writeJson)(tree, geminiPath, {});
|
54
|
+
}
|
55
|
+
(0, json_1.updateJson)(tree, geminiPath, mcpConfigUpdater);
|
56
|
+
// Only set contextFileName to AGENTS.md if GEMINI.md doesn't exist already to preserve existing setups
|
57
|
+
if (!tree.exists((0, path_1.join)(options.directory, 'GEMINI.md'))) {
|
58
|
+
(0, json_1.updateJson)(tree, geminiPath, (json) => ({
|
59
|
+
...json,
|
60
|
+
contextFileName: 'AGENTS.md',
|
61
|
+
}));
|
62
|
+
}
|
63
|
+
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
|
64
|
+
}
|
65
|
+
function mcpConfigUpdater(existing) {
|
66
|
+
if (existing.mcpServers) {
|
67
|
+
existing.mcpServers['nx-mcp'] = {
|
68
|
+
type: 'stdio',
|
69
|
+
command: 'npx',
|
70
|
+
args: ['nx', 'mcp'],
|
71
|
+
};
|
72
|
+
}
|
73
|
+
else {
|
74
|
+
existing.mcpServers = {
|
75
|
+
'nx-mcp': {
|
76
|
+
type: 'stdio',
|
77
|
+
command: 'npx',
|
78
|
+
args: ['nx', 'mcp'],
|
79
|
+
},
|
80
|
+
};
|
81
|
+
}
|
82
|
+
return existing;
|
83
|
+
}
|
84
|
+
exports.default = setupAiAgentsGenerator;
|
@@ -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":"AAeA,OAAO,EAEL,mBAAmB,EAEnB,sBAAsB,EACtB,4BAA4B,EAG7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAc7E,KAAK,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC;KAC7B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACxE,CAAC,CAAC;AAEH,KAAK,oBAAoB,CAAC,CAAC,IAAI;KAC5B,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;QACrC,MAAM,EAAE,YAAY,CAAC,4BAA4B,CAAC,GAAG,SAAS,CAAC;KAChE;CACF,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,GAC1C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,GAC/C,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF,KAAK,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;AACxD,KAAK,wBAAwB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;KACnD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC9D,CAAC;AACF,KAAK,8BAA8B,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI;KAClE,CAAC,IAAI,MAAM,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAClD,CAAC;AACF,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;AAC9D,KAAK,2BAA2B,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjE,CAAC;AACF,KAAK,iCAAiC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI;KACrE,CAAC,IAAI,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,8BAA8B,gBAAgB,CAAC;AAE5D,eAAO,MAAM,4BAA4B,uCACH,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,CACV,sBAAsB,GAAG;IACvB,MAAM,EAAE,oBAAoB,CAC1B,YAAY,CACV,8BAA8B,CAC5B,mBAAmB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,EACrD,WAAW,GAAG,QAAQ,CACvB,CACF,CACF,CAAC;IAEF,SAAS,EAAE,wBAAwB,CACjC,YAAY,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,EACjD,oBAAoB,GAAG,mBAAmB,CAC3C,CAAC;IAEF,mBAAmB,EAAE;QACnB,KAAK,EAAE,iCAAiC,CACtC,YAAY,CACV,2BAA2B,CACzB,YAAY,CACV,sBAAsB,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CACvD,EACD,MAAM,CACP,CACF,EACD,WAAW,CACZ,CAAC;KACH,CAAC;CACH,CACF,EAED,UAAU,GAAG,QAAQ,CACtB,GAAG;IAEF,MAAM,EAAE,YAAY,CAAC,4BAA4B,CAAC,GAAG,SAAS,CAAC;CAChE,CAAC;AAGF,MAAM,WAAW,0BAA0B;IACzC,IAAI,EACA,6BAA6B,GAC7B,mCAAmC,GACnC,4EAA4E,GAC5E,iCAAiC,GACjC,+DAA+D,GAC/D,kDAAkD,GAClD,mCAAmC,GACnC,2CAA2C,GAC3C,2CAA2C,GAC3C,+CAA+C,GAC/C,oCAAoC,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CACzC;AAGD,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,UAAU,GAAE,mBAAmB,CAAC,SAAS,CAAM,GAC9C,OAAO,CAAC;IACT,KAAK,EAAE,IAAI,GAAG,0BAA0B,CAAC;IACzC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC,CAAC,CA0yBD;AA4GD,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,0BAA0B,EACjC,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,KAAK,CAAC,CA8IhB;AAyRD;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
@@ -207,6 +207,9 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
207
207
|
specifierSource: defaultGeneratorOptions.specifierSource,
|
208
208
|
preserveLocalDependencyProtocols: userConfig.version
|
209
209
|
?.preserveLocalDependencyProtocols ?? true,
|
210
|
+
// TODO(v22): flip default to true
|
211
|
+
preserveMatchingDependencyRanges: userConfig.version
|
212
|
+
?.preserveMatchingDependencyRanges ?? false,
|
210
213
|
logUnchangedProjects: userConfig.version
|
211
214
|
?.logUnchangedProjects ?? true,
|
212
215
|
updateDependents: userConfig.version
|
@@ -16,6 +16,7 @@ export interface FinalConfigForProject {
|
|
16
16
|
fallbackCurrentVersionResolver: NxReleaseVersionConfiguration['fallbackCurrentVersionResolver'];
|
17
17
|
versionPrefix: NxReleaseVersionConfiguration['versionPrefix'];
|
18
18
|
preserveLocalDependencyProtocols: NxReleaseVersionConfiguration['preserveLocalDependencyProtocols'];
|
19
|
+
preserveMatchingDependencyRanges: NxReleaseVersionConfiguration['preserveMatchingDependencyRanges'];
|
19
20
|
versionActionsOptions: NxReleaseVersionConfiguration['versionActionsOptions'];
|
20
21
|
manifestRootsToUpdate: Array<Exclude<ManifestRootToUpdate, string>>;
|
21
22
|
dockerOptions: NxReleaseDockerConfiguration & {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"release-group-processor.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/version/release-group-processor.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"release-group-processor.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/version/release-group-processor.ts"],"names":[],"mappings":"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"}
|
@@ -852,6 +852,10 @@ Valid values are: ${version_1.validReleaseVersionPrefixes
|
|
852
852
|
const preserveLocalDependencyProtocols = projectVersionConfig?.preserveLocalDependencyProtocols ??
|
853
853
|
releaseGroupVersionConfig?.preserveLocalDependencyProtocols ??
|
854
854
|
true;
|
855
|
+
// TODO(v22): flip to true by default
|
856
|
+
const preserveMatchingDependencyRanges = projectVersionConfig?.preserveMatchingDependencyRanges ??
|
857
|
+
releaseGroupVersionConfig?.preserveMatchingDependencyRanges ??
|
858
|
+
false;
|
855
859
|
/**
|
856
860
|
* fallbackCurrentVersionResolver, defaults to disk when performing a first release, otherwise undefined
|
857
861
|
*/
|
@@ -889,6 +893,7 @@ Valid values are: ${version_1.validReleaseVersionPrefixes
|
|
889
893
|
fallbackCurrentVersionResolver,
|
890
894
|
versionPrefix,
|
891
895
|
preserveLocalDependencyProtocols,
|
896
|
+
preserveMatchingDependencyRanges,
|
892
897
|
versionActionsOptions,
|
893
898
|
manifestRootsToUpdate,
|
894
899
|
dockerOptions,
|
package/src/config/nx-json.d.ts
CHANGED
@@ -196,6 +196,15 @@ export interface NxReleaseVersionConfiguration {
|
|
196
196
|
* This was false by default in legacy versioning, but is true by default now.
|
197
197
|
*/
|
198
198
|
preserveLocalDependencyProtocols?: boolean;
|
199
|
+
/**
|
200
|
+
* Whether to preserve matching dependency ranges when updating them during versioning.
|
201
|
+
* e.g.
|
202
|
+
* The new version will be "1.2.0" and the current version range in dependents is already "^1.0.0"
|
203
|
+
* Therefore, the manifest file is not updated.
|
204
|
+
*
|
205
|
+
* This is false by default.
|
206
|
+
*/
|
207
|
+
preserveMatchingDependencyRanges?: boolean | Array<'dependencies' | 'devDependencies' | 'peerDependencies' | 'optionalDependencies'>;
|
199
208
|
}
|
200
209
|
export interface NxReleaseChangelogConfiguration {
|
201
210
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nx-json.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/config/nx-json.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"nx-json.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/config/nx-json.ts"],"names":[],"mappings":"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"}
|
@@ -14,7 +14,7 @@ export { splitTarget } from './utils/split-target';
|
|
14
14
|
export { combineOptionsForExecutor } from './utils/params';
|
15
15
|
export { sortObjectByKeys } from './utils/object-sort';
|
16
16
|
export { stripIndent } from './utils/logger';
|
17
|
-
export { readModulePackageJson } from './utils/package-json';
|
17
|
+
export { readModulePackageJson, installPackageToTmp, } from './utils/package-json';
|
18
18
|
export { splitByColons } from './utils/split-target';
|
19
19
|
export { hashObject } from './hasher/file-hasher';
|
20
20
|
export { hashWithWorkspaceContext, hashMultiGlobWithWorkspaceContext, } from './utils/workspace-context';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"devkit-internals.d.ts","sourceRoot":"","sources":["../../../../packages/nx/src/devkit-internals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,gDAAgD,EAAE,MAAM,gDAAgD,CAAC;AAClH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAC9F,OAAO,EACL,oCAAoC,EACpC,uBAAuB,GACxB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,
|
1
|
+
{"version":3,"file":"devkit-internals.d.ts","sourceRoot":"","sources":["../../../../packages/nx/src/devkit-internals.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,gDAAgD,EAAE,MAAM,gDAAgD,CAAC;AAClH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAC9F,OAAO,EACL,oCAAoC,EACpC,uBAAuB,GACxB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,wBAAwB,EACxB,iCAAiC,GAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kDAAkD,EAClD,kBAAkB,GACnB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/src/devkit-internals.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.isUsingPrettierInTree = exports.isCI = exports.interpolate = exports.registerTsProject = exports.LoadedNxPlugin = exports.retrieveProjectConfigurations = exports.findProjectForPath = exports.createProjectRootMappingsFromProjectConfigurations = exports.hashMultiGlobWithWorkspaceContext = exports.hashWithWorkspaceContext = exports.hashObject = exports.splitByColons = exports.readModulePackageJson = exports.stripIndent = exports.sortObjectByKeys = exports.combineOptionsForExecutor = exports.splitTarget = exports.findMatchingConfigFiles = exports.readProjectConfigurationsFromRootMap = exports.mergeTargetConfigurations = exports.retrieveProjectConfigurationsWithAngularProjects = exports.calculateDefaultProjectName = exports.readNxJsonFromDisk = exports.parseExecutor = exports.getExecutorInformation = exports.createTempNpmDirectory = void 0;
|
3
|
+
exports.isUsingPrettierInTree = exports.isCI = exports.interpolate = exports.registerTsProject = exports.LoadedNxPlugin = exports.retrieveProjectConfigurations = exports.findProjectForPath = exports.createProjectRootMappingsFromProjectConfigurations = exports.hashMultiGlobWithWorkspaceContext = exports.hashWithWorkspaceContext = exports.hashObject = exports.splitByColons = exports.installPackageToTmp = exports.readModulePackageJson = exports.stripIndent = exports.sortObjectByKeys = exports.combineOptionsForExecutor = exports.splitTarget = exports.findMatchingConfigFiles = exports.readProjectConfigurationsFromRootMap = exports.mergeTargetConfigurations = exports.retrieveProjectConfigurationsWithAngularProjects = exports.calculateDefaultProjectName = exports.readNxJsonFromDisk = exports.parseExecutor = exports.getExecutorInformation = exports.createTempNpmDirectory = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
/**
|
6
6
|
* Note to developers: STOP! These exports are available via requireNx in @nx/devkit.
|
@@ -33,6 +33,7 @@ var logger_1 = require("./utils/logger");
|
|
33
33
|
Object.defineProperty(exports, "stripIndent", { enumerable: true, get: function () { return logger_1.stripIndent; } });
|
34
34
|
var package_json_1 = require("./utils/package-json");
|
35
35
|
Object.defineProperty(exports, "readModulePackageJson", { enumerable: true, get: function () { return package_json_1.readModulePackageJson; } });
|
36
|
+
Object.defineProperty(exports, "installPackageToTmp", { enumerable: true, get: function () { return package_json_1.installPackageToTmp; } });
|
36
37
|
var split_target_2 = require("./utils/split-target");
|
37
38
|
Object.defineProperty(exports, "splitByColons", { enumerable: true, get: function () { return split_target_2.splitByColons; } });
|
38
39
|
var file_hasher_1 = require("./hasher/file-hasher");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"run-script.impl.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/run-script/run-script.impl.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"run-script.impl.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/run-script/run-script.impl.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AASpE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,yBACE,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,eAAe;;GA6BzB"}
|
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = default_1;
|
4
4
|
const child_process_1 = require("child_process");
|
5
5
|
const path = require("path");
|
6
|
+
const treeKill = require("tree-kill");
|
6
7
|
const pseudo_terminal_1 = require("../../tasks-runner/pseudo-terminal");
|
7
8
|
const package_manager_1 = require("../../utils/package-manager");
|
9
|
+
const LARGE_BUFFER = 1024 * 1000000;
|
8
10
|
async function default_1(options, context) {
|
9
11
|
const pm = (0, package_manager_1.getPackageManagerCommand)();
|
10
12
|
try {
|
@@ -22,7 +24,7 @@ async function default_1(options, context) {
|
|
22
24
|
await ptyProcess(command, cwd, env);
|
23
25
|
}
|
24
26
|
else {
|
25
|
-
nodeProcess(command, cwd, env);
|
27
|
+
await nodeProcess(command, cwd, env);
|
26
28
|
}
|
27
29
|
return { success: true };
|
28
30
|
}
|
@@ -31,19 +33,42 @@ async function default_1(options, context) {
|
|
31
33
|
}
|
32
34
|
}
|
33
35
|
function nodeProcess(command, cwd, env) {
|
34
|
-
(
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
return new Promise((res, rej) => {
|
37
|
+
let cp = (0, child_process_1.exec)(command, { cwd, env, maxBuffer: LARGE_BUFFER, windowsHide: false }, (error) => {
|
38
|
+
if (error) {
|
39
|
+
rej(error);
|
40
|
+
}
|
41
|
+
else {
|
42
|
+
res();
|
43
|
+
}
|
44
|
+
});
|
45
|
+
// Forward stdout/stderr to parent process
|
46
|
+
cp.stdout.pipe(process.stdout);
|
47
|
+
cp.stderr.pipe(process.stderr);
|
48
|
+
const exitHandler = (signal) => {
|
49
|
+
if (cp && cp.pid && !cp.killed) {
|
50
|
+
treeKill(cp.pid, signal, (error) => {
|
51
|
+
// On Windows, tree-kill (which uses taskkill) may fail when the process or its child process is already terminated.
|
52
|
+
// Ignore the errors, otherwise we will log them unnecessarily.
|
53
|
+
if (error && process.platform !== 'win32') {
|
54
|
+
rej(error);
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
res();
|
58
|
+
}
|
59
|
+
});
|
60
|
+
}
|
61
|
+
};
|
62
|
+
process.on('SIGINT', () => exitHandler('SIGINT'));
|
63
|
+
process.on('SIGTERM', () => exitHandler('SIGTERM'));
|
64
|
+
process.on('SIGHUP', () => exitHandler('SIGHUP'));
|
39
65
|
});
|
40
66
|
}
|
41
|
-
let cp;
|
42
67
|
async function ptyProcess(command, cwd, env) {
|
43
68
|
const terminal = (0, pseudo_terminal_1.createPseudoTerminal)();
|
44
69
|
await terminal.init();
|
45
70
|
return new Promise((res, rej) => {
|
46
|
-
cp = terminal.runCommand(command, { cwd, jsEnv: env });
|
71
|
+
let cp = terminal.runCommand(command, { cwd, jsEnv: env });
|
47
72
|
cp.onExit((code) => {
|
48
73
|
if (code === 0) {
|
49
74
|
res();
|
Binary file
|
@@ -667,7 +667,7 @@ class TaskOrchestrator {
|
|
667
667
|
...Array.from(this.runningContinuousTasks).map(async ([taskId, t]) => {
|
668
668
|
try {
|
669
669
|
await t.kill();
|
670
|
-
this.options.lifeCycle.setTaskStatus(taskId, 9 /* NativeTaskStatus.Stopped */);
|
670
|
+
this.options.lifeCycle.setTaskStatus?.(taskId, 9 /* NativeTaskStatus.Stopped */);
|
671
671
|
}
|
672
672
|
catch (e) {
|
673
673
|
console.error(`Unable to terminate ${taskId}\nError:`, e);
|
@@ -700,7 +700,7 @@ class TaskOrchestrator {
|
|
700
700
|
const runningTask = this.runningContinuousTasks.get(taskId);
|
701
701
|
if (runningTask) {
|
702
702
|
runningTask.kill();
|
703
|
-
this.options.lifeCycle.setTaskStatus(taskId, 9 /* NativeTaskStatus.Stopped */);
|
703
|
+
this.options.lifeCycle.setTaskStatus?.(taskId, 9 /* NativeTaskStatus.Stopped */);
|
704
704
|
}
|
705
705
|
}
|
706
706
|
}
|
@@ -104,5 +104,9 @@ export declare function readModulePackageJson(moduleSpecifier: string, requirePa
|
|
104
104
|
packageJson: PackageJson;
|
105
105
|
path: string;
|
106
106
|
};
|
107
|
+
export declare function installPackageToTmp(pkg: string, requiredVersion: string): {
|
108
|
+
tempDir: string;
|
109
|
+
cleanup: () => void;
|
110
|
+
};
|
107
111
|
export {};
|
108
112
|
//# sourceMappingURL=package-json.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-json.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACpB,MAAM,uCAAuC,CAAC;AAI/C,OAAO,
|
1
|
+
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-json.ts"],"names":[],"mappings":"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"}
|
@@ -8,12 +8,15 @@ exports.getTagsFromPackageJson = getTagsFromPackageJson;
|
|
8
8
|
exports.readTargetsFromPackageJson = readTargetsFromPackageJson;
|
9
9
|
exports.readModulePackageJsonWithoutFallbacks = readModulePackageJsonWithoutFallbacks;
|
10
10
|
exports.readModulePackageJson = readModulePackageJson;
|
11
|
+
exports.installPackageToTmp = installPackageToTmp;
|
11
12
|
const fs_1 = require("fs");
|
12
13
|
const path_1 = require("path");
|
13
14
|
const project_configuration_utils_1 = require("../project-graph/utils/project-configuration-utils");
|
14
15
|
const fileutils_1 = require("./fileutils");
|
15
16
|
const installation_directory_1 = require("./installation-directory");
|
16
17
|
const package_manager_1 = require("./package-manager");
|
18
|
+
const tmp_1 = require("tmp");
|
19
|
+
const child_process_1 = require("child_process");
|
17
20
|
function normalizePackageGroup(packageGroup) {
|
18
21
|
return Array.isArray(packageGroup)
|
19
22
|
? packageGroup.map((x) => typeof x === 'string' ? { package: x, version: '*' } : x)
|
@@ -191,3 +194,50 @@ function readModulePackageJson(moduleSpecifier, requirePaths = (0, installation_
|
|
191
194
|
path: packageJsonPath,
|
192
195
|
};
|
193
196
|
}
|
197
|
+
function installPackageToTmp(pkg, requiredVersion) {
|
198
|
+
const { dir: tempDir, cleanup } = (0, package_manager_1.createTempNpmDirectory)?.() ?? {
|
199
|
+
dir: (0, tmp_1.dirSync)().name,
|
200
|
+
cleanup: () => { },
|
201
|
+
};
|
202
|
+
console.log(`Fetching ${pkg}...`);
|
203
|
+
const packageManager = (0, package_manager_1.detectPackageManager)();
|
204
|
+
const isVerbose = process.env.NX_VERBOSE_LOGGING === 'true';
|
205
|
+
generatePackageManagerFiles(tempDir, packageManager);
|
206
|
+
const preInstallCommand = (0, package_manager_1.getPackageManagerCommand)(packageManager).preInstall;
|
207
|
+
if (preInstallCommand) {
|
208
|
+
// ensure package.json and repo in tmp folder is set to a proper package manager state
|
209
|
+
(0, child_process_1.execSync)(preInstallCommand, {
|
210
|
+
cwd: tempDir,
|
211
|
+
stdio: isVerbose ? 'inherit' : 'ignore',
|
212
|
+
windowsHide: false,
|
213
|
+
});
|
214
|
+
}
|
215
|
+
const pmCommands = (0, package_manager_1.getPackageManagerCommand)(packageManager);
|
216
|
+
let addCommand = pmCommands.addDev;
|
217
|
+
if (packageManager === 'pnpm') {
|
218
|
+
addCommand = 'pnpm add -D'; // we need to ensure that we are not using workspace command
|
219
|
+
}
|
220
|
+
(0, child_process_1.execSync)(`${addCommand} ${pkg}@${requiredVersion} ${pmCommands.ignoreScriptsFlag ?? ''}`, {
|
221
|
+
cwd: tempDir,
|
222
|
+
stdio: isVerbose ? 'inherit' : 'ignore',
|
223
|
+
windowsHide: false,
|
224
|
+
});
|
225
|
+
return {
|
226
|
+
tempDir,
|
227
|
+
cleanup,
|
228
|
+
};
|
229
|
+
}
|
230
|
+
/**
|
231
|
+
* Generates necessary files needed for the package manager to work
|
232
|
+
* and for the node_modules to be accessible.
|
233
|
+
*/
|
234
|
+
function generatePackageManagerFiles(root, packageManager = (0, package_manager_1.detectPackageManager)()) {
|
235
|
+
const [pmMajor] = (0, package_manager_1.getPackageManagerVersion)(packageManager).split('.');
|
236
|
+
switch (packageManager) {
|
237
|
+
case 'yarn':
|
238
|
+
if (+pmMajor >= 2) {
|
239
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(root, '.yarnrc.yml'), 'nodeLinker: node-modules\nenableScripts: false');
|
240
|
+
}
|
241
|
+
break;
|
242
|
+
}
|
243
|
+
}
|
@@ -81,8 +81,12 @@ export declare function copyPackageManagerConfigurationFiles(root: string, desti
|
|
81
81
|
* For cases where you'd want to install packages that require an `.npmrc` set up,
|
82
82
|
* this function looks up for the nearest `.npmrc` (if exists) and copies it over to the
|
83
83
|
* temp directory.
|
84
|
+
*
|
85
|
+
* @param skipCopy - If true, skips copying package manager configuration files to the temporary directory.
|
86
|
+
* This is useful when creating a workspace from scratch (e.g., in create-nx-workspace)
|
87
|
+
* where no existing configuration files are available to copy.
|
84
88
|
*/
|
85
|
-
export declare function createTempNpmDirectory(): {
|
89
|
+
export declare function createTempNpmDirectory(skipCopy?: boolean): {
|
86
90
|
dir: string;
|
87
91
|
cleanup: () => Promise<void>;
|
88
92
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-manager.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAE/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,CACP,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EACzB,GAAG,EAAE,MAAM,KACR,MAAM,CAAC;IAEZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAW,GAAG,cAAc,CAYrE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,GAAE,cAAuC,EACvD,IAAI,GAAE,MAAsB,GAC3B,OAAO,CAmBT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,GAAE,cAAuC,EACvD,IAAI,GAAE,MAAsB,GAC3B,sBAAsB,CAiIxB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,GAAE,cAAuC,EACvD,GAAG,SAAgB,GAClB,MAAM,CAwBR;AAED,wBAAgB,mCAAmC,CACjD,uBAAuB,EAAE,MAAM,EAC/B,wBAAwB,EAAE,MAAM,GAAG,SAAS,GAC3C,IAAI,GAAG,MAAM,CAkBf;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAsB,GAChC,MAAM,GAAG,IAAI,CAUf;AAED;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkBzE;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOtE;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,QAuCpB;AAED
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-manager.ts"],"names":[],"mappings":"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"}
|
@@ -339,13 +339,19 @@ function copyPackageManagerConfigurationFiles(root, destination) {
|
|
339
339
|
* For cases where you'd want to install packages that require an `.npmrc` set up,
|
340
340
|
* this function looks up for the nearest `.npmrc` (if exists) and copies it over to the
|
341
341
|
* temp directory.
|
342
|
+
*
|
343
|
+
* @param skipCopy - If true, skips copying package manager configuration files to the temporary directory.
|
344
|
+
* This is useful when creating a workspace from scratch (e.g., in create-nx-workspace)
|
345
|
+
* where no existing configuration files are available to copy.
|
342
346
|
*/
|
343
|
-
function createTempNpmDirectory() {
|
347
|
+
function createTempNpmDirectory(skipCopy = false) {
|
344
348
|
const dir = (0, tmp_1.dirSync)().name;
|
345
349
|
// A package.json is needed for pnpm pack and for .npmrc to resolve
|
346
350
|
(0, fileutils_1.writeJsonFile)(`${dir}/package.json`, {});
|
347
|
-
|
348
|
-
|
351
|
+
if (!skipCopy) {
|
352
|
+
const isNonJs = !(0, fs_1.existsSync)((0, path_1.join)(workspace_root_1.workspaceRoot, 'package.json'));
|
353
|
+
copyPackageManagerConfigurationFiles(isNonJs ? (0, installation_directory_1.getNxInstallationPath)(workspace_root_1.workspaceRoot) : workspace_root_1.workspaceRoot, dir);
|
354
|
+
}
|
349
355
|
const cleanup = async () => {
|
350
356
|
try {
|
351
357
|
await (0, promises_1.rm)(dir, { recursive: true, force: true });
|
@@ -1,5 +1,7 @@
|
|
1
1
|
export declare function ensurePackageHasProvenance(packageName: string, packageVersion: string): Promise<void>;
|
2
|
-
export declare
|
2
|
+
export declare class ProvenanceError extends Error {
|
3
|
+
constructor(packageName: string, packageVersion: string, error?: string);
|
4
|
+
}
|
3
5
|
export declare function getNxPackageGroup(): string[];
|
4
6
|
export type DecodedAttestationPayload = {
|
5
7
|
_type: 'https://in-toto.io/Statement/v1';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/provenance.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/provenance.ts"],"names":[],"mappings":"AAaA,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA+Gf;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAOxE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAa5C;AAoBD,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,iCAAiC,CAAC;IACzC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,aAAa,EAAE,gCAAgC,CAAC;IAChD,SAAS,EAAE;QACT,eAAe,EAAE;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACzC,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,CAAC;SAC7C,CAAC;QACF,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,EAAE,EAAE,MAAM,CAAC;gBACX,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;gBAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aAClC,CAAC;YACF,QAAQ,CAAC,EAAE;gBACT,YAAY,CAAC,EAAE,MAAM,CAAC;gBACtB,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,UAAU,CAAC,EAAE,MAAM,CAAC;aACrB,CAAC;YACF,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;SACnC,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH"}
|
package/src/utils/provenance.js
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.ProvenanceError = void 0;
|
4
4
|
exports.ensurePackageHasProvenance = ensurePackageHasProvenance;
|
5
5
|
exports.getNxPackageGroup = getNxPackageGroup;
|
6
6
|
const child_process_1 = require("child_process");
|
7
7
|
const path_1 = require("path");
|
8
8
|
const util_1 = require("util");
|
9
9
|
const fileutils_1 = require("./fileutils");
|
10
|
+
const os_1 = require("os");
|
10
11
|
/*
|
11
12
|
* Verifies that the given npm package has provenance attestations
|
12
13
|
* generated by the GitHub Actions workflow at .github/workflows/publish.yml
|
@@ -21,42 +22,63 @@ async function ensurePackageHasProvenance(packageName, packageVersion) {
|
|
21
22
|
return;
|
22
23
|
}
|
23
24
|
const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
25
|
+
try {
|
26
|
+
const result = await execFileAsync((0, os_1.platform)() === 'win32' ? 'npm.cmd' : 'npm', ['view', `${packageName}@${packageVersion}`, '--json', '--silent'], {
|
27
|
+
timeout: 20000,
|
28
|
+
});
|
29
|
+
const npmViewResult = JSON.parse(result.stdout.trim());
|
30
|
+
const attURL = npmViewResult.dist?.attestations?.url;
|
31
|
+
if (!attURL)
|
32
|
+
throw new ProvenanceError(packageName, packageVersion, 'No attestation URL found');
|
33
|
+
const response = await fetch(attURL);
|
34
|
+
if (!response.ok) {
|
35
|
+
throw new ProvenanceError(packageName, packageVersion, `HTTP ${response.status}: ${response.statusText}`);
|
36
|
+
}
|
37
|
+
const attestations = (await response.json());
|
38
|
+
const provenanceAttestation = attestations?.attestations?.find((a) => a.predicateType === 'https://slsa.dev/provenance/v1');
|
39
|
+
const dsseEnvelopePayload = JSON.parse(Buffer.from(provenanceAttestation.bundle.dsseEnvelope.payload, 'base64').toString());
|
40
|
+
const workflowParameters = dsseEnvelopePayload?.predicate?.buildDefinition?.externalParameters
|
41
|
+
?.workflow;
|
42
|
+
// verify that provenance was actually generated from the right publishing workflow
|
43
|
+
if (!workflowParameters) {
|
44
|
+
throw new ProvenanceError(packageName, packageVersion, 'Missing workflow parameters in attestation');
|
45
|
+
}
|
46
|
+
if (workflowParameters.repository !== 'https://github.com/nrwl/nx') {
|
47
|
+
throw new ProvenanceError(packageName, packageVersion, 'Repository does not match nrwl/nx');
|
48
|
+
}
|
49
|
+
if (workflowParameters.path !== '.github/workflows/publish.yml') {
|
50
|
+
throw new ProvenanceError(packageName, packageVersion, 'Publishing workflow does not match .github/workflows/publish.yml');
|
51
|
+
}
|
52
|
+
if (workflowParameters.ref !== `refs/tags/${npmViewResult.version}`) {
|
53
|
+
throw new ProvenanceError(packageName, packageVersion, `Version ref does not match refs/tags/${npmViewResult.version}`);
|
54
|
+
}
|
55
|
+
// verify that provenance was generated from the exact same artifact as the one we are installing
|
56
|
+
const distSha = Buffer.from(npmViewResult.dist.integrity.replace('sha512-', ''), 'base64').toString('hex');
|
57
|
+
const attestationSha = dsseEnvelopePayload.subject[0].digest.sha512;
|
58
|
+
if (distSha !== attestationSha) {
|
59
|
+
throw new ProvenanceError(packageName, packageVersion, 'Integrity hash does not match attestation hash');
|
60
|
+
}
|
61
|
+
return;
|
43
62
|
}
|
44
|
-
|
45
|
-
|
63
|
+
catch (error) {
|
64
|
+
if (error instanceof ProvenanceError) {
|
65
|
+
throw error;
|
66
|
+
}
|
67
|
+
throw new ProvenanceError(packageName, packageVersion, error.message || error);
|
46
68
|
}
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
throw (0, exports.noProvenanceError)(packageName, packageVersion, 'Integrity hash does not match attestation hash');
|
69
|
+
}
|
70
|
+
class ProvenanceError extends Error {
|
71
|
+
constructor(packageName, packageVersion, error) {
|
72
|
+
super(`An error occurred while checking the provenance of ${packageName}@${packageVersion}. This could indicate a security risk. Please double check https://www.npmjs.com/package/${packageName} to see if the package is published correctly or file an issue at https://github.com/nrwl/nx/issues. To disable this check at your own risk, you can set the NX_SKIP_PROVENANCE_CHECK environment variable to true. \n Error: ${error ?? ''}`);
|
52
73
|
}
|
53
|
-
return;
|
54
74
|
}
|
55
|
-
|
56
|
-
exports.noProvenanceError = noProvenanceError;
|
75
|
+
exports.ProvenanceError = ProvenanceError;
|
57
76
|
function getNxPackageGroup() {
|
58
77
|
const packageJsonPath = (0, path_1.join)(__dirname, '../../package.json');
|
59
78
|
const packageJson = (0, fileutils_1.readJsonFile)(packageJsonPath);
|
79
|
+
if (!packageJson['nx-migrations']?.packageGroup) {
|
80
|
+
return ['nx'];
|
81
|
+
}
|
60
82
|
const packages = packageJson['nx-migrations'].packageGroup.filter((dep) => typeof dep === 'string' && dep.startsWith('@nx/'));
|
61
83
|
packages.push('nx');
|
62
84
|
return packages;
|