Skip to content

Commit 98471df

Browse files
committed
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
1 parent 850a2ad commit 98471df

File tree

3 files changed

+7
-12
lines changed

3 files changed

+7
-12
lines changed

goldens/circular-deps/packages.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
[
2-
[
3-
"packages/core/src/linker/component_factory_resolver.ts",
4-
"packages/core/src/linker/component_factory.ts",
5-
"packages/core/src/linker/ng_module_factory.ts"
6-
],
72
[
83
"packages/core/src/metadata/directives.ts",
94
"packages/core/src/render3/jit/directive.ts"

packages/core/src/linker/component_factory.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import {ChangeDetectorRef} from '../change_detection/change_detection';
10-
import {Injector} from '../di/injector';
11-
import {EnvironmentInjector} from '../di/r3_injector';
9+
import type {ChangeDetectorRef} from '../change_detection/change_detection';
10+
import type {Injector} from '../di/injector';
11+
import type {EnvironmentInjector} from '../di/r3_injector';
1212
import {Type} from '../interface/type';
1313

14-
import {ElementRef} from './element_ref';
15-
import {NgModuleRef} from './ng_module_factory';
16-
import {ViewRef} from './view_ref';
14+
import type {ElementRef} from './element_ref';
15+
import type {NgModuleRef} from './ng_module_factory';
16+
import type {ViewRef} from './view_ref';
1717

1818
/**
1919
* Represents a component created by a `ComponentFactory`.

packages/core/src/linker/component_factory_resolver.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import {Type} from '../interface/type';
1010
import {stringify} from '../util/stringify';
1111

12-
import {ComponentFactory} from './component_factory';
12+
import type {ComponentFactory} from './component_factory';
1313

1414
class _NullComponentFactoryResolver implements ComponentFactoryResolver {
1515
resolveComponentFactory<T>(component: {new (...args: any[]): T}): ComponentFactory<T> {

0 commit comments

Comments
 (0)