validate.jsโข2.5 kB
import { fileURLToPath } from 'url';
import path from 'path';
import fs from 'fs/promises';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
export async function validateSetup() {
console.log('๐ Quick validation of Onyx MCP setup...\n');
const validator = new ProjectValidator();
await validator.validate();
}
class ProjectValidator {
async validate() {
let passed = 0;
let failed = 0;
// Test package.json
try {
const pkg = JSON.parse(await fs.readFile(path.join(__dirname, '../package.json'), 'utf8'));
console.log(`โ
Package.json: ${pkg.name} v${pkg.version}`);
passed++;
} catch (error) {
console.log(`โ Package.json: ${error.message}`);
failed++;
}
// Test SearchEngine
try {
const { SearchEngine } = await import('./core/search-engine.js');
const engine = new SearchEngine('/tmp');
console.log('โ
SearchEngine: Module loads and instantiates');
passed++;
} catch (error) {
console.log(`โ SearchEngine: ${error.message}`);
failed++;
}
// Test GitHubCrawler
try {
const GitHubCrawler = (await import('./crawlers/github.js')).default;
const crawler = new GitHubCrawler();
console.log('โ
GitHubCrawler: Module loads and instantiates');
passed++;
} catch (error) {
console.log(`โ GitHubCrawler: ${error.message}`);
failed++;
}
// Test UrlCrawler
try {
const { UrlCrawler } = await import('./crawlers/urls.js');
const crawler = new UrlCrawler();
console.log('โ
UrlCrawler: Module loads and instantiates');
passed++;
} catch (error) {
console.log(`โ UrlCrawler: ${error.message}`);
failed++;
}
// Test data directory
try {
await fs.mkdir(path.join(__dirname, '../data'), { recursive: true });
console.log('โ
Data directory: Created successfully');
passed++;
} catch (error) {
console.log(`โ Data directory: ${error.message}`);
failed++;
}
console.log(`\n๐ Results: ${passed} passed, ${failed} failed`);
if (failed === 0) {
console.log('๐ All validation checks passed!');
console.log('\n๐ Next steps:');
console.log('1. Run: onyx-mcp test');
console.log('2. Run: onyx-mcp crawl all');
console.log('3. Run: onyx-mcp server');
} else {
console.log('โ ๏ธ Some validation checks failed.');
process.exit(1);
}
}
}