UNPKG

code-auditor-mcp

Version:

Multi-language code quality auditor with MCP server - Analyze TypeScript, JavaScript, and Go code for SOLID principles, DRY violations, security patterns, and more

47 lines 1.6 kB
/** * Language Adapter Interface - Core abstraction for multi-language support * * This follows the architecture plan in /docs/MULTI-LANGUAGE-ARCHITECTURE.md * Each language implements this interface to provide unified AST access. */ /** * Language Registry - Manages all language adapters */ export class LanguageRegistry { static instance; adapters = new Map(); static getInstance() { if (!LanguageRegistry.instance) { LanguageRegistry.instance = new LanguageRegistry(); } return LanguageRegistry.instance; } register(adapter) { this.adapters.set(adapter.name, adapter); console.log(`[LanguageRegistry] Registered adapter: ${adapter.name} for extensions: ${adapter.extensions.join(', ')}`); } getAdapter(language) { return this.adapters.get(language) || null; } getAdapterForFile(filePath) { const extension = this.getFileExtension(filePath); for (const adapter of this.adapters.values()) { if (adapter.extensions.includes(extension)) { return adapter; } } return null; } getSupportedExtensions() { const extensions = new Set(); for (const adapter of this.adapters.values()) { adapter.extensions.forEach(ext => extensions.add(ext)); } return Array.from(extensions); } getFileExtension(filePath) { const lastDot = filePath.lastIndexOf('.'); return lastDot === -1 ? '' : filePath.substring(lastDot); } } //# sourceMappingURL=LanguageAdapter.js.map