ReadonlyapiThe Public API - the plugin's toolbox. Contains all high-level helpers for analysis and transformation.
This is THE critical design decision: Plugins don't implement low-level logic. They consume the API.
ReadonlyconfigPlugin-specific configuration. Allows users to customize plugin behavior.
ReadonlyfileFile path for convenience (derived from sourceFile).
Optional ReadonlyoptionsAnalysis-specific options.
Optionaldeep?: booleanWhether to perform deep analysis (cross-file). Default: false (single-file analysis only)
OptionalmaxDepth?: numberMaximum depth for cross-file analysis. Only relevant if deep=true.
ReadonlyprojectThe ts-morph Project instance. Provides access to the entire codebase for cross-file analysis.
ReadonlysourceThe source file being operated on. This is the primary entry point for all plugin operations.
ReadonlytypeType discriminator for type safety.
Context for analysis operations. Passed to AnalysisRule.analyze() methods.
Analysis contexts are READ-ONLY. They must not modify code.