Documentation
¶
Overview ¶
Package javascript provides JavaScript/TypeScript language support for code analysis.
Package javascript provides JavaScript/TypeScript language support for code analysis.
Package javascript provides JavaScript/TypeScript language support for code analysis.
Package javascript provides JavaScript/TypeScript language support for code analysis.
Package javascript provides JavaScript/TypeScript language support for code analysis.
This package implements the language.Language interface for JavaScript and TypeScript, using tree-sitter for parsing and custom detectors for anti-pattern detection. A single language handler ("javascript") parses both JS and TS using the TypeScript grammar.
Index ¶
- type CoverageRunner
- type DependencyAnalyzer
- type JavaScriptDetectorRunner
- type JavaScriptLanguage
- func (j *JavaScriptLanguage) CoverageRunner(cfg *config.AnalysisConfig, statusReporter status.Reporter) language.CoverageRunner
- func (j *JavaScriptLanguage) DefaultExcludePatterns() []string
- func (j *JavaScriptLanguage) DependencyAnalyzer(projectPath string) (language.DependencyAnalyzer, error)
- func (j *JavaScriptLanguage) DetectorRunner(cfg *config.AnalysisConfig) language.DetectorRunner
- func (j *JavaScriptLanguage) DisplayName() string
- func (j *JavaScriptLanguage) Extensions() []string
- func (j *JavaScriptLanguage) Name() string
- func (j *JavaScriptLanguage) Parser() parser.Parser
- type JavaScriptParser
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CoverageRunner ¶
type CoverageRunner struct {
// contains filtered or unexported fields
}
CoverageRunner executes JavaScript/TypeScript test coverage using Jest, Vitest, or npm test.
func NewCoverageRunner ¶
func NewCoverageRunner(timeoutSeconds int, statusReporter status.Reporter) *CoverageRunner
NewCoverageRunner creates a new JavaScript/TypeScript coverage runner.
func (*CoverageRunner) RunCoverage ¶
func (r *CoverageRunner) RunCoverage(projectPath string, excludePatterns []string) ([]*coverage.PackageCoverage, error)
RunCoverage executes tests and extracts coverage for the project.
type DependencyAnalyzer ¶
type DependencyAnalyzer struct {
// contains filtered or unexported fields
}
DependencyAnalyzer analyzes JavaScript/TypeScript package dependencies.
func NewDependencyAnalyzer ¶
func NewDependencyAnalyzer(projectPath string) (*DependencyAnalyzer, error)
NewDependencyAnalyzer creates a new JavaScript/TypeScript dependency analyzer.
func (*DependencyAnalyzer) Analyze ¶
func (a *DependencyAnalyzer) Analyze(files []*parser.FileMetrics) ([]*dependencies.PackageDependencies, error)
Analyze analyzes dependencies across all files.
func (*DependencyAnalyzer) DetectCircularDependencies ¶
func (a *DependencyAnalyzer) DetectCircularDependencies(files []*parser.FileMetrics) ([]*dependencies.CircularDependency, error)
DetectCircularDependencies finds circular import chains in JavaScript/TypeScript code.
type JavaScriptDetectorRunner ¶
type JavaScriptDetectorRunner struct {
// contains filtered or unexported fields
}
JavaScriptDetectorRunner implements language.DetectorRunner for JavaScript/TypeScript source code.
func NewDetectorRunner ¶
func NewDetectorRunner(cfg *config.AnalysisConfig) *JavaScriptDetectorRunner
NewDetectorRunner creates a new detector runner for JavaScript/TypeScript source code.
func (*JavaScriptDetectorRunner) RunDetectors ¶
func (r *JavaScriptDetectorRunner) RunDetectors(cfg *config.AnalysisConfig, file *parser.FileMetrics) []*detectors.Issue
RunDetectors parses a JavaScript/TypeScript file and runs all enabled detectors.
type JavaScriptLanguage ¶
type JavaScriptLanguage struct{}
JavaScriptLanguage implements language.Language for JavaScript/TypeScript source code.
func (*JavaScriptLanguage) CoverageRunner ¶
func (j *JavaScriptLanguage) CoverageRunner(cfg *config.AnalysisConfig, statusReporter status.Reporter) language.CoverageRunner
CoverageRunner returns a JavaScript/TypeScript test coverage runner. Supports Jest and Vitest test frameworks.
func (*JavaScriptLanguage) DefaultExcludePatterns ¶
func (j *JavaScriptLanguage) DefaultExcludePatterns() []string
DefaultExcludePatterns returns JavaScript/TypeScript-specific exclude patterns.
func (*JavaScriptLanguage) DependencyAnalyzer ¶
func (j *JavaScriptLanguage) DependencyAnalyzer(projectPath string) (language.DependencyAnalyzer, error)
DependencyAnalyzer returns a JavaScript/TypeScript dependency analyzer.
func (*JavaScriptLanguage) DetectorRunner ¶
func (j *JavaScriptLanguage) DetectorRunner(cfg *config.AnalysisConfig) language.DetectorRunner
DetectorRunner returns a JavaScript/TypeScript-specific detector runner.
func (*JavaScriptLanguage) DisplayName ¶
func (j *JavaScriptLanguage) DisplayName() string
DisplayName returns "JavaScript/TypeScript".
func (*JavaScriptLanguage) Extensions ¶
func (j *JavaScriptLanguage) Extensions() []string
Extensions returns all JavaScript and TypeScript file extensions.
func (*JavaScriptLanguage) Name ¶
func (j *JavaScriptLanguage) Name() string
Name returns "javascript".
func (*JavaScriptLanguage) Parser ¶
func (j *JavaScriptLanguage) Parser() parser.Parser
Parser returns a tree-sitter based JavaScript/TypeScript parser.
type JavaScriptParser ¶
type JavaScriptParser struct {
// contains filtered or unexported fields
}
JavaScriptParser implements parser.Parser for JavaScript/TypeScript source files using tree-sitter.
func NewParser ¶
func NewParser() *JavaScriptParser
NewParser creates a new JavaScript/TypeScript parser.
func (*JavaScriptParser) ParseDirectory ¶
func (p *JavaScriptParser) ParseDirectory(rootPath string, excludePatterns []string, extensions []string, statusReporter status.Reporter) ([]*parser.FileMetrics, []error)
ParseDirectory recursively parses all JavaScript/TypeScript files in a directory.
func (*JavaScriptParser) ParseFile ¶
func (p *JavaScriptParser) ParseFile(path string) (*parser.FileMetrics, error)
ParseFile parses a single JavaScript/TypeScript file and extracts comprehensive metrics.