@openrewrite/recipes-angular 1.8.0-20260804-103913 → 1.8.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 (71) hide show
  1. package/dist/migration/upgrade-to-angular-10.d.ts +6 -0
  2. package/dist/migration/upgrade-to-angular-10.d.ts.map +1 -1
  3. package/dist/migration/upgrade-to-angular-10.js +34 -14
  4. package/dist/migration/upgrade-to-angular-10.js.map +1 -1
  5. package/dist/migration/upgrade-to-angular-11.d.ts +6 -0
  6. package/dist/migration/upgrade-to-angular-11.d.ts.map +1 -1
  7. package/dist/migration/upgrade-to-angular-11.js +34 -14
  8. package/dist/migration/upgrade-to-angular-11.js.map +1 -1
  9. package/dist/migration/upgrade-to-angular-12.d.ts +6 -0
  10. package/dist/migration/upgrade-to-angular-12.d.ts.map +1 -1
  11. package/dist/migration/upgrade-to-angular-12.js +31 -10
  12. package/dist/migration/upgrade-to-angular-12.js.map +1 -1
  13. package/dist/migration/upgrade-to-angular-13.d.ts +6 -0
  14. package/dist/migration/upgrade-to-angular-13.d.ts.map +1 -1
  15. package/dist/migration/upgrade-to-angular-13.js +31 -10
  16. package/dist/migration/upgrade-to-angular-13.js.map +1 -1
  17. package/dist/migration/upgrade-to-angular-14.d.ts +6 -0
  18. package/dist/migration/upgrade-to-angular-14.d.ts.map +1 -1
  19. package/dist/migration/upgrade-to-angular-14.js +30 -10
  20. package/dist/migration/upgrade-to-angular-14.js.map +1 -1
  21. package/dist/migration/upgrade-to-angular-15.d.ts +6 -0
  22. package/dist/migration/upgrade-to-angular-15.d.ts.map +1 -1
  23. package/dist/migration/upgrade-to-angular-15.js +31 -11
  24. package/dist/migration/upgrade-to-angular-15.js.map +1 -1
  25. package/dist/migration/upgrade-to-angular-16.d.ts +6 -0
  26. package/dist/migration/upgrade-to-angular-16.d.ts.map +1 -1
  27. package/dist/migration/upgrade-to-angular-16.js +32 -12
  28. package/dist/migration/upgrade-to-angular-16.js.map +1 -1
  29. package/dist/migration/upgrade-to-angular-17.d.ts +6 -0
  30. package/dist/migration/upgrade-to-angular-17.d.ts.map +1 -1
  31. package/dist/migration/upgrade-to-angular-17.js +30 -10
  32. package/dist/migration/upgrade-to-angular-17.js.map +1 -1
  33. package/dist/migration/upgrade-to-angular-18.d.ts +6 -0
  34. package/dist/migration/upgrade-to-angular-18.d.ts.map +1 -1
  35. package/dist/migration/upgrade-to-angular-18.js +38 -22
  36. package/dist/migration/upgrade-to-angular-18.js.map +1 -1
  37. package/dist/migration/upgrade-to-angular-19.d.ts +6 -0
  38. package/dist/migration/upgrade-to-angular-19.d.ts.map +1 -1
  39. package/dist/migration/upgrade-to-angular-19.js +32 -12
  40. package/dist/migration/upgrade-to-angular-19.js.map +1 -1
  41. package/dist/migration/upgrade-to-angular-20.d.ts +6 -0
  42. package/dist/migration/upgrade-to-angular-20.d.ts.map +1 -1
  43. package/dist/migration/upgrade-to-angular-20.js +31 -11
  44. package/dist/migration/upgrade-to-angular-20.js.map +1 -1
  45. package/dist/migration/upgrade-to-angular-21.d.ts +6 -0
  46. package/dist/migration/upgrade-to-angular-21.d.ts.map +1 -1
  47. package/dist/migration/upgrade-to-angular-21.js +32 -12
  48. package/dist/migration/upgrade-to-angular-21.js.map +1 -1
  49. package/dist/migration/upgrade-to-angular-8.d.ts +10 -0
  50. package/dist/migration/upgrade-to-angular-8.d.ts.map +1 -1
  51. package/dist/migration/upgrade-to-angular-8.js +40 -15
  52. package/dist/migration/upgrade-to-angular-8.js.map +1 -1
  53. package/dist/migration/upgrade-to-angular-9.d.ts +6 -0
  54. package/dist/migration/upgrade-to-angular-9.d.ts.map +1 -1
  55. package/dist/migration/upgrade-to-angular-9.js +37 -17
  56. package/dist/migration/upgrade-to-angular-9.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/migration/upgrade-to-angular-10.ts +30 -14
  59. package/src/migration/upgrade-to-angular-11.ts +30 -14
  60. package/src/migration/upgrade-to-angular-12.ts +27 -10
  61. package/src/migration/upgrade-to-angular-13.ts +27 -10
  62. package/src/migration/upgrade-to-angular-14.ts +26 -10
  63. package/src/migration/upgrade-to-angular-15.ts +27 -11
  64. package/src/migration/upgrade-to-angular-16.ts +28 -12
  65. package/src/migration/upgrade-to-angular-17.ts +26 -10
  66. package/src/migration/upgrade-to-angular-18.ts +34 -22
  67. package/src/migration/upgrade-to-angular-19.ts +28 -12
  68. package/src/migration/upgrade-to-angular-20.ts +27 -11
  69. package/src/migration/upgrade-to-angular-21.ts +28 -12
  70. package/src/migration/upgrade-to-angular-8.ts +35 -14
  71. package/src/migration/upgrade-to-angular-9.ts +33 -17
@@ -14,7 +14,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  });
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.UpgradeToAngular16 = void 0;
17
+ exports.UpgradeToAngular16 = exports.UpgradeToAngular16CodeChanges = void 0;
18
18
  const rewrite_1 = require("@openrewrite/rewrite");
19
19
  const javascript_1 = require("@openrewrite/rewrite/javascript");
20
20
  const upgrade_to_angular_15_1 = require("./upgrade-to-angular-15");
@@ -25,21 +25,18 @@ const find_reflective_injector_usage_1 = require("../search/find-reflective-inje
25
25
  const find_render_module_factory_usage_1 = require("../search/find-render-module-factory-usage");
26
26
  const find_browser_transfer_state_module_usage_1 = require("../search/find-browser-transfer-state-module-usage");
27
27
  const find_render_application_usage_1 = require("../search/find-render-application-usage");
28
- class UpgradeToAngular16 extends rewrite_1.Recipe {
28
+ class UpgradeToAngular16CodeChanges extends rewrite_1.Recipe {
29
29
  constructor() {
30
30
  super(...arguments);
31
- this.name = "org.openrewrite.angular.UpgradeToAngular16";
32
- this.displayName = "Upgrade to Angular 16";
33
- this.description = "Migrates Angular 15.x applications to Angular 16. " +
34
- "This includes removing `entryComponents` and `moduleId` from decorators, replacing `RouterLinkWithHref` with `RouterLink`, " +
35
- "moving the `XhrFactory` import to `@angular/common`, and flagging removed APIs " +
36
- "like `ReflectiveInjector`, `renderModuleFactory`, and `BrowserTransferStateModule`.";
31
+ this.name = "org.openrewrite.angular.UpgradeToAngular16CodeChanges";
32
+ this.displayName = "Upgrade to Angular 16 (code changes)";
33
+ this.description = "The source changes of the Angular 16 migration, without the dependency version bumps. " +
34
+ "Use `UpgradeToAngular16` unless you are composing a migration to a later major.";
37
35
  }
38
36
  recipeList() {
39
37
  return __awaiter(this, void 0, void 0, function* () {
40
38
  return [
41
- // First, run Angular 15 migration
42
- new upgrade_to_angular_15_1.UpgradeToAngular15(),
39
+ new upgrade_to_angular_15_1.UpgradeToAngular15CodeChanges(),
43
40
  // Code transformations
44
41
  new remove_entry_components_1.RemoveEntryComponents(),
45
42
  new remove_module_id_1.RemoveModuleId(),
@@ -55,10 +52,33 @@ class UpgradeToAngular16 extends rewrite_1.Recipe {
55
52
  new find_render_module_factory_usage_1.FindRenderModuleFactoryUsage(),
56
53
  new find_browser_transfer_state_module_usage_1.FindBrowserTransferStateModuleUsage(),
57
54
  new find_render_application_usage_1.FindRenderApplicationUsage(),
55
+ ];
56
+ });
57
+ }
58
+ }
59
+ exports.UpgradeToAngular16CodeChanges = UpgradeToAngular16CodeChanges;
60
+ class UpgradeToAngular16 extends rewrite_1.Recipe {
61
+ constructor() {
62
+ super(...arguments);
63
+ this.name = "org.openrewrite.angular.UpgradeToAngular16";
64
+ this.displayName = "Upgrade to Angular 16";
65
+ this.description = "Migrates Angular 15.x applications to Angular 16. " +
66
+ "This includes removing `entryComponents` and `moduleId` from decorators, replacing `RouterLinkWithHref` with `RouterLink`, " +
67
+ "moving the `XhrFactory` import to `@angular/common`, and flagging removed APIs " +
68
+ "like `ReflectiveInjector`, `renderModuleFactory`, and `BrowserTransferStateModule`.";
69
+ }
70
+ recipeList() {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ return [
73
+ new UpgradeToAngular16CodeChanges(),
58
74
  // Angular core packages
59
75
  yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular/*", newVersion: "16.x" }),
60
- // Angular DevKit
61
- yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/*", newVersion: "16.x" }),
76
+ // Angular DevKit; `architect` and `build-webpack` kept the 0.<major><minor>.x CLI scheme
77
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/core", newVersion: "16.x" }),
78
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/s*", newVersion: "16.x" }),
79
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-angular", newVersion: "16.x" }),
80
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/architect*", newVersion: "0.1602.x" }),
81
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-webpack", newVersion: "0.1602.x" }),
62
82
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@schematics/angular", newVersion: "16.x" }),
63
83
  // zone.js
64
84
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "zone.js", newVersion: "0.13.x" }),
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-16.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-16.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAA2D;AAC3D,uEAAgE;AAChE,yDAAkD;AAClD,mFAA0E;AAC1E,6FAAqF;AACrF,iGAAwF;AACxF,iHAAuG;AACvG,2FAAmF;AAEnF,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,6HAA6H;YAC7H,iFAAiF;YACjF,qFAAqF,CAAC;IAgC9F,CAAC;IA9BS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,+CAAqB,EAAE;gBAC3B,IAAI,iCAAc,EAAE;gBACpB,IAAI,yDAAyB,EAAE;gBAC/B,eAAe;gBACf,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,sBAAsB;oBACjC,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,iBAAiB;iBAC/B,CAAC;gBACF,uBAAuB;gBACvB,IAAI,4DAA2B,EAAE;gBACjC,IAAI,+DAA4B,EAAE;gBAClC,IAAI,8EAAmC,EAAE;gBACzC,IAAI,0DAA0B,EAAE;gBAChC,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,iBAAiB;gBACjB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,UAAU;gBACV,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC9E,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AAtCD,gDAsCC"}
1
+ {"version":3,"file":"upgrade-to-angular-16.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-16.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAAsE;AACtE,uEAAgE;AAChE,yDAAkD;AAClD,mFAA0E;AAC1E,6FAAqF;AACrF,iGAAwF;AACxF,iHAAuG;AACvG,2FAAmF;AAEnF,MAAa,6BAA8B,SAAQ,gBAAM;IAAzD;;QACa,SAAI,GAAG,uDAAuD,CAAC;QAC/D,gBAAW,GAAG,sCAAsC,CAAC;QACrD,gBAAW,GAAG,wFAAwF;YAC3G,iFAAiF,CAAC;IAsB1F,CAAC;IApBS,UAAU;;YACZ,OAAO;gBACH,IAAI,qDAA6B,EAAE;gBACnC,uBAAuB;gBACvB,IAAI,+CAAqB,EAAE;gBAC3B,IAAI,iCAAc,EAAE;gBACpB,IAAI,yDAAyB,EAAE;gBAC/B,eAAe;gBACf,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,sBAAsB;oBACjC,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,iBAAiB;iBAC/B,CAAC;gBACF,uBAAuB;gBACvB,IAAI,4DAA2B,EAAE;gBACjC,IAAI,+DAA4B,EAAE;gBAClC,IAAI,8EAAmC,EAAE;gBACzC,IAAI,0DAA0B,EAAE;aACnC,CAAC;QACN,CAAC;KAAA;CACJ;AA1BD,sEA0BC;AAED,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,6HAA6H;YAC7H,iFAAiF;YACjF,qFAAqF,CAAC;IAoB9F,CAAC;IAlBS,UAAU;;YACZ,OAAO;gBACH,IAAI,6BAA6B,EAAE;gBACnC,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,yFAAyF;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC1F,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClG,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,4BAA4B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,UAAU;gBACV,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC9E,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AA1BD,gDA0BC"}
@@ -1,4 +1,10 @@
1
1
  import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular17CodeChanges extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular17CodeChanges";
4
+ readonly displayName = "Upgrade to Angular 17 (code changes)";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
2
8
  export declare class UpgradeToAngular17 extends Recipe {
3
9
  readonly name = "org.openrewrite.angular.UpgradeToAngular17";
4
10
  readonly displayName = "Upgrade to Angular 17";
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-17.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-17.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAO5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAGuC;IAErD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAoBxC"}
1
+ {"version":3,"file":"upgrade-to-angular-17.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-17.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAO5C,qBAAa,6BAA8B,SAAQ,MAAM;IACrD,QAAQ,CAAC,IAAI,2DAA2D;IACxE,QAAQ,CAAC,WAAW,0CAA0C;IAC9D,QAAQ,CAAC,WAAW,SACkE;IAEhF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAUxC;AAED,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAGuC;IAErD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAkBxC"}
@@ -14,13 +14,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  });
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.UpgradeToAngular17 = void 0;
17
+ exports.UpgradeToAngular17 = exports.UpgradeToAngular17CodeChanges = void 0;
18
18
  const rewrite_1 = require("@openrewrite/rewrite");
19
19
  const javascript_1 = require("@openrewrite/rewrite/javascript");
20
20
  const upgrade_to_angular_16_1 = require("./upgrade-to-angular-16");
21
21
  const replace_deep_zone_js_imports_1 = require("./replace-deep-zone-js-imports");
22
22
  const find_with_no_dom_reuse_usage_1 = require("../search/find-with-no-dom-reuse-usage");
23
23
  const find_setup_testing_router_usage_1 = require("../search/find-setup-testing-router-usage");
24
+ class UpgradeToAngular17CodeChanges extends rewrite_1.Recipe {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.name = "org.openrewrite.angular.UpgradeToAngular17CodeChanges";
28
+ this.displayName = "Upgrade to Angular 17 (code changes)";
29
+ this.description = "The source changes of the Angular 17 migration, without the dependency version bumps. " +
30
+ "Use `UpgradeToAngular17` unless you are composing a migration to a later major.";
31
+ }
32
+ recipeList() {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ return [
35
+ new upgrade_to_angular_16_1.UpgradeToAngular16CodeChanges(),
36
+ // Code transformations
37
+ new replace_deep_zone_js_imports_1.ReplaceDeepZoneJsImports(),
38
+ // Search: removed APIs
39
+ new find_with_no_dom_reuse_usage_1.FindWithNoDomReuseUsage(),
40
+ new find_setup_testing_router_usage_1.FindSetupTestingRouterUsage(),
41
+ ];
42
+ });
43
+ }
44
+ }
45
+ exports.UpgradeToAngular17CodeChanges = UpgradeToAngular17CodeChanges;
24
46
  class UpgradeToAngular17 extends rewrite_1.Recipe {
25
47
  constructor() {
26
48
  super(...arguments);
@@ -34,17 +56,15 @@ class UpgradeToAngular17 extends rewrite_1.Recipe {
34
56
  recipeList() {
35
57
  return __awaiter(this, void 0, void 0, function* () {
36
58
  return [
37
- // First, run Angular 16 migration
38
- new upgrade_to_angular_16_1.UpgradeToAngular16(),
39
- // Code transformations
40
- new replace_deep_zone_js_imports_1.ReplaceDeepZoneJsImports(),
41
- // Search: removed APIs
42
- new find_with_no_dom_reuse_usage_1.FindWithNoDomReuseUsage(),
43
- new find_setup_testing_router_usage_1.FindSetupTestingRouterUsage(),
59
+ new UpgradeToAngular17CodeChanges(),
44
60
  // Angular core packages
45
61
  yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular/*", newVersion: "17.x" }),
46
- // Angular DevKit
47
- yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/*", newVersion: "17.x" }),
62
+ // Angular DevKit; `architect` and `build-webpack` kept the 0.<major><minor>.x CLI scheme
63
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/core", newVersion: "17.x" }),
64
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/s*", newVersion: "17.x" }),
65
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-angular", newVersion: "17.x" }),
66
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/architect*", newVersion: "0.1703.x" }),
67
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-webpack", newVersion: "0.1703.x" }),
48
68
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@schematics/angular", newVersion: "17.x" }),
49
69
  // zone.js
50
70
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "zone.js", newVersion: "0.14.x" }),
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-17.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-17.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAA2D;AAC3D,iFAAwE;AACxE,yFAA+E;AAC/E,+FAAsF;AAEtF,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,4FAA4F;YAC5F,uEAAuE;YACvE,sDAAsD,CAAC;IAsB/D,CAAC;IApBS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,uDAAwB,EAAE;gBAC9B,uBAAuB;gBACvB,IAAI,sDAAuB,EAAE;gBAC7B,IAAI,6DAA2B,EAAE;gBACjC,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,iBAAiB;gBACjB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,UAAU;gBACV,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC9E,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AA5BD,gDA4BC"}
1
+ {"version":3,"file":"upgrade-to-angular-17.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-17.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAAsE;AACtE,iFAAwE;AACxE,yFAA+E;AAC/E,+FAAsF;AAEtF,MAAa,6BAA8B,SAAQ,gBAAM;IAAzD;;QACa,SAAI,GAAG,uDAAuD,CAAC;QAC/D,gBAAW,GAAG,sCAAsC,CAAC;QACrD,gBAAW,GAAG,wFAAwF;YAC3G,iFAAiF,CAAC;IAY1F,CAAC;IAVS,UAAU;;YACZ,OAAO;gBACH,IAAI,qDAA6B,EAAE;gBACnC,uBAAuB;gBACvB,IAAI,uDAAwB,EAAE;gBAC9B,uBAAuB;gBACvB,IAAI,sDAAuB,EAAE;gBAC7B,IAAI,6DAA2B,EAAE;aACpC,CAAC;QACN,CAAC;KAAA;CACJ;AAhBD,sEAgBC;AAED,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,4FAA4F;YAC5F,uEAAuE;YACvE,sDAAsD,CAAC;IAoB/D,CAAC;IAlBS,UAAU;;YACZ,OAAO;gBACH,IAAI,6BAA6B,EAAE;gBACnC,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,yFAAyF;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC1F,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClG,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,4BAA4B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,UAAU;gBACV,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC9E,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AA1BD,gDA0BC"}
@@ -1,4 +1,10 @@
1
1
  import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular18CodeChanges extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular18CodeChanges";
4
+ readonly displayName = "Upgrade to Angular 18 (code changes)";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
2
8
  export declare class UpgradeToAngular18 extends Recipe {
3
9
  readonly name = "org.openrewrite.angular.UpgradeToAngular18";
4
10
  readonly displayName = "Upgrade to Angular 18";
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-18.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAa5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAG0C;IAExD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAiDxC"}
1
+ {"version":3,"file":"upgrade-to-angular-18.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAa5C,qBAAa,6BAA8B,SAAQ,MAAM;IACrD,QAAQ,CAAC,IAAI,2DAA2D;IACxE,QAAQ,CAAC,WAAW,0CAA0C;IAC9D,QAAQ,CAAC,WAAW,SACkE;IAEhF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAmCxC;AAED,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAG0C;IAExD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAkBxC"}
@@ -14,7 +14,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  });
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.UpgradeToAngular18 = void 0;
17
+ exports.UpgradeToAngular18 = exports.UpgradeToAngular18CodeChanges = void 0;
18
18
  const rewrite_1 = require("@openrewrite/rewrite");
19
19
  const javascript_1 = require("@openrewrite/rewrite/javascript");
20
20
  const upgrade_to_angular_17_1 = require("./upgrade-to-angular-17");
@@ -27,21 +27,18 @@ const find_server_transfer_state_module_usage_1 = require("../search/find-server
27
27
  const find_resource_cache_provider_usage_1 = require("../search/find-resource-cache-provider-usage");
28
28
  const find_testability_pending_request_usage_1 = require("../search/find-testability-pending-request-usage");
29
29
  const find_animation_driver_matches_element_1 = require("../search/find-animation-driver-matches-element");
30
- class UpgradeToAngular18 extends rewrite_1.Recipe {
30
+ class UpgradeToAngular18CodeChanges extends rewrite_1.Recipe {
31
31
  constructor() {
32
32
  super(...arguments);
33
- this.name = "org.openrewrite.angular.UpgradeToAngular18";
34
- this.displayName = "Upgrade to Angular 18";
35
- this.description = "Migrates Angular 17.x applications to Angular 18. " +
36
- "This includes replacing the deprecated `async` test helper with `waitForAsync`, " +
37
- "migrating `HttpClientModule` to `provideHttpClient()`, moving Transfer State APIs " +
38
- "to `@angular/core`, and flagging removed platform APIs.";
33
+ this.name = "org.openrewrite.angular.UpgradeToAngular18CodeChanges";
34
+ this.displayName = "Upgrade to Angular 18 (code changes)";
35
+ this.description = "The source changes of the Angular 18 migration, without the Angular dependency version bumps. " +
36
+ "Use `UpgradeToAngular18` unless you are composing a migration to a later major.";
39
37
  }
40
38
  recipeList() {
41
39
  return __awaiter(this, void 0, void 0, function* () {
42
40
  return [
43
- // First, run Angular 17 migration
44
- new upgrade_to_angular_17_1.UpgradeToAngular17(),
41
+ new upgrade_to_angular_17_1.UpgradeToAngular17CodeChanges(),
45
42
  // Code transformations
46
43
  new replace_async_with_wait_for_async_1.ReplaceAsyncWithWaitForAsync(),
47
44
  new replace_http_client_module_1.ReplaceHttpClientModule(),
@@ -68,19 +65,38 @@ class UpgradeToAngular18 extends rewrite_1.Recipe {
68
65
  new find_resource_cache_provider_usage_1.FindResourceCacheProviderUsage(),
69
66
  new find_testability_pending_request_usage_1.FindTestabilityPendingRequestUsage(),
70
67
  new find_animation_driver_matches_element_1.FindAnimationDriverMatchesElement(),
71
- // Bump every package whose target follows the Angular major (18.x) in a single
72
- // atomic npm install. upgradeDependencyVersion runs npm once per call, so packages
73
- // that share a peer-dep graph MUST go in one matcher otherwise a partial bump
74
- // leaves the install failing with ERESOLVE. picomatch brace expansion lets us glob
75
- // multiple package patterns in a single call.
76
- yield (0, javascript_1.upgradeDependencyVersion)({
77
- packagePattern: "{@angular/*,@angular-devkit/*,@schematics/angular}",
78
- newVersion: "18.x",
79
- }),
80
- // Bump well-known third-party Angular libraries (ng-bootstrap, ngx-bootstrap, …) to
81
- // their Angular-18-compatible versions. Kept as a separate recipe so it can be run
82
- // independently or extended without touching this file every time.
68
+ // Third-party libraries pinned to an Angular peer range (ng-bootstrap, ngx-bootstrap, …).
69
+ // There is no 19/20/21 equivalent yet, so this stays in the chained half: without it a
70
+ // migration to a later major would leave these libraries on a pre-18 line entirely.
83
71
  new upgrade_angular_peer_libs_to_18_1.UpgradeAngularPeerLibsTo18(),
72
+ ];
73
+ });
74
+ }
75
+ }
76
+ exports.UpgradeToAngular18CodeChanges = UpgradeToAngular18CodeChanges;
77
+ class UpgradeToAngular18 extends rewrite_1.Recipe {
78
+ constructor() {
79
+ super(...arguments);
80
+ this.name = "org.openrewrite.angular.UpgradeToAngular18";
81
+ this.displayName = "Upgrade to Angular 18";
82
+ this.description = "Migrates Angular 17.x applications to Angular 18. " +
83
+ "This includes replacing the deprecated `async` test helper with `waitForAsync`, " +
84
+ "migrating `HttpClientModule` to `provideHttpClient()`, moving Transfer State APIs " +
85
+ "to `@angular/core`, and flagging removed platform APIs.";
86
+ }
87
+ recipeList() {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ return [
90
+ new UpgradeToAngular18CodeChanges(),
91
+ // Angular core packages
92
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular/*", newVersion: "18.x" }),
93
+ // Angular DevKit; `architect` and `build-webpack` kept the 0.<major><minor>.x CLI scheme
94
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/core", newVersion: "18.x" }),
95
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/s*", newVersion: "18.x" }),
96
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-angular", newVersion: "18.x" }),
97
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/architect*", newVersion: "0.1802.x" }),
98
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-webpack", newVersion: "0.1802.x" }),
99
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@schematics/angular", newVersion: "18.x" }),
84
100
  // zone.js
85
101
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "zone.js", newVersion: "0.14.x" }),
86
102
  // TypeScript: Angular 18 compiler requires >=5.4.0 <5.5.0
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-18.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAA2D;AAC3D,uFAA6E;AAC7E,2FAAiF;AACjF,6EAAqE;AACrE,qFAA6E;AAC7E,qGAA4F;AAC5F,+GAAqG;AACrG,qGAA4F;AAC5F,6GAAoG;AACpG,2GAAkG;AAElG,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,kFAAkF;YAClF,oFAAoF;YACpF,yDAAyD,CAAC;IAmDlE,CAAC;IAjDS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,gEAA4B,EAAE;gBAClC,IAAI,oDAAuB,EAAE;gBAC7B,qCAAqC;gBACrC,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,UAAU;oBACrB,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,uBAAuB;gBACvB,IAAI,oDAAuB,EAAE;gBAC7B,IAAI,mEAA8B,EAAE;gBACpC,IAAI,4EAAkC,EAAE;gBACxC,IAAI,mEAA8B,EAAE;gBACpC,IAAI,2EAAkC,EAAE;gBACxC,IAAI,yEAAiC,EAAE;gBACvC,+EAA+E;gBAC/E,mFAAmF;gBACnF,gFAAgF;gBAChF,mFAAmF;gBACnF,8CAA8C;gBAC9C,MAAM,IAAA,qCAAwB,EAAC;oBAC3B,cAAc,EAAE,oDAAoD;oBACpE,UAAU,EAAE,MAAM;iBACrB,CAAC;gBACF,oFAAoF;gBACpF,mFAAmF;gBACnF,mEAAmE;gBACnE,IAAI,4DAA0B,EAAE;gBAChC,UAAU;gBACV,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC9E,0DAA0D;gBAC1D,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AAzDD,gDAyDC"}
1
+ {"version":3,"file":"upgrade-to-angular-18.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAAsE;AACtE,uFAA6E;AAC7E,2FAAiF;AACjF,6EAAqE;AACrE,qFAA6E;AAC7E,qGAA4F;AAC5F,+GAAqG;AACrG,qGAA4F;AAC5F,6GAAoG;AACpG,2GAAkG;AAElG,MAAa,6BAA8B,SAAQ,gBAAM;IAAzD;;QACa,SAAI,GAAG,uDAAuD,CAAC;QAC/D,gBAAW,GAAG,sCAAsC,CAAC;QACrD,gBAAW,GAAG,gGAAgG;YACnH,iFAAiF,CAAC;IAqC1F,CAAC;IAnCS,UAAU;;YACZ,OAAO;gBACH,IAAI,qDAA6B,EAAE;gBACnC,uBAAuB;gBACvB,IAAI,gEAA4B,EAAE;gBAClC,IAAI,oDAAuB,EAAE;gBAC7B,qCAAqC;gBACrC,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,UAAU;oBACrB,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,uBAAuB;gBACvB,IAAI,oDAAuB,EAAE;gBAC7B,IAAI,mEAA8B,EAAE;gBACpC,IAAI,4EAAkC,EAAE;gBACxC,IAAI,mEAA8B,EAAE;gBACpC,IAAI,2EAAkC,EAAE;gBACxC,IAAI,yEAAiC,EAAE;gBACvC,0FAA0F;gBAC1F,uFAAuF;gBACvF,oFAAoF;gBACpF,IAAI,4DAA0B,EAAE;aACnC,CAAC;QACN,CAAC;KAAA;CACJ;AAzCD,sEAyCC;AAED,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,kFAAkF;YAClF,oFAAoF;YACpF,yDAAyD,CAAC;IAoBlE,CAAC;IAlBS,UAAU;;YACZ,OAAO;gBACH,IAAI,6BAA6B,EAAE;gBACnC,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,yFAAyF;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC1F,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClG,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,4BAA4B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,UAAU;gBACV,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC9E,0DAA0D;gBAC1D,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AA1BD,gDA0BC"}
@@ -1,4 +1,10 @@
1
1
  import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular19CodeChanges extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular19CodeChanges";
4
+ readonly displayName = "Upgrade to Angular 19 (code changes)";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
2
8
  export declare class UpgradeToAngular19 extends Recipe {
3
9
  readonly name = "org.openrewrite.angular.UpgradeToAngular19";
4
10
  readonly displayName = "Upgrade to Angular 19";
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-19.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-19.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAS5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAG8B;IAE5C,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CA2BxC"}
1
+ {"version":3,"file":"upgrade-to-angular-19.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-19.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAS5C,qBAAa,6BAA8B,SAAQ,MAAM;IACrD,QAAQ,CAAC,IAAI,2DAA2D;IACxE,QAAQ,CAAC,WAAW,0CAA0C;IAC9D,QAAQ,CAAC,WAAW,SACkE;IAEhF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAiBxC;AAED,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAG8B;IAE5C,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAkBxC"}
@@ -14,7 +14,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  });
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.UpgradeToAngular19 = void 0;
17
+ exports.UpgradeToAngular19 = exports.UpgradeToAngular19CodeChanges = void 0;
18
18
  const rewrite_1 = require("@openrewrite/rewrite");
19
19
  const javascript_1 = require("@openrewrite/rewrite/javascript");
20
20
  const upgrade_to_angular_18_1 = require("./upgrade-to-angular-18");
@@ -23,21 +23,18 @@ const rename_pending_tasks_1 = require("./rename-pending-tasks");
23
23
  const remove_browser_module_with_server_transition_1 = require("./remove-browser-module-with-server-transition");
24
24
  const find_effect_timing_usage_1 = require("../search/find-effect-timing-usage");
25
25
  const find_empty_projectable_nodes_1 = require("../search/find-empty-projectable-nodes");
26
- class UpgradeToAngular19 extends rewrite_1.Recipe {
26
+ class UpgradeToAngular19CodeChanges extends rewrite_1.Recipe {
27
27
  constructor() {
28
28
  super(...arguments);
29
- this.name = "org.openrewrite.angular.UpgradeToAngular19";
30
- this.displayName = "Upgrade to Angular 19";
31
- this.description = "Migrates Angular 18.x applications to Angular 19. " +
32
- "This includes updating Angular package versions, adjusting the standalone default, " +
33
- "renaming `ExperimentalPendingTasks` to `PendingTasks`, moving the `ApplicationConfig` import " +
34
- "to `@angular/core`, and updating `zone.js`.";
29
+ this.name = "org.openrewrite.angular.UpgradeToAngular19CodeChanges";
30
+ this.displayName = "Upgrade to Angular 19 (code changes)";
31
+ this.description = "The source changes of the Angular 19 migration, without the dependency version bumps. " +
32
+ "Use `UpgradeToAngular19` unless you are composing a migration to a later major.";
35
33
  }
36
34
  recipeList() {
37
35
  return __awaiter(this, void 0, void 0, function* () {
38
36
  return [
39
- // First, run Angular 18 migration
40
- new upgrade_to_angular_18_1.UpgradeToAngular18(),
37
+ new upgrade_to_angular_18_1.UpgradeToAngular18CodeChanges(),
41
38
  // Code transformations
42
39
  new explicit_standalone_flag_1.ExplicitStandaloneFlag(),
43
40
  new rename_pending_tasks_1.RenamePendingTasks(),
@@ -50,10 +47,33 @@ class UpgradeToAngular19 extends rewrite_1.Recipe {
50
47
  // Behavioral change warnings
51
48
  new find_effect_timing_usage_1.FindEffectTimingUsage(),
52
49
  new find_empty_projectable_nodes_1.FindEmptyProjectableNodes(),
50
+ ];
51
+ });
52
+ }
53
+ }
54
+ exports.UpgradeToAngular19CodeChanges = UpgradeToAngular19CodeChanges;
55
+ class UpgradeToAngular19 extends rewrite_1.Recipe {
56
+ constructor() {
57
+ super(...arguments);
58
+ this.name = "org.openrewrite.angular.UpgradeToAngular19";
59
+ this.displayName = "Upgrade to Angular 19";
60
+ this.description = "Migrates Angular 18.x applications to Angular 19. " +
61
+ "This includes updating Angular package versions, adjusting the standalone default, " +
62
+ "renaming `ExperimentalPendingTasks` to `PendingTasks`, moving the `ApplicationConfig` import " +
63
+ "to `@angular/core`, and updating `zone.js`.";
64
+ }
65
+ recipeList() {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ return [
68
+ new UpgradeToAngular19CodeChanges(),
53
69
  // Angular core packages
54
70
  yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular/*", newVersion: "19.x" }),
55
- // Angular DevKit
56
- yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/*", newVersion: "19.x" }),
71
+ // Angular DevKit; `architect` and `build-webpack` kept the 0.<major><minor>.x CLI scheme
72
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/core", newVersion: "19.x" }),
73
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/s*", newVersion: "19.x" }),
74
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-angular", newVersion: "19.x" }),
75
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/architect*", newVersion: "0.1902.x" }),
76
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-webpack", newVersion: "0.1902.x" }),
57
77
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@schematics/angular", newVersion: "19.x" }),
58
78
  // zone.js
59
79
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "zone.js", newVersion: "0.15.x" }),
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-19.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-19.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAA2D;AAC3D,yEAAkE;AAClE,iEAA0D;AAC1D,iHAAuG;AACvG,iFAAyE;AACzE,yFAAiF;AAEjF,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,qFAAqF;YACrF,+FAA+F;YAC/F,6CAA6C,CAAC;IA6BtD,CAAC;IA3BS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,iDAAsB,EAAE;gBAC5B,IAAI,yCAAkB,EAAE;gBACxB,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,mBAAmB;oBAC9B,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,sFAAuC,EAAE;gBAC7C,6BAA6B;gBAC7B,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,wDAAyB,EAAE;gBAC/B,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,iBAAiB;gBACjB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,UAAU;gBACV,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC9E,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AAnCD,gDAmCC"}
1
+ {"version":3,"file":"upgrade-to-angular-19.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-19.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAAsE;AACtE,yEAAkE;AAClE,iEAA0D;AAC1D,iHAAuG;AACvG,iFAAyE;AACzE,yFAAiF;AAEjF,MAAa,6BAA8B,SAAQ,gBAAM;IAAzD;;QACa,SAAI,GAAG,uDAAuD,CAAC;QAC/D,gBAAW,GAAG,sCAAsC,CAAC;QACrD,gBAAW,GAAG,wFAAwF;YAC3G,iFAAiF,CAAC;IAmB1F,CAAC;IAjBS,UAAU;;YACZ,OAAO;gBACH,IAAI,qDAA6B,EAAE;gBACnC,uBAAuB;gBACvB,IAAI,iDAAsB,EAAE;gBAC5B,IAAI,yCAAkB,EAAE;gBACxB,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,mBAAmB;oBAC9B,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,sFAAuC,EAAE;gBAC7C,6BAA6B;gBAC7B,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,wDAAyB,EAAE;aAClC,CAAC;QACN,CAAC;KAAA;CACJ;AAvBD,sEAuBC;AAED,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,qFAAqF;YACrF,+FAA+F;YAC/F,6CAA6C,CAAC;IAoBtD,CAAC;IAlBS,UAAU;;YACZ,OAAO;gBACH,IAAI,6BAA6B,EAAE;gBACnC,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,yFAAyF;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC1F,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClG,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,4BAA4B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,UAAU;gBACV,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC9E,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AA1BD,gDA0BC"}
@@ -1,4 +1,10 @@
1
1
  import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular20CodeChanges extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular20CodeChanges";
4
+ readonly displayName = "Upgrade to Angular 20 (code changes)";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
2
8
  export declare class UpgradeToAngular20 extends Recipe {
3
9
  readonly name = "org.openrewrite.angular.UpgradeToAngular20";
4
10
  readonly displayName = "Upgrade to Angular 20";
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-20.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-20.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAW5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAEoE;IAElF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAqBxC"}
1
+ {"version":3,"file":"upgrade-to-angular-20.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-20.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAW5C,qBAAa,6BAA8B,SAAQ,MAAM;IACrD,QAAQ,CAAC,IAAI,2DAA2D;IACxE,QAAQ,CAAC,WAAW,0CAA0C;IAC9D,QAAQ,CAAC,WAAW,SACkE;IAEhF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAaxC;AAED,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAEoE;IAElF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAgBxC"}
@@ -14,7 +14,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  });
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.UpgradeToAngular20 = void 0;
17
+ exports.UpgradeToAngular20 = exports.UpgradeToAngular20CodeChanges = void 0;
18
18
  const rewrite_1 = require("@openrewrite/rewrite");
19
19
  const javascript_1 = require("@openrewrite/rewrite/javascript");
20
20
  const upgrade_to_angular_19_1 = require("./upgrade-to-angular-19");
@@ -25,20 +25,18 @@ const replace_inject_flags_1 = require("./replace-inject-flags");
25
25
  const move_document_to_core_1 = require("./move-document-to-core");
26
26
  const remove_standalone_true_1 = require("./remove-standalone-true");
27
27
  const remove_zone_js_polyfill_1 = require("./remove-zone-js-polyfill");
28
- class UpgradeToAngular20 extends rewrite_1.Recipe {
28
+ class UpgradeToAngular20CodeChanges extends rewrite_1.Recipe {
29
29
  constructor() {
30
30
  super(...arguments);
31
- this.name = "org.openrewrite.angular.UpgradeToAngular20";
32
- this.displayName = "Upgrade to Angular 20";
33
- this.description = "Migrates Angular 19.x applications to Angular 20. " +
34
- "This includes running the Angular 19 migration first, then updating Angular package versions, " +
35
- "renaming experimental APIs promoted to stable, and upgrading TypeScript to 5.8.x.";
31
+ this.name = "org.openrewrite.angular.UpgradeToAngular20CodeChanges";
32
+ this.displayName = "Upgrade to Angular 20 (code changes)";
33
+ this.description = "The source changes of the Angular 20 migration, without the dependency version bumps. " +
34
+ "Use `UpgradeToAngular20` unless you are composing a migration to a later major.";
36
35
  }
37
36
  recipeList() {
38
37
  return __awaiter(this, void 0, void 0, function* () {
39
38
  return [
40
- // First, run Angular 19 migration
41
- new upgrade_to_angular_19_1.UpgradeToAngular19(),
39
+ new upgrade_to_angular_19_1.UpgradeToAngular19CodeChanges(),
42
40
  // Code transformations
43
41
  new rename_zoneless_provider_1.RenameZonelessProvider(),
44
42
  new rename_check_no_changes_1.RenameCheckNoChanges(),
@@ -47,10 +45,32 @@ class UpgradeToAngular20 extends rewrite_1.Recipe {
47
45
  new move_document_to_core_1.MoveDocumentImport(),
48
46
  new remove_standalone_true_1.RemoveStandaloneTrue(),
49
47
  new remove_zone_js_polyfill_1.RemoveZoneJsPolyfill(),
48
+ ];
49
+ });
50
+ }
51
+ }
52
+ exports.UpgradeToAngular20CodeChanges = UpgradeToAngular20CodeChanges;
53
+ class UpgradeToAngular20 extends rewrite_1.Recipe {
54
+ constructor() {
55
+ super(...arguments);
56
+ this.name = "org.openrewrite.angular.UpgradeToAngular20";
57
+ this.displayName = "Upgrade to Angular 20";
58
+ this.description = "Migrates Angular 19.x applications to Angular 20. " +
59
+ "This includes running the Angular 19 migration first, then updating Angular package versions, " +
60
+ "renaming experimental APIs promoted to stable, and upgrading TypeScript to 5.8.x.";
61
+ }
62
+ recipeList() {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ return [
65
+ new UpgradeToAngular20CodeChanges(),
50
66
  // Angular core packages
51
67
  yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular/*", newVersion: "20.x" }),
52
- // Angular DevKit
53
- yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/*", newVersion: "20.x" }),
68
+ // Angular DevKit; `architect` and `build-webpack` kept the 0.<major><minor>.x CLI scheme
69
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/core", newVersion: "20.x" }),
70
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/s*", newVersion: "20.x" }),
71
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-angular", newVersion: "20.x" }),
72
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/architect*", newVersion: "0.2003.x" }),
73
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-webpack", newVersion: "0.2003.x" }),
54
74
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@schematics/angular", newVersion: "20.x" }),
55
75
  // TypeScript
56
76
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "typescript", newVersion: "5.8.x" }),
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-20.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-20.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAA2D;AAC3D,yEAAkE;AAClE,uEAA+D;AAC/D,+DAAwD;AACxD,iEAA0D;AAC1D,mEAA2D;AAC3D,qEAA8D;AAC9D,uEAA+D;AAE/D,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,gGAAgG;YAChG,mFAAmF,CAAC;IAuB5F,CAAC;IArBS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,iDAAsB,EAAE;gBAC5B,IAAI,8CAAoB,EAAE;gBAC1B,IAAI,uCAAiB,EAAE;gBACvB,IAAI,yCAAkB,EAAE;gBACxB,IAAI,0CAAkB,EAAE;gBACxB,IAAI,6CAAoB,EAAE;gBAC1B,IAAI,8CAAoB,EAAE;gBAC1B,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,iBAAiB;gBACjB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AA5BD,gDA4BC"}
1
+ {"version":3,"file":"upgrade-to-angular-20.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-20.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAAsE;AACtE,yEAAkE;AAClE,uEAA+D;AAC/D,+DAAwD;AACxD,iEAA0D;AAC1D,mEAA2D;AAC3D,qEAA8D;AAC9D,uEAA+D;AAE/D,MAAa,6BAA8B,SAAQ,gBAAM;IAAzD;;QACa,SAAI,GAAG,uDAAuD,CAAC;QAC/D,gBAAW,GAAG,sCAAsC,CAAC;QACrD,gBAAW,GAAG,wFAAwF;YAC3G,iFAAiF,CAAC;IAe1F,CAAC;IAbS,UAAU;;YACZ,OAAO;gBACH,IAAI,qDAA6B,EAAE;gBACnC,uBAAuB;gBACvB,IAAI,iDAAsB,EAAE;gBAC5B,IAAI,8CAAoB,EAAE;gBAC1B,IAAI,uCAAiB,EAAE;gBACvB,IAAI,yCAAkB,EAAE;gBACxB,IAAI,0CAAkB,EAAE;gBACxB,IAAI,6CAAoB,EAAE;gBAC1B,IAAI,8CAAoB,EAAE;aAC7B,CAAC;QACN,CAAC;KAAA;CACJ;AAnBD,sEAmBC;AAED,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,gGAAgG;YAChG,mFAAmF,CAAC;IAkB5F,CAAC;IAhBS,UAAU;;YACZ,OAAO;gBACH,IAAI,6BAA6B,EAAE;gBACnC,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,yFAAyF;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC1F,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClG,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,4BAA4B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AAvBD,gDAuBC"}
@@ -1,4 +1,10 @@
1
1
  import { Recipe } from "@openrewrite/rewrite";
2
+ export declare class UpgradeToAngular21CodeChanges extends Recipe {
3
+ readonly name = "org.openrewrite.angular.UpgradeToAngular21CodeChanges";
4
+ readonly displayName = "Upgrade to Angular 21 (code changes)";
5
+ readonly description: string;
6
+ recipeList(): Promise<Recipe[]>;
7
+ }
2
8
  export declare class UpgradeToAngular21 extends Recipe {
3
9
  readonly name = "org.openrewrite.angular.UpgradeToAngular21";
4
10
  readonly displayName = "Upgrade to Angular 21";
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-21.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-21.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAa5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAGqB;IAEnC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAwBxC"}
1
+ {"version":3,"file":"upgrade-to-angular-21.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-21.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAa5C,qBAAa,6BAA8B,SAAQ,MAAM;IACrD,QAAQ,CAAC,IAAI,2DAA2D;IACxE,QAAQ,CAAC,WAAW,0CAA0C;IAC9D,QAAQ,CAAC,WAAW,SACkE;IAEhF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAgBxC;AAED,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAGqB;IAEnC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAgBxC"}
@@ -14,7 +14,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  });
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.UpgradeToAngular21 = void 0;
17
+ exports.UpgradeToAngular21 = exports.UpgradeToAngular21CodeChanges = void 0;
18
18
  const rewrite_1 = require("@openrewrite/rewrite");
19
19
  const javascript_1 = require("@openrewrite/rewrite/javascript");
20
20
  const upgrade_to_angular_20_1 = require("./upgrade-to-angular-20");
@@ -27,21 +27,18 @@ const migrate_constructor_to_inject_1 = require("./migrate-constructor-to-inject
27
27
  const migrate_input_to_signal_1 = require("./migrate-input-to-signal");
28
28
  const migrate_output_to_signal_1 = require("./migrate-output-to-signal");
29
29
  const migrate_query_to_signal_1 = require("./migrate-query-to-signal");
30
- class UpgradeToAngular21 extends rewrite_1.Recipe {
30
+ class UpgradeToAngular21CodeChanges extends rewrite_1.Recipe {
31
31
  constructor() {
32
32
  super(...arguments);
33
- this.name = "org.openrewrite.angular.UpgradeToAngular21";
34
- this.displayName = "Upgrade to Angular 21";
35
- this.description = "Migrates Angular 20.x applications to Angular 21. " +
36
- "This includes running the Angular 20 migration first, flagging Karma test runner usage " +
37
- "for Vitest migration, deprecated NgClass, zone.js-dependent test helpers, " +
38
- "and upgrading TypeScript to 5.9.x.";
33
+ this.name = "org.openrewrite.angular.UpgradeToAngular21CodeChanges";
34
+ this.displayName = "Upgrade to Angular 21 (code changes)";
35
+ this.description = "The source changes of the Angular 21 migration, without the dependency version bumps. " +
36
+ "Use `UpgradeToAngular21` unless you are composing a migration to a later major.";
39
37
  }
40
38
  recipeList() {
41
39
  return __awaiter(this, void 0, void 0, function* () {
42
40
  return [
43
- // First, run Angular 20 migration
44
- new upgrade_to_angular_20_1.UpgradeToAngular20(),
41
+ new upgrade_to_angular_20_1.UpgradeToAngular20CodeChanges(),
45
42
  // Deprecation and behavioral change warnings
46
43
  new find_karma_usage_1.FindKarmaUsage(),
47
44
  new find_common_module_usage_1.FindCommonModuleUsage(),
@@ -53,10 +50,33 @@ class UpgradeToAngular21 extends rewrite_1.Recipe {
53
50
  new migrate_input_to_signal_1.MigrateInputToSignal(),
54
51
  new migrate_output_to_signal_1.MigrateOutputToSignal(),
55
52
  new migrate_query_to_signal_1.MigrateQueryToSignal(),
53
+ ];
54
+ });
55
+ }
56
+ }
57
+ exports.UpgradeToAngular21CodeChanges = UpgradeToAngular21CodeChanges;
58
+ class UpgradeToAngular21 extends rewrite_1.Recipe {
59
+ constructor() {
60
+ super(...arguments);
61
+ this.name = "org.openrewrite.angular.UpgradeToAngular21";
62
+ this.displayName = "Upgrade to Angular 21";
63
+ this.description = "Migrates Angular 20.x applications to Angular 21. " +
64
+ "This includes running the Angular 20 migration first, flagging Karma test runner usage " +
65
+ "for Vitest migration, deprecated NgClass, zone.js-dependent test helpers, " +
66
+ "and upgrading TypeScript to 5.9.x.";
67
+ }
68
+ recipeList() {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ return [
71
+ new UpgradeToAngular21CodeChanges(),
56
72
  // Angular core packages
57
73
  yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular/*", newVersion: "21.x" }),
58
- // Angular DevKit
59
- yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/*", newVersion: "21.x" }),
74
+ // Angular DevKit; `architect` and `build-webpack` kept the 0.<major><minor>.x CLI scheme
75
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/core", newVersion: "21.x" }),
76
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/s*", newVersion: "21.x" }),
77
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-angular", newVersion: "21.x" }),
78
+ yield (0, javascript_1.upgradeDependencyVersion)({ packagePattern: "@angular-devkit/architect*", newVersion: "0.2102.x" }),
79
+ yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@angular-devkit/build-webpack", newVersion: "0.2102.x" }),
60
80
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "@schematics/angular", newVersion: "21.x" }),
61
81
  // TypeScript
62
82
  yield (0, javascript_1.upgradeDependencyVersion)({ packageName: "typescript", newVersion: "5.9.x" }),
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-to-angular-21.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-21.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAA2D;AAC3D,iEAA0D;AAC1D,iFAAyE;AACzE,uEAA+D;AAC/D,uEAA+D;AAC/D,2EAAmE;AACnE,mFAA2E;AAC3E,uEAA+D;AAC/D,yEAAiE;AACjE,uEAA+D;AAE/D,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,yFAAyF;YACzF,4EAA4E;YAC5E,oCAAoC,CAAC;IA0B7C,CAAC;IAxBS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,6CAA6C;gBAC7C,IAAI,iCAAc,EAAE;gBACpB,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,sCAAgB,EAAE;gBACtB,IAAI,sCAAgB,EAAE;gBACtB,IAAI,0CAAkB,EAAE;gBACxB,4BAA4B;gBAC5B,IAAI,0DAA0B,EAAE;gBAChC,IAAI,8CAAoB,EAAE;gBAC1B,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,8CAAoB,EAAE;gBAC1B,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,iBAAiB;gBACjB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AAhCD,gDAgCC"}
1
+ {"version":3,"file":"upgrade-to-angular-21.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-21.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AACzE,mEAAsE;AACtE,iEAA0D;AAC1D,iFAAyE;AACzE,uEAA+D;AAC/D,uEAA+D;AAC/D,2EAAmE;AACnE,mFAA2E;AAC3E,uEAA+D;AAC/D,yEAAiE;AACjE,uEAA+D;AAE/D,MAAa,6BAA8B,SAAQ,gBAAM;IAAzD;;QACa,SAAI,GAAG,uDAAuD,CAAC;QAC/D,gBAAW,GAAG,sCAAsC,CAAC;QACrD,gBAAW,GAAG,wFAAwF;YAC3G,iFAAiF,CAAC;IAkB1F,CAAC;IAhBS,UAAU;;YACZ,OAAO;gBACH,IAAI,qDAA6B,EAAE;gBACnC,6CAA6C;gBAC7C,IAAI,iCAAc,EAAE;gBACpB,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,sCAAgB,EAAE;gBACtB,IAAI,sCAAgB,EAAE;gBACtB,IAAI,0CAAkB,EAAE;gBACxB,4BAA4B;gBAC5B,IAAI,0DAA0B,EAAE;gBAChC,IAAI,8CAAoB,EAAE;gBAC1B,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,8CAAoB,EAAE;aAC7B,CAAC;QACN,CAAC;KAAA;CACJ;AAtBD,sEAsBC;AAED,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,yFAAyF;YACzF,4EAA4E;YAC5E,oCAAoC,CAAC;IAkB7C,CAAC;IAhBS,UAAU;;YACZ,OAAO;gBACH,IAAI,6BAA6B,EAAE;gBACnC,wBAAwB;gBACxB,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClF,yFAAyF;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACzF,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC1F,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAClG,MAAM,IAAA,qCAAwB,EAAC,EAAC,cAAc,EAAE,4BAA4B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,+BAA+B,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;gBACtG,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBACxF,aAAa;gBACb,MAAM,IAAA,qCAAwB,EAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AAxBD,gDAwBC"}