Skip to content

Latest commit

 

History

History
73 lines (53 loc) · 2.71 KB

V3-Migration-Guide.md

File metadata and controls

73 lines (53 loc) · 2.71 KB

Version 3.0.0 Migration Guide

As part of version 3.0.0 eight packages (dojo/has, dojo/shim, dojo/core, dojo/i18n, dojo/widget-core, dojo/routing, dojo/stores and dojo/test-extras) have been consolidated into a new package called @dojo/framework.

To facilitate a friction-free upgrade process there is a migration command @dojo/cli-upgrade-app that should automatically update all import paths to point to the new framework package.

To install the command run the following from the project root:

npm install @dojo/cli-upgrade-app --no-save

To perform the migration, run the following command from the project root:

dojo upgrade app

Next, you get prompted to make sure that you want to continue as the changes are irreversible once executed. The output from the migration tool should return the files scanned and changed:

Processing 49 files...
Spawning 7 workers...
Sending 7 files to free worker...
Sending 7 files to free worker...
Sending 7 files to free worker...
Sending 7 files to free worker...
Sending 7 files to free worker...
Sending 7 files to free worker...
Sending 7 files to free worker...
All done.
Results:
0 errors
27 unmodified
0 skipped
22 ok
Time elapsed: 0.677seconds

At this point, the project is ready to have the old @dojo dependencies removed and the new @dojo/framework installed. The commands for doing this get included in the migration tools output.

Upgrade complete, you can now add the new dojo/framework dependency and safely remove deprecated dependencies with the following:

install the dojo framework package:
    npm install @dojo/framework
remove legacy packages:
    npm uninstall -S -D @dojo/core @dojo/has @dojo/i18n @dojo/widget-core @dojo/routing @dojo/stores @dojo/shim @dojo/test-extras

If the project is using @dojo/widgets and @dojo/interop, these require upgrading to version 3.0.0. These packages get upgraded by running npm upgrade in the project root.

It is also recommended to run dojo version --outdated to check for outdated cli commands.

Note: The migration tool may create line lengths that violate your projects linting rules, be sure to run your linter and manually fix violations.

Other notable changes:

Evergreen builds by default

The default value of the legacy flag in @dojo/cli-build-app gets changed from true to false. If the project needs to support IE11, then the legacy flag needs to be passed on the command line or saved in the projects .dojorc file.

To run the build in legacy mode use the --legacy true on the command line.

If you do not have a .dojorc file run dojo init from your projects root directory and then edit the file with the following contents

{
	"build-app": {
		"legacy": true
	}
}