angular/packages/compiler-cli/src/ngtsc
Matthieu Riegler 47fcbc4704 feat(compiler): allow safe navigation to correctly narrow down nullables
The commit updates the TCB for safe navigation expressions to allow for correct narrowing of nullables.

This will trigger the `nullishCoalescingNotNullable` and `optionalChainNotNullable` diagnostics on exisiting projects.
You might want to disable those 2 diagnotiscs in your `tsconfig` temporarily if you want to update your project without having to fix all the issues at once.

Narrowing can be disabled altogether with `strictSafeNavigationTyes: false`.

fixes #37619

BREAKING CHANGE: This change will trigger the `nullishCoalescingNotNullable` and `optionalChainNotNullable` diagnostics on exisiting projects.
You might want to disable those 2 diagnotiscs in your `tsconfig` temporarily.
2026-04-09 18:26:08 +03:00
..
annotations refactor(compiler-cli): merge duplicate directive matches and report conflicts 2026-04-03 09:44:39 -07:00
core refactor(compiler): remove fullTemplateTypeCheck compiler option. 2026-04-06 11:55:09 -07:00
cycles refactor(compiler-cli): use phaseModifier for type-only import detection 2026-02-13 09:42:48 -08:00
diagnostics refactor(compiler-cli): merge duplicate directive matches and report conflicts 2026-04-03 09:44:39 -07:00
docs refactor(compiler-cli): move ClassPropertyMapping into compiler 2026-04-03 09:44:39 -07:00
entry_point Revert "build: restrain visibility to compiler-cli subpackages (#64732)" 2025-11-06 13:09:01 -08:00
file_system test(language-service): optimize language service test environment and flatten test setup 2026-03-16 14:49:34 -06:00
hmr refactor(compiler-cli): use phaseModifier for type-only import detection 2026-02-13 09:42:48 -08:00
imports refactor(compiler-cli): merge duplicate directive matches and report conflicts 2026-04-03 09:44:39 -07:00
incremental refactor(compiler-cli): simplifies IncrementalCompilation.fresh 2026-03-11 09:41:02 -07:00
indexer refactor(compiler-cli): merge duplicate directive matches and report conflicts 2026-04-03 09:44:39 -07:00
logging Revert "build: restrain visibility to compiler-cli subpackages (#64732)" 2025-11-06 13:09:01 -08:00
metadata refactor(compiler-cli): move ClassPropertyMapping into compiler 2026-04-03 09:44:39 -07:00
partial_evaluator fix(compiler-cli): support qualified names in typeof type references 2026-01-02 08:21:08 +01:00
perf Revert "build: restrain visibility to compiler-cli subpackages (#64732)" 2025-11-06 13:09:01 -08:00
program_driver Revert "build: restrain visibility to compiler-cli subpackages (#64732)" 2025-11-06 13:09:01 -08:00
reflection refactor(compiler-cli): use phaseModifier for type-only import detection 2026-02-13 09:42:48 -08:00
resource Revert "build: restrain visibility to compiler-cli subpackages (#64732)" 2025-11-06 13:09:01 -08:00
scope refactor(compiler-cli): merge duplicate directive matches and report conflicts 2026-04-03 09:44:39 -07:00
shims Revert "build: restrain visibility to compiler-cli subpackages (#64732)" 2025-11-06 13:09:01 -08:00
sourcemaps Revert "build: restrain visibility to compiler-cli subpackages (#64732)" 2025-11-06 13:09:01 -08:00
testing build: update aspect_rules_js to 3.0.2 (#67518) 2026-03-11 13:37:33 -07:00
transform refactor(compiler-cli): avoid typescript errors from debugName transform 2026-03-16 09:58:18 -06:00
translator fix(compiler-cli): error for type parameter declarations 2026-04-07 09:29:29 -07:00
typecheck feat(compiler): allow safe navigation to correctly narrow down nullables 2026-04-09 18:26:08 +03:00
util feat(core): add support for TypeScript 6 2026-02-17 08:40:38 -08:00
validation Revert "build: restrain visibility to compiler-cli subpackages (#64732)" 2025-11-06 13:09:01 -08:00
xi18n Revert "build: restrain visibility to compiler-cli subpackages (#64732)" 2025-11-06 13:09:01 -08:00
preprocessor.ts refactor(compiler-cli): Add skeleton tests around source->source compiler transform mode 2026-02-13 16:48:13 -08:00
program.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
tsc_plugin.ts refactor(common): Removes unused imports to clean up dependencies 2025-11-06 08:35:28 -08:00