Alex Rickabaugh 27bc7dcb43 feat(ivy): ngtsc compiles @Component, @Directive, @NgModule (#24427)
This change supports compilation of components, directives, and modules
within ngtsc. Support is not complete, but is enough to compile and test
//packages/core/test/bundling/todo in full AOT mode. Code size benefits
are not yet achieved as //packages/core itself does not get compiled, and
some decorators (e.g. @Input) are not stripped, leading to unwanted code
being retained by the tree-shaker. This will be improved in future commits.

PR Close #24427
2018-06-14 14:36:45 -07:00
..

How to run the benchmarks locally

Run in the browser

$ build.sh (only needed 1x to copy over third party resources) $ cp -r ./modules/benchmarks ./dist/all/ $ ./node_modules/.bin/tsc -p modules --emitDecoratorMetadata -w $ gulp serve $ open http://localhost:8000/all/benchmarks/src/tree/ng2/index.html?bundles=false

Run e2e tests

$ export NODE_PATH=$(pwd)/dist/all:$(pwd)/dist/tools $ ./node_modules/.bin/protractor protractor-e2e.conf.js --specs=dist/all/benchmarks/e2e_test/tree_spec.js

Options for protractor with protractor-e2e.conf.js:

  • --bundles=true: use prebuilt bundles
  • --ng-help: show all available options

Run benchmarks tests

$ export NODE_PATH=$(pwd)/dist/all:$(pwd)/dist/tools $ ./node_modules/.bin/protractor protractor-perf.conf.js --specs=dist/all/benchmarks/e2e_test/tree_perf.js

Options for protractor with protractor-perf.conf.js:

  • --bundles=true: use prebuilt bundles
  • --ng-help: show all available options

Compile *_aot.ts files

These files are compiled as part of the compiler_cli integration tests. See @angular/compile_cli/integrationtest/tsconfig.json