imfozilbek
|
958e4daed5
|
chore(guardian): bump version to 0.9.4
|
2025-11-30 01:50:21 +05:00 |
|
imfozilbek
|
6b35679f09
|
refactor: update AST strategies to use centralized node type constants
|
2025-11-27 19:27:30 +05:00 |
|
imfozilbek
|
ce78183c6e
|
refactor: create AST-based naming analyzers for enhanced detection
|
2025-11-27 19:26:24 +05:00 |
|
imfozilbek
|
af094eb54a
|
refactor: migrate hardcode detector from regex to AST-based analysis
- Replace regex-based matchers with tree-sitter AST traversal
- Add duplicate value tracking across files
- Implement boolean literal detection
- Add value type classification (email, url, ip, api_key, etc.)
- Improve context awareness with AST node analysis
- Reduce false positives with better constant detection
Breaking changes removed:
- BraceTracker.ts
- ExportConstantAnalyzer.ts
- MagicNumberMatcher.ts
- MagicStringMatcher.ts
New components added:
- AstTreeTraverser for AST walking
- DuplicateValueTracker for cross-file tracking
- AstContextChecker for node context analysis
- AstNumberAnalyzer, AstStringAnalyzer, AstBooleanAnalyzer
- ValuePatternMatcher for type detection
Test coverage: 87.97% statements, 96.75% functions
|
2025-11-26 17:38:30 +05:00 |
|
imfozilbek
|
1d6c2a0e00
|
refactor: extract all hardcoded values to constants (v0.8.1)
Fix all 63 hardcoded value issues from Guardian self-check:
- Remove hardcoded Slack token from documentation
- Remove aws-sdk framework leak from domain layer
- Rename 4 pipeline files to verb-noun convention
- Extract 57 magic strings to SecretExamples.ts constants
- Update SecretViolation, SecretDetector, MagicStringMatcher
- Use typeof for TypeScript literal type in getSeverity()
Result: 0 issues in Guardian self-check (was 63)
All 566 tests passing, build successful
|
2025-11-25 19:06:33 +05:00 |
|
imfozilbek
|
8d400c9517
|
refactor: extract detector logic into focused strategy classes
Refactored three largest detectors to improve maintainability and reduce complexity:
- AggregateBoundaryDetector: 381 → 162 lines (57% reduction)
- HardcodeDetector: 459 → 89 lines (81% reduction)
- RepositoryPatternDetector: 479 → 106 lines (78% reduction)
Added 13 new strategy classes:
- FolderRegistry - centralized DDD folder name management
- AggregatePathAnalyzer - path parsing and aggregate extraction
- ImportValidator - import validation logic
- BraceTracker - brace and bracket counting
- ConstantsFileChecker - constants file detection
- ExportConstantAnalyzer - export const analysis
- MagicNumberMatcher - magic number detection
- MagicStringMatcher - magic string detection
- OrmTypeMatcher - ORM type matching
- MethodNameValidator - repository method validation
- RepositoryFileAnalyzer - file role detection
- RepositoryViolationDetector - violation detection logic
All 519 tests passing, zero ESLint errors, no breaking changes.
|
2025-11-25 17:41:32 +05:00 |
|