775 Commits

Author SHA1 Message Date
Victor Berchet
355e0b0587 Revert "test(ivy): update test that is flaky in IE ()"
This reverts commit 51e9e64c5acd0ce024873ffa5a71fd0ca6db8232.
2018-06-06 13:38:11 -07:00
Victor Berchet
d96ae123b2 Revert "feat(ivy): SVG now handled by ivy compiler ()"
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 ()"
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 ()
PR Close 
2018-06-06 10:22:28 -07:00
Ben Lesh
1007d1ad27 feat(ivy): SVG now handled by ivy compiler ()
PR Close 
2018-06-06 10:22:28 -07:00
Ben Lesh
51e9e64c5a test(ivy): update test that is flaky in IE ()
PR Close 
2018-06-06 10:22:27 -07:00
Ben Lesh
1915e47d11 docs(ivy): update SVG status ()
PR Close 
2018-06-06 10:22:27 -07:00
Ben Lesh
e994b11105 test(ivy): add testing for namespaced attributes ()
PR Close 
2018-06-06 10:22:27 -07:00
Ben Lesh
0d06c866c6 refactor(ivy): rename setNS, setHtmlNS and friends to namespace, namespaceHTML, etc ()
- Renames functions
- Adds documentation

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

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

PR Close 
2018-06-06 10:22:27 -07:00
Ben Lesh
d6989c80d3 feat(ivy): added namespaced attributes ()
PR Close 
2018-06-06 10:22:27 -07:00
Ben Lesh
81e4b2a4bf feat(ivy): add namespace instructions for SVG and others ()
PR Close 
2018-06-06 10:22:27 -07:00
Victor Berchet
c494d3cf60
Revert "feat(ivy): add support of ApplicationRef.bootstrapModuleFactory ()"
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 ()
PR Close 
2018-06-05 20:10:25 -07:00
Kara Erickson
86b13ccf80 refactor(ivy): move static parts of LView.cleanup to TView ()
PR Close 
2018-06-05 18:30:28 -07:00
Matias Niemelä
8db928df9d fix(animations): retain trigger-state for nodes that are moved around ()
This patch ensures that if a list of nodes (that contain
animation triggers) are moved around then they will retain their
trigger-value state when animated again at a later point.

PR Close 
2018-06-05 18:29:47 -07:00
Kara Erickson
57eacf4b5a refactor(ivy): move LView.template and component templates to TView ()
PR Close 
2018-06-05 15:13:36 -07:00
Marc Laval
b750919ce0 feat(ivy): implement ViewContainerRef.remove ()
PR Close 
2018-06-05 13:33:40 -07:00
Victor Berchet
9c403753e2 refactor(ivy): misc minor fixes in the JIT compiler ()
PR Close 
2018-06-05 11:33:54 -07:00
Miško Hevery
08a18b82de refactor(common): Remove ngOnChanges from NgForOf ()
`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 
2018-06-04 13:24:43 -07:00
Kara Erickson
5794506c64 refactor(ivy): move id to TView ()
PR Close 
2018-06-03 20:46:12 -07:00
Kara Erickson
cb65724761 refactor(ivy): combine lifecycleStage with LViewFlags ()
PR Close 
2018-06-02 19:34:16 -07:00
Kara Erickson
44856bfc2f refactor(ivy): move bindingStartIndex to TView ()
PR Close 
2018-06-02 19:33:57 -07:00
Kara Erickson
5db4f1a5ba refactor(ivy): convert TNode.index to number, general cleanup ()
PR Close 
2018-06-02 19:33:27 -07:00
Pawel Kozlowski
0561b66a2b fix(ivy): query nodes from different TemplateRefs inserted into one ViewContainerRef ()
PR Close 
2018-06-02 10:34:52 -07:00
Alan Agius
f69ac670ee feat(compiler-cli): update tsickle to 0.29.x ()
PR Close 
2018-06-01 08:35:14 -07:00
Victor Berchet
5f178f3a5a fix(ivy): do not eagerly JIT compile modules ()
PR Close 
2018-05-31 16:03:49 -07:00
Victor Berchet
81c13e2f86 refactor(ivy): remove references to Ivy ()
PR Close 
2018-05-31 16:03:49 -07:00
JoostK
2d9111bfb6 fix(ivy): account for multiple changes between change detection runs ()
PR Close 
2018-05-31 14:08:23 -07:00
JoostK
a5c47d0045 fix(ivy): determine value of SimpleChange.firstChange per property ()
PR Close 
2018-05-31 14:08:23 -07:00
Kara Erickson
7e3f8f77a9 refactor(ivy): replace LView.child with TView.childIndex lookup ()
PR Close 
2018-05-31 12:10:49 -07:00
Alec
e79b845a45
docs(ivy): fix typo in STATUS.md 2018-05-30 16:48:40 -07:00
JoostK
b99ef2b80a refactor(ivy): simplify bind instruction to reuse bindingUpdated logic ()
Added runtime and compiler testcases for interpolated bindings, which verify
that NO_CHANGE is properly handled in `bind`.

PR Close 
2018-05-30 16:38:46 -07:00
Victor Berchet
accda00190 test(platform-server): update the symbol lists ()
PR Close 
2018-05-30 15:51:17 -07:00
Victor Berchet
c917e5b5bb test(ivy): update TNode counts to reflect changes in ()
After  there is 2 `TNode` in those tests:
- 1 for the host,
- 1 for the text node.

The PR  status was green because it branched off master before  was
merged in.

PR Close 
2018-05-30 14:27:22 -07:00
Martin Probst
2a78d5e6fe refactor(core): clean up dupe'd imports in reflector ()
Closure Compiler in some configurations complains about duplicate
imports. This change replaces the export-with-import with an export of
the imported symbol.

closes 

PR Close 
2018-05-30 11:45:00 -07:00
JoostK
95074ca303 fix(ivy): fix performance counter for textBinding instruction ()
PR Close 
2018-05-30 11:44:22 -07:00
Pawel Kozlowski
1cd9e6c2eb feat(ivy): support queries with views inserted through ViewContainerRef ()
This PR tackles a simple case where ViewRef definition point (<ng-template>) is the
same as the insertion point (ViewContainerRef requested on the said <ng-template>).
For this particular case we can assume that we know a container into which a given
view will be inserted when a view is created. This is not true fall all the possible
cases so follow-up PR will be needed to extend this basic implementation.

PR Close 
2018-05-30 11:43:57 -07:00
Alex Rickabaugh
646b42a113 feat(ivy): JIT renders the TODO app ()
This commit builds out enough of the JIT compiler to render
//packages/core/test/bundling/todo, and allows the tests to run in
JIT mode.

To play with the app, run:

bazel run --define=compile=jit //packages/core/test/bundling/todo:prodserver

PR Close 
2018-05-30 11:25:57 -07:00
Marc Laval
42a7295203 refactor(ivy): remove dynamicViewCount from LContainer ()
PR Close 
2018-05-30 11:24:53 -07:00
Marc Laval
2e21690c66 feat(ivy): support renderer.destroy and renderer.destroyNode hooks ()
PR Close 
2018-05-30 09:57:51 -07:00
Olivier Combe
f6f44edcc0 docs: update ivy perf notes ()
PR Close 
2018-05-30 09:57:08 -07:00
Pawel Kozlowski
90bf5d8961 feat(ivy): separate attributes for directive matching purposes ()
In ngIvy directives matching (determining which directives are active based
on a CSS seletor) happens at runtime. This means that runtime needs to have
enough context to match directives. This PR takes care of cases where a directive's
selector should match bindings (ex. [foo]="exp") and event handlers (ex. (out)="do()").
In the mentioned cases we need to have binding / output "attributes" for directive's
CSS selector matching purposes. At the same time those are not regular attributes and
as such should not  be reflected in the DOM.

Closes 

PR Close 
2018-05-30 09:56:34 -07:00
JoostK
b87d650da2 refactor(ivy): rename PipeDef.n to PipeDef.factory ()
The original reason for this property to be short no longer holds true,
as pipes always need to be defined using `definePipe`.

PR Close 
2018-05-30 09:55:54 -07:00
Kara Erickson
e53179ef8c refactor(ivy): move parent from LNode to TNode ()
PR Close 
2018-05-30 01:42:20 -04:00
cexbrayat
41cd8f3efb refactor(core): use Partial<T> for MetadataOverride ()
Allows to write:

const fixture = TestBed
      .overridePipe(DisplayNamePipe, { set: { pure: false } })
      .createComponent(MenuComponent);

when you only want to set the `pure` metadata,
instead of currently:

const fixture = TestBed
      .overridePipe(DisplayNamePipe, { set: { name: 'displayName', pure: false } })
      .createComponent(MenuComponent);

which forces you to redefine the name of the pipe even if it is useless.

Fixes 

PR Close 
2018-05-29 18:40:05 -04:00
Vikram Subramanian
3fd3c2ac4c test(animations): fix Node.js detection in animation tests ()
PR Close 
2018-05-29 18:21:20 -04:00
Alex Rickabaugh
1eafd04eb3 build(ivy): support alternate compilation modes to enable Ivy testing ()
Bazel has a restriction that a single output (eg. a compiled version of
//packages/common) can only be produced by a single rule. This precludes
the Angular repo from having multiple rules that build the same code. And
the complexity of having a single rule produce multiple outputs (eg. an
ngc-compiled version of //packages/common and an Ivy-enabled version) is
too high.

Additionally, the Angular repo has lots of existing tests which could be
executed as-is under Ivy. Such testing is very valuable, and it would be
nice to share not only the code, but the dependency graph / build config
as well.

Thus, this change introduces a --define flag 'compile' with three potential
values. When --define=compile=X is set, the entire build system runs in a
particular mode - the behavior of all existing targets is controlled by
the flag. This allows us to reuse our entire build structure for testing
in a variety of different manners. The flag has three possible settings:

* legacy (the default): the traditional View Engine (ngc) build
* local: runs the prototype ngtsc compiler, which does not rely on global
  analysis
* jit: runs ngtsc in a mode which executes tsickle, but excludes the
  Angular related transforms, which approximates the behavior of plain
  tsc. This allows the main packages such as common to be tested with
  the JIT compiler.

Additionally, the ivy_ng_module() rule still exists and runs ngc in a mode
where Ivy-compiled output is produced from global analysis information, as
a stopgap while ngtsc is being developed.

PR Close 
2018-05-29 18:02:29 -04:00
Victor Berchet
729c797890 fix(ivy): pipeBindV takes an array of values ()
PR Close 
2018-05-25 13:46:50 -04:00