angular/packages/compiler-cli/test/compliance/test_cases
Kristiyan Kostadinov 1a6ca68154 feat(compiler): add support for compile-time required inputs (#49304)
Adds support for marking a directive input as required. During template type checking, the compiler will verify that all required inputs have been specified and will raise a diagnostic if one or more are missing. Some specifics:
* Inputs are marked as required by passing an object literal with a `required: true` property to the `Input` decorator or into the `inputs` array.
* Required inputs imply that the directive can't work without them. This is why there's a new check that enforces that all required inputs of a host directive are exposed on the host.
* Required input diagnostics are reported through the `OutOfBandDiagnosticRecorder`, rather than generating a new structure in the TCB, because it allows us to provide a better error message.
* Currently required inputs are only supported during AOT compilation, because knowing which bindings are present during JIT can be tricky and may lead to increased bundle sizes.

Fixes #37706.

PR Close #49304
2023-03-15 16:59:24 -07:00
..
r3_compiler_compliance feat(compiler): add support for compile-time required inputs (#49304) 2023-03-15 16:59:24 -07:00
r3_view_compiler feat(compiler): add support for compile-time required inputs (#49304) 2023-03-15 16:59:24 -07:00
r3_view_compiler_bindings feat(compiler): add support for compile-time required inputs (#49304) 2023-03-15 16:59:24 -07:00
r3_view_compiler_di/di feat(core): add support for TypeScript 5.0 (#49126) 2023-02-28 08:24:47 -08:00
r3_view_compiler_directives feat(compiler): add support for compile-time required inputs (#49304) 2023-03-15 16:59:24 -07:00
r3_view_compiler_i18n feat(compiler): add support for compile-time required inputs (#49304) 2023-03-15 16:59:24 -07:00
r3_view_compiler_input_outputs feat(compiler): add support for compile-time required inputs (#49304) 2023-03-15 16:59:24 -07:00
r3_view_compiler_listener feat(compiler): add support for compile-time required inputs (#49304) 2023-03-15 16:59:24 -07:00
r3_view_compiler_providers feat(core): add support for TypeScript 5.0 (#49126) 2023-02-28 08:24:47 -08:00
r3_view_compiler_styling feat(compiler): add support for compile-time required inputs (#49304) 2023-03-15 16:59:24 -07:00
r3_view_compiler_template feat(core): add support for TypeScript 5.0 (#49126) 2023-02-28 08:24:47 -08:00
source_mapping feat(compiler): add support for compile-time required inputs (#49304) 2023-03-15 16:59:24 -07:00
BUILD.bazel test: refactor compiler-cli compliance test to work on windows (#45431) 2022-03-25 12:18:34 -07:00
list_golden_update_rules.ts refactor(compiler-cli): use semver range checking for partial versions (#39847) 2020-12-04 10:26:17 -08:00
test_case_schema.json test(compiler-cli): improve compliance test compile mode filtering (#39939) 2020-12-07 16:21:04 -08:00