angular-docs-cn/public/docs/_examples/upgrade-phonecat-2-hybrid
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
..
ts docs(upgrade): add ngUpgrade guide version 2 2016-05-28 09:33:06 -07:00
README.md docs(upgrade): add ngUpgrade guide version 2 2016-05-28 09:33:06 -07:00
e2e-spec.js docs(upgrade): add ngUpgrade guide version 2 2016-05-28 09:33:06 -07:00

README.md

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