@angular/cli 22.0.0-rc.0 → 22.0.0-rc.2
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/bin/ng.js +1 -1
- package/package.json +14 -14
- package/src/commands/mcp/ARCHITECTURE.md +117 -0
- package/src/commands/mcp/DESIGN.md +266 -0
- package/src/commands/mcp/LLM_ERGONOMICS.md +258 -0
- package/src/commands/mcp/devserver.d.ts +1 -1
- package/src/commands/mcp/devserver.js +5 -8
- package/src/commands/mcp/devserver.js.map +1 -1
- package/src/commands/mcp/host.d.ts +9 -5
- package/src/commands/mcp/host.js +37 -22
- package/src/commands/mcp/host.js.map +1 -1
- package/src/commands/mcp/mcp-server.d.ts +8 -42
- package/src/commands/mcp/mcp-server.js +20 -25
- package/src/commands/mcp/mcp-server.js.map +1 -1
- package/src/commands/mcp/resources/best-practices.md +0 -1
- package/src/commands/mcp/tools/best-practices.js +9 -17
- package/src/commands/mcp/tools/best-practices.js.map +1 -1
- package/src/commands/mcp/tools/doc-search.js +11 -33
- package/src/commands/mcp/tools/doc-search.js.map +1 -1
- package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.d.ts +2 -1
- package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js +2 -2
- package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js.map +1 -1
- package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.d.ts +3 -2
- package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js +8 -8
- package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js.map +1 -1
- package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.d.ts +2 -1
- package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js +2 -3
- package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js.map +1 -1
- package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.d.ts +2 -1
- package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js +29 -41
- package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js.map +1 -1
- package/src/commands/mcp/tools/projects.d.ts +1 -0
- package/src/commands/mcp/tools/projects.js +15 -18
- package/src/commands/mcp/tools/projects.js.map +1 -1
- package/src/commands/mcp/tools/run-target/build-target-strategy.d.ts +14 -0
- package/src/commands/mcp/tools/run-target/build-target-strategy.js +53 -0
- package/src/commands/mcp/tools/run-target/build-target-strategy.js.map +1 -0
- package/src/commands/mcp/tools/run-target/generic-target-strategy.d.ts +14 -0
- package/src/commands/mcp/tools/run-target/generic-target-strategy.js +63 -0
- package/src/commands/mcp/tools/run-target/generic-target-strategy.js.map +1 -0
- package/src/commands/mcp/tools/run-target/options-serializer.d.ts +13 -0
- package/src/commands/mcp/tools/run-target/options-serializer.js +41 -0
- package/src/commands/mcp/tools/run-target/options-serializer.js.map +1 -0
- package/src/commands/mcp/tools/run-target/run-target.d.ts +34 -0
- package/src/commands/mcp/tools/run-target/run-target.js +69 -0
- package/src/commands/mcp/tools/run-target/run-target.js.map +1 -0
- package/src/commands/mcp/tools/run-target/strategy.d.ts +15 -0
- package/src/commands/mcp/tools/run-target/strategy.js +10 -0
- package/src/commands/mcp/tools/run-target/strategy.js.map +1 -0
- package/src/commands/mcp/tools/run-target/types.d.ts +39 -0
- package/src/commands/mcp/tools/run-target/types.js +41 -0
- package/src/commands/mcp/tools/run-target/types.js.map +1 -0
- package/src/commands/mcp/tools/run-target/unit-test-strategy.d.ts +14 -0
- package/src/commands/mcp/tools/run-target/unit-test-strategy.js +56 -0
- package/src/commands/mcp/tools/run-target/unit-test-strategy.js.map +1 -0
- package/src/utilities/node-version.js +1 -1
- package/src/utilities/version.js +1 -1
- package/src/commands/mcp/tools/build.d.ts +0 -37
- package/src/commands/mcp/tools/build.js +0 -90
- package/src/commands/mcp/tools/build.js.map +0 -1
- package/src/commands/mcp/tools/e2e.d.ts +0 -44
- package/src/commands/mcp/tools/e2e.js +0 -88
- package/src/commands/mcp/tools/e2e.js.map +0 -1
- package/src/commands/mcp/tools/test.d.ts +0 -35
- package/src/commands/mcp/tools/test.js +0 -88
- package/src/commands/mcp/tools/test.js.map +0 -1
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.ZONELESS_MIGRATION_TOOL = void 0;
|
|
11
11
|
exports.registerZonelessMigrationTool = registerZonelessMigrationTool;
|
|
12
|
-
const
|
|
13
|
-
const promises_1 = require("node:fs/promises");
|
|
12
|
+
const node_path_1 = require("node:path");
|
|
14
13
|
const zod_1 = require("zod");
|
|
15
14
|
const tool_registry_1 = require("../tool-registry");
|
|
16
15
|
const analyze_for_unsupported_zone_uses_1 = require("./analyze-for-unsupported-zone-uses");
|
|
@@ -24,46 +23,34 @@ exports.ZONELESS_MIGRATION_TOOL = (0, tool_registry_1.declareTool)({
|
|
|
24
23
|
title: 'Plan migration to OnPush and/or zoneless',
|
|
25
24
|
description: `
|
|
26
25
|
<Purpose>
|
|
27
|
-
Analyzes Angular code and provides a step-by-step, iterative plan to migrate it to
|
|
28
|
-
change detection
|
|
29
|
-
most important action to take in the migration journey.
|
|
26
|
+
Analyzes Angular code and provides a step-by-step, iterative plan to migrate it to 'OnPush'
|
|
27
|
+
change detection (a prerequisite for zoneless applications).
|
|
30
28
|
</Purpose>
|
|
31
29
|
<Use Cases>
|
|
32
|
-
*
|
|
33
|
-
|
|
34
|
-
*
|
|
35
|
-
would block a zoneless migration.
|
|
36
|
-
* **Generating Component Migrations:** Getting the exact instructions for converting a single
|
|
37
|
-
component from the default change detection strategy to \`OnPush\`.
|
|
30
|
+
* Generating component-specific migrations from default change detection to OnPush.
|
|
31
|
+
* Checking a component or directory for unsupported 'NgZone' APIs blocking a zoneless migration.
|
|
32
|
+
* Iterative step-by-step guide for executing a complete zoneless migration.
|
|
38
33
|
</Use Cases>
|
|
39
34
|
<Operational Notes>
|
|
40
|
-
*
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*
|
|
44
|
-
applying the suggested fix after each call, until the tool indicates that no more actions are
|
|
45
|
-
needed.
|
|
46
|
-
* **Relationship to other migrations:** This tool is the specialized starting point for the zoneless/OnPush
|
|
47
|
-
migration. For other migrations (like signal inputs), you should run the corresponding schematics first,
|
|
48
|
-
as the zoneless migration may depend on them as prerequisites.
|
|
49
|
-
* **Input:** The tool can operate on either a single file or an entire directory. Provide the
|
|
50
|
-
absolute path.
|
|
35
|
+
* This tool is strictly read-only and does NOT modify code. It outputs EXACTLY ONE actionable step at a time.
|
|
36
|
+
* You must apply the suggested code edit, verify it, and then call this tool again to receive the next step in the migration journey.
|
|
37
|
+
* Run modernization schematics (e.g., Signal Inputs migrations) as prerequisites before starting this migration.
|
|
38
|
+
* Supported inputs: Absolute path to a single component/test file, or a directory containing multiple files.
|
|
51
39
|
</Operational Notes>`,
|
|
52
40
|
isReadOnly: true,
|
|
53
41
|
isLocalOnly: true,
|
|
54
42
|
inputSchema: {
|
|
55
43
|
fileOrDirPath: zod_1.z
|
|
56
44
|
.string()
|
|
57
|
-
.describe('
|
|
58
|
-
' The contents are read with fs.readFileSync.'),
|
|
45
|
+
.describe('Absolute path to the TypeScript file or directory containing components/directives to migrate.'),
|
|
59
46
|
},
|
|
60
|
-
factory: () => ({ fileOrDirPath }, requestHandlerExtra) => registerZonelessMigrationTool(fileOrDirPath, requestHandlerExtra),
|
|
47
|
+
factory: ({ host }) => ({ fileOrDirPath }, requestHandlerExtra) => registerZonelessMigrationTool(fileOrDirPath, host, requestHandlerExtra),
|
|
61
48
|
});
|
|
62
|
-
async function registerZonelessMigrationTool(fileOrDirPath, extras) {
|
|
49
|
+
async function registerZonelessMigrationTool(fileOrDirPath, host, extras) {
|
|
63
50
|
let filesWithComponents, componentTestFiles, zoneFiles, categorizationErrors;
|
|
64
51
|
try {
|
|
65
52
|
({ filesWithComponents, componentTestFiles, zoneFiles, categorizationErrors } =
|
|
66
|
-
await discoverAndCategorizeFiles(fileOrDirPath, extras));
|
|
53
|
+
await discoverAndCategorizeFiles(fileOrDirPath, host, extras));
|
|
67
54
|
}
|
|
68
55
|
catch (e) {
|
|
69
56
|
return (0, prompts_1.createResponse)(`Error: Could not access the specified path. Please ensure the following path is correct ` +
|
|
@@ -82,14 +69,14 @@ async function registerZonelessMigrationTool(fileOrDirPath, extras) {
|
|
|
82
69
|
? await rankComponentFilesForMigration(extras, Array.from(filesWithComponents))
|
|
83
70
|
: Array.from(filesWithComponents);
|
|
84
71
|
for (const file of rankedFiles) {
|
|
85
|
-
const result = await (0, migrate_single_file_1.migrateSingleFile)(file, extras);
|
|
72
|
+
const result = await (0, migrate_single_file_1.migrateSingleFile)(file, host, extras);
|
|
86
73
|
if (result !== null) {
|
|
87
74
|
return result;
|
|
88
75
|
}
|
|
89
76
|
}
|
|
90
77
|
}
|
|
91
78
|
for (const file of componentTestFiles) {
|
|
92
|
-
const result = await (0, migrate_test_file_1.migrateTestFile)(file);
|
|
79
|
+
const result = await (0, migrate_test_file_1.migrateTestFile)(file, host);
|
|
93
80
|
if (result !== null) {
|
|
94
81
|
return result;
|
|
95
82
|
}
|
|
@@ -101,7 +88,7 @@ async function registerZonelessMigrationTool(fileOrDirPath, extras) {
|
|
|
101
88
|
}
|
|
102
89
|
return (0, prompts_1.createTestDebuggingGuideForNonActionableInput)(fileOrDirPath);
|
|
103
90
|
}
|
|
104
|
-
async function discoverAndCategorizeFiles(fileOrDirPath, extras) {
|
|
91
|
+
async function discoverAndCategorizeFiles(fileOrDirPath, host, extras) {
|
|
105
92
|
const filePaths = [];
|
|
106
93
|
const componentTestFiles = new Set();
|
|
107
94
|
const filesWithComponents = new Set();
|
|
@@ -109,20 +96,21 @@ async function discoverAndCategorizeFiles(fileOrDirPath, extras) {
|
|
|
109
96
|
const categorizationErrors = [];
|
|
110
97
|
let isDirectory;
|
|
111
98
|
try {
|
|
112
|
-
isDirectory = (
|
|
99
|
+
isDirectory = (await host.stat(fileOrDirPath)).isDirectory();
|
|
113
100
|
}
|
|
114
101
|
catch (e) {
|
|
115
102
|
// Re-throw to be handled by the main function as a user input error
|
|
116
103
|
throw new Error(`Failed to access path: ${fileOrDirPath}`, { cause: e });
|
|
117
104
|
}
|
|
118
105
|
if (isDirectory) {
|
|
119
|
-
|
|
120
|
-
|
|
106
|
+
const files = host.glob('**/*.ts', { cwd: fileOrDirPath });
|
|
107
|
+
for await (const file of files) {
|
|
108
|
+
filePaths.push((0, node_path_1.join)(file.parentPath, file.name));
|
|
121
109
|
}
|
|
122
110
|
}
|
|
123
111
|
else {
|
|
124
112
|
filePaths.push(fileOrDirPath);
|
|
125
|
-
const maybeTestFile = await getTestFilePath(fileOrDirPath);
|
|
113
|
+
const maybeTestFile = await getTestFilePath(fileOrDirPath, host);
|
|
126
114
|
if (maybeTestFile) {
|
|
127
115
|
// Eagerly add the test file path for categorization.
|
|
128
116
|
filePaths.push(maybeTestFile);
|
|
@@ -133,8 +121,8 @@ async function discoverAndCategorizeFiles(fileOrDirPath, extras) {
|
|
|
133
121
|
while (filesToProcess.length > 0) {
|
|
134
122
|
const batch = filesToProcess.splice(0, CONCURRENCY_LIMIT);
|
|
135
123
|
const results = await Promise.allSettled(batch.map(async (filePath) => {
|
|
136
|
-
const sourceFile = await (0, ts_utils_1.createSourceFile)(filePath);
|
|
137
|
-
await categorizeFile(sourceFile, extras, {
|
|
124
|
+
const sourceFile = await (0, ts_utils_1.createSourceFile)(filePath, host);
|
|
125
|
+
await categorizeFile(sourceFile, host, extras, {
|
|
138
126
|
filesWithComponents,
|
|
139
127
|
componentTestFiles,
|
|
140
128
|
zoneFiles,
|
|
@@ -151,7 +139,7 @@ async function discoverAndCategorizeFiles(fileOrDirPath, extras) {
|
|
|
151
139
|
}
|
|
152
140
|
return { filesWithComponents, componentTestFiles, zoneFiles, categorizationErrors };
|
|
153
141
|
}
|
|
154
|
-
async function categorizeFile(sourceFile, extras, categorizedFiles) {
|
|
142
|
+
async function categorizeFile(sourceFile, host, extras, categorizedFiles) {
|
|
155
143
|
const { filesWithComponents, componentTestFiles, zoneFiles } = categorizedFiles;
|
|
156
144
|
const content = sourceFile.getFullText();
|
|
157
145
|
const componentSpecifier = await (0, ts_utils_1.getImportSpecifier)(sourceFile, '@angular/core', 'Component');
|
|
@@ -167,9 +155,9 @@ async function categorizeFile(sourceFile, extras, categorizedFiles) {
|
|
|
167
155
|
else {
|
|
168
156
|
(0, send_debug_message_1.sendDebugMessage)(`Component file already has change detection strategy: ${sourceFile.fileName}. Skipping migration.`, extras);
|
|
169
157
|
}
|
|
170
|
-
const testFilePath = await getTestFilePath(sourceFile.fileName);
|
|
158
|
+
const testFilePath = await getTestFilePath(sourceFile.fileName, host);
|
|
171
159
|
if (testFilePath) {
|
|
172
|
-
componentTestFiles.add(await (0, ts_utils_1.createSourceFile)(testFilePath));
|
|
160
|
+
componentTestFiles.add(await (0, ts_utils_1.createSourceFile)(testFilePath, host));
|
|
173
161
|
}
|
|
174
162
|
}
|
|
175
163
|
else if (zoneSpecifier) {
|
|
@@ -213,9 +201,9 @@ async function rankComponentFilesForMigration({ sendRequest }, componentFiles) {
|
|
|
213
201
|
catch { }
|
|
214
202
|
return componentFiles; // Fallback to original order if the response fails
|
|
215
203
|
}
|
|
216
|
-
async function getTestFilePath(filePath) {
|
|
204
|
+
async function getTestFilePath(filePath, host) {
|
|
217
205
|
const testFilePath = filePath.replace(/\.ts$/, '.spec.ts');
|
|
218
|
-
if (
|
|
206
|
+
if (host.existsSync(testFilePath)) {
|
|
219
207
|
return testFilePath;
|
|
220
208
|
}
|
|
221
209
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoneless-migration.js","sourceRoot":"","sources":["zoneless-migration.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"zoneless-migration.js","sourceRoot":"","sources":["zoneless-migration.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAkDH,sEAuDC;AArGD,yCAAiC;AAEjC,6BAAwB;AAExB,oDAA+C;AAC/C,2FAAoF;AACpF,+DAA0D;AAC1D,2DAAsD;AACtD,uCAA0F;AAC1F,6DAAwD;AACxD,yCAAkE;AAErD,QAAA,uBAAuB,GAAG,IAAA,2BAAW,EAAC;IACjD,IAAI,EAAE,2BAA2B;IACjC,KAAK,EAAE,0CAA0C;IACjD,WAAW,EAAE;;;;;;;;;;;;;;;qBAeM;IACnB,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE;QACX,aAAa,EAAE,OAAC;aACb,MAAM,EAAE;aACR,QAAQ,CACP,gGAAgG,CACjG;KACJ;IACD,OAAO,EACL,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACb,CAAC,EAAE,aAAa,EAAE,EAAE,mBAAmB,EAAE,EAAE,CACzC,6BAA6B,CAAC,aAAa,EAAE,IAAI,EAAE,mBAAmB,CAAC;CAC5E,CAAC,CAAC;AAEI,KAAK,UAAU,6BAA6B,CACjD,aAAqB,EACrB,IAAU,EACV,MAA8D;IAE9D,IAAI,mBAAmB,EAAE,kBAAkB,EAAE,SAAS,EAAE,oBAAoB,CAAC;IAC7E,IAAI,CAAC;QACH,CAAC,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,SAAS,EAAE,oBAAoB,EAAE;YAC3E,MAAM,0BAA0B,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,IAAA,wBAAc,EACnB,0FAA0F;YACxF,iDAAiD,aAAa,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,iEAA6B,EAAC,IAAI,CAAC,CAAC;YACzD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GACf,mBAAmB,CAAC,IAAI,GAAG,CAAC;YAC1B,CAAC,CAAC,MAAM,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC/E,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEtC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAiB,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,YAAY,GACd,8HAA8H,CAAC;QACjI,YAAY,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5F,OAAO,IAAA,wBAAc,EAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,IAAA,uDAA6C,EAAC,aAAa,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,aAAqB,EACrB,IAAU,EACV,MAA8D;IAE9D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAc,CAAC;IACjD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAc,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IACxC,MAAM,oBAAoB,GAA4C,EAAE,CAAC;IAEzE,IAAI,WAAoB,CAAC;IACzB,IAAI,CAAC;QACH,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,oEAAoE;QACpE,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,aAAa,EAAE,CAAC;YAClB,qDAAqD;YACrD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACtC,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,MAAM,IAAA,2BAAgB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAM,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC7C,mBAAmB;gBACnB,kBAAkB;gBAClB,SAAS;aACV,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC3F,oBAAoB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,UAAsB,EACtB,IAAU,EACV,MAA8D,EAC9D,gBAIC;IAED,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC;IAChF,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,kBAAkB,GAAG,MAAM,IAAA,6BAAkB,EAAC,UAAU,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IAC9F,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAkB,EAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IACtF,MAAM,gBAAgB,GAAG,MAAM,IAAA,6BAAkB,EAC/C,UAAU,EACV,4BAA4B,EAC5B,SAAS,CACV,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,kBAAkB,EAAE,CAAC;QAC9B,IACE,CAAC,8EAA8E,CAAC,IAAI,CAAC,OAAO,CAAC,EAC7F,CAAC;YACD,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAA,qCAAgB,EACd,yDAAyD,UAAU,CAAC,QAAQ,uBAAuB,EACnG,MAAM,CACP,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,YAAY,EAAE,CAAC;YACjB,kBAAkB,CAAC,GAAG,CAAC,MAAM,IAAA,2BAAgB,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,EAAE,WAAW,EAA0D,EACvE,cAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC;YACE,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EACF,6EAA6E;gCAC7E,uFAAuF;gCACvF,+GAA+G;gCAC/G,2EAA2E;gCAC3E,8EAA8E;gCAC9E,YAAY,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB;gCAC5E,kFAAkF;yBACrF;qBACF;iBACF;gBACD,YAAY,EACV,4GAA4G;oBAC5G,kGAAkG;gBACpG,SAAS,EAAE,IAAI;aAChB;SACF,EACD,OAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAC/C,CAAC;QAEF,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW;aACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;aACtE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtB,sDAAsD;QACtD,IAAI,WAAW,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO,cAAc,CAAC,CAAC,mDAAmD;AAC5E,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,IAAU;IACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -72,6 +72,9 @@ const listProjectsOutputSchema = {
|
|
|
72
72
|
.optional()
|
|
73
73
|
.describe('The default style language for the project (e.g., "scss"). ' +
|
|
74
74
|
'This determines the file extension for new component styles.'),
|
|
75
|
+
targets: zod_1.z
|
|
76
|
+
.array(zod_1.z.string())
|
|
77
|
+
.describe('Available project targets (e.g., ["build", "test", "lint", "e2e"]).'),
|
|
75
78
|
})),
|
|
76
79
|
})),
|
|
77
80
|
parsingErrors: zod_1.z
|
|
@@ -96,28 +99,20 @@ exports.LIST_PROJECTS_TOOL = (0, tool_registry_1.declareTool)({
|
|
|
96
99
|
title: 'List Angular Projects',
|
|
97
100
|
description: `
|
|
98
101
|
<Purpose>
|
|
99
|
-
Provides a comprehensive overview of all Angular workspaces and
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
Provides a comprehensive overview of all Angular workspaces, projects, and configured targets within the repository.
|
|
103
|
+
Always use this tool as a mandatory first step before performing any project-specific actions
|
|
104
|
+
to understand the available projects and locations.
|
|
102
105
|
</Purpose>
|
|
103
106
|
<Use Cases>
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
* Getting the \`selectorPrefix\` for a project before generating a new component to ensure it follows conventions.
|
|
109
|
-
* Identifying the major version of the Angular framework for each workspace, which is crucial for monorepos.
|
|
110
|
-
* Determining a project's primary function by inspecting its builder (e.g., '@angular-devkit/build-angular:browser' for an application).
|
|
107
|
+
* Discovering project names, locations, builders, selector prefixes, and style languages before generating or building components.
|
|
108
|
+
* Determining a project's unit test framework (Jasmine, Jest, or Vitest) before writing or modifying tests.
|
|
109
|
+
* Identifying available execution targets (e.g., lint, e2e, serve, deploy) before attempting execution.
|
|
110
|
+
* Disambiguating multiple workspaces in monorepos.
|
|
111
111
|
</Use Cases>
|
|
112
112
|
<Operational Notes>
|
|
113
|
-
*
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
If the value is 'unknown', you **MUST** inspect the project's configuration files
|
|
117
|
-
(e.g., \`karma.conf.js\`, \`jest.config.js\`, or the 'test' target in \`angular.json\`) to determine the
|
|
118
|
-
framework before generating tests.
|
|
119
|
-
* **Disambiguation:** A monorepo may contain multiple workspaces (e.g., for different applications or even in output directories).
|
|
120
|
-
Use the \`path\` of each workspace to understand its context and choose the correct project.
|
|
113
|
+
* Execute shell/CLI commands from the parent directory of the workspace's 'path' field.
|
|
114
|
+
* If 'unitTestFramework' is 'unknown', inspect local config files (e.g., jest.config.js, karma.conf.js)
|
|
115
|
+
or the 'test' target in 'angular.json' to determine the framework before creating tests.
|
|
121
116
|
</Operational Notes>`,
|
|
122
117
|
outputSchema: listProjectsOutputSchema,
|
|
123
118
|
isReadOnly: true,
|
|
@@ -394,6 +389,7 @@ async function loadAndParseWorkspace(configFile, seenPaths) {
|
|
|
394
389
|
const fullSourceRoot = (0, node_path_1.join)(workspaceRoot, sourceRoot);
|
|
395
390
|
const unitTestFramework = getUnitTestFramework(project.targets.get('test'));
|
|
396
391
|
const styleLanguage = await getProjectStyleLanguage(project, ws, fullSourceRoot);
|
|
392
|
+
const targets = Array.from(project.targets.keys());
|
|
397
393
|
projects.push({
|
|
398
394
|
name,
|
|
399
395
|
type: project.extensions['projectType'],
|
|
@@ -403,6 +399,7 @@ async function loadAndParseWorkspace(configFile, seenPaths) {
|
|
|
403
399
|
selectorPrefix: project.extensions['prefix'],
|
|
404
400
|
unitTestFramework,
|
|
405
401
|
styleLanguage,
|
|
402
|
+
targets,
|
|
406
403
|
});
|
|
407
404
|
}
|
|
408
405
|
return { workspace: { path: configFile, projects }, error: null };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["projects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["projects.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAEH,qCAAuC;AACvC,+CAA2D;AAC3D,yCAAoG;AACpG,uCAAyC;AACzC,oDAA4B;AAC5B,6BAAwB;AACxB,sDAA6D;AAC7D,oDAAyD;AACzD,mDAAmE;AAEnE,sEAAsE;AACtE,MAAM,mBAAmB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpE,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,OAAO,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,2BAA2B,GAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAElG,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAK,qBAA+C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,SAAiB;IACtD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;IAEzE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,MAAM,wBAAwB,GAAG;IAC/B,UAAU,EAAE,OAAC,CAAC,KAAK,CACjB,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;QACpF,gBAAgB,EAAE,OAAC;aAChB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,2FAA2F,CAC5F;QACH,QAAQ,EAAE,OAAC,CAAC,KAAK,CACf,OAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,IAAI,EAAE,OAAC;iBACJ,IAAI,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;iBAChC,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,OAAO,EAAE,OAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yEAAyE,CAAC;YACtF,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,oEAAoE,CAAC;YACjF,UAAU,EAAE,OAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CACP,mFAAmF,CACpF;YACH,cAAc,EAAE,OAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,4CAA4C;gBAC1C,sFAAsF,CACzF;YACH,iBAAiB,EAAE,OAAC;iBACjB,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;iBAC9C,QAAQ,EAAE;iBACV,QAAQ,CACP,iFAAiF;gBAC/E,0EAA0E;gBAC1E,yFAAyF,CAC5F;YACH,aAAa,EAAE,mBAAmB;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CACP,6DAA6D;gBAC3D,8DAA8D,CACjE;YACH,OAAO,EAAE,OAAC;iBACP,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CAAC,qEAAqE,CAAC;SACnF,CAAC,CACH;KACF,CAAC,CACH;IACD,aAAa,EAAE,OAAC;SACb,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC/E,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;KAChF,CAAC,CACH;SACA,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,gBAAgB,EAAE,OAAC;SAChB,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,OAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,uEAAuE,CAAC;QACpF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;KACnF,CAAC,CACH;SACA,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,+EAA+E,CAAC;CAC7F,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAA,2BAAW,EAAC;IAC5C,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE;;;;;;;;;;;;;;;;qBAgBM;IACnB,YAAY,EAAE,wBAAwB;IACtC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,yBAAyB;CACnC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3E,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5F,SAAS,oBAAoB,CAAC,KAAgC;IAC5D,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAClC,OAAe,EACf,gBAAuC;IAEvC,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAA,eAAI,EAAC,OAAO,CAAC,CAAC;QACtC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;QACrB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,gDAAgD;QAC1D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACjD,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACvC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,MAAM,cAAc,GAAa,EAAE,CAAC;gBACpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACvC,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;wBAClD,qEAAqE;wBACrE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;4BAChE,SAAS;wBACX,CAAC;wBAED,IAAI,UAAU,CAAC;wBACf,IAAI,CAAC;4BACH,UAAU,GAAG,MAAM,IAAA,eAAI,EAAC,QAAQ,CAAC,CAAC;4BAClC,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gCACnC,SAAS,CAAC,uDAAuD;4BACnE,CAAC;4BACD,8DAA8D;4BAC9D,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;gCAC9B,SAAS;4BACX,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,kDAAkD;4BAClD,SAAS;wBACX,CAAC;wBAED,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;4BAC3B,IAAI,CAAC;gCACH,MAAM,UAAU,GAAG,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC;gCAC1C,6DAA6D;gCAC7D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oCAC/C,MAAM,GAAG,GAAG,IAAA,oBAAQ,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oCAEvC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,sBAAU,EAAC,GAAG,CAAC,CAAC;gCACnD,CAAC,CAAC,CAAC;gCAEH,IAAI,CAAC,SAAS,EAAE,CAAC;oCACf,SAAS;gCACX,CAAC;4BACH,CAAC;4BAAC,MAAM,CAAC;gCACP,uBAAuB;gCACvB,SAAS;4BACX,CAAC;wBACH,CAAC;wBAED,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBAC/B,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAChC,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACzC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAED,OAAO,cAAc,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,EAAE,CAAC,CAAC,qCAAqC;gBAClD,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpC,KAAK,CAAC,CAAC,iBAAiB,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,QAAgB,EAChB,KAAsC,EACtC,UAAkB;IAElB,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,OAAO,UAAU,EAAE,CAAC;QAClB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,mDAAmD;YACnD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAA,mBAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,gBAAgB,GACpB,GAAG,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC;YAEhF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,gBAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;oBAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACzB,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;YACrB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,+DAA+D;gBAC/D,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM;QACR,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,+BAA+B;QACxC,CAAC;QACD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,mDAAmD;IACnD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,UAAkF;IAElF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mFAAmF;IACnF,IAAI,UAAU,CAAC,OAAO,KAAK,0BAA0B,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAmC,CAAC;QAChF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC,CAAC,mDAAmD;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,CAAC,uDAAuD;QACxE,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;QACvC,IACE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7B,WAAW,KAAK,+CAA+C,EAC/D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CACpC,OAAoE,EACpE,SAA2B,EAC3B,cAAsB;IAEtB,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,UAEhC,CAAC;IACd,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,UAEpC,CAAC;IAEd,qDAAqD;IACrD,IAAI,KAAK,GAAG,iBAAiB,EAAE,CAAC,+BAA+B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5E,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,KAAK,GAAG,mBAAmB,EAAE,CAAC,+BAA+B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;QACzB,+DAA+D;QAC/D,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+CAA+C;QAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAA,mBAAO,EAAC,SAAS,CAAC,CAAC,CAAC;gBAChE,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,KAAK,MAAM,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,IAAA,eAAI,EAAC,IAAA,gBAAI,EAAC,cAAc,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;YAElD,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,4DAA4D;QAC9D,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,qBAAqB,CAClC,UAAkB,EAClB,SAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;QACzC,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,2BAA2B;QACtE,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE5B,MAAM,EAAE,GAAG,MAAM,yBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzE,MAAM,cAAc,GAAG,IAAA,gBAAI,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YACvD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;YACjF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAEnD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAA0C;gBAChF,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO;gBAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU;gBACV,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAW;gBACtD,iBAAiB;gBACjB,aAAa;gBACb,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC;QACZ,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,mDAAmD,CAAC;QAChE,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB,CAC9B,UAAkB,EAClB,UAAkB,EAClB,SAAsB,EACtB,YAA6C;IAM7C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,kCAAkC;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;QACzC,SAAS,CAAC,gBAAgB,GAAG,MAAM,sBAAsB,CACvD,YAAY,EACZ,YAAY,EACZ,UAAU,CACX,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,SAAS;YACT,eAAe,EAAE;gBACf,QAAQ,EAAE,SAAS,CAAC,IAAI;gBACxB,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B;aACvE;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,KAAe;IAC7C,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpD,MAAM,GAAG,GAAG,IAAA,oBAAQ,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAErC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,sBAAU,EAAC,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,EAAE,MAAM,EAAkB;IACjE,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAA8D,EAAE,CAAC;QACvF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;QAE3D,IAAI,WAAqB,CAAC;QAC1B,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACjE,IAAI,kBAAkB,EAAE,KAAK,EAAE,CAAC;YAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAClD,WAAW,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAS,EAAC,IAAA,wBAAa,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAElD,4EAA4E;QAC5E,kFAAkF;QAClF,MAAM,gBAAgB,GAAG,WAAW;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,CAAC;gBACH,OAAO,IAAA,sBAAY,EAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAE1C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBAC5E,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,iBAAiB,CAC1E,UAAU,EACV,IAAI,EACJ,SAAS,EACT,YAAY,CACb,CAAC;gBAEF,IAAI,SAAS,EAAE,CAAC;oBACd,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACjB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,eAAe,EAAE,CAAC;oBACpB,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EACF,6BAA6B;4BAC7B,+DAA+D;4BAC/D,kFAAkF;qBACrF;iBACF;gBACD,iBAAiB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;aACtC,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,GAAG,SAAS,UAAU,CAAC,MAAM,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACzF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,IAAI,8BAA8B,aAAa,CAAC,MAAM,kDAAkD,CAAC;YAC7G,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,wDAAwD,gBAAgB,CAAC,MAAM,0CAA0C,CAAC;YAClI,IAAI,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;YAC1C,iBAAiB,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE;SACnE,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { McpToolContext } from '../tool-registry';
|
|
9
|
+
import type { TargetStrategy } from './strategy';
|
|
10
|
+
import type { RunTargetOutput, StrategyExecutionContext } from './types';
|
|
11
|
+
export declare class BuildTargetStrategy implements TargetStrategy {
|
|
12
|
+
canHandle(targetName: string, builder?: string): boolean;
|
|
13
|
+
execute(input: StrategyExecutionContext, context: McpToolContext): Promise<RunTargetOutput>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.BuildTargetStrategy = void 0;
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
12
|
+
const options_serializer_1 = require("./options-serializer");
|
|
13
|
+
class BuildTargetStrategy {
|
|
14
|
+
canHandle(targetName, builder) {
|
|
15
|
+
return (targetName === 'build' &&
|
|
16
|
+
(builder === '@angular-devkit/build-angular:application' ||
|
|
17
|
+
builder === '@angular-devkit/build-angular:browser' ||
|
|
18
|
+
builder === '@angular/build:application' ||
|
|
19
|
+
builder === '@angular-devkit/build-angular:ng-packagr'));
|
|
20
|
+
}
|
|
21
|
+
async execute(input, context) {
|
|
22
|
+
const args = ['build', input.projectName];
|
|
23
|
+
if (input.configuration) {
|
|
24
|
+
args.push('-c', input.configuration);
|
|
25
|
+
}
|
|
26
|
+
args.push(...(0, options_serializer_1.serializeOptions)(input.options));
|
|
27
|
+
let status = 'success';
|
|
28
|
+
let logs;
|
|
29
|
+
try {
|
|
30
|
+
const result = await context.host.executeNgCommand(args, { cwd: input.workspacePath });
|
|
31
|
+
logs = result.logs;
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
status = 'failure';
|
|
35
|
+
logs = (0, utils_1.getCommandErrorLogs)(e);
|
|
36
|
+
}
|
|
37
|
+
let outputPath;
|
|
38
|
+
for (const line of logs) {
|
|
39
|
+
const match = line.match(/Output location: (.*)/);
|
|
40
|
+
if (match) {
|
|
41
|
+
outputPath = match[1].trim();
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
status,
|
|
47
|
+
logs,
|
|
48
|
+
extensions: outputPath ? { outputPath } : undefined,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.BuildTargetStrategy = BuildTargetStrategy;
|
|
53
|
+
//# sourceMappingURL=build-target-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-target-strategy.js","sourceRoot":"","sources":["build-target-strategy.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,uCAAkD;AAElD,6DAAwD;AAIxD,MAAa,mBAAmB;IAC9B,SAAS,CAAC,UAAkB,EAAE,OAAgB;QAC5C,OAAO,CACL,UAAU,KAAK,OAAO;YACtB,CAAC,OAAO,KAAK,2CAA2C;gBACtD,OAAO,KAAK,uCAAuC;gBACnD,OAAO,KAAK,4BAA4B;gBACxC,OAAO,KAAK,0CAA0C,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAA+B,EAC/B,OAAuB;QAEvB,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,IAAA,qCAAgB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAE9C,IAAI,MAAM,GAA0B,SAAS,CAAC;QAC9C,IAAI,IAAc,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;YACvF,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,SAAS,CAAC;YACnB,IAAI,GAAG,IAAA,2BAAmB,EAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,UAA8B,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM;YACN,IAAI;YACJ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;SACpD,CAAC;IACJ,CAAC;CACF;AAhDD,kDAgDC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { McpToolContext } from '../tool-registry';
|
|
9
|
+
import type { TargetStrategy } from './strategy';
|
|
10
|
+
import type { RunTargetOutput, StrategyExecutionContext } from './types';
|
|
11
|
+
export declare class GenericTargetStrategy implements TargetStrategy {
|
|
12
|
+
canHandle(targetName: string, builder?: string): boolean;
|
|
13
|
+
execute(input: StrategyExecutionContext, context: McpToolContext): Promise<RunTargetOutput>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.GenericTargetStrategy = void 0;
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
12
|
+
const options_serializer_1 = require("./options-serializer");
|
|
13
|
+
const BUILT_IN_COMMANDS = new Set([
|
|
14
|
+
'build',
|
|
15
|
+
'test',
|
|
16
|
+
'e2e',
|
|
17
|
+
'serve',
|
|
18
|
+
'deploy',
|
|
19
|
+
'extract-i18n',
|
|
20
|
+
'lint',
|
|
21
|
+
]);
|
|
22
|
+
class GenericTargetStrategy {
|
|
23
|
+
canHandle(targetName, builder) {
|
|
24
|
+
return true; // Universal fallback strategy
|
|
25
|
+
}
|
|
26
|
+
async execute(input, context) {
|
|
27
|
+
if (input.targetName === 'serve' || input.options?.['watch'] === true) {
|
|
28
|
+
throw new Error(`Watch mode execution (serve target or watch option) is not yet supported by 'run_target'. ` +
|
|
29
|
+
`Please use the legacy 'devserver.start' / 'devserver.wait_for_build' tools instead.`);
|
|
30
|
+
}
|
|
31
|
+
const args = [];
|
|
32
|
+
if (BUILT_IN_COMMANDS.has(input.targetName)) {
|
|
33
|
+
args.push(input.targetName, input.projectName);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
args.push('run', `${input.projectName}:${input.targetName}`);
|
|
37
|
+
}
|
|
38
|
+
if (input.configuration) {
|
|
39
|
+
args.push('-c', input.configuration);
|
|
40
|
+
}
|
|
41
|
+
let options = input.options;
|
|
42
|
+
if (input.targetName === 'test') {
|
|
43
|
+
options = {
|
|
44
|
+
...options,
|
|
45
|
+
watch: false,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
args.push(...(0, options_serializer_1.serializeOptions)(options));
|
|
49
|
+
let status = 'success';
|
|
50
|
+
let logs;
|
|
51
|
+
try {
|
|
52
|
+
const result = await context.host.executeNgCommand(args, { cwd: input.workspacePath });
|
|
53
|
+
logs = result.logs;
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
status = 'failure';
|
|
57
|
+
logs = (0, utils_1.getCommandErrorLogs)(e);
|
|
58
|
+
}
|
|
59
|
+
return { status, logs };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.GenericTargetStrategy = GenericTargetStrategy;
|
|
63
|
+
//# sourceMappingURL=generic-target-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-target-strategy.js","sourceRoot":"","sources":["generic-target-strategy.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,uCAAkD;AAElD,6DAAwD;AAIxD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,cAAc;IACd,MAAM;CACP,CAAC,CAAC;AAEH,MAAa,qBAAqB;IAChC,SAAS,CAAC,UAAkB,EAAE,OAAgB;QAC5C,OAAO,IAAI,CAAC,CAAC,8BAA8B;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAA+B,EAC/B,OAAuB;QAEvB,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CACb,4FAA4F;gBAC1F,qFAAqF,CACxF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,GAAG;gBACR,GAAG,OAAO;gBACV,KAAK,EAAE,KAAK;aACb,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,IAAA,qCAAgB,EAAC,OAAO,CAAC,CAAC,CAAC;QAExC,IAAI,MAAM,GAA0B,SAAS,CAAC;QAC9C,IAAI,IAAc,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;YACvF,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,SAAS,CAAC;YACnB,IAAI,GAAG,IAAA,2BAAmB,EAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF;AAlDD,sDAkDC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import type { OptionValue } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Serializes a Zod-validated options record into standard CLI argument flags.
|
|
11
|
+
* Enforces strict regex validation on option keys to prevent flag manipulation.
|
|
12
|
+
*/
|
|
13
|
+
export declare function serializeOptions(options: Record<string, OptionValue> | undefined, excludeKeys?: Set<string>): string[];
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.serializeOptions = serializeOptions;
|
|
11
|
+
/**
|
|
12
|
+
* Serializes a Zod-validated options record into standard CLI argument flags.
|
|
13
|
+
* Enforces strict regex validation on option keys to prevent flag manipulation.
|
|
14
|
+
*/
|
|
15
|
+
function serializeOptions(options, excludeKeys = new Set()) {
|
|
16
|
+
const args = [];
|
|
17
|
+
if (!options) {
|
|
18
|
+
return args;
|
|
19
|
+
}
|
|
20
|
+
for (const [key, value] of Object.entries(options)) {
|
|
21
|
+
if (excludeKeys.has(key)) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (!/^[a-zA-Z0-9-_]+$/.test(key)) {
|
|
25
|
+
throw new Error(`Invalid option key: '${key}'. Option keys must be alphanumeric, hyphens, or underscores.`);
|
|
26
|
+
}
|
|
27
|
+
if (typeof value === 'boolean') {
|
|
28
|
+
args.push(value ? `--${key}` : `--no-${key}`);
|
|
29
|
+
}
|
|
30
|
+
else if (Array.isArray(value)) {
|
|
31
|
+
for (const item of value) {
|
|
32
|
+
args.push(`--${key}=${item}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else if (value !== null && value !== undefined) {
|
|
36
|
+
args.push(`--${key}=${value}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return args;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=options-serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options-serializer.js","sourceRoot":"","sources":["options-serializer.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAQH,4CAgCC;AApCD;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,OAAgD,EAChD,cAA2B,IAAI,GAAG,EAAE;IAEpC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,wBAAwB,GAAG,+DAA+D,CAC3F,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import { type McpToolContext } from '../tool-registry';
|
|
9
|
+
import { type RunTargetInput } from './types';
|
|
10
|
+
export declare function runTarget(input: RunTargetInput, context: McpToolContext): Promise<{
|
|
11
|
+
content: {
|
|
12
|
+
type: "text";
|
|
13
|
+
text: string;
|
|
14
|
+
}[];
|
|
15
|
+
structuredContent: {
|
|
16
|
+
status: "success" | "failure";
|
|
17
|
+
logs: string[];
|
|
18
|
+
extensions?: Record<string, unknown> | undefined;
|
|
19
|
+
};
|
|
20
|
+
}>;
|
|
21
|
+
export declare const RUN_TARGET_TOOL: import("../tool-registry").McpToolDeclaration<{
|
|
22
|
+
target: import("zod").ZodString;
|
|
23
|
+
configuration: import("zod").ZodOptional<import("zod").ZodString>;
|
|
24
|
+
options: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean, import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>>]>>>;
|
|
25
|
+
workspace: import("zod").ZodOptional<import("zod").ZodString>;
|
|
26
|
+
project: import("zod").ZodOptional<import("zod").ZodString>;
|
|
27
|
+
}, {
|
|
28
|
+
status: import("zod").ZodEnum<{
|
|
29
|
+
success: "success";
|
|
30
|
+
failure: "failure";
|
|
31
|
+
}>;
|
|
32
|
+
logs: import("zod").ZodArray<import("zod").ZodString>;
|
|
33
|
+
extensions: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
|
|
34
|
+
}>;
|