@angular/cli 21.2.3 → 21.2.5
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/lib/cli/index.js +6 -0
- package/lib/cli/index.js.map +1 -1
- package/lib/code-examples.db +0 -0
- package/lib/config/schema.json +1 -2
- package/package.json +13 -13
- package/src/commands/mcp/host.d.ts +4 -0
- package/src/commands/mcp/host.js +11 -0
- package/src/commands/mcp/host.js.map +1 -1
- package/src/commands/mcp/mcp-server.d.ts +3 -0
- package/src/commands/mcp/tools/devserver/devserver-start.d.ts +1 -0
- package/src/commands/mcp/tools/devserver/devserver-start.js +22 -4
- package/src/commands/mcp/tools/devserver/devserver-start.js.map +1 -1
- package/src/utilities/version.js +1 -1
package/lib/cli/index.js
CHANGED
|
@@ -39,6 +39,7 @@ async function default_1(options) {
|
|
|
39
39
|
};
|
|
40
40
|
const logger = new core_1.logging.IndentLogger('cli-main-logger');
|
|
41
41
|
const logInfo = console.log;
|
|
42
|
+
const logWarn = console.warn;
|
|
42
43
|
const logError = console.error;
|
|
43
44
|
const useColor = (0, color_1.supportColor)();
|
|
44
45
|
const loggerFinished = logger.forEach((entry) => {
|
|
@@ -104,6 +105,11 @@ async function default_1(options) {
|
|
|
104
105
|
finally {
|
|
105
106
|
logger.complete();
|
|
106
107
|
await loggerFinished;
|
|
108
|
+
// Restore original console methods so that late consumers
|
|
109
|
+
// (e.g. process.on('exit') handlers) still produce output.
|
|
110
|
+
console.log = console.info = logInfo;
|
|
111
|
+
console.warn = logWarn;
|
|
112
|
+
console.error = logError;
|
|
107
113
|
}
|
|
108
114
|
}
|
|
109
115
|
//# sourceMappingURL=index.js.map
|
package/lib/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAeH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
package/lib/code-examples.db
CHANGED
|
Binary file
|
package/lib/config/schema.json
CHANGED
|
@@ -4425,8 +4425,7 @@
|
|
|
4425
4425
|
},
|
|
4426
4426
|
"coverage": {
|
|
4427
4427
|
"type": "boolean",
|
|
4428
|
-
"description": "Enables coverage reporting for tests."
|
|
4429
|
-
"default": false
|
|
4428
|
+
"description": "Enables coverage reporting for tests. If not specified, the coverage configuration from a runner configuration file will be used if present. Otherwise, coverage is disabled by default."
|
|
4430
4429
|
},
|
|
4431
4430
|
"coverageInclude": {
|
|
4432
4431
|
"type": "array",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/cli",
|
|
3
|
-
"version": "21.2.
|
|
3
|
+
"version": "21.2.5",
|
|
4
4
|
"description": "CLI tool for Angular",
|
|
5
5
|
"main": "lib/cli/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
},
|
|
26
26
|
"homepage": "https://github.com/angular/angular-cli",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@angular-devkit/architect": "0.2102.
|
|
29
|
-
"@angular-devkit/core": "21.2.
|
|
30
|
-
"@angular-devkit/schematics": "21.2.
|
|
28
|
+
"@angular-devkit/architect": "0.2102.5",
|
|
29
|
+
"@angular-devkit/core": "21.2.5",
|
|
30
|
+
"@angular-devkit/schematics": "21.2.5",
|
|
31
31
|
"@inquirer/prompts": "7.10.1",
|
|
32
32
|
"@listr2/prompt-adapter-inquirer": "3.0.5",
|
|
33
33
|
"@modelcontextprotocol/sdk": "1.26.0",
|
|
34
|
-
"@schematics/angular": "21.2.
|
|
34
|
+
"@schematics/angular": "21.2.5",
|
|
35
35
|
"@yarnpkg/lockfile": "1.1.0",
|
|
36
36
|
"algoliasearch": "5.48.1",
|
|
37
37
|
"ini": "6.0.0",
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
"ng-update": {
|
|
48
48
|
"migrations": "@schematics/angular/migrations/migration-collection.json",
|
|
49
49
|
"packageGroup": {
|
|
50
|
-
"@angular/cli": "21.2.
|
|
51
|
-
"@angular/build": "21.2.
|
|
52
|
-
"@angular/ssr": "21.2.
|
|
53
|
-
"@angular-devkit/architect": "0.2102.
|
|
54
|
-
"@angular-devkit/build-angular": "21.2.
|
|
55
|
-
"@angular-devkit/build-webpack": "0.2102.
|
|
56
|
-
"@angular-devkit/core": "21.2.
|
|
57
|
-
"@angular-devkit/schematics": "21.2.
|
|
50
|
+
"@angular/cli": "21.2.5",
|
|
51
|
+
"@angular/build": "21.2.5",
|
|
52
|
+
"@angular/ssr": "21.2.5",
|
|
53
|
+
"@angular-devkit/architect": "0.2102.5",
|
|
54
|
+
"@angular-devkit/build-angular": "21.2.5",
|
|
55
|
+
"@angular-devkit/build-webpack": "0.2102.5",
|
|
56
|
+
"@angular-devkit/core": "21.2.5",
|
|
57
|
+
"@angular-devkit/schematics": "21.2.5"
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
"packageManager": "pnpm@10.32.1",
|
|
@@ -90,6 +90,10 @@ export interface Host {
|
|
|
90
90
|
* Finds an available TCP port on the system.
|
|
91
91
|
*/
|
|
92
92
|
getAvailablePort(): Promise<number>;
|
|
93
|
+
/**
|
|
94
|
+
* Checks whether a TCP port is available on the system.
|
|
95
|
+
*/
|
|
96
|
+
isPortAvailable(port: number): Promise<boolean>;
|
|
93
97
|
}
|
|
94
98
|
/**
|
|
95
99
|
* A concrete implementation of the `Host` interface that runs on a local workspace.
|
package/src/commands/mcp/host.js
CHANGED
|
@@ -114,5 +114,16 @@ exports.LocalWorkspaceHost = {
|
|
|
114
114
|
});
|
|
115
115
|
});
|
|
116
116
|
},
|
|
117
|
+
isPortAvailable(port) {
|
|
118
|
+
return new Promise((resolve) => {
|
|
119
|
+
const server = (0, node_net_1.createServer)();
|
|
120
|
+
server.once('error', () => resolve(false));
|
|
121
|
+
server.listen(port, () => {
|
|
122
|
+
server.close(() => {
|
|
123
|
+
resolve(true);
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
},
|
|
117
128
|
};
|
|
118
129
|
//# sourceMappingURL=host.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["host.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH;;;;;GAKG;AAEH,2BAAkD;AAClD,2DAAyD;AAEzD,+CAAoF;AACpF,6CAA4C;AAC5C,uCAAwC;AAExC;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK;IAGnB;IACA;IAHlB,YACE,OAAe,EACC,IAAc,EACd,IAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAU;QACd,SAAI,GAAJ,IAAI,CAAe;IAGrC,CAAC;CACF;AARD,oCAQC;
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["host.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ export declare const EXPERIMENTAL_TOOLS: readonly [import("./tools/tool-registry
|
|
|
53
53
|
}>;
|
|
54
54
|
logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
55
55
|
}>, ...(import("./tools/tool-registry").McpToolDeclaration<{
|
|
56
|
+
port: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
56
57
|
workspace: import("zod").ZodOptional<import("zod").ZodString>;
|
|
57
58
|
project: import("zod").ZodOptional<import("zod").ZodString>;
|
|
58
59
|
}, {
|
|
@@ -124,6 +125,7 @@ export declare const EXPERIMENTAL_TOOL_GROUPS: {
|
|
|
124
125
|
}>;
|
|
125
126
|
logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
126
127
|
}>, ...(import("./tools/tool-registry").McpToolDeclaration<{
|
|
128
|
+
port: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
127
129
|
workspace: import("zod").ZodOptional<import("zod").ZodString>;
|
|
128
130
|
project: import("zod").ZodOptional<import("zod").ZodString>;
|
|
129
131
|
}, {
|
|
@@ -149,6 +151,7 @@ export declare const EXPERIMENTAL_TOOL_GROUPS: {
|
|
|
149
151
|
logs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
150
152
|
}>)[]];
|
|
151
153
|
devserver: (import("./tools/tool-registry").McpToolDeclaration<{
|
|
154
|
+
port: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
152
155
|
workspace: import("zod").ZodOptional<import("zod").ZodString>;
|
|
153
156
|
project: import("zod").ZodOptional<import("zod").ZodString>;
|
|
154
157
|
}, {
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { z } from 'zod';
|
|
9
9
|
import { type McpToolContext, type McpToolDeclaration } from '../tool-registry';
|
|
10
10
|
declare const devserverStartToolInputSchema: z.ZodObject<{
|
|
11
|
+
port: z.ZodOptional<z.ZodNumber>;
|
|
11
12
|
workspace: z.ZodOptional<z.ZodString>;
|
|
12
13
|
project: z.ZodOptional<z.ZodString>;
|
|
13
14
|
}, z.core.$strip>;
|
|
@@ -17,6 +17,11 @@ const workspace_utils_1 = require("../../workspace-utils");
|
|
|
17
17
|
const tool_registry_1 = require("../tool-registry");
|
|
18
18
|
const devserverStartToolInputSchema = zod_1.z.object({
|
|
19
19
|
...shared_options_1.workspaceAndProjectOptions,
|
|
20
|
+
port: zod_1.z
|
|
21
|
+
.number()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('The port number to run the server on. If not provided, a random available port will be chosen. ' +
|
|
24
|
+
'It is recommended to reuse port numbers across calls within the same workspace to maintain consistency.'),
|
|
20
25
|
});
|
|
21
26
|
const devserverStartToolOutputSchema = zod_1.z.object({
|
|
22
27
|
message: zod_1.z.string().describe('A message indicating the result of the operation.'),
|
|
@@ -43,7 +48,16 @@ async function startDevserver(input, context) {
|
|
|
43
48
|
address: localhostAddress(devserver.port),
|
|
44
49
|
});
|
|
45
50
|
}
|
|
46
|
-
|
|
51
|
+
let port;
|
|
52
|
+
if (input.port) {
|
|
53
|
+
if (!(await context.host.isPortAvailable(input.port))) {
|
|
54
|
+
throw new Error(`Port ${input.port} is unavailable. Try calling this tool again without the 'port' parameter to auto-assign a free port.`);
|
|
55
|
+
}
|
|
56
|
+
port = input.port;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
port = await context.host.getAvailablePort();
|
|
60
|
+
}
|
|
47
61
|
devserver = new devserver_1.LocalDevserver({
|
|
48
62
|
host: context.host,
|
|
49
63
|
project: projectName,
|
|
@@ -70,14 +84,18 @@ the first build completes.
|
|
|
70
84
|
background.
|
|
71
85
|
* **Get Initial Build Logs:** Once a dev server has started, use the "devserver.wait_for_build" tool to ensure it's alive. If there are any
|
|
72
86
|
build errors, "devserver.wait_for_build" would provide them back and you can give them to the user or rely on them to propose a fix.
|
|
73
|
-
* **Get Updated Build Logs:** Important: as long as a devserver is alive (i.e. "devserver.stop" wasn't called), after every time you
|
|
74
|
-
change to the workspace, re-run "devserver.wait_for_build" to see whether the change was successfully built and wait for the
|
|
75
|
-
be updated.
|
|
87
|
+
* **Get Updated Build Logs:** Important: as long as a devserver is alive (i.e. "devserver.stop" wasn't called), after every time you
|
|
88
|
+
make a change to the workspace, re-run "devserver.wait_for_build" to see whether the change was successfully built and wait for the
|
|
89
|
+
devserver to be updated.
|
|
76
90
|
</Use Cases>
|
|
77
91
|
<Operational Notes>
|
|
78
92
|
* This tool manages development servers by itself. It maintains at most a single dev server instance for each project in the monorepo.
|
|
79
93
|
* This is an asynchronous operation. Subsequent commands can be ran while the server is active.
|
|
80
94
|
* Use 'devserver.stop' to gracefully shut down the server and access the full log output.
|
|
95
|
+
* **Keeping the Server Alive**: It is often better to keep the server alive between tool calls if you expect the user to request more
|
|
96
|
+
changes or run more tests, as it saves time on restarts and maintains the file watcher state. You must still call
|
|
97
|
+
'devserver.wait_for_build' after every change to see whether the change was successfully built and be sure that that app was updated.
|
|
98
|
+
* **Consistent Ports**: If making multiple calls, it is recommended to reuse the port you got from the first call for subsequent ones.
|
|
81
99
|
</Operational Notes>
|
|
82
100
|
`,
|
|
83
101
|
isReadOnly: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devserver-start.js","sourceRoot":"","sources":["devserver-start.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"devserver-start.js","sourceRoot":"","sources":["devserver-start.ts"],"names":[],"mappings":"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"}
|
package/src/utilities/version.js
CHANGED