4acbef19a8
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 |
||
---|---|---|
.. | ||
ts | ||
README.md | ||
e2e-spec.js |
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