Hey coders, if you are still working on angular 2, 4 then it is the time to upgrade your application to angular 5. Angular 5 (also called Pentagonal-donut) has a lot of new features better performance, small bundling.

If you want to update your old angular 2 application to angular 5, then this tutorial is for you.

Upgrading from angular 2, 4 to angular 5 is not too hard task because there are very few breaking changes. The Angular team has also put a handy tool to make upgrading from any version to angular 5, as simple as possible.

Here are the few points to keep in mind when upgrading your application:

Rename your project’s all tags to tags as the element has been deprecated since v4.

You will have to upgrade all of your angular packages to version 5.0, run the following command:

$ npm install @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@5.0.0

# or, using Yarn:

$ yarn add @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@5.0.0

Angular 5 now also depends on TypeScript 2.4.2 and RxJS 5.5.2, so you’ll have to upgrade those package as well.

npm install <a href=”mailto:typescript@2.4.2″>typescript@2.4.2</a> –save-exact

If you rely on the date, currency, decimal, or percent pipes, in 5 you will see minor changes to the format. For applications using locales other than en-us you will need to import it and optionally locale_extended_fr from @angular/common/i18n_data/locale_fr and registerLocaleData(local). For more information on pipes breaking changes: stackoverflow.com/a/47263949/2810015

Use of implements instead of extends with any lifecycle events: Ensure you don’t use extends OnInit, or use extends to any lifecycle event. Instead, use implements.

Switch from HttpModule and the Http service to HttpClientModule and the HttpClient service. HttpClient simplifies the default ergonomics (You don’t need to map to json anymore and remove any map(res => res.json()) calls, which are no longer needed.) and now supports typed return values and interceptors.

Here’s a quick example of the old syntax:

import { Component, OnInit } from ‘@angular/core’;

import { Observable } from ‘rxjs/Observable’;

import ‘rxjs/add/observable/of’;

import ‘rxjs/add/operator/map’;

import ‘rxjs/add/operator/filter’;

import ‘rxjs/add/operator/do’;

@Component({… })

export class AppComponent extends OnInit {

myObs = Observable.of(‘Hello’, ‘Alligator’, ‘World!’);

ngOnInit() {


.do(x => console.log(‘The do operator is the do operator!’))

.filter(x => x.length > 8)

.map(x => x.toUpperCase())

.subscribe(x => console.log(x));



… and the same example with the new lettable operator syntax becomes:

import { of } from ‘rxjs/observable/of’;

import { map, filter, tap } from ‘rxjs/operators’;

@Component({… })

export class AppComponent implements OnInit {

myObs = of(‘Hello’, ‘Alligator’, ‘World!’);

ngOnInit() {



tap(x => console.log(‘The do operator is now tap!’)),

filter(x => x.length > 8),

map(x => x.toUpperCase())


.subscribe(x => console.log(x));



Source by Nimish Goel

Share Article:

Leave a Reply

Unlock the Power of SEO with the Top SEO Service Provider in Sri Lanka. Our experts deliver tailored strategies for businesses to soar higher in search rankings and dominate the online competition.

©2018 Shen e-Services (Pvt) Ltd. All Rights Reserved. SEO Services

Check The Feedback