angular/packages/core/test
Kristiyan Kostadinov 4ef11c987d fix(core): resolve forward-referenced host directives during directive matching (#58492)
When the compiler generates the `HostDirectivesFeature`, it generates either an eager call (`ɵɵHostDirectivesFeature([])`) or a lazy call (`ɵɵHostDirectivesFeature(() => [])`. The lazy call is necessary when there are forward references within the `hostDirectives` array. Currently we resolve the lazy variant when the component definition is created which has been enough for most cases, however if the host is injected by one of its host directives, we can run into a reference error because DI is synchronous and the host's class hasn't been defined yet.

These changes resolve the issue by pushing the lazy resolution later during directive matching when all classes are guanrateed to exist.

Fixes #58485.

PR Close #58492
2024-11-04 16:17:23 +01:00
..
acceptance fix(core): resolve forward-referenced host directives during directive matching (#58492) 2024-11-04 16:17:23 +01:00
animation refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
authoring refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
bundling build: update cross-repo angular dependencies (#58446) 2024-10-31 19:05:01 +01:00
change_detection refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
compiler refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
debug refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
di refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
dom refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
hydration refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
i18n refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
linker refactor(core): remove the standalone feature (#58288) 2024-10-24 16:19:02 -07:00
metadata refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
playground/zone-signal-input refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
reflection refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
render3 feat(core): introduce debugName optional arg to framework signal functions (#57073) 2024-10-22 11:26:37 -07:00
resource feat(core): experimental resource() API for async dependencies (#58255) 2024-10-21 13:25:58 -07:00
sanitization refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
signals feat(core): introduce debugName optional arg to framework signal functions (#57073) 2024-10-22 11:26:37 -07:00
strict_types refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
testability refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
util refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
zone refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
application_config_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
application_init_spec.ts feat(core): add syntactic sugar for initializers (#53152) 2024-10-22 09:38:18 -07:00
application_module_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
application_ref_integration_spec.ts refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
application_ref_spec.ts refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
BUILD.bazel test(core): Add scheduler in tests to tie into ApplicationRef.isStable (#53579) 2024-01-09 16:05:31 -08:00
change_detection_scheduler_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
component_fixture_spec.ts refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
defer_fixture_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
dev_mode_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
directive_lifecycle_integration_spec.ts refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
error_handler_spec.ts refactor(core): removing error related dead code. (#58272) 2024-10-22 09:42:47 -07:00
event_emitter_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
fake_async_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
forward_ref_integration_spec.ts refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
runtime_error_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
test_bed_effect_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
test_bed_spec.ts refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
transfer_state_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
util_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00