angular/packages/compiler-cli/src
Kristiyan Kostadinov c5c20e9d86 fix(compiler-cli): check event side of two-way bindings (#59002)
In the past two-way bindings used to be interpreted as `foo = $event` at the parser level. In #54065 it was changed to preserve the actual expression, because it was problematic for supporting two-way binding to signals. This unintentionally ended up causing the TCB to two-way bindings to look something like `someOutput.subscribe($event => expr);` which does nothing. It largely hasn't been a problem, because the input side of two-way bindings was still being checked, except for the case where the input side of the two-way binding has a wider type than the output side.

These changes re-add type checking for the output side by generating the following TCB instead:

```
someOutput.subscribe($event => {
  var _t1 = unwrapSignalValue(this.someField);
  _t1 = $event;
});
```

PR Close #59002
2024-12-05 16:11:02 -08:00
..
bin refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
ngtsc fix(compiler-cli): check event side of two-way bindings (#59002) 2024-12-05 16:11:02 -08:00
transformers refactor(compiler): remove preservePlaceholders (#58176) 2024-10-16 06:42:37 +00:00
extract_i18n.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
main.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
perform_compile.ts refactor(compiler-cli): parse angularCompilerOptions from bazel options as a fallback (#58637) 2024-11-14 14:55:54 +00:00
perform_watch.ts refactor(compiler): update dependency chokidar to v4 (#57945) 2024-10-04 10:56:02 -07:00
typescript_support.ts feat(core): support TypeScript 5.7 (#58609) 2024-11-25 17:12:10 +00:00
version.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
version_helpers.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00