Skip to main content
Moderne OnlyThis recipe is proprietary to Moderne and runs on the Moderne platform or CLI — it isn’t part of the open-source catalog. Available with a Moderne subscription.Contact Sales

Migrate @angular/http to @angular/common/http

Recipe IDorg.openrewrite.angular.MigrateAngularHttpToCommonHttp
Artifact@openrewrite/recipes-angular

Ports the @angular/http API that @angular/common/http replaces: Http, Headers, HttpModule, JsonpModule and QueryEncoder become HttpClient, HttpHeaders, HttpClientModule, HttpClientJsonpModule and HttpUrlEncodingCodec, new RequestOptions({...}) becomes the options object HttpClient takes, ResponseContentType.Blob becomes 'blob', and the map that HttpClient makes redundant is dropped. Http.request takes the method first, and every other request asks for its body as text, which is what Http handed back. URLSearchParams, the backends, the XSRF strategies and @angular/http/testing have no equivalent of the same shape, so they are flagged for a hand migration instead. The dependency is dropped either way, since no release of it resolves against Angular 8 or later: its last release pins @angular/core to an exact 7.x, so keeping it leaves a tree npm refuses to install, while dropping it turns whatever is left to migrate into a compile error on the lines that need the work.

Composite recipeOpenRewriteModerne Proprietary License
Try in PlatformTry this recipe in the Moderne platform. Not a user yet? You’ll get a no-setup demo environment, with nothing to install or configure.

Definition​

Recipes2

Usage​

Run this recipe

In order to run JavaScript recipes, you will need to use the Moderne CLI. For JavaScript specific configuration instructions, please see our configuring JavaScript guide.

This recipe calls into other OpenRewrite packages as it runs. You will need to install all of the following packages before running it:

RELEASE resolves to the newest release and LATEST to the newest build of any kind, including snapshots. Either one lets mod config recipes upgrade pull in later versions without editing this command; a pinned version stays where you put it.

Install the recipe packages
mod config recipes npm install @openrewrite/recipes-angular
mod config recipes jar install org.openrewrite:rewrite-javascript:RELEASE

Then, you can run the recipe via:

Run the recipe
mod run . --recipe org.openrewrite.angular.MigrateAngularHttpToCommonHttp