Andrew Kushnir
aedc343003
feat(ivy): updated translation const names (that include message ids) ( #27185 )
...
PR Close #27185
2018-11-30 10:00:54 -08:00
Matias Niemelä
20ea5b5634
refactor(ivy): ensure directive host bindings use the styling algorithm ( #27145 )
...
PR Close #27145
2018-11-17 10:12:47 -08:00
Misko Hevery
4222b63639
Revert "refactor(ivy): ensure directive host bindings use the styling algorithm ( #27134 )"
...
This reverts commit b5dbf5154e19088aa3fde143cf72892d43170f71.
2018-11-16 17:55:41 -08:00
Matias Niemelä
b5dbf5154e
refactor(ivy): ensure directive host bindings use the styling algorithm ( #27134 )
...
PR Close #27134
2018-11-16 16:10:45 -08:00
Andrew Kushnir
92e80af875
feat(ivy): ICU support for Ivy ( #26794 )
...
PR Close #26794
2018-11-16 16:09:30 -08:00
Olivier Combe
e22a302cad
feat(ivy): support for i18n & ICU expressions ( #27101 )
...
PR Close #27101
2018-11-14 16:22:01 -08:00
Miško Hevery
f8f1168fa6
Revert "feat(ivy): support for i18n & ICU expressions ( #26275 )"
...
This reverts commit a63fd2d0f5f867ee17bf991a72ccbe6d6fa76566.
2018-11-14 10:23:21 -08:00
Olivier Combe
a63fd2d0f5
feat(ivy): support for i18n & ICU expressions ( #26275 )
...
PR Close #26275
2018-11-13 14:50:30 -08:00
Matias Niemelä
095b6e8113
refactor(ivy): abstract all styling-related compiler logic into a shared class ( #27043 )
...
PR Close #27043
2018-11-12 15:32:48 -08:00
Kara Erickson
1810cdf2c3
fix(ivy): compiler should generate restoreView() for local refs in listeners ( #27034 )
...
PR Close #27034
2018-11-12 12:50:58 -08:00
Matias Niemelä
95993e1dd5
fix(ivy): ensure pipes indices are referenced in styling bindings ( #26755 )
...
PR Close #26755
2018-10-26 18:40:23 -04:00
Matias Niemelä
f6c2db818e
fix(ivy): ensure styling pipes are allocated before used in bindings ( #26593 )
...
PR Close #26593
2018-10-24 18:42:59 -04:00
Andrew Kushnir
8a3fd58cad
feat(ivy): i18n compiler support for i18nStart and i18nEnd instructions ( #26442 )
...
PR Close #26442
2018-10-17 11:03:52 -07:00
Pawel Kozlowski
4b494f23f5
fix(ivy): fix generated code for style bindings with units ( #26397 )
...
PR Close #26397
2018-10-11 14:11:15 -07:00
Andrew Kushnir
39f42bad1c
feat(ivy): i18n compiler support for element attributes ( #26280 )
...
PR Close #26280
2018-10-11 13:00:19 -07:00
Alex Rickabaugh
9cb17ecc39
refactor(ivy): extract directive matching code into a utility function ( #26203 )
...
Upcoming implementation work for template type-checking will need to reuse the
code which matches directives inside a template, so this refactor commit moves
the code to a shared location in preparation.
This commit pulls the code needed to match directives against a template node
out of the TemplateDefinitionBuilder into a utility function, in preparation
for template type-checking and other TemplateDefinitionBuilder refactoring.
PR Close #26203
2018-10-04 10:11:16 -07:00
Andrew Kushnir
aaaa34021c
fix(ivy): sanitize tag name while generating listener function name ( #26237 )
...
PR Close #26237
2018-10-03 15:29:49 -07:00
Matias Niemelä
7cf5807100
fix(ivy): ensure [style] and [class] bindings are placed in the same instruction ( #26126 )
...
PR Close #26126
2018-09-27 15:32:40 -07:00
Misko Hevery
632b19d5c2
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
d7326d81ba
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
b286abeabe
feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Matias Niemelä
e3633888ed
feat(ivy): support animation @triggers in templates ( #25849 )
...
PR Close #25849
2018-09-10 13:59:27 -07:00
Alex Rickabaugh
cc29b9cf93
fix(ivy): use globally unique names for i18n constants ( #25689 )
...
Closure compiler requires that the i18n message constants of the form
const MSG_XYZ = goog.getMessage('...');
have names that are unique across an entire compilation, even if the
variables themselves are local to a given module. This means that in
practice these names must be unique in a codebase.
The best way to guarantee this requirement is met is to encode the
relative file name of the file into which the constant is being written
into the constant name itself. This commit implements that solution.
PR Close #25689
2018-09-04 12:09:29 -07:00
Pawel Kozlowski
6def18a95e
fix(ivy): support directive outputs on ng-template ( #25717 )
...
Compiler part of #25698
Fixes #25697
PR Close #25717
2018-08-31 13:37:16 -07:00
Kara Erickson
b424b3187e
fix(compiler): add hostVars and support pure functions in host bindings ( #25626 )
...
PR Close #25626
2018-08-31 09:42:58 -07:00
Miško Hevery
1f59f2f04d
fix(core): size regression with closure compiler ( #25531 )
...
By pulling in `compiler` into `core` the `compiler` was not
100% tree-shakable and about 8KB of code was retained
when tree-shaken with closure.
PR Close #25531
2018-08-30 21:22:40 -07:00
Pawel Kozlowski
6a0f78fabf
fix(ivy): match directives on bindings and element outputs ( #25614 )
...
Closes #23560
PR Close #25614
2018-08-27 18:17:25 -04:00
Kara Erickson
27e2039630
fix(compiler): update compiler to generate new slot allocations ( #25607 )
...
PR Close #25607
2018-08-22 21:08:39 -04:00
Pawel Kozlowski
11e2d9da1a
feat(ivy): add support to template local refs in the compiler ( #25576 )
...
Fixes #23316
PR Close #25576
2018-08-20 16:24:56 -07:00
Kara Erickson
21a14407f6
refactor(ivy): generate vars in component defs ( #25562 )
...
PR Close #25562
2018-08-20 11:08:10 -07:00
Kara Erickson
f2aa9c6a7f
refactor(ivy): use generated consts value to set binding index ( #25533 )
...
PR Close #25533
2018-08-17 14:32:55 -07:00
Kara Erickson
6482f6f0fe
refactor(ivy): separate container into 2 instructions ( #25509 )
...
PR Close #25509
2018-08-16 13:47:14 -07:00
Miško Hevery
9ee6702fa9
refactor(ivy): remove short instruction names as they provide no value ( #25493 )
...
PR Close #25493
2018-08-16 11:04:34 -07:00
Pawel Kozlowski
2d759927d4
feat(ivy): add support for ng-container in the compiler ( #25383 )
...
PR Close #25383
2018-08-09 13:13:04 -07:00
Victor Berchet
728d98d3a9
fix(ivy): add bound proerties name to template ( #25272 )
...
Before this change bound properties would not be used when matching directives
at runtime.
That is `<ng-template [ngIf]=cond>...</ng-template>` would not trigger the
`ngIf` directive.
PR Close #25272
2018-08-02 22:59:04 -07:00
Kara Erickson
c8a4fb1faf
fix(ivy): walk declaration views in listener ( #25228 )
...
PR Close #25228
2018-07-31 16:35:20 -07:00
Kara Erickson
2ef777b0b2
fix(ivy): convert context code into a tree-shakable instruction ( #24943 )
...
PR Close #24943
2018-07-30 15:54:11 -07:00
Kara Erickson
fe14f180a6
fix(compiler): update compiler to flatten nested template fns ( #24943 )
...
PR Close #24943
2018-07-30 15:54:11 -07:00
Pawel Kozlowski
1e28495c89
fix(ivy): update compiler with latest runtime for view queries ( #25061 )
...
PR Close #25061
2018-07-25 10:39:30 -07:00
Matias Niemelä
169e9dd2c8
feat(ivy): bridge compile instructions to include sanitization helpers ( #24938 )
...
PR Close #24938
2018-07-23 08:49:52 -07:00
Matias Niemelä
ba3eb8b654
feat(ivy): properly apply class="", [class], [class.foo] and [attr.class] bindings ( #24822 )
...
PR Close #24822
2018-07-17 16:33:25 -04:00
Alex Rickabaugh
d723a69b31
fix(ivy): animations should not be a hard error yet ( #24738 )
...
Previously the Ivy template compiler would throw on encountering
an animation binding (e.g. [@anim]). This is unneccessary and
precludes testing existing code. This commit changes the error to a
warning.
PR Close #24738
2018-07-12 16:36:35 -04:00
Kara Erickson
3a19f70d1c
refactor(ivy): replace pNextOrParent with TNode props ( #24752 )
...
PR Close #24752
2018-07-10 11:12:27 -07:00
Matias Niemelä
3980640d53
feat(ivy): properly apply style="", [style], [style.foo] and [attr.style] bindings ( #24602 )
...
PR Close #24602
2018-07-06 13:51:00 -07:00
Alex Rickabaugh
b6af8700ce
feat(ivy): AOT support for compilation of @Pipes ( #24703 )
...
This commit adds support to ngtsc for compilation of the @Pipe
annotation, including support for pipes in @NgModule scopes.
PR Close #24703
2018-07-03 18:36:02 -04:00
Alex Rickabaugh
50d4a4fe5c
fix(compiler): fix a few non-tree-shakeable code patterns ( #24677 )
...
This change makes @angular/compiler more tree-shakeable by changing
an enum to a const enum and by getting rid of a top-level map that
the tree-shaker was seeing as a reference which caused r3_identifiers
to be retained.
This drops a few hundred bytes of JS from tree-shaken ngtsc compiled
apps.
PR Close #24677
2018-06-28 17:51:42 -04:00
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
Ben Lesh
8dd99ac550
refactor(ivy): add element instruction, reducing output size ( #24379 )
...
- Adds an element instruction
- Reduces size of compiled output slightly
PR Close #24379
2018-06-11 14:02:48 -04:00
Matias Niemelä
1b253e14ff
fix(ivy): special case [style] and [class] bindings for future use ( #23232 )
...
PR Close #23232
2018-06-08 15:27:58 -07:00
Ben Lesh
8c1ac28275
feat(ivy): now supports SVG and MathML elements ( #24377 )
...
- Adds support for ivy creating SVG and MathML elements properly using
createElementNS
PR Close #24377
2018-06-08 15:27:35 -07:00