@angular/cli 21.0.0-next.3 → 21.0.0-next.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/config/schema.json +80 -17
- package/package.json +19 -19
- package/src/commands/mcp/mcp-server.js +2 -0
- package/src/commands/mcp/resources/ai-tutor.md +627 -0
- package/src/commands/mcp/tools/ai-tutor.d.ts +8 -0
- package/src/commands/mcp/tools/ai-tutor.js +61 -0
- package/src/commands/mcp/tools/doc-search.d.ts +1 -0
- package/src/commands/mcp/tools/doc-search.js +17 -4
- package/src/commands/mcp/tools/examples.js +0 -1
- package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.js +1 -0
- package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js +55 -33
- package/src/commands/new/cli.js +1 -0
- package/src/utilities/package-manager.js +20 -13
- package/src/utilities/version.js +1 -1
package/lib/config/schema.json
CHANGED
|
@@ -1048,7 +1048,7 @@
|
|
|
1048
1048
|
"zoneless": {
|
|
1049
1049
|
"description": "Generate an application that does not use `zone.js`.",
|
|
1050
1050
|
"type": "boolean",
|
|
1051
|
-
"default":
|
|
1051
|
+
"default": true
|
|
1052
1052
|
},
|
|
1053
1053
|
"fileNameStyleGuide": {
|
|
1054
1054
|
"type": "string",
|
|
@@ -4304,23 +4304,23 @@
|
|
|
4304
4304
|
"properties": {
|
|
4305
4305
|
"buildTarget": {
|
|
4306
4306
|
"type": "string",
|
|
4307
|
-
"description": "
|
|
4307
|
+
"description": "Specifies the build target to use for the unit test build in the format `project:target[:configuration]`. You can also pass a comma-separated list of configurations. Example: `project:target:production,staging`.",
|
|
4308
4308
|
"pattern": "^[^:\\s]*:[^:\\s]*(:[^\\s]+)?$"
|
|
4309
4309
|
},
|
|
4310
4310
|
"tsConfig": {
|
|
4311
4311
|
"type": "string",
|
|
4312
|
-
"description": "The
|
|
4312
|
+
"description": "The path to the TypeScript configuration file, relative to the workspace root."
|
|
4313
4313
|
},
|
|
4314
4314
|
"runner": {
|
|
4315
4315
|
"type": "string",
|
|
4316
|
-
"description": "
|
|
4316
|
+
"description": "Specifies the test runner to use for test execution.",
|
|
4317
4317
|
"enum": [
|
|
4318
4318
|
"karma",
|
|
4319
4319
|
"vitest"
|
|
4320
4320
|
]
|
|
4321
4321
|
},
|
|
4322
4322
|
"browsers": {
|
|
4323
|
-
"description": "
|
|
4323
|
+
"description": "Specifies the browsers to use for test execution. When not specified, tests are run in a Node.js environment using jsdom. For both Vitest and Karma, browser names ending with 'Headless' (e.g., 'ChromeHeadless') will enable headless mode.",
|
|
4324
4324
|
"type": "array",
|
|
4325
4325
|
"items": {
|
|
4326
4326
|
"type": "string"
|
|
@@ -4335,39 +4335,43 @@
|
|
|
4335
4335
|
"default": [
|
|
4336
4336
|
"**/*.spec.ts"
|
|
4337
4337
|
],
|
|
4338
|
-
"description": "
|
|
4338
|
+
"description": "Specifies glob patterns of files to include for testing, relative to the project root. This option also has special handling for directory paths (includes all `.spec.ts` files within) and file paths (includes the corresponding `.spec` file if one exists)."
|
|
4339
4339
|
},
|
|
4340
4340
|
"exclude": {
|
|
4341
4341
|
"type": "array",
|
|
4342
4342
|
"items": {
|
|
4343
4343
|
"type": "string"
|
|
4344
4344
|
},
|
|
4345
|
-
"description": "
|
|
4345
|
+
"description": "Specifies glob patterns of files to exclude from testing, relative to the project root."
|
|
4346
|
+
},
|
|
4347
|
+
"filter": {
|
|
4348
|
+
"type": "string",
|
|
4349
|
+
"description": "Specifies a regular expression pattern to match against test suite and test names. Only tests with a name matching the pattern will be executed. For example, `^App` will run only tests in suites beginning with 'App'."
|
|
4346
4350
|
},
|
|
4347
4351
|
"watch": {
|
|
4348
4352
|
"type": "boolean",
|
|
4349
|
-
"description": "
|
|
4353
|
+
"description": "Enables watch mode, which re-runs tests when source files change. Defaults to `true` in TTY environments and `false` otherwise."
|
|
4350
4354
|
},
|
|
4351
4355
|
"debug": {
|
|
4352
4356
|
"type": "boolean",
|
|
4353
|
-
"description": "
|
|
4357
|
+
"description": "Enables debugging mode for tests, allowing the use of the Node Inspector.",
|
|
4354
4358
|
"default": false
|
|
4355
4359
|
},
|
|
4356
4360
|
"codeCoverage": {
|
|
4357
4361
|
"type": "boolean",
|
|
4358
|
-
"description": "
|
|
4362
|
+
"description": "Enables code coverage reporting for tests.",
|
|
4359
4363
|
"default": false
|
|
4360
4364
|
},
|
|
4361
4365
|
"codeCoverageExclude": {
|
|
4362
4366
|
"type": "array",
|
|
4363
|
-
"description": "
|
|
4367
|
+
"description": "Specifies glob patterns of files to exclude from the code coverage report.",
|
|
4364
4368
|
"items": {
|
|
4365
4369
|
"type": "string"
|
|
4366
4370
|
}
|
|
4367
4371
|
},
|
|
4368
4372
|
"codeCoverageReporters": {
|
|
4369
4373
|
"type": "array",
|
|
4370
|
-
"description": "
|
|
4374
|
+
"description": "Specifies the reporters to use for code coverage results. Each reporter can be a string representing its name, or a tuple containing the name and an options object. Built-in reporters include 'html', 'lcov', 'lcovonly', 'text', 'text-summary', 'cobertura', 'json', and 'json-summary'.",
|
|
4371
4375
|
"items": {
|
|
4372
4376
|
"oneOf": [
|
|
4373
4377
|
{
|
|
@@ -4391,14 +4395,49 @@
|
|
|
4391
4395
|
},
|
|
4392
4396
|
"reporters": {
|
|
4393
4397
|
"type": "array",
|
|
4394
|
-
"description": "
|
|
4398
|
+
"description": "Specifies the reporters to use during test execution. Each reporter can be a string representing its name, or a tuple containing the name and an options object. Built-in reporters include 'default', 'verbose', 'dots', 'json', 'junit', 'tap', 'tap-flat', and 'html'. You can also provide a path to a custom reporter.",
|
|
4395
4399
|
"items": {
|
|
4396
|
-
"
|
|
4400
|
+
"oneOf": [
|
|
4401
|
+
{
|
|
4402
|
+
"anyOf": [
|
|
4403
|
+
{
|
|
4404
|
+
"$ref": "#/definitions/AngularBuildBuildersUnitTestSchema/definitions/reporters-enum"
|
|
4405
|
+
},
|
|
4406
|
+
{
|
|
4407
|
+
"type": "string"
|
|
4408
|
+
}
|
|
4409
|
+
]
|
|
4410
|
+
},
|
|
4411
|
+
{
|
|
4412
|
+
"type": "array",
|
|
4413
|
+
"minItems": 1,
|
|
4414
|
+
"maxItems": 2,
|
|
4415
|
+
"items": [
|
|
4416
|
+
{
|
|
4417
|
+
"anyOf": [
|
|
4418
|
+
{
|
|
4419
|
+
"$ref": "#/definitions/AngularBuildBuildersUnitTestSchema/definitions/reporters-enum"
|
|
4420
|
+
},
|
|
4421
|
+
{
|
|
4422
|
+
"type": "string"
|
|
4423
|
+
}
|
|
4424
|
+
]
|
|
4425
|
+
},
|
|
4426
|
+
{
|
|
4427
|
+
"type": "object"
|
|
4428
|
+
}
|
|
4429
|
+
]
|
|
4430
|
+
}
|
|
4431
|
+
]
|
|
4397
4432
|
}
|
|
4398
4433
|
},
|
|
4434
|
+
"outputFile": {
|
|
4435
|
+
"type": "string",
|
|
4436
|
+
"description": "Specifies a file path for the test report, applying only to the first reporter. To configure output files for multiple reporters, use the tuple format `['reporter-name', { outputFile: '...' }]` within the `reporters` option. When not provided, output is written to the console."
|
|
4437
|
+
},
|
|
4399
4438
|
"providersFile": {
|
|
4400
4439
|
"type": "string",
|
|
4401
|
-
"description": "TypeScript file that
|
|
4440
|
+
"description": "Specifies the path to a TypeScript file that provides an array of Angular providers for the test environment. The file must contain a default export of the provider array.",
|
|
4402
4441
|
"minLength": 1
|
|
4403
4442
|
},
|
|
4404
4443
|
"setupFiles": {
|
|
@@ -4406,11 +4445,22 @@
|
|
|
4406
4445
|
"items": {
|
|
4407
4446
|
"type": "string"
|
|
4408
4447
|
},
|
|
4409
|
-
"description": "A list of global setup
|
|
4448
|
+
"description": "A list of paths to global setup files that are executed before the test files. The application's polyfills and the Angular TestBed are always initialized before these files."
|
|
4410
4449
|
},
|
|
4411
4450
|
"progress": {
|
|
4412
4451
|
"type": "boolean",
|
|
4413
|
-
"description": "
|
|
4452
|
+
"description": "Shows build progress information in the console. Defaults to the `progress` setting of the specified `buildTarget`."
|
|
4453
|
+
},
|
|
4454
|
+
"listTests": {
|
|
4455
|
+
"type": "boolean",
|
|
4456
|
+
"description": "Lists all discovered test files and exits the process without building or executing the tests.",
|
|
4457
|
+
"default": false
|
|
4458
|
+
},
|
|
4459
|
+
"dumpVirtualFiles": {
|
|
4460
|
+
"type": "boolean",
|
|
4461
|
+
"description": "Dumps build output files to the `.angular/cache` directory for debugging purposes.",
|
|
4462
|
+
"default": false,
|
|
4463
|
+
"visible": false
|
|
4414
4464
|
}
|
|
4415
4465
|
},
|
|
4416
4466
|
"additionalProperties": false,
|
|
@@ -4426,6 +4476,19 @@
|
|
|
4426
4476
|
"json",
|
|
4427
4477
|
"json-summary"
|
|
4428
4478
|
]
|
|
4479
|
+
},
|
|
4480
|
+
"reporters-enum": {
|
|
4481
|
+
"type": "string",
|
|
4482
|
+
"enum": [
|
|
4483
|
+
"default",
|
|
4484
|
+
"verbose",
|
|
4485
|
+
"dots",
|
|
4486
|
+
"json",
|
|
4487
|
+
"junit",
|
|
4488
|
+
"tap",
|
|
4489
|
+
"tap-flat",
|
|
4490
|
+
"html"
|
|
4491
|
+
]
|
|
4429
4492
|
}
|
|
4430
4493
|
}
|
|
4431
4494
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/cli",
|
|
3
|
-
"version": "21.0.0-next.
|
|
3
|
+
"version": "21.0.0-next.5",
|
|
4
4
|
"description": "CLI tool for Angular",
|
|
5
5
|
"main": "lib/cli/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -25,20 +25,20 @@
|
|
|
25
25
|
},
|
|
26
26
|
"homepage": "https://github.com/angular/angular-cli",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@angular-devkit/architect": "0.2100.0-next.
|
|
29
|
-
"@angular-devkit/core": "21.0.0-next.
|
|
30
|
-
"@angular-devkit/schematics": "21.0.0-next.
|
|
31
|
-
"@inquirer/prompts": "7.8.
|
|
32
|
-
"@listr2/prompt-adapter-inquirer": "3.0.
|
|
33
|
-
"@modelcontextprotocol/sdk": "1.
|
|
34
|
-
"@schematics/angular": "21.0.0-next.
|
|
28
|
+
"@angular-devkit/architect": "0.2100.0-next.5",
|
|
29
|
+
"@angular-devkit/core": "21.0.0-next.5",
|
|
30
|
+
"@angular-devkit/schematics": "21.0.0-next.5",
|
|
31
|
+
"@inquirer/prompts": "7.8.6",
|
|
32
|
+
"@listr2/prompt-adapter-inquirer": "3.0.4",
|
|
33
|
+
"@modelcontextprotocol/sdk": "1.18.1",
|
|
34
|
+
"@schematics/angular": "21.0.0-next.5",
|
|
35
35
|
"@yarnpkg/lockfile": "1.1.0",
|
|
36
36
|
"algoliasearch": "5.37.0",
|
|
37
37
|
"ini": "5.0.0",
|
|
38
38
|
"jsonc-parser": "3.3.1",
|
|
39
|
-
"listr2": "9.0.
|
|
39
|
+
"listr2": "9.0.4",
|
|
40
40
|
"npm-package-arg": "13.0.0",
|
|
41
|
-
"pacote": "21.0.
|
|
41
|
+
"pacote": "21.0.3",
|
|
42
42
|
"resolve": "1.22.10",
|
|
43
43
|
"semver": "7.7.2",
|
|
44
44
|
"yargs": "18.0.0",
|
|
@@ -47,17 +47,17 @@
|
|
|
47
47
|
"ng-update": {
|
|
48
48
|
"migrations": "@schematics/angular/migrations/migration-collection.json",
|
|
49
49
|
"packageGroup": {
|
|
50
|
-
"@angular/cli": "21.0.0-next.
|
|
51
|
-
"@angular/build": "21.0.0-next.
|
|
52
|
-
"@angular/ssr": "21.0.0-next.
|
|
53
|
-
"@angular-devkit/architect": "0.2100.0-next.
|
|
54
|
-
"@angular-devkit/build-angular": "21.0.0-next.
|
|
55
|
-
"@angular-devkit/build-webpack": "0.2100.0-next.
|
|
56
|
-
"@angular-devkit/core": "21.0.0-next.
|
|
57
|
-
"@angular-devkit/schematics": "21.0.0-next.
|
|
50
|
+
"@angular/cli": "21.0.0-next.5",
|
|
51
|
+
"@angular/build": "21.0.0-next.5",
|
|
52
|
+
"@angular/ssr": "21.0.0-next.5",
|
|
53
|
+
"@angular-devkit/architect": "0.2100.0-next.5",
|
|
54
|
+
"@angular-devkit/build-angular": "21.0.0-next.5",
|
|
55
|
+
"@angular-devkit/build-webpack": "0.2100.0-next.5",
|
|
56
|
+
"@angular-devkit/core": "21.0.0-next.5",
|
|
57
|
+
"@angular-devkit/schematics": "21.0.0-next.5"
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
|
-
"packageManager": "pnpm@10.
|
|
60
|
+
"packageManager": "pnpm@10.17.1",
|
|
61
61
|
"engines": {
|
|
62
62
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
63
63
|
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
|
|
@@ -17,6 +17,7 @@ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
|
17
17
|
const node_path_1 = __importDefault(require("node:path"));
|
|
18
18
|
const version_1 = require("../../utilities/version");
|
|
19
19
|
const instructions_1 = require("./resources/instructions");
|
|
20
|
+
const ai_tutor_1 = require("./tools/ai-tutor");
|
|
20
21
|
const best_practices_1 = require("./tools/best-practices");
|
|
21
22
|
const doc_search_1 = require("./tools/doc-search");
|
|
22
23
|
const examples_1 = require("./tools/examples");
|
|
@@ -29,6 +30,7 @@ const tool_registry_1 = require("./tools/tool-registry");
|
|
|
29
30
|
* These tools are considered stable and suitable for general use.
|
|
30
31
|
*/
|
|
31
32
|
const STABLE_TOOLS = [
|
|
33
|
+
ai_tutor_1.AI_TUTOR_TOOL,
|
|
32
34
|
best_practices_1.BEST_PRACTICES_TOOL,
|
|
33
35
|
doc_search_1.DOC_SEARCH_TOOL,
|
|
34
36
|
examples_1.FIND_EXAMPLE_TOOL,
|