Tero Parviainen 4acbef19a8 docs(upgrade): add ngUpgrade guide version 2
closes #1538
This is a major reorganization of the Upgrade guide.

* Compatible with the new version of the AngularJS 1 PhoneCat
  tutorial.
* No longer switching Angular 1 code to SystemJS for PhoneCat,
  to allow beginning Angular 2 migration with fewer preparation
  steps. SystemJS switch now happens simultaneously with upgrade.
  (This is based on input from @joeeames)
* Testing moved to an appendix to make the main narrative
  shorter and easier to follow.
* Use component methods to do phone filtering and ordering
  instead of introducing pipes to replace filterFilter and orderByFilter.
* Cover issue with camelCase inputs on downgraded components.

For authors:

* All examples now fully integrated with the example boilerplate. Uses the
  same Angular 2 version as all other guides. E2E tests are executed
  along with all the others.
* Reduced number of PhoneCat versions from five to three.
* Each directory has a README explaining how to run it and what might
  be peculiar about it.

Closes angular/angular#8622
Relates to angular/angular.js#14416
Relates to angular/angular-phonecat#326
2016-05-28 09:33:06 -07:00

38 lines
1.4 KiB
Markdown

This is the Angular Phonecat application adjusted to fit our boilerplate project
structure.
The following changes from vanilla Phonecat are applied:
* Karma config for unit tests is in karma.conf.ng1.js because the boilerplate
Karma config is not compatible with the way Angular 1 tests need to be run.
The shell script run-unit-tests.sh can be used to run the unit tests.
* There's a `package.ng1.json`, which is not used to run anything but only to
show an example of changing the PhoneCat http-server root path.
* Also for the Karma shim, there is a `karma-test-shim.1.js` file which isn't
used but is shown in the test appendix.
* Instead of using Bower, Angular 1 and its dependencies are fetched from a CDN
in index.html and karma.conf.ng1.js.
* E2E tests have been moved to the parent directory, where `run-e2e-tests` can
discover and run them along with all the other examples.
* Angular 1 typings (from DefinitelyTyped) are added to typings-ng1 so that
TypeScript can recognize Angular 1 code. (typings.json comes from boilerplate
so we can't add them there).
* Most of the phone JSON and image data removed in the interest of keeping
repo weight down. Keeping enough to retain testability of the app.
## Running the app
Start like any example
npm run start
## Running unit tests
./run-unit-tests.sh
## Running E2E tests
Like for any example (at the project root):
gulp run-e2e-tests --filter=phonecat-2