angular/packages/compiler-cli
Kristiyan Kostadinov 02edb43067 fix(compiler): narrow the type of the aliased if block expression (#51952)
Currently the TCB for aliased `if` blocks looks something like this:

```
// Markup: `@if (expr; as alias) { {{alias}} }

if (block.condition) {
  var alias = block.condition;
  "" + alias;
}
```

The problem with this approach is that the type of `alias` won't be narrowed. This is something that `NgIf` currently supports.

These changes resolve the issue by emitting the variable outside the `if` block and using the variable reference instead:

```
// Markup: `@if (expr; as alias) { {{alias}} }

var alias = block.condition;
if (alias) {
  "" + alias;
}
```

PR Close #51952
2023-10-04 08:49:59 -07:00
..
integrationtest refactor(compiler-cli): remove unused integration tests. (#49862) 2023-04-17 14:57:02 +00:00
linker feat(core): enable block syntax (#51994) 2023-10-03 15:26:05 -07:00
ngcc refactor(compiler-cli): add back ngcc as a no-op with a warning (#50045) 2023-04-28 18:18:40 +02:00
private refactor(compiler-cli): remove unused class decorator downlevel code (#49351) 2023-03-08 17:59:12 +00:00
src fix(compiler): narrow the type of the aliased if block expression (#51952) 2023-10-04 08:49:59 -07:00
test fix(compiler): narrow the type of the aliased if block expression (#51952) 2023-10-04 08:49:59 -07:00
BUILD.bazel feat(compiler): initial skeleton for API doc extraction (#51733) 2023-09-18 12:29:19 +02:00
esbuild.config.js refactor: remove __ESM_IMPORT_META_URL__ workaround now that we can use ESM (#48521) 2022-12-19 19:50:41 +00:00
index.ts feat(compiler): extract docs via exports (#51828) 2023-09-20 18:34:55 +02:00
package.json feat(core): drop support for older TypeScript versions (#51792) 2023-09-19 12:04:09 +02:00
tsconfig-build.json refactor(compiler-cli): dismantle View Engine implementation of ngc (#44269) 2021-12-01 10:36:30 -08:00
tsconfig.json build: update tsconfigs to use ES2020 as target and module (#43431) 2021-10-01 18:28:42 +00:00