build.jsโข1.78 kB
#!/usr/bin/env node
/**
* Enhanced build script with detailed logging
*/
import { execSync } from 'child_process';
import { existsSync, rmSync } from 'fs';
import { join } from 'path';
const projectRoot = process.cwd();
const distDir = join(projectRoot, 'dist');
console.log('๐ Starting Orchestrator MCP Server build process...');
console.log(`๐ Project root: ${projectRoot}`);
console.log(`๐ฆ Output directory: ${distDir}`);
try {
// Clean existing dist directory
if (existsSync(distDir)) {
console.log('๐งน Cleaning existing dist directory...');
rmSync(distDir, { recursive: true, force: true });
console.log('โ
Dist directory cleaned');
}
// Run TypeScript compilation
console.log('๐จ Starting TypeScript compilation...');
console.log('โณ This may take a moment...');
const startTime = Date.now();
execSync('npx tsc', {
stdio: 'inherit',
cwd: projectRoot
});
const endTime = Date.now();
const duration = ((endTime - startTime) / 1000).toFixed(2);
console.log(`โ
TypeScript compilation completed in ${duration}s`);
// Verify output
if (existsSync(distDir)) {
console.log('โ
Dist directory created successfully');
// Check for main entry point
const mainFile = join(distDir, 'index.js');
if (existsSync(mainFile)) {
console.log('โ
Main entry point (index.js) generated');
} else {
console.log('โ ๏ธ Warning: Main entry point not found');
}
} else {
console.log('โ Error: Dist directory not created');
process.exit(1);
}
console.log('๐ Build process completed successfully!');
console.log('๐ก You can now run: npm start');
} catch (error) {
console.error('โ Build failed:', error.message);
process.exit(1);
}