@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.
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -1
- package/dist/index.js.map +1 -1
- package/dist/libraries/primeng/18/add-primeng-provider.d.ts +45 -0
- package/dist/libraries/primeng/18/add-primeng-provider.d.ts.map +1 -0
- package/dist/libraries/primeng/18/add-primeng-provider.js +354 -0
- package/dist/libraries/primeng/18/add-primeng-provider.js.map +1 -0
- package/dist/libraries/primeng/18/index.d.ts +19 -0
- package/dist/libraries/primeng/18/index.d.ts.map +1 -0
- package/dist/libraries/primeng/18/index.js +45 -0
- package/dist/libraries/primeng/18/index.js.map +1 -0
- package/dist/libraries/primeng/18/manual-migration-steps.d.ts +19 -0
- package/dist/libraries/primeng/18/manual-migration-steps.d.ts.map +1 -0
- package/dist/libraries/primeng/18/manual-migration-steps.js +45 -0
- package/dist/libraries/primeng/18/manual-migration-steps.js.map +1 -0
- package/dist/libraries/primeng/18/mark-deprecated-components.d.ts +9 -0
- package/dist/libraries/primeng/18/mark-deprecated-components.d.ts.map +1 -0
- package/dist/libraries/primeng/18/mark-deprecated-components.js +125 -0
- package/dist/libraries/primeng/18/mark-deprecated-components.js.map +1 -0
- package/dist/libraries/primeng/18/mark-deprecated-css-classes.d.ts +15 -0
- package/dist/libraries/primeng/18/mark-deprecated-css-classes.d.ts.map +1 -0
- package/dist/libraries/primeng/18/mark-deprecated-css-classes.js +108 -0
- package/dist/libraries/primeng/18/mark-deprecated-css-classes.js.map +1 -0
- package/dist/libraries/primeng/18/mark-drawer-size.d.ts +16 -0
- package/dist/libraries/primeng/18/mark-drawer-size.d.ts.map +1 -0
- package/dist/libraries/primeng/18/mark-drawer-size.js +90 -0
- package/dist/libraries/primeng/18/mark-drawer-size.js.map +1 -0
- package/dist/libraries/primeng/18/mark-removed-primeng-modules.d.ts +9 -0
- package/dist/libraries/primeng/18/mark-removed-primeng-modules.d.ts.map +1 -0
- package/dist/libraries/primeng/18/mark-removed-primeng-modules.js +186 -0
- package/dist/libraries/primeng/18/mark-removed-primeng-modules.js.map +1 -0
- package/dist/libraries/primeng/18/migrate-messages-to-message-loop.d.ts +15 -0
- package/dist/libraries/primeng/18/migrate-messages-to-message-loop.d.ts.map +1 -0
- package/dist/libraries/primeng/18/migrate-messages-to-message-loop.js +78 -0
- package/dist/libraries/primeng/18/migrate-messages-to-message-loop.js.map +1 -0
- package/dist/libraries/primeng/18/migrate-p-fluid-to-wrapper.d.ts +27 -0
- package/dist/libraries/primeng/18/migrate-p-fluid-to-wrapper.d.ts.map +1 -0
- package/dist/libraries/primeng/18/migrate-p-fluid-to-wrapper.js +495 -0
- package/dist/libraries/primeng/18/migrate-p-fluid-to-wrapper.js.map +1 -0
- package/dist/libraries/primeng/18/migrate-primeng-config.d.ts +8 -0
- package/dist/libraries/primeng/18/migrate-primeng-config.d.ts.map +1 -0
- package/dist/libraries/primeng/18/migrate-primeng-config.js +154 -0
- package/dist/libraries/primeng/18/migrate-primeng-config.js.map +1 -0
- package/dist/libraries/primeng/18/migrate-primeng-signal-assignments.d.ts +12 -0
- package/dist/libraries/primeng/18/migrate-primeng-signal-assignments.d.ts.map +1 -0
- package/dist/libraries/primeng/18/migrate-primeng-signal-assignments.js +112 -0
- package/dist/libraries/primeng/18/migrate-primeng-signal-assignments.js.map +1 -0
- package/dist/libraries/primeng/18/rename-calendar-to-datepicker.d.ts +8 -0
- package/dist/libraries/primeng/18/rename-calendar-to-datepicker.d.ts.map +1 -0
- package/dist/libraries/primeng/18/rename-calendar-to-datepicker.js +114 -0
- package/dist/libraries/primeng/18/rename-calendar-to-datepicker.js.map +1 -0
- package/dist/libraries/primeng/18/rename-dropdown-to-select.d.ts +8 -0
- package/dist/libraries/primeng/18/rename-dropdown-to-select.d.ts.map +1 -0
- package/dist/libraries/primeng/18/rename-dropdown-to-select.js +114 -0
- package/dist/libraries/primeng/18/rename-dropdown-to-select.js.map +1 -0
- package/dist/libraries/primeng/18/rename-inputswitch-to-toggleswitch.d.ts +8 -0
- package/dist/libraries/primeng/18/rename-inputswitch-to-toggleswitch.d.ts.map +1 -0
- package/dist/libraries/primeng/18/rename-inputswitch-to-toggleswitch.js +114 -0
- package/dist/libraries/primeng/18/rename-inputswitch-to-toggleswitch.js.map +1 -0
- package/dist/libraries/primeng/18/rename-message-interface.d.ts +8 -0
- package/dist/libraries/primeng/18/rename-message-interface.d.ts.map +1 -0
- package/dist/libraries/primeng/18/rename-message-interface.js +107 -0
- package/dist/libraries/primeng/18/rename-message-interface.js.map +1 -0
- package/dist/libraries/primeng/18/rename-overlaypanel-to-popover.d.ts +8 -0
- package/dist/libraries/primeng/18/rename-overlaypanel-to-popover.d.ts.map +1 -0
- package/dist/libraries/primeng/18/rename-overlaypanel-to-popover.js +114 -0
- package/dist/libraries/primeng/18/rename-overlaypanel-to-popover.js.map +1 -0
- package/dist/libraries/primeng/18/rename-sidebar-to-drawer.d.ts +8 -0
- package/dist/libraries/primeng/18/rename-sidebar-to-drawer.d.ts.map +1 -0
- package/dist/libraries/primeng/18/rename-sidebar-to-drawer.js +114 -0
- package/dist/libraries/primeng/18/rename-sidebar-to-drawer.js.map +1 -0
- package/dist/libraries/primeng/18/rename-template-selectors.d.ts +12 -0
- package/dist/libraries/primeng/18/rename-template-selectors.d.ts.map +1 -0
- package/dist/libraries/primeng/18/rename-template-selectors.js +79 -0
- package/dist/libraries/primeng/18/rename-template-selectors.js.map +1 -0
- package/dist/libraries/primeng/18/upgrade-components-to-18.d.ts +8 -0
- package/dist/libraries/primeng/18/upgrade-components-to-18.d.ts.map +1 -0
- package/dist/libraries/primeng/18/upgrade-components-to-18.js +73 -0
- package/dist/libraries/primeng/18/upgrade-components-to-18.js.map +1 -0
- package/dist/libraries/primeng/18/upgrade-to-primeng-18.d.ts +8 -0
- package/dist/libraries/primeng/18/upgrade-to-primeng-18.d.ts.map +1 -0
- package/dist/libraries/primeng/18/upgrade-to-primeng-18.js +68 -0
- package/dist/libraries/primeng/18/upgrade-to-primeng-18.js.map +1 -0
- package/dist/migration/explicit-standalone-flag.d.ts.map +1 -1
- package/dist/migration/explicit-standalone-flag.js +12 -5
- package/dist/migration/explicit-standalone-flag.js.map +1 -1
- package/dist/migration/replace-untyped-forms.d.ts +14 -2
- package/dist/migration/replace-untyped-forms.d.ts.map +1 -1
- package/dist/migration/replace-untyped-forms.js +108 -36
- package/dist/migration/replace-untyped-forms.js.map +1 -1
- package/dist/migration/upgrade-angular-peer-libs-to-18.d.ts +17 -0
- package/dist/migration/upgrade-angular-peer-libs-to-18.d.ts.map +1 -0
- package/dist/migration/upgrade-angular-peer-libs-to-18.js +49 -0
- package/dist/migration/upgrade-angular-peer-libs-to-18.js.map +1 -0
- package/dist/migration/upgrade-to-angular-18.d.ts.map +1 -1
- package/dist/migration/upgrade-to-angular-18.js +16 -7
- package/dist/migration/upgrade-to-angular-18.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +57 -0
- package/src/libraries/primeng/18/add-primeng-provider.ts +359 -0
- package/src/libraries/primeng/18/index.ts +24 -0
- package/src/libraries/primeng/18/manual-migration-steps.ts +37 -0
- package/src/libraries/primeng/18/mark-deprecated-components.ts +128 -0
- package/src/libraries/primeng/18/mark-deprecated-css-classes.ts +109 -0
- package/src/libraries/primeng/18/mark-drawer-size.ts +85 -0
- package/src/libraries/primeng/18/mark-removed-primeng-modules.ts +198 -0
- package/src/libraries/primeng/18/migrate-messages-to-message-loop.ts +72 -0
- package/src/libraries/primeng/18/migrate-p-fluid-to-wrapper.ts +439 -0
- package/src/libraries/primeng/18/migrate-primeng-config.ts +112 -0
- package/src/libraries/primeng/18/migrate-primeng-signal-assignments.ts +83 -0
- package/src/libraries/primeng/18/rename-calendar-to-datepicker.ts +81 -0
- package/src/libraries/primeng/18/rename-dropdown-to-select.ts +81 -0
- package/src/libraries/primeng/18/rename-inputswitch-to-toggleswitch.ts +81 -0
- package/src/libraries/primeng/18/rename-message-interface.ts +78 -0
- package/src/libraries/primeng/18/rename-overlaypanel-to-popover.ts +81 -0
- package/src/libraries/primeng/18/rename-sidebar-to-drawer.ts +81 -0
- package/src/libraries/primeng/18/rename-template-selectors.ts +63 -0
- package/src/libraries/primeng/18/upgrade-components-to-18.ts +57 -0
- package/src/libraries/primeng/18/upgrade-to-primeng-18.ts +52 -0
- package/src/migration/explicit-standalone-flag.ts +11 -5
- package/src/migration/replace-untyped-forms.ts +111 -39
- package/src/migration/upgrade-angular-peer-libs-to-18.ts +33 -0
- package/src/migration/upgrade-to-angular-18.ts +16 -7
|
@@ -0,0 +1,73 @@
|
|
|
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.UpgradeComponentsTo18 = void 0;
|
|
18
|
+
const rewrite_1 = require("@openrewrite/rewrite");
|
|
19
|
+
const rename_calendar_to_datepicker_1 = require("./rename-calendar-to-datepicker");
|
|
20
|
+
const rename_dropdown_to_select_1 = require("./rename-dropdown-to-select");
|
|
21
|
+
const rename_inputswitch_to_toggleswitch_1 = require("./rename-inputswitch-to-toggleswitch");
|
|
22
|
+
const rename_overlaypanel_to_popover_1 = require("./rename-overlaypanel-to-popover");
|
|
23
|
+
const rename_sidebar_to_drawer_1 = require("./rename-sidebar-to-drawer");
|
|
24
|
+
const rename_message_interface_1 = require("./rename-message-interface");
|
|
25
|
+
const rename_template_selectors_1 = require("./rename-template-selectors");
|
|
26
|
+
const migrate_messages_to_message_loop_1 = require("./migrate-messages-to-message-loop");
|
|
27
|
+
const migrate_p_fluid_to_wrapper_1 = require("./migrate-p-fluid-to-wrapper");
|
|
28
|
+
const mark_removed_primeng_modules_1 = require("./mark-removed-primeng-modules");
|
|
29
|
+
const mark_deprecated_components_1 = require("./mark-deprecated-components");
|
|
30
|
+
const mark_deprecated_css_classes_1 = require("./mark-deprecated-css-classes");
|
|
31
|
+
const mark_drawer_size_1 = require("./mark-drawer-size");
|
|
32
|
+
class UpgradeComponentsTo18 extends rewrite_1.Recipe {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
this.name = "org.openrewrite.primeng.UpgradeComponentsTo18";
|
|
36
|
+
this.displayName = "Upgrade PrimeNG components to 18";
|
|
37
|
+
this.description = "Handles component renames, deprecations, and removals for PrimeNG 18. " +
|
|
38
|
+
"Renames Calendar to DatePicker, Dropdown to Select, InputSwitch to ToggleSwitch, " +
|
|
39
|
+
"OverlayPanel to Popover, and Sidebar to Drawer (TS imports + identifier usages + HTML selectors). " +
|
|
40
|
+
"Migrates the `Messages` template usage to the `<p-message>` + `@for` loop. " +
|
|
41
|
+
"Marks removed modules (Chips, TriStateCheckbox, Messages, DataViewLayoutOptions, pAnimate) with " +
|
|
42
|
+
"TODO stubs, marks deprecated components (TabMenu, Steps, InlineMessage, TabView, pDefer) with " +
|
|
43
|
+
"TODO comments on their imports, and marks deprecated CSS classes (`.p-link`, `.p-highlight`, " +
|
|
44
|
+
"`.p-fluid`) and `<p-drawer>`/`<p-sidebar>` `size` usages with HTML TODO comments. All marked " +
|
|
45
|
+
"sites are written to the `ManualMigrationSteps` data table.";
|
|
46
|
+
}
|
|
47
|
+
recipeList() {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
return [
|
|
50
|
+
// 1. TS-side renames (imports + identifier usages)
|
|
51
|
+
new rename_calendar_to_datepicker_1.RenameCalendarToDatePicker(),
|
|
52
|
+
new rename_dropdown_to_select_1.RenameDropdownToSelect(),
|
|
53
|
+
new rename_inputswitch_to_toggleswitch_1.RenameInputSwitchToToggleSwitch(),
|
|
54
|
+
new rename_overlaypanel_to_popover_1.RenameOverlayPanelToPopover(),
|
|
55
|
+
new rename_sidebar_to_drawer_1.RenameSidebarToDrawer(),
|
|
56
|
+
new rename_message_interface_1.RenameMessageInterface(),
|
|
57
|
+
// 2. HTML-side selector renames
|
|
58
|
+
new rename_template_selectors_1.RenameTemplateSelectors(),
|
|
59
|
+
// 3. Structural template migration
|
|
60
|
+
new migrate_messages_to_message_loop_1.MigrateMessagesToMessageLoop(),
|
|
61
|
+
// `<div class="…p-fluid…">` → `<p-fluid class="…">` (+ FluidModule import)
|
|
62
|
+
new migrate_p_fluid_to_wrapper_1.MigratePFluidToWrapper(),
|
|
63
|
+
// 4. Marks (TODO comments + ManualMigrationSteps rows)
|
|
64
|
+
new mark_removed_primeng_modules_1.MarkRemovedPrimengModules(),
|
|
65
|
+
new mark_deprecated_components_1.MarkDeprecatedPrimengComponents(),
|
|
66
|
+
new mark_deprecated_css_classes_1.MarkDeprecatedPrimengCssClasses(),
|
|
67
|
+
new mark_drawer_size_1.MarkDrawerSize(),
|
|
68
|
+
];
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.UpgradeComponentsTo18 = UpgradeComponentsTo18;
|
|
73
|
+
//# sourceMappingURL=upgrade-components-to-18.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-components-to-18.js","sourceRoot":"","sources":["../../../../src/libraries/primeng/18/upgrade-components-to-18.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,mFAA2E;AAC3E,2EAAmE;AACnE,6FAAqF;AACrF,qFAA6E;AAC7E,yEAAiE;AACjE,yEAAkE;AAClE,2EAAoE;AACpE,yFAAgF;AAChF,6EAAoE;AACpE,iFAAyE;AACzE,6EAA6E;AAC7E,+EAA8E;AAC9E,yDAAkD;AAElD,MAAa,qBAAsB,SAAQ,gBAAM;IAAjD;;QACa,SAAI,GAAG,+CAA+C,CAAC;QACvD,gBAAW,GAAG,kCAAkC,CAAC;QACjD,gBAAW,GAAG,wEAAwE;YAC3F,mFAAmF;YACnF,oGAAoG;YACpG,6EAA6E;YAC7E,kGAAkG;YAClG,gGAAgG;YAChG,+FAA+F;YAC/F,+FAA+F;YAC/F,6DAA6D,CAAC;IAwBtE,CAAC;IAtBS,UAAU;;YACZ,OAAO;gBACH,mDAAmD;gBACnD,IAAI,0DAA0B,EAAE;gBAChC,IAAI,kDAAsB,EAAE;gBAC5B,IAAI,oEAA+B,EAAE;gBACrC,IAAI,4DAA2B,EAAE;gBACjC,IAAI,gDAAqB,EAAE;gBAC3B,IAAI,iDAAsB,EAAE;gBAC5B,gCAAgC;gBAChC,IAAI,mDAAuB,EAAE;gBAC7B,mCAAmC;gBACnC,IAAI,+DAA4B,EAAE;gBAClC,2EAA2E;gBAC3E,IAAI,mDAAsB,EAAE;gBAC5B,uDAAuD;gBACvD,IAAI,wDAAyB,EAAE;gBAC/B,IAAI,4DAA+B,EAAE;gBACrC,IAAI,6DAA+B,EAAE;gBACrC,IAAI,iCAAc,EAAE;aACvB,CAAC;QACN,CAAC;KAAA;CACJ;AAnCD,sDAmCC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Recipe } from "@openrewrite/rewrite";
|
|
2
|
+
export declare class UpgradeToPrimeNG18 extends Recipe {
|
|
3
|
+
readonly name = "org.openrewrite.primeng.UpgradeTo18";
|
|
4
|
+
readonly displayName = "Upgrade to PrimeNG 18";
|
|
5
|
+
readonly description: string;
|
|
6
|
+
recipeList(): Promise<Recipe[]>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=upgrade-to-primeng-18.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-to-primeng-18.d.ts","sourceRoot":"","sources":["../../../../src/libraries/primeng/18/upgrade-to-primeng-18.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAQ5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,yCAAyC;IACtD,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAO8B;IAE5C,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAyBxC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
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.UpgradeToPrimeNG18 = void 0;
|
|
18
|
+
const rewrite_1 = require("@openrewrite/rewrite");
|
|
19
|
+
const javascript_1 = require("@openrewrite/rewrite/javascript");
|
|
20
|
+
const upgrade_to_angular_18_1 = require("../../../migration/upgrade-to-angular-18");
|
|
21
|
+
const upgrade_components_to_18_1 = require("./upgrade-components-to-18");
|
|
22
|
+
const migrate_primeng_config_1 = require("./migrate-primeng-config");
|
|
23
|
+
const migrate_primeng_signal_assignments_1 = require("./migrate-primeng-signal-assignments");
|
|
24
|
+
const add_primeng_provider_1 = require("./add-primeng-provider");
|
|
25
|
+
class UpgradeToPrimeNG18 extends rewrite_1.Recipe {
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
28
|
+
this.name = "org.openrewrite.primeng.UpgradeTo18";
|
|
29
|
+
this.displayName = "Upgrade to PrimeNG 18";
|
|
30
|
+
this.description = "Migrates PrimeNG 17.x applications to PrimeNG 18. " +
|
|
31
|
+
"Renames components, migrates `PrimeNGConfig` to `PrimeNG` (with signal-backed setters), " +
|
|
32
|
+
"comments out the obsolete `primeng/resources` style entries in `angular.json`, wires " +
|
|
33
|
+
"`providePrimeNG({ theme: { preset: Aura } })` into the root NgModule and adds " +
|
|
34
|
+
"`@primeng/themes` to `package.json`. Anything that can't be deterministically migrated " +
|
|
35
|
+
"(removed-and-no-direct-replacement components, deprecated CSS classes, structural " +
|
|
36
|
+
"template changes) gets a TODO comment in source plus a row in the `ManualMigrationSteps` " +
|
|
37
|
+
"data table for an agent or human to finish.";
|
|
38
|
+
}
|
|
39
|
+
recipeList() {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
return [
|
|
42
|
+
// First, upgrade Angular framework to 18 (chains all prior Angular majors).
|
|
43
|
+
// PrimeNG 18 requires Angular 18, so this must run before any PrimeNG-specific
|
|
44
|
+
// bumps: the @primeng/themes addition and the primeng@18 bump need an Angular-18
|
|
45
|
+
// peer environment to install cleanly.
|
|
46
|
+
new upgrade_to_angular_18_1.UpgradeToAngular18(),
|
|
47
|
+
// Component changes (TS imports, HTML selectors, marks)
|
|
48
|
+
new upgrade_components_to_18_1.UpgradeComponentsTo18(),
|
|
49
|
+
// Configuration migration
|
|
50
|
+
new migrate_primeng_config_1.MigratePrimeNgConfigToPrimeNG(),
|
|
51
|
+
// Convert direct field assignments on PrimeNG to .set() (signal-backed in v18)
|
|
52
|
+
new migrate_primeng_signal_assignments_1.MigratePrimeNGSignalAssignments(),
|
|
53
|
+
// Wire in the new styled-mode provider, choosing the v18 preset based on the v17
|
|
54
|
+
// theme path it scans out of angular.json (Aura/Lara/Nora/Material). This recipe
|
|
55
|
+
// also folds in a sub-recipe that comments out the now-defunct `primeng/resources`
|
|
56
|
+
// entries from angular.json — provider addition + style-cleanup go together.
|
|
57
|
+
new add_primeng_provider_1.AddPrimengProvider(),
|
|
58
|
+
// Add @primeng/themes (provides Aura/Lara/Nora/Material presets) — uses the framework
|
|
59
|
+
// recipe so it also updates package-lock / yarn.lock via the package manager.
|
|
60
|
+
new javascript_1.AddDependency({ packageName: "@primeng/themes", version: "^18.0.0", scope: "dependencies" }),
|
|
61
|
+
// Dependency version upgrade
|
|
62
|
+
new javascript_1.UpgradeDependencyVersion({ packageName: "primeng", newVersion: "18.x" }),
|
|
63
|
+
];
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.UpgradeToPrimeNG18 = UpgradeToPrimeNG18;
|
|
68
|
+
//# sourceMappingURL=upgrade-to-primeng-18.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-to-primeng-18.js","sourceRoot":"","sources":["../../../../src/libraries/primeng/18/upgrade-to-primeng-18.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAwF;AACxF,oFAA4E;AAC5E,yEAAiE;AACjE,qEAAuE;AACvE,6FAAqF;AACrF,iEAA0D;AAE1D,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,qCAAqC,CAAC;QAC7C,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,0FAA0F;YAC1F,uFAAuF;YACvF,gFAAgF;YAChF,yFAAyF;YACzF,oFAAoF;YACpF,2FAA2F;YAC3F,6CAA6C,CAAC;IA2BtD,CAAC;IAzBS,UAAU;;YACZ,OAAO;gBACH,4EAA4E;gBAC5E,+EAA+E;gBAC/E,iFAAiF;gBACjF,uCAAuC;gBACvC,IAAI,0CAAkB,EAAE;gBACxB,wDAAwD;gBACxD,IAAI,gDAAqB,EAAE;gBAC3B,0BAA0B;gBAC1B,IAAI,sDAA6B,EAAE;gBACnC,+EAA+E;gBAC/E,IAAI,oEAA+B,EAAE;gBACrC,iFAAiF;gBACjF,iFAAiF;gBACjF,mFAAmF;gBACnF,6EAA6E;gBAC7E,IAAI,yCAAkB,EAAE;gBACxB,sFAAsF;gBACtF,8EAA8E;gBAC9E,IAAI,0BAAa,CAAC,EAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAC,CAAC;gBAC9F,6BAA6B;gBAC7B,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;aAC7E,CAAC;QACN,CAAC;KAAA;CACJ;AArCD,gDAqCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explicit-standalone-flag.d.ts","sourceRoot":"","sources":["../../src/migration/explicit-standalone-flag.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAQ3E,qBAAa,sBAAuB,SAAQ,MAAM;IAC9C,QAAQ,CAAC,IAAI,gEAAgE;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAmC;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAA+K;IAErM,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"explicit-standalone-flag.d.ts","sourceRoot":"","sources":["../../src/migration/explicit-standalone-flag.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAQ3E,qBAAa,sBAAuB,SAAQ,MAAM;IAC9C,QAAQ,CAAC,IAAI,gEAAgE;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAmC;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAA+K;IAErM,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CA0E9D"}
|
|
@@ -55,17 +55,22 @@ class ExplicitStandaloneFlag extends rewrite_1.Recipe {
|
|
|
55
55
|
return a;
|
|
56
56
|
let standaloneIndex = -1;
|
|
57
57
|
let standaloneValue = null;
|
|
58
|
+
let hasImplicitStandaloneProp = false;
|
|
58
59
|
for (let i = 0; i < newClass.body.statements.length; i++) {
|
|
59
60
|
const stmt = newClass.body.statements[i].element;
|
|
60
61
|
if (stmt.kind === javascript_1.JS.Kind.PropertyAssignment) {
|
|
61
62
|
const prop = stmt;
|
|
62
63
|
const nameExpr = prop.name.element;
|
|
63
|
-
if ((0, java_1.isIdentifier)(nameExpr)
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
if ((0, java_1.isIdentifier)(nameExpr)) {
|
|
65
|
+
if (nameExpr.simpleName === 'standalone') {
|
|
66
|
+
standaloneIndex = i;
|
|
67
|
+
if (prop.initializer && (0, java_1.isLiteral)(prop.initializer)) {
|
|
68
|
+
standaloneValue = prop.initializer.value;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else if (annotType.simpleName === 'Component' && nameExpr.simpleName === 'imports') {
|
|
72
|
+
hasImplicitStandaloneProp = true;
|
|
67
73
|
}
|
|
68
|
-
break;
|
|
69
74
|
}
|
|
70
75
|
}
|
|
71
76
|
}
|
|
@@ -76,6 +81,8 @@ class ExplicitStandaloneFlag extends rewrite_1.Recipe {
|
|
|
76
81
|
});
|
|
77
82
|
}
|
|
78
83
|
if (standaloneIndex === -1) {
|
|
84
|
+
if (hasImplicitStandaloneProp)
|
|
85
|
+
return a;
|
|
79
86
|
const existingStmts = newClass.body.statements;
|
|
80
87
|
if (existingStmts.length === 0)
|
|
81
88
|
return a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explicit-standalone-flag.js","sourceRoot":"","sources":["../../src/migration/explicit-standalone-flag.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;GAIG;AACH,kDAA2E;AAC3E,kDAAkD;AAClD,gEAAgF;AAChF,oDAAiF;AACjF,uCAAgC;AAEhC,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAa,sBAAuB,SAAQ,gBAAM;IAAlD;;QACa,SAAI,GAAG,4DAA4D,CAAC;QACpE,gBAAW,GAAW,+BAA+B,CAAC;QACtD,gBAAW,GAAW,2KAA2K,CAAC;
|
|
1
|
+
{"version":3,"file":"explicit-standalone-flag.js","sourceRoot":"","sources":["../../src/migration/explicit-standalone-flag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
import { Recipe } from "@openrewrite/rewrite";
|
|
1
|
+
import { ExecutionContext, Recipe, TreeVisitor } from "@openrewrite/rewrite";
|
|
2
|
+
/**
|
|
3
|
+
* Renames `FormControl`, `FormGroup`, `FormArray`, and `FormBuilder` (from `@angular/forms`)
|
|
4
|
+
* to their `Untyped*` equivalents — both the named-import specifiers and every identifier
|
|
5
|
+
* usage in the file body.
|
|
6
|
+
*
|
|
7
|
+
* Skips any class used in a parameterized type position (`FormGroup<T>`): the typed form is
|
|
8
|
+
* intentional and `UntypedFormGroup<T>` is invalid (`UntypedFormGroup` is `FormGroup<any>`).
|
|
9
|
+
*
|
|
10
|
+
* Done in a single visitor (rather than four sequential `ChangeImport` calls) because chaining
|
|
11
|
+
* `ChangeImport` on the same import block can produce malformed output — stray commas, missing
|
|
12
|
+
* newlines — when each step rewrites the partially-modified previous output.
|
|
13
|
+
*/
|
|
2
14
|
export declare class ReplaceUntypedForms extends Recipe {
|
|
3
15
|
readonly name = "org.openrewrite.angular.migration.replace-untyped-forms";
|
|
4
16
|
readonly displayName: string;
|
|
5
17
|
readonly description: string;
|
|
6
|
-
|
|
18
|
+
editor(): Promise<TreeVisitor<any, ExecutionContext>>;
|
|
7
19
|
}
|
|
8
20
|
//# sourceMappingURL=replace-untyped-forms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-untyped-forms.d.ts","sourceRoot":"","sources":["../../src/migration/replace-untyped-forms.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"replace-untyped-forms.d.ts","sourceRoot":"","sources":["../../src/migration/replace-untyped-forms.ts"],"names":[],"mappings":"AAMA,OAAO,EAAS,gBAAgB,EAAgB,MAAM,EAAQ,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAavG;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,SAAQ,MAAM;IAC3C,QAAQ,CAAC,IAAI,6DAA6D;IAC1E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAgD;IAC5E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAIU;IAEhC,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;CA0F9D"}
|
|
@@ -17,60 +17,132 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.ReplaceUntypedForms = void 0;
|
|
18
18
|
const rewrite_1 = require("@openrewrite/rewrite");
|
|
19
19
|
const javascript_1 = require("@openrewrite/rewrite/javascript");
|
|
20
|
-
const
|
|
20
|
+
const java_1 = require("@openrewrite/rewrite/java");
|
|
21
21
|
const MODULE = '@angular/forms';
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
const RENAMES = {
|
|
23
|
+
FormControl: 'UntypedFormControl',
|
|
24
|
+
FormGroup: 'UntypedFormGroup',
|
|
25
|
+
FormArray: 'UntypedFormArray',
|
|
26
|
+
FormBuilder: 'UntypedFormBuilder',
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Renames `FormControl`, `FormGroup`, `FormArray`, and `FormBuilder` (from `@angular/forms`)
|
|
30
|
+
* to their `Untyped*` equivalents — both the named-import specifiers and every identifier
|
|
31
|
+
* usage in the file body.
|
|
32
|
+
*
|
|
33
|
+
* Skips any class used in a parameterized type position (`FormGroup<T>`): the typed form is
|
|
34
|
+
* intentional and `UntypedFormGroup<T>` is invalid (`UntypedFormGroup` is `FormGroup<any>`).
|
|
35
|
+
*
|
|
36
|
+
* Done in a single visitor (rather than four sequential `ChangeImport` calls) because chaining
|
|
37
|
+
* `ChangeImport` on the same import block can produce malformed output — stray commas, missing
|
|
38
|
+
* newlines — when each step rewrites the partially-modified previous output.
|
|
39
|
+
*/
|
|
40
|
+
class ReplaceUntypedForms extends rewrite_1.Recipe {
|
|
29
41
|
constructor() {
|
|
30
42
|
super(...arguments);
|
|
31
|
-
this.name = "org.openrewrite.angular.migration.replace-untyped-forms
|
|
32
|
-
this.displayName = "
|
|
33
|
-
this.description = "Renames
|
|
43
|
+
this.name = "org.openrewrite.angular.migration.replace-untyped-forms";
|
|
44
|
+
this.displayName = "Replace form classes with untyped variants";
|
|
45
|
+
this.description = "Renames `FormControl`, `FormGroup`, `FormArray`, and `FormBuilder` to their " +
|
|
46
|
+
"`Untyped*` equivalents in imports and usages. Angular 14 introduced strictly typed forms, " +
|
|
47
|
+
"requiring existing untyped usages to migrate to the `Untyped*` aliases. Classes used in " +
|
|
48
|
+
"parameterized type positions (e.g. `FormGroup<T>`) are left unchanged because the user " +
|
|
49
|
+
"already opted into typed forms.";
|
|
34
50
|
}
|
|
35
51
|
editor() {
|
|
36
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
const renameMap = new Map(FORM_RENAMES);
|
|
38
53
|
return new class extends javascript_1.JavaScriptVisitor {
|
|
54
|
+
constructor() {
|
|
55
|
+
super(...arguments);
|
|
56
|
+
this.parameterized = new Set();
|
|
57
|
+
this.hasFormsImport = false;
|
|
58
|
+
this.importedRenames = new Set();
|
|
59
|
+
}
|
|
60
|
+
visit(tree, p, parent) {
|
|
61
|
+
const _super = Object.create(null, {
|
|
62
|
+
visit: { get: () => super.visit }
|
|
63
|
+
});
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
// Pass 1: collect classes used in parameterized type positions.
|
|
66
|
+
// visitIdentifier doesn't fire for type names (they go through visitTypeName,
|
|
67
|
+
// which is a no-op), so we walk explicitly via visitParameterizedType.
|
|
68
|
+
const parameterized = this.parameterized;
|
|
69
|
+
yield new (class extends javascript_1.JavaScriptVisitor {
|
|
70
|
+
visitParameterizedType(pt, ctx) {
|
|
71
|
+
const _super = Object.create(null, {
|
|
72
|
+
visitParameterizedType: { get: () => super.visitParameterizedType }
|
|
73
|
+
});
|
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
if ((0, java_1.isIdentifier)(pt.class)) {
|
|
76
|
+
const name = pt.class.simpleName;
|
|
77
|
+
if (RENAMES[name])
|
|
78
|
+
parameterized.add(name);
|
|
79
|
+
}
|
|
80
|
+
return _super.visitParameterizedType.call(this, pt, ctx);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
})().visit(tree, p, parent);
|
|
84
|
+
return _super.visit.call(this, tree, p, parent);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
visitImportDeclaration(jsImport, p) {
|
|
88
|
+
const _super = Object.create(null, {
|
|
89
|
+
visitImportDeclaration: { get: () => super.visitImportDeclaration }
|
|
90
|
+
});
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
var _a;
|
|
93
|
+
const imp = yield _super.visitImportDeclaration.call(this, jsImport, p);
|
|
94
|
+
if (!(imp === null || imp === void 0 ? void 0 : imp.moduleSpecifier))
|
|
95
|
+
return imp;
|
|
96
|
+
const moduleSpec = imp.moduleSpecifier.element;
|
|
97
|
+
if (moduleSpec.kind !== java_1.J.Kind.Literal)
|
|
98
|
+
return imp;
|
|
99
|
+
if (moduleSpec.value !== MODULE)
|
|
100
|
+
return imp;
|
|
101
|
+
const namedBindings = (_a = imp.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings;
|
|
102
|
+
if ((namedBindings === null || namedBindings === void 0 ? void 0 : namedBindings.kind) !== javascript_1.JS.Kind.NamedImports)
|
|
103
|
+
return imp;
|
|
104
|
+
const named = namedBindings;
|
|
105
|
+
let modified = false;
|
|
106
|
+
const newSpecifiers = named.elements.elements.map(specRP => {
|
|
107
|
+
const spec = specRP.element;
|
|
108
|
+
if (!(0, java_1.isIdentifier)(spec.specifier))
|
|
109
|
+
return specRP;
|
|
110
|
+
const oldName = spec.specifier.simpleName;
|
|
111
|
+
const newName = RENAMES[oldName];
|
|
112
|
+
if (!newName)
|
|
113
|
+
return specRP;
|
|
114
|
+
// Skip rename when the class is used parameterized in this file.
|
|
115
|
+
if (this.parameterized.has(oldName))
|
|
116
|
+
return specRP;
|
|
117
|
+
this.hasFormsImport = true;
|
|
118
|
+
this.importedRenames.add(oldName);
|
|
119
|
+
modified = true;
|
|
120
|
+
return Object.assign(Object.assign({}, specRP), { element: Object.assign(Object.assign({}, spec), { specifier: Object.assign(Object.assign({}, spec.specifier), { simpleName: newName }) }) });
|
|
121
|
+
});
|
|
122
|
+
if (!modified)
|
|
123
|
+
return imp;
|
|
124
|
+
return Object.assign(Object.assign({}, imp), { importClause: Object.assign(Object.assign({}, imp.importClause), { namedBindings: Object.assign(Object.assign({}, named), { elements: Object.assign(Object.assign({}, named.elements), { elements: newSpecifiers }) }) }) });
|
|
125
|
+
});
|
|
126
|
+
}
|
|
39
127
|
visitIdentifier(identifier, p) {
|
|
40
128
|
const _super = Object.create(null, {
|
|
41
129
|
visitIdentifier: { get: () => super.visitIdentifier }
|
|
42
130
|
});
|
|
43
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
|
|
132
|
+
const id = yield _super.visitIdentifier.call(this, identifier, p);
|
|
45
133
|
if (!id)
|
|
46
134
|
return id;
|
|
47
|
-
|
|
135
|
+
if (!this.hasFormsImport)
|
|
136
|
+
return id;
|
|
137
|
+
if (!this.importedRenames.has(id.simpleName))
|
|
138
|
+
return id;
|
|
139
|
+
const newName = RENAMES[id.simpleName];
|
|
48
140
|
if (!newName)
|
|
49
141
|
return id;
|
|
50
|
-
return (0,
|
|
51
|
-
draft.simpleName = newName;
|
|
52
|
-
});
|
|
142
|
+
return (0, rewrite_1.produceAsync)(id, (draft) => __awaiter(this, void 0, void 0, function* () { draft.simpleName = newName; }));
|
|
53
143
|
});
|
|
54
144
|
}
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
class ReplaceUntypedForms extends rewrite_1.Recipe {
|
|
60
|
-
constructor() {
|
|
61
|
-
super(...arguments);
|
|
62
|
-
this.name = "org.openrewrite.angular.migration.replace-untyped-forms";
|
|
63
|
-
this.displayName = "Replace form classes with untyped variants";
|
|
64
|
-
this.description = "Renames `FormControl`, `FormGroup`, `FormArray`, and `FormBuilder` to their " +
|
|
65
|
-
"`Untyped*` equivalents in imports and usages. Angular 14 introduced strictly typed forms, " +
|
|
66
|
-
"requiring existing untyped usages to migrate to the `Untyped*` aliases.";
|
|
67
|
-
}
|
|
68
|
-
recipeList() {
|
|
69
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
return [
|
|
71
|
-
...FORM_RENAMES.map(([oldMember, newMember]) => new javascript_1.ChangeImport({ oldModule: MODULE, oldMember, newModule: MODULE, newMember })),
|
|
72
|
-
new RenameFormIdentifiers(),
|
|
73
|
-
];
|
|
145
|
+
};
|
|
74
146
|
});
|
|
75
147
|
}
|
|
76
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-untyped-forms.js","sourceRoot":"","sources":["../../src/migration/replace-untyped-forms.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"replace-untyped-forms.js","sourceRoot":"","sources":["../../src/migration/replace-untyped-forms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Recipe } from "@openrewrite/rewrite";
|
|
2
|
+
/**
|
|
3
|
+
* Bumps third-party Angular UI / utility libraries to versions compatible with Angular 18.
|
|
4
|
+
* These libraries follow their own version cadence — they're not in lockstep with Angular's
|
|
5
|
+
* major, so each entry needs its own target. Each `UpgradeDependencyVersion` is a no-op for
|
|
6
|
+
* projects that don't depend on the package, so the recipe is safe to include unconditionally.
|
|
7
|
+
*
|
|
8
|
+
* Add new entries when a customer's project surfaces another Angular-peer-pinned library that
|
|
9
|
+
* needs an explicit version pin for Angular 18 support.
|
|
10
|
+
*/
|
|
11
|
+
export declare class UpgradeAngularPeerLibsTo18 extends Recipe {
|
|
12
|
+
readonly name = "org.openrewrite.angular.UpgradeAngularPeerLibsTo18";
|
|
13
|
+
readonly displayName = "Upgrade known Angular peer libraries to versions compatible with Angular 18";
|
|
14
|
+
readonly description: string;
|
|
15
|
+
recipeList(): Promise<Recipe[]>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=upgrade-angular-peer-libs-to-18.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-angular-peer-libs-to-18.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-angular-peer-libs-to-18.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAG5C;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,SAAQ,MAAM;IAClD,QAAQ,CAAC,IAAI,wDAAwD;IACrE,QAAQ,CAAC,WAAW,iFAAiF;IACrG,QAAQ,CAAC,WAAW,SACkE;IAEhF,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAQxC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
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.UpgradeAngularPeerLibsTo18 = void 0;
|
|
18
|
+
const rewrite_1 = require("@openrewrite/rewrite");
|
|
19
|
+
const javascript_1 = require("@openrewrite/rewrite/javascript");
|
|
20
|
+
/**
|
|
21
|
+
* Bumps third-party Angular UI / utility libraries to versions compatible with Angular 18.
|
|
22
|
+
* These libraries follow their own version cadence — they're not in lockstep with Angular's
|
|
23
|
+
* major, so each entry needs its own target. Each `UpgradeDependencyVersion` is a no-op for
|
|
24
|
+
* projects that don't depend on the package, so the recipe is safe to include unconditionally.
|
|
25
|
+
*
|
|
26
|
+
* Add new entries when a customer's project surfaces another Angular-peer-pinned library that
|
|
27
|
+
* needs an explicit version pin for Angular 18 support.
|
|
28
|
+
*/
|
|
29
|
+
class UpgradeAngularPeerLibsTo18 extends rewrite_1.Recipe {
|
|
30
|
+
constructor() {
|
|
31
|
+
super(...arguments);
|
|
32
|
+
this.name = "org.openrewrite.angular.UpgradeAngularPeerLibsTo18";
|
|
33
|
+
this.displayName = "Upgrade known Angular peer libraries to versions compatible with Angular 18";
|
|
34
|
+
this.description = "Bumps third-party Angular libraries (ng-bootstrap, ngx-bootstrap, …) " +
|
|
35
|
+
"to the version line compatible with Angular 18. Pair with `UpgradeToAngular18`.";
|
|
36
|
+
}
|
|
37
|
+
recipeList() {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
return [
|
|
40
|
+
// ng-bootstrap's major lags Angular's by one — v17.x is the Angular-18 release.
|
|
41
|
+
new javascript_1.UpgradeDependencyVersion({ packageName: "@ng-bootstrap/ng-bootstrap", newVersion: "17.x" }),
|
|
42
|
+
// ngx-bootstrap aligns with Angular's major — v18.x → Angular 18.
|
|
43
|
+
new javascript_1.UpgradeDependencyVersion({ packageName: "ngx-bootstrap", newVersion: "18.x" }),
|
|
44
|
+
];
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.UpgradeAngularPeerLibsTo18 = UpgradeAngularPeerLibsTo18;
|
|
49
|
+
//# sourceMappingURL=upgrade-angular-peer-libs-to-18.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-angular-peer-libs-to-18.js","sourceRoot":"","sources":["../../src/migration/upgrade-angular-peer-libs-to-18.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAyE;AAEzE;;;;;;;;GAQG;AACH,MAAa,0BAA2B,SAAQ,gBAAM;IAAtD;;QACa,SAAI,GAAG,oDAAoD,CAAC;QAC5D,gBAAW,GAAG,6EAA6E,CAAC;QAC5F,gBAAW,GAAG,uEAAuE;YAC1F,iFAAiF,CAAC;IAU1F,CAAC;IARS,UAAU;;YACZ,OAAO;gBACH,gFAAgF;gBAChF,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;gBAC7F,kEAAkE;gBAClE,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC;aACnF,CAAC;QACN,CAAC;KAAA;CACJ;AAdD,gEAcC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-to-angular-18.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade-to-angular-18.d.ts","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAa5C,qBAAa,kBAAmB,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,gDAAgD;IAC7D,QAAQ,CAAC,WAAW,2BAA2B;IAC/C,QAAQ,CAAC,WAAW,SAG0C;IAExD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAiDxC"}
|
|
@@ -18,6 +18,7 @@ exports.UpgradeToAngular18 = void 0;
|
|
|
18
18
|
const rewrite_1 = require("@openrewrite/rewrite");
|
|
19
19
|
const javascript_1 = require("@openrewrite/rewrite/javascript");
|
|
20
20
|
const upgrade_to_angular_17_1 = require("./upgrade-to-angular-17");
|
|
21
|
+
const upgrade_angular_peer_libs_to_18_1 = require("./upgrade-angular-peer-libs-to-18");
|
|
21
22
|
const replace_async_with_wait_for_async_1 = require("./replace-async-with-wait-for-async");
|
|
22
23
|
const replace_http_client_module_1 = require("./replace-http-client-module");
|
|
23
24
|
const find_platform_worker_usage_1 = require("../search/find-platform-worker-usage");
|
|
@@ -67,15 +68,23 @@ class UpgradeToAngular18 extends rewrite_1.Recipe {
|
|
|
67
68
|
new find_resource_cache_provider_usage_1.FindResourceCacheProviderUsage(),
|
|
68
69
|
new find_testability_pending_request_usage_1.FindTestabilityPendingRequestUsage(),
|
|
69
70
|
new find_animation_driver_matches_element_1.FindAnimationDriverMatchesElement(),
|
|
70
|
-
// Angular
|
|
71
|
-
|
|
72
|
-
//
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
// Bump every package whose target follows the Angular major (18.x) in a single
|
|
72
|
+
// atomic npm install. UpgradeDependencyVersion runs npm once per call, so packages
|
|
73
|
+
// that share a peer-dep graph MUST go in one matcher — otherwise a partial bump
|
|
74
|
+
// leaves the install failing with ERESOLVE. picomatch brace expansion lets us glob
|
|
75
|
+
// multiple package patterns in a single call.
|
|
76
|
+
new javascript_1.UpgradeDependencyVersion({
|
|
77
|
+
packagePattern: "{@angular/*,@angular-devkit/*,@schematics/angular}",
|
|
78
|
+
newVersion: "18.x",
|
|
79
|
+
}),
|
|
80
|
+
// Bump well-known third-party Angular libraries (ng-bootstrap, ngx-bootstrap, …) to
|
|
81
|
+
// their Angular-18-compatible versions. Kept as a separate recipe so it can be run
|
|
82
|
+
// independently or extended without touching this file every time.
|
|
83
|
+
new upgrade_angular_peer_libs_to_18_1.UpgradeAngularPeerLibsTo18(),
|
|
75
84
|
// zone.js
|
|
76
85
|
new javascript_1.UpgradeDependencyVersion({ packageName: "zone.js", newVersion: "0.14.x" }),
|
|
77
|
-
// TypeScript
|
|
78
|
-
new javascript_1.UpgradeDependencyVersion({ packageName: "typescript", newVersion: "5.
|
|
86
|
+
// TypeScript: Angular 18 compiler requires >=5.4.0 <5.5.0
|
|
87
|
+
new javascript_1.UpgradeDependencyVersion({ packageName: "typescript", newVersion: "5.4.x" }),
|
|
79
88
|
];
|
|
80
89
|
});
|
|
81
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-to-angular-18.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAA2D;AAC3D,2FAAiF;AACjF,6EAAqE;AACrE,qFAA6E;AAC7E,qGAA4F;AAC5F,+GAAqG;AACrG,qGAA4F;AAC5F,6GAAoG;AACpG,2GAAkG;AAElG,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,kFAAkF;YAClF,oFAAoF;YACpF,yDAAyD,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade-to-angular-18.js","sourceRoot":"","sources":["../../src/migration/upgrade-to-angular-18.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;AAEH,kDAA4C;AAC5C,gEAAuF;AACvF,mEAA2D;AAC3D,uFAA6E;AAC7E,2FAAiF;AACjF,6EAAqE;AACrE,qFAA6E;AAC7E,qGAA4F;AAC5F,+GAAqG;AACrG,qGAA4F;AAC5F,6GAAoG;AACpG,2GAAkG;AAElG,MAAa,kBAAmB,SAAQ,gBAAM;IAA9C;;QACa,SAAI,GAAG,4CAA4C,CAAC;QACpD,gBAAW,GAAG,uBAAuB,CAAC;QACtC,gBAAW,GAAG,oDAAoD;YACvE,kFAAkF;YAClF,oFAAoF;YACpF,yDAAyD,CAAC;IAmDlE,CAAC;IAjDS,UAAU;;YACZ,OAAO;gBACH,kCAAkC;gBAClC,IAAI,0CAAkB,EAAE;gBACxB,uBAAuB;gBACvB,IAAI,gEAA4B,EAAE;gBAClC,IAAI,oDAAuB,EAAE;gBAC7B,qCAAqC;gBACrC,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,UAAU;oBACrB,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,eAAe;oBAC1B,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,IAAI,yBAAY,CAAC;oBACb,SAAS,EAAE,2BAA2B;oBACtC,SAAS,EAAE,cAAc;oBACzB,SAAS,EAAE,eAAe;iBAC7B,CAAC;gBACF,uBAAuB;gBACvB,IAAI,oDAAuB,EAAE;gBAC7B,IAAI,mEAA8B,EAAE;gBACpC,IAAI,4EAAkC,EAAE;gBACxC,IAAI,mEAA8B,EAAE;gBACpC,IAAI,2EAAkC,EAAE;gBACxC,IAAI,yEAAiC,EAAE;gBACvC,+EAA+E;gBAC/E,mFAAmF;gBACnF,gFAAgF;gBAChF,mFAAmF;gBACnF,8CAA8C;gBAC9C,IAAI,qCAAwB,CAAC;oBACzB,cAAc,EAAE,oDAAoD;oBACpE,UAAU,EAAE,MAAM;iBACrB,CAAC;gBACF,oFAAoF;gBACpF,mFAAmF;gBACnF,mEAAmE;gBACnE,IAAI,4DAA0B,EAAE;gBAChC,UAAU;gBACV,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC;gBAC5E,0DAA0D;gBAC1D,IAAI,qCAAwB,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC;aACjF,CAAC;QACN,CAAC;KAAA;CACJ;AAzDD,gDAyDC"}
|