Optionaloptions: CircularDependencyRuleOptionsProject root and graph cache lifetime
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
Circular Dependency Rule (
solid:circular-dependency) - detects runtime import cycles between project files.Detection:
import type/ type-only specifiers are ignored,export * fromandexport { x } frombarrels are followed, and specifiers resolve through tsconfig path aliases, relative paths andindex.tsprobing.forwardRef,inject(), constructor parameter types, decoratorproviders/imports) are flaggedng0919Risk: truewith metadata severityhigh(Angular NG0919: cannot read the provider/class before initialization).Result metadata: CircularDependencyMetadata. Graphs are cached per tsconfig for CircularDependencyRuleOptions.snapshotTtlMs.
Example