angular/packages
Alex Rickabaugh 79466baef8 fix(ivy): remove metadata from *Def and introduce *DefWithMeta types (#26203)
Previously in Ivy, metadata for directives/components/modules/etc was
carried in .d.ts files inside type information encoded on the
DirectiveDef, ComponentDef, NgModuleDef, etc types of Ivy definition
fields. This works well, but has the side effect of complicating Ivy's
runtime code as these extra generic type parameters had to be specified
as <any> throughout the codebase. *DefInternal types were introduced
previously to mitigate this issue, but that's the wrong way to solve
the problem.

This commit returns *Def types to their original form, with no metadata
attached. Instead, new *DefWithMeta types are introduced that alias the
plain definition types and add extra generic parameters. This way the
only code that needs to deal with the extra metadata parameters is the
compiler code that reads and writes them - the existence of this metadata
is transparent to the runtime, as it should be.

PR Close #26203
2018-10-04 10:11:17 -07:00
..
animations build: refactor ambient node & jasmine types so they are only included where needed (#25491) 2018-08-16 13:46:43 -07:00
bazel feat: add support for TypeScript 3.1 (#26151) 2018-09-28 09:34:51 -07:00
benchpress fix(benchpress): Use performance.mark() instead of console.time() (#24114) 2018-08-30 21:33:40 -07:00
common docs(common): move KeyValuePipe example to @usageNotes (#26039) 2018-09-24 09:11:02 -07:00
compiler fix(ivy): remove metadata from *Def and introduce *DefWithMeta types (#26203) 2018-10-04 10:11:17 -07:00
compiler-cli fix(ivy): remove metadata from *Def and introduce *DefWithMeta types (#26203) 2018-10-04 10:11:17 -07:00
core fix(ivy): remove metadata from *Def and introduce *DefWithMeta types (#26203) 2018-10-04 10:11:17 -07:00
docs refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
elements feat: add support for TypeScript 3.1 (#26151) 2018-09-28 09:34:51 -07:00
examples fix(core): In Testability.whenStable update callback, pass more complete (#25010) 2018-08-06 13:49:19 -07:00
forms docs: more form overview edits (#25663) 2018-09-25 18:48:15 -07:00
http docs(http): move examples to @usageNotes (#26039) 2018-09-24 09:11:02 -07:00
language-service refactor: fix return type of tryCall (#25481) 2018-09-27 12:07:38 -07:00
platform-browser feat: add support for TypeScript 3.1 (#26151) 2018-09-28 09:34:51 -07:00
platform-browser-dynamic build(bazel): update to rules_typescript 0.17.0 & rules_nodejs 0.13.4 (#25920) 2018-09-18 13:05:38 -07:00
platform-server feat: add support for TypeScript 3.1 (#26151) 2018-09-28 09:34:51 -07:00
platform-webworker build(bazel): update to rules_typescript 0.17.0 & rules_nodejs 0.13.4 (#25920) 2018-09-18 13:05:38 -07:00
platform-webworker-dynamic ci(ivy): configure CI environments for Ivy JIT and AOT (#24309) 2018-06-08 13:34:27 -07:00
private/testing build: refactor ambient node & jasmine types so they are only included where needed (#25491) 2018-08-16 13:46:43 -07:00
router refactor(router): get guards only one time and simplify guard operator signature (#26239) 2018-10-04 10:10:28 -07:00
service-worker fix(service-worker): do not blow up when caches are unwritable (#26042) 2018-09-24 09:53:39 -07:00
upgrade docs(upgrade): move examples etc into @usageNotes (#26039) 2018-09-24 09:11:02 -07:00
BUILD.bazel build: refactor ambient node & jasmine types so they are only included where needed (#25491) 2018-08-16 13:46:43 -07:00
empty.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
es6-subset.d.ts build: switch from npm to yarn (#19328) 2017-09-22 13:20:52 -07:00
goog.d.ts fix(compiler): add typings for COMPILED. 2017-09-29 09:26:38 -07:00
license-banner.txt docs(common): update copyright years (#21232) 2018-01-04 17:45:36 -05:00
README.md Revert "docs: Remove unneeded file (#18106)" 2017-07-20 16:46:47 -05:00
rollup.config.js refactor: make all rollup config ES5 compatible (#20028) 2017-10-30 23:09:17 -04:00
system.d.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
tsconfig-build.json build(bazel): Turning on strictPropertyInitialization for Angular. (#24572) 2018-06-25 07:57:13 -07:00
tsconfig-metadata.json fix(compiler): Fix look up of entryComponents in AOT Summaries (#24892) 2018-09-11 16:23:17 -07:00
tsconfig-test.json build: refactor ambient node & jasmine types so they are only included where needed (#25491) 2018-08-16 13:46:43 -07:00
tsconfig.json fix(compiler): Fix look up of entryComponents in AOT Summaries (#24892) 2018-09-11 16:23:17 -07:00
types.d.ts build: refactor ambient node & jasmine types so they are only included where needed (#25491) 2018-08-16 13:46:43 -07:00

Angular

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

License: MIT