@openrewrite/recipes-angular 1.1.3 → 1.1.5

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 (124) hide show
  1. package/dist/index.d.ts +18 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +76 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/libraries/primeng/18/add-primeng-provider.d.ts +45 -0
  6. package/dist/libraries/primeng/18/add-primeng-provider.d.ts.map +1 -0
  7. package/dist/libraries/primeng/18/add-primeng-provider.js +354 -0
  8. package/dist/libraries/primeng/18/add-primeng-provider.js.map +1 -0
  9. package/dist/libraries/primeng/18/index.d.ts +19 -0
  10. package/dist/libraries/primeng/18/index.d.ts.map +1 -0
  11. package/dist/libraries/primeng/18/index.js +45 -0
  12. package/dist/libraries/primeng/18/index.js.map +1 -0
  13. package/dist/libraries/primeng/18/manual-migration-steps.d.ts +19 -0
  14. package/dist/libraries/primeng/18/manual-migration-steps.d.ts.map +1 -0
  15. package/dist/libraries/primeng/18/manual-migration-steps.js +45 -0
  16. package/dist/libraries/primeng/18/manual-migration-steps.js.map +1 -0
  17. package/dist/libraries/primeng/18/mark-deprecated-components.d.ts +9 -0
  18. package/dist/libraries/primeng/18/mark-deprecated-components.d.ts.map +1 -0
  19. package/dist/libraries/primeng/18/mark-deprecated-components.js +125 -0
  20. package/dist/libraries/primeng/18/mark-deprecated-components.js.map +1 -0
  21. package/dist/libraries/primeng/18/mark-deprecated-css-classes.d.ts +15 -0
  22. package/dist/libraries/primeng/18/mark-deprecated-css-classes.d.ts.map +1 -0
  23. package/dist/libraries/primeng/18/mark-deprecated-css-classes.js +108 -0
  24. package/dist/libraries/primeng/18/mark-deprecated-css-classes.js.map +1 -0
  25. package/dist/libraries/primeng/18/mark-drawer-size.d.ts +16 -0
  26. package/dist/libraries/primeng/18/mark-drawer-size.d.ts.map +1 -0
  27. package/dist/libraries/primeng/18/mark-drawer-size.js +90 -0
  28. package/dist/libraries/primeng/18/mark-drawer-size.js.map +1 -0
  29. package/dist/libraries/primeng/18/mark-removed-primeng-modules.d.ts +9 -0
  30. package/dist/libraries/primeng/18/mark-removed-primeng-modules.d.ts.map +1 -0
  31. package/dist/libraries/primeng/18/mark-removed-primeng-modules.js +186 -0
  32. package/dist/libraries/primeng/18/mark-removed-primeng-modules.js.map +1 -0
  33. package/dist/libraries/primeng/18/migrate-messages-to-message-loop.d.ts +15 -0
  34. package/dist/libraries/primeng/18/migrate-messages-to-message-loop.d.ts.map +1 -0
  35. package/dist/libraries/primeng/18/migrate-messages-to-message-loop.js +78 -0
  36. package/dist/libraries/primeng/18/migrate-messages-to-message-loop.js.map +1 -0
  37. package/dist/libraries/primeng/18/migrate-p-fluid-to-wrapper.d.ts +27 -0
  38. package/dist/libraries/primeng/18/migrate-p-fluid-to-wrapper.d.ts.map +1 -0
  39. package/dist/libraries/primeng/18/migrate-p-fluid-to-wrapper.js +495 -0
  40. package/dist/libraries/primeng/18/migrate-p-fluid-to-wrapper.js.map +1 -0
  41. package/dist/libraries/primeng/18/migrate-primeng-config.d.ts +8 -0
  42. package/dist/libraries/primeng/18/migrate-primeng-config.d.ts.map +1 -0
  43. package/dist/libraries/primeng/18/migrate-primeng-config.js +154 -0
  44. package/dist/libraries/primeng/18/migrate-primeng-config.js.map +1 -0
  45. package/dist/libraries/primeng/18/migrate-primeng-signal-assignments.d.ts +12 -0
  46. package/dist/libraries/primeng/18/migrate-primeng-signal-assignments.d.ts.map +1 -0
  47. package/dist/libraries/primeng/18/migrate-primeng-signal-assignments.js +112 -0
  48. package/dist/libraries/primeng/18/migrate-primeng-signal-assignments.js.map +1 -0
  49. package/dist/libraries/primeng/18/rename-calendar-to-datepicker.d.ts +8 -0
  50. package/dist/libraries/primeng/18/rename-calendar-to-datepicker.d.ts.map +1 -0
  51. package/dist/libraries/primeng/18/rename-calendar-to-datepicker.js +114 -0
  52. package/dist/libraries/primeng/18/rename-calendar-to-datepicker.js.map +1 -0
  53. package/dist/libraries/primeng/18/rename-dropdown-to-select.d.ts +8 -0
  54. package/dist/libraries/primeng/18/rename-dropdown-to-select.d.ts.map +1 -0
  55. package/dist/libraries/primeng/18/rename-dropdown-to-select.js +114 -0
  56. package/dist/libraries/primeng/18/rename-dropdown-to-select.js.map +1 -0
  57. package/dist/libraries/primeng/18/rename-inputswitch-to-toggleswitch.d.ts +8 -0
  58. package/dist/libraries/primeng/18/rename-inputswitch-to-toggleswitch.d.ts.map +1 -0
  59. package/dist/libraries/primeng/18/rename-inputswitch-to-toggleswitch.js +114 -0
  60. package/dist/libraries/primeng/18/rename-inputswitch-to-toggleswitch.js.map +1 -0
  61. package/dist/libraries/primeng/18/rename-message-interface.d.ts +8 -0
  62. package/dist/libraries/primeng/18/rename-message-interface.d.ts.map +1 -0
  63. package/dist/libraries/primeng/18/rename-message-interface.js +107 -0
  64. package/dist/libraries/primeng/18/rename-message-interface.js.map +1 -0
  65. package/dist/libraries/primeng/18/rename-overlaypanel-to-popover.d.ts +8 -0
  66. package/dist/libraries/primeng/18/rename-overlaypanel-to-popover.d.ts.map +1 -0
  67. package/dist/libraries/primeng/18/rename-overlaypanel-to-popover.js +114 -0
  68. package/dist/libraries/primeng/18/rename-overlaypanel-to-popover.js.map +1 -0
  69. package/dist/libraries/primeng/18/rename-sidebar-to-drawer.d.ts +8 -0
  70. package/dist/libraries/primeng/18/rename-sidebar-to-drawer.d.ts.map +1 -0
  71. package/dist/libraries/primeng/18/rename-sidebar-to-drawer.js +114 -0
  72. package/dist/libraries/primeng/18/rename-sidebar-to-drawer.js.map +1 -0
  73. package/dist/libraries/primeng/18/rename-template-selectors.d.ts +12 -0
  74. package/dist/libraries/primeng/18/rename-template-selectors.d.ts.map +1 -0
  75. package/dist/libraries/primeng/18/rename-template-selectors.js +79 -0
  76. package/dist/libraries/primeng/18/rename-template-selectors.js.map +1 -0
  77. package/dist/libraries/primeng/18/upgrade-components-to-18.d.ts +8 -0
  78. package/dist/libraries/primeng/18/upgrade-components-to-18.d.ts.map +1 -0
  79. package/dist/libraries/primeng/18/upgrade-components-to-18.js +73 -0
  80. package/dist/libraries/primeng/18/upgrade-components-to-18.js.map +1 -0
  81. package/dist/libraries/primeng/18/upgrade-to-primeng-18.d.ts +8 -0
  82. package/dist/libraries/primeng/18/upgrade-to-primeng-18.d.ts.map +1 -0
  83. package/dist/libraries/primeng/18/upgrade-to-primeng-18.js +68 -0
  84. package/dist/libraries/primeng/18/upgrade-to-primeng-18.js.map +1 -0
  85. package/dist/migration/explicit-standalone-flag.d.ts.map +1 -1
  86. package/dist/migration/explicit-standalone-flag.js +12 -5
  87. package/dist/migration/explicit-standalone-flag.js.map +1 -1
  88. package/dist/migration/replace-untyped-forms.d.ts +14 -2
  89. package/dist/migration/replace-untyped-forms.d.ts.map +1 -1
  90. package/dist/migration/replace-untyped-forms.js +108 -36
  91. package/dist/migration/replace-untyped-forms.js.map +1 -1
  92. package/dist/migration/upgrade-angular-peer-libs-to-18.d.ts +17 -0
  93. package/dist/migration/upgrade-angular-peer-libs-to-18.d.ts.map +1 -0
  94. package/dist/migration/upgrade-angular-peer-libs-to-18.js +49 -0
  95. package/dist/migration/upgrade-angular-peer-libs-to-18.js.map +1 -0
  96. package/dist/migration/upgrade-to-angular-18.d.ts.map +1 -1
  97. package/dist/migration/upgrade-to-angular-18.js +16 -7
  98. package/dist/migration/upgrade-to-angular-18.js.map +1 -1
  99. package/package.json +1 -1
  100. package/src/index.ts +57 -0
  101. package/src/libraries/primeng/18/add-primeng-provider.ts +359 -0
  102. package/src/libraries/primeng/18/index.ts +24 -0
  103. package/src/libraries/primeng/18/manual-migration-steps.ts +37 -0
  104. package/src/libraries/primeng/18/mark-deprecated-components.ts +128 -0
  105. package/src/libraries/primeng/18/mark-deprecated-css-classes.ts +109 -0
  106. package/src/libraries/primeng/18/mark-drawer-size.ts +85 -0
  107. package/src/libraries/primeng/18/mark-removed-primeng-modules.ts +198 -0
  108. package/src/libraries/primeng/18/migrate-messages-to-message-loop.ts +72 -0
  109. package/src/libraries/primeng/18/migrate-p-fluid-to-wrapper.ts +439 -0
  110. package/src/libraries/primeng/18/migrate-primeng-config.ts +112 -0
  111. package/src/libraries/primeng/18/migrate-primeng-signal-assignments.ts +83 -0
  112. package/src/libraries/primeng/18/rename-calendar-to-datepicker.ts +81 -0
  113. package/src/libraries/primeng/18/rename-dropdown-to-select.ts +81 -0
  114. package/src/libraries/primeng/18/rename-inputswitch-to-toggleswitch.ts +81 -0
  115. package/src/libraries/primeng/18/rename-message-interface.ts +78 -0
  116. package/src/libraries/primeng/18/rename-overlaypanel-to-popover.ts +81 -0
  117. package/src/libraries/primeng/18/rename-sidebar-to-drawer.ts +81 -0
  118. package/src/libraries/primeng/18/rename-template-selectors.ts +63 -0
  119. package/src/libraries/primeng/18/upgrade-components-to-18.ts +57 -0
  120. package/src/libraries/primeng/18/upgrade-to-primeng-18.ts +52 -0
  121. package/src/migration/explicit-standalone-flag.ts +11 -5
  122. package/src/migration/replace-untyped-forms.ts +111 -39
  123. package/src/migration/upgrade-angular-peer-libs-to-18.ts +33 -0
  124. package/src/migration/upgrade-to-angular-18.ts +16 -7
@@ -0,0 +1,354 @@
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.AddPrimengProvider = void 0;
18
+ const rewrite_1 = require("@openrewrite/rewrite");
19
+ const javascript_1 = require("@openrewrite/rewrite/javascript");
20
+ const json_1 = require("@openrewrite/rewrite/json");
21
+ const java_1 = require("@openrewrite/rewrite/java");
22
+ /**
23
+ * Map a v17 theme name (e.g. `lara-light-blue`, `md-dark-indigo`, `mira`) to the closest
24
+ * v18 design-token preset. v17 had dozens of themes; v18 ships four presets:
25
+ * Aura, Lara, Nora, Material. The mapping below picks the closest visual match — for
26
+ * the long tail of v17 themes that have no clear analogue (mira, nova, saga, vela,
27
+ * soho, fluent, viva, rhea, tailwind, bootstrap4, arya, luna, …) we fall back to Aura
28
+ * since it's the default v18 preset.
29
+ */
30
+ function mapThemeToPreset(themeName) {
31
+ const lower = themeName.toLowerCase();
32
+ if (lower.startsWith('lara-'))
33
+ return 'Lara';
34
+ if (lower.startsWith('md-') || lower.startsWith('mdc-'))
35
+ return 'Material';
36
+ if (lower.startsWith('nora') || lower === 'nano')
37
+ return 'Nora';
38
+ return 'Aura';
39
+ }
40
+ /**
41
+ * Map a v17 theme name to a v18 `darkModeSelector` policy. v17 themes were single-mode (the
42
+ * theme file itself was light or dark); v18 presets are mode-agnostic and the app opts in to
43
+ * dark mode via `darkModeSelector` (defaults to `'system'`, i.e. follow OS preference).
44
+ *
45
+ * To preserve the v17 author's intent we default to `'disabled'` (= `false`, keep the app
46
+ * light-only) for everything that wasn't explicitly authored against a dark theme. Most v17
47
+ * themes (mira, nova, saga, vela, soho, fluent, viva, rhea, tailwind, bootstrap4, lara-light,
48
+ * md-light, mdc-light, …) were visually light, and the surrounding app CSS was tested only
49
+ * against that — letting v18 silently flip to OS-dark usually breaks layouts and contrast.
50
+ *
51
+ * Only `*-dark-*` v17 themes (e.g. `lara-dark-blue`, `md-dark-indigo`, `bootstrap4-dark-…`)
52
+ * map to `'system'`: those apps already worked in dark, and `'system'` is the closest v18
53
+ * analogue to "this app was dark" since v18 has no permanent-dark flag.
54
+ */
55
+ function mapThemeToDarkMode(themeName) {
56
+ const lower = themeName.toLowerCase();
57
+ if (lower.includes('-dark-') || lower.endsWith('-dark'))
58
+ return 'system';
59
+ return 'disabled';
60
+ }
61
+ /**
62
+ * Internal sub-recipe that strips any `primeng/resources` entry from the `styles`
63
+ * array in `angular.json`. Folded into `AddPrimengProvider`'s recipeList: now that
64
+ * the parent recipe wires in the v18 replacement (`providePrimeNG({ theme: { preset } })`),
65
+ * the v17 paths can be deleted cleanly — no TODO comments, no manual-migration row.
66
+ */
67
+ class RemovePrimengResourcesFromAngularJson extends rewrite_1.Recipe {
68
+ constructor() {
69
+ super(...arguments);
70
+ this.name = "org.openrewrite.primeng.AddPrimengProvider.remove-primeng-resources";
71
+ this.displayName = "Remove `primeng/resources` style references from `angular.json`";
72
+ this.description = "Filters every `styles[]` entry containing `primeng/resources` out of " +
73
+ "`angular.json`. Safe to delete because `AddPrimengProvider` adds the v18 equivalent " +
74
+ "(`providePrimeNG({ theme: { preset } })`) alongside this step.";
75
+ }
76
+ editor() {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ return new class extends json_1.JsonVisitor {
79
+ visitDocument(doc, p) {
80
+ const _super = Object.create(null, {
81
+ visitDocument: { get: () => super.visitDocument }
82
+ });
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ if (!doc.sourcePath.endsWith('angular.json'))
85
+ return doc;
86
+ return _super.visitDocument.call(this, doc, p);
87
+ });
88
+ }
89
+ visitMember(member, p) {
90
+ const _super = Object.create(null, {
91
+ visitMember: { get: () => super.visitMember }
92
+ });
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ const m = yield _super.visitMember.call(this, member, p);
95
+ if (!m)
96
+ return m;
97
+ if ((0, json_1.getMemberKeyName)(m) !== 'styles')
98
+ return m;
99
+ if (!(0, json_1.isArray)(m.value))
100
+ return m;
101
+ const arr = m.value;
102
+ const filtered = arr.values.filter(rp => {
103
+ const elem = rp.element;
104
+ if (!(0, json_1.isLiteral)(elem))
105
+ return true;
106
+ const val = elem.value;
107
+ return !(val === null || val === void 0 ? void 0 : val.includes('primeng/resources'));
108
+ });
109
+ if (filtered.length === arr.values.length)
110
+ return m;
111
+ // Preserve the leading whitespace of the original first element on whichever
112
+ // value is now first, so the array keeps its formatting.
113
+ const newValues = [...filtered];
114
+ if (newValues.length > 0 && arr.values.length > 0) {
115
+ const originalFirstPrefix = arr.values[0].element.prefix;
116
+ const newFirst = newValues[0];
117
+ if (newFirst.element.prefix !== originalFirstPrefix) {
118
+ newValues[0] = Object.assign(Object.assign({}, newFirst), { element: Object.assign(Object.assign({}, newFirst.element), { prefix: originalFirstPrefix }) });
119
+ }
120
+ }
121
+ return Object.assign(Object.assign({}, m), { value: Object.assign(Object.assign({}, arr), { values: newValues }) });
122
+ });
123
+ }
124
+ }();
125
+ });
126
+ }
127
+ }
128
+ /**
129
+ * v18 ships with no default styling — the old SASS theme tree under `primeng/resources` is
130
+ * gone. Instead, you opt in to a design-token preset via `providePrimeNG({ theme: { preset } })`
131
+ * in your application providers.
132
+ *
133
+ * Scanner phase: looks at `angular.json`'s `styles` array for any `primeng/resources/themes/<X>`
134
+ * reference and maps `<X>` to the closest v18 preset (Aura, Lara, Nora, or Material).
135
+ *
136
+ * Editor phase: in the root `@NgModule` (the one with a `bootstrap:` field), appends
137
+ * `providePrimeNG({ theme: { preset: <Preset> } })` to its `providers` array and adds
138
+ * `import { providePrimeNG } from 'primeng/config';`
139
+ * `import <Preset> from '@primeng/themes/<preset>';`
140
+ *
141
+ * Sub-recipe: a follow-up `RemovePrimengResourcesFromAngularJson` deletes the v17 theme
142
+ * paths from `angular.json` since the new provider supersedes them. The two changes go
143
+ * together — adding the provider without removing the broken paths, or vice versa, leaves
144
+ * the project unbuildable.
145
+ */
146
+ class AddPrimengProvider extends rewrite_1.ScanningRecipe {
147
+ constructor() {
148
+ super(...arguments);
149
+ this.name = "org.openrewrite.primeng.AddPrimengProvider";
150
+ this.displayName = "Add `providePrimeNG` with a detected theme preset to the root NgModule";
151
+ this.description = "Wires the v18 styled mode into an NgModule-based app by adding " +
152
+ "`providePrimeNG({ theme: { preset: <Preset> } })` to the root `@NgModule`'s providers array " +
153
+ "(detected by the presence of a `bootstrap:` field). The preset is chosen by scanning " +
154
+ "`angular.json` for a `primeng/resources/themes/<themeName>/theme.css` entry: `lara-*` maps " +
155
+ "to Lara, `md-*`/`mdc-*` to Material, `nora`/`nano` to Nora, and any other v17 theme " +
156
+ "(mira, nova, saga, vela, soho, fluent, viva, rhea, tailwind, bootstrap4, arya, luna, ...) " +
157
+ "falls back to Aura. The matching imports for `providePrimeNG` and the chosen preset are " +
158
+ "added automatically. Also deletes the now-defunct `primeng/resources` style entries from " +
159
+ "`angular.json` so the build doesn't try to load missing files. Idempotent: skips files that " +
160
+ "already call `providePrimeNG`.";
161
+ }
162
+ initialValue(_ctx) {
163
+ return { preset: 'Aura', darkMode: 'unset', detectedFromAngularJson: false };
164
+ }
165
+ scanner(acc) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ return new class extends json_1.JsonVisitor {
168
+ visitDocument(doc, p) {
169
+ const _super = Object.create(null, {
170
+ visitDocument: { get: () => super.visitDocument }
171
+ });
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ if (!doc.sourcePath.endsWith('angular.json'))
174
+ return doc;
175
+ return _super.visitDocument.call(this, doc, p);
176
+ });
177
+ }
178
+ visitLiteral(literal, p) {
179
+ const _super = Object.create(null, {
180
+ visitLiteral: { get: () => super.visitLiteral }
181
+ });
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ const l = yield _super.visitLiteral.call(this, literal, p);
184
+ if (!l || typeof l.value !== 'string')
185
+ return l;
186
+ // Match e.g. `node_modules/primeng/resources/themes/mira/theme.css`
187
+ const match = l.value.match(/primeng\/resources\/themes\/([^/]+)\/theme\.css/);
188
+ if (!match)
189
+ return l;
190
+ acc.preset = mapThemeToPreset(match[1]);
191
+ acc.darkMode = mapThemeToDarkMode(match[1]);
192
+ acc.detectedFromAngularJson = true;
193
+ return l;
194
+ });
195
+ }
196
+ }();
197
+ });
198
+ }
199
+ editorWithData(acc) {
200
+ return __awaiter(this, void 0, void 0, function* () {
201
+ const preset = acc.preset;
202
+ const presetModule = preset.toLowerCase();
203
+ // Build the `theme: {...}` body. v18's `darkModeSelector` defaults to 'system' (follow
204
+ // OS preference). For `*-light-*` v17 themes we emit `darkModeSelector: false` to keep
205
+ // the app light-only (preserves v17 author's intent). For `*-dark-*` we leave the
206
+ // default since v18 has no permanent-dark mode and 'system' is the closest analogue.
207
+ const themeBody = acc.darkMode === 'disabled'
208
+ ? `{ preset: ${preset}, options: { darkModeSelector: false } }`
209
+ : `{ preset: ${preset} }`;
210
+ return new class extends javascript_1.JavaScriptVisitor {
211
+ // Wires the imports + appends `providePrimeNG({...})` to a `providers: [...]`
212
+ // array inside an object literal (J.NewClass body of PropertyAssignments).
213
+ // Returns the updated NewClass, or `undefined` to skip (no providers array
214
+ // or providePrimeNG already present).
215
+ addToObjectLiteral(newClass) {
216
+ return __awaiter(this, void 0, void 0, function* () {
217
+ var _a;
218
+ if (!newClass.body)
219
+ return undefined;
220
+ let providersIndex = -1;
221
+ for (let i = 0; i < newClass.body.statements.length; i++) {
222
+ const stmt = newClass.body.statements[i].element;
223
+ if (stmt.kind !== javascript_1.JS.Kind.PropertyAssignment)
224
+ continue;
225
+ const prop = stmt;
226
+ const nameExpr = prop.name.element;
227
+ if (!(0, java_1.isIdentifier)(nameExpr))
228
+ continue;
229
+ if (nameExpr.simpleName === 'providers') {
230
+ providersIndex = i;
231
+ break;
232
+ }
233
+ }
234
+ if (providersIndex === -1)
235
+ return undefined;
236
+ const provStmt = newClass.body.statements[providersIndex].element;
237
+ const arr = provStmt.initializer;
238
+ const container = arr === null || arr === void 0 ? void 0 : arr.initializer;
239
+ const existingElements = (_a = container === null || container === void 0 ? void 0 : container.elements) !== null && _a !== void 0 ? _a : [];
240
+ for (const el of existingElements) {
241
+ const expr = el.element;
242
+ if ((expr === null || expr === void 0 ? void 0 : expr.kind) === java_1.J.Kind.MethodInvocation
243
+ && (0, java_1.isIdentifier)(expr.name)
244
+ && expr.name.simpleName === 'providePrimeNG') {
245
+ return undefined;
246
+ }
247
+ }
248
+ const provideCall = yield javascript_1.Template.builder()
249
+ .code(`providePrimeNG({ theme: ${themeBody} })`)
250
+ .build()
251
+ .apply(newClass, this.cursor);
252
+ const newProviderRP = {
253
+ kind: java_1.J.Kind.RightPadded,
254
+ element: Object.assign(Object.assign({}, provideCall), { prefix: existingElements.length > 0 ? java_1.singleSpace : java_1.emptySpace }),
255
+ after: java_1.emptySpace,
256
+ markers: { kind: 'org.openrewrite.marker.Markers', id: newClass.id, markers: [] },
257
+ };
258
+ const updatedProvStmt = Object.assign(Object.assign({}, provStmt), { initializer: Object.assign(Object.assign({}, arr), { initializer: Object.assign(Object.assign({}, container), { elements: [...existingElements, newProviderRP] }) }) });
259
+ const newStatements = [...newClass.body.statements];
260
+ newStatements[providersIndex] = Object.assign(Object.assign({}, newStatements[providersIndex]), { element: updatedProvStmt });
261
+ (0, javascript_1.maybeAddImport)(this, {
262
+ module: 'primeng/config',
263
+ member: 'providePrimeNG',
264
+ onlyIfReferenced: false,
265
+ });
266
+ (0, javascript_1.maybeAddImport)(this, {
267
+ module: `@primeng/themes/${presetModule}`,
268
+ member: 'default',
269
+ alias: preset,
270
+ onlyIfReferenced: false,
271
+ });
272
+ return Object.assign(Object.assign({}, newClass), { body: Object.assign(Object.assign({}, newClass.body), { statements: newStatements }) });
273
+ });
274
+ }
275
+ visitAnnotation(annotation, p) {
276
+ const _super = Object.create(null, {
277
+ visitAnnotation: { get: () => super.visitAnnotation }
278
+ });
279
+ return __awaiter(this, void 0, void 0, function* () {
280
+ var _a, _b, _c;
281
+ let a = yield _super.visitAnnotation.call(this, annotation, p);
282
+ if (!a)
283
+ return a;
284
+ const annotType = a.annotationType;
285
+ if (!(0, java_1.isIdentifier)(annotType))
286
+ return a;
287
+ if (annotType.simpleName !== 'NgModule')
288
+ return a;
289
+ if (!((_b = (_a = a.arguments) === null || _a === void 0 ? void 0 : _a.elements) === null || _b === void 0 ? void 0 : _b.length))
290
+ return a;
291
+ const firstArg = a.arguments.elements[0].element;
292
+ if (firstArg.kind !== java_1.J.Kind.NewClass)
293
+ return a;
294
+ const newClass = firstArg;
295
+ // Only target the root NgModule (the one with bootstrap:).
296
+ const hasBootstrap = (_c = newClass.body) === null || _c === void 0 ? void 0 : _c.statements.some(s => {
297
+ const stmt = s.element;
298
+ if (stmt.kind !== javascript_1.JS.Kind.PropertyAssignment)
299
+ return false;
300
+ const nameExpr = stmt.name.element;
301
+ return (0, java_1.isIdentifier)(nameExpr) && nameExpr.simpleName === 'bootstrap';
302
+ });
303
+ if (!hasBootstrap)
304
+ return a;
305
+ const updated = yield this.addToObjectLiteral(newClass);
306
+ if (!updated)
307
+ return a;
308
+ return Object.assign(Object.assign({}, a), { arguments: Object.assign(Object.assign({}, a.arguments), { elements: [Object.assign(Object.assign({}, a.arguments.elements[0]), { element: updated })] }) });
309
+ });
310
+ }
311
+ // Standalone apps: `export const appConfig: ApplicationConfig = { providers: [...] }`.
312
+ // Detected by the type annotation on the variable declaration; the variable name
313
+ // is irrelevant. The `: ApplicationConfig` annotation parses as JS.TypeInfo wrapping
314
+ // the actual identifier, so unwrap one level before checking the simple name.
315
+ visitVariableDeclarations(varDecls, p) {
316
+ const _super = Object.create(null, {
317
+ visitVariableDeclarations: { get: () => super.visitVariableDeclarations }
318
+ });
319
+ return __awaiter(this, void 0, void 0, function* () {
320
+ var _a;
321
+ const v = yield _super.visitVariableDeclarations.call(this, varDecls, p);
322
+ if (!v)
323
+ return v;
324
+ let typeExpr = v.typeExpression;
325
+ if ((typeExpr === null || typeExpr === void 0 ? void 0 : typeExpr.kind) === javascript_1.JS.Kind.TypeInfo)
326
+ typeExpr = typeExpr.typeIdentifier;
327
+ if (!typeExpr || !(0, java_1.isIdentifier)(typeExpr))
328
+ return v;
329
+ if (typeExpr.simpleName !== 'ApplicationConfig')
330
+ return v;
331
+ if (!v.variables.length)
332
+ return v;
333
+ const variableRP = v.variables[0];
334
+ const namedVar = variableRP.element;
335
+ const initializer = (_a = namedVar.initializer) === null || _a === void 0 ? void 0 : _a.element;
336
+ if (!initializer || initializer.kind !== java_1.J.Kind.NewClass)
337
+ return v;
338
+ const updated = yield this.addToObjectLiteral(initializer);
339
+ if (!updated)
340
+ return v;
341
+ return Object.assign(Object.assign({}, v), { variables: [Object.assign(Object.assign({}, variableRP), { element: Object.assign(Object.assign({}, namedVar), { initializer: Object.assign(Object.assign({}, namedVar.initializer), { element: updated }) }) }), ...v.variables.slice(1)] });
342
+ });
343
+ }
344
+ };
345
+ });
346
+ }
347
+ recipeList() {
348
+ return __awaiter(this, void 0, void 0, function* () {
349
+ return [new RemovePrimengResourcesFromAngularJson()];
350
+ });
351
+ }
352
+ }
353
+ exports.AddPrimengProvider = AddPrimengProvider;
354
+ //# sourceMappingURL=add-primeng-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-primeng-provider.js","sourceRoot":"","sources":["../../../../src/libraries/primeng/18/add-primeng-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export { UpgradeToPrimeNG18 } from './upgrade-to-primeng-18';
2
+ export { UpgradeComponentsTo18 } from './upgrade-components-to-18';
3
+ export { MigratePrimeNgConfigToPrimeNG } from './migrate-primeng-config';
4
+ export { MigratePrimeNGSignalAssignments } from './migrate-primeng-signal-assignments';
5
+ export { MigrateMessagesToMessageLoop } from './migrate-messages-to-message-loop';
6
+ export { RenameCalendarToDatePicker } from './rename-calendar-to-datepicker';
7
+ export { RenameDropdownToSelect } from './rename-dropdown-to-select';
8
+ export { RenameInputSwitchToToggleSwitch } from './rename-inputswitch-to-toggleswitch';
9
+ export { RenameOverlayPanelToPopover } from './rename-overlaypanel-to-popover';
10
+ export { RenameSidebarToDrawer } from './rename-sidebar-to-drawer';
11
+ export { RenameMessageInterface } from './rename-message-interface';
12
+ export { RenameTemplateSelectors } from './rename-template-selectors';
13
+ export { MarkRemovedPrimengModules } from './mark-removed-primeng-modules';
14
+ export { MarkDeprecatedPrimengComponents } from './mark-deprecated-components';
15
+ export { MarkDeprecatedPrimengCssClasses } from './mark-deprecated-css-classes';
16
+ export { MarkDrawerSize } from './mark-drawer-size';
17
+ export { AddPrimengProvider } from './add-primeng-provider';
18
+ export { ManualMigrationStep } from './manual-migration-steps';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libraries/primeng/18/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,+BAA+B,EAAC,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAC,4BAA4B,EAAC,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,+BAA+B,EAAC,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAC,2BAA2B,EAAC,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,+BAA+B,EAAC,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAC,+BAA+B,EAAC,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,45 @@
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.ManualMigrationStep = exports.AddPrimengProvider = exports.MarkDrawerSize = exports.MarkDeprecatedPrimengCssClasses = exports.MarkDeprecatedPrimengComponents = exports.MarkRemovedPrimengModules = exports.RenameTemplateSelectors = exports.RenameMessageInterface = exports.RenameSidebarToDrawer = exports.RenameOverlayPanelToPopover = exports.RenameInputSwitchToToggleSwitch = exports.RenameDropdownToSelect = exports.RenameCalendarToDatePicker = exports.MigrateMessagesToMessageLoop = exports.MigratePrimeNGSignalAssignments = exports.MigratePrimeNgConfigToPrimeNG = exports.UpgradeComponentsTo18 = exports.UpgradeToPrimeNG18 = void 0;
9
+ var upgrade_to_primeng_18_1 = require("./upgrade-to-primeng-18");
10
+ Object.defineProperty(exports, "UpgradeToPrimeNG18", { enumerable: true, get: function () { return upgrade_to_primeng_18_1.UpgradeToPrimeNG18; } });
11
+ var upgrade_components_to_18_1 = require("./upgrade-components-to-18");
12
+ Object.defineProperty(exports, "UpgradeComponentsTo18", { enumerable: true, get: function () { return upgrade_components_to_18_1.UpgradeComponentsTo18; } });
13
+ var migrate_primeng_config_1 = require("./migrate-primeng-config");
14
+ Object.defineProperty(exports, "MigratePrimeNgConfigToPrimeNG", { enumerable: true, get: function () { return migrate_primeng_config_1.MigratePrimeNgConfigToPrimeNG; } });
15
+ var migrate_primeng_signal_assignments_1 = require("./migrate-primeng-signal-assignments");
16
+ Object.defineProperty(exports, "MigratePrimeNGSignalAssignments", { enumerable: true, get: function () { return migrate_primeng_signal_assignments_1.MigratePrimeNGSignalAssignments; } });
17
+ var migrate_messages_to_message_loop_1 = require("./migrate-messages-to-message-loop");
18
+ Object.defineProperty(exports, "MigrateMessagesToMessageLoop", { enumerable: true, get: function () { return migrate_messages_to_message_loop_1.MigrateMessagesToMessageLoop; } });
19
+ var rename_calendar_to_datepicker_1 = require("./rename-calendar-to-datepicker");
20
+ Object.defineProperty(exports, "RenameCalendarToDatePicker", { enumerable: true, get: function () { return rename_calendar_to_datepicker_1.RenameCalendarToDatePicker; } });
21
+ var rename_dropdown_to_select_1 = require("./rename-dropdown-to-select");
22
+ Object.defineProperty(exports, "RenameDropdownToSelect", { enumerable: true, get: function () { return rename_dropdown_to_select_1.RenameDropdownToSelect; } });
23
+ var rename_inputswitch_to_toggleswitch_1 = require("./rename-inputswitch-to-toggleswitch");
24
+ Object.defineProperty(exports, "RenameInputSwitchToToggleSwitch", { enumerable: true, get: function () { return rename_inputswitch_to_toggleswitch_1.RenameInputSwitchToToggleSwitch; } });
25
+ var rename_overlaypanel_to_popover_1 = require("./rename-overlaypanel-to-popover");
26
+ Object.defineProperty(exports, "RenameOverlayPanelToPopover", { enumerable: true, get: function () { return rename_overlaypanel_to_popover_1.RenameOverlayPanelToPopover; } });
27
+ var rename_sidebar_to_drawer_1 = require("./rename-sidebar-to-drawer");
28
+ Object.defineProperty(exports, "RenameSidebarToDrawer", { enumerable: true, get: function () { return rename_sidebar_to_drawer_1.RenameSidebarToDrawer; } });
29
+ var rename_message_interface_1 = require("./rename-message-interface");
30
+ Object.defineProperty(exports, "RenameMessageInterface", { enumerable: true, get: function () { return rename_message_interface_1.RenameMessageInterface; } });
31
+ var rename_template_selectors_1 = require("./rename-template-selectors");
32
+ Object.defineProperty(exports, "RenameTemplateSelectors", { enumerable: true, get: function () { return rename_template_selectors_1.RenameTemplateSelectors; } });
33
+ var mark_removed_primeng_modules_1 = require("./mark-removed-primeng-modules");
34
+ Object.defineProperty(exports, "MarkRemovedPrimengModules", { enumerable: true, get: function () { return mark_removed_primeng_modules_1.MarkRemovedPrimengModules; } });
35
+ var mark_deprecated_components_1 = require("./mark-deprecated-components");
36
+ Object.defineProperty(exports, "MarkDeprecatedPrimengComponents", { enumerable: true, get: function () { return mark_deprecated_components_1.MarkDeprecatedPrimengComponents; } });
37
+ var mark_deprecated_css_classes_1 = require("./mark-deprecated-css-classes");
38
+ Object.defineProperty(exports, "MarkDeprecatedPrimengCssClasses", { enumerable: true, get: function () { return mark_deprecated_css_classes_1.MarkDeprecatedPrimengCssClasses; } });
39
+ var mark_drawer_size_1 = require("./mark-drawer-size");
40
+ Object.defineProperty(exports, "MarkDrawerSize", { enumerable: true, get: function () { return mark_drawer_size_1.MarkDrawerSize; } });
41
+ var add_primeng_provider_1 = require("./add-primeng-provider");
42
+ Object.defineProperty(exports, "AddPrimengProvider", { enumerable: true, get: function () { return add_primeng_provider_1.AddPrimengProvider; } });
43
+ var manual_migration_steps_1 = require("./manual-migration-steps");
44
+ Object.defineProperty(exports, "ManualMigrationStep", { enumerable: true, get: function () { return manual_migration_steps_1.ManualMigrationStep; } });
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/libraries/primeng/18/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iEAA2D;AAAnD,2HAAA,kBAAkB,OAAA;AAC1B,uEAAiE;AAAzD,iIAAA,qBAAqB,OAAA;AAC7B,mEAAuE;AAA/D,uIAAA,6BAA6B,OAAA;AACrC,2FAAqF;AAA7E,qJAAA,+BAA+B,OAAA;AACvC,uFAAgF;AAAxE,gJAAA,4BAA4B,OAAA;AACpC,iFAA2E;AAAnE,2IAAA,0BAA0B,OAAA;AAClC,yEAAmE;AAA3D,mIAAA,sBAAsB,OAAA;AAC9B,2FAAqF;AAA7E,qJAAA,+BAA+B,OAAA;AACvC,mFAA6E;AAArE,6IAAA,2BAA2B,OAAA;AACnC,uEAAiE;AAAzD,iIAAA,qBAAqB,OAAA;AAC7B,uEAAkE;AAA1D,kIAAA,sBAAsB,OAAA;AAC9B,yEAAoE;AAA5D,oIAAA,uBAAuB,OAAA;AAC/B,+EAAyE;AAAjE,yIAAA,yBAAyB,OAAA;AACjC,2EAA6E;AAArE,6IAAA,+BAA+B,OAAA;AACvC,6EAA8E;AAAtE,8IAAA,+BAA+B,OAAA;AACvC,uDAAkD;AAA1C,kHAAA,cAAc,OAAA;AACtB,+DAA0D;AAAlD,0HAAA,kBAAkB,OAAA;AAC1B,mEAA6D;AAArD,6HAAA,mBAAmB,OAAA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Row schema shared by every PrimeNG 18 recipe that leaves a manual-migration step (TODO
3
+ * comment, structural rewrite that needs review, removed-but-unmigratable reference).
4
+ *
5
+ * Each recipe instantiates its own `new DataTable<ManualMigrationStep>(MANUAL_MIGRATION_STEPS_NAME, …)`
6
+ * — the framework groups rows by table name when writing CSVs, so multiple recipes
7
+ * naturally end up in the same `org.openrewrite.primeng.ManualMigrationSteps.csv`.
8
+ */
9
+ export declare class ManualMigrationStep {
10
+ sourcePath: string;
11
+ recipe: string;
12
+ subject: string;
13
+ reason: string;
14
+ action: string;
15
+ }
16
+ export declare const MANUAL_MIGRATION_STEPS_NAME = "org.openrewrite.primeng.ManualMigrationSteps";
17
+ export declare const MANUAL_MIGRATION_STEPS_DISPLAY_NAME = "PrimeNG 18 manual migration steps";
18
+ export declare const MANUAL_MIGRATION_STEPS_DESCRIPTION = "Migration steps the automated PrimeNG 18 recipes could not complete and that need a human or AI agent to finish.";
19
+ //# sourceMappingURL=manual-migration-steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manual-migration-steps.d.ts","sourceRoot":"","sources":["../../../../src/libraries/primeng/18/manual-migration-steps.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAE5B,UAAU,EAAG,MAAM,CAAC;IAGpB,MAAM,EAAG,MAAM,CAAC;IAGhB,OAAO,EAAG,MAAM,CAAC;IAGjB,MAAM,EAAG,MAAM,CAAC;IAGhB,MAAM,EAAG,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,2BAA2B,iDAAiD,CAAC;AAC1F,eAAO,MAAM,mCAAmC,sCAAsC,CAAC;AACvF,eAAO,MAAM,kCAAkC,qHACuE,CAAC"}
@@ -0,0 +1,45 @@
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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.MANUAL_MIGRATION_STEPS_DESCRIPTION = exports.MANUAL_MIGRATION_STEPS_DISPLAY_NAME = exports.MANUAL_MIGRATION_STEPS_NAME = exports.ManualMigrationStep = void 0;
15
+ const rewrite_1 = require("@openrewrite/rewrite");
16
+ /**
17
+ * Row schema shared by every PrimeNG 18 recipe that leaves a manual-migration step (TODO
18
+ * comment, structural rewrite that needs review, removed-but-unmigratable reference).
19
+ *
20
+ * Each recipe instantiates its own `new DataTable<ManualMigrationStep>(MANUAL_MIGRATION_STEPS_NAME, …)`
21
+ * — the framework groups rows by table name when writing CSVs, so multiple recipes
22
+ * naturally end up in the same `org.openrewrite.primeng.ManualMigrationSteps.csv`.
23
+ */
24
+ class ManualMigrationStep {
25
+ }
26
+ exports.ManualMigrationStep = ManualMigrationStep;
27
+ __decorate([
28
+ (0, rewrite_1.Column)({ displayName: "Source path", description: "Path of the file containing the migration site." })
29
+ ], ManualMigrationStep.prototype, "sourcePath", void 0);
30
+ __decorate([
31
+ (0, rewrite_1.Column)({ displayName: "Recipe", description: "Recipe that flagged this step." })
32
+ ], ManualMigrationStep.prototype, "recipe", void 0);
33
+ __decorate([
34
+ (0, rewrite_1.Column)({ displayName: "Subject", description: "Identifier or selector that needs migration (e.g. `ChipsModule`, `<p-chips>`)." })
35
+ ], ManualMigrationStep.prototype, "subject", void 0);
36
+ __decorate([
37
+ (0, rewrite_1.Column)({ displayName: "Reason", description: "Why this needs manual migration (component removed, structural change, etc.)." })
38
+ ], ManualMigrationStep.prototype, "reason", void 0);
39
+ __decorate([
40
+ (0, rewrite_1.Column)({ displayName: "Action", description: "Concrete instruction for the agent or developer to follow." })
41
+ ], ManualMigrationStep.prototype, "action", void 0);
42
+ exports.MANUAL_MIGRATION_STEPS_NAME = "org.openrewrite.primeng.ManualMigrationSteps";
43
+ exports.MANUAL_MIGRATION_STEPS_DISPLAY_NAME = "PrimeNG 18 manual migration steps";
44
+ exports.MANUAL_MIGRATION_STEPS_DESCRIPTION = "Migration steps the automated PrimeNG 18 recipes could not complete and that need a human or AI agent to finish.";
45
+ //# sourceMappingURL=manual-migration-steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manual-migration-steps.js","sourceRoot":"","sources":["../../../../src/libraries/primeng/18/manual-migration-steps.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;AAEH,kDAA4C;AAE5C;;;;;;;GAOG;AACH,MAAa,mBAAmB;CAe/B;AAfD,kDAeC;AAbG;IADC,IAAA,gBAAM,EAAC,EAAC,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,iDAAiD,EAAC,CAAC;uDACjF;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAC,CAAC;mDAC/D;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,gFAAgF,EAAC,CAAC;oDAC/G;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,+EAA+E,EAAC,CAAC;mDAC9G;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAC,CAAC;mDAC3F;AAGP,QAAA,2BAA2B,GAAG,8CAA8C,CAAC;AAC7E,QAAA,mCAAmC,GAAG,mCAAmC,CAAC;AAC1E,QAAA,kCAAkC,GAC3C,kHAAkH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
2
+ export declare class MarkDeprecatedPrimengComponents extends Recipe {
3
+ readonly name = "org.openrewrite.primeng.MarkDeprecatedPrimengComponents";
4
+ readonly displayName = "Mark deprecated PrimeNG components with TODO comments";
5
+ readonly description: string;
6
+ private dataTable;
7
+ editor(): Promise<TreeVisitor<any, ExecutionContext>>;
8
+ }
9
+ //# sourceMappingURL=mark-deprecated-components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mark-deprecated-components.d.ts","sourceRoot":"","sources":["../../../../src/libraries/primeng/18/mark-deprecated-components.ts"],"names":[],"mappings":"AAMA,OAAO,EAAY,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AA2CtF,qBAAa,+BAAgC,SAAQ,MAAM;IACvD,QAAQ,CAAC,IAAI,6DAA6D;IAC1E,QAAQ,CAAC,WAAW,2DAA2D;IAC/E,QAAQ,CAAC,WAAW,SAIqC;IAEzD,OAAO,CAAC,SAAS,CAKf;IAEI,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CA8D9D"}