Ember upgrade v3.x to 4.x

namaste_raj

Raj Kishor

Posted on March 18, 2023

Ember upgrade v3.x to 4.x

A dev journey of Ember upgrade from v3.20 to 4.8

Every aspiring dev journey starts from documentation, a bunch of documentations.

Upgrade guide:

Deprecation guide:

Release guide:

RFCs guide: Checkout to know more about behind the curtain of a deprecation


Upgrading a project is very ambitious task, and like every ambitious task let's break into small tasks.

Upgrade Plan

  • Sequential upgrade LTS wise.
  • Handle deprecation of only upgraded LTS.

How to upgrade?

Step 1: Upgrade ember-cli [as eg. 3.24.0 to 3.28.0]

  $ npm install -g ember-cli-update

  $ npm uninstall -g ember-cli
  $ npm install -g ember-cli@3.28.0
  $ ember --version
Enter fullscreen mode Exit fullscreen mode

Step 2: Navigate to project path in terminal

$ cd <project-path>
$ ember-cli-update --to 3.28.0
Enter fullscreen mode Exit fullscreen mode

This will update the project to the mentioned Ember CLI version. It will only modify the files if there are changes between your project's version and the latest version, and it will only change the section necessary, not the entire file.

You will probably encounter merge conflicts, in which the default behavior is to let you resolve conflicts on your own.

Step 3: Run your project to checkout any breakage [Project dependant]

Project third party packages can be upgraded while or even after upgrade of ember-cli, depends on project and type of breakage.

Detailed Ref: https://cli.emberjs.com/release/basic-use/upgrading


How to handle deprecation?
Step 1: Install ember-cli-deprecation-workflow in project

$ npm install ember-cli-deprecation-workflow --dev
Enter fullscreen mode Exit fullscreen mode

Step 2: create config/deprecation-workflow.js
Step 3: Add deprecation message entries as per documentation

Dev note: Handling and maintenance of deprecation in large project becomes tedious, this is how I handled one deprecation/version-wise at a time.
Github link: https://github.com/rajforum/ember-upgrade-note/blob/main/deprecation-wokflow.js

Change handler to log to list deprecations and throw once fixed.


TLDR tip:


A mention to other Refs which has helpful at very first upgrade.

💖 💪 🙅 🚩
namaste_raj
Raj Kishor

Posted on March 18, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Ember upgrade v3.x to 4.x
ember Ember upgrade v3.x to 4.x

March 18, 2023