Add providePrimeNG with a detected theme preset to the root NgModule
org.openrewrite.primeng.AddPrimengProviderArtifact@openrewrite/recipes-angularWires the v18 styled mode into an NgModule-based app by adding providePrimeNG({ theme: { preset: <Preset> } }) to the root @NgModule's providers array (detected by the presence of a bootstrap: field). The preset is chosen by scanning angular.json for a primeng/resources/themes/<themeName>/theme.css entry: lara-* maps to Lara, md-*/mdc-* to Material, nora/nano to Nora, and any other v17 theme (mira, nova, saga, vela, soho, fluent, viva, rhea, tailwind, bootstrap4, arya, luna, ...) falls back to Aura. The matching imports for providePrimeNG and the chosen preset are added automatically. Also deletes the now-defunct primeng/resources style entries from angular.json so the build doesn't try to load missing files. Idempotent: skips files that already call providePrimeNG.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.primeng.AddPrimengProviderIf the recipe isn’t available locally, install it with:
mod config recipes npm install @openrewrite/recipes-angularDefinition
This recipe runs the following recipes in order.
- Remove
primeng/resourcesstyle references fromangular.jsonorg.openrewrite.primeng.AddPrimengProvider.remove-primeng-resources