This guide walks you through the step-by-step process of upgrading a DoneJS 2 app to DoneJS 3.
This guide explains how to upgrade DoneJS 2 app to DoneJS 3.
Pre-migration preparation
Before upgrading to DoneJS 3, it’s a good idea to make sure all of your tests are passing, your project builds successfully, and you can deploy your app. This will give you more assurance as you upgrade individual parts of your project.
To make sure tests are passing, run:
donejs test
To confirm that your build is working correctly, run:
donejs build
NODE_ENV=production donejs start
This will create your production build and then start a local server in production mode. If you open localhost:8080 in your browser, you should see the production bundles being loaded in the Network tab of your developer tools.
Once you are confident that you are ready to upgrade, create a new branch from which to work. Assuming you are using git run this command:
git checkout -b upgrade-donejs
If you are using a different version control system, substitute above for the relevant commands. The idea is the same; create a new branch from which to make the DoneJS upgrade changes.
Install donejs@3
Once you have completed the preprepation, upgrade to the latest version of the donejs global package.
npm install --global donejs@3
Now any time you create new applications using donejs add app, it will scaffold out a DoneJS 3 project.
Run donejs upgrade
Running donejs upgrade will upgrade all of your dependencies to their latest version and run any codemods that are available. Running the following command:
donejs upgrade
This will:
Update your package.json with the latest versions of each DoneJS packages.
Run npm install, to give you the latest versions.
Run can-migrate to apply codemods for the changes that happened in CanJS 5.0.
Once this is complete you will see several changed files. It's a good idea to look at these files using your favorite diff tool to see if the changes look correct. can-migrate is conservative about the changes it makes but is not perfect.
If you would prefer not to run the CanJS codemods as part of the upgrade, you can skip this part by running the command as donejs upgrade --no-canmigrate.
Go through the StealJS 2 Migration Guide
StealJS 2 only has a few, small, breaking changes, so it's easiest to upgrade it first. The StealJS 2.0 migration guide goes over the few things you might need to change in your code.
Go through the CanJS 5 Migration Guide
Although donejs upgrade covers a lot of the important parts of the upgrade, especially getting the correct versions of each dependency, it cannot do everything for you.
The CanJS 5.0 migration guide goes over the parts that you might need to change manually. Reviewing this guide will also help familiarize yourself with CanJS 5, so it's a good thing to read even if you are developing a new project.
Getting help
We've taken care to make upgrading DoneJS apps as easy as possible. However, as always, we're available on Slack (#donejs channel) and the forums to try and help!
This guide explains how to upgrade DoneJS 2 app to DoneJS 3.
Pre-migration preparation
Before upgrading to DoneJS 3, it’s a good idea to make sure all of your tests are passing, your project builds successfully, and you can deploy your app. This will give you more assurance as you upgrade individual parts of your project.
To make sure tests are passing, run:
To confirm that your build is working correctly, run:
This will create your production build and then start a local server in production mode. If you open localhost:8080 in your browser, you should see the production bundles being loaded in the Network tab of your developer tools.
Once you are confident that you are ready to upgrade, create a new branch from which to work. Assuming you are using git run this command:
If you are using a different version control system, substitute above for the relevant commands. The idea is the same; create a new branch from which to make the DoneJS upgrade changes.
Install donejs@3
Once you have completed the preprepation, upgrade to the latest version of the donejs global package.
Now any time you create new applications using
donejs add app
, it will scaffold out a DoneJS 3 project.Run donejs upgrade
Running
donejs upgrade
will upgrade all of your dependencies to their latest version and run any codemods that are available. Running the following command:This will:
npm install
, to give you the latest versions.can-migrate
to apply codemods for the changes that happened in CanJS 5.0.Once this is complete you will see several changed files. It's a good idea to look at these files using your favorite diff tool to see if the changes look correct. can-migrate is conservative about the changes it makes but is not perfect.
If you would prefer not to run the CanJS codemods as part of the upgrade, you can skip this part by running the command as
donejs upgrade --no-canmigrate
.Go through the StealJS 2 Migration Guide
StealJS 2 only has a few, small, breaking changes, so it's easiest to upgrade it first. The StealJS 2.0 migration guide goes over the few things you might need to change in your code.
Go through the CanJS 5 Migration Guide
Although
donejs upgrade
covers a lot of the important parts of the upgrade, especially getting the correct versions of each dependency, it cannot do everything for you.The CanJS 5.0 migration guide goes over the parts that you might need to change manually. Reviewing this guide will also help familiarize yourself with CanJS 5, so it's a good thing to read even if you are developing a new project.
Getting help
We've taken care to make upgrading DoneJS apps as easy as possible. However, as always, we're available on Slack (#donejs channel) and the forums to try and help!