@angular/cli 21.0.0-next.8 → 21.0.0-rc.0

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.
Files changed (33) hide show
  1. package/lib/code-examples.db +0 -0
  2. package/lib/config/schema.json +39 -5
  3. package/lib/config/workspace-schema.d.ts +15 -0
  4. package/lib/config/workspace-schema.js +9 -1
  5. package/lib/config/workspace-schema.js.map +1 -1
  6. package/package.json +20 -19
  7. package/src/command-builder/architect-command-module.js +9 -2
  8. package/src/command-builder/architect-command-module.js.map +1 -1
  9. package/src/command-builder/command-runner.js +1 -2
  10. package/src/command-builder/command-runner.js.map +1 -1
  11. package/src/commands/mcp/constants.d.ts +1 -1
  12. package/src/commands/mcp/constants.js +1 -1
  13. package/src/commands/mcp/mcp-server.js +5 -4
  14. package/src/commands/mcp/mcp-server.js.map +1 -1
  15. package/src/commands/mcp/tools/best-practices.d.ts +4 -1
  16. package/src/commands/mcp/tools/best-practices.js +151 -17
  17. package/src/commands/mcp/tools/best-practices.js.map +1 -1
  18. package/src/commands/mcp/tools/doc-search.d.ts +1 -0
  19. package/src/commands/mcp/tools/doc-search.js +94 -47
  20. package/src/commands/mcp/tools/doc-search.js.map +1 -1
  21. package/src/commands/mcp/tools/examples.d.ts +1 -0
  22. package/src/commands/mcp/tools/examples.js +179 -72
  23. package/src/commands/mcp/tools/examples.js.map +1 -1
  24. package/src/commands/mcp/tools/projects.d.ts +10 -0
  25. package/src/commands/mcp/tools/projects.js +157 -5
  26. package/src/commands/mcp/tools/projects.js.map +1 -1
  27. package/src/package-managers/index.d.ts +12 -0
  28. package/src/package-managers/index.js +15 -0
  29. package/src/package-managers/index.js.map +1 -0
  30. package/src/package-managers/package-manager.js +3 -2
  31. package/src/package-managers/package-manager.js.map +1 -1
  32. package/src/package-managers/package-metadata.d.ts +2 -0
  33. package/src/utilities/version.js +1 -1
Binary file
@@ -1015,6 +1015,15 @@
1015
1015
  "default": false,
1016
1016
  "alias": "S"
1017
1017
  },
1018
+ "testRunner": {
1019
+ "description": "The unit testing runner to use.",
1020
+ "type": "string",
1021
+ "enum": [
1022
+ "vitest",
1023
+ "karma"
1024
+ ],
1025
+ "default": "vitest"
1026
+ },
1018
1027
  "skipPackageJson": {
1019
1028
  "type": "boolean",
1020
1029
  "default": false,
@@ -1797,6 +1806,15 @@
1797
1806
  "default": false,
1798
1807
  "alias": "S"
1799
1808
  },
1809
+ "testRunner": {
1810
+ "description": "The unit testing runner to use.",
1811
+ "type": "string",
1812
+ "enum": [
1813
+ "vitest",
1814
+ "karma"
1815
+ ],
1816
+ "default": "vitest"
1817
+ },
1800
1818
  "createApplication": {
1801
1819
  "description": "Create a new initial application project in the new workspace. When false, creates an empty workspace with no initial application. You can then use the `ng generate application` command to create applications in the `projects` directory.",
1802
1820
  "type": "boolean",
@@ -3978,6 +3996,13 @@
3978
3996
  }
3979
3997
  ]
3980
3998
  },
3999
+ "define": {
4000
+ "description": "Defines global identifiers that will be replaced with a specified constant value when found in any JavaScript or TypeScript code including libraries. The value will be used directly. String values must be put in quotes. Identifiers within Angular metadata such as Component Decorators will not be replaced.",
4001
+ "type": "object",
4002
+ "additionalProperties": {
4003
+ "type": "string"
4004
+ }
4005
+ },
3981
4006
  "headers": {
3982
4007
  "type": "object",
3983
4008
  "description": "Custom HTTP headers to be added to all responses.",
@@ -4315,11 +4340,20 @@
4315
4340
  "runner": {
4316
4341
  "type": "string",
4317
4342
  "description": "Specifies the test runner to use for test execution.",
4343
+ "default": "vitest",
4318
4344
  "enum": [
4319
4345
  "karma",
4320
4346
  "vitest"
4321
4347
  ]
4322
4348
  },
4349
+ "runnerConfig": {
4350
+ "type": [
4351
+ "boolean",
4352
+ "string"
4353
+ ],
4354
+ "description": "Specifies the configuration file for the selected test runner. If a string is provided, it will be used as the path to the configuration file. If `true`, the builder will search for a default configuration file (e.g., `vitest.config.ts` or `karma.conf.js`). If `false`, no external configuration file will be used.\\nFor Vitest, this enables advanced options and the use of custom plugins. Please note that while the file is loaded, the Angular team does not provide direct support for its specific contents or any third-party plugins used within it.",
4355
+ "default": false
4356
+ },
4323
4357
  "browsers": {
4324
4358
  "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.",
4325
4359
  "type": "array",
@@ -4364,15 +4398,15 @@
4364
4398
  "description": "Enables debugging mode for tests, allowing the use of the Node Inspector.",
4365
4399
  "default": false
4366
4400
  },
4367
- "coverage": {
4401
+ "ui": {
4368
4402
  "type": "boolean",
4369
- "description": "Enables coverage reporting for tests.",
4403
+ "description": "Enables the Vitest UI for interactive test execution. This option is only available for the Vitest runner.",
4370
4404
  "default": false
4371
4405
  },
4372
- "coverageAll": {
4406
+ "coverage": {
4373
4407
  "type": "boolean",
4374
- "description": "Includes all files that match the `coverageInclude` pattern in the coverage report, not just those touched by tests.",
4375
- "default": true
4408
+ "description": "Enables coverage reporting for tests.",
4409
+ "default": false
4376
4410
  },
4377
4411
  "coverageInclude": {
4378
4412
  "type": "array",
@@ -183,6 +183,10 @@ export type AngularApplicationOptionsSchema = {
183
183
  * The type of stylesheet files to be created for components in the application.
184
184
  */
185
185
  style?: SchematicsAngularApplicationStyle;
186
+ /**
187
+ * The unit testing runner to use.
188
+ */
189
+ testRunner?: TestRunner;
186
190
  /**
187
191
  * Sets the view encapsulation mode for the application's components. This determines how
188
192
  * component styles are scoped and applied.
@@ -215,6 +219,13 @@ export declare enum SchematicsAngularApplicationStyle {
215
219
  Scss = "scss",
216
220
  Tailwind = "tailwind"
217
221
  }
222
+ /**
223
+ * The unit testing runner to use.
224
+ */
225
+ export declare enum TestRunner {
226
+ Karma = "karma",
227
+ Vitest = "vitest"
228
+ }
218
229
  /**
219
230
  * Sets the view encapsulation mode for the application's components. This determines how
220
231
  * component styles are scoped and applied.
@@ -801,6 +812,10 @@ export type AngularNgNewOptionsSchema = {
801
812
  * The type of stylesheet files to be created for components in the initial project.
802
813
  */
803
814
  style?: SchematicsAngularApplicationStyle;
815
+ /**
816
+ * The unit testing runner to use.
817
+ */
818
+ testRunner?: TestRunner;
804
819
  /**
805
820
  * The version of the Angular CLI to use.
806
821
  */
@@ -2,7 +2,7 @@
2
2
  // THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
3
3
  // CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.AiConfig = exports.TypeSeparator = exports.Implement = exports.SchematicsAngularComponentStyle = exports.ChangeDetection = exports.ViewEncapsulation = exports.SchematicsAngularApplicationStyle = exports.FileNameStyleGuide = exports.PackageManager = exports.Environment = void 0;
5
+ exports.AiConfig = exports.TypeSeparator = exports.Implement = exports.SchematicsAngularComponentStyle = exports.ChangeDetection = exports.ViewEncapsulation = exports.TestRunner = exports.SchematicsAngularApplicationStyle = exports.FileNameStyleGuide = exports.PackageManager = exports.Environment = void 0;
6
6
  /**
7
7
  * Configure in which environment disk cache is enabled.
8
8
  */
@@ -48,6 +48,14 @@ var SchematicsAngularApplicationStyle;
48
48
  SchematicsAngularApplicationStyle["Scss"] = "scss";
49
49
  SchematicsAngularApplicationStyle["Tailwind"] = "tailwind";
50
50
  })(SchematicsAngularApplicationStyle || (exports.SchematicsAngularApplicationStyle = SchematicsAngularApplicationStyle = {}));
51
+ /**
52
+ * The unit testing runner to use.
53
+ */
54
+ var TestRunner;
55
+ (function (TestRunner) {
56
+ TestRunner["Karma"] = "karma";
57
+ TestRunner["Vitest"] = "vitest";
58
+ })(TestRunner || (exports.TestRunner = TestRunner = {}));
51
59
  /**
52
60
  * Sets the view encapsulation mode for the application's components. This determines how
53
61
  * component styles are scoped and applied.
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-schema.js","sourceRoot":"","sources":["workspace-schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AA4DpF;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,0BAAW,CAAA;IACX,wBAAS,CAAA;IACT,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;;;GAIG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAiID;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;;;GAIG;AACH,IAAY,iCAMX;AAND,WAAY,iCAAiC;IACzC,gDAAW,CAAA;IACX,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,0DAAqB,CAAA;AACzB,CAAC,EANW,iCAAiC,iDAAjC,iCAAiC,QAM5C;AAED;;;;;;;;;;;GAWG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAsJD;;GAEG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED;;;GAGG;AACH,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACvC,8CAAW,CAAA;IACX,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;AACjB,CAAC,EANW,+BAA+B,+CAA/B,+BAA+B,QAM1C;AAwJD,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;AACzB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED;;;;;;;;;;;;GAYG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAiQD,IAAY,QASX;AATD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,yBAAa,CAAA;IACb,iCAAqB,CAAA;AACzB,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB"}
1
+ {"version":3,"file":"workspace-schema.js","sourceRoot":"","sources":["workspace-schema.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,oFAAoF;;;AA4DpF;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,0BAAW,CAAA;IACX,wBAAS,CAAA;IACT,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;;;GAIG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACjB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAqID;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,sCAAgB,CAAA;IAChB,sCAAgB,CAAA;AACpB,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED;;;;GAIG;AACH,IAAY,iCAMX;AAND,WAAY,iCAAiC;IACzC,gDAAW,CAAA;IACX,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,kDAAa,CAAA;IACb,0DAAqB,CAAA;AACzB,CAAC,EANW,iCAAiC,iDAAjC,iCAAiC,QAM5C;AAED;;GAEG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,6BAAe,CAAA;IACf,+BAAiB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;;;;;;;;;;GAWG;AACH,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,4CAAuB,CAAA;AAC3B,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAsJD;;GAEG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IACvB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED;;;GAGG;AACH,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACvC,8CAAW,CAAA;IACX,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;IACb,gDAAa,CAAA;AACjB,CAAC,EANW,+BAA+B,+CAA/B,+BAA+B,QAM1C;AAwJD,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;AACzB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED;;;;;;;;;;;;GAYG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAqQD,IAAY,QASX;AATD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,yBAAa,CAAA;IACb,iCAAqB,CAAA;AACzB,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/cli",
3
- "version": "21.0.0-next.8",
3
+ "version": "21.0.0-rc.0",
4
4
  "description": "CLI tool for Angular",
5
5
  "main": "lib/cli/index.js",
6
6
  "bin": {
@@ -25,21 +25,22 @@
25
25
  },
26
26
  "homepage": "https://github.com/angular/angular-cli",
27
27
  "dependencies": {
28
- "@angular-devkit/architect": "0.2100.0-next.8",
29
- "@angular-devkit/core": "21.0.0-next.8",
30
- "@angular-devkit/schematics": "21.0.0-next.8",
28
+ "@angular-devkit/architect": "0.2100.0-rc.0",
29
+ "@angular-devkit/core": "21.0.0-rc.0",
30
+ "@angular-devkit/schematics": "21.0.0-rc.0",
31
31
  "@inquirer/prompts": "7.9.0",
32
- "@listr2/prompt-adapter-inquirer": "3.0.4",
33
- "@modelcontextprotocol/sdk": "1.20.0",
34
- "@schematics/angular": "21.0.0-next.8",
32
+ "@listr2/prompt-adapter-inquirer": "3.0.5",
33
+ "@modelcontextprotocol/sdk": "1.20.1",
34
+ "@schematics/angular": "21.0.0-rc.0",
35
35
  "@yarnpkg/lockfile": "1.1.0",
36
- "algoliasearch": "5.40.0",
36
+ "algoliasearch": "5.40.1",
37
37
  "ini": "5.0.0",
38
38
  "jsonc-parser": "3.3.1",
39
- "listr2": "9.0.4",
39
+ "listr2": "9.0.5",
40
40
  "npm-package-arg": "13.0.1",
41
41
  "pacote": "21.0.3",
42
- "resolve": "1.22.10",
42
+ "parse5-html-rewriting-stream": "8.0.0",
43
+ "resolve": "1.22.11",
43
44
  "semver": "7.7.3",
44
45
  "yargs": "18.0.0",
45
46
  "zod": "3.25.76"
@@ -47,17 +48,17 @@
47
48
  "ng-update": {
48
49
  "migrations": "@schematics/angular/migrations/migration-collection.json",
49
50
  "packageGroup": {
50
- "@angular/cli": "21.0.0-next.8",
51
- "@angular/build": "21.0.0-next.8",
52
- "@angular/ssr": "21.0.0-next.8",
53
- "@angular-devkit/architect": "0.2100.0-next.8",
54
- "@angular-devkit/build-angular": "21.0.0-next.8",
55
- "@angular-devkit/build-webpack": "0.2100.0-next.8",
56
- "@angular-devkit/core": "21.0.0-next.8",
57
- "@angular-devkit/schematics": "21.0.0-next.8"
51
+ "@angular/cli": "21.0.0-rc.0",
52
+ "@angular/build": "21.0.0-rc.0",
53
+ "@angular/ssr": "21.0.0-rc.0",
54
+ "@angular-devkit/architect": "0.2100.0-rc.0",
55
+ "@angular-devkit/build-angular": "21.0.0-rc.0",
56
+ "@angular-devkit/build-webpack": "0.2100.0-rc.0",
57
+ "@angular-devkit/core": "21.0.0-rc.0",
58
+ "@angular-devkit/schematics": "21.0.0-rc.0"
58
59
  }
59
60
  },
60
- "packageManager": "pnpm@10.18.3",
61
+ "packageManager": "pnpm@10.19.0",
61
62
  "engines": {
62
63
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
63
64
  "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
@@ -62,14 +62,21 @@ let ArchitectCommandModule = (() => {
62
62
  // Add default builder if target is not in project and a command default is provided
63
63
  if (this.findDefaultBuilderName && this.context.workspace) {
64
64
  for (const [project, projectDefinition] of this.context.workspace.projects) {
65
- if (projectDefinition.targets.has(target)) {
65
+ const targetDefinition = projectDefinition.targets.get(target);
66
+ if (targetDefinition?.builder) {
66
67
  continue;
67
68
  }
68
69
  const defaultBuilder = await this.findDefaultBuilderName(projectDefinition, {
69
70
  project,
70
71
  target,
71
72
  });
72
- if (defaultBuilder) {
73
+ if (!defaultBuilder) {
74
+ continue;
75
+ }
76
+ if (targetDefinition) {
77
+ targetDefinition.builder = defaultBuilder;
78
+ }
79
+ else {
73
80
  projectDefinition.targets.set(target, {
74
81
  builder: defaultBuilder,
75
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"architect-command-module.js","sourceRoot":"","sources":["architect-command-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"architect-command-module.js","sourceRoot":"","sources":["architect-command-module.ts"],"names":[],"mappings":"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"}
@@ -23,9 +23,8 @@ const command_module_1 = require("./command-module");
23
23
  const command_1 = require("./utilities/command");
24
24
  const json_help_1 = require("./utilities/json-help");
25
25
  const normalize_options_middleware_1 = require("./utilities/normalize-options-middleware");
26
- const yargsParser = helpers_1.Parser;
27
26
  async function runCommand(args, logger) {
28
- const { $0, _, help = false, jsonHelp = false, getYargsCompletions = false, ...rest } = yargsParser(args, {
27
+ const { $0, _, help = false, jsonHelp = false, getYargsCompletions = false, ...rest } = (0, helpers_1.Parser)(args, {
29
28
  boolean: ['help', 'json-help', 'get-yargs-completions'],
30
29
  alias: { 'collection': 'c' },
31
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"command-runner.js","sourceRoot":"","sources":["command-runner.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AA2BH,gCAiHC;AAzID,kDAA0B;AAC1B,2CAAuC;AACvC,+DAKoC;AACpC,8CAA4C;AAC5C,gDAAqE;AACrE,8CAAmD;AACnD,kEAAmE;AACnE,kDAA+C;AAC/C,qDAAsE;AACtE,iDAI6B;AAC7B,qDAAsD;AACtD,2FAA4F;AAE5F,MAAM,WAAW,GAAG,gBAA0C,CAAC;AAExD,KAAK,UAAU,UAAU,CAAC,IAAc,EAAE,MAAsB;IACrE,MAAM,EACJ,EAAE,EACF,CAAC,EACD,IAAI,GAAG,KAAK,EACZ,QAAQ,GAAG,KAAK,EAChB,mBAAmB,GAAG,KAAK,EAC3B,GAAG,IAAI,EACR,GAAG,WAAW,CAAC,IAAI,EAAE;QACpB,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,uBAAuB,CAAC;QACvD,KAAK,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE;KAC7B,CAAC,CAAC;IAEH,oFAAoF;IACpF,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,IAAI,SAAuC,CAAC;IAC5C,IAAI,mBAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,CAAC,SAAS,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnD,IAAA,qBAAY,EAAC,OAAO,CAAC;YACrB,IAAA,qBAAY,EAAC,QAAQ,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAExB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAmB;QAC9B,mBAAmB;QACnB,SAAS;QACT,MAAM;QACN,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;QAC/B,aAAa,EAAE,UAAU;QACzB,IAAI;QACJ,cAAc,EAAE,IAAI,qCAAmB,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACjF,IAAI,EAAE;YACJ,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/C,OAAO,EAAE;gBACP,IAAI;gBACJ,QAAQ;gBACR,mBAAmB;gBACnB,GAAG,IAAI;aACR;SACF;KACF,CAAC;IAEF,KAAK,MAAM,aAAa,IAAI,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,IAAA,iCAAuB,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,8DAA8D;QAC9D,MAAM,aAAa,GAAI,UAAkB,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAClF,aAAa,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAA,yBAAa,EAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,gFAAgF;IAChF,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CACzC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,2BAA2B,EAAE,iBAAO,CAAC,IAAI,CAAC,CACtE,CAAC;IAEF,MAAM,UAAU;SACb,UAAU,CAAC,IAAI,CAAC;QACjB,qFAAqF;SACpF,mBAAmB,CAAC;QACnB,YAAY,EAAE,IAAI;QAClB,yBAAyB,EAAE,KAAK;QAChC,cAAc,EAAE,KAAK;QACrB,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,sBAAsB,EAAE,KAAK;KAC9B,CAAC;SACD,MAAM,CAAC,WAAW,EAAE;QACnB,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,SAAS;KAChB,CAAC;SACD,IAAI,CAAC,MAAM,EAAE,uDAAuD,CAAC;QACtE,oGAAoG;SACnG,aAAa,CAAC;QACb,WAAW,EAAE,cAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,UAAU,EAAE,cAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,cAAc,EAAE,cAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QACzC,YAAY,EAAE,cAAM,CAAC,MAAM,CAAC,YAAY,CAAC;QACzC,gBAAgB,EAAE,cAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK;QACtD,kBAAkB,EAAE,mCAAmC;KACxD,CAAC;SACD,QAAQ,CAAC,uDAAuD,CAAC;SACjE,aAAa,CAAC,CAAC,EAAE,qCAA2B,CAAC;SAC7C,iBAAiB,EAAE;SACnB,UAAU,CAAC,IAAA,+DAAgC,EAAC,UAAU,CAAC,CAAC;SACxD,OAAO,CAAC,KAAK,CAAC;SACd,cAAc,CAAC,KAAK,CAAC;SACrB,MAAM,EAAE;SACR,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,MAAM,GAAG;YACP,CAAC,CAAC,iDAAiD;gBACjD,IAAI,mCAAkB,CAAC,GAAG,CAAC;YAC7B,CAAC,CAAC,+BAA+B;gBAC/B,GAAG,CAAC;IACV,CAAC,CAAC;SACD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;SAChC,UAAU,EAAE,CAAC;IAEhB,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,qBAAqB,CAClC,WAA4B;IAE5B,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,IAAI,WAAW,IAAI,6BAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,6BAAY,CAAC,WAA2B,CAAC,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,WAAW,IAAI,oCAAmB,EAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,oCAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,oDAAoD;QACpD,MAAM,CAAC,MAAM,CAAC,6BAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"command-runner.js","sourceRoot":"","sources":["command-runner.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,5 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  export declare const k1 = "@angular/cli";
9
- export declare const at = "QBHBbOdEO4CmBOC2d7jNmg==";
9
+ export declare const at = "gv2tkIHTOiWtI6Su96LXLQ==";
10
10
  export declare const iv: Buffer<ArrayBuffer>;
@@ -9,7 +9,7 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.iv = exports.at = exports.k1 = void 0;
11
11
  exports.k1 = '@angular/cli';
12
- exports.at = 'QBHBbOdEO4CmBOC2d7jNmg==';
12
+ exports.at = 'gv2tkIHTOiWtI6Su96LXLQ==';
13
13
  exports.iv = Buffer.from([
14
14
  0x97, 0xf4, 0x62, 0x95, 0x3e, 0x12, 0x76, 0x84, 0x8a, 0x09, 0x4a, 0xc9, 0xeb, 0xa2, 0x84, 0x69,
15
15
  ]);
@@ -61,11 +61,12 @@ equivalent actions.
61
61
 
62
62
  <Core Workflows & Tool Guide>
63
63
  * **1. Discover Project Structure (Mandatory First Step):** Always begin by calling
64
- \`list_projects\` to understand the workspace. The outputs from this tool are often
65
- required inputs for other tools.
64
+ \`list_projects\` to understand the workspace. The \`path\` property for a workspace
65
+ is a required input for other tools.
66
66
 
67
- * **2. Write & Modify Code:** Before writing or changing code, you MUST consult the
68
- \`get_best_practices\` tool to learn the current, non-negotiable coding standards.
67
+ * **2. Get Coding Standards:** Before writing or changing code within a project, you **MUST** call
68
+ the \`get_best_practices\` tool with the \`workspacePath\` from the previous step to get
69
+ version-specific standards. For general knowledge, you can call the tool without this path.
69
70
 
70
71
  * **3. Answer User Questions:**
71
72
  - For conceptual questions ("what is..."), use \`search_documentation\`.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["mcp-server.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- export declare const BEST_PRACTICES_TOOL: import("./tool-registry").McpToolDeclaration<import("zod").ZodRawShape, import("zod").ZodRawShape>;
8
+ import { z } from 'zod';
9
+ export declare const BEST_PRACTICES_TOOL: import("./tool-registry").McpToolDeclaration<{
10
+ workspacePath: z.ZodOptional<z.ZodString>;
11
+ }, z.ZodRawShape>;
@@ -11,9 +11,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.BEST_PRACTICES_TOOL = void 0;
14
+ /**
15
+ * @fileoverview
16
+ * This file defines the `get_best_practices` MCP tool. The tool is designed to be version-aware,
17
+ * dynamically resolving the best practices guide from the user's installed version of
18
+ * `@angular/core`. It achieves this by reading a custom `angular` metadata block in the
19
+ * framework's `package.json`. If this resolution fails, it gracefully falls back to a generic
20
+ * guide bundled with the Angular CLI.
21
+ */
14
22
  const promises_1 = require("node:fs/promises");
23
+ const node_module_1 = require("node:module");
15
24
  const node_path_1 = __importDefault(require("node:path"));
25
+ const zod_1 = require("zod");
26
+ const version_1 = require("../../../utilities/version");
16
27
  const tool_registry_1 = require("./tool-registry");
28
+ const bestPracticesInputSchema = zod_1.z.object({
29
+ workspacePath: zod_1.z
30
+ .string()
31
+ .optional()
32
+ .describe('The absolute path to the `angular.json` file for the workspace. This is used to find the ' +
33
+ 'version-specific best practices guide that corresponds to the installed version of the ' +
34
+ 'Angular framework. You **MUST** get this path from the `list_projects` tool. If omitted, ' +
35
+ 'the tool will return the generic best practices guide bundled with the CLI.'),
36
+ });
17
37
  exports.BEST_PRACTICES_TOOL = (0, tool_registry_1.declareTool)({
18
38
  name: 'get_best_practices',
19
39
  title: 'Get Angular Coding Best Practices Guide',
@@ -28,29 +48,143 @@ that **MUST** be followed for any task involving the creation, analysis, or modi
28
48
  * To verify that existing code aligns with current Angular conventions before making changes.
29
49
  </Use Cases>
30
50
  <Operational Notes>
51
+ * **Project-Specific Use (Recommended):** For tasks inside a user's project, you **MUST** provide the
52
+ \`workspacePath\` argument to get the guide that matches the project's Angular version. Get this
53
+ path from \`list_projects\`.
54
+ * **General Use:** If no project context is available (e.g., for general questions or learning),
55
+ you can call the tool without the \`workspacePath\` argument. It will return the latest
56
+ generic best practices guide.
31
57
  * The content of this guide is non-negotiable and reflects the official, up-to-date standards for Angular development.
32
58
  * You **MUST** internalize and apply the principles from this guide in all subsequent Angular-related tasks.
33
59
  * Failure to adhere to these best practices will result in suboptimal and outdated code.
34
60
  </Operational Notes>`,
61
+ inputSchema: bestPracticesInputSchema.shape,
35
62
  isReadOnly: true,
36
63
  isLocalOnly: true,
37
- factory: () => {
38
- let bestPracticesText;
39
- return async () => {
40
- bestPracticesText ??= await (0, promises_1.readFile)(node_path_1.default.join(__dirname, '..', 'resources', 'best-practices.md'), 'utf-8');
41
- return {
42
- content: [
43
- {
44
- type: 'text',
45
- text: bestPracticesText,
46
- annotations: {
47
- audience: ['assistant'],
48
- priority: 0.9,
49
- },
64
+ factory: createBestPracticesHandler,
65
+ });
66
+ /**
67
+ * Retrieves the content of the generic best practices guide that is bundled with the CLI.
68
+ * This serves as a fallback when a version-specific guide cannot be found.
69
+ * @returns A promise that resolves to the string content of the bundled markdown file.
70
+ */
71
+ async function getBundledBestPractices() {
72
+ return (0, promises_1.readFile)(node_path_1.default.join(__dirname, '..', 'resources', 'best-practices.md'), 'utf-8');
73
+ }
74
+ /**
75
+ * Attempts to find and read a version-specific best practices guide from the user's installed
76
+ * version of `@angular/core`. It looks for a custom `angular` metadata property in the
77
+ * framework's `package.json` to locate the guide.
78
+ *
79
+ * @example A sample `package.json` `angular` field:
80
+ * ```json
81
+ * {
82
+ * "angular": {
83
+ * "bestPractices": {
84
+ * "format": "markdown",
85
+ * "path": "./resources/best-practices.md"
86
+ * }
87
+ * }
88
+ * }
89
+ * ```
90
+ *
91
+ * @param workspacePath The absolute path to the user's `angular.json` file.
92
+ * @param logger The MCP tool context logger for reporting warnings.
93
+ * @returns A promise that resolves to an object containing the guide's content and source,
94
+ * or `undefined` if the guide could not be resolved.
95
+ */
96
+ async function getVersionSpecificBestPractices(workspacePath, logger) {
97
+ // 1. Resolve the path to package.json
98
+ let pkgJsonPath;
99
+ try {
100
+ const workspaceRequire = (0, node_module_1.createRequire)(workspacePath);
101
+ pkgJsonPath = workspaceRequire.resolve('@angular/core/package.json');
102
+ }
103
+ catch (e) {
104
+ logger.warn(`Could not resolve '@angular/core/package.json' from '${workspacePath}'. ` +
105
+ 'Is Angular installed in this project? Falling back to the bundled guide.');
106
+ return undefined;
107
+ }
108
+ // 2. Read and parse package.json, then find and read the guide.
109
+ try {
110
+ const pkgJsonContent = await (0, promises_1.readFile)(pkgJsonPath, 'utf-8');
111
+ const pkgJson = JSON.parse(pkgJsonContent);
112
+ const bestPracticesInfo = pkgJson['angular']?.bestPractices;
113
+ if (bestPracticesInfo &&
114
+ bestPracticesInfo.format === 'markdown' &&
115
+ typeof bestPracticesInfo.path === 'string') {
116
+ const packageDirectory = node_path_1.default.dirname(pkgJsonPath);
117
+ const guidePath = node_path_1.default.resolve(packageDirectory, bestPracticesInfo.path);
118
+ // Ensure the resolved guide path is within the package boundary.
119
+ // Uses path.relative to create a cross-platform, case-insensitive check.
120
+ // If the relative path starts with '..' or is absolute, it is a traversal attempt.
121
+ const relativePath = node_path_1.default.relative(packageDirectory, guidePath);
122
+ if (relativePath.startsWith('..') || node_path_1.default.isAbsolute(relativePath)) {
123
+ logger.warn(`Detected a potential path traversal attempt in '${pkgJsonPath}'. ` +
124
+ `The path '${bestPracticesInfo.path}' escapes the package boundary. ` +
125
+ 'Falling back to the bundled guide.');
126
+ return undefined;
127
+ }
128
+ // Check the file size to prevent reading a very large file.
129
+ const stats = await (0, promises_1.stat)(guidePath);
130
+ if (stats.size > 1024 * 1024) {
131
+ // 1MB
132
+ logger.warn(`The best practices guide at '${guidePath}' is larger than 1MB (${stats.size} bytes). ` +
133
+ 'This is unexpected and the file will not be read. Falling back to the bundled guide.');
134
+ return undefined;
135
+ }
136
+ const content = await (0, promises_1.readFile)(guidePath, 'utf-8');
137
+ const source = `framework version ${pkgJson.version}`;
138
+ return { content, source };
139
+ }
140
+ else {
141
+ logger.warn(`Did not find valid 'angular.bestPractices' metadata in '${pkgJsonPath}'. ` +
142
+ 'Falling back to the bundled guide.');
143
+ }
144
+ }
145
+ catch (e) {
146
+ logger.warn(`Failed to read or parse version-specific best practices referenced in '${pkgJsonPath}': ${e instanceof Error ? e.message : e}. Falling back to the bundled guide.`);
147
+ }
148
+ return undefined;
149
+ }
150
+ /**
151
+ * Creates the handler function for the `get_best_practices` tool.
152
+ * The handler orchestrates the process of first attempting to get a version-specific guide
153
+ * and then falling back to the bundled guide if necessary.
154
+ * @param context The MCP tool context, containing the logger.
155
+ * @returns An async function that serves as the tool's executor.
156
+ */
157
+ function createBestPracticesHandler({ logger }) {
158
+ let bundledBestPractices;
159
+ return async (input) => {
160
+ let content;
161
+ let source;
162
+ // First, try to get the version-specific guide.
163
+ if (input.workspacePath) {
164
+ const versionSpecific = await getVersionSpecificBestPractices(input.workspacePath, logger);
165
+ if (versionSpecific) {
166
+ content = versionSpecific.content;
167
+ source = versionSpecific.source;
168
+ }
169
+ }
170
+ // If the version-specific guide was not found for any reason, fall back to the bundled version.
171
+ if (content === undefined) {
172
+ content = await (bundledBestPractices ??= getBundledBestPractices());
173
+ source = `bundled (CLI v${version_1.VERSION.full})`;
174
+ }
175
+ return {
176
+ content: [
177
+ {
178
+ type: 'text',
179
+ text: content,
180
+ annotations: {
181
+ audience: ['assistant'],
182
+ priority: 0.9,
183
+ source,
50
184
  },
51
- ],
52
- };
185
+ },
186
+ ],
53
187
  };
54
- },
55
- });
188
+ };
189
+ }
56
190
  //# sourceMappingURL=best-practices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"best-practices.js","sourceRoot":"","sources":["best-practices.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAEH,+CAA4C;AAC5C,0DAA6B;AAC7B,mDAA8C;AAEjC,QAAA,mBAAmB,GAAG,IAAA,2BAAW,EAAC;IAC7C,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,yCAAyC;IAChD,WAAW,EAAE;;;;;;;;;;;;;;qBAcM;IACnB,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,GAAG,EAAE;QACZ,IAAI,iBAAyB,CAAC;QAE9B,OAAO,KAAK,IAAI,EAAE;YAChB,iBAAiB,KAAK,MAAM,IAAA,mBAAQ,EAClC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAC5D,OAAO,CACR,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iBAAiB;wBACvB,WAAW,EAAE;4BACX,QAAQ,EAAE,CAAC,WAAW,CAAC;4BACvB,QAAQ,EAAE,GAAG;yBACd;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"best-practices.js","sourceRoot":"","sources":["best-practices.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare const DOC_SEARCH_TOOL: import("./tool-registry").McpToolDeclarati
11
11
  includeTopContent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
12
12
  version: z.ZodOptional<z.ZodNumber>;
13
13
  }, {
14
+ searchedVersion: z.ZodNumber;
14
15
  results: z.ZodArray<z.ZodObject<{
15
16
  title: z.ZodString;
16
17
  breadcrumb: z.ZodString;