diff --git a/goldens/size-tracking/integration-payloads.json b/goldens/size-tracking/integration-payloads.json index 7698b857db4..2826cdcb2e8 100644 --- a/goldens/size-tracking/integration-payloads.json +++ b/goldens/size-tracking/integration-payloads.json @@ -15,7 +15,7 @@ "uncompressed": { "main": 108611, "polyfills": 34169, - "lazy.routes": 368 + "lazy.routes": 361 } }, "forms": { @@ -49,7 +49,7 @@ "uncompressed": { "main": 11497, "polyfills": 33807, - "defer.component": 351 + "defer.component": 345 } }, "platform-server-hydration/browser": { diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/component.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/component.js index b51c8f8cec0..1bdf9d22ae6 100644 --- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/component.js +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/component.js @@ -2,7 +2,6 @@ SignalCmp.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SignalCmp, selectors: [["ng-component"]], signals: true, - features: [i0.ɵɵStandaloneFeature], decls: 1, vars: 0, template: function SignalCmp_Template(rf, ctx) { diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component.js index cbe950b4015..f8e81940a58 100644 --- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component.js +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component.js @@ -1,7 +1,6 @@ StandaloneCmp.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StandaloneCmp, selectors: [["ng-component"]], - features: [i0.ɵɵStandaloneFeature], decls: 1, vars: 0, template: function StandaloneCmp_Template(rf, ctx) { diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component.local.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component.local.js index e1953fb2f5a..6773c8c413c 100644 --- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component.local.js +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component.local.js @@ -1,7 +1,6 @@ StandaloneCmp.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StandaloneCmp, selectors: [["ng-component"]], - features: [i0.ɵɵStandaloneFeature], decls: 1, vars: 0, template: function StandaloneCmp_Template(rf, ctx) { diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/forward_ref.js b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/forward_ref.js index d52b2b1b625..85fe41607ef 100644 --- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/forward_ref.js +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/forward_ref.js @@ -3,7 +3,6 @@ TestComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ selectors: [ ["test"] ], - features: [i0.ɵɵStandaloneFeature], decls: 1, vars: 0, template: function TestComponent_Template(rf, ctx) { diff --git a/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts b/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts index 1d6393ad994..eb75efd92a4 100644 --- a/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts +++ b/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts @@ -10470,9 +10470,7 @@ runInEachFileSystem((os: string) => { const dtsContents = env.getContents('test.d.ts'); expect(jsContents).toContain('inputs: { value: [2, "value", "value", toNumber] }'); - expect(jsContents).toContain( - 'features: [i0.ɵɵInputTransformsFeature, i0.ɵɵStandaloneFeature]', - ); + expect(jsContents).toContain('features: [i0.ɵɵInputTransformsFeature]'); expect(dtsContents).toContain('static ngAcceptInputType_value: boolean | string;'); }); diff --git a/packages/compiler/src/render3/r3_identifiers.ts b/packages/compiler/src/render3/r3_identifiers.ts index 1de1f20684b..a7ca45e5f59 100644 --- a/packages/compiler/src/render3/r3_identifiers.ts +++ b/packages/compiler/src/render3/r3_identifiers.ts @@ -539,8 +539,6 @@ export class Identifiers { moduleName: CORE, }; - static StandaloneFeature: o.ExternalReference = {name: 'ɵɵStandaloneFeature', moduleName: CORE}; - static ProvidersFeature: o.ExternalReference = {name: 'ɵɵProvidersFeature', moduleName: CORE}; static HostDirectivesFeature: o.ExternalReference = { diff --git a/packages/compiler/src/render3/view/compiler.ts b/packages/compiler/src/render3/view/compiler.ts index 68bebe2197a..dfb3935c873 100644 --- a/packages/compiler/src/render3/view/compiler.ts +++ b/packages/compiler/src/render3/view/compiler.ts @@ -148,10 +148,6 @@ function addFeatures( if (meta.lifecycle.usesOnChanges) { features.push(o.importExpr(R3.NgOnChangesFeature)); } - // TODO: better way of differentiating component vs directive metadata. - if (meta.hasOwnProperty('template') && meta.isStandalone) { - features.push(o.importExpr(R3.StandaloneFeature)); - } if ('externalStyles' in meta && meta.externalStyles?.length) { const externalStyleNodes = meta.externalStyles.map((externalStyle) => o.literal(externalStyle)); features.push( diff --git a/packages/core/src/application/application_ref.ts b/packages/core/src/application/application_ref.ts index 4edad7a05ad..b7d2ca075c4 100644 --- a/packages/core/src/application/application_ref.ts +++ b/packages/core/src/application/application_ref.ts @@ -33,11 +33,11 @@ import {PendingTasksInternal} from '../pending_tasks'; import {RendererFactory2} from '../render/api'; import {AfterRenderManager} from '../render3/after_render/manager'; import {ComponentFactory as R3ComponentFactory} from '../render3/component_ref'; -import {isStandalone} from '../render3/definition'; +import {isStandalone} from '../render3/def_getters'; import {ChangeDetectionMode, detectChangesInternal} from '../render3/instructions/change_detection'; -import {FLAGS, LView, LViewFlags} from '../render3/interfaces/view'; +import {LView} from '../render3/interfaces/view'; import {publishDefaultGlobalUtils as _publishDefaultGlobalUtils} from '../render3/util/global_utils'; -import {removeLViewOnDestroy, requiresRefreshOrTraversal} from '../render3/util/view_utils'; +import {requiresRefreshOrTraversal} from '../render3/util/view_utils'; import {ViewRef as InternalViewRef} from '../render3/view_ref'; import {TESTABILITY} from '../testability/testability'; import {isPromise} from '../util/lang'; diff --git a/packages/core/src/core.ts b/packages/core/src/core.ts index 5d60640aa6c..abc81954782 100644 --- a/packages/core/src/core.ts +++ b/packages/core/src/core.ts @@ -103,7 +103,7 @@ export { createEnvironmentInjector, } from './render3/ng_module_ref'; export {createComponent, reflectComponentType, ComponentMirror} from './render3/component'; -export {isStandalone} from './render3/definition'; +export {isStandalone} from './render3/def_getters'; export {AfterRenderPhase, AfterRenderRef} from './render3/after_render/api'; export {publishExternalGlobalUtil as ɵpublishExternalGlobalUtil} from './render3/util/global_utils'; export { diff --git a/packages/core/src/core_render3_private_export.ts b/packages/core/src/core_render3_private_export.ts index 8a5acc65e3a..cc02003e109 100644 --- a/packages/core/src/core_render3_private_export.ts +++ b/packages/core/src/core_render3_private_export.ts @@ -176,7 +176,6 @@ export { ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵgetComponentDepsFactory, - ɵɵStandaloneFeature, ɵɵExternalStylesFeature, ɵɵstyleMap, ɵɵstyleMapInterpolate1, diff --git a/packages/core/src/defer/instructions.ts b/packages/core/src/defer/instructions.ts index 8bd78f556db..23382b513ab 100644 --- a/packages/core/src/defer/instructions.ts +++ b/packages/core/src/defer/instructions.ts @@ -23,7 +23,7 @@ import {PendingTasksInternal} from '../pending_tasks'; import {assertLContainer, assertTNodeForLView} from '../render3/assert'; import {bindingUpdated} from '../render3/bindings'; import {ChainedInjector} from '../render3/chained_injector'; -import {getComponentDef, getDirectiveDef, getPipeDef} from '../render3/definition'; +import {getComponentDef, getDirectiveDef, getPipeDef} from '../render3/def_getters'; import {getTemplateLocationDetails} from '../render3/instructions/element_validation'; import {markViewDirty} from '../render3/instructions/mark_view_dirty'; import {handleError} from '../render3/instructions/shared'; diff --git a/packages/core/src/di/provider_collection.ts b/packages/core/src/di/provider_collection.ts index 5f2c7e36fcb..1bf2996a231 100644 --- a/packages/core/src/di/provider_collection.ts +++ b/packages/core/src/di/provider_collection.ts @@ -8,7 +8,7 @@ import {RuntimeError, RuntimeErrorCode} from '../errors'; import {Type} from '../interface/type'; -import {getComponentDef} from '../render3/definition'; +import {getComponentDef} from '../render3/def_getters'; import {getFactoryDef} from '../render3/definition_factory'; import {throwCyclicDependencyError, throwInvalidProviderError} from '../render3/errors_di'; import {stringifyForError} from '../render3/util/stringify_utils'; diff --git a/packages/core/src/hydration/annotate.ts b/packages/core/src/hydration/annotate.ts index 0023cd46eff..6333599b677 100644 --- a/packages/core/src/hydration/annotate.ts +++ b/packages/core/src/hydration/annotate.ts @@ -19,7 +19,7 @@ import {ViewEncapsulation} from '../metadata'; import {Renderer2} from '../render'; import {assertTNode} from '../render3/assert'; import {collectNativeNodes, collectNativeNodesInLContainer} from '../render3/collect_native_nodes'; -import {getComponentDef} from '../render3/definition'; +import {getComponentDef} from '../render3/def_getters'; import {CONTAINER_HEADER_OFFSET, LContainer} from '../render3/interfaces/container'; import {isLetDeclaration, isTNodeShape, TNode, TNodeType} from '../render3/interfaces/node'; import {RComment, RElement} from '../render3/interfaces/renderer_dom'; diff --git a/packages/core/src/linker/compiler.ts b/packages/core/src/linker/compiler.ts index bd96d4788ca..ce34b323118 100644 --- a/packages/core/src/linker/compiler.ts +++ b/packages/core/src/linker/compiler.ts @@ -9,11 +9,10 @@ import {Injectable} from '../di/injectable'; import {InjectionToken} from '../di/injection_token'; import {StaticProvider} from '../di/interface/provider'; -import {MissingTranslationStrategy} from '../i18n/tokens'; import {Type} from '../interface/type'; import {ViewEncapsulation} from '../metadata/view'; import {ComponentFactory as ComponentFactoryR3} from '../render3/component_ref'; -import {getComponentDef, getNgModuleDef} from '../render3/definition'; +import {getComponentDef, getNgModuleDef} from '../render3/def_getters'; import {NgModuleFactory as NgModuleFactoryR3} from '../render3/ng_module_ref'; import {maybeUnwrapFn} from '../render3/util/misc_utils'; diff --git a/packages/core/src/linker/ng_module_registration.ts b/packages/core/src/linker/ng_module_registration.ts index db9dfece020..6c5e7875edb 100644 --- a/packages/core/src/linker/ng_module_registration.ts +++ b/packages/core/src/linker/ng_module_registration.ts @@ -8,7 +8,6 @@ import {Type} from '../interface/type'; import {NgModuleType} from '../metadata/ng_module_def'; -import {getNgModuleDef} from '../render3/definition'; import {stringify} from '../util/stringify'; /** diff --git a/packages/core/src/linker/view_container_ref.ts b/packages/core/src/linker/view_container_ref.ts index 691c18e46e9..f4b7c1a6c15 100644 --- a/packages/core/src/linker/view_container_ref.ts +++ b/packages/core/src/linker/view_container_ref.ts @@ -20,7 +20,7 @@ import {findMatchingDehydratedView, locateDehydratedViewsInContainer} from '../h import {isType, Type} from '../interface/type'; import {assertNodeInjector} from '../render3/assert'; import {ComponentFactory as R3ComponentFactory} from '../render3/component_ref'; -import {getComponentDef} from '../render3/definition'; +import {getComponentDef} from '../render3/def_getters'; import {getParentInjectorLocation, NodeInjector} from '../render3/di'; import {addToEndOfViewTree, createLContainer} from '../render3/instructions/shared'; import { diff --git a/packages/core/src/render3/assert.ts b/packages/core/src/render3/assert.ts index 27268dcf2e5..199344c5b28 100644 --- a/packages/core/src/render3/assert.ts +++ b/packages/core/src/render3/assert.ts @@ -9,7 +9,7 @@ import {RuntimeError, RuntimeErrorCode} from '../errors'; import {assertDefined, assertEqual, assertNumber, throwError} from '../util/assert'; -import {getComponentDef, getNgModuleDef} from './definition'; +import {getComponentDef, getNgModuleDef} from './def_getters'; import {LContainer} from './interfaces/container'; import {DirectiveDef} from './interfaces/definition'; import {TIcu} from './interfaces/i18n'; diff --git a/packages/core/src/render3/component.ts b/packages/core/src/render3/component.ts index 1f0d4831a84..44fbb58713a 100644 --- a/packages/core/src/render3/component.ts +++ b/packages/core/src/render3/component.ts @@ -12,7 +12,7 @@ import {Type} from '../interface/type'; import {ComponentRef} from '../linker/component_factory'; import {ComponentFactory} from './component_ref'; -import {getComponentDef} from './definition'; +import {getComponentDef} from './def_getters'; import {assertComponentDef} from './errors'; /** diff --git a/packages/core/src/render3/component_ref.ts b/packages/core/src/render3/component_ref.ts index 5746231c72f..17f355a61db 100644 --- a/packages/core/src/render3/component_ref.ts +++ b/packages/core/src/render3/component_ref.ts @@ -32,7 +32,7 @@ import {assertDefined, assertGreaterThan, assertIndexInRange} from '../util/asse import {assertComponentType, assertNoDuplicateDirectives} from './assert'; import {attachPatchData} from './context_discovery'; -import {getComponentDef} from './definition'; +import {getComponentDef} from './def_getters'; import {depsTracker} from './deps_tracker/deps_tracker'; import {getNodeInjectable, NodeInjector} from './di'; import {registerPostOrderHooks} from './hooks'; diff --git a/packages/core/src/render3/debug/framework_injector_profiler.ts b/packages/core/src/render3/debug/framework_injector_profiler.ts index e6c377e6fcf..9350865962f 100644 --- a/packages/core/src/render3/debug/framework_injector_profiler.ts +++ b/packages/core/src/render3/debug/framework_injector_profiler.ts @@ -11,7 +11,7 @@ import {EnvironmentInjector} from '../../di/r3_injector'; import {Type} from '../../interface/type'; import {assertDefined, throwError} from '../../util/assert'; import {assertTNode, assertTNodeForLView} from '../assert'; -import {getComponentDef} from '../definition'; +import {getComponentDef} from '../def_getters'; import {getNodeInjectorLView, getNodeInjectorTNode, NodeInjector} from '../di'; import {TNode} from '../interfaces/node'; import {LView} from '../interfaces/view'; diff --git a/packages/core/src/render3/debug/set_debug_info.ts b/packages/core/src/render3/debug/set_debug_info.ts index 67552d67a44..1acb87bc742 100644 --- a/packages/core/src/render3/debug/set_debug_info.ts +++ b/packages/core/src/render3/debug/set_debug_info.ts @@ -7,7 +7,7 @@ */ import {Type} from '../../interface/type'; -import {getComponentDef} from '../definition'; +import {getComponentDef} from '../def_getters'; import {ClassDebugInfo} from '../interfaces/definition'; /** diff --git a/packages/core/src/render3/def_getters.ts b/packages/core/src/render3/def_getters.ts new file mode 100644 index 00000000000..21e539226fe --- /dev/null +++ b/packages/core/src/render3/def_getters.ts @@ -0,0 +1,55 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.dev/license + */ + +import {Type} from '../interface/type'; +import type {NgModuleDef} from '../r3_symbols'; +import {stringify} from '../util/stringify'; +import {NG_COMP_DEF, NG_DIR_DEF, NG_MOD_DEF, NG_PIPE_DEF} from './fields'; +import type {ComponentDef, DirectiveDef, PipeDef} from './interfaces/definition'; + +export function getNgModuleDef(type: any, throwNotFound: true): NgModuleDef; +export function getNgModuleDef(type: any): NgModuleDef | null; +export function getNgModuleDef(type: any, throwNotFound?: boolean): NgModuleDef | null { + const ngModuleDef = type[NG_MOD_DEF] || null; + if (!ngModuleDef && throwNotFound === true) { + throw new Error(`Type ${stringify(type)} does not have 'ɵmod' property.`); + } + return ngModuleDef; +} + +/** + * The following getter methods retrieve the definition from the type. Currently the retrieval + * honors inheritance, but in the future we may change the rule to require that definitions are + * explicit. This would require some sort of migration strategy. + */ + +export function getComponentDef(type: any): ComponentDef | null { + return type[NG_COMP_DEF] || null; +} + +export function getDirectiveDef(type: any): DirectiveDef | null { + return type[NG_DIR_DEF] || null; +} + +export function getPipeDef(type: any): PipeDef | null { + return type[NG_PIPE_DEF] || null; +} + +/** + * Checks whether a given Component, Directive or Pipe is marked as standalone. + * This will return false if passed anything other than a Component, Directive, or Pipe class + * See [this guide](guide/components/importing) for additional information: + * + * @param type A reference to a Component, Directive or Pipe. + * @publicApi + */ +export function isStandalone(type: Type): boolean { + const def = getComponentDef(type) || getDirectiveDef(type) || getPipeDef(type); + // TODO: standalone as default value (invert the condition) + return def !== null ? def.standalone : false; +} diff --git a/packages/core/src/render3/definition.ts b/packages/core/src/render3/definition.ts index cf744495957..435b1a738ac 100644 --- a/packages/core/src/render3/definition.ts +++ b/packages/core/src/render3/definition.ts @@ -7,6 +7,7 @@ */ import {ChangeDetectionStrategy} from '../change_detection/constants'; +import {EnvironmentInjector} from '../di/r3_injector'; import {formatRuntimeError, RuntimeErrorCode} from '../errors'; import {Type, Writable} from '../interface/type'; import {NgModuleDef} from '../metadata/ng_module_def'; @@ -15,9 +16,9 @@ import {ViewEncapsulation} from '../metadata/view'; import {noSideEffects} from '../util/closure'; import {EMPTY_ARRAY, EMPTY_OBJ} from '../util/empty'; import {initNgDevMode} from '../util/ng_dev_mode'; -import {stringify} from '../util/stringify'; +import {performanceMarkFeature} from '../util/performance'; +import {getComponentDef, getDirectiveDef, getPipeDef} from './def_getters'; -import {NG_COMP_DEF, NG_DIR_DEF, NG_MOD_DEF, NG_PIPE_DEF} from './fields'; import type { ComponentDef, ComponentDefFeature, @@ -39,6 +40,7 @@ import type {TAttributes, TConstantsOrFactory} from './interfaces/node'; import {CssSelectorList} from './interfaces/projection'; import {stringifyCSSSelectorList} from './node_selector_matcher'; import {NG_STANDALONE_DEFAULT_VALUE} from './standalone-default-value'; +import {StandaloneService} from './standalone_service'; /** * Map of inputs for a given directive/component. @@ -357,7 +359,11 @@ export function ɵɵdefineComponent( directiveDefs: null!, // assigned in noSideEffects pipeDefs: null!, // assigned in noSideEffects dependencies: (baseDef.standalone && componentDefinition.dependencies) || null, - getStandaloneInjector: null, + getStandaloneInjector: baseDef.standalone + ? (parentInjector: EnvironmentInjector) => { + return parentInjector.get(StandaloneService).getOrCreateStandaloneInjector(def); + } + : null, getExternalStyles: null, signals: componentDefinition.signals ?? false, data: componentDefinition.data || {}, @@ -369,6 +375,11 @@ export function ɵɵdefineComponent( id: '', }; + // TODO: Do we still need/want this ? + if (baseDef.standalone) { + performanceMarkFeature('NgStandalone'); + } + initFeatures(def); const dependencies = componentDefinition.dependencies; def.directiveDefs = extractDefListOrFactory(dependencies, /* pipeDef */ false); @@ -609,47 +620,6 @@ export function ɵɵdefinePipe(pipeDef: { }; } -/** - * The following getter methods retrieve the definition from the type. Currently the retrieval - * honors inheritance, but in the future we may change the rule to require that definitions are - * explicit. This would require some sort of migration strategy. - */ - -export function getComponentDef(type: any): ComponentDef | null { - return type[NG_COMP_DEF] || null; -} - -export function getDirectiveDef(type: any): DirectiveDef | null { - return type[NG_DIR_DEF] || null; -} - -export function getPipeDef(type: any): PipeDef | null { - return type[NG_PIPE_DEF] || null; -} - -/** - * Checks whether a given Component, Directive or Pipe is marked as standalone. - * This will return false if passed anything other than a Component, Directive, or Pipe class - * See [this guide](guide/components/importing) for additional information: - * - * @param type A reference to a Component, Directive or Pipe. - * @publicApi - */ -export function isStandalone(type: Type): boolean { - const def = getComponentDef(type) || getDirectiveDef(type) || getPipeDef(type); - return def !== null ? def.standalone : false; -} - -export function getNgModuleDef(type: any, throwNotFound: true): NgModuleDef; -export function getNgModuleDef(type: any): NgModuleDef | null; -export function getNgModuleDef(type: any, throwNotFound?: boolean): NgModuleDef | null { - const ngModuleDef = type[NG_MOD_DEF] || null; - if (!ngModuleDef && throwNotFound === true) { - throw new Error(`Type ${stringify(type)} does not have 'ɵmod' property.`); - } - return ngModuleDef; -} - function getNgDirectiveDef(directiveDefinition: DirectiveDefinition): DirectiveDef { const declaredInputs: Record = {}; diff --git a/packages/core/src/render3/deps_tracker/deps_tracker.ts b/packages/core/src/render3/deps_tracker/deps_tracker.ts index 3423681d507..2426ede20b9 100644 --- a/packages/core/src/render3/deps_tracker/deps_tracker.ts +++ b/packages/core/src/render3/deps_tracker/deps_tracker.ts @@ -11,13 +11,13 @@ import {RuntimeError, RuntimeErrorCode} from '../../errors'; import {Type} from '../../interface/type'; import {NgModuleType} from '../../metadata/ng_module_def'; import {flatten} from '../../util/array_utils'; -import {getComponentDef, getNgModuleDef, isStandalone} from '../definition'; -import { +import type { ComponentType, NgModuleScopeInfoFromDecorator, RawScopeInfoFromDecorator, } from '../interfaces/definition'; import {isComponent, isDirective, isNgModule, isPipe, verifyStandaloneImport} from '../jit/util'; +import {getComponentDef, getNgModuleDef, isStandalone} from '../def_getters'; import {maybeUnwrapFn} from '../util/misc_utils'; import { diff --git a/packages/core/src/render3/errors.ts b/packages/core/src/render3/errors.ts index f36026c1cc2..a0dbee34593 100644 --- a/packages/core/src/render3/errors.ts +++ b/packages/core/src/render3/errors.ts @@ -9,7 +9,7 @@ import {RuntimeError, RuntimeErrorCode} from '../errors'; import {Type} from '../interface/type'; -import {getComponentDef} from './definition'; +import {getComponentDef} from './def_getters'; import {getDeclarationComponentDef} from './instructions/element_validation'; import {TNode} from './interfaces/node'; import {LView, TVIEW} from './interfaces/view'; diff --git a/packages/core/src/render3/features/host_directives_feature.ts b/packages/core/src/render3/features/host_directives_feature.ts index e3817016b13..868b5908667 100644 --- a/packages/core/src/render3/features/host_directives_feature.ts +++ b/packages/core/src/render3/features/host_directives_feature.ts @@ -10,7 +10,7 @@ import {RuntimeError, RuntimeErrorCode} from '../../errors'; import {Type} from '../../interface/type'; import {assertEqual} from '../../util/assert'; import {EMPTY_OBJ} from '../../util/empty'; -import {getComponentDef, getDirectiveDef} from '../definition'; +import {getComponentDef, getDirectiveDef} from '../def_getters'; import { DirectiveDef, DirectiveDefFeature, diff --git a/packages/core/src/render3/hmr.ts b/packages/core/src/render3/hmr.ts index 096000ef0e1..637c80fb328 100644 --- a/packages/core/src/render3/hmr.ts +++ b/packages/core/src/render3/hmr.ts @@ -9,13 +9,8 @@ import {Type} from '../interface/type'; import {assertDefined} from '../util/assert'; import {assertLView} from './assert'; -import { - getComponentDef, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineNgModule, - ɵɵdefinePipe, -} from './definition'; +import {ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineNgModule, ɵɵdefinePipe} from './definition'; +import {getComponentDef} from './def_getters'; import {assertComponentDef} from './errors'; import {refreshView} from './instructions/change_detection'; import {renderView} from './instructions/render'; @@ -83,7 +78,6 @@ import {ɵɵProvidersFeature} from './features/providers_feature'; import {ɵɵCopyDefinitionFeature} from './features/copy_definition_feature'; import {ɵɵInheritDefinitionFeature} from './features/inherit_definition_feature'; import {ɵɵInputTransformsFeature} from './features/input_transforms_feature'; -import {ɵɵStandaloneFeature} from './features/standalone_feature'; import {ɵɵExternalStylesFeature} from './features/external_styles_feature'; import {ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow} from './util/misc_utils'; import {ɵsetClassDebugInfo} from './debug/set_debug_info'; @@ -325,7 +319,6 @@ function getHmrEnv(): Record { 'ɵɵCopyDefinitionFeature': ɵɵCopyDefinitionFeature, 'ɵɵInheritDefinitionFeature': ɵɵInheritDefinitionFeature, 'ɵɵInputTransformsFeature': ɵɵInputTransformsFeature, - 'ɵɵStandaloneFeature': ɵɵStandaloneFeature, 'ɵɵExternalStylesFeature': ɵɵExternalStylesFeature, 'ɵɵnextContext': r3.ɵɵnextContext, 'ɵɵnamespaceHTML': r3.ɵɵnamespaceHTML, diff --git a/packages/core/src/render3/index.ts b/packages/core/src/render3/index.ts index 2da28325f20..f9ecb190540 100644 --- a/packages/core/src/render3/index.ts +++ b/packages/core/src/render3/index.ts @@ -13,7 +13,6 @@ import {ɵɵInheritDefinitionFeature} from './features/inherit_definition_featur import {ɵɵInputTransformsFeature} from './features/input_transforms_feature'; import {ɵɵNgOnChangesFeature} from './features/ng_onchanges_feature'; import {ɵɵProvidersFeature} from './features/providers_feature'; -import {ɵɵStandaloneFeature} from './features/standalone_feature'; import {ɵɵExternalStylesFeature} from './features/external_styles_feature'; import { ComponentDef, @@ -255,6 +254,5 @@ export { ɵɵProvidersFeature, ɵɵsetComponentScope, ɵɵsetNgModuleScope, - ɵɵStandaloneFeature, ɵɵExternalStylesFeature, }; diff --git a/packages/core/src/render3/instructions/element_validation.ts b/packages/core/src/render3/instructions/element_validation.ts index 534d2a4f68a..1a012fabed1 100644 --- a/packages/core/src/render3/instructions/element_validation.ts +++ b/packages/core/src/render3/instructions/element_validation.ts @@ -10,7 +10,7 @@ import {formatRuntimeError, RuntimeError, RuntimeErrorCode} from '../../errors'; import {Type} from '../../interface/type'; import {CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, SchemaMetadata} from '../../metadata/schema'; import {throwError} from '../../util/assert'; -import {getComponentDef} from '../definition'; +import {getComponentDef} from '../def_getters'; import {ComponentDef} from '../interfaces/definition'; import {TNodeType} from '../interfaces/node'; import {RComment, RElement} from '../interfaces/renderer_dom'; diff --git a/packages/core/src/render3/interfaces/definition.ts b/packages/core/src/render3/interfaces/definition.ts index 71793a53b4f..a0b5f856531 100644 --- a/packages/core/src/render3/interfaces/definition.ts +++ b/packages/core/src/render3/interfaces/definition.ts @@ -393,8 +393,7 @@ export interface ComponentDef extends DirectiveDef { tView: TView | null; /** - * A function added by the {@link ɵɵStandaloneFeature} and used by the framework to create - * standalone injectors. + * A function used by the framework to create standalone injectors. */ getStandaloneInjector: | ((parentInjector: EnvironmentInjector) => EnvironmentInjector | null) diff --git a/packages/core/src/render3/jit/directive.ts b/packages/core/src/render3/jit/directive.ts index 4c4bfcc02ec..f6403211c1e 100644 --- a/packages/core/src/render3/jit/directive.ts +++ b/packages/core/src/render3/jit/directive.ts @@ -28,7 +28,7 @@ import {ViewEncapsulation} from '../../metadata/view'; import {flatten} from '../../util/array_utils'; import {EMPTY_ARRAY, EMPTY_OBJ} from '../../util/empty'; import {initNgDevMode} from '../../util/ng_dev_mode'; -import {getComponentDef, getDirectiveDef, getNgModuleDef, getPipeDef} from '../definition'; +import {getComponentDef, getDirectiveDef, getNgModuleDef, getPipeDef} from '../def_getters'; import {depsTracker, USE_RUNTIME_DEPS_TRACKER_FOR_JIT} from '../deps_tracker/deps_tracker'; import {NG_COMP_DEF, NG_DIR_DEF, NG_FACTORY_DEF} from '../fields'; import {ComponentDef, ComponentType, DirectiveDefList, PipeDefList} from '../interfaces/definition'; diff --git a/packages/core/src/render3/jit/environment.ts b/packages/core/src/render3/jit/environment.ts index 160990c9f39..05ceeba5eda 100644 --- a/packages/core/src/render3/jit/environment.ts +++ b/packages/core/src/render3/jit/environment.ts @@ -50,7 +50,6 @@ export const angularCoreEnv: {[name: string]: unknown} = (() => ({ 'ɵɵCopyDefinitionFeature': r3.ɵɵCopyDefinitionFeature, 'ɵɵInheritDefinitionFeature': r3.ɵɵInheritDefinitionFeature, 'ɵɵInputTransformsFeature': r3.ɵɵInputTransformsFeature, - 'ɵɵStandaloneFeature': r3.ɵɵStandaloneFeature, 'ɵɵExternalStylesFeature': r3.ɵɵExternalStylesFeature, 'ɵɵnextContext': r3.ɵɵnextContext, 'ɵɵnamespaceHTML': r3.ɵɵnamespaceHTML, diff --git a/packages/core/src/render3/jit/module.ts b/packages/core/src/render3/jit/module.ts index c68c21dcb61..148800a8b6b 100644 --- a/packages/core/src/render3/jit/module.ts +++ b/packages/core/src/render3/jit/module.ts @@ -23,14 +23,14 @@ import {NgModuleDef, NgModuleTransitiveScopes, NgModuleType} from '../../metadat import {deepForEach, flatten} from '../../util/array_utils'; import {assertDefined} from '../../util/assert'; import {EMPTY_ARRAY} from '../../util/empty'; +import {GENERATED_COMP_IDS} from '../definition'; import { - GENERATED_COMP_IDS, getComponentDef, getDirectiveDef, getNgModuleDef, getPipeDef, isStandalone, -} from '../definition'; +} from '../def_getters'; import {depsTracker, USE_RUNTIME_DEPS_TRACKER_FOR_JIT} from '../deps_tracker/deps_tracker'; import {NG_COMP_DEF, NG_DIR_DEF, NG_FACTORY_DEF, NG_MOD_DEF, NG_PIPE_DEF} from '../fields'; import {ComponentDef} from '../interfaces/definition'; diff --git a/packages/core/src/render3/jit/util.ts b/packages/core/src/render3/jit/util.ts index e0a8bae78f0..9c135149d6a 100644 --- a/packages/core/src/render3/jit/util.ts +++ b/packages/core/src/render3/jit/util.ts @@ -10,8 +10,8 @@ import {isForwardRef, resolveForwardRef} from '../../di/forward_ref'; import {ModuleWithProviders} from '../../di/interface/provider'; import {Type} from '../../interface/type'; import {NgModuleDef} from '../../metadata/ng_module_def'; -import {getComponentDef, getDirectiveDef, getNgModuleDef, getPipeDef} from '../definition'; -import {ComponentType, DirectiveType, PipeType} from '../interfaces/definition'; +import {getComponentDef, getDirectiveDef, getPipeDef, getNgModuleDef} from '../def_getters'; +import type {ComponentType, DirectiveType, PipeType} from '../interfaces/definition'; import {stringifyForError} from '../util/stringify_utils'; export function isModuleWithProviders(value: any): value is ModuleWithProviders<{}> { diff --git a/packages/core/src/render3/ng_module_ref.ts b/packages/core/src/render3/ng_module_ref.ts index 493ea7b0846..11bde2cf7af 100644 --- a/packages/core/src/render3/ng_module_ref.ts +++ b/packages/core/src/render3/ng_module_ref.ts @@ -21,7 +21,7 @@ import {assertDefined} from '../util/assert'; import {stringify} from '../util/stringify'; import {ComponentFactoryResolver} from './component_ref'; -import {getNgModuleDef} from './definition'; +import {getNgModuleDef} from './def_getters'; import {maybeUnwrapFn} from './util/misc_utils'; /** diff --git a/packages/core/src/render3/scope.ts b/packages/core/src/render3/scope.ts index e58fc69049b..6222a1dcfe9 100644 --- a/packages/core/src/render3/scope.ts +++ b/packages/core/src/render3/scope.ts @@ -11,8 +11,9 @@ import {Type} from '../interface/type'; import {flatten} from '../util/array_utils'; import {noSideEffects} from '../util/closure'; import {EMPTY_ARRAY} from '../util/empty'; +import {getNgModuleDef} from './def_getters'; -import {extractDefListOrFactory, getNgModuleDef} from './definition'; +import {extractDefListOrFactory} from './definition'; import {depsTracker} from './deps_tracker/deps_tracker'; import { ComponentDef, diff --git a/packages/core/src/render3/features/standalone_feature.ts b/packages/core/src/render3/standalone_service.ts similarity index 56% rename from packages/core/src/render3/features/standalone_feature.ts rename to packages/core/src/render3/standalone_service.ts index f7253c79626..07b1b677a16 100644 --- a/packages/core/src/render3/features/standalone_feature.ts +++ b/packages/core/src/render3/standalone_service.ts @@ -5,21 +5,20 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ -import {ɵɵinject as inject} from '../../di/injector_compatibility'; -import {ɵɵdefineInjectable as defineInjectable} from '../../di/interface/defs'; -import {internalImportProvidersFrom} from '../../di/provider_collection'; -import {EnvironmentInjector} from '../../di/r3_injector'; -import {OnDestroy} from '../../interface/lifecycle_hooks'; -import {performanceMarkFeature} from '../../util/performance'; -import {ComponentDef} from '../interfaces/definition'; -import {createEnvironmentInjector} from '../ng_module_ref'; +import {ɵɵinject as inject} from '../di/injector_compatibility'; +import {ɵɵdefineInjectable as defineInjectable} from '../di/interface/defs'; +import {internalImportProvidersFrom} from '../di/provider_collection'; +import {EnvironmentInjector} from '../di/r3_injector'; +import {OnDestroy} from '../interface/lifecycle_hooks'; +import {ComponentDef} from './interfaces/definition'; +import {createEnvironmentInjector} from './ng_module_ref'; /** * A service used by the framework to create instances of standalone injectors. Those injectors are * created on demand in case of dynamic component instantiation and contain ambient providers * collected from the imports graph rooted at a given standalone component. */ -class StandaloneService implements OnDestroy { +export class StandaloneService implements OnDestroy { cachedInjectors = new Map, EnvironmentInjector | null>(); constructor(private _injector: EnvironmentInjector) {} @@ -64,20 +63,3 @@ class StandaloneService implements OnDestroy { factory: () => new StandaloneService(inject(EnvironmentInjector)), }); } - -/** - * A feature that acts as a setup code for the {@link StandaloneService}. - * - * The most important responsibility of this feature is to expose the "getStandaloneInjector" - * function (an entry points to a standalone injector creation) on a component definition object. We - * go through the features infrastructure to make sure that the standalone injector creation logic - * is tree-shakable and not included in applications that don't use standalone components. - * - * @codeGenApi - */ -export function ɵɵStandaloneFeature(definition: ComponentDef) { - performanceMarkFeature('NgStandalone'); - definition.getStandaloneInjector = (parentInjector: EnvironmentInjector) => { - return parentInjector.get(StandaloneService).getOrCreateStandaloneInjector(definition); - }; -} diff --git a/packages/core/src/render3/util/discovery_utils.ts b/packages/core/src/render3/util/discovery_utils.ts index f0bb7eb1bf9..9be5f4f4ec6 100644 --- a/packages/core/src/render3/util/discovery_utils.ts +++ b/packages/core/src/render3/util/discovery_utils.ts @@ -17,7 +17,7 @@ import { getLContext, readPatchedLView, } from '../context_discovery'; -import {getComponentDef, getDirectiveDef} from '../definition'; +import {getComponentDef, getDirectiveDef} from '../def_getters'; import {NodeInjector} from '../di'; import {DirectiveDef} from '../interfaces/definition'; import {TElementNode, TNode, TNodeProviderIndexes} from '../interfaces/node'; diff --git a/packages/core/src/render3/util/injector_discovery_utils.ts b/packages/core/src/render3/util/injector_discovery_utils.ts index e2c9899ab0a..e9e2b5371cc 100644 --- a/packages/core/src/render3/util/injector_discovery_utils.ts +++ b/packages/core/src/render3/util/injector_discovery_utils.ts @@ -24,7 +24,7 @@ import {assertTNode, assertTNodeForLView} from '../assert'; import {ChainedInjector} from '../chained_injector'; import {getFrameworkDIDebugData} from '../debug/framework_injector_profiler'; import {InjectedService, ProviderRecord} from '../debug/injector_profiler'; -import {getComponentDef} from '../definition'; +import {getComponentDef} from '../def_getters'; import { getNodeInjectorLView, getNodeInjectorTNode, diff --git a/packages/core/test/acceptance/defer_spec.ts b/packages/core/test/acceptance/defer_spec.ts index ce10820403c..ac1f0ec5a65 100644 --- a/packages/core/test/acceptance/defer_spec.ts +++ b/packages/core/test/acceptance/defer_spec.ts @@ -35,7 +35,7 @@ import { ElementRef, ViewChild, } from '@angular/core'; -import {getComponentDef} from '@angular/core/src/render3/definition'; +import {getComponentDef} from '@angular/core/src/render3/def_getters'; import { ComponentFixture, DeferBlockBehavior, diff --git a/packages/core/test/acceptance/inherit_definition_feature_spec.ts b/packages/core/test/acceptance/inherit_definition_feature_spec.ts index 5e3fa46947e..e882cac8143 100644 --- a/packages/core/test/acceptance/inherit_definition_feature_spec.ts +++ b/packages/core/test/acceptance/inherit_definition_feature_spec.ts @@ -20,7 +20,7 @@ import { QueryList, ViewChildren, } from '@angular/core'; -import {getDirectiveDef} from '@angular/core/src/render3/definition'; +import {getDirectiveDef} from '@angular/core/src/render3/def_getters'; import {TestBed} from '@angular/core/testing'; import {By} from '@angular/platform-browser'; import {NoopAnimationsModule} from '@angular/platform-browser/animations'; diff --git a/packages/core/test/acceptance/local_compilation_spec.ts b/packages/core/test/acceptance/local_compilation_spec.ts index 5a72b6d473b..44633161545 100644 --- a/packages/core/test/acceptance/local_compilation_spec.ts +++ b/packages/core/test/acceptance/local_compilation_spec.ts @@ -14,7 +14,7 @@ import { ɵɵsetNgModuleScope, } from '@angular/core'; import {ComponentType} from '@angular/core/src/render3'; -import {getNgModuleDef} from '@angular/core/src/render3/definition'; +import {getNgModuleDef} from '@angular/core/src/render3/def_getters'; describe('component dependencies in local compilation', () => { it('should compute correct set of dependencies when importing ng-modules directly', () => { diff --git a/packages/core/test/bundling/animations-standalone/bundle.golden_symbols.json b/packages/core/test/bundling/animations-standalone/bundle.golden_symbols.json index a3027896ccc..b11ebe500ad 100644 --- a/packages/core/test/bundling/animations-standalone/bundle.golden_symbols.json +++ b/packages/core/test/bundling/animations-standalone/bundle.golden_symbols.json @@ -1526,9 +1526,6 @@ { "name": "writeToDirectiveInput" }, - { - "name": "ɵɵStandaloneFeature" - }, { "name": "ɵɵdefineComponent" }, diff --git a/packages/core/test/bundling/animations/bundle.golden_symbols.json b/packages/core/test/bundling/animations/bundle.golden_symbols.json index a2d419825b7..02317f268cf 100644 --- a/packages/core/test/bundling/animations/bundle.golden_symbols.json +++ b/packages/core/test/bundling/animations/bundle.golden_symbols.json @@ -257,6 +257,9 @@ { "name": "EnvironmentInjector" }, + { + "name": "EnvironmentNgModuleRefAdapter" + }, { "name": "ErrorHandler" }, @@ -530,6 +533,9 @@ { "name": "SpecialCasedStyles" }, + { + "name": "StandaloneService" + }, { "name": "StateValue" }, @@ -1325,6 +1331,9 @@ { "name": "markViewForRefresh" }, + { + "name": "markedFeatures" + }, { "name": "maybeWrapInNotSelector" }, diff --git a/packages/core/test/bundling/cyclic_import/bundle.golden_symbols.json b/packages/core/test/bundling/cyclic_import/bundle.golden_symbols.json index 1d8b166df8c..de612d661bb 100644 --- a/packages/core/test/bundling/cyclic_import/bundle.golden_symbols.json +++ b/packages/core/test/bundling/cyclic_import/bundle.golden_symbols.json @@ -164,6 +164,9 @@ { "name": "EnvironmentInjector" }, + { + "name": "EnvironmentNgModuleRefAdapter" + }, { "name": "ErrorHandler" }, @@ -404,6 +407,9 @@ { "name": "SimpleChange" }, + { + "name": "StandaloneService" + }, { "name": "Subject" }, @@ -1067,6 +1073,9 @@ { "name": "markViewForRefresh" }, + { + "name": "markedFeatures" + }, { "name": "maybeWrapInNotSelector" }, diff --git a/packages/core/test/bundling/defer/bundle.golden_symbols.json b/packages/core/test/bundling/defer/bundle.golden_symbols.json index 4dbaa2765d8..d9a9d120926 100644 --- a/packages/core/test/bundling/defer/bundle.golden_symbols.json +++ b/packages/core/test/bundling/defer/bundle.golden_symbols.json @@ -1340,6 +1340,9 @@ { "name": "init_decorators" }, + { + "name": "init_def_getters" + }, { "name": "init_default_iterable_differ" }, @@ -2040,7 +2043,7 @@ "name": "init_standalone_default_value" }, { - "name": "init_standalone_feature" + "name": "init_standalone_service" }, { "name": "init_state" @@ -2627,9 +2630,6 @@ { "name": "ɵɵNgOnChangesFeature" }, - { - "name": "ɵɵStandaloneFeature" - }, { "name": "ɵɵdefer" }, diff --git a/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json b/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json index 20901a8df36..2375efbdb26 100644 --- a/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json +++ b/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json @@ -224,6 +224,9 @@ { "name": "EnvironmentInjector" }, + { + "name": "EnvironmentNgModuleRefAdapter" + }, { "name": "ErrorHandler" }, @@ -569,6 +572,9 @@ { "name": "SkipSelf" }, + { + "name": "StandaloneService" + }, { "name": "StatusChangeEvent" }, diff --git a/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json b/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json index 2d0d6bf76f2..f22de0aa12b 100644 --- a/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json +++ b/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json @@ -227,6 +227,9 @@ { "name": "EnvironmentInjector" }, + { + "name": "EnvironmentNgModuleRefAdapter" + }, { "name": "ErrorHandler" }, @@ -551,6 +554,9 @@ { "name": "SkipSelf" }, + { + "name": "StandaloneService" + }, { "name": "StatusChangeEvent" }, diff --git a/packages/core/test/bundling/hydration/bundle.golden_symbols.json b/packages/core/test/bundling/hydration/bundle.golden_symbols.json index 79be2604e84..c007088261d 100644 --- a/packages/core/test/bundling/hydration/bundle.golden_symbols.json +++ b/packages/core/test/bundling/hydration/bundle.golden_symbols.json @@ -1442,9 +1442,6 @@ { "name": "writeToDirectiveInput" }, - { - "name": "ɵɵStandaloneFeature" - }, { "name": "ɵɵdefineComponent" }, diff --git a/packages/core/test/bundling/router/bundle.golden_symbols.json b/packages/core/test/bundling/router/bundle.golden_symbols.json index 2fdf5f55cad..bfcd79700de 100644 --- a/packages/core/test/bundling/router/bundle.golden_symbols.json +++ b/packages/core/test/bundling/router/bundle.golden_symbols.json @@ -2240,9 +2240,6 @@ { "name": "ɵɵNgOnChangesFeature" }, - { - "name": "ɵɵStandaloneFeature" - }, { "name": "ɵɵattribute" }, diff --git a/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json b/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json index 87407f2687b..91908803aa6 100644 --- a/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json +++ b/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json @@ -1145,9 +1145,6 @@ { "name": "writeToDirectiveInput" }, - { - "name": "ɵɵStandaloneFeature" - }, { "name": "ɵɵdefineComponent" }, diff --git a/packages/core/test/bundling/todo/bundle.golden_symbols.json b/packages/core/test/bundling/todo/bundle.golden_symbols.json index ba728a81887..61b7c60ab10 100644 --- a/packages/core/test/bundling/todo/bundle.golden_symbols.json +++ b/packages/core/test/bundling/todo/bundle.golden_symbols.json @@ -167,6 +167,9 @@ { "name": "EnvironmentInjector" }, + { + "name": "EnvironmentNgModuleRefAdapter" + }, { "name": "ErrorHandler" }, @@ -437,6 +440,9 @@ { "name": "SkipSelf" }, + { + "name": "StandaloneService" + }, { "name": "Subject" }, @@ -1277,6 +1283,9 @@ { "name": "markViewForRefresh" }, + { + "name": "markedFeatures" + }, { "name": "maybeWrapInNotSelector" }, diff --git a/packages/core/test/linker/ng_module_integration_spec.ts b/packages/core/test/linker/ng_module_integration_spec.ts index 47d0470a1ea..c4b3a9b3585 100644 --- a/packages/core/test/linker/ng_module_integration_spec.ts +++ b/packages/core/test/linker/ng_module_integration_spec.ts @@ -30,7 +30,7 @@ import { } from '@angular/core'; import {ɵɵdefineInjectable} from '@angular/core/src/di/interface/defs'; import {NgModuleType} from '@angular/core/src/render3'; -import {getNgModuleDef} from '@angular/core/src/render3/definition'; +import {getNgModuleDef} from '@angular/core/src/render3/def_getters'; import {ComponentFixture, inject, TestBed} from '@angular/core/testing'; import {InternalNgModuleRef, NgModuleFactory} from '../../src/linker/ng_module_factory'; diff --git a/packages/platform-server/test/dom_utils.ts b/packages/platform-server/test/dom_utils.ts index ef837525504..a3401a6e886 100644 --- a/packages/platform-server/test/dom_utils.ts +++ b/packages/platform-server/test/dom_utils.ts @@ -9,7 +9,7 @@ import {DOCUMENT} from '@angular/common'; import {ApplicationRef, PLATFORM_ID, Provider, Type, ɵsetDocument} from '@angular/core'; import {CLIENT_RENDER_MODE_FLAG} from '@angular/core/src/hydration/api'; -import {getComponentDef} from '@angular/core/src/render3/definition'; +import {getComponentDef} from '@angular/core/src/render3/def_getters'; import { bootstrapApplication, HydrationFeature,