Upgrading ember@1.13.xx to ember@3.1.4


#1

i have upgraded my old ember project to the new version but still i couldn’t able to see the front page of my project and output of my project. Even i got the page status code as 200 OK in the screenshot at the back when i run the localhost i am getting nothing. So if anyone have any idea about it your ideas are much more appreciated.

The main problem is the project was developed by some other developer (may be 5 years back at the ember-cli@1.3.xx). Now i just cloned the project and i am trying to run this project with the new ember version. At the initial stage i got many errors i have cleared all the errors by adding the npm depedencies separately to the particular files and at last i got the build successful. But still i couldn’t able to see the front page of that project.

PROBLEM FACED & VARIOUS WAYS TRIED TO SOLVE THIS :

  1. Tried the old project ember version to test whether the ember project runs in that particular version. (FAILED) @1.13.8 => Even it couldn’t recognize whether its an ember project or not like i didn’t even get the ember code work page(Ember Inspector)

  2. This project will not be run in the latest version of Node 10.xx.xx so every time use the Active LTS suggested node version ie… stable version. Now i am using Node 8.9.0 which is a stable & tested version for the ember-cli.

  3. If i upgraded our project to the latest ember version with overwriting files YES it didn’t work. (FAILED)

  4. If i upgraded our project to the latest ember version with overwriting files NO i got three errors

            + ember-intl: 'desktop' does not match a supported locale name. 
               (CLEARED NOW) 
    
            + ENOENT: no such file or directory, lstat 'node_modules/ember-cli-ic- 
               ajax/node_modules' . (HACKED NOW)
    
            + But Still has another new error saying “file not found” but it was 
               there!!.  (CLEARED NOW)
    

BUILD SUCCESSFUL : Build Successful without any errors but still i couldn’t able to see the front page. (even got the page status code 200 OK). Build-Successful.png

Give me the suggestion like how to run the ember@1.13 version project to see the output.


#2

Some ideas (not guaranteed to work):

Don’t try to upgrade immediately. Just get the original project to work first.

Go through package.json and bower.json, changing all ranges to their minimum versions.

For example: “ember-some-addon”: “^2.0.1” -> “ember-some-addon”: “2.0.1”.

Then clear your npm and bower caches before reinstalling.

Ignore any deprecation warnings and warnings you see about versions no longer being supported.

Today, we use “lock” files to ensure we have a working set of dependencies, but this was about the best you can do for getting an old project to work.

Once you have the project running, upgrade one thing at a time, keeping things working. For example, upgrade only your node.js version from whatever it was to version 4.

Whenever you upgrade something successfully, commit it.

When upgrading major versions of Ember, look for deprecation warnings in your app and fix them first. Try ember-cli-deprecation-workflow to help you out with this. Upgrade one major version at a time. 1 -> 2 then 2 -> 3.

Good luck.


#3

Guarav’s advice is good. The only thing I would add is that if you start having problems with broken addons, you can try making smaller steps than 1.x to 2.x by stopping at LTS releases. The benefit of this strategy is that wherever we are changing a private API that we know some addons are using, we emit a warning for at least one LTS release before breaking the API. That would give you the best chance of seeing helpful warnings rather than just breaking.

The LTS releases have been:

  • 2.4
  • 2.8
  • 2.12
  • 2.16
  • 2.18

(There’s no 3.x LTS release yet, the first will be 3.4.)

You would stop at each of these and fix any deprecation messages before moving on to the next one. That gives you the best chance of being able to take the upgrade in bite-sized pieces.

Also:

This is accurate when it comes to most of the messages spewing out of NPM and Node. It’s not accurate for deprecation messages emitted in your browser console by Ember – those you should clean up before trying to get to the next major version. It’s only supposed to be safe to take a major version upgrade if you have no deprecation warnings.