Angular Copilot for AngularJS-to-Angular Migration

Hanyu Xiao
AngularDoc
Published in
2 min readApr 15, 2018

Many organizations that have AngularJS applications in production face a tough choice: stay put and miss all the advances that Angular has to offer, or start the migration journey that is often no easier than rewriting the entire application. While there are online documentation and tutorials that describe the general migration process, they are often too high level to be practical, or too tedious to follow with multiple manual steps.

In March 2018, we managed to identify over 8700 public repos on GitHub that are related to Angular. Scanning and analyzing each of them yielded a wealth of metadata that we eventually published on angulardoc.org, a searchable repository of Angular projects. With this many repos, we were curious: how many of them were upgrade projects? Assuming that a project that had “@angular/upgrade” package in the dependencies qualifies as an upgrade one, we found 1400+ of them, and here’s how they were distributed across the Angular versions, from the first v2.o on the far left to the upcoming v6.0 on the far right:

Number of upgrade projects vs. the Angular versions

It's alarming that 60% of the upgrade projects are stuck at the oldest Angular version after 1.5 years.

Migrating a large code base requires a lot of resources and commitment, and doing everything manually is a non-starter. This is when tooling can be a big help. We have just announced the availability of Angular Copilot, a desktop tool that can streamline the migration process with these key features:

  • Scaffolding Angular shell for the AngularJS application with Angular CLI
  • Migrating bower.json
  • Quick configuration of angular-cli build for the global scripts, styles, and/or static assets
  • Auto configuration of UpgradeModule to bootstrap the AngularJS app
  • Graphical summary of the migration progress
  • Incremental migration of individual components from JavaScript to TypeScript
  • (VS Code extension) Quick fix of the AngularJS constructs in the component and template files
  • One-click migration of the routes

Recently I had the privilege of presenting at the ngHouston Meetup on this topic. The video of the entire presentation, including the demo and the panel discussion, is available on YouTube.

I am excited that I’ll speak at ng-conf 2018 in Salt Lake City, Utah, next week. I’m hoping to interact with many of you in person to share our experiences and hear your ideas on how Angular Copilot can be better.

In the meantime, I encourage you to learn more about Angular Copilot from our GA announcement and the product web site.

Update April 22, 2018: The ng-conf 2018 talk was a huge success! The room was packed and some of the audience had to sit on the floor.

I have had many constructive discussions with developers who are eager to learn how Angular Copilot can help their migration. Please send your inquiries via the following form:

--

--

Hanyu Xiao
AngularDoc

Founder of AngularDoc. A technologist who loves building developer tools. Husband and proud father of two beautiful children.