angular-cn/packages
JoostK 5e5be43acd refactor(ivy): ngcc - categorize the various decorate calls upfront (#31614)
Any decorator information present in TypeScript is emitted into the
generated JavaScript sources by means of `__decorate` call. This call
contains both the decorators as they existed in the original source
code, together with calls to `tslib` helpers that convey additional
information on e.g. type information and parameter decorators. These
different kinds of decorator calls were not previously distinguished on
their own, but instead all treated as `Decorator` by themselves. The
"decorators" that were actually `tslib` helper calls were conveniently
filtered out because they were not imported from `@angular/core`, a
characteristic that ngcc uses to drop certain decorators.

Note that this posed an inconsistency in ngcc when it processes
`@angular/core`'s UMD bundle, as the `tslib` helper functions have been
inlined in said bundle. Because of the inlining, the `tslib` helpers
appear to be from `@angular/core`, so ngcc would fail to drop those
apparent "decorators". This inconsistency does not currently cause any
issues, as ngtsc is specifically looking for decorators based on  their
name and any remaining decorators are simply ignored.

This commit rewrites the decorator analysis of a class to occur all in a
single phase, instead of all throughout the `ReflectionHost`. This
allows to categorize the various decorate calls in a single sweep,
instead of constantly needing to filter out undesired decorate calls on
the go. As an added benefit, the computed decorator information is now
cached per class, such that subsequent reflection queries that need
decorator information can reuse the cached info.

PR Close #31614
2019-07-29 16:10:57 -07:00
..
animations build: convert entry_point to label (#30627) 2019-06-11 00:03:11 +00:00
bazel build: update to nodejs rules 0.34.0 and bazel 0.28.1 (#31824) 2019-07-26 15:01:25 -07:00
benchpress build: TypeScript 3.5 upgrade (#31615) 2019-07-25 17:05:23 -07:00
common fix(ivy): set LOCALE_ID when using the injector (#31566) 2019-07-26 14:04:47 -07:00
compiler feat(ivy): translate type-check diagnostics to their original source (#30181) 2019-07-25 16:36:32 -07:00
compiler-cli refactor(ivy): ngcc - categorize the various decorate calls upfront (#31614) 2019-07-29 16:10:57 -07:00
core fix(core): DebugElement.listeners not cleared on destroy (#31820) 2019-07-29 10:05:19 -07:00
docs refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
elements fix(elements): handle falsy initial value (#31604) 2019-07-18 14:26:37 -07:00
examples build: update to nodejs rules 0.34.0 and bazel 0.28.1 (#31824) 2019-07-26 15:01:25 -07:00
forms build: TypeScript 3.5 upgrade (#31615) 2019-07-25 17:05:23 -07:00
http refactor: fix remaining typescript strict flag failures (#30993) 2019-07-18 14:21:25 -07:00
language-service refactor(language-service): Remove unused class and method (#31597) 2019-07-22 09:52:42 -07:00
platform-browser fix(platform-browser): debug element query predicates not compatible with strictFunctionTypes (#30993) 2019-07-18 14:21:26 -07:00
platform-browser-dynamic build: convert entry_point to label (#30627) 2019-06-11 00:03:11 +00:00
platform-server refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
platform-webworker build: TypeScript 3.5 upgrade (#31615) 2019-07-25 17:05:23 -07:00
platform-webworker-dynamic build: convert entry_point to label (#30627) 2019-06-11 00:03:11 +00:00
private/testing test(ivy): add onlyInIvy perf counter expectations (#30339) 2019-05-09 11:22:00 -07:00
router refactor(docs-infra): remove `linenums=false` since it is now the default (#31674) 2019-07-24 14:38:54 -07:00
service-worker build: TypeScript 3.5 upgrade (#31615) 2019-07-25 17:05:23 -07:00
upgrade feat(upgrade): support $element in upgraded component template/templateUrl functions (#31637) 2019-07-24 14:34:20 -07:00
zone.js fix(zone.js): should expose some other internal intefaces (#31866) 2019-07-29 16:08:55 -07:00
BUILD.bazel refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
README.md Revert "docs: Remove unneeded file (#18106)" 2017-07-20 16:46:47 -05:00
empty.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
goog.d.ts fix(ivy): use goog.LOCALE for Closure Compiler to define default LOCALE_ID (#31519) 2019-07-16 13:02:10 -04:00
license-banner.txt build: bump year (#27880) 2019-01-11 11:15:59 -08:00
system.d.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
tsconfig-build-no-strict.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-build.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-test.json refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
tsconfig.json refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
types.d.ts build: switch to typescript's es2015 typings (#28570) 2019-02-06 14:17:55 -05:00

README.md

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

License: MIT