This is a guide Iβve written to document my experience in the hope that it could be useful to others going through the same process. Itβs quite possible some of the recommendations Iβve made are not best practice (though they have worked for me) so Iβd love to get any feedback and suggestions if you have them.
Upgrading from Ember 1.13 to 2.x was something which for a time I was nervous about attempting. At that point in time my project had very limited (if any) tests and I was seeing a lot of deprecations logged both via the console and when I used Ember Inspector.
I really wanted to make the jump but it was after watching this video from the Ember NYC meetup by Robert Jackson that gave me the confidence to do it.
In particular learning about ember-cli-deprecation-workflow and how it could rationalise the process was a real motivating factor.
Having said that thoughΒ β and there is no easy was of saying this β to really have confidence I accepted that I'd need a much more comprehensive test suite. In hindsight, I'm really glad I took this approach and would highly recommend using this desire as the necessary motivating factor to start writing tests if you haven't already.
Once you have tests which handle the majority of the use cases this process becomes much, much less intimidating βΒ plus, you now have tests!
Iβm not going to go into resources for writing tests right now (something for another time) - but once you do have them this is the process I use to get up to date when new versions of Ember (& Ember CLI) are released.
Assuming you have already installed the ember-cli-deprecation-workflow run your tests and afterwards in the console flush the deprecations to see what needs to be done before updating by
deprecationWorkflow.flushDeprecations()
Then, simply(!) systematically work through each deprecation one by one as outlined in the documentation for the addon.
The caret, on the other hand, is more relaxed. It will update you to the most recent major version (the first number). ^1.2.3 will match any 1.x.x release including 1.3.0, but will hold off on 2.0.0.
Iβve found once or twice this approach has caused me some issues (at least I think it was the cause), so I tend to prefer to use strict versions and update each dependency myself explicitly.
Iβd be interested to hear if you think this is a good/bad idea and why.
Iβve found that Greenkeeper.io is a great help for keeping up to date with each of the npm packages as they are updated between Ember CLI releases.
Youβll see in each individual guide the specific version numbers which I updated at the time (though if you are reading this for a very old version it may need to be double checked). One thing I can say is that the compatability was correct at the time so there is a pinned version which should still work.
Before starting the upgrade process I always create a new branch to make it easy to get back to the previous state if something goes horribly wrong.
Once Ember CLI is at v2.3.0 then it is a decision to make whether to update each dot release, or to roll them into one.
As the upgrade guide suggested there were not too many user changes to make between the dot releases I updated from 2.3.0 directly to 2.4.3
Folding together the changes listed made this:
- update ember-cli-sri in package.json to 2.1.0
- rename testem.json to testem.js
But in reality I had to make a few more updates, listed below.
Taken from the official release
Install Ember CLI Globally
npm uninstall -g ember-cli
npm cache clean
bower cache clean
npm install -g [email protected]
Update Project
rm -rf node_modules bower_components dist tmp
npm install [email protected] --save-dev
npm install
bower install
Begin the process of updating your project files
ember init
For this version the only files I hit Y
to overwrite were
.travis.yml
tests/helpers/module-for-acceptance.js
(destroyApp moved after conditional)
Though check that the you're index.html
& tests/index.html
look OK because there have been some subtle updates in the use of double quotes for content-for
tags. For tests/index.html
you might also want to check that you have <script src="testem.js" integrity=""></script>
included now.
No other files appeared to have any code that needed to be updated, except for bower.json & package.json β the usual culprits β which I always prefer not to overwrite automatically and update by hand afterwards (see below).
updates
- ember to
"ember": "2.4.3"
- ember-cli-shims to
"ember-cli-shims": "0.1.1"
check
- ember-cli-test-loader is
"ember-cli-test-loader": "0.2.2"
- ember-qunit-notifications is
"ember-qunit-notifications": "0.1.0"
{
"dependencies": {
- "ember": "2.3.1",
- "ember-cli-shims": "0.1.0",
+ "ember": "2.4.3",
+ "ember-cli-shims": "0.1.1",
"ember-cli-test-loader": "0.2.2",
"ember-qunit-notifications": "0.1.0"
}
}
updates
- broccoli-asset-rev to
"broccoli-asset-rev": "2.4.2"
- ember-cli-babel to
"ember-cli-babel": "5.1.6"
- ember-cli-htmlbars to
"ember-cli-htmlbars": "1.0.3"
- ember-cli-inject-live-reload to
"ember-cli-inject-live-reload": "1.4.0"
- ember-cli-qunit to
"ember-cli-qunit": "1.4.0"
- ember-cli-sri to
"ember-cli-sri": "2.1.0"
- ember-data to
"ember-data": "2.4.2"
- ember-export-application-global to
"ember-export-application-global": "1.0.5"
- ember-load-initializers to
"ember-load-initializers": "0.5.1"
- loader.js to
"loader.js": "4.0.1"
check correct version
- ember-ajax is
"ember-ajax": "0.7.1"
- ember-cli is
"ember-cli": "2.4.3"
- ember-cli-app-version is
"ember-cli-app-version": "1.0.0"
- ember-cli-dependency-checker is
"ember-cli-dependency-checker": "1.2.0"
- ember-cli-htmlbars-inline-precompile is
"ember-cli-htmlbars-inline-precompile": "0.3.1"
- ember-cli-release is
"ember-cli-release": "0.2.8"
- ember-cli-uglify is
"ember-cli-uglify": "1.2.0"
- ember-resolver is
"ember-resolver": "2.0.3"
remove
now optional (can keep if already using)
ember-cli-content-security-policy is no longer included by default
{
"devDependencies": {
- "broccoli-asset-rev": "2.2.0",
+ "broccoli-asset-rev": "2.4.2",
"ember-ajax": "0.7.1",
"ember-cli": "2.4.3",
"ember-cli-app-version": "1.0.0",
- "ember-cli-babel": "5.1.5",
+ "ember-cli-babel": "5.1.6",
"ember-cli-content-security-policy": "0.4.0",
"ember-cli-dependency-checker": "1.2.0",
- "ember-cli-htmlbars": "1.0.1",
+ "ember-cli-htmlbars": "1.0.3",
"ember-cli-htmlbars-inline-precompile": "0.3.1",
- "ember-cli-inject-live-reload": "1.3.1",
+ "ember-cli-inject-live-reload": "1.4.0",
- "ember-cli-qunit": "1.2.1",
+ "ember-cli-qunit": "1.4.0",
"ember-cli-release": "0.2.8",
- "ember-cli-sri": "2.0.0",
+ "ember-cli-sri": "2.1.0",
"ember-cli-uglify": "1.2.0",
- "ember-data": "2.3.0",
+ "ember-data": "2.4.2",
- "ember-disable-proxy-controllers": "1.0.1"
- "ember-export-application-global": "1.0.4",
+ "ember-export-application-global": "1.0.5",
- "ember-load-initializers": "0.5.0",
+ "ember-load-initializers": "0.5.1",
"ember-resolver": "2.0.3",
- "loader.js": "4.0.0",
+ "loader.js": "4.0.1"
}
}
Time to nombom and hope that there aren't any issues.
rm -rf node_modules bower_components dist tmp
npm cache clean
bower cache clean
npm i
bower i
Then run your tests and see if there are any issues building or any deprecations.
ember test --server
If you do find and issues, donβt panic. Often these can be caused by addons and fixed by simply updated to a newer version.
Once everything is working you may also have some deprecations, these should be handled in the usual way.
In my case from upgrading from Ember CLI 2.3.0 -> 2.4.3 it just workedβ’
π
Taken from the official release
Install Ember CLI Globally
npm uninstall -g ember-cli
npm cache clean
bower cache clean
npm install -g [email protected]
Update Project
rm -rf node_modules bower_components dist tmp
npm install [email protected] --save-dev
npm install
bower install
Begin the process of updating your project files
ember init
update
- ember to
"ember": "2.5.1"
check
- ember-cli-shims is
"ember-cli-shims": "0.1.1"
- ember-cli-test-loader is
"ember-cli-test-loader": "0.2.2"
- ember-qunit-notifications is
"ember-qunit-notifications": "0.1.0"
{
"dependencies": {
- "ember": "2.4.3",
+ "ember": "2.5.1",
"ember-cli-shims": "0.1.1",
"ember-cli-test-loader": "0.2.2",
"ember-qunit-notifications": "0.1.0"
}
}
add
- ember-cli-jshint as
"ember-cli-jshint": "1.0.0"
update
- ember-data to
"ember-data": "2.5.0"
- loader.js to
"loader.js": "4.0.1"
check
- broccoli-asset-rev is
"broccoli-asset-rev": "2.4.2"
- ember-ajax is
"ember-ajax": "0.7.1"
- ember-cli-app-version is
"ember-cli-app-version": "1.0.0"
- ember-cli-babel is
"ember-cli-babel": "5.1.6"
- ember-cli-dependency-checker is
"ember-cli-dependency-checker": "1.2.0"
- ember-cli-htmlbars is
"ember-cli-htmlbars": "1.0.3"
- ember-cli-htmlbars-inline-precompile is
"ember-cli-htmlbars-inline-precompile": "0.3.1"
- ember-cli-inject-live-reload is
"ember-cli-inject-live-reload": "1.4.0"
- ember-cli-qunit is
"ember-cli-qunit": "1.4.0"
- ember-cli-release is
"ember-cli-release": "0.2.8"
- ember-cli-sri is
"ember-cli-sri": "2.1.0"
- ember-cli-uglify is
"ember-cli-uglify": "1.2.0"
- ember-export-application-global is
"ember-export-application-global": "1.0.5"
- ember-load-initializers is
"ember-load-initializers": "0.5.1"
- ember-resolver is
"ember-resolver": "2.0.3"
{
"devDependencies": {
"broccoli-asset-rev": "2.4.2",
"ember-ajax": "0.7.1",
"ember-cli-app-version": "1.0.0",
"ember-cli-babel": "5.1.6",
"ember-cli-dependency-checker": "1.2.0",
"ember-cli-htmlbars": "1.0.3",
"ember-cli-htmlbars-inline-precompile": "0.3.1",
"ember-cli-inject-live-reload": "1.4.0",
+ "ember-cli-jshint": "1.0.0",
"ember-cli-qunit": "1.4.0",
"ember-cli-release": "0.2.8",
"ember-cli-sri": "2.1.0",
"ember-cli-uglify": "1.2.0",
- "ember-data": "2.4.2",
+ "ember-data": "2.5.0",
"ember-export-application-global": "1.0.5",
"ember-load-initializers": "0.5.1",
"ember-resolver": "2.0.3",
- "loader.js": "4.0.0",
+ "loader.js": "4.0.1"
}
}
Time to nombom and hope that there aren't any issues.
rm -rf node_modules bower_components dist tmp
npm cache clean
bower cache clean
npm i
bower i
Then run your tests and see if there are any issues building or any deprecations.
ember test --server
In this instance my test which included mock uploading files all broke.
After some investigation it transpired that the issue was to do with the new native events used in testing.
To help anyone else that comes across this issue when upgrading I wrote a short blog post on how to update your tests
Besides that everything else was fine.
π π
Taken from the official release
Install Ember CLI Globally
npm uninstall -g ember-cli
npm cache clean
bower cache clean
npm install -g [email protected]
Update Project
rm -rf node_modules bower_components dist tmp
npm install [email protected] --save-dev
npm install
bower install
Begin the process of updating your project files
ember init
update
- ember to
"ember": "2.6.0"
check
- ember-cli-shims is
"ember-cli-shims": "0.1.1"
- ember-cli-test-loader is
"ember-cli-test-loader": "0.2.2"
- ember-qunit-notifications is
"ember-qunit-notifications": "0.1.0"
{
"dependencies": {
- "ember": "2.5.1",
+ "ember": "2.6.0",
"ember-cli-shims": "0.1.1",
"ember-cli-test-loader": "0.2.2",
"ember-qunit-notifications": "0.1.0"
}
}
update
- ember-cli-jshint to
"ember-cli-jshint": "1.0.4"
- ember-cli-qunit to
"ember-cli-qunit": "2.0.2"
- ember-cli-release to
"ember-cli-release": "0.2.9"
- ember-data to
"ember-data": "2.6.1"
- loader.js to
"loader.js": "4.0.9"
check
- broccoli-asset-rev is
"broccoli-asset-rev": "2.4.2"
- ember-ajax is
"ember-ajax": "2.4.1"
- ember-cli-app-version is
"ember-cli-app-version": "1.0.0"
- ember-cli-babel is
"ember-cli-babel": "5.1.6"
- ember-cli-dependency-checker is
"ember-cli-dependency-checker": "1.2.0"
- ember-cli-htmlbars is
"ember-cli-htmlbars": "1.0.8"
- ember-cli-htmlbars-inline-precompile is
"ember-cli-htmlbars-inline-precompile": "0.3.2"
- ember-cli-inject-live-reload is
"ember-cli-inject-live-reload": "1.4.0"
- ember-cli-sri is
"ember-cli-sri": "2.1.0"
- ember-cli-uglify is
"ember-cli-uglify": "1.2.0"
- ember-export-application-global is
"ember-export-application-global": "1.0.5"
- ember-load-initializers is
"ember-load-initializers": "0.5.1"
- ember-resolver is
"ember-resolver": "2.0.3"
{
"devDependencies": {
"broccoli-asset-rev": "2.4.2",
"ember-ajax": "2.4.1",
"ember-cli": "2.6.1",
"ember-cli-app-version": "1.0.0",
"ember-cli-babel": "5.1.6",
"ember-cli-dependency-checker": "1.2.0",
"ember-cli-htmlbars": "1.0.8",
"ember-cli-htmlbars-inline-precompile": "0.3.2",
"ember-cli-inject-live-reload": "1.4.0",
- "ember-cli-jshint": "1.0.3",
+ "ember-cli-jshint": "1.0.4",
- "ember-cli-qunit": "1.4.0",
+ "ember-cli-qunit": "2.0.2",
- "ember-cli-release": "0.2.8",
+ "ember-cli-release": "0.2.9",
"ember-cli-sri": "2.1.0",
"ember-cli-uglify": "1.2.0",
- "ember-data": "2.5.3",
+ "ember-data": "2.6.1",
"ember-export-application-global": "1.0.5",
"ember-load-initializers": "0.5.1",
"ember-resolver": "2.0.3",
- "loader.js": "4.0.7",
+ "loader.js": "4.0.9"
}
}
Yes to tests/helpers/module-for-acceptance.js
as there have been some changes to the way it works.
Finally, at the moment some addons have not yet updated to include a call to super in the init() method
For me there were no deprecations to update in my code this time.
π π π
Taken from the official release
Install Ember CLI Globally
npm uninstall -g ember-cli
npm cache clean
bower cache clean
npm install -g [email protected]
Update Project
rm -rf node_modules bower_components dist tmp
npm install [email protected] --save-dev
npm install
bower install
Begin the process of updating your project files
ember init
Personally I wasnβt bothered by the editor config changes
- "esnext": true,
+ "esversion": 6,
This is important as relates to the new approach to URLs
see http://emberjs.com/blog/2016/04/28/baseURL.html
Effectively add the rootURL to the asset URLs
- <link rel="stylesheet" href="assets/vendor.css">
- <link rel="stylesheet" href="assets/instatube-app.css">
+ <link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
+ <link rel="stylesheet" href="{{rootURL}}assets/instatube-app.css">
- <script src="assets/vendor.js"></script>
- <script src="assets/instatube-app.js"></script>
+ <script src="{{rootURL}}assets/vendor.js"></script>
+ <script src="{{rootURL}}assets/instatube-app.js"></script>
Add rootURL to Router with
-const Router = Ember.Router.extend(googlePageview, {
- location: config.locationType
+const Router = Ember.Router.extend({
+ location: config.locationType,
+ rootURL: config.rootURL
});
update
- ember to
"ember": "2.7.0"
check
- ember-cli-shims is
"ember-cli-shims": "0.1.1"
- ember-qunit-notifications is
"ember-qunit-notifications": "0.1.0"
remove
- ember-cli-test-loader (now via npm)
- "ember": "2.6.0",
+ "ember": "2.7.0",
"ember-cli-shims": "0.1.1",
- "ember-cli-test-loader": "0.2.2",
"ember-qunit-notifications": "0.1.0"
For the new baseURL and rootURL change
in the ENV
- baseURL: '/',
- locationType: 'history',
+ rootURL: '/',
+ locationType: 'auto',
and in
if (environment === 'test') {
// Testem prefers this...
- ENV.baseURL = '/';
- ENV.locationType = 'auto';
+ ENV.locationType = 'none';
add
- ember-cli-test-loader to
"ember-cli-test-loader": "1.1.0"
update
- broccoli-asset-rev to
"broccoli-asset-rev": "2.4.5"
- ember-ajax to
"ember-ajax": "2.4.1"
- ember-cli to
"ember-cli": "2.7.0"
- ember-cli-babel to
"ember-cli-babel": "5.1.7"
- ember-cli-dependency-checker to
"ember-cli-dependency-checker": "1.3.0"
- ember-cli-htmlbars to
"ember-cli-htmlbars": "1.0.10"
- ember-cli-htmlbars to
"ember-cli-htmlbars-inline-precompile": "0.3.3"
- ember-cli-inject-live-reload to
"ember-cli-inject-live-reload": "1.4.1"
- ember-cli-jshint to
"ember-cli-jshint": "1.0.4"
- ember-cli-qunit to
"ember-cli-qunit": "2.1.0"
- ember-cli-release to
"ember-cli-release": "0.2.9"
- ember-data to
"ember-data": "2.7.0"
- loader.js to
"loader.js": "4.0.10"
check
- ember-cli-app-version is
"ember-cli-app-version": "1.0.0"
- ember-cli-sri is
"ember-cli-sri": "2.1.0"
- ember-cli-uglify is
"ember-cli-uglify": "1.2.0"
- ember-export-application-global is
"ember-export-application-global": "1.0.5"
- ember-load-initializers is
"ember-load-initializers": "0.5.1"
- ember-resolver is
"ember-resolver": "2.0.3"
{
"devDependencies": {
- "broccoli-asset-rev": "2.4.2",
+ "broccoli-asset-rev": "2.4.5",
- "ember-ajax": "0.7.1",
+ "ember-ajax": "2.4.1",
- "ember-cli": "2.6.1",
+ "ember-cli": "2.7.0",
"ember-cli-app-version": "1.0.0",
- "ember-cli-babel": "5.1.6",
+ "ember-cli-babel": "5.1.7",
- "ember-cli-dependency-checker": "1.2.0",
+ "ember-cli-dependency-checker": "1.3.0",
- "ember-cli-htmlbars": "1.0.3",
+ "ember-cli-htmlbars": "1.0.10",
- "ember-cli-htmlbars-inline-precompile": "0.3.1",
+ "ember-cli-htmlbars-inline-precompile": "0.3.3",
- "ember-cli-inject-live-reload": "1.4.0",
+ "ember-cli-inject-live-reload": "1.4.1",
- "ember-cli-jshint": "1.0.0",
+ "ember-cli-jshint": "1.0.4",
- "ember-cli-qunit": "1.4.0",
+ "ember-cli-qunit": "2.1.0",
- "ember-cli-release": "0.2.8",
+ "ember-cli-release": "0.2.9",
"ember-cli-sri": "2.1.0",
+ "ember-cli-test-loader": "1.1.0",
"ember-cli-uglify": "1.2.0",
- "ember-data": "2.6.1",
+ "ember-data": "2.7.0",
"ember-export-application-global": "1.0.5",
"ember-load-initializers": "0.5.1",
"ember-resolver": "2.0.3",
- "loader.js": "4.0.1",
+ "loader.js": "4.0.10"
}
}
- "esnext": true,
+ "esversion": 6,
Updates once again for the new rootURL changes
- <link rel="stylesheet" href="assets/vendor.css">
- <link rel="stylesheet" href="assets/instatube-app.css">
- <link rel="stylesheet" href="assets/test-support.css">
+ <link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
+ <link rel="stylesheet" href="{{rootURL}}assets/instatube-app.css">
+ <link rel="stylesheet" href="{{rootURL}}assets/test-support.css">
- <script src="testem.js" integrity=""></script>
- <script src="assets/vendor.js"></script>
- <script src="assets/test-support.js"></script>
- <script src="assets/instatube-app.js"></script>
- <script src="assets/tests.js"></script>
- <script src="assets/test-loader.js"></script>
+ <script src="{{rootURL}}testem.js" integrity=""></script>
+ <script src="{{rootURL}}assets/vendor.js"></script>
+ <script src="{{rootURL}}assets/test-support.js"></script>
+ <script src="{{rootURL}}assets/instatube-app.js"></script>
+ <script src="{{rootURL}}assets/tests.js"></script>
After this upgrade my tests werenβt passing immediately. It was pretty much exclusively due to the new URL system.
First issue (unrelated to URLs) was that Liquid Fire needed updating to the latest version (in my case v0.24.1).
After that I had to resolve path issues due to the new baseURL & rootURL changes.
Key changes required
- make sure (if using mirage) that this.namespace has a forward slash at the start see this issue
- if you have custom URL endpoints in adapters I found that URLs when using prefixes, ie as used by Ember Igniter
${this.host}/${this.namespace}
no longer were correct, for now I just hardcoded the namespace, but am going to investigate further and raise an issue if necessary. - for assets I found it necessary to include a forward slash in front of the urls to static assets in the public directory.
Beyond that there were a couple of very minor issues which were bugs in mind code that hadn't really been an issue before but for some reason now broke my tests. It was all to do with async testing and resolving promises, but were pretty trivial to fix.
π π π π
This time I updated to the beta version as I wanted to upgrade to Glimmer 2 (Ember 2.9.0-alpha) as soon as possible to help test the alpha version and thought that it would be a better starting point.
Taken from the official release
Install Ember CLI Globally
npm uninstall -g ember-cli
npm cache clean
bower cache clean
npm install -g [email protected]
Update Project
rm -rf node_modules bower_components dist tmp
npm install [email protected] --save-dev
npm install
bower install
Begin the process of updating your project files
ember init
update
- ember to
"ember": "2.8.0-beta.1"
check
- ember-cli-shims is
"ember-cli-shims": "0.1.1"
remove
- ember-qunit-notifications
"dependencies": {
- "ember": "2.7.0",
+ "ember": "2.8.0-beta.1",
- "ember-qunit-notifications": "0.1.0"
update
- ember-cli to
"ember-cli": "2.8.0-beta.1"
- ember-data to
"ember-data": "2.8.0-beta.1"
check
- broccoli-asset-rev is
"broccoli-asset-rev": "2.4.5"
- ember-ajax is
"ember-ajax": "2.4.1"
- ember-cli-app-version is
"ember-cli-app-version": "1.0.0"
- ember-cli-babel is
"ember-cli-babel": "5.1.7"
- ember-cli-dependency-checker is
"ember-cli-dependency-checker": "1.3.0"
- ember-cli-htmlbars is
"ember-cli-htmlbars": "1.0.10"
- ember-cli-htmlbars is
"ember-cli-htmlbars-inline-precompile": "0.3.3"
- ember-cli-inject-live-reload is
"ember-cli-inject-live-reload": "1.4.1",
- ember-cli-jshint is
"ember-cli-jshint": "1.0.4"
- ember-cli-qunit is
"ember-cli-qunit": "2.1.0"
- ember-cli-release is
"ember-cli-release": "0.2.9"
- ember-cli-sri is
"ember-cli-sri": "2.1.0"
- ember-cli-test-loader is
"ember-cli-test-loader": "1.1.0"
- ember-cli-uglify is
"ember-cli-uglify": "1.2.0"
- ember-export-application-global is
"ember-export-application-global": "1.0.5"
- ember-load-initializers is
"ember-load-initializers": "0.5.1"
- ember-resolver is
"ember-resolver": "2.0.3"
- loader.js to
"loader.js": "4.0.10"
{
"devDependencies": {
"broccoli-asset-rev": "2.4.5",
"ember-ajax": "2.4.1",
- "ember-cli": "2.7.0",
+ "ember-cli": "2.8.0-beta.1",
"ember-cli-app-version": "1.0.0",
"ember-cli-babel": "5.1.7",
"ember-cli-dependency-checker": "1.3.0",
"ember-cli-htmlbars": "1.0.10",
"ember-cli-htmlbars-inline-precompile": "0.3.3",
"ember-cli-inject-live-reload": "1.4.1",
"ember-cli-jshint": "1.0.4",
"ember-cli-qunit": "2.1.0",
"ember-cli-release": "0.2.9",
"ember-cli-sri": "2.1.0",
"ember-cli-test-loader": "1.1.0",
"ember-cli-uglify": "1.2.0",
- "ember-data": "2.7.0",
+ "ember-data": "2.8.0-beta.1",
"ember-export-application-global": "1.0.5",
"ember-load-initializers": "0.5.1",
"ember-resolver": "2.0.3",
"loader.js": "4.0.10"
}
}
π π π π π
I had already updated Ember to 10 for Glimmer 2, so bear that in mind in this update (ignoring the Ember package update).
Taken from the official release
Install Ember CLI Globally
npm uninstall -g ember-cli
npm cache clean
bower cache clean
npm install -g [email protected]
Update Project
rm -rf node_modules bower_components dist tmp
npm install [email protected] --save-dev
npm install
bower install
Begin the process of updating your project files
ember init
update
- ember-cli-shims to
"ember-cli-shims": "0.1.3"
"dependencies": {
- "ember-cli-shims": "0.1.1"
+ "ember-cli-shims": "0.1.3"
Add the new extend prototypes for Ember Data
EmberENV: {
FEATURES: {
// Here you can enable experimental features on an ember canary build
// e.g. 'with-controller': true
+ },
+ EXTEND_PROTOTYPES: {
+ // Prevent Ember Data from overriding Date.parse.
+ Date: false
}
},
Update to the npm-debug logs
/.sass-cache
/connect.lock
/coverage/*
/libpeerconnection.log
- npm-debug.log
+ npm-debug.log*
testem.log
update
- broccoli-asset-rev to
"broccoli-asset-rev": "2.5.0"
- ember-ajax to
"ember-ajax": "2.5.6"
- ember-cli to
"ember-cli": "2.9.1"
- ember-cli-app-version to
"ember-cli-app-version": "2.0.2"
- ember-cli-babel to
"ember-cli-babel": "5.2.4"
- ember-cli-htmlbars to
"ember-cli-htmlbars": "1.1.1"
- ember-cli-htmlbars to
"ember-cli-htmlbars-inline-precompile": "0.3.6"
- ember-cli-inject-live-reload to
"ember-cli-inject-live-reload": "1.6.1",
- ember-cli-qunit to
"ember-cli-qunit": "3.1.2"
- ember-cli-test-loader to
"ember-cli-test-loader": "1.1.1"
- ember-data to
"ember-data": "2.9.0"
- ember-export-application-global to
"ember-export-application-global": "1.1.1"
- ember-load-initializers to
"ember-load-initializers": "0.6.3"
- ember-resolver to
"ember-resolver": "3.0.0"
- loader.js to
"loader.js": "4.2.3"
check
- ember-cli-dependency-checker is
"ember-cli-dependency-checker": "1.3.0"
- ember-cli-jshint is
"ember-cli-jshint": "2.0.1"
- ember-cli-release is
"ember-cli-release": "0.2.9"
- ember-cli-sri is
"ember-cli-sri": "2.1.1"
- ember-cli-uglify is
"ember-cli-uglify": "1.2.0"
{
"devDependencies": {
- "broccoli-asset-rev": "2.4.6",
+ "broccoli-asset-rev": "2.5.0",
- "ember-ajax": "2.5.1",
+ "ember-ajax": "2.5.6",
- "ember-cli": "^2.9.1",
+ "ember-cli": "2.9.1",
- "ember-cli-app-version": "2.0.0",
+ "ember-cli-app-version": "2.0.2",
- "ember-cli-babel": "5.1.10",
+ "ember-cli-babel": "5.2.4",
"ember-cli-dependency-checker": "1.3.0",
- "ember-cli-htmlbars": "1.1.0",
+ "ember-cli-htmlbars": "1.1.1",
- "ember-cli-htmlbars-inline-precompile": "0.3.5",
+ "ember-cli-htmlbars-inline-precompile": "0.3.6",
- "ember-cli-inject-live-reload": "1.4.1",
+ "ember-cli-inject-live-reload": "1.6.1",
"ember-cli-jshint": "2.0.1",
- "ember-cli-qunit": "3.0.1",
+ "ember-cli-qunit": "3.1.2",
"ember-cli-release": "0.2.9",
"ember-cli-sri": "2.1.1",
- "ember-cli-test-loader": "1.1.0",
+ "ember-cli-test-loader": "1.1.1",
"ember-cli-uglify": "1.2.0",
- "ember-data": "2.8.0",
+ "ember-data": "2.9.0",
- "ember-export-application-global": "1.0.5",
+ "ember-export-application-global": "1.1.1",
- "ember-load-initializers": "0.5.1",
+ "ember-load-initializers": "0.6.3",
- "ember-resolver": "2.1.0",
+ "ember-resolver": "3.0.0",
- "loader.js": "4.0.11",
+ "loader.js": "4.2.3",
}
}
Small update to test html.
- <script src="{{rootURL}}testem.js" integrity=""></script>
+ <script src="/testem.js" integrity=""></script>
None, it went smooth as
π π π π π π
Taken from the official release
Install Ember CLI Globally
npm uninstall -g ember-cli
npm cache clean
bower cache clean
npm install -g [email protected]
Update Project
rm -rf node_modules bower_components dist tmp
npm install [email protected] --save-dev
npm install
bower install
Begin the process of updating your project files
ember init
update
- ember-cli-shims to
"ember-cli-shims": "0.1.3"
"dependencies": {
- "ember-cli-shims": "0.1.1"
+ "ember-cli-shims": "0.1.3"
Add the new extend prototypes for Ember Data
EmberENV: {
FEATURES: {
// Here you can enable experimental features on an ember canary build
// e.g. 'with-controller': true
+ },
+ EXTEND_PROTOTYPES: {
+ // Prevent Ember Data from overriding Date.parse.
+ Date: false
}
},
Update to the npm-debug logs
/.sass-cache
/connect.lock
/coverage/*
/libpeerconnection.log
- npm-debug.log
+ npm-debug.log*
testem.log
update
- broccoli-asset-rev to
"broccoli-asset-rev": "2.5.0"
- ember-ajax to
"ember-ajax": "2.5.6"
- ember-cli to
"ember-cli": "2.9.1"
- ember-cli-app-version to
"ember-cli-app-version": "2.0.2"
- ember-cli-babel to
"ember-cli-babel": "5.2.4"
- ember-cli-htmlbars to
"ember-cli-htmlbars": "1.1.1"
- ember-cli-htmlbars to
"ember-cli-htmlbars-inline-precompile": "0.3.6"
- ember-cli-inject-live-reload to
"ember-cli-inject-live-reload": "1.6.1",
- ember-cli-qunit to
"ember-cli-qunit": "3.1.2"
- ember-cli-test-loader to
"ember-cli-test-loader": "1.1.1"
- ember-data to
"ember-data": "2.9.0"
- ember-export-application-global to
"ember-export-application-global": "1.1.1"
- ember-load-initializers to
"ember-load-initializers": "0.6.3"
- ember-resolver to
"ember-resolver": "3.0.0"
- loader.js to
"loader.js": "4.2.3"
check
- ember-cli-dependency-checker is
"ember-cli-dependency-checker": "1.3.0"
- ember-cli-jshint is
"ember-cli-jshint": "2.0.1"
- ember-cli-release is
"ember-cli-release": "0.2.9"
- ember-cli-sri is
"ember-cli-sri": "2.1.1"
- ember-cli-uglify is
"ember-cli-uglify": "1.2.0"
{
"devDependencies": {
- "broccoli-asset-rev": "2.4.6",
+ "broccoli-asset-rev": "2.5.0",
- "ember-ajax": "2.5.1",
+ "ember-ajax": "2.5.6",
- "ember-cli": "^2.9.1",
+ "ember-cli": "2.9.1",
- "ember-cli-app-version": "2.0.0",
+ "ember-cli-app-version": "2.0.2",
- "ember-cli-babel": "5.1.10",
+ "ember-cli-babel": "5.2.4",
"ember-cli-dependency-checker": "1.3.0",
- "ember-cli-htmlbars": "1.1.0",
+ "ember-cli-htmlbars": "1.1.1",
- "ember-cli-htmlbars-inline-precompile": "0.3.5",
+ "ember-cli-htmlbars-inline-precompile": "0.3.6",
- "ember-cli-inject-live-reload": "1.4.1",
+ "ember-cli-inject-live-reload": "1.6.1",
"ember-cli-jshint": "2.0.1",
- "ember-cli-qunit": "3.0.1",
+ "ember-cli-qunit": "3.1.2",
"ember-cli-release": "0.2.9",
"ember-cli-sri": "2.1.1",
- "ember-cli-test-loader": "1.1.0",
+ "ember-cli-test-loader": "1.1.1",
"ember-cli-uglify": "1.2.0",
- "ember-data": "2.8.0",
+ "ember-data": "2.9.0",
- "ember-export-application-global": "1.0.5",
+ "ember-export-application-global": "1.1.1",
- "ember-load-initializers": "0.5.1",
+ "ember-load-initializers": "0.6.3",
- "ember-resolver": "2.1.0",
+ "ember-resolver": "3.0.0",
- "loader.js": "4.0.11",
+ "loader.js": "4.2.3",
}
}
Small update to test html.
- <script src="{{rootURL}}testem.js" integrity=""></script>
+ <script src="/testem.js" integrity=""></script>
None, it went smooth as
π π π π π π