@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,177 @@
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.MigrateCdkSassImports = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const text_1 = require("@openrewrite/rewrite/text");
20
+ const stylesheets_1 = require("../components/stylesheets");
21
+ /** `@import` of an entry point whose `_index.import.scss` CDK 17 deleted. */
22
+ const LEGACY_IMPORT = /^[ \t]*@import\s+(['"])~?@angular\/cdk\/(?:overlay|a11y|text-field)(?:\/_?index(?:\.import)?)?(?:\.scss)?\1[ \t]*;?[ \t]*(?:\r?\n|$)/gm;
23
+ const CDK_USE = /@use\s+(['"])~?@angular\/cdk\1(?:\s+as\s+([\w-]+|\*))?/;
24
+ /** Mixins the legacy entry points exposed with a `cdk-` prefix, mapped to their `@angular/cdk` module names. */
25
+ const MIXINS = {
26
+ 'cdk-overlay': 'overlay',
27
+ 'cdk-a11y-visually-hidden': 'a11y-visually-hidden',
28
+ 'cdk-a11y': 'a11y-visually-hidden',
29
+ 'cdk-high-contrast': 'high-contrast',
30
+ 'cdk-text-field-autosize': 'text-field-autosize',
31
+ 'cdk-text-field-autofill-color': 'text-field-autofill-color',
32
+ 'cdk-text-field-autofill': 'text-field-autofill',
33
+ 'cdk-text-field': 'text-field',
34
+ };
35
+ /** Variables the legacy entry points exposed with a `cdk-` prefix, including the deprecated aliases. */
36
+ const VARIABLES = {
37
+ 'cdk-overlay-container-z-index': 'overlay-container-z-index',
38
+ 'cdk-overlay-z-index': 'overlay-z-index',
39
+ 'cdk-overlay-backdrop-z-index': 'overlay-backdrop-z-index',
40
+ 'cdk-overlay-backdrop-color': 'overlay-backdrop-color',
41
+ 'cdk-z-index-overlay-container': 'overlay-container-z-index',
42
+ 'cdk-z-index-overlay': 'overlay-z-index',
43
+ 'cdk-z-index-overlay-backdrop': 'overlay-backdrop-z-index',
44
+ 'cdk-dark-backdrop-background': 'overlay-backdrop-color',
45
+ 'cdk-overlay-z-index-overlay-container': 'overlay-container-z-index',
46
+ 'cdk-overlay-z-index-overlay': 'overlay-z-index',
47
+ 'cdk-overlay-z-index-overlay-backdrop': 'overlay-backdrop-z-index',
48
+ 'cdk-overlay-dark-backdrop-background': 'overlay-backdrop-color',
49
+ };
50
+ class MigrateCdkSassImports extends rewrite_1.ScanningRecipe {
51
+ constructor() {
52
+ super(...arguments);
53
+ this.name = "org.openrewrite.angular.cdk.MigrateCdkSassImports";
54
+ this.displayName = "Migrate Angular CDK Sass `@import` to `@use`";
55
+ this.description = "CDK 17 deleted the `@import` entry points of `@angular/cdk/overlay`, `@angular/cdk/a11y` and " +
56
+ "`@angular/cdk/text-field`. Replaces those imports with `@use '@angular/cdk' as cdk` and renames the `cdk-` " +
57
+ "prefixed mixins and variables they exposed, such as `@include cdk-overlay()` and `$cdk-z-index-overlay`, to the " +
58
+ "members of the `cdk` module. Names that a stylesheet of the project declares itself, as a vendored copy of the CDK " +
59
+ "styles does, keep referring to that declaration. A partial that other stylesheets `@import` and that defines " +
60
+ "members next to its own `@import` rules is marked instead, since adding `@use` to it can change which of those " +
61
+ "members its importers see. This ports the CDK part of the theming API migration of `@angular/material` 12.";
62
+ }
63
+ initialValue(_ctx) {
64
+ return { declared: new Set(), imported: new Set() };
65
+ }
66
+ scanner(acc) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ return new class extends text_1.PlainTextVisitor {
69
+ visitText(text, p) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ if (text.sourcePath.endsWith('.scss')) {
72
+ const masked = (0, stylesheets_1.maskComments)(text.text);
73
+ declaredNames(masked).forEach(name => acc.declared.add(name));
74
+ importedPartials(masked).forEach(name => acc.imported.add(name));
75
+ }
76
+ return text;
77
+ });
78
+ }
79
+ }();
80
+ });
81
+ }
82
+ editorWithData(acc) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ return new class extends text_1.PlainTextVisitor {
85
+ visitText(text, p) {
86
+ const _super = Object.create(null, {
87
+ visitText: { get: () => super.visitText }
88
+ });
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ const t = yield _super.visitText.call(this, text, p);
91
+ if (!t || !t.sourcePath.endsWith('.scss') || !t.text.includes('cdk'))
92
+ return t;
93
+ const masked = (0, stylesheets_1.maskComments)(t.text);
94
+ if (configuresLegacyImport(masked)) {
95
+ return mark(t, "This stylesheet configures the defaults of a CDK Sass entry point that @angular/cdk 17 " +
96
+ "deleted. Pass them with `@use '@angular/cdk' with ($overlay-z-index: ...)` instead, using the unprefixed names.");
97
+ }
98
+ const updated = (0, stylesheets_1.withoutComments)(t.text, content => migrateSass(content, acc.declared));
99
+ if (updated === t.text)
100
+ return t;
101
+ if (!CDK_USE.test(masked) && acc.imported.has(partialName(t.sourcePath)) && definesMembersNextToImports(masked)) {
102
+ return mark(t, "This partial uses CDK Sass members that @angular/cdk 17 only provides through " +
103
+ "`@use '@angular/cdk'`. Other stylesheets `@import` it and it defines its own members next to its " +
104
+ "`@import` rules, so adding `@use` here can change which of those members they see. Migrate it by hand.");
105
+ }
106
+ return Object.assign(Object.assign({}, t), { text: updated, snippets: [] });
107
+ });
108
+ }
109
+ }();
110
+ });
111
+ }
112
+ }
113
+ exports.MigrateCdkSassImports = MigrateCdkSassImports;
114
+ function mark(text, message) {
115
+ return (0, rewrite_1.findMarker)(text, rewrite_1.MarkersKind.SearchResult) ? text : (0, rewrite_1.foundSearchResult)(text, message);
116
+ }
117
+ function migrateSass(content, declared) {
118
+ var _a;
119
+ const existingUse = content.match(CDK_USE);
120
+ const namespace = (_a = existingUse === null || existingUse === void 0 ? void 0 : existingUse[2]) !== null && _a !== void 0 ? _a : 'cdk';
121
+ const prefix = namespace === '*' ? '' : `${namespace}.`;
122
+ let migrated = content.replace(LEGACY_IMPORT, '');
123
+ const hadLegacyImport = migrated !== content;
124
+ const beforeSymbols = migrated;
125
+ for (const name of longestFirst(MIXINS).filter(n => !declared.has(n))) {
126
+ migrated = migrated.replace(new RegExp(`@include(\\s+)${(0, stylesheets_1.escapeRegExp)(name)}(?![\\w-])`, 'g'), `@include$1${prefix}${MIXINS[name]}`);
127
+ }
128
+ for (const name of longestFirst(VARIABLES).filter(n => !declared.has(n))) {
129
+ migrated = migrated.replace(new RegExp(`(?<![\\w.-])\\$${(0, stylesheets_1.escapeRegExp)(name)}(?![\\w-])`, 'g'), `${prefix}$${VARIABLES[name]}`);
130
+ }
131
+ if (migrated === beforeSymbols) {
132
+ return hadLegacyImport ? migrated : content;
133
+ }
134
+ return existingUse ? migrated : insertUse(migrated);
135
+ }
136
+ /** Inserts `@use` after any leading comments and `@charset`, since Sass requires `@use` before other rules. */
137
+ function insertUse(content) {
138
+ var _a, _b;
139
+ const newline = content.includes('\r\n') ? '\r\n' : '\n';
140
+ const header = (_b = (_a = content.match(/^(?:\s*(?:__ngComment\d+__|@charset[^;]*;))+[ \t]*(?:\r?\n|$)/)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : '';
141
+ const separator = header.length > 0 && !header.endsWith('\n') ? newline : '';
142
+ return header + separator + `@use '@angular/cdk' as cdk;` + newline + content.slice(header.length);
143
+ }
144
+ /** `cdk-` members a stylesheet declares itself, such as in a vendored copy of the CDK styles. */
145
+ function declaredNames(content) {
146
+ return new Set([...content.matchAll(/\$(cdk-[\w-]+)\s*:|@mixin\s+(cdk-[\w-]+)/g)].map(m => { var _a; return (_a = m[1]) !== null && _a !== void 0 ? _a : m[2]; }));
147
+ }
148
+ /** Whether a stylesheet sets a `!default` of a legacy entry point before importing it, which `@use ... with` replaces. */
149
+ function configuresLegacyImport(content) {
150
+ LEGACY_IMPORT.lastIndex = 0;
151
+ const hasLegacyImport = LEGACY_IMPORT.test(content);
152
+ LEGACY_IMPORT.lastIndex = 0;
153
+ return hasLegacyImport && [...declaredNames(content)].some(name => name in VARIABLES);
154
+ }
155
+ /** Names of the project partials an `@import` rule loads, without directory, leading underscore and extension. */
156
+ function importedPartials(content) {
157
+ const names = [];
158
+ for (const rule of content.matchAll(/@import\s+([^;]+);/g)) {
159
+ for (const path of rule[1].matchAll(/['"]([^'"]+)['"]/g)) {
160
+ if (/^(~|@|https?:|\/\/)/.test(path[1]) || path[1].endsWith('.css'))
161
+ continue;
162
+ names.push(partialName(path[1]));
163
+ }
164
+ }
165
+ return names;
166
+ }
167
+ function partialName(path) {
168
+ return path.replace(/^.*\//, '').replace(/^_/, '').replace(/\.scss$/, '');
169
+ }
170
+ function definesMembersNextToImports(content) {
171
+ const otherImports = content.replace(LEGACY_IMPORT, '');
172
+ return /@import\s/.test(otherImports) && /@mixin\s|@function\s|^\s*\$[\w-]+\s*:/m.test(otherImports);
173
+ }
174
+ function longestFirst(mapping) {
175
+ return Object.keys(mapping).sort((a, b) => b.length - a.length);
176
+ }
177
+ //# sourceMappingURL=migrate-cdk-sass-imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-cdk-sass-imports.js","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-cdk-sass-imports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class MigrateCdkStepper extends Recipe {
3
+ readonly name = "org.openrewrite.angular.cdk.MigrateCdkStepper";
4
+ readonly displayName = "Migrate `CdkStepper` subclasses to CDK 14";
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=migrate-cdk-stepper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-cdk-stepper.d.ts","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-cdk-stepper.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAQ3E,qBAAa,iBAAkB,SAAQ,MAAM;IACzC,QAAQ,CAAC,IAAI,mDAAmD;IAChE,QAAQ,CAAC,WAAW,+CAA+C;IACnE,QAAQ,CAAC,WAAW,SAEgD;IAE9D,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAoC9D"}
@@ -0,0 +1,92 @@
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.MigrateCdkStepper = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const java_1 = require("@openrewrite/rewrite/java");
21
+ const mutative_1 = require("mutative");
22
+ const symbols_1 = require("../components/symbols");
23
+ const lst_1 = require("../components/lst");
24
+ const find_cdk_signature_changes_1 = require("./find-cdk-signature-changes");
25
+ class MigrateCdkStepper extends rewrite_1.Recipe {
26
+ constructor() {
27
+ super(...arguments);
28
+ this.name = "org.openrewrite.angular.cdk.MigrateCdkStepper";
29
+ this.displayName = "Migrate `CdkStepper` subclasses to CDK 14";
30
+ this.description = "CDK 14 made `CdkStepper._orientation` private and removed the deprecated `_document` " +
31
+ "constructor parameter. Replaces `_orientation` with the public `orientation` property and removes the fourth " +
32
+ "argument of `super(...)` in classes that extend `CdkStepper`.";
33
+ }
34
+ editor() {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ return new class extends javascript_1.JavaScriptVisitor {
37
+ constructor() {
38
+ super(...arguments);
39
+ this.stepper = new Map();
40
+ }
41
+ visitJsCompilationUnit(cu, p) {
42
+ const _super = Object.create(null, {
43
+ visitJsCompilationUnit: { get: () => super.visitJsCompilationUnit }
44
+ });
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ this.stepper = (0, symbols_1.importedNames)(cu, '@angular/cdk/stepper', ['CdkStepper']);
47
+ return _super.visitJsCompilationUnit.call(this, cu, p);
48
+ });
49
+ }
50
+ visitFieldAccess(fieldAccess, p) {
51
+ const _super = Object.create(null, {
52
+ visitFieldAccess: { get: () => super.visitFieldAccess }
53
+ });
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ var _a;
56
+ const f = yield _super.visitFieldAccess.call(this, fieldAccess, p);
57
+ const name = f.name.element;
58
+ if (name.simpleName !== '_orientation')
59
+ return f;
60
+ const declaredByStepper = (0, find_cdk_signature_changes_1.isCdkClass)((_a = name.fieldType) === null || _a === void 0 ? void 0 : _a.owner, 'CdkStepper') ||
61
+ ((0, java_1.isIdentifier)(f.target) && f.target.simpleName === 'this' && this.insideStepperSubclass());
62
+ if (!declaredByStepper)
63
+ return f;
64
+ return (0, mutative_1.create)(f, draft => {
65
+ draft.name.element.simpleName = 'orientation';
66
+ });
67
+ });
68
+ }
69
+ visitFunctionCall(functionCall, p) {
70
+ const _super = Object.create(null, {
71
+ visitFunctionCall: { get: () => super.visitFunctionCall }
72
+ });
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ const call = yield _super.visitFunctionCall.call(this, functionCall, p);
75
+ if (!(0, lst_1.isSuperCall)(call) || (0, find_cdk_signature_changes_1.argumentCount)(call.arguments) !== 4 || !this.insideStepperSubclass())
76
+ return call;
77
+ const elements = call.arguments.elements;
78
+ const retained = [...elements.slice(0, 2), Object.assign(Object.assign({}, elements[2]), { after: elements[3].after })];
79
+ return Object.assign(Object.assign({}, call), { arguments: Object.assign(Object.assign({}, call.arguments), { elements: retained }) });
80
+ });
81
+ }
82
+ insideStepperSubclass() {
83
+ const classDecl = this.cursor.firstEnclosing((t) => (t === null || t === void 0 ? void 0 : t.kind) === java_1.J.Kind.ClassDeclaration);
84
+ const extended = classDecl && (0, lst_1.extendedClassName)(classDecl);
85
+ return extended !== undefined && this.stepper.has(extended);
86
+ }
87
+ }();
88
+ });
89
+ }
90
+ }
91
+ exports.MigrateCdkStepper = MigrateCdkStepper;
92
+ //# sourceMappingURL=migrate-cdk-stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-cdk-stepper.js","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-cdk-stepper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { StylesheetRecipe } from "../components/stylesheets";
2
+ export declare class MigrateDeprecatedOverlaySass extends StylesheetRecipe {
3
+ readonly name = "org.openrewrite.angular.cdk.MigrateDeprecatedOverlaySass";
4
+ readonly displayName = "Migrate the removed CDK overlay Sass variables";
5
+ readonly description: string;
6
+ protected acceptsPath(sourcePath: string): boolean;
7
+ protected migrate(content: string): string;
8
+ }
9
+ //# sourceMappingURL=migrate-deprecated-overlay-sass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-deprecated-overlay-sass.d.ts","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-deprecated-overlay-sass.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,gBAAgB,EAAkB,MAAM,2BAA2B,CAAC;AAc1F,qBAAa,4BAA6B,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,IAAI,8DAA8D;IAC3E,QAAQ,CAAC,WAAW,oDAAoD;IACxE,QAAQ,CAAC,WAAW,SAG6C;IAEjE,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIlD,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAI7C"}
@@ -0,0 +1,57 @@
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.MigrateDeprecatedOverlaySass = void 0;
9
+ const stylesheets_1 = require("../components/stylesheets");
10
+ const DEPRECATED_USE = /@use\s+(['"])~?@angular\/cdk\/overlay\/_?index-deprecated(?:\.scss)?\1(?:\s+as\s+([\w-]+|\*))?\s*;[ \t]*(\r?\n)?/g;
11
+ const OVERLAY_USE = /@use\s+(['"])~?@angular\/cdk\/overlay\1(?:\s+as\s+overlay)?\s*;/;
12
+ /** The variables of `overlay/_index-deprecated.scss`, mapped to the `@angular/cdk/overlay` names they aliased. */
13
+ const VARIABLES = {
14
+ 'z-index-overlay-container': 'overlay-container-z-index',
15
+ 'z-index-overlay-backdrop': 'overlay-backdrop-z-index',
16
+ 'z-index-overlay': 'overlay-z-index',
17
+ 'dark-backdrop-background': 'overlay-backdrop-color',
18
+ };
19
+ class MigrateDeprecatedOverlaySass extends stylesheets_1.StylesheetRecipe {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.name = "org.openrewrite.angular.cdk.MigrateDeprecatedOverlaySass";
23
+ this.displayName = "Migrate the removed CDK overlay Sass variables";
24
+ this.description = "CDK 21 deleted `@angular/cdk/overlay/index-deprecated` and its `$z-index-overlay-container`, " +
25
+ "`$z-index-overlay`, `$z-index-overlay-backdrop` and `$dark-backdrop-background` variables. Replaces the `@use` " +
26
+ "with `@angular/cdk/overlay` and renames the variables to `$overlay-container-z-index`, `$overlay-z-index`, " +
27
+ "`$overlay-backdrop-z-index` and `$overlay-backdrop-color`.";
28
+ }
29
+ acceptsPath(sourcePath) {
30
+ return sourcePath.endsWith('.scss');
31
+ }
32
+ migrate(content) {
33
+ if (!content.includes('index-deprecated'))
34
+ return content;
35
+ return (0, stylesheets_1.withoutComments)(content, migrateDeprecatedOverlay);
36
+ }
37
+ }
38
+ exports.MigrateDeprecatedOverlaySass = MigrateDeprecatedOverlaySass;
39
+ function migrateDeprecatedOverlay(content) {
40
+ const hasOverlayUse = OVERLAY_USE.test(content);
41
+ let migrated = content;
42
+ for (const match of [...content.matchAll(DEPRECATED_USE)]) {
43
+ const [rule, quote, alias, newline = ''] = match;
44
+ const namespace = alias !== null && alias !== void 0 ? alias : 'index-deprecated';
45
+ const newNamespace = alias !== null && alias !== void 0 ? alias : 'overlay';
46
+ const replacement = alias !== undefined ? `@use ${quote}@angular/cdk/overlay${quote} as ${alias};${newline}`
47
+ : hasOverlayUse ? '' : `@use ${quote}@angular/cdk/overlay${quote};${newline}`;
48
+ migrated = migrated.replace(rule, replacement);
49
+ for (const [name, newName] of Object.entries(VARIABLES)) {
50
+ const reference = namespace === '*' ? `(?<![\\w.-])\\$${name}` : `(?<![\\w-])${(0, stylesheets_1.escapeRegExp)(namespace)}\\.\\$${name}`;
51
+ const renamed = newNamespace === '*' ? `$${newName}` : `${newNamespace}.$${newName}`;
52
+ migrated = migrated.replace(new RegExp(`${reference}(?![\\w-])`, 'g'), renamed);
53
+ }
54
+ }
55
+ return migrated;
56
+ }
57
+ //# sourceMappingURL=migrate-deprecated-overlay-sass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-deprecated-overlay-sass.js","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-deprecated-overlay-sass.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,2DAA0F;AAE1F,MAAM,cAAc,GAAG,mHAAmH,CAAC;AAE3I,MAAM,WAAW,GAAG,iEAAiE,CAAC;AAEtF,kHAAkH;AAClH,MAAM,SAAS,GAA2B;IACtC,2BAA2B,EAAE,2BAA2B;IACxD,0BAA0B,EAAE,0BAA0B;IACtD,iBAAiB,EAAE,iBAAiB;IACpC,0BAA0B,EAAE,wBAAwB;CACvD,CAAC;AAEF,MAAa,4BAA6B,SAAQ,8BAAgB;IAAlE;;QACa,SAAI,GAAG,0DAA0D,CAAC;QAClE,gBAAW,GAAG,gDAAgD,CAAC;QAC/D,gBAAW,GAAG,+FAA+F;YAClH,iHAAiH;YACjH,6GAA6G;YAC7G,4DAA4D,CAAC;IAUrE,CAAC;IARa,WAAW,CAAC,UAAkB;QACpC,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAES,OAAO,CAAC,OAAe;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,OAAO,OAAO,CAAC;QAC1D,OAAO,IAAA,6BAAe,EAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC9D,CAAC;CACJ;AAhBD,oEAgBC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAC7C,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,QAAQ,GAAG,OAAO,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,kBAAkB,CAAC;QAC9C,MAAM,YAAY,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,SAAS,CAAC;QACxC,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,KAAK,uBAAuB,KAAK,OAAO,KAAK,IAAI,OAAO,EAAE;YACxG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,uBAAuB,KAAK,IAAI,OAAO,EAAE,CAAC;QAClF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,IAAA,0BAAY,EAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC;YACtH,MAAM,OAAO,GAAG,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,OAAO,EAAE,CAAC;YACrF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,YAAY,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class MigrateDragDropRegistry extends Recipe {
3
+ readonly name = "org.openrewrite.angular.cdk.MigrateDragDropRegistry";
4
+ readonly displayName = "Migrate `DragDropRegistry` to CDK 20";
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=migrate-drag-drop-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-drag-drop-registry.d.ts","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-drag-drop-registry.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,gBAAgB,EAA+B,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAUtH,qBAAa,uBAAwB,SAAQ,MAAM;IAC/C,QAAQ,CAAC,IAAI,yDAAyD;IACtE,QAAQ,CAAC,WAAW,0CAA0C;IAC9D,QAAQ,CAAC,WAAW,SAEsF;IAEpG,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CAkC9D"}
@@ -0,0 +1,118 @@
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.MigrateDragDropRegistry = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const java_1 = require("@openrewrite/rewrite/java");
21
+ const symbols_1 = require("../components/symbols");
22
+ const lst_1 = require("../components/lst");
23
+ const find_cdk_signature_changes_1 = require("./find-cdk-signature-changes");
24
+ /** Observable operators that `scrolled()` supports as well as the `scroll` subject did. */
25
+ const OBSERVABLE_METHODS = ['pipe', 'subscribe'];
26
+ class MigrateDragDropRegistry extends rewrite_1.Recipe {
27
+ constructor() {
28
+ super(...arguments);
29
+ this.name = "org.openrewrite.angular.cdk.MigrateDragDropRegistry";
30
+ this.displayName = "Migrate `DragDropRegistry` to CDK 20";
31
+ this.description = "CDK 20 made `DragDropRegistry` non-generic and removed its `scroll` subject. Removes the type " +
32
+ "arguments of `DragDropRegistry<...>`, rewrites `registry.scroll.pipe(...)` and `registry.scroll.subscribe(...)` " +
33
+ "to the `scrolled()` method, and marks other uses of `scroll`, which relied on it being a `Subject`.";
34
+ }
35
+ editor() {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ return new class extends javascript_1.JavaScriptVisitor {
38
+ constructor() {
39
+ super(...arguments);
40
+ this.registry = new Map();
41
+ }
42
+ visitJsCompilationUnit(cu, p) {
43
+ const _super = Object.create(null, {
44
+ visitJsCompilationUnit: { get: () => super.visitJsCompilationUnit }
45
+ });
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ this.registry = (0, symbols_1.importedNames)(cu, '@angular/cdk/drag-drop', ['DragDropRegistry']);
48
+ return _super.visitJsCompilationUnit.call(this, cu, p);
49
+ });
50
+ }
51
+ visitParameterizedType(type, p) {
52
+ const _super = Object.create(null, {
53
+ visitParameterizedType: { get: () => super.visitParameterizedType }
54
+ });
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const t = yield _super.visitParameterizedType.call(this, type, p);
57
+ if (!(0, java_1.isIdentifier)(t.class) || !this.registry.has(t.class.simpleName))
58
+ return t;
59
+ return Object.assign(Object.assign({}, t.class), { prefix: t.prefix });
60
+ });
61
+ }
62
+ visitMethodInvocation(method, p) {
63
+ const _super = Object.create(null, {
64
+ visitMethodInvocation: { get: () => super.visitMethodInvocation }
65
+ });
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ var _a;
68
+ const m = yield _super.visitMethodInvocation.call(this, method, p);
69
+ const select = (_a = m.select) === null || _a === void 0 ? void 0 : _a.element;
70
+ if (!OBSERVABLE_METHODS.includes(m.name.simpleName) || !isRegistryScroll(select))
71
+ return m;
72
+ return Object.assign(Object.assign({}, m), { select: Object.assign(Object.assign({}, m.select), { element: scrolledCall(select) }) });
73
+ });
74
+ }
75
+ visitFieldAccess(fieldAccess, p) {
76
+ const _super = Object.create(null, {
77
+ visitFieldAccess: { get: () => super.visitFieldAccess }
78
+ });
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ var _a;
81
+ const f = yield _super.visitFieldAccess.call(this, fieldAccess, p);
82
+ if (!isRegistryScroll(f))
83
+ return f;
84
+ const parent = (_a = this.cursor.parentTree()) === null || _a === void 0 ? void 0 : _a.value;
85
+ if ((parent === null || parent === void 0 ? void 0 : parent.kind) === java_1.J.Kind.MethodInvocation && OBSERVABLE_METHODS.includes(parent.name.simpleName)) {
86
+ return f;
87
+ }
88
+ return (0, rewrite_1.foundSearchResult)(f, "`DragDropRegistry.scroll` was removed in @angular/cdk 20. " +
89
+ "Use the `scrolled()` method, which returns an `Observable` instead of a `Subject`.");
90
+ });
91
+ }
92
+ }();
93
+ });
94
+ }
95
+ }
96
+ exports.MigrateDragDropRegistry = MigrateDragDropRegistry;
97
+ function isRegistryScroll(expression) {
98
+ var _a;
99
+ if ((expression === null || expression === void 0 ? void 0 : expression.kind) !== java_1.J.Kind.FieldAccess)
100
+ return false;
101
+ const name = expression.name.element;
102
+ return name.simpleName === 'scroll' && (0, find_cdk_signature_changes_1.isCdkClass)((_a = name.fieldType) === null || _a === void 0 ? void 0 : _a.owner, 'DragDropRegistry');
103
+ }
104
+ /** `registry.scroll` rebuilt as `registry.scrolled()`, keeping the receiver and its formatting. */
105
+ function scrolledCall(scroll) {
106
+ const name = scroll.name.element;
107
+ return {
108
+ kind: java_1.J.Kind.MethodInvocation,
109
+ id: (0, rewrite_1.randomId)(),
110
+ prefix: scroll.prefix,
111
+ markers: rewrite_1.emptyMarkers,
112
+ select: { kind: java_1.J.Kind.RightPadded, element: scroll.target, after: scroll.name.before, markers: rewrite_1.emptyMarkers },
113
+ name: Object.assign(Object.assign({}, name), { simpleName: 'scrolled', fieldType: undefined, type: undefined }),
114
+ arguments: (0, lst_1.emptyArguments)({ kind: java_1.J.Kind.Container, before: java_1.emptySpace, elements: [], markers: rewrite_1.emptyMarkers }),
115
+ methodType: undefined,
116
+ };
117
+ }
118
+ //# sourceMappingURL=migrate-drag-drop-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-drag-drop-registry.js","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-drag-drop-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class MigrateFocusTrapFactoryCreate extends Recipe {
3
+ readonly name = "org.openrewrite.angular.cdk.MigrateFocusTrapFactoryCreate";
4
+ readonly displayName = "Pass a config object to `ConfigurableFocusTrapFactory.create`";
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=migrate-focus-trap-factory-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-focus-trap-factory-create.d.ts","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-focus-trap-factory-create.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,gBAAgB,EAAqB,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAK9F,qBAAa,6BAA8B,SAAQ,MAAM;IACrD,QAAQ,CAAC,IAAI,+DAA+D;IAC5E,QAAQ,CAAC,WAAW,mEAAmE;IACvF,QAAQ,CAAC,WAAW,SAE4D;IAE1E,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CA2B9D"}
@@ -0,0 +1,74 @@
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.MigrateFocusTrapFactoryCreate = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const java_1 = require("@openrewrite/rewrite/java");
21
+ const find_cdk_signature_changes_1 = require("./find-cdk-signature-changes");
22
+ class MigrateFocusTrapFactoryCreate extends rewrite_1.Recipe {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.name = "org.openrewrite.angular.cdk.MigrateFocusTrapFactoryCreate";
26
+ this.displayName = "Pass a config object to `ConfigurableFocusTrapFactory.create`";
27
+ this.description = "CDK 22 removed the `create(element, deferCaptureElements: boolean)` overload of " +
28
+ "`ConfigurableFocusTrapFactory`. Rewrites `create(element, true)` to `create(element, {defer: true})`, and marks " +
29
+ "calls whose second argument is a boolean expression other than a literal.";
30
+ }
31
+ editor() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ return new class extends javascript_1.JavaScriptVisitor {
34
+ visitMethodInvocation(method, p) {
35
+ const _super = Object.create(null, {
36
+ visitMethodInvocation: { get: () => super.visitMethodInvocation }
37
+ });
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ var _a, _b, _c, _d;
40
+ const m = yield _super.visitMethodInvocation.call(this, method, p);
41
+ if (m.name.simpleName !== 'create' || (0, find_cdk_signature_changes_1.argumentCount)(m.arguments) !== 2)
42
+ return m;
43
+ if (!(0, find_cdk_signature_changes_1.isCdkClass)((_a = m.methodType) === null || _a === void 0 ? void 0 : _a.declaringType, 'ConfigurableFocusTrapFactory'))
44
+ return m;
45
+ const args = m.arguments.elements;
46
+ const defer = args[1].element;
47
+ if ((0, java_1.isLiteral)(defer) && typeof defer.value === 'boolean') {
48
+ const applied = yield javascript_1.Template.builder()
49
+ .code(`create(element, {defer: ${defer.value}})`)
50
+ .build()
51
+ .apply(m, this.cursor);
52
+ const config = (_d = (_c = (_b = applied.arguments) === null || _b === void 0 ? void 0 : _b.elements) === null || _c === void 0 ? void 0 : _c[1]) === null || _d === void 0 ? void 0 : _d.element;
53
+ if (!config)
54
+ return m;
55
+ const elements = [args[0], Object.assign(Object.assign({}, args[1]), { element: Object.assign(Object.assign({}, config), { prefix: defer.prefix }) })];
56
+ return Object.assign(Object.assign({}, m), { arguments: Object.assign(Object.assign({}, m.arguments), { elements }) });
57
+ }
58
+ if (isBoolean(defer)) {
59
+ return (0, rewrite_1.foundSearchResult)(m, "The boolean overload of `ConfigurableFocusTrapFactory.create` was " +
60
+ "removed in @angular/cdk 22. Pass `{defer: <value>}` instead.");
61
+ }
62
+ return m;
63
+ });
64
+ }
65
+ }();
66
+ });
67
+ }
68
+ }
69
+ exports.MigrateFocusTrapFactoryCreate = MigrateFocusTrapFactoryCreate;
70
+ function isBoolean(expression) {
71
+ const type = expression.type;
72
+ return java_1.Type.isPrimitive(type) && type.keyword === 'boolean';
73
+ }
74
+ //# sourceMappingURL=migrate-focus-trap-factory-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-focus-trap-factory-create.js","sourceRoot":"","sources":["../../../src/libraries/cdk/migrate-focus-trap-factory-create.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA8F;AAC9F,gEAA4E;AAC5E,oDAA6D;AAC7D,6EAAuE;AAEvE,MAAa,6BAA8B,SAAQ,gBAAM;IAAzD;;QACa,SAAI,GAAG,2DAA2D,CAAC;QACnE,gBAAW,GAAG,+DAA+D,CAAC;QAC9E,gBAAW,GAAG,kFAAkF;YACrG,kHAAkH;YAClH,2EAA2E,CAAC;IA6BpF,CAAC;IA3BS,MAAM;;YACR,OAAO,IAAI,KAAM,SAAQ,8BAAmC;gBACxC,qBAAqB,CAAC,MAA0B,EAAE,CAAmB;;;;;;wBACjF,MAAM,CAAC,GAAG,MAAM,OAAM,qBAAqB,YAAC,MAAM,EAAE,CAAC,CAAuB,CAAC;wBAC7E,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAA,0CAAa,EAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;4BAAE,OAAO,CAAC,CAAC;wBACjF,IAAI,CAAC,IAAA,uCAAU,EAAC,MAAA,CAAC,CAAC,UAAU,0CAAE,aAAa,EAAE,8BAA8B,CAAC;4BAAE,OAAO,CAAC,CAAC;wBAEvF,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;wBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBAC9B,IAAI,IAAA,gBAAS,EAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;4BACvD,MAAM,OAAO,GAAG,MAAM,qBAAQ,CAAC,OAAO,EAAE;iCACnC,IAAI,CAAC,2BAA2B,KAAK,CAAC,KAAK,IAAI,CAAC;iCAChD,KAAK,EAAE;iCACP,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAuB,CAAC;4BACjD,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,QAAQ,0CAAG,CAAC,CAAC,0CAAE,OAAO,CAAC;4BACzD,IAAI,CAAC,MAAM;gCAAE,OAAO,CAAC,CAAC;4BACtB,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,kCAAM,IAAI,CAAC,CAAC,CAAC,KAAE,OAAO,kCAAM,MAAM,KAAE,MAAM,EAAE,KAAK,CAAC,MAAM,OAAG,CAAC;4BACrF,OAAO,gCAAI,CAAC,KAAE,SAAS,kCAAM,CAAC,CAAC,SAAS,KAAE,QAAQ,MAAwB,CAAC;wBAC/E,CAAC;wBACD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;4BACnB,OAAO,IAAA,2BAAiB,EAAC,CAAC,EAAE,oEAAoE;gCAC5F,8DAA8D,CAAC,CAAC;wBACxE,CAAC;wBACD,OAAO,CAAC,CAAC;oBACb,CAAC;iBAAA;aACJ,EAAE,CAAC;QACR,CAAC;KAAA;CACJ;AAlCD,sEAkCC;AAED,SAAS,SAAS,CAAC,UAAa;IAC5B,MAAM,IAAI,GAAI,UAAgC,CAAC,IAAI,CAAC;IACpD,OAAO,WAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;AAChE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class RemoveCdkSuperArguments extends Recipe {
3
+ readonly name = "org.openrewrite.angular.cdk.RemoveCdkSuperArguments";
4
+ readonly displayName = "Remove the `super(...)` arguments of CDK subclasses";
5
+ readonly description: string;
6
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
7
+ }
8
+ //# sourceMappingURL=remove-cdk-super-arguments.d.ts.map