angular-cn/packages/core/test/bundling
Andrew Scott 1786586747 fix(core): Refresh transplanted views at insertion point only (#35968)
Only refresh transplanted views at the insertion location in Ivy.
Previously, Ivy would check transplanted views at both the insertion and
declaration points. This is achieved by adding a marker to the insertion
tree when we encounter a transplanted view that needs to be refreshed at
its declaration. We use this marker as an extra indication that we still
need to descend and refresh those transplanted views at their insertion
locations even if the insertion view and/or its parents are not dirty.

This change fixes several issues:

  * Transplanted views refreshed twice if both insertion and declaration
  are dirty. This could be an error if the insertion component changes
  result in data not being available to the transplanted view because it
  is slated to be removed.
  * CheckAlways transplanted views not refreshed if shielded by
  non-dirty OnPush (fixes #35400)
  * Transplanted views still refreshed when insertion tree is detached
  (fixes #21324)

PR Close #35968
2020-04-29 14:31:12 -07:00
..
animation_world build: reformat repo to new clang@1.4.0 (#36613) 2020-04-14 12:08:36 -07:00
core_all build: migrate determining if Ivy is enabled in typescript genrule files to use angular_ivy_enabled (#33983) 2019-11-26 16:38:40 -05:00
cyclic_import fix(core): Refresh transplanted views at insertion point only (#35968) 2020-04-29 14:31:12 -07:00
hello_world fix(core): Refresh transplanted views at insertion point only (#35968) 2020-04-29 14:31:12 -07:00
hello_world_i18n build: update to rules_nodejs 0.38 (#32889) 2019-10-08 09:27:11 -07:00
hello_world_r2 build: reformat repo to new clang@1.4.0 (#36613) 2020-04-14 12:08:36 -07:00
injection build: reformat repo to new clang@1.4.0 (#36613) 2020-04-14 12:08:36 -07:00
todo fix(core): Refresh transplanted views at insertion point only (#35968) 2020-04-29 14:31:12 -07:00
todo_i18n build: reformat repo to new clang@1.4.0 (#36613) 2020-04-14 12:08:36 -07:00
todo_r2 build: reformat repo to new clang@1.4.0 (#36613) 2020-04-14 12:08:36 -07:00
util build: migrate determining if Ivy is enabled in typescript genrule files to use angular_ivy_enabled (#33983) 2019-11-26 16:38:40 -05:00
README.md refactor(ivy): clean of #34804 from previous merge (#35022) 2020-01-29 16:35:08 -08:00

README.md

Bundle

js_expected_symbol_test

This folder contains tests which assert that most of the code is tree shaken away. This is asserted by keeping gold files of all symbols which are expected to be retained. When doing renaming it is often necessary to update the gold files, to do so use these commands:

yarn bazel run --config=ivy //packages/core/test/bundling/cyclic_import:symbol_test.accept
yarn bazel run --config=ivy //packages/core/test/bundling/hello_world:symbol_test.accept
yarn bazel run --config=ivy //packages/core/test/bundling/injection:symbol_test.accept
yarn bazel run --config=ivy //packages/core/test/bundling/todo:symbol_test.accept