UNPKG

vibe-coder-mcp

Version:

Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.

96 lines (93 loc) 2.68 kB
import { initializeParser, getParserForFileExtension, parseCode } from './parser.js'; const sampleCode = { '.js': ` function hello() { console.log("Hello, world!"); // A simple comment return 42; } `, '.py': ` def hello(): """This is a docstring.""" print("Hello, world!") # A simple comment return 42 `, '.ts': ` function hello(): number { console.log("Hello, world!"); // A simple comment return 42; } `, '.html': ` <!DOCTYPE html> <html> <head> <title>Test</title> </head> <body> <!-- A comment --> <h1>Hello, world!</h1> </body> </html> `, '.json': ` { "hello": "world", "answer": 42 } `, '.go': ` package main import "fmt" // Main function func main() { fmt.Println("Hello, world!") } `, }; async function testLanguage(extension) { console.log(`\n=== Testing ${extension} parsing ===`); const parser = await getParserForFileExtension(extension); if (!parser) { console.error(`❌ Failed to get parser for ${extension}`); return false; } const code = sampleCode[extension] || `// Sample code for ${extension}`; const tree = await parseCode(code, extension); if (!tree) { console.error(`❌ Failed to parse ${extension} code`); return false; } console.log(`✅ Successfully parsed ${extension} code`); console.log(` Root node type: ${tree.rootNode.type}`); console.log(` Child count: ${tree.rootNode.childCount}`); console.log(` First few children:`); tree.rootNode.children.slice(0, 3).forEach((child, i) => { console.log(` ${i}: ${child.type} - "${child.text.substring(0, 30).replace(/\n/g, '\\n')}${child.text.length > 30 ? '...' : ''}"`); }); return true; } async function runTests() { try { console.log("Initializing Tree-sitter parser..."); await initializeParser(); console.log("✅ Parser initialized successfully"); const languagesToTest = Object.keys(sampleCode); let successCount = 0; for (const ext of languagesToTest) { const success = await testLanguage(ext); if (success) successCount++; } console.log(`\n=== Test Summary ===`); console.log(`Tested ${languagesToTest.length} languages`); console.log(`${successCount} succeeded, ${languagesToTest.length - successCount} failed`); } catch (error) { console.error("❌ Test failed with error:", error); } } runTests().catch(console.error);