refactor(core): remove circular dep in ComponentFactoryResolver (#59083)

Use `import type` to break a phantom circular import in the runtime
definition of `ComponentFactory` and `ComponentFactoryResolver`.

PR Close #59083
This commit is contained in:
Alex Rickabaugh 2024-12-05 13:11:03 -08:00
parent 587d4011a4
commit e6503f8bea
3 changed files with 7 additions and 12 deletions

View file

@ -1,9 +1,4 @@
[
[
"packages/core/src/linker/component_factory_resolver.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/linker/ng_module_factory.ts"
],
[
"packages/core/src/metadata/directives.ts",
"packages/core/src/render3/jit/directive.ts"

View file

@ -6,14 +6,14 @@
* found in the LICENSE file at https://angular.dev/license
*/
import {ChangeDetectorRef} from '../change_detection/change_detection';
import {Injector} from '../di/injector';
import {EnvironmentInjector} from '../di/r3_injector';
import type {ChangeDetectorRef} from '../change_detection/change_detection';
import type {Injector} from '../di/injector';
import type {EnvironmentInjector} from '../di/r3_injector';
import {Type} from '../interface/type';
import {ElementRef} from './element_ref';
import {NgModuleRef} from './ng_module_factory';
import {ViewRef} from './view_ref';
import type {ElementRef} from './element_ref';
import type {NgModuleRef} from './ng_module_factory';
import type {ViewRef} from './view_ref';
/**
* Represents a component created by a `ComponentFactory`.

View file

@ -9,7 +9,7 @@
import {Type} from '../interface/type';
import {stringify} from '../util/stringify';
import {ComponentFactory} from './component_factory';
import type {ComponentFactory} from './component_factory';
class _NullComponentFactoryResolver implements ComponentFactoryResolver {
resolveComponentFactory<T>(component: {new (...args: any[]): T}): ComponentFactory<T> {