219 Commits

Author SHA1 Message Date
Kara Erickson
99bdd257a6 fix(ivy): support projecting containers into containers (#24695)
PR Close #24695
2018-06-28 15:01:42 -07:00
Pawel Kozlowski
50fb13fb09 fix(ivy): report results to appropriate content queries (#24673)
PR Close #24673
2018-06-27 14:20:34 -07:00
Kara Erickson
fe8fcc834c refactor(ivy): remove dynamicParent from LNode (#24678)
PR Close #24678
2018-06-27 14:14:46 -07:00
Alex Rickabaugh
89c442270a feat(ivy): generate ngInjectorDef for @NgModule in JIT mode (#24632)
This commit takes advantage of the @angular/compiler work for ngInjectorDef
in AOT mode in order to generate the same definition in JIT mode.

PR Close #24632
2018-06-26 10:56:53 -07:00
Marc Laval
f229449c67 refactor(ivy): insert embedded views immediately (#24629)
PR Close #24629
2018-06-25 07:58:33 -07:00
Rado Kirov
c95437f15d build(bazel): Turning on strictPropertyInitialization for Angular. (#24572)
All errors for existing fields have been detected and suppressed with a
`!` assertion.

Issue/24571 is tracking proper clean up of those instances.

One-line change required in ivy/compilation.ts, because it appears that
the new syntax causes tsickle emitted node to no longer track their
original sourceFiles.

PR Close #24572
2018-06-25 07:57:13 -07:00
Olivier Combe
84272e2227 feat(ivy): runtime i18n (#24037)
PR Close #24037
2018-06-21 13:13:30 -07:00
Pawel Kozlowski
3e1a3b2e32 fix(ivy): support queries for views inserted in lifecycle hooks (#24587)
Closes #23707

PR Close #24587
2018-06-20 16:51:14 -07:00
Pawel Kozlowski
1e6a226703 test(ivy): ngTemplateOutlet runtime integration test (#24587)
PR Close #24587
2018-06-20 16:51:14 -07:00
Marc Laval
8b8168262d fix(ivy): nested ngFor should be supported (#24564)
PR Close #24564
2018-06-20 16:50:37 -07:00
Matias Niemelä
e8354edcd2 test(animations): properly reference body node for SSR environments (#23300)
PR Close #23300
2018-06-20 11:00:41 -07: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
Alex Rickabaugh
0f7e4fae20 style(ivy): defeat clang format issue (#24479)
clang-format (on mac) has taken a disliking to this particular line, and
rewrites one of the ɵ characters to an invalid Unicode sequence.

PR Close #24479
2018-06-14 14:15:58 -07:00
Alex Rickabaugh
a45fad3dd9 fix(ivy): keep JIT symbol table and r3_identifiers in sync (#24479)
At runtime in JIT mode, when the compiler writes a reference to a symbol that symbol
is resolved through a symbol table named angularCoreEnv in render3/jit/environment.
Previously, this symbol table was not kept up-to-date with the Ivy instruction set
and the names of symbols the compiler could reference.

This change brings the symbol table in sync, and also adds a test that verifies every
symbol the compiler can reference is available at runtime in the symbol table.

PR Close #24479
2018-06-14 14:15:58 -07:00
Alex Rickabaugh
f00ae516eb feat(ivy): implement host bindings in JIT mode (#24479)
PR Close #24479
2018-06-14 14:15:58 -07:00
Pawel Kozlowski
6d246d6c72 fix(ivy): allow view and content queries to match the same element (#24507)
When creating content queries from a directive on an element we need to take into account
existing view queries. The same element can be reported to both content and view queries
so freshly created content queries must be combined with pre-existing view queries.

PR Close #24507
2018-06-14 14:15:38 -07:00
Ben Lesh
82c5313740 feat(ivy): namespaced attributes added to output instructions (#24386)
NOTE: This does NOT add parsing of namespaced attributes

- Adds AttributeMarker for namespaced attributes
- Adds test for namespaced attributes
- Updates AttributeMarker enum to use CamelCase, and not UPPER_CASE names

PR Close #24386
2018-06-13 13:28:16 -07:00
Marc Laval
e3c54e4465 refactor(ivy): use comment nodes to mark view containers (#24346)
PR Close #24346
2018-06-13 11:23:21 -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
Pawel Kozlowski
014949f74c fix(ivy): correctly handle queries with embedded views (#24418)
This PR takes care of all the remaining cases where embedded view definition
and insertion points are different.

PR Close #24418
2018-06-11 14:01:01 -04:00
Kara Erickson
29eb24b142 refactor(ivy): combine LView with data (#24382)
PR Close #24382
2018-06-08 21:41:01 -07:00
Alex Rickabaugh
113556357a fix(ivy): compute transitive scopes from NgModuleDef only (#24334)
Previously, the transitive scopes of an NgModuleDef were computed
during execution of the @NgModule decorator. This meant that JIT-
compiled modules could only import other JIT-compiled modules, as
the import mechanism relied on the calculation of transitive scopes
to already have happened for the imported module.

This change moves computation of transitive scopes to a function
`transitiveScopesFor` (and makes it lazy). This opens the door for
AOT -> JIT or JIT -> AOT imports, as transitive scopes for AOT
modules can be calculated when needed by JIT, and AOT modules can
also write expressions that call `transitiveScopesFor` when
importing a JIT-compiled module.

PR Close #24334
2018-06-08 13:37:10 -07:00
Jason Aden
e3759f7a73 feat(ivy): add support of ApplicationRef.bootstrapModuleFactory (#23811)
PR Close #23811
2018-06-07 16:15:26 -04:00
Victor Berchet
7de2ba0e22 Revert "feat(ivy): add namespace instructions for SVG and others (#23899)"
This reverts commit 81e4b2a4bf21d8b6ab7d33053f4e020c09021e1f.
2018-06-06 13:38:21 -07:00
Victor Berchet
07b4c8be42 Revert "feat(ivy): added namespaced attributes (#23899)"
This reverts commit d6989c80d3f23397790bded613c7922e9ef61865.
2018-06-06 13:38:20 -07:00
Victor Berchet
3128b26e5c Revert "feat(ivy): add element instruction (#23899)"
This reverts commit b415010222c4616a45cf06fb85221f2452aa05e4.
2018-06-06 13:38:19 -07:00
Victor Berchet
4f5b01a98a Revert "refactor(ivy): Use AttributeMarker instead of NS (#23899)"
This reverts commit 1208a35373f1ebf58f7512948c6f58d7d1a03570.
2018-06-06 13:38:18 -07:00
Victor Berchet
c151f9cdc8 Revert "refactor(ivy): rename setNS, setHtmlNS and friends to namespace, namespaceHTML, etc (#23899)"
This reverts commit 0d06c866c69bb9dec51c570afc2bd77977aacd23.
2018-06-06 13:38:17 -07:00
Victor Berchet
31988a6ff9 Revert "test(ivy): add testing for namespaced attributes (#23899)"
This reverts commit e994b11105e3a2dcd02eb3432a53a44f50991fb8.
2018-06-06 13:38:12 -07:00
Victor Berchet
355e0b0587 Revert "test(ivy): update test that is flaky in IE (#23899)"
This reverts commit 51e9e64c5acd0ce024873ffa5a71fd0ca6db8232.
2018-06-06 13:38:11 -07:00
Victor Berchet
d96ae123b2 Revert "feat(ivy): SVG now handled by ivy compiler (#23899)"
This reverts commit 1007d1ad271566a8beabb2fcf234be393b3ce313.
2018-06-06 13:38:10 -07:00
Victor Berchet
7e73287676 Revert "feat(ivy): added new namespace and element instructions to JIT environment (#23899)"
This reverts commit acf270d724ce0b229bc5410b3344b142efb61a1a.
2018-06-06 13:38:00 -07:00
Ben Lesh
acf270d724 feat(ivy): added new namespace and element instructions to JIT environment (#23899)
PR Close #23899
2018-06-06 10:22:28 -07:00
Ben Lesh
1007d1ad27 feat(ivy): SVG now handled by ivy compiler (#23899)
PR Close #23899
2018-06-06 10:22:28 -07:00
Ben Lesh
51e9e64c5a test(ivy): update test that is flaky in IE (#23899)
PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
e994b11105 test(ivy): add testing for namespaced attributes (#23899)
PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
0d06c866c6 refactor(ivy): rename setNS, setHtmlNS and friends to namespace, namespaceHTML, etc (#23899)
- Renames functions
- Adds documentation

PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
1208a35373 refactor(ivy): Use AttributeMarker instead of NS (#23899)
- Removes NS enum
- Uses existing AttributeMarker
- Adds enum value NAMESPACE_URI

PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
b415010222 feat(ivy): add element instruction (#23899)
Adds a simplified element instruction that can be used if an element
has no children.

PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
d6989c80d3 feat(ivy): added namespaced attributes (#23899)
PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
81e4b2a4bf feat(ivy): add namespace instructions for SVG and others (#23899)
PR Close #23899
2018-06-06 10:22:27 -07:00
Victor Berchet
c494d3cf60
Revert "feat(ivy): add support of ApplicationRef.bootstrapModuleFactory (#23811)"
This reverts commit 22b58a717aad87092a7f7080805c10ef36960694.
This commit causes a breakage in g3.
2018-06-05 22:11:47 -07:00
Jason Aden
22b58a717a feat(ivy): add support of ApplicationRef.bootstrapModuleFactory (#23811)
PR Close #23811
2018-06-05 20:10:25 -07:00
Kara Erickson
86b13ccf80 refactor(ivy): move static parts of LView.cleanup to TView (#24301)
PR Close #24301
2018-06-05 18:30:28 -07:00
Kara Erickson
57eacf4b5a refactor(ivy): move LView.template and component templates to TView (#24300)
PR Close #24300
2018-06-05 15:13:36 -07:00
Marc Laval
b750919ce0 feat(ivy): implement ViewContainerRef.remove (#24221)
PR Close #24221
2018-06-05 13:33:40 -07:00
Miško Hevery
08a18b82de refactor(common): Remove ngOnChanges from NgForOf (#23378)
`NgForOf` used to implement `OnChanges` and than use
`ngOnChanges` callback to detect when `ngForOf` binding
changed to update the differ. We now do the checking
manually which puts less pressure on the runtime to do
the bookkeeping and should result in minor perf improvement.

PR Close #23378
2018-06-04 13:24:43 -07:00
Kara Erickson
5794506c64 refactor(ivy): move id to TView (#24264)
PR Close #24264
2018-06-03 20:46:12 -07:00
Pawel Kozlowski
0561b66a2b fix(ivy): query nodes from different TemplateRefs inserted into one ViewContainerRef (#24254)
PR Close #24254
2018-06-02 10:34:52 -07:00
JoostK
2d9111bfb6 fix(ivy): account for multiple changes between change detection runs (#24152)
PR Close #24152
2018-05-31 14:08:23 -07:00