Remove unneeded @angular/animations providers
org.openrewrite.node.migrate.angular-animations.remove-angular-animations-providersArtifact@openrewrite/recipes-nodejsAngular 20.2 deprecated @angular/animations in favor of native CSS animations with animate.enter/animate.leave, which need no provider. Where an application no longer uses the legacy animation engine, this removes provideAnimations(), provideAnimationsAsync() and BrowserAnimationsModule from providers, imports and importProvidersFrom, removes NoopAnimationsModule/provideNoopAnimations() from tests, and drops @angular/animations from package.json. A package is left alone while anything still uses the legacy engine: an import of @angular/animations (a trigger() in animations: metadata, AnimationBuilder), a [@trigger], (@trigger.done) or @HostBinding('@trigger') binding, Angular Material before 19.2, or a library that depends on @angular/animations or is known to ship legacy triggers. Noop providers outside tests are kept, since removing them would enable animations the application turned off. Lock files are not regenerated; run the package manager's install afterwards.
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.node.migrate.angular-animations.remove-angular-animations-providersIf the recipe isn’t available locally, install it with:
mod config recipes npm install @openrewrite/recipes-nodejs