@openrewrite/recipes-angular 1.17.0 → 1.18.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 (125) hide show
  1. package/dist/index.d.ts +12 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +83 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/libraries/cdk/find-cdk-signature-changes.d.ts +48 -0
  6. package/dist/libraries/cdk/find-cdk-signature-changes.d.ts.map +1 -0
  7. package/dist/libraries/cdk/find-cdk-signature-changes.js +323 -0
  8. package/dist/libraries/cdk/find-cdk-signature-changes.js.map +1 -0
  9. package/dist/libraries/cdk/find-removed-cdk-apis.d.ts +32 -0
  10. package/dist/libraries/cdk/find-removed-cdk-apis.d.ts.map +1 -0
  11. package/dist/libraries/cdk/find-removed-cdk-apis.js +75 -0
  12. package/dist/libraries/cdk/find-removed-cdk-apis.js.map +1 -0
  13. package/dist/libraries/cdk/migrate-cdk-sass-imports.d.ts +17 -0
  14. package/dist/libraries/cdk/migrate-cdk-sass-imports.d.ts.map +1 -0
  15. package/dist/libraries/cdk/migrate-cdk-sass-imports.js +177 -0
  16. package/dist/libraries/cdk/migrate-cdk-sass-imports.js.map +1 -0
  17. package/dist/libraries/cdk/migrate-cdk-stepper.d.ts +8 -0
  18. package/dist/libraries/cdk/migrate-cdk-stepper.d.ts.map +1 -0
  19. package/dist/libraries/cdk/migrate-cdk-stepper.js +92 -0
  20. package/dist/libraries/cdk/migrate-cdk-stepper.js.map +1 -0
  21. package/dist/libraries/cdk/migrate-deprecated-overlay-sass.d.ts +9 -0
  22. package/dist/libraries/cdk/migrate-deprecated-overlay-sass.d.ts.map +1 -0
  23. package/dist/libraries/cdk/migrate-deprecated-overlay-sass.js +57 -0
  24. package/dist/libraries/cdk/migrate-deprecated-overlay-sass.js.map +1 -0
  25. package/dist/libraries/cdk/migrate-drag-drop-registry.d.ts +8 -0
  26. package/dist/libraries/cdk/migrate-drag-drop-registry.d.ts.map +1 -0
  27. package/dist/libraries/cdk/migrate-drag-drop-registry.js +118 -0
  28. package/dist/libraries/cdk/migrate-drag-drop-registry.js.map +1 -0
  29. package/dist/libraries/cdk/migrate-focus-trap-factory-create.d.ts +8 -0
  30. package/dist/libraries/cdk/migrate-focus-trap-factory-create.d.ts.map +1 -0
  31. package/dist/libraries/cdk/migrate-focus-trap-factory-create.js +74 -0
  32. package/dist/libraries/cdk/migrate-focus-trap-factory-create.js.map +1 -0
  33. package/dist/libraries/cdk/remove-cdk-super-arguments.d.ts +8 -0
  34. package/dist/libraries/cdk/remove-cdk-super-arguments.d.ts.map +1 -0
  35. package/dist/libraries/cdk/remove-cdk-super-arguments.js +111 -0
  36. package/dist/libraries/cdk/remove-cdk-super-arguments.js.map +1 -0
  37. package/dist/libraries/cdk/remove-portal-factory-resolver-arguments.d.ts +8 -0
  38. package/dist/libraries/cdk/remove-portal-factory-resolver-arguments.d.ts.map +1 -0
  39. package/dist/libraries/cdk/remove-portal-factory-resolver-arguments.js +108 -0
  40. package/dist/libraries/cdk/remove-portal-factory-resolver-arguments.js.map +1 -0
  41. package/dist/libraries/cdk/remove-tilde-from-stylesheet-imports.d.ts +8 -0
  42. package/dist/libraries/cdk/remove-tilde-from-stylesheet-imports.d.ts.map +1 -0
  43. package/dist/libraries/cdk/remove-tilde-from-stylesheet-imports.js +27 -0
  44. package/dist/libraries/cdk/remove-tilde-from-stylesheet-imports.js.map +1 -0
  45. package/dist/libraries/cdk/rename-portal-template-selectors.d.ts +27 -0
  46. package/dist/libraries/cdk/rename-portal-template-selectors.d.ts.map +1 -0
  47. package/dist/libraries/cdk/rename-portal-template-selectors.js +75 -0
  48. package/dist/libraries/cdk/rename-portal-template-selectors.js.map +1 -0
  49. package/dist/libraries/cdk/upgrade-to-cdk.d.ts +38 -0
  50. package/dist/libraries/cdk/upgrade-to-cdk.d.ts.map +1 -0
  51. package/dist/libraries/cdk/upgrade-to-cdk.js +173 -0
  52. package/dist/libraries/cdk/upgrade-to-cdk.js.map +1 -0
  53. package/dist/libraries/components/lst.d.ts +9 -0
  54. package/dist/libraries/components/lst.d.ts.map +1 -0
  55. package/dist/libraries/components/lst.js +37 -0
  56. package/dist/libraries/components/lst.js.map +1 -0
  57. package/dist/libraries/components/stylesheets.d.ts +13 -0
  58. package/dist/libraries/components/stylesheets.d.ts.map +1 -0
  59. package/dist/libraries/components/stylesheets.js +71 -0
  60. package/dist/libraries/components/stylesheets.js.map +1 -0
  61. package/dist/libraries/components/symbols.d.ts +27 -0
  62. package/dist/libraries/components/symbols.d.ts.map +1 -0
  63. package/dist/libraries/components/symbols.js +120 -0
  64. package/dist/libraries/components/symbols.js.map +1 -0
  65. package/dist/libraries/components/templates.d.ts +24 -0
  66. package/dist/libraries/components/templates.d.ts.map +1 -0
  67. package/dist/libraries/components/templates.js +141 -0
  68. package/dist/libraries/components/templates.js.map +1 -0
  69. package/dist/libraries/primeng/18/mark-deprecated-components.d.ts.map +1 -1
  70. package/dist/libraries/primeng/18/mark-deprecated-components.js +9 -5
  71. package/dist/libraries/primeng/18/mark-deprecated-components.js.map +1 -1
  72. package/dist/migration/add-trust-proxy-headers.d.ts.map +1 -1
  73. package/dist/migration/add-trust-proxy-headers.js +2 -1
  74. package/dist/migration/add-trust-proxy-headers.js.map +1 -1
  75. package/dist/migration/replace-initial-navigation.d.ts.map +1 -1
  76. package/dist/migration/replace-initial-navigation.js +2 -2
  77. package/dist/migration/replace-initial-navigation.js.map +1 -1
  78. package/dist/migration/update-component-template-url.js +1 -1
  79. package/dist/migration/update-component-template-url.js.map +1 -1
  80. package/dist/migration/upgrade-to-angular-13.d.ts.map +1 -1
  81. package/dist/migration/upgrade-to-angular-13.js +2 -0
  82. package/dist/migration/upgrade-to-angular-13.js.map +1 -1
  83. package/dist/migration/upgrade-to-angular-14.d.ts.map +1 -1
  84. package/dist/migration/upgrade-to-angular-14.js +2 -0
  85. package/dist/migration/upgrade-to-angular-14.js.map +1 -1
  86. package/dist/migration/upgrade-to-angular-17.d.ts.map +1 -1
  87. package/dist/migration/upgrade-to-angular-17.js +2 -0
  88. package/dist/migration/upgrade-to-angular-17.js.map +1 -1
  89. package/dist/migration/upgrade-to-angular-20.d.ts.map +1 -1
  90. package/dist/migration/upgrade-to-angular-20.js +2 -0
  91. package/dist/migration/upgrade-to-angular-20.js.map +1 -1
  92. package/dist/migration/upgrade-to-angular-21.d.ts.map +1 -1
  93. package/dist/migration/upgrade-to-angular-21.js +2 -0
  94. package/dist/migration/upgrade-to-angular-21.js.map +1 -1
  95. package/dist/migration/upgrade-to-angular-22.d.ts.map +1 -1
  96. package/dist/migration/upgrade-to-angular-22.js +2 -0
  97. package/dist/migration/upgrade-to-angular-22.js.map +1 -1
  98. package/package.json +2 -2
  99. package/src/index.ts +97 -0
  100. package/src/libraries/cdk/find-cdk-signature-changes.ts +209 -0
  101. package/src/libraries/cdk/find-removed-cdk-apis.ts +76 -0
  102. package/src/libraries/cdk/migrate-cdk-sass-imports.ts +174 -0
  103. package/src/libraries/cdk/migrate-cdk-stepper.ts +58 -0
  104. package/src/libraries/cdk/migrate-deprecated-overlay-sass.ts +56 -0
  105. package/src/libraries/cdk/migrate-drag-drop-registry.ts +79 -0
  106. package/src/libraries/cdk/migrate-focus-trap-factory-create.ts +51 -0
  107. package/src/libraries/cdk/remove-cdk-super-arguments.ts +83 -0
  108. package/src/libraries/cdk/remove-portal-factory-resolver-arguments.ts +88 -0
  109. package/src/libraries/cdk/remove-tilde-from-stylesheet-imports.ts +22 -0
  110. package/src/libraries/cdk/rename-portal-template-selectors.ts +51 -0
  111. package/src/libraries/cdk/upgrade-to-cdk.ts +146 -0
  112. package/src/libraries/components/lst.ts +33 -0
  113. package/src/libraries/components/stylesheets.ts +55 -0
  114. package/src/libraries/components/symbols.ts +116 -0
  115. package/src/libraries/components/templates.ts +126 -0
  116. package/src/libraries/primeng/18/mark-deprecated-components.ts +8 -4
  117. package/src/migration/add-trust-proxy-headers.ts +2 -1
  118. package/src/migration/replace-initial-navigation.ts +3 -1
  119. package/src/migration/update-component-template-url.ts +1 -1
  120. package/src/migration/upgrade-to-angular-13.ts +2 -0
  121. package/src/migration/upgrade-to-angular-14.ts +2 -0
  122. package/src/migration/upgrade-to-angular-17.ts +2 -0
  123. package/src/migration/upgrade-to-angular-20.ts +2 -0
  124. package/src/migration/upgrade-to-angular-21.ts +2 -0
  125. package/src/migration/upgrade-to-angular-22.ts +2 -0
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2026 the original author or authors.
4
+ *
5
+ * Moderne Proprietary. Only for use by Moderne customers under the terms of a commercial contract.
6
+ */
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.FindSelectionModelVoidOverrides = exports.FindComponentPortalFactoryResolver = exports.FindDropListRefDropWithoutEvent = exports.FindFocusTrapWithoutInjector = exports.FindTestElementImplementations = exports.FindDialogComponentFactoryResolver = exports.FindOverlayConnectedTo = void 0;
18
+ exports.isCdkClass = isCdkClass;
19
+ exports.argumentCount = argumentCount;
20
+ const rewrite_1 = require("@openrewrite/rewrite");
21
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
22
+ const java_1 = require("@openrewrite/rewrite/java");
23
+ const symbols_1 = require("../components/symbols");
24
+ const lst_1 = require("../components/lst");
25
+ /** Whether a type is the named class of an `@angular/cdk` entry point. */
26
+ function isCdkClass(type, className) {
27
+ const fqn = type === null || type === void 0 ? void 0 : type.fullyQualifiedName;
28
+ return fqn !== undefined && fqn.startsWith('@angular/cdk') && fqn.endsWith(`.${className}`);
29
+ }
30
+ function argumentCount(container) {
31
+ var _a;
32
+ const elements = (_a = container === null || container === void 0 ? void 0 : container.elements) !== null && _a !== void 0 ? _a : [];
33
+ return elements.length === 1 && elements[0].element.kind === java_1.J.Kind.Empty ? 0 : elements.length;
34
+ }
35
+ class FindOverlayConnectedTo extends rewrite_1.Recipe {
36
+ constructor() {
37
+ super(...arguments);
38
+ this.name = "org.openrewrite.angular.cdk.FindOverlayConnectedTo";
39
+ this.displayName = "Find `OverlayPositionBuilder.connectedTo` calls";
40
+ this.description = "Finds calls of `connectedTo` on the `OverlayPositionBuilder` that `overlay.position()` returns. " +
41
+ "CDK 13 removed it with `ConnectedPositionStrategy`, so call `flexibleConnectedTo(origin)` and pass the positions " +
42
+ "to `withPositions` instead.";
43
+ }
44
+ editor() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ return new class extends javascript_1.JavaScriptVisitor {
47
+ visitMethodInvocation(method, p) {
48
+ const _super = Object.create(null, {
49
+ visitMethodInvocation: { get: () => super.visitMethodInvocation }
50
+ });
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ var _a, _b;
53
+ const m = yield _super.visitMethodInvocation.call(this, method, p);
54
+ if (m.name.simpleName !== 'connectedTo')
55
+ return m;
56
+ const select = (_a = m.select) === null || _a === void 0 ? void 0 : _a.element;
57
+ const onPositionBuilder = isCdkClass((_b = m.methodType) === null || _b === void 0 ? void 0 : _b.declaringType, 'OverlayPositionBuilder') ||
58
+ ((select === null || select === void 0 ? void 0 : select.kind) === java_1.J.Kind.MethodInvocation && select.name.simpleName === 'position');
59
+ if (!onPositionBuilder)
60
+ return m;
61
+ return (0, rewrite_1.foundSearchResult)(m, "`connectedTo` was removed in @angular/cdk 13. " +
62
+ "Use `flexibleConnectedTo(origin).withPositions([...])` instead.");
63
+ });
64
+ }
65
+ }();
66
+ });
67
+ }
68
+ }
69
+ exports.FindOverlayConnectedTo = FindOverlayConnectedTo;
70
+ class FindDialogComponentFactoryResolver extends rewrite_1.Recipe {
71
+ constructor() {
72
+ super(...arguments);
73
+ this.name = "org.openrewrite.angular.cdk.FindDialogComponentFactoryResolver";
74
+ this.displayName = "Find `componentFactoryResolver` in CDK dialog configurations";
75
+ this.description = "Finds `componentFactoryResolver` properties in files that import `@angular/cdk/dialog`. " +
76
+ "CDK 20 removed `DialogConfig.componentFactoryResolver`, since Ivy resolves components without one.";
77
+ }
78
+ editor() {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ return new class extends javascript_1.JavaScriptVisitor {
81
+ visitJsCompilationUnit(cu, p) {
82
+ const _super = Object.create(null, {
83
+ visitJsCompilationUnit: { get: () => super.visitJsCompilationUnit }
84
+ });
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const importsDialog = cu.statements.some(s => {
87
+ var _a, _b;
88
+ return s.element.kind === javascript_1.JS.Kind.Import &&
89
+ ((_b = (_a = s.element.moduleSpecifier) === null || _a === void 0 ? void 0 : _a.element) === null || _b === void 0 ? void 0 : _b.value) === '@angular/cdk/dialog';
90
+ });
91
+ return importsDialog ? _super.visitJsCompilationUnit.call(this, cu, p) : cu;
92
+ });
93
+ }
94
+ visitPropertyAssignment(property, p) {
95
+ const _super = Object.create(null, {
96
+ visitPropertyAssignment: { get: () => super.visitPropertyAssignment }
97
+ });
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ const prop = yield _super.visitPropertyAssignment.call(this, property, p);
100
+ const name = prop.name.element;
101
+ if (!(0, java_1.isIdentifier)(name) || name.simpleName !== 'componentFactoryResolver')
102
+ return prop;
103
+ return (0, rewrite_1.foundSearchResult)(prop, "`componentFactoryResolver` was removed from `DialogConfig` in " +
104
+ "@angular/cdk 20. Remove it, since components resolve without a factory resolver.");
105
+ });
106
+ }
107
+ }();
108
+ });
109
+ }
110
+ }
111
+ exports.FindDialogComponentFactoryResolver = FindDialogComponentFactoryResolver;
112
+ class FindTestElementImplementations extends rewrite_1.Recipe {
113
+ constructor() {
114
+ super(...arguments);
115
+ this.name = "org.openrewrite.angular.cdk.FindTestElementImplementations";
116
+ this.displayName = "Find `TestElement` implementations without `setContenteditableValue`";
117
+ this.description = "Finds classes that implement `TestElement` from `@angular/cdk/testing` without a " +
118
+ "`setContenteditableValue` method, which CDK 21 made required.";
119
+ }
120
+ editor() {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ return new class extends javascript_1.JavaScriptVisitor {
123
+ constructor() {
124
+ super(...arguments);
125
+ this.testElement = new Map();
126
+ }
127
+ visitJsCompilationUnit(cu, p) {
128
+ const _super = Object.create(null, {
129
+ visitJsCompilationUnit: { get: () => super.visitJsCompilationUnit }
130
+ });
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ this.testElement = (0, symbols_1.importedNames)(cu, '@angular/cdk/testing', ['TestElement']);
133
+ return this.testElement.size === 0 ? cu : _super.visitJsCompilationUnit.call(this, cu, p);
134
+ });
135
+ }
136
+ visitClassDeclaration(classDecl, p) {
137
+ const _super = Object.create(null, {
138
+ visitClassDeclaration: { get: () => super.visitClassDeclaration }
139
+ });
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ var _a, _b;
142
+ const c = yield _super.visitClassDeclaration.call(this, classDecl, p);
143
+ const implementsTestElement = ((_b = (_a = c.implements) === null || _a === void 0 ? void 0 : _a.elements) !== null && _b !== void 0 ? _b : [])
144
+ .some(i => (0, java_1.isIdentifier)(i.element) && this.testElement.has(i.element.simpleName));
145
+ if (!implementsTestElement)
146
+ return c;
147
+ const hasMethod = c.body.statements.some(s => s.element.kind === java_1.J.Kind.MethodDeclaration &&
148
+ s.element.name.simpleName === 'setContenteditableValue');
149
+ if (hasMethod)
150
+ return c;
151
+ return (0, rewrite_1.foundSearchResult)(c, "`TestElement.setContenteditableValue` is required as of @angular/cdk 21. " +
152
+ "Implement it to set the text of a `contenteditable` element.");
153
+ });
154
+ }
155
+ }();
156
+ });
157
+ }
158
+ }
159
+ exports.FindTestElementImplementations = FindTestElementImplementations;
160
+ /** Constructor arity at which the `injector` parameter of the CDK 22 focus traps becomes required. */
161
+ const FOCUS_TRAP_ARITY = {
162
+ FocusTrap: 6,
163
+ ConfigurableFocusTrap: 8,
164
+ };
165
+ class FindFocusTrapWithoutInjector extends rewrite_1.Recipe {
166
+ constructor() {
167
+ super(...arguments);
168
+ this.name = "org.openrewrite.angular.cdk.FindFocusTrapWithoutInjector";
169
+ this.displayName = "Find focus traps constructed without an `Injector`";
170
+ this.description = "Finds `new FocusTrap(...)` and `new ConfigurableFocusTrap(...)` calls without the trailing " +
171
+ "`Injector` argument, which CDK 22 made required. Prefer creating focus traps with `FocusTrapFactory` or " +
172
+ "`ConfigurableFocusTrapFactory`, which pass the injector themselves.";
173
+ }
174
+ editor() {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ return new class extends javascript_1.JavaScriptVisitor {
177
+ constructor() {
178
+ super(...arguments);
179
+ this.focusTraps = new Map();
180
+ }
181
+ visitJsCompilationUnit(cu, p) {
182
+ const _super = Object.create(null, {
183
+ visitJsCompilationUnit: { get: () => super.visitJsCompilationUnit }
184
+ });
185
+ return __awaiter(this, void 0, void 0, function* () {
186
+ this.focusTraps = (0, symbols_1.importedNames)(cu, '@angular/cdk/a11y', Object.keys(FOCUS_TRAP_ARITY));
187
+ return this.focusTraps.size === 0 ? cu : _super.visitJsCompilationUnit.call(this, cu, p);
188
+ });
189
+ }
190
+ visitNewClass(newClass, p) {
191
+ const _super = Object.create(null, {
192
+ visitNewClass: { get: () => super.visitNewClass }
193
+ });
194
+ return __awaiter(this, void 0, void 0, function* () {
195
+ const n = yield _super.visitNewClass.call(this, newClass, p);
196
+ const focusTrap = n.class && (0, java_1.isIdentifier)(n.class) ? this.focusTraps.get(n.class.simpleName) : undefined;
197
+ if (!focusTrap || argumentCount(n.arguments) >= FOCUS_TRAP_ARITY[focusTrap])
198
+ return n;
199
+ return (0, rewrite_1.foundSearchResult)(n, `The \`Injector\` argument of \`${focusTrap}\` is required as of ` +
200
+ "@angular/cdk 22. Pass one, or create the focus trap with its factory.");
201
+ });
202
+ }
203
+ }();
204
+ });
205
+ }
206
+ }
207
+ exports.FindFocusTrapWithoutInjector = FindFocusTrapWithoutInjector;
208
+ class FindDropListRefDropWithoutEvent extends rewrite_1.Recipe {
209
+ constructor() {
210
+ super(...arguments);
211
+ this.name = "org.openrewrite.angular.cdk.FindDropListRefDropWithoutEvent";
212
+ this.displayName = "Find `DropListRef.drop` calls without an event";
213
+ this.description = "Finds `DropListRef.drop(...)` calls without the trailing `event` argument, which CDK 22 made required.";
214
+ }
215
+ editor() {
216
+ return __awaiter(this, void 0, void 0, function* () {
217
+ return new class extends javascript_1.JavaScriptVisitor {
218
+ visitMethodInvocation(method, p) {
219
+ const _super = Object.create(null, {
220
+ visitMethodInvocation: { get: () => super.visitMethodInvocation }
221
+ });
222
+ return __awaiter(this, void 0, void 0, function* () {
223
+ var _a;
224
+ const m = yield _super.visitMethodInvocation.call(this, method, p);
225
+ if (m.name.simpleName !== 'drop' || !isCdkClass((_a = m.methodType) === null || _a === void 0 ? void 0 : _a.declaringType, 'DropListRef'))
226
+ return m;
227
+ if (argumentCount(m.arguments) >= 8)
228
+ return m;
229
+ return (0, rewrite_1.foundSearchResult)(m, "The `event` argument of `DropListRef.drop` is required as of @angular/cdk 22. " +
230
+ "Pass the `MouseEvent` or `TouchEvent` that ended the drag.");
231
+ });
232
+ }
233
+ }();
234
+ });
235
+ }
236
+ }
237
+ exports.FindDropListRefDropWithoutEvent = FindDropListRefDropWithoutEvent;
238
+ class FindComponentPortalFactoryResolver extends rewrite_1.Recipe {
239
+ constructor() {
240
+ super(...arguments);
241
+ this.name = "org.openrewrite.angular.cdk.FindComponentPortalFactoryResolver";
242
+ this.displayName = "Find `ComponentPortal.componentFactoryResolver` uses";
243
+ this.description = "Finds reads and writes of `ComponentPortal.componentFactoryResolver`, which CDK 20 removed " +
244
+ "since Ivy resolves components without one.";
245
+ }
246
+ editor() {
247
+ return __awaiter(this, void 0, void 0, function* () {
248
+ return new class extends javascript_1.JavaScriptVisitor {
249
+ visitFieldAccess(fieldAccess, p) {
250
+ const _super = Object.create(null, {
251
+ visitFieldAccess: { get: () => super.visitFieldAccess }
252
+ });
253
+ return __awaiter(this, void 0, void 0, function* () {
254
+ var _a;
255
+ const f = yield _super.visitFieldAccess.call(this, fieldAccess, p);
256
+ const name = f.name.element;
257
+ if (name.simpleName !== 'componentFactoryResolver' || !isCdkClass((_a = name.fieldType) === null || _a === void 0 ? void 0 : _a.owner, 'ComponentPortal'))
258
+ return f;
259
+ return (0, rewrite_1.foundSearchResult)(f, "`ComponentPortal.componentFactoryResolver` was removed in @angular/cdk 20. " +
260
+ "Remove it, since components resolve without a factory resolver.");
261
+ });
262
+ }
263
+ }();
264
+ });
265
+ }
266
+ }
267
+ exports.FindComponentPortalFactoryResolver = FindComponentPortalFactoryResolver;
268
+ const SELECTION_METHODS = ['clear', 'deselect', 'select', 'setSelection', 'toggle'];
269
+ class FindSelectionModelVoidOverrides extends rewrite_1.Recipe {
270
+ constructor() {
271
+ super(...arguments);
272
+ this.name = "org.openrewrite.angular.cdk.FindSelectionModelVoidOverrides";
273
+ this.displayName = "Find `SelectionModel` overrides that return `void`";
274
+ this.description = "Finds `select`, `deselect`, `setSelection`, `toggle` and `clear` overrides in subclasses of " +
275
+ "`SelectionModel` that declare a `void` return type. CDK 20 changed these methods to return whether the " +
276
+ "selection changed, so the overrides no longer compile.";
277
+ }
278
+ editor() {
279
+ return __awaiter(this, void 0, void 0, function* () {
280
+ return new class extends javascript_1.JavaScriptVisitor {
281
+ constructor() {
282
+ super(...arguments);
283
+ this.selectionModel = new Map();
284
+ }
285
+ visitJsCompilationUnit(cu, p) {
286
+ const _super = Object.create(null, {
287
+ visitJsCompilationUnit: { get: () => super.visitJsCompilationUnit }
288
+ });
289
+ return __awaiter(this, void 0, void 0, function* () {
290
+ this.selectionModel = (0, symbols_1.importedNames)(cu, '@angular/cdk/collections', ['SelectionModel']);
291
+ return this.selectionModel.size === 0 ? cu : _super.visitJsCompilationUnit.call(this, cu, p);
292
+ });
293
+ }
294
+ visitMethodDeclaration(method, p) {
295
+ const _super = Object.create(null, {
296
+ visitMethodDeclaration: { get: () => super.visitMethodDeclaration }
297
+ });
298
+ return __awaiter(this, void 0, void 0, function* () {
299
+ const m = yield _super.visitMethodDeclaration.call(this, method, p);
300
+ if (!SELECTION_METHODS.includes(m.name.simpleName))
301
+ return m;
302
+ const returnType = m.returnTypeExpression;
303
+ const returnsVoid = returnType !== undefined && printsAs(returnType, 'void');
304
+ const classDecl = this.cursor.firstEnclosing((t) => (t === null || t === void 0 ? void 0 : t.kind) === java_1.J.Kind.ClassDeclaration);
305
+ const extended = classDecl && (0, lst_1.extendedClassName)(classDecl);
306
+ if (!returnsVoid || !extended || !this.selectionModel.has(extended))
307
+ return m;
308
+ return (0, rewrite_1.foundSearchResult)(m, `\`SelectionModel.${m.name.simpleName}\` returns a \`boolean\` as of @angular/cdk 20. ` +
309
+ "Return whether the selection changed, usually the result of the `super` call.");
310
+ });
311
+ }
312
+ }();
313
+ });
314
+ }
315
+ }
316
+ exports.FindSelectionModelVoidOverrides = FindSelectionModelVoidOverrides;
317
+ function printsAs(typeTree, keyword) {
318
+ var _a;
319
+ const type = typeTree.kind === javascript_1.JS.Kind.TypeInfo ? typeTree.typeIdentifier : typeTree;
320
+ return (type.kind === java_1.J.Kind.Primitive && ((_a = type.type) === null || _a === void 0 ? void 0 : _a.keyword) === keyword) ||
321
+ ((0, java_1.isIdentifier)(type) && type.simpleName === keyword);
322
+ }
323
+ //# sourceMappingURL=find-cdk-signature-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-cdk-signature-changes.js","sourceRoot":"","sources":["../../../src/libraries/cdk/find-cdk-signature-changes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { FindRemovedSymbols, RemovedSymbol } from "../components/symbols";
2
+ export declare class FindRemovedCdk13Apis extends FindRemovedSymbols {
3
+ readonly name = "org.openrewrite.angular.cdk.FindRemovedCdk13Apis";
4
+ readonly displayName = "Find APIs removed in Angular CDK 13";
5
+ readonly description = "Finds imports of `ConnectedPositionStrategy`, which `@angular/cdk/overlay` 13 removed.";
6
+ protected readonly symbols: RemovedSymbol[];
7
+ }
8
+ export declare class FindRemovedCdk14Apis extends FindRemovedSymbols {
9
+ readonly name = "org.openrewrite.angular.cdk.FindRemovedCdk14Apis";
10
+ readonly displayName = "Find APIs removed in Angular CDK 14";
11
+ readonly description: string;
12
+ protected readonly symbols: RemovedSymbol[];
13
+ }
14
+ export declare class FindRemovedCdk20Apis extends FindRemovedSymbols {
15
+ readonly name = "org.openrewrite.angular.cdk.FindRemovedCdk20Apis";
16
+ readonly displayName = "Find APIs removed in Angular CDK 20";
17
+ readonly description: string;
18
+ protected readonly symbols: RemovedSymbol[];
19
+ }
20
+ export declare class FindRemovedCdk21Apis extends FindRemovedSymbols {
21
+ readonly name = "org.openrewrite.angular.cdk.FindRemovedCdk21Apis";
22
+ readonly displayName = "Find APIs removed in Angular CDK 21";
23
+ readonly description = "Finds imports of the `@angular/cdk/a11y` factory functions that CDK 21 removed.";
24
+ protected readonly symbols: RemovedSymbol[];
25
+ }
26
+ export declare class FindRemovedCdk22Apis extends FindRemovedSymbols {
27
+ readonly name = "org.openrewrite.angular.cdk.FindRemovedCdk22Apis";
28
+ readonly displayName = "Find APIs removed in Angular CDK 22";
29
+ readonly description = "Finds imports of the `@angular/cdk/a11y` `AriaDescriber` constants that CDK 22 removed.";
30
+ protected readonly symbols: RemovedSymbol[];
31
+ }
32
+ //# sourceMappingURL=find-removed-cdk-apis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-removed-cdk-apis.d.ts","sourceRoot":"","sources":["../../../src/libraries/cdk/find-removed-cdk-apis.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAMxE,qBAAa,oBAAqB,SAAQ,kBAAkB;IACxD,QAAQ,CAAC,IAAI,sDAAsD;IACnE,QAAQ,CAAC,WAAW,yCAAyC;IAC7D,QAAQ,CAAC,WAAW,4FAA4F;IAEhH,SAAS,CAAC,QAAQ,CAAC,OAAO,kBACqF;CAClH;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;IACxD,QAAQ,CAAC,IAAI,sDAAsD;IACnE,QAAQ,CAAC,WAAW,yCAAyC;IAC7D,QAAQ,CAAC,WAAW,SACoB;IAExC,SAAS,CAAC,QAAQ,CAAC,OAAO,kBAGwB;CACrD;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;IACxD,QAAQ,CAAC,IAAI,sDAAsD;IACnE,QAAQ,CAAC,WAAW,yCAAyC;IAC7D,QAAQ,CAAC,WAAW,SAC+D;IAEnF,SAAS,CAAC,QAAQ,CAAC,OAAO,kBAYxB;CACL;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;IACxD,QAAQ,CAAC,IAAI,sDAAsD;IACnE,QAAQ,CAAC,WAAW,yCAAyC;IAC7D,QAAQ,CAAC,WAAW,qFAAqF;IAEzG,SAAS,CAAC,QAAQ,CAAC,OAAO,kBAKxB;CACL;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;IACxD,QAAQ,CAAC,IAAI,sDAAsD;IACnE,QAAQ,CAAC,WAAW,yCAAyC;IAC7D,QAAQ,CAAC,WAAW,6FAA6F;IAEjH,SAAS,CAAC,QAAQ,CAAC,OAAO,kBAEkG;CAC/H"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2026 the original author or authors.
4
+ *
5
+ * Moderne Proprietary. Only for use by Moderne customers under the terms of a commercial contract.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.FindRemovedCdk22Apis = exports.FindRemovedCdk21Apis = exports.FindRemovedCdk20Apis = exports.FindRemovedCdk14Apis = exports.FindRemovedCdk13Apis = void 0;
9
+ const symbols_1 = require("../components/symbols");
10
+ function removed(module, version, names, hint) {
11
+ return names.map(name => ({ module, name, message: `\`${name}\` was removed in @angular/cdk ${version}. ${hint}` }));
12
+ }
13
+ class FindRemovedCdk13Apis extends symbols_1.FindRemovedSymbols {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.name = "org.openrewrite.angular.cdk.FindRemovedCdk13Apis";
17
+ this.displayName = "Find APIs removed in Angular CDK 13";
18
+ this.description = "Finds imports of `ConnectedPositionStrategy`, which `@angular/cdk/overlay` 13 removed.";
19
+ this.symbols = removed('@angular/cdk/overlay', 13, ['ConnectedPositionStrategy'], "Use `FlexibleConnectedPositionStrategy`, created with `overlay.position().flexibleConnectedTo(origin)`.");
20
+ }
21
+ }
22
+ exports.FindRemovedCdk13Apis = FindRemovedCdk13Apis;
23
+ class FindRemovedCdk14Apis extends symbols_1.FindRemovedSymbols {
24
+ constructor() {
25
+ super(...arguments);
26
+ this.name = "org.openrewrite.angular.cdk.FindRemovedCdk14Apis";
27
+ this.displayName = "Find APIs removed in Angular CDK 14";
28
+ this.description = "Finds imports from `@angular/cdk/testing/protractor`, the entry point CDK 14 removed " +
29
+ "together with Protractor support.";
30
+ this.symbols = removed('@angular/cdk/testing/protractor', 14, ['ProtractorElement', 'ProtractorHarnessEnvironment', 'ProtractorHarnessEnvironmentOptions'], "Move the end-to-end tests to another runner, or use `SeleniumWebDriverHarnessEnvironment` from " +
31
+ "`@angular/cdk/testing/selenium-webdriver`.");
32
+ }
33
+ }
34
+ exports.FindRemovedCdk14Apis = FindRemovedCdk14Apis;
35
+ class FindRemovedCdk20Apis extends symbols_1.FindRemovedSymbols {
36
+ constructor() {
37
+ super(...arguments);
38
+ this.name = "org.openrewrite.angular.cdk.FindRemovedCdk20Apis";
39
+ this.displayName = "Find APIs removed in Angular CDK 20";
40
+ this.description = "Finds imports of the `@angular/cdk/dialog`, `@angular/cdk/portal` and " +
41
+ "`@angular/cdk/table` APIs that CDK 20 removed without a drop-in replacement.";
42
+ this.symbols = [
43
+ ...removed('@angular/cdk/dialog', 20, ['DIALOG_SCROLL_STRATEGY_PROVIDER', 'DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY'], "Provide `DIALOG_SCROLL_STRATEGY` with a factory that returns the scroll strategy instead."),
44
+ ...removed('@angular/cdk/portal', 20, ['PortalInjector'], "Use `Injector.create({parent, providers})` from `@angular/core` instead."),
45
+ ...removed('@angular/cdk/table', 20, ['CanStick', 'CanStickCtor', 'Constructor', 'mixinHasStickyInput'], "The sticky mixin is gone, so declare a boolean `sticky` input on the directive instead."),
46
+ ...removed('@angular/cdk/table', 20, ['CDK_TABLE_TEMPLATE'], "Copy the table template into the component instead of reusing the CDK constant."),
47
+ ...removed('@angular/cdk/table', 20, ['StickyDirection', 'STICKY_DIRECTIONS', 'StickyStyler', '_COALESCED_STYLE_SCHEDULER', '_CoalescedStyleScheduler', '_Schedule'], "This was an internal API of `CdkTable` and has no public replacement."),
48
+ ];
49
+ }
50
+ }
51
+ exports.FindRemovedCdk20Apis = FindRemovedCdk20Apis;
52
+ class FindRemovedCdk21Apis extends symbols_1.FindRemovedSymbols {
53
+ constructor() {
54
+ super(...arguments);
55
+ this.name = "org.openrewrite.angular.cdk.FindRemovedCdk21Apis";
56
+ this.displayName = "Find APIs removed in Angular CDK 21";
57
+ this.description = "Finds imports of the `@angular/cdk/a11y` factory functions that CDK 21 removed.";
58
+ this.symbols = [
59
+ ...removed('@angular/cdk/a11y', 21, ['LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY'], "Provide `LIVE_ANNOUNCER_ELEMENT_TOKEN` with `useValue: null` or your own element instead."),
60
+ ...removed('@angular/cdk/a11y', 21, ['TREE_KEY_MANAGER_FACTORY', 'TREE_KEY_MANAGER_FACTORY_PROVIDER', 'NOOP_TREE_KEY_MANAGER_FACTORY'], "Provide `TREE_KEY_MANAGER` with your own factory, for example `useValue: (items, options) => new TreeKeyManager(items, options)`."),
61
+ ];
62
+ }
63
+ }
64
+ exports.FindRemovedCdk21Apis = FindRemovedCdk21Apis;
65
+ class FindRemovedCdk22Apis extends symbols_1.FindRemovedSymbols {
66
+ constructor() {
67
+ super(...arguments);
68
+ this.name = "org.openrewrite.angular.cdk.FindRemovedCdk22Apis";
69
+ this.displayName = "Find APIs removed in Angular CDK 22";
70
+ this.description = "Finds imports of the `@angular/cdk/a11y` `AriaDescriber` constants that CDK 22 removed.";
71
+ this.symbols = removed('@angular/cdk/a11y', 22, ['CDK_DESCRIBEDBY_HOST_ATTRIBUTE', 'CDK_DESCRIBEDBY_ID_PREFIX', 'MESSAGES_CONTAINER_ID'], "These were internals of `AriaDescriber`, so select described elements by their `aria-describedby` attribute instead.");
72
+ }
73
+ }
74
+ exports.FindRemovedCdk22Apis = FindRemovedCdk22Apis;
75
+ //# sourceMappingURL=find-removed-cdk-apis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-removed-cdk-apis.js","sourceRoot":"","sources":["../../../src/libraries/cdk/find-removed-cdk-apis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { ExecutionContext, ScanningRecipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ interface Accumulator {
3
+ /** `cdk-` members that stylesheets of the project declare themselves. */
4
+ declared: Set<string>;
5
+ /** Partial names that stylesheets of the project `@import`. */
6
+ imported: Set<string>;
7
+ }
8
+ export declare class MigrateCdkSassImports extends ScanningRecipe<Accumulator> {
9
+ readonly name = "org.openrewrite.angular.cdk.MigrateCdkSassImports";
10
+ readonly displayName = "Migrate Angular CDK Sass `@import` to `@use`";
11
+ readonly description: string;
12
+ initialValue(_ctx: ExecutionContext): Accumulator;
13
+ scanner(acc: Accumulator): Promise<TreeVisitor<any, ExecutionContext>>;
14
+ editorWithData(acc: Accumulator): Promise<TreeVisitor<any, ExecutionContext>>;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=migrate-cdk-sass-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-cdk-sass-imports.d.ts","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-cdk-sass-imports.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,gBAAgB,EAA8C,cAAc,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAqC/H,UAAU,WAAW;IACjB,yEAAyE;IACzE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,WAAW,CAAC;IAClE,QAAQ,CAAC,IAAI,uDAAuD;IACpE,QAAQ,CAAC,WAAW,kDAAkD;IACtE,QAAQ,CAAC,WAAW,SAM6F;IAEjH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW;IAI3C,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAatE,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAqBtF"}