@angular/cli 21.1.0-next.0 → 21.1.0-next.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.
Files changed (97) hide show
  1. package/lib/code-examples.db +0 -0
  2. package/package.json +17 -17
  3. package/src/commands/add/cli.js +129 -87
  4. package/src/commands/add/cli.js.map +1 -1
  5. package/src/commands/mcp/cli.js +4 -1
  6. package/src/commands/mcp/cli.js.map +1 -1
  7. package/src/commands/mcp/{dev-server.d.ts → devserver.d.ts} +4 -4
  8. package/src/commands/mcp/{dev-server.js → devserver.js} +14 -14
  9. package/src/commands/mcp/devserver.js.map +1 -0
  10. package/src/commands/mcp/host.d.ts +27 -0
  11. package/src/commands/mcp/host.js +8 -0
  12. package/src/commands/mcp/host.js.map +1 -1
  13. package/src/commands/mcp/mcp-server.d.ts +50 -9
  14. package/src/commands/mcp/mcp-server.js +26 -9
  15. package/src/commands/mcp/mcp-server.js.map +1 -1
  16. package/src/commands/mcp/resources/ai-tutor.md +199 -3
  17. package/src/commands/mcp/tools/ai-tutor.d.ts +5 -1
  18. package/src/commands/mcp/tools/best-practices.d.ts +3 -1
  19. package/src/commands/mcp/tools/best-practices.js.map +1 -1
  20. package/src/commands/mcp/tools/build.d.ts +8 -19
  21. package/src/commands/mcp/tools/build.js +2 -2
  22. package/src/commands/mcp/tools/build.js.map +1 -1
  23. package/src/commands/mcp/tools/devserver/devserver-start.d.ts +30 -0
  24. package/src/commands/mcp/tools/devserver/{start-devserver.js → devserver-start.js} +26 -27
  25. package/src/commands/mcp/tools/devserver/devserver-start.js.map +1 -0
  26. package/src/commands/mcp/tools/devserver/devserver-stop.d.ts +39 -0
  27. package/src/commands/mcp/tools/devserver/{stop-devserver.js → devserver-stop.js} +13 -13
  28. package/src/commands/mcp/tools/devserver/{stop-devserver.js.map → devserver-stop.js.map} +1 -1
  29. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.d.ts +41 -0
  30. package/src/commands/mcp/tools/devserver/{wait-for-devserver-build.js → devserver-wait-for-build.js} +16 -16
  31. package/src/commands/mcp/tools/devserver/{wait-for-devserver-build.js.map → devserver-wait-for-build.js.map} +1 -1
  32. package/src/commands/mcp/tools/doc-search.d.ts +1 -11
  33. package/src/commands/mcp/tools/examples/database-discovery.d.ts +34 -0
  34. package/src/commands/mcp/tools/examples/database-discovery.js +87 -0
  35. package/src/commands/mcp/tools/examples/database-discovery.js.map +1 -0
  36. package/src/commands/mcp/tools/examples/database.d.ts +35 -0
  37. package/src/commands/mcp/tools/examples/database.js +125 -0
  38. package/src/commands/mcp/tools/examples/database.js.map +1 -0
  39. package/src/commands/mcp/tools/examples/index.d.ts +26 -0
  40. package/src/commands/mcp/tools/examples/index.js +149 -0
  41. package/src/commands/mcp/tools/examples/index.js.map +1 -0
  42. package/src/commands/mcp/tools/examples/query-escaper.d.ts +20 -0
  43. package/src/commands/mcp/tools/examples/query-escaper.js +68 -0
  44. package/src/commands/mcp/tools/examples/query-escaper.js.map +1 -0
  45. package/src/commands/mcp/tools/examples/runtime-database.d.ts +10 -0
  46. package/src/commands/mcp/tools/examples/runtime-database.js +192 -0
  47. package/src/commands/mcp/tools/examples/runtime-database.js.map +1 -0
  48. package/src/commands/mcp/tools/examples/schemas.d.ts +29 -0
  49. package/src/commands/mcp/tools/examples/schemas.js +101 -0
  50. package/src/commands/mcp/tools/examples/schemas.js.map +1 -0
  51. package/src/commands/mcp/tools/examples/utils.d.ts +14 -0
  52. package/src/commands/mcp/tools/examples/utils.js +31 -0
  53. package/src/commands/mcp/tools/examples/utils.js.map +1 -0
  54. package/src/commands/mcp/tools/modernize.d.ts +8 -18
  55. package/src/commands/mcp/tools/modernize.js +1 -1
  56. package/src/commands/mcp/tools/modernize.js.map +1 -1
  57. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.d.ts +3 -1
  58. package/src/commands/mcp/tools/projects.d.ts +23 -64
  59. package/src/commands/mcp/tools/tool-registry.d.ts +6 -5
  60. package/src/commands/mcp/tools/tool-registry.js.map +1 -1
  61. package/src/commands/update/cli.d.ts +0 -24
  62. package/src/commands/update/cli.js +39 -447
  63. package/src/commands/update/cli.js.map +1 -1
  64. package/src/commands/update/utilities/cli-version.d.ts +48 -0
  65. package/src/commands/update/utilities/cli-version.js +196 -0
  66. package/src/commands/update/utilities/cli-version.js.map +1 -0
  67. package/src/commands/update/utilities/constants.d.ts +12 -0
  68. package/src/commands/update/utilities/constants.js +16 -0
  69. package/src/commands/update/utilities/constants.js.map +1 -0
  70. package/src/commands/update/utilities/git.d.ts +34 -0
  71. package/src/commands/update/utilities/git.js +115 -0
  72. package/src/commands/update/utilities/git.js.map +1 -0
  73. package/src/commands/update/utilities/migration.d.ts +32 -0
  74. package/src/commands/update/utilities/migration.js +257 -0
  75. package/src/commands/update/utilities/migration.js.map +1 -0
  76. package/src/package-managers/error.d.ts +12 -0
  77. package/src/package-managers/host.d.ts +6 -0
  78. package/src/package-managers/host.js +8 -3
  79. package/src/package-managers/host.js.map +1 -1
  80. package/src/package-managers/package-manager-descriptor.d.ts +33 -9
  81. package/src/package-managers/package-manager-descriptor.js +28 -8
  82. package/src/package-managers/package-manager-descriptor.js.map +1 -1
  83. package/src/package-managers/package-manager.d.ts +21 -3
  84. package/src/package-managers/package-manager.js +133 -10
  85. package/src/package-managers/package-manager.js.map +1 -1
  86. package/src/package-managers/parsers.d.ts +69 -4
  87. package/src/package-managers/parsers.js +231 -32
  88. package/src/package-managers/parsers.js.map +1 -1
  89. package/src/utilities/version.js +1 -1
  90. package/src/commands/mcp/dev-server.js.map +0 -1
  91. package/src/commands/mcp/tools/devserver/start-devserver.d.ts +0 -41
  92. package/src/commands/mcp/tools/devserver/start-devserver.js.map +0 -1
  93. package/src/commands/mcp/tools/devserver/stop-devserver.d.ts +0 -49
  94. package/src/commands/mcp/tools/devserver/wait-for-devserver-build.d.ts +0 -47
  95. package/src/commands/mcp/tools/examples.d.ts +0 -58
  96. package/src/commands/mcp/tools/examples.js +0 -654
  97. package/src/commands/mcp/tools/examples.js.map +0 -1
@@ -6,6 +6,9 @@
6
6
  * Use of this source code is governed by an MIT-style license that can be
7
7
  * found in the LICENSE file at https://angular.dev/license
8
8
  */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
9
12
  Object.defineProperty(exports, "__esModule", { value: true });
10
13
  exports.PackageManager = void 0;
11
14
  /**
@@ -14,6 +17,8 @@ exports.PackageManager = void 0;
14
17
  * a flexible and secure abstraction over the various package managers.
15
18
  */
16
19
  const node_path_1 = require("node:path");
20
+ const npm_package_arg_1 = __importDefault(require("npm-package-arg"));
21
+ const semver_1 = require("semver");
17
22
  const error_1 = require("./error");
18
23
  /**
19
24
  * The fields to request from the registry for package metadata.
@@ -116,12 +121,13 @@ class PackageManager {
116
121
  this.options.logger?.info(`[DRY RUN] Would execute in [${executionDirectory}]: ${this.descriptor.binary} ${finalArgs.join(' ')}`);
117
122
  return { stdout: '', stderr: '' };
118
123
  }
119
- return this.host.runCommand(this.descriptor.binary, finalArgs, {
124
+ const commandResult = await this.host.runCommand(this.descriptor.binary, finalArgs, {
120
125
  ...runOptions,
121
126
  cwd: executionDirectory,
122
127
  stdio: 'pipe',
123
128
  env: finalEnv,
124
129
  });
130
+ return { stdout: commandResult.stdout.trim(), stderr: commandResult.stderr.trim() };
125
131
  }
126
132
  /**
127
133
  * A private, generic method to encapsulate the common logic of running a command,
@@ -138,19 +144,50 @@ class PackageManager {
138
144
  }
139
145
  let stdout;
140
146
  let stderr;
147
+ let exitCode;
148
+ let thrownError;
141
149
  try {
142
150
  ({ stdout, stderr } = await this.#run(args, runOptions));
151
+ exitCode = 0;
143
152
  }
144
153
  catch (e) {
145
- if (e instanceof error_1.PackageManagerError && typeof e.exitCode === 'number' && e.exitCode !== 0) {
146
- // Some package managers exit with a non-zero code when the package is not found.
154
+ thrownError = e;
155
+ if (e instanceof error_1.PackageManagerError) {
156
+ stdout = e.stdout;
157
+ stderr = e.stderr;
158
+ exitCode = e.exitCode;
159
+ }
160
+ else {
161
+ // Re-throw unexpected errors
162
+ throw e;
163
+ }
164
+ }
165
+ // Yarn classic can exit with code 0 even when an error occurs.
166
+ // To ensure we capture these cases, we will always attempt to parse a
167
+ // structured error from the output, regardless of the exit code.
168
+ const getError = this.descriptor.outputParsers.getError;
169
+ const parsedError = getError?.(stdout, this.options.logger) ?? getError?.(stderr, this.options.logger) ?? null;
170
+ if (parsedError) {
171
+ this.options.logger?.debug(`[${this.descriptor.binary}] Structured error (code: ${parsedError.code}): ${parsedError.summary}`);
172
+ // Special case for 'not found' errors (e.g., E404). Return null for these.
173
+ if (this.descriptor.isNotFound(parsedError)) {
147
174
  if (cache && cacheKey) {
148
175
  cache.set(cacheKey, null);
149
176
  }
150
177
  return null;
151
178
  }
152
- throw e;
179
+ else {
180
+ // For all other structured errors, throw a more informative error.
181
+ throw new error_1.PackageManagerError(parsedError.summary, stdout, stderr, exitCode);
182
+ }
183
+ }
184
+ // If an error was originally thrown and we didn't parse a more specific
185
+ // structured error, re-throw the original error now.
186
+ if (thrownError) {
187
+ throw thrownError;
153
188
  }
189
+ // If we reach this point, the command succeeded and no structured error was found.
190
+ // We can now safely parse the successful output.
154
191
  try {
155
192
  const result = parser(stdout, this.options.logger);
156
193
  if (cache && cacheKey) {
@@ -160,7 +197,7 @@ class PackageManager {
160
197
  }
161
198
  catch (e) {
162
199
  const message = `Failed to parse package manager output: ${e instanceof Error ? e.message : ''}`;
163
- throw new error_1.PackageManagerError(message, stdout, stderr, 0);
200
+ throw new error_1.PackageManagerError(message, stdout, stderr, exitCode);
164
201
  }
165
202
  }
166
203
  /**
@@ -261,7 +298,7 @@ class PackageManager {
261
298
  * @param options.bypassCache If true, ignores the in-memory cache and fetches fresh data.
262
299
  * @returns A promise that resolves to the `PackageManifest` object, or `null` if the package is not found.
263
300
  */
264
- async getPackageManifest(packageName, version, options = {}) {
301
+ async getRegistryManifest(packageName, version, options = {}) {
265
302
  const specifier = `${packageName}@${version}`;
266
303
  const commandArgs = [...this.descriptor.getManifestCommand, specifier];
267
304
  const formatter = this.descriptor.viewCommandFieldArgFormatter;
@@ -269,26 +306,112 @@ class PackageManager {
269
306
  commandArgs.push(...formatter(MANIFEST_FIELDS));
270
307
  }
271
308
  const cacheKey = options.registry ? `${specifier}|${options.registry}` : specifier;
272
- return this.#fetchAndParse(commandArgs, (stdout, logger) => this.descriptor.outputParsers.getPackageManifest(stdout, logger), { ...options, cache: this.#manifestCache, cacheKey });
309
+ return this.#fetchAndParse(commandArgs, (stdout, logger) => this.descriptor.outputParsers.getRegistryManifest(stdout, logger), { ...options, cache: this.#manifestCache, cacheKey });
310
+ }
311
+ /**
312
+ * Fetches the manifest for a package.
313
+ *
314
+ * This method can resolve manifests for packages from the registry, as well
315
+ * as those specified by file paths, directory paths, and remote tarballs.
316
+ * Caching is only supported for registry packages.
317
+ *
318
+ * @param specifier The package specifier to resolve the manifest for.
319
+ * @param options Options for the fetch.
320
+ * @returns A promise that resolves to the `PackageManifest` object, or `null` if the package is not found.
321
+ */
322
+ async getManifest(specifier, options = {}) {
323
+ const { name, type, fetchSpec } = typeof specifier === 'string' ? (0, npm_package_arg_1.default)(specifier) : specifier;
324
+ switch (type) {
325
+ case 'range':
326
+ case 'version':
327
+ case 'tag': {
328
+ if (!name) {
329
+ throw new Error(`Could not parse package name from specifier: ${specifier}`);
330
+ }
331
+ // `fetchSpec` is the version, range, or tag.
332
+ let versionSpec = fetchSpec ?? 'latest';
333
+ if (this.descriptor.requiresManifestVersionLookup) {
334
+ if (type === 'tag' || !fetchSpec) {
335
+ const metadata = await this.getRegistryMetadata(name, options);
336
+ if (!metadata) {
337
+ return null;
338
+ }
339
+ versionSpec = metadata['dist-tags'][versionSpec];
340
+ }
341
+ else if (type === 'range') {
342
+ const metadata = await this.getRegistryMetadata(name, options);
343
+ if (!metadata) {
344
+ return null;
345
+ }
346
+ versionSpec = (0, semver_1.maxSatisfying)(metadata.versions, fetchSpec) ?? '';
347
+ }
348
+ if (!versionSpec) {
349
+ return null;
350
+ }
351
+ }
352
+ return this.getRegistryManifest(name, versionSpec, options);
353
+ }
354
+ case 'directory': {
355
+ if (!fetchSpec) {
356
+ throw new Error(`Could not parse directory path from specifier: ${specifier}`);
357
+ }
358
+ const manifestPath = (0, node_path_1.join)(fetchSpec, 'package.json');
359
+ const manifest = await this.host.readFile(manifestPath);
360
+ return JSON.parse(manifest);
361
+ }
362
+ case 'file':
363
+ case 'remote':
364
+ case 'git': {
365
+ if (!fetchSpec) {
366
+ throw new Error(`Could not parse location from specifier: ${specifier}`);
367
+ }
368
+ // Caching is not supported for non-registry specifiers.
369
+ const { workingDirectory, cleanup } = await this.acquireTempPackage(fetchSpec, {
370
+ ...options,
371
+ ignoreScripts: true,
372
+ });
373
+ try {
374
+ // Discover the package name by reading the temporary `package.json` file.
375
+ // The package manager will have added the package to the `dependencies`.
376
+ const tempManifest = await this.host.readFile((0, node_path_1.join)(workingDirectory, 'package.json'));
377
+ const { dependencies } = JSON.parse(tempManifest);
378
+ const packageName = dependencies && Object.keys(dependencies)[0];
379
+ if (!packageName) {
380
+ throw new Error(`Could not determine package name for specifier: ${specifier}`);
381
+ }
382
+ // The package will be installed in `<temp>/node_modules/<name>`.
383
+ const packagePath = (0, node_path_1.join)(workingDirectory, 'node_modules', packageName);
384
+ const manifestPath = (0, node_path_1.join)(packagePath, 'package.json');
385
+ const manifest = await this.host.readFile(manifestPath);
386
+ return JSON.parse(manifest);
387
+ }
388
+ finally {
389
+ await cleanup();
390
+ }
391
+ }
392
+ default:
393
+ throw new Error(`Unsupported package specifier type: ${type}`);
394
+ }
273
395
  }
274
396
  /**
275
397
  * Acquires a package by installing it into a temporary directory. The caller is
276
398
  * responsible for managing the lifecycle of the temporary directory by calling
277
399
  * the returned `cleanup` function.
278
400
  *
279
- * @param packageName The name of the package to install.
401
+ * @param specifier The specifier of the package to install.
280
402
  * @param options Options for the installation.
281
403
  * @returns A promise that resolves to an object containing the temporary path
282
404
  * and a cleanup function.
283
405
  */
284
- async acquireTempPackage(packageName, options = {}) {
406
+ async acquireTempPackage(specifier, options = {}) {
285
407
  const workingDirectory = await this.host.createTempDirectory();
286
408
  const cleanup = () => this.host.deleteDirectory(workingDirectory);
287
409
  // Some package managers, like yarn classic, do not write a package.json when adding a package.
288
410
  // This can cause issues with subsequent `require.resolve` calls.
289
411
  // Writing an empty package.json file beforehand prevents this.
290
412
  await this.host.writeFile((0, node_path_1.join)(workingDirectory, 'package.json'), '{}');
291
- const args = [this.descriptor.addCommand, packageName];
413
+ const flags = [options.ignoreScripts ? this.descriptor.ignoreScriptsFlag : ''].filter((flag) => flag);
414
+ const args = [this.descriptor.addCommand, specifier, ...flags];
292
415
  try {
293
416
  await this.#run(args, { ...options, cwd: workingDirectory });
294
417
  }
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["package-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["package-manager.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  * interpret the output of various package manager commands. Separating these
11
11
  * into their own file improves modularity and allows for focused testing.
12
12
  */
13
+ import { ErrorInfo } from './error';
13
14
  import { Logger } from './logger';
14
15
  import { PackageManifest, PackageMetadata } from './package-metadata';
15
16
  import { InstalledPackage } from './package-tree';
@@ -38,7 +39,7 @@ export declare function parseNpmLikeDependencies(stdout: string, logger?: Logger
38
39
  * Parses the output of `yarn list` (classic).
39
40
  *
40
41
  * The expected output is a JSON stream (JSONL), where each line is a JSON object.
41
- * The relevant object has a `type` of `'tree'`.
42
+ * The relevant object has a `type` of `'tree'` with a `data` property.
42
43
  * Yarn classic does not provide a path, so the `path` property will be `undefined`.
43
44
  *
44
45
  * ```json
@@ -84,9 +85,73 @@ export declare function parseNpmLikeManifest(stdout: string, logger?: Logger): P
84
85
  */
85
86
  export declare function parseNpmLikeMetadata(stdout: string, logger?: Logger): PackageMetadata | null;
86
87
  /**
87
- * Parses the output of `yarn info` (classic).
88
+ * Parses the output of `yarn info` (classic) to get a package manifest.
89
+ *
90
+ * When `yarn info --verbose` is used, the output is a JSONL stream. This function
91
+ * iterates through the lines to find the object with `type: 'inspect'` which contains
92
+ * the package manifest.
93
+ *
94
+ * For non-verbose output, it falls back to parsing a single JSON object.
95
+ *
88
96
  * @param stdout The standard output of the command.
89
97
  * @param logger An optional logger instance.
90
- * @returns The package manifest object.
98
+ * @returns The package manifest object, or `null` if not found.
99
+ */
100
+ export declare function parseYarnClassicManifest(stdout: string, logger?: Logger): PackageManifest | null;
101
+ /**
102
+ * Parses the output of `yarn info` (classic) to get package metadata.
103
+ * @param stdout The standard output of the command.
104
+ * @param logger An optional logger instance.
105
+ * @returns The package metadata object.
106
+ */
107
+ export declare function parseYarnClassicMetadata(stdout: string, logger?: Logger): PackageMetadata | null;
108
+ /**
109
+ * Parses the `stdout` or `stderr` output of npm, pnpm, modern yarn, or bun to extract structured error information.
110
+ *
111
+ * This parser uses a multi-stage approach. It first attempts to parse the entire `output` as a
112
+ * single JSON object, which is the standard for modern tools like pnpm, yarn, and bun. If JSON
113
+ * parsing fails, it falls back to a line-by-line regex-based approach to handle the plain
114
+ * text output from older versions of npm.
115
+ *
116
+ * Example JSON output (pnpm):
117
+ * ```json
118
+ * {
119
+ * "code": "E404",
120
+ * "summary": "Not Found - GET https://registry.npmjs.org/@angular%2fnon-existent - Not found",
121
+ * "detail": "The requested resource '@angular/non-existent@*' could not be found or you do not have permission to access it."
122
+ * }
123
+ * ```
124
+ *
125
+ * Example text output (npm):
126
+ * ```
127
+ * npm error code E404
128
+ * npm error 404 Not Found - GET https://registry.npmjs.org/@angular%2fnon-existent - Not found
129
+ * ```
130
+ *
131
+ * @param output The standard output or standard error of the command.
132
+ * @param logger An optional logger instance.
133
+ * @returns An `ErrorInfo` object if parsing is successful, otherwise `null`.
134
+ */
135
+ export declare function parseNpmLikeError(output: string, logger?: Logger): ErrorInfo | null;
136
+ /**
137
+ * Parses the `stdout` or `stderr` output of yarn classic to extract structured error information.
138
+ *
139
+ * This parser first attempts to find an HTTP status code (e.g., 404, 401) in the verbose output.
140
+ * If found, it returns a standardized error code (`E${statusCode}`).
141
+ * If no HTTP status code is found, it falls back to parsing generic JSON error lines.
142
+ *
143
+ * Example verbose output (with HTTP status code):
144
+ * ```json
145
+ * {"type":"verbose","data":"Request \"https://registry.npmjs.org/@angular%2fnon-existent\" finished with status code 404."}
146
+ * ```
147
+ *
148
+ * Example generic JSON error output:
149
+ * ```json
150
+ * {"type":"error","data":"Received invalid response from npm."}
151
+ * ```
152
+ *
153
+ * @param output The standard output or standard error of the command.
154
+ * @param logger An optional logger instance.
155
+ * @returns An `ErrorInfo` object if parsing is successful, otherwise `null`.
91
156
  */
92
- export declare function parseYarnLegacyManifest(stdout: string, logger?: Logger): PackageManifest | null;
157
+ export declare function parseYarnClassicError(output: string, logger?: Logger): ErrorInfo | null;