angular/packages
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
..
animations refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
bazel build: remove usages of useDefineForClassFields: false (#58297) 2024-10-28 12:26:05 -07:00
benchpress refactor(platform-server): Add an ssr benchmark setup. (#57647) 2024-10-04 10:45:22 -07:00
common refactor: add @__PURE__ next to @pureOrBreakMyCode for improved bundler compatibility (#58297) 2024-10-28 12:26:05 -07:00
compiler refactor(compiler): trigger hmr load on initialization (#58465) 2024-11-01 19:14:16 +00:00
compiler-cli refactor(compiler): trigger hmr load on initialization (#58465) 2024-11-01 19:14:16 +00:00
core fix(core): resolve forward-referenced host directives during directive matching (#58492) 2024-11-04 16:17:23 +01:00
docs/di docs: remove outdated/unsupported webworker doc (#49856) 2023-04-17 14:01:41 +00:00
elements refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
examples build: remove usages of useDefineForClassFields: false (#58297) 2024-10-28 12:26:05 -07:00
forms build: remove usages of useDefineForClassFields: false (#58297) 2024-10-28 12:26:05 -07:00
language-service refactor(language-service): update code fix for unused imports (#58468) 2024-11-01 14:33:56 +00:00
localize refactor(core): remove globalApi tag (#58375) 2024-10-28 12:33:52 -07:00
misc/angular-in-memory-web-api refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
platform-browser docs(platform-browser): update usage notes for incremental hydration (#58339) 2024-10-24 16:39:26 -07:00
platform-browser-dynamic refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
platform-server refactor(core): introduce ngServerMode as global (#58386) 2024-10-30 10:13:28 -07:00
private/testing refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
router fix(router): remove setter for injector on OutletContext (#58343) 2024-10-24 16:41:04 -07:00
service-worker build: remove usages of useDefineForClassFields: false (#58297) 2024-10-28 12:26:05 -07:00
upgrade refactor(core): Migrate all packages with the explicit-standalone-flag schematic. (#58160) 2024-10-14 14:58:57 +00:00
zone.js refactor(zone.js): Change the type of _taskCounts to an IndexSignature that can have keys (#51739) 2024-11-01 15:44:06 +00:00
BUILD.bazel refactor(docs-infra): migrate api-gen from dev-infra into the repo (#57241) 2024-08-05 17:06:29 +00:00
circular-deps-test.conf.js refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
empty.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
goog.d.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
license-banner.txt build: update licence date. (#55129) 2024-04-08 11:31:12 -07:00
README.md docs: fix links to docs (#57391) 2024-08-19 09:20:15 -07:00
system.d.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
tsconfig-build.json build: remove usages of useDefineForClassFields: false (#58297) 2024-10-28 12:26:05 -07:00
tsconfig-legacy-saucelabs.json feat(core): support TypeScript 5.5 (#56096) 2024-05-29 15:33:33 +02:00
tsconfig-test.json
tsconfig-tsec-base.json refactor(core): throw an error when hydration marker is missing from DOM (#51170) 2023-08-04 11:31:49 -04:00
tsconfig.json feat(language-service): add code reactoring action to migrate @Input to signal-input (#57214) 2024-08-29 07:50:41 -07:00
tsec-exemption.json fix(core): hardening attribute and property binding rules for <iframe> elements (#47964) 2022-11-09 00:47:56 -08:00
types.d.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

Usage information and reference details can be found in Angular documentation.

License: MIT