@depup/angular__cli 21.2.6-depup.1 → 22.0.7-depup.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 (147) hide show
  1. package/README.md +12 -9
  2. package/bin/ng.js +10 -7
  3. package/changes.json +28 -16
  4. package/lib/cli/index.js +3 -5
  5. package/lib/cli/index.js.map +1 -1
  6. package/lib/config/schema.json +18 -392
  7. package/lib/config/workspace-schema.d.ts +5 -1
  8. package/lib/config/workspace-schema.js +1 -1
  9. package/lib/config/workspace-schema.js.map +1 -1
  10. package/package.json +64 -53
  11. package/src/command-builder/command-module.js +23 -8
  12. package/src/command-builder/command-module.js.map +1 -1
  13. package/src/commands/add/cli.d.ts +3 -0
  14. package/src/commands/add/cli.js +121 -50
  15. package/src/commands/add/cli.js.map +1 -1
  16. package/src/commands/mcp/cli.js +0 -4
  17. package/src/commands/mcp/cli.js.map +1 -1
  18. package/src/commands/mcp/devserver.d.ts +1 -1
  19. package/src/commands/mcp/devserver.js +5 -8
  20. package/src/commands/mcp/devserver.js.map +1 -1
  21. package/src/commands/mcp/host.d.ts +14 -12
  22. package/src/commands/mcp/host.js +139 -9
  23. package/src/commands/mcp/host.js.map +1 -1
  24. package/src/commands/mcp/mcp-server.d.ts +2 -160
  25. package/src/commands/mcp/mcp-server.js +56 -36
  26. package/src/commands/mcp/mcp-server.js.map +1 -1
  27. package/src/commands/mcp/resources/ai-tutor.md +5 -7
  28. package/src/commands/mcp/resources/best-practices.md +4 -2
  29. package/src/commands/mcp/tools/best-practices.js +9 -17
  30. package/src/commands/mcp/tools/best-practices.js.map +1 -1
  31. package/src/commands/mcp/tools/devserver/devserver-start.js +1 -0
  32. package/src/commands/mcp/tools/devserver/devserver-start.js.map +1 -1
  33. package/src/commands/mcp/tools/devserver/devserver-stop.js +1 -0
  34. package/src/commands/mcp/tools/devserver/devserver-stop.js.map +1 -1
  35. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.js +1 -0
  36. package/src/commands/mcp/tools/devserver/devserver-wait-for-build.js.map +1 -1
  37. package/src/commands/mcp/tools/doc-search.js +11 -33
  38. package/src/commands/mcp/tools/doc-search.js.map +1 -1
  39. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.d.ts +2 -1
  40. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js +5 -8
  41. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-single-file.js.map +1 -1
  42. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.d.ts +3 -2
  43. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js +8 -8
  44. package/src/commands/mcp/tools/onpush-zoneless-migration/migrate-test-file.js.map +1 -1
  45. package/src/commands/mcp/tools/onpush-zoneless-migration/prompts.js +4 -4
  46. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.d.ts +2 -1
  47. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js +2 -3
  48. package/src/commands/mcp/tools/onpush-zoneless-migration/ts-utils.js.map +1 -1
  49. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.d.ts +2 -1
  50. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js +31 -44
  51. package/src/commands/mcp/tools/onpush-zoneless-migration/zoneless-migration.js.map +1 -1
  52. package/src/commands/mcp/tools/projects.d.ts +1 -0
  53. package/src/commands/mcp/tools/projects.js +37 -19
  54. package/src/commands/mcp/tools/projects.js.map +1 -1
  55. package/src/commands/mcp/tools/run-target/build-target-strategy.d.ts +14 -0
  56. package/src/commands/mcp/tools/run-target/build-target-strategy.js +53 -0
  57. package/src/commands/mcp/tools/run-target/build-target-strategy.js.map +1 -0
  58. package/src/commands/mcp/tools/run-target/generic-target-strategy.d.ts +14 -0
  59. package/src/commands/mcp/tools/run-target/generic-target-strategy.js +63 -0
  60. package/src/commands/mcp/tools/run-target/generic-target-strategy.js.map +1 -0
  61. package/src/commands/mcp/tools/run-target/options-serializer.d.ts +13 -0
  62. package/src/commands/mcp/tools/run-target/options-serializer.js +41 -0
  63. package/src/commands/mcp/tools/run-target/options-serializer.js.map +1 -0
  64. package/src/commands/mcp/tools/run-target/run-target.d.ts +34 -0
  65. package/src/commands/mcp/tools/run-target/run-target.js +69 -0
  66. package/src/commands/mcp/tools/run-target/run-target.js.map +1 -0
  67. package/src/commands/mcp/tools/run-target/strategy.d.ts +15 -0
  68. package/src/commands/mcp/tools/run-target/strategy.js +10 -0
  69. package/src/commands/mcp/tools/run-target/strategy.js.map +1 -0
  70. package/src/commands/mcp/tools/run-target/types.d.ts +39 -0
  71. package/src/commands/mcp/tools/run-target/types.js +41 -0
  72. package/src/commands/mcp/tools/run-target/types.js.map +1 -0
  73. package/src/commands/mcp/tools/run-target/unit-test-strategy.d.ts +14 -0
  74. package/src/commands/mcp/tools/run-target/unit-test-strategy.js +56 -0
  75. package/src/commands/mcp/tools/run-target/unit-test-strategy.js.map +1 -0
  76. package/src/commands/mcp/workspace-utils.d.ts +2 -1
  77. package/src/commands/mcp/workspace-utils.js +45 -3
  78. package/src/commands/mcp/workspace-utils.js.map +1 -1
  79. package/src/commands/update/cli.js +4 -3
  80. package/src/commands/update/cli.js.map +1 -1
  81. package/src/commands/update/schematic/index.js +262 -92
  82. package/src/commands/update/schematic/index.js.map +1 -1
  83. package/src/commands/update/schematic/schema.d.ts +4 -0
  84. package/src/commands/update/schematic/schema.js.map +1 -1
  85. package/src/commands/update/schematic/schema.json +4 -0
  86. package/src/commands/update/utilities/cli-version.js +1 -1
  87. package/src/commands/update/utilities/cli-version.js.map +1 -1
  88. package/src/commands/update/utilities/migration.js +5 -2
  89. package/src/commands/update/utilities/migration.js.map +1 -1
  90. package/src/commands/version/version-info.js +2 -8
  91. package/src/commands/version/version-info.js.map +1 -1
  92. package/src/package-managers/package-manager-descriptor.d.ts +15 -1
  93. package/src/package-managers/package-manager-descriptor.js +29 -0
  94. package/src/package-managers/package-manager-descriptor.js.map +1 -1
  95. package/src/package-managers/package-manager.d.ts +4 -0
  96. package/src/package-managers/package-manager.js +218 -36
  97. package/src/package-managers/package-manager.js.map +1 -1
  98. package/src/package-managers/parsers.d.ts +3 -21
  99. package/src/package-managers/parsers.js +83 -33
  100. package/src/package-managers/parsers.js.map +1 -1
  101. package/src/utilities/completion.js +1 -1
  102. package/src/utilities/completion.js.map +1 -1
  103. package/src/utilities/config.js +1 -2
  104. package/src/utilities/config.js.map +1 -1
  105. package/src/utilities/node-version.d.ts +21 -0
  106. package/src/utilities/node-version.js +65 -0
  107. package/src/utilities/node-version.js.map +1 -0
  108. package/src/utilities/package-metadata.d.ts +0 -10
  109. package/src/utilities/package-metadata.js +0 -62
  110. package/src/utilities/package-metadata.js.map +1 -1
  111. package/src/utilities/prompt.js +1 -1
  112. package/src/utilities/prompt.js.map +1 -1
  113. package/src/utilities/version.js +1 -1
  114. package/lib/code-examples.db +0 -0
  115. package/src/commands/mcp/tools/build.d.ts +0 -37
  116. package/src/commands/mcp/tools/build.js +0 -89
  117. package/src/commands/mcp/tools/build.js.map +0 -1
  118. package/src/commands/mcp/tools/e2e.d.ts +0 -44
  119. package/src/commands/mcp/tools/e2e.js +0 -87
  120. package/src/commands/mcp/tools/e2e.js.map +0 -1
  121. package/src/commands/mcp/tools/examples/database-discovery.d.ts +0 -34
  122. package/src/commands/mcp/tools/examples/database-discovery.js +0 -87
  123. package/src/commands/mcp/tools/examples/database-discovery.js.map +0 -1
  124. package/src/commands/mcp/tools/examples/database.d.ts +0 -35
  125. package/src/commands/mcp/tools/examples/database.js +0 -125
  126. package/src/commands/mcp/tools/examples/database.js.map +0 -1
  127. package/src/commands/mcp/tools/examples/index.d.ts +0 -26
  128. package/src/commands/mcp/tools/examples/index.js +0 -149
  129. package/src/commands/mcp/tools/examples/index.js.map +0 -1
  130. package/src/commands/mcp/tools/examples/query-escaper.d.ts +0 -20
  131. package/src/commands/mcp/tools/examples/query-escaper.js +0 -68
  132. package/src/commands/mcp/tools/examples/query-escaper.js.map +0 -1
  133. package/src/commands/mcp/tools/examples/runtime-database.d.ts +0 -10
  134. package/src/commands/mcp/tools/examples/runtime-database.js +0 -192
  135. package/src/commands/mcp/tools/examples/runtime-database.js.map +0 -1
  136. package/src/commands/mcp/tools/examples/schemas.d.ts +0 -29
  137. package/src/commands/mcp/tools/examples/schemas.js +0 -101
  138. package/src/commands/mcp/tools/examples/schemas.js.map +0 -1
  139. package/src/commands/mcp/tools/examples/utils.d.ts +0 -14
  140. package/src/commands/mcp/tools/examples/utils.js +0 -31
  141. package/src/commands/mcp/tools/examples/utils.js.map +0 -1
  142. package/src/commands/mcp/tools/modernize.d.ts +0 -43
  143. package/src/commands/mcp/tools/modernize.js +0 -165
  144. package/src/commands/mcp/tools/modernize.js.map +0 -1
  145. package/src/commands/mcp/tools/test.d.ts +0 -35
  146. package/src/commands/mcp/tools/test.js +0 -79
  147. package/src/commands/mcp/tools/test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["cli.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,9 @@ exports.angularMajorCompatGuarantee = angularMajorCompatGuarantee;
44
44
  exports.default = default_1;
45
45
  const core_1 = require("@angular-devkit/core");
46
46
  const schematics_1 = require("@angular-devkit/schematics");
47
+ const node_fs_1 = require("node:fs");
48
+ const node_module_1 = require("node:module");
49
+ const path = __importStar(require("node:path"));
47
50
  const npa = __importStar(require("npm-package-arg"));
48
51
  const semver = __importStar(require("semver"));
49
52
  const package_metadata_1 = require("../../../utilities/package-metadata");
@@ -320,13 +323,11 @@ function _usageMessage(options, infoMap, logger) {
320
323
  const packageGroups = new Map();
321
324
  const packagesToUpdate = [...infoMap.entries()]
322
325
  .map(([name, info]) => {
323
- let tag = options.next
324
- ? info.npmPackageJson['dist-tags']['next']
325
- ? 'next'
326
- : 'latest'
327
- : 'latest';
328
- let version = info.npmPackageJson['dist-tags'][tag];
329
- let target = info.npmPackageJson.versions[version];
326
+ const distTags = info.npmPackageJson['dist-tags'] ?? {};
327
+ let tag = options.next ? (distTags['next'] ? 'next' : 'latest') : 'latest';
328
+ let version = distTags[tag] ?? info.installed.version;
329
+ const versions = info.npmPackageJson.versions ?? {};
330
+ let target = versions[version];
330
331
  const versionDiff = semver.diff(info.installed.version, version);
331
332
  if (versionDiff !== 'patch' &&
332
333
  versionDiff !== 'minor' &&
@@ -337,12 +338,12 @@ function _usageMessage(options, infoMap, logger) {
337
338
  toInstallMajorVersion !== undefined &&
338
339
  installedMajorVersion < toInstallMajorVersion - 1) {
339
340
  const nextMajorVersion = `${installedMajorVersion + 1}.`;
340
- const nextMajorVersions = Object.keys(info.npmPackageJson.versions)
341
+ const nextMajorVersions = Object.keys(versions)
341
342
  .filter((v) => v.startsWith(nextMajorVersion))
342
343
  .sort((a, b) => (a > b ? -1 : 1));
343
344
  if (nextMajorVersions.length) {
344
345
  version = nextMajorVersions[0];
345
- target = info.npmPackageJson.versions[version];
346
+ target = versions[version];
346
347
  tag = '';
347
348
  }
348
349
  }
@@ -399,7 +400,8 @@ function _usageMessage(options, infoMap, logger) {
399
400
  }
400
401
  const pads = [namePad, 25, 0];
401
402
  logger.info(' ' + ['Name', 'Version', 'Command to update'].map((x, i) => x.padEnd(pads[i])).join(''));
402
- logger.info(' ' + '-'.repeat(pads.reduce((s, x) => (s += x), 0) + 20));
403
+ const totalWidth = pads.reduce((sum, width) => sum + width, 20);
404
+ logger.info(` ${'-'.repeat(totalWidth)}`);
403
405
  packagesToUpdate.forEach((fields) => {
404
406
  if (!fields) {
405
407
  return;
@@ -410,24 +412,120 @@ function _usageMessage(options, infoMap, logger) {
410
412
  `You can update the additional packages by running the update command of your package manager.`);
411
413
  return;
412
414
  }
413
- function _buildPackageInfo(tree, packages, allDependencies, npmPackageJson, logger) {
414
- const name = npmPackageJson.name;
415
+ /**
416
+ * Resolves a semver range or npm dist-tag to a specific version based on the package's registry metadata.
417
+ * It prioritizes non-deprecated versions and handles fallback to deprecated versions if necessary.
418
+ *
419
+ * @private
420
+ */
421
+ function resolvePackageVersion(metadata, range, next = false) {
422
+ // Check if range matches an npm dist-tag directly (e.g. "latest", "next")
423
+ const distTags = metadata['dist-tags'] ?? {};
424
+ if (distTags[range]) {
425
+ return distTags[range];
426
+ }
427
+ // If 'next' is requested (e.g. via the --next CLI flag) but the package doesn't publish
428
+ // a 'next' pre-release tag, fallback to 'latest'.
429
+ if (range === 'next') {
430
+ return distTags['latest'] ?? null;
431
+ }
432
+ // Split deprecated and non-deprecated versions from registry metadata
433
+ const packageVersionsNonDeprecated = [];
434
+ const packageVersionsDeprecated = [];
435
+ for (const [v, { deprecated }] of Object.entries(metadata.versions ?? {})) {
436
+ if (deprecated) {
437
+ packageVersionsDeprecated.push(v);
438
+ }
439
+ else {
440
+ packageVersionsNonDeprecated.push(v);
441
+ }
442
+ }
443
+ // Find the highest satisfying version, prioritizing non-deprecated versions
444
+ return (semver.maxSatisfying(packageVersionsNonDeprecated, range, {
445
+ includePrerelease: next || undefined,
446
+ }) ??
447
+ semver.maxSatisfying(packageVersionsDeprecated, range, {
448
+ includePrerelease: next || undefined,
449
+ }));
450
+ }
451
+ /**
452
+ * Checks if Yarn Plug'n'Play is active in the current workspace.
453
+ *
454
+ * @private
455
+ */
456
+ function isPnpActive(workspaceRoot) {
457
+ return (process.versions.pnp !== undefined ||
458
+ (0, node_fs_1.existsSync)(path.join(workspaceRoot, '.pnp.cjs')) ||
459
+ (0, node_fs_1.existsSync)(path.join(workspaceRoot, '.pnp.js')));
460
+ }
461
+ /**
462
+ * Resolves and reads the installed package.json manifest for a package.
463
+ * It checks the virtual schematic Tree first (vital for unit tests/mocks),
464
+ * and falls back to physical disk resolution using createRequire only if Yarn PnP is active.
465
+ *
466
+ * @private
467
+ */
468
+ function getInstalledPackageJson(tree, packageName, workspaceRoot) {
469
+ // First, check the virtual tree (critical for testing mocks)
470
+ const pkgJsonPath = `/node_modules/${packageName}/package.json`;
471
+ if (tree.exists(pkgJsonPath)) {
472
+ try {
473
+ return tree.readJson(pkgJsonPath);
474
+ }
475
+ catch { }
476
+ }
477
+ // In Yarn PnP, mock package trees are not written to node_modules in the virtual tree,
478
+ // so we resolve the manifest physically from Yarn's zip cache via createRequire.
479
+ // Note: This fallback resolution is strictly gated on Yarn PnP being active. Because schematics
480
+ // operate on a virtual file system (Tree), running disk lookups in non-PnP
481
+ // environments could cause tests to resolve dependencies from this monorepo's own node_modules
482
+ // instead of the simulated virtual file system.
483
+ if (isPnpActive(workspaceRoot)) {
484
+ try {
485
+ const workspaceRequire = (0, node_module_1.createRequire)(path.join(workspaceRoot, 'package.json'));
486
+ const manifestPath = workspaceRequire.resolve(`${packageName}/package.json`);
487
+ const content = (0, node_fs_1.readFileSync)(manifestPath, 'utf8');
488
+ return JSON.parse(content);
489
+ }
490
+ catch { }
491
+ }
492
+ return null;
493
+ }
494
+ function getInstalledVersion(tree, packageName, workspaceRoot) {
495
+ const pkgJson = getInstalledPackageJson(tree, packageName, workspaceRoot);
496
+ return pkgJson?.version ?? null;
497
+ }
498
+ function _buildLocalPackageInfo(tree, name, allDependencies, workspaceRoot, logger) {
415
499
  const packageJsonRange = allDependencies.get(name);
416
500
  if (!packageJsonRange) {
417
501
  throw new schematics_1.SchematicsException(`Package ${JSON.stringify(name)} was not found in package.json.`);
418
502
  }
419
- // Find out the currently installed version. Either from the package.json or the node_modules/
420
- // TODO: figure out a way to read package-lock.json and/or yarn.lock.
421
- const pkgJsonPath = `/node_modules/${name}/package.json`;
422
- const pkgJsonExists = tree.exists(pkgJsonPath);
423
- let installedVersion;
424
- if (pkgJsonExists) {
425
- const { version } = tree.readJson(pkgJsonPath);
426
- installedVersion = version;
503
+ const localPkgJson = getInstalledPackageJson(tree, name, workspaceRoot);
504
+ if (!localPkgJson) {
505
+ throw new schematics_1.SchematicsException(`Package ${name} is not installed.`);
427
506
  }
507
+ return {
508
+ name,
509
+ npmPackageJson: {},
510
+ installed: {
511
+ version: localPkgJson.version,
512
+ packageJson: localPkgJson,
513
+ updateMetadata: _getUpdateMetadata(localPkgJson, logger),
514
+ },
515
+ packageJsonRange,
516
+ };
517
+ }
518
+ function _buildPackageInfo(tree, packages, allDependencies, npmPackageJson, workspaceRoot, logger) {
519
+ const name = npmPackageJson.name;
520
+ const packageJsonRange = allDependencies.get(name);
521
+ if (!packageJsonRange) {
522
+ throw new schematics_1.SchematicsException(`Package ${JSON.stringify(name)} was not found in package.json.`);
523
+ }
524
+ const localPkgJson = getInstalledPackageJson(tree, name, workspaceRoot);
525
+ let installedVersion = localPkgJson?.version;
428
526
  const packageVersionsNonDeprecated = [];
429
527
  const packageVersionsDeprecated = [];
430
- for (const [version, { deprecated }] of Object.entries(npmPackageJson.versions)) {
528
+ for (const [version, { deprecated }] of Object.entries(npmPackageJson.versions ?? {})) {
431
529
  if (deprecated) {
432
530
  packageVersionsDeprecated.push(version);
433
531
  }
@@ -445,17 +543,19 @@ function _buildPackageInfo(tree, packages, allDependencies, npmPackageJson, logg
445
543
  if (!installedVersion) {
446
544
  throw new schematics_1.SchematicsException(`An unexpected error happened; could not determine version for package ${name}.`);
447
545
  }
448
- const installedPackageJson = npmPackageJson.versions[installedVersion] || pkgJsonExists;
546
+ const versions = npmPackageJson.versions ?? {};
547
+ const installedPackageJson = versions[installedVersion] || localPkgJson;
449
548
  if (!installedPackageJson) {
450
549
  throw new schematics_1.SchematicsException(`An unexpected error happened; package ${name} has no version ${installedVersion}.`);
451
550
  }
452
551
  let targetVersion = packages.get(name);
453
552
  if (targetVersion) {
454
- if (npmPackageJson['dist-tags'][targetVersion]) {
455
- targetVersion = npmPackageJson['dist-tags'][targetVersion];
553
+ const distTags = npmPackageJson['dist-tags'] ?? {};
554
+ if (distTags[targetVersion]) {
555
+ targetVersion = distTags[targetVersion];
456
556
  }
457
557
  else if (targetVersion == 'next') {
458
- targetVersion = npmPackageJson['dist-tags']['latest'];
558
+ targetVersion = distTags['latest'];
459
559
  }
460
560
  else {
461
561
  targetVersion = findSatisfyingVersion(targetVersion);
@@ -468,11 +568,10 @@ function _buildPackageInfo(tree, packages, allDependencies, npmPackageJson, logg
468
568
  const target = targetVersion
469
569
  ? {
470
570
  version: targetVersion,
471
- packageJson: npmPackageJson.versions[targetVersion],
472
- updateMetadata: _getUpdateMetadata(npmPackageJson.versions[targetVersion], logger),
571
+ packageJson: versions[targetVersion],
572
+ updateMetadata: _getUpdateMetadata(versions[targetVersion], logger),
473
573
  }
474
574
  : undefined;
475
- // Check if there's an installed version.
476
575
  return {
477
576
  name,
478
577
  npmPackageJson,
@@ -511,14 +610,36 @@ function _addPackageGroup(tree, packages, allDependencies, npmPackageJson, logge
511
610
  if (!maybePackage) {
512
611
  return;
513
612
  }
514
- const info = _buildPackageInfo(tree, packages, allDependencies, npmPackageJson, logger);
515
- const version = (info.target && info.target.version) ||
516
- npmPackageJson['dist-tags'][maybePackage] ||
517
- maybePackage;
518
- if (!npmPackageJson.versions[version]) {
613
+ const distTags = npmPackageJson['dist-tags'] ?? {};
614
+ let version = maybePackage;
615
+ if (distTags[version]) {
616
+ version = distTags[version];
617
+ }
618
+ else if (version === 'next') {
619
+ version = distTags['latest'];
620
+ }
621
+ else {
622
+ const packageVersionsNonDeprecated = [];
623
+ const packageVersionsDeprecated = [];
624
+ const versions = npmPackageJson.versions ?? {};
625
+ for (const [v, { deprecated }] of Object.entries(versions)) {
626
+ if (deprecated) {
627
+ packageVersionsDeprecated.push(v);
628
+ }
629
+ else {
630
+ packageVersionsNonDeprecated.push(v);
631
+ }
632
+ }
633
+ version =
634
+ (semver.maxSatisfying(packageVersionsNonDeprecated, version) ??
635
+ semver.maxSatisfying(packageVersionsDeprecated, version)) ??
636
+ version;
637
+ }
638
+ const versions = npmPackageJson.versions ?? {};
639
+ if (!versions[version]) {
519
640
  return;
520
641
  }
521
- const ngUpdateMetadata = npmPackageJson.versions[version]['ng-update'];
642
+ const ngUpdateMetadata = versions[version]['ng-update'];
522
643
  if (!ngUpdateMetadata) {
523
644
  return;
524
645
  }
@@ -526,7 +647,7 @@ function _addPackageGroup(tree, packages, allDependencies, npmPackageJson, logge
526
647
  if (!packageGroup) {
527
648
  return;
528
649
  }
529
- let packageGroupNormalized = {};
650
+ let packageGroupNormalized;
530
651
  if (Array.isArray(packageGroup) && !packageGroup.some((x) => typeof x != 'string')) {
531
652
  packageGroupNormalized = packageGroup.reduce((acc, curr) => {
532
653
  acc[curr] = maybePackage;
@@ -557,36 +678,53 @@ function _addPackageGroup(tree, packages, allDependencies, npmPackageJson, logge
557
678
  * be ignored by the --force flag).
558
679
  * @private
559
680
  */
560
- function _addPeerDependencies(tree, packages, allDependencies, npmPackageJson, npmPackageJsonMap, logger) {
681
+ async function _addPeerDependencies(tree, packages, allDependencies, npmPackageJson, workspaceRoot, fetchMetadata, logger) {
561
682
  const maybePackage = packages.get(npmPackageJson.name);
562
683
  if (!maybePackage) {
563
684
  return;
564
685
  }
565
- const info = _buildPackageInfo(tree, packages, allDependencies, npmPackageJson, logger);
566
- const version = (info.target && info.target.version) ||
567
- npmPackageJson['dist-tags'][maybePackage] ||
568
- maybePackage;
569
- if (!npmPackageJson.versions[version]) {
686
+ const distTags = npmPackageJson['dist-tags'] ?? {};
687
+ const version = distTags[maybePackage] || maybePackage;
688
+ const versions = npmPackageJson.versions ?? {};
689
+ const packageJson = versions[version];
690
+ if (!packageJson) {
570
691
  return;
571
692
  }
572
- const packageJson = npmPackageJson.versions[version];
573
- const error = false;
574
693
  for (const [peer, range] of Object.entries(packageJson.peerDependencies || {})) {
575
694
  if (packages.has(peer)) {
576
695
  continue;
577
696
  }
578
- const peerPackageJson = npmPackageJsonMap.get(peer);
579
- if (peerPackageJson) {
580
- const peerInfo = _buildPackageInfo(tree, packages, allDependencies, peerPackageJson, logger);
581
- if (semver.satisfies(peerInfo.installed.version, range)) {
697
+ const installedVersion = getInstalledVersion(tree, peer, workspaceRoot);
698
+ if (installedVersion) {
699
+ if (semver.satisfies(installedVersion, range)) {
582
700
  continue;
583
701
  }
584
702
  }
703
+ else {
704
+ const packageJsonRange = allDependencies.get(peer);
705
+ if (packageJsonRange) {
706
+ const peerMetadata = await fetchMetadata(peer);
707
+ if (peerMetadata) {
708
+ const packageVersionsNonDeprecated = [];
709
+ const packageVersionsDeprecated = [];
710
+ for (const [v, { deprecated }] of Object.entries(peerMetadata.versions ?? {})) {
711
+ if (deprecated) {
712
+ packageVersionsDeprecated.push(v);
713
+ }
714
+ else {
715
+ packageVersionsNonDeprecated.push(v);
716
+ }
717
+ }
718
+ const resolvedInstalledVersion = semver.maxSatisfying(packageVersionsNonDeprecated, packageJsonRange) ??
719
+ semver.maxSatisfying(packageVersionsDeprecated, packageJsonRange);
720
+ if (resolvedInstalledVersion && semver.satisfies(resolvedInstalledVersion, range)) {
721
+ continue;
722
+ }
723
+ }
724
+ }
725
+ }
585
726
  packages.set(peer, range);
586
727
  }
587
- if (error) {
588
- throw new schematics_1.SchematicsException('An error occured, see above.');
589
- }
590
728
  }
591
729
  function _getAllDependencies(tree) {
592
730
  const { dependencies, devDependencies, peerDependencies } = tree.readJson('/package.json');
@@ -652,52 +790,84 @@ function default_1(options) {
652
790
  }
653
791
  }));
654
792
  const packages = _buildPackageList(options, npmDeps, logger);
655
- // Grab all package.json from the npm repository. This requires a lot of HTTP calls so we
656
- // try to parallelize as many as possible.
657
- const allPackageMetadata = await Promise.all(Array.from(npmDeps.keys()).map((depName) => (0, package_metadata_1.getNpmPackageJson)(depName, logger, {
658
- registry: options.registry,
659
- usingYarn,
660
- verbose: options.verbose,
661
- })));
662
- // Build a map of all dependencies and their packageJson.
663
- const npmPackageJsonMap = allPackageMetadata.reduce((acc, npmPackageJson) => {
664
- // If the package was not found on the registry. It could be private, so we will just
665
- // ignore. If the package was part of the list, we will error out, but will simply ignore
666
- // if it's either not requested (so just part of package.json. silently).
667
- if (!npmPackageJson.name) {
668
- if (npmPackageJson.requestedName && packages.has(npmPackageJson.requestedName)) {
669
- throw new schematics_1.SchematicsException(`Package ${JSON.stringify(npmPackageJson.requestedName)} was not found on the ` +
670
- 'registry. Cannot continue as this may be an error.');
793
+ const workspaceRoot = options.workspaceRoot ?? process.cwd();
794
+ const npmPackageJsonMap = new Map();
795
+ const getOrFetchPackageMetadata = async (packageName) => {
796
+ let metadata = npmPackageJsonMap.get(packageName);
797
+ if (!metadata) {
798
+ const raw = await (0, package_metadata_1.getNpmPackageJson)(packageName, logger, {
799
+ registry: options.registry,
800
+ usingYarn,
801
+ verbose: options.verbose,
802
+ });
803
+ if (raw.name) {
804
+ metadata = raw;
805
+ npmPackageJsonMap.set(packageName, metadata);
671
806
  }
672
807
  }
673
- else {
674
- // If a name is present, it is assumed to be fully populated
675
- acc.set(npmPackageJson.name, npmPackageJson);
676
- }
677
- return acc;
678
- }, new Map());
679
- // Augment the command line package list with packageGroups and forward peer dependencies.
680
- // Each added package may uncover new package groups and peer dependencies, so we must
681
- // repeat this process until the package list stabilizes.
682
- let lastPackagesSize;
683
- do {
684
- lastPackagesSize = packages.size;
685
- npmPackageJsonMap.forEach((npmPackageJson) => {
686
- _addPackageGroup(tree, packages, npmDeps, npmPackageJson, logger);
687
- });
688
- } while (packages.size > lastPackagesSize);
689
- // This is done in seperate loop to ensure that package groups are added before peer dependencies.
690
- do {
691
- lastPackagesSize = packages.size;
692
- npmPackageJsonMap.forEach((npmPackageJson) => {
693
- _addPeerDependencies(tree, packages, npmDeps, npmPackageJson, npmPackageJsonMap, logger);
694
- });
695
- } while (packages.size > lastPackagesSize);
808
+ return metadata ?? null;
809
+ };
810
+ if (packages.size === 0) {
811
+ // User ran just `ng update` to see the outdated package list.
812
+ // We must fetch metadata for all npm dependencies to generate the usage message.
813
+ await Promise.all(Array.from(npmDeps.keys()).map(async (depName) => {
814
+ await getOrFetchPackageMetadata(depName);
815
+ }));
816
+ }
817
+ else {
818
+ // User requested updates. We resolve dependencies lazily.
819
+ let lastPackagesSize;
820
+ do {
821
+ lastPackagesSize = packages.size;
822
+ let lastGroupSize;
823
+ do {
824
+ lastGroupSize = packages.size;
825
+ for (const name of Array.from(packages.keys())) {
826
+ const metadata = await getOrFetchPackageMetadata(name);
827
+ const spec = packages.get(name);
828
+ if (metadata && spec) {
829
+ const resolvedVersion = resolvePackageVersion(metadata, spec, !!options.next);
830
+ if (resolvedVersion) {
831
+ packages.set(name, resolvedVersion);
832
+ }
833
+ _addPackageGroup(tree, packages, npmDeps, metadata, logger);
834
+ }
835
+ }
836
+ } while (packages.size > lastGroupSize);
837
+ for (const name of Array.from(packages.keys())) {
838
+ const metadata = await getOrFetchPackageMetadata(name);
839
+ const spec = packages.get(name);
840
+ if (metadata && spec) {
841
+ const resolvedVersion = resolvePackageVersion(metadata, spec, !!options.next);
842
+ if (resolvedVersion) {
843
+ packages.set(name, resolvedVersion);
844
+ }
845
+ await _addPeerDependencies(tree, packages, npmDeps, metadata, workspaceRoot, getOrFetchPackageMetadata, logger);
846
+ }
847
+ }
848
+ } while (packages.size > lastPackagesSize);
849
+ }
696
850
  // Build the PackageInfo for each module.
697
851
  const packageInfoMap = new Map();
698
- npmPackageJsonMap.forEach((npmPackageJson) => {
699
- packageInfoMap.set(npmPackageJson.name, _buildPackageInfo(tree, packages, npmDeps, npmPackageJson, logger));
700
- });
852
+ for (const depName of npmDeps.keys()) {
853
+ const isUpdating = packages.has(depName);
854
+ const localPkgJson = getInstalledPackageJson(tree, depName, workspaceRoot);
855
+ if (isUpdating || !localPkgJson) {
856
+ // If updating OR not installed locally, resolve via registry metadata
857
+ const metadata = await getOrFetchPackageMetadata(depName);
858
+ if (metadata) {
859
+ packageInfoMap.set(depName, _buildPackageInfo(tree, packages, npmDeps, metadata, workspaceRoot, logger));
860
+ }
861
+ else {
862
+ // Fallback if metadata could not be fetched
863
+ packageInfoMap.set(depName, _buildLocalPackageInfo(tree, depName, npmDeps, workspaceRoot, logger));
864
+ }
865
+ }
866
+ else {
867
+ // If not updating and installed locally, resolve purely locally
868
+ packageInfoMap.set(depName, _buildLocalPackageInfo(tree, depName, npmDeps, workspaceRoot, logger));
869
+ }
870
+ }
701
871
  // Now that we have all the information, check the flags.
702
872
  if (packages.size > 0) {
703
873
  if (options.migrateOnly && options.from && options.packages) {