@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
@@ -79,7 +79,7 @@ var ViewEncapsulation;
79
79
  */
80
80
  var ChangeDetection;
81
81
  (function (ChangeDetection) {
82
- ChangeDetection["Default"] = "Default";
82
+ ChangeDetection["Eager"] = "Eager";
83
83
  ChangeDetection["OnPush"] = "OnPush";
84
84
  })(ChangeDetection || (exports.ChangeDetection = ChangeDetection = {}));
85
85
  /**
@@ -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;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;AAuQD,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,kCAAe,CAAA;IACf,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;AAuQD,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": "@depup/angular__cli",
3
- "version": "21.2.6-depup.1",
3
+ "version": "22.0.7-depup.0",
4
4
  "description": "CLI tool for Angular (with updated dependencies)",
5
5
  "main": "lib/cli/index.js",
6
6
  "bin": {
@@ -20,86 +20,97 @@
20
20
  "devkit",
21
21
  "sdk"
22
22
  ],
23
- "repository": {
24
- "type": "git",
25
- "url": "git+https://github.com/angular/angular-cli.git"
26
- },
27
- "author": "Angular Authors",
28
- "license": "MIT",
29
- "bugs": {
30
- "url": "https://github.com/angular/angular-cli/issues"
31
- },
32
- "homepage": "https://github.com/angular/angular-cli",
33
23
  "dependencies": {
34
- "@angular-devkit/architect": "0.2102.6",
35
- "@angular-devkit/core": "21.2.6",
36
- "@angular-devkit/schematics": "21.2.6",
37
- "@inquirer/prompts": "^8.4.0",
38
- "@listr2/prompt-adapter-inquirer": "^4.2.2",
39
- "@modelcontextprotocol/sdk": "^1.29.0",
40
- "@schematics/angular": "21.2.6",
24
+ "@angular-devkit/architect": "0.2200.7",
25
+ "@angular-devkit/core": "22.0.7",
26
+ "@angular-devkit/schematics": "22.0.7",
27
+ "@inquirer/prompts": "^8.5.2",
28
+ "@listr2/prompt-adapter-inquirer": "^4.2.4",
29
+ "@modelcontextprotocol/sdk": "1.29.0",
30
+ "@schematics/angular": "22.0.7",
41
31
  "@yarnpkg/lockfile": "1.1.0",
42
- "algoliasearch": "^5.50.1",
43
- "ini": "6.0.0",
32
+ "algoliasearch": "^5.56.0",
33
+ "ini": "^7.0.0",
44
34
  "jsonc-parser": "3.3.1",
45
- "listr2": "^10.2.1",
46
- "npm-package-arg": "13.0.2",
47
- "pacote": "^21.5.0",
48
- "parse5-html-rewriting-stream": "8.0.0",
49
- "semver": "7.7.4",
35
+ "listr2": "^10.2.2",
36
+ "npm-package-arg": "^14.0.0",
37
+ "pacote": "^22.0.0",
38
+ "parse5-html-rewriting-stream": "8.0.1",
39
+ "semver": "^7.8.5",
50
40
  "yargs": "18.0.0",
51
- "zod": "4.3.6"
41
+ "zod": "^4.4.3"
52
42
  },
53
43
  "ng-update": {
54
44
  "migrations": "@schematics/angular/migrations/migration-collection.json",
55
45
  "packageGroup": {
56
- "@angular/cli": "21.2.6",
57
- "@angular/build": "21.2.6",
58
- "@angular/ssr": "21.2.6",
59
- "@angular-devkit/architect": "0.2102.6",
60
- "@angular-devkit/build-angular": "21.2.6",
61
- "@angular-devkit/build-webpack": "0.2102.6",
62
- "@angular-devkit/core": "21.2.6",
63
- "@angular-devkit/schematics": "21.2.6"
46
+ "@angular/cli": "22.0.7",
47
+ "@angular/build": "22.0.7",
48
+ "@angular/ssr": "22.0.7",
49
+ "@angular-devkit/architect": "0.2200.7",
50
+ "@angular-devkit/build-angular": "22.0.7",
51
+ "@angular-devkit/build-webpack": "0.2200.7",
52
+ "@angular-devkit/core": "22.0.7",
53
+ "@angular-devkit/schematics": "22.0.7"
64
54
  }
65
55
  },
66
- "packageManager": "pnpm@10.33.0",
56
+ "repository": {
57
+ "type": "git",
58
+ "url": "git+https://github.com/angular/angular-cli.git"
59
+ },
67
60
  "engines": {
68
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
61
+ "node": "^22.22.3 || ^24.15.0 || >=26.0.0",
69
62
  "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
70
63
  "yarn": ">= 1.13.0"
71
64
  },
65
+ "author": "Angular Authors",
66
+ "license": "MIT",
67
+ "bugs": {
68
+ "url": "https://github.com/angular/angular-cli/issues"
69
+ },
70
+ "homepage": "https://github.com/angular/angular-cli",
72
71
  "depup": {
73
72
  "changes": {
74
73
  "@inquirer/prompts": {
75
- "from": "7.10.1",
76
- "to": "^8.4.0"
74
+ "from": "8.4.2",
75
+ "to": "^8.5.2"
77
76
  },
78
77
  "@listr2/prompt-adapter-inquirer": {
79
- "from": "3.0.5",
80
- "to": "^4.2.2"
81
- },
82
- "@modelcontextprotocol/sdk": {
83
- "from": "1.26.0",
84
- "to": "^1.29.0"
78
+ "from": "4.2.3",
79
+ "to": "^4.2.4"
85
80
  },
86
81
  "algoliasearch": {
87
- "from": "5.48.1",
88
- "to": "^5.50.1"
82
+ "from": "5.52.0",
83
+ "to": "^5.56.0"
84
+ },
85
+ "ini": {
86
+ "from": "6.0.0",
87
+ "to": "^7.0.0"
89
88
  },
90
89
  "listr2": {
91
- "from": "9.0.5",
92
- "to": "^10.2.1"
90
+ "from": "10.2.1",
91
+ "to": "^10.2.2"
92
+ },
93
+ "npm-package-arg": {
94
+ "from": "13.0.2",
95
+ "to": "^14.0.0"
93
96
  },
94
97
  "pacote": {
95
- "from": "21.3.1",
96
- "to": "^21.5.0"
98
+ "from": "21.5.1",
99
+ "to": "^22.0.0"
100
+ },
101
+ "semver": {
102
+ "from": "7.7.4",
103
+ "to": "^7.8.5"
104
+ },
105
+ "zod": {
106
+ "from": "4.4.2",
107
+ "to": "^4.4.3"
97
108
  }
98
109
  },
99
- "depsUpdated": 6,
110
+ "depsUpdated": 9,
100
111
  "originalPackage": "@angular/cli",
101
- "originalVersion": "21.2.6",
102
- "processedAt": "2026-04-06T20:22:06.130Z",
112
+ "originalVersion": "22.0.7",
113
+ "processedAt": "2026-07-21T16:01:34.859Z",
103
114
  "smokeTest": "passed"
104
115
  }
105
116
  }
@@ -49,6 +49,7 @@ const helpers_1 = require("yargs/helpers");
49
49
  const analytics_1 = require("../analytics/analytics");
50
50
  const analytics_collector_1 = require("../analytics/analytics-collector");
51
51
  const analytics_parameters_1 = require("../analytics/analytics-parameters");
52
+ const package_managers_1 = require("../package-managers");
52
53
  const completion_1 = require("../utilities/completion");
53
54
  const memoize_1 = require("../utilities/memoize");
54
55
  const definitions_1 = require("./definitions");
@@ -95,13 +96,14 @@ let CommandModule = (() => {
95
96
  }
96
97
  async handler(args) {
97
98
  const { _, $0, ...options } = args;
99
+ const { logger } = this.context;
98
100
  // Camelize options as yargs will return the object in kebab-case when camel casing is disabled.
99
101
  const camelCasedOptions = {};
100
102
  for (const [key, value] of Object.entries(options)) {
101
103
  camelCasedOptions[helpers_1.Parser.camelCase(key)] = value;
102
104
  }
103
105
  // Set up autocompletion if appropriate.
104
- const autocompletionExitCode = await (0, completion_1.considerSettingUpAutocompletion)(this.commandName, this.context.logger);
106
+ const autocompletionExitCode = await (0, completion_1.considerSettingUpAutocompletion)(this.commandName, logger);
105
107
  if (autocompletionExitCode !== undefined) {
106
108
  process.exitCode = autocompletionExitCode;
107
109
  return;
@@ -119,7 +121,12 @@ let CommandModule = (() => {
119
121
  }
120
122
  catch (e) {
121
123
  if (e instanceof core_1.schema.SchemaValidationException) {
122
- this.context.logger.fatal(`Error: ${e.message}`);
124
+ logger.fatal(`Error: ${e.message}`);
125
+ exitCode = 1;
126
+ }
127
+ else if (e instanceof package_managers_1.PackageManagerError) {
128
+ const output = e.stderr || e.stdout;
129
+ logger.fatal(`Error: Package installation failed: ${e.message}${output ? `\nOutput: ${output}` : ''}`);
123
130
  exitCode = 1;
124
131
  }
125
132
  else {
@@ -140,12 +147,20 @@ let CommandModule = (() => {
140
147
  const userId = await (0, analytics_1.getAnalyticsUserId)(this.context,
141
148
  // Don't prompt on `ng update`, 'ng version' or `ng analytics`.
142
149
  ['version', 'update', 'analytics'].includes(this.commandName));
143
- return userId
144
- ? new analytics_collector_1.AnalyticsCollector(this.context.logger, userId, {
145
- name: this.context.packageManager.name,
146
- version: await this.context.packageManager.getVersion(),
147
- })
148
- : undefined;
150
+ if (!userId) {
151
+ return undefined;
152
+ }
153
+ let version;
154
+ try {
155
+ version = await this.context.packageManager.getVersion();
156
+ }
157
+ catch {
158
+ // Ignore errors if the package manager is not available.
159
+ }
160
+ return new analytics_collector_1.AnalyticsCollector(this.context.logger, userId, {
161
+ name: this.context.packageManager.name,
162
+ version,
163
+ });
149
164
  }
150
165
  /**
151
166
  * Adds schema options to a command also this keeps track of options that are required for analytics.
@@ -1 +1 @@
1
- {"version":3,"file":"command-module.js","sourceRoot":"","sources":["command-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-module.js","sourceRoot":"","sources":["command-module.ts"],"names":[],"mappings":"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"}
@@ -27,12 +27,15 @@ export default class AddCommandModule extends SchematicsCommandModule implements
27
27
  private findCompatiblePackageVersionTask;
28
28
  private loadPackageInfoTask;
29
29
  private confirmInstallationTask;
30
+ private cleanUpTemporaryDependency;
30
31
  private installPackageTask;
31
32
  private isProjectVersionValid;
32
33
  private getCollectionName;
33
34
  private isPackageInstalled;
34
35
  private executeSchematic;
35
36
  private findProjectVersion;
37
+ private getProjectManifest;
38
+ private resolvePackageJson;
36
39
  private getPeerDependencyConflicts;
37
40
  }
38
41
  export {};
@@ -45,13 +45,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
46
  const listr2_1 = require("listr2");
47
47
  const node_assert_1 = __importDefault(require("node:assert"));
48
+ const node_fs_1 = require("node:fs");
48
49
  const promises_1 = __importDefault(require("node:fs/promises"));
49
50
  const node_module_1 = require("node:module");
50
51
  const node_path_1 = require("node:path");
51
52
  const npm_package_arg_1 = __importDefault(require("npm-package-arg"));
52
53
  const semver_1 = __importStar(require("semver"));
54
+ const command_module_1 = require("../../command-builder/command-module");
53
55
  const schematics_command_module_1 = require("../../command-builder/schematics-command-module");
54
- const package_managers_1 = require("../../package-managers");
55
56
  const error_1 = require("../../utilities/error");
56
57
  const tty_1 = require("../../utilities/tty");
57
58
  const version_1 = require("../../utilities/version");
@@ -99,6 +100,7 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
99
100
  schematicName = 'ng-add';
100
101
  rootRequire = (0, node_module_1.createRequire)(this.context.root + '/');
101
102
  #projectVersionCache = new Map();
103
+ #rootManifestCache = null;
102
104
  async builder(argv) {
103
105
  const localYargs = (await super.builder(argv))
104
106
  .positional('collection', {
@@ -117,6 +119,15 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
117
119
  'Ensure package name is correct prior to using this option.',
118
120
  type: 'boolean',
119
121
  default: false,
122
+ })
123
+ .check(({ registry }) => {
124
+ if (registry === undefined) {
125
+ return true;
126
+ }
127
+ if (typeof registry === 'string' && URL.canParse(registry)) {
128
+ return true;
129
+ }
130
+ throw new command_module_1.CommandModuleError('Option --registry must be a valid URL.');
120
131
  })
121
132
  // Prior to downloading we don't know the full schema and therefore we cannot be strict on the options.
122
133
  // Possibly in the future update the logic to use the following syntax:
@@ -141,6 +152,7 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
141
152
  }
142
153
  async run(options) {
143
154
  this.#projectVersionCache.clear();
155
+ this.#rootManifestCache = null;
144
156
  const { logger } = this.context;
145
157
  const { collection, skipConfirmation } = options;
146
158
  let packageIdentifier;
@@ -210,6 +222,22 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
210
222
  try {
211
223
  const result = await tasks.run(taskContext);
212
224
  (0, node_assert_1.default)(result.collectionName, 'Collection name should always be available');
225
+ let shouldCleanUp = false;
226
+ if (!result.hasSchematics && !options.dryRun) {
227
+ const packageJsonPath = this.resolvePackageJson(result.collectionName);
228
+ if (packageJsonPath && (0, node_fs_1.existsSync)(packageJsonPath)) {
229
+ try {
230
+ const localManifest = JSON.parse(await promises_1.default.readFile(packageJsonPath, 'utf-8'));
231
+ if (localManifest.schematics) {
232
+ result.hasSchematics = true;
233
+ if (localManifest['ng-add']?.save === false) {
234
+ shouldCleanUp = true;
235
+ }
236
+ }
237
+ }
238
+ catch { }
239
+ }
240
+ }
213
241
  // Check if the installed package has actual add actions and not just schematic support
214
242
  if (result.hasSchematics && !options.dryRun) {
215
243
  const workflow = this.getOrCreateWorkflowForBuilder(result.collectionName);
@@ -253,7 +281,14 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
253
281
  logger.info("The package's `ng add` actions would be executed next.");
254
282
  return;
255
283
  }
256
- return this.executeSchematic({ ...options, collection: result.collectionName });
284
+ const schematicExitCode = await this.executeSchematic({
285
+ ...options,
286
+ collection: result.collectionName,
287
+ });
288
+ if (shouldCleanUp) {
289
+ await this.cleanUpTemporaryDependency(result.collectionName);
290
+ }
291
+ return schematicExitCode;
257
292
  }
258
293
  catch (e) {
259
294
  if (e instanceof CommandError) {
@@ -450,39 +485,50 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
450
485
  throw new CommandError('Command aborted');
451
486
  }
452
487
  }
488
+ async cleanUpTemporaryDependency(packageName) {
489
+ try {
490
+ this.context.logger.info(`Cleaning up temporary dependency '${packageName}'...`);
491
+ // 1. Remove from root package.json
492
+ const projectManifest = await this.getProjectManifest();
493
+ if (projectManifest) {
494
+ if (projectManifest.dependencies) {
495
+ delete projectManifest.dependencies[packageName];
496
+ }
497
+ if (projectManifest.devDependencies) {
498
+ delete projectManifest.devDependencies[packageName];
499
+ }
500
+ await promises_1.default.writeFile((0, node_path_1.join)(this.context.root, 'package.json'), JSON.stringify(projectManifest, null, 2) + '\n');
501
+ }
502
+ // 2. Silent install pass to prune files from node_modules and update the lockfile
503
+ await this.context.packageManager.install({ ignoreScripts: true });
504
+ }
505
+ catch (error) {
506
+ this.context.logger.warn(`Failed to clean up temporary dependency '${packageName}': ` +
507
+ `${error instanceof Error ? error.message : error}`);
508
+ }
509
+ }
453
510
  async installPackageTask(context, task, options) {
454
511
  const { registry } = options;
455
512
  const { packageIdentifier, savePackage } = context;
456
513
  const { packageManager } = this.context;
457
514
  // Only show if installation will actually occur
458
515
  task.title = 'Installing package';
459
- try {
460
- if (context.savePackage === false) {
461
- task.title += ' in temporary location';
462
- // Temporary packages are located in a different directory
463
- // Hence we need to resolve them using the temp path
464
- const { workingDirectory } = await packageManager.acquireTempPackage(packageIdentifier.toString(), {
465
- registry,
466
- });
467
- const tempRequire = (0, node_module_1.createRequire)(workingDirectory + '/');
468
- (0, node_assert_1.default)(context.collectionName, 'Collection name should always be available');
469
- const resolvedCollectionPath = tempRequire.resolve((0, node_path_1.join)(context.collectionName, 'package.json'));
470
- context.collectionName = (0, node_path_1.dirname)(resolvedCollectionPath);
471
- }
472
- else {
473
- await packageManager.add(packageIdentifier.toString(), 'none', savePackage === 'devDependencies', false, true, {
474
- registry,
475
- });
476
- }
516
+ if (context.savePackage === false) {
517
+ task.title += ' in temporary location';
518
+ // Temporary packages are located in a different directory
519
+ // Hence we need to resolve them using the temp path
520
+ const { workingDirectory } = await packageManager.acquireTempPackage(packageIdentifier.toString(), {
521
+ registry,
522
+ });
523
+ const tempRequire = (0, node_module_1.createRequire)(workingDirectory + '/');
524
+ (0, node_assert_1.default)(context.collectionName, 'Collection name should always be available');
525
+ const resolvedCollectionPath = tempRequire.resolve((0, node_path_1.join)(context.collectionName, 'package.json'));
526
+ context.collectionName = (0, node_path_1.dirname)(resolvedCollectionPath);
477
527
  }
478
- catch (e) {
479
- if (e instanceof package_managers_1.PackageManagerError) {
480
- const output = e.stderr || e.stdout;
481
- if (output) {
482
- throw new CommandError(`Package installation failed: ${e.message}\nOutput: ${output}`);
483
- }
484
- }
485
- throw e;
528
+ else {
529
+ await packageManager.add(packageIdentifier.toString(), 'none', savePackage === 'devDependencies', false, true, {
530
+ registry,
531
+ });
486
532
  }
487
533
  }
488
534
  async isProjectVersionValid(packageIdentifier) {
@@ -528,17 +574,7 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
528
574
  return collectionName;
529
575
  }
530
576
  isPackageInstalled(name) {
531
- try {
532
- this.rootRequire.resolve((0, node_path_1.join)(name, 'package.json'));
533
- return true;
534
- }
535
- catch (e) {
536
- (0, error_1.assertIsError)(e);
537
- if (e.code !== 'MODULE_NOT_FOUND') {
538
- throw e;
539
- }
540
- }
541
- return false;
577
+ return !!this.resolvePackageJson(name);
542
578
  }
543
579
  executeSchematic(options) {
544
580
  const { verbose, skipConfirmation, interactive, force, dryRun, registry, defaults, collection: collectionName, schematicName, ...schematicOptions } = options;
@@ -560,12 +596,7 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
560
596
  if (cachedVersion !== undefined) {
561
597
  return cachedVersion;
562
598
  }
563
- const { root } = this.context;
564
- let installedPackagePath;
565
- try {
566
- installedPackagePath = this.rootRequire.resolve((0, node_path_1.join)(name, 'package.json'));
567
- }
568
- catch { }
599
+ const installedPackagePath = this.resolvePackageJson(name);
569
600
  if (installedPackagePath) {
570
601
  try {
571
602
  const installedPackage = JSON.parse(await promises_1.default.readFile(installedPackagePath, 'utf-8'));
@@ -574,11 +605,7 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
574
605
  }
575
606
  catch { }
576
607
  }
577
- let projectManifest;
578
- try {
579
- projectManifest = JSON.parse(await promises_1.default.readFile((0, node_path_1.join)(root, 'package.json'), 'utf-8'));
580
- }
581
- catch { }
608
+ const projectManifest = await this.getProjectManifest();
582
609
  if (projectManifest) {
583
610
  const version = projectManifest.dependencies?.[name] || projectManifest.devDependencies?.[name];
584
611
  if (version) {
@@ -589,6 +616,50 @@ class AddCommandModule extends schematics_command_module_1.SchematicsCommandModu
589
616
  this.#projectVersionCache.set(name, null);
590
617
  return null;
591
618
  }
619
+ async getProjectManifest() {
620
+ if (this.#rootManifestCache) {
621
+ return this.#rootManifestCache;
622
+ }
623
+ const { root } = this.context;
624
+ try {
625
+ this.#rootManifestCache = JSON.parse(await promises_1.default.readFile((0, node_path_1.join)(root, 'package.json'), 'utf-8'));
626
+ return this.#rootManifestCache;
627
+ }
628
+ catch {
629
+ return null;
630
+ }
631
+ }
632
+ resolvePackageJson(name) {
633
+ try {
634
+ return this.rootRequire.resolve((0, node_path_1.join)(name, 'package.json'));
635
+ }
636
+ catch (e) {
637
+ (0, error_1.assertIsError)(e);
638
+ if (e.code === 'ERR_PACKAGE_PATH_NOT_EXPORTED') {
639
+ try {
640
+ const mainPath = this.rootRequire.resolve(name);
641
+ let directory = (0, node_path_1.dirname)(mainPath);
642
+ // Stop at the node_modules boundary or the root of the file system
643
+ while (directory && (0, node_path_1.basename)(directory) !== 'node_modules') {
644
+ const packageJsonPath = (0, node_path_1.join)(directory, 'package.json');
645
+ if ((0, node_fs_1.existsSync)(packageJsonPath)) {
646
+ return packageJsonPath;
647
+ }
648
+ const parent = (0, node_path_1.dirname)(directory);
649
+ if (parent === directory) {
650
+ break;
651
+ }
652
+ directory = parent;
653
+ }
654
+ }
655
+ catch (e) {
656
+ (0, error_1.assertIsError)(e);
657
+ this.context.logger.debug(`Failed to resolve package '${name}' during fallback: ${e.message}`);
658
+ }
659
+ }
660
+ }
661
+ return undefined;
662
+ }
592
663
  async getPeerDependencyConflicts(manifest) {
593
664
  if (!manifest.peerDependencies) {
594
665
  return false;