Optionalconfig: Partial<UntypedDynamicComponentConfig>ReadonlycategoryRule category for grouping.
ReadonlydescriptionRule description explaining what it checks.
ReadonlyidUnique rule identifier (scoped to plugin). Format: "plugin-name:rule-name" (e.g., "angular-standalone:component-not-standalone")
ReadonlynameHuman-readable rule name.
ReadonlyseverityRule severity level.
ReadonlytagsTags for filtering and search.
Analyze a source file and return findings.
Analysis context with file, project, and API access
Promise resolving to array of analysis results
Detects
.instanceaccesses onComponentRef-typed expressions that lack an explicit type contract. Dynamic component hosts that access component members through an untyped (orany-typed)ComponentRefcreate implicit contracts that the TypeScript compiler cannot verify.Detection scope:
PropertyAccessExpressionnodes whose name isinstanceand whose expression resolves to a type that includesComponentRef..instanceaccess is itself chained with a member access (.instance.memberName), indicating an actual contract use.Skipped:
.d.tsdeclaration files.ComponentRef<T>whereTis a concrete (non-any, non-unknown) named type: the contract is already explicit.as IMyInterfaceor<IMyInterface>), which means the developer has opted in to explicit typing at the call site.checkEventSubscriptionsconfig option isfalse.Example