angular-cn/packages/core/test/bundling
Misko Hevery ee8b8f52aa feat(ivy): Change static priority resolution to be same level as directive it belongs to (#34938)
This change changes the priority order of static styling.

Current priority:
```
(least priority)
- Static
  - Component
  - Directives
  - Template
- Dynamic Binding
  - Component
    - Map/Interpolation
    - Property
  - Directives
    - Map/Interpolation
    - Property
  - Template
    - Map/Interpolation
    - Property
(highest priority)
```

The issue with the above priority is this use case:

```
<div style="color: red;" directive-which-sets-color-blue>
```
In the above case the directive will win and the resulting color will be `blue`. However a small change of adding interpolation to the example like so. (Style interpolation is coming in https://github.com/angular/angular/pull/34202)
```
<div style="color: red; width: {{exp}}px" directive-which-sets-color-blue>
```
Changes the priority from static binding to interpolated binding which means now the resulting color is `red`. It is very surprising that adding an unrelated interpolation and style can change the `color` which was not changed. To fix that we need to make sure that the static values are associated with priority of the source (directive or template) where they were declared. The new resulting priority is:

```
(least priority)
- Component
  - Static
  - Map/Interpolation
  - Property
- Directives
  - Static
  - Map/Interpolation
  - Property
- Template
  - Static
  - Map/Interpolation
  - Property
(highest priority)
```

PR Close #34938
2020-01-29 15:41:47 -08:00
..
animation_world build: set default ts_devserver serving_path to /app_bundle.js to match g3 (#33996) 2019-11-26 16:09:32 -08: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 refactor(ivy): change styling to use programmatic API on updates (#34804) 2020-01-24 12:23:19 -08:00
hello_world refactor(ivy): change styling to use programmatic API on updates (#34804) 2020-01-24 12:23:19 -08:00
hello_world_i18n build: update to rules_nodejs 0.38 (#32889) 2019-10-08 09:27:11 -07:00
hello_world_r2 build: update to rules_nodejs 0.38 (#32889) 2019-10-08 09:27:11 -07:00
injection fix(ivy): incorrect injectable name logged in warning message on IE (#34305) 2019-12-13 14:19:57 -08:00
todo feat(ivy): Change static priority resolution to be same level as directive it belongs to (#34938) 2020-01-29 15:41:47 -08:00
todo_i18n build: set default ts_devserver serving_path to /app_bundle.js to match g3 (#33996) 2019-11-26 16:09:32 -08:00
todo_r2 build: set default ts_devserver serving_path to /app_bundle.js to match g3 (#33996) 2019-11-26 16:09:32 -08: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): delete `ɵɵallocHostVars` instruction (#34708) 2020-01-24 12:22:10 -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 this 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