UNPKG

claude-code-subagents-orchestrator

Version:

Claude Code Sub-agents Orchestrator - A powerful MCP server for orchestrating multiple AI sub-agents for complex task execution in Claude Code

69 lines (51 loc) 2.03 kB
#!/usr/bin/env node /** * ESM Build Script * Converts CommonJS modules to ESM format and handles package.json generation */ import fs from 'fs-extra'; import path from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const ROOT_DIR = path.resolve(__dirname, '..'); const DIST_DIR = path.join(ROOT_DIR, 'dist'); const ESM_DIR = path.join(DIST_DIR, 'esm'); async function buildESM() { console.log('🔨 Building ESM modules...'); try { // Ensure ESM directory exists await fs.ensureDir(ESM_DIR); // Copy files from CJS build and modify for ESM const cjsFiles = await fs.readdir(path.join(DIST_DIR, 'cjs'), { recursive: true }); for (const file of cjsFiles) { if (file.endsWith('.js')) { const cjsPath = path.join(DIST_DIR, 'cjs', file); const esmPath = path.join(ESM_DIR, file.replace('.js', '.esm.js')); let content = await fs.readFile(cjsPath, 'utf-8'); // Convert require() to import statements content = content.replace(/const\s+(.+?)\s+=\s+require\(["'](.+?)["']\);?/g, 'import $1 from "$2";'); // Convert module.exports to export default content = content.replace(/module\.exports\s*=\s*(.+);?/g, 'export default $1;'); // Convert exports.X to export content = content.replace(/exports\.(\w+)\s*=\s*(.+);?/g, 'export const $1 = $2;'); await fs.ensureDir(path.dirname(esmPath)); await fs.writeFile(esmPath, content); } } // Create package.json for ESM directory const esmPackageJson = { type: 'module' }; await fs.writeFile( path.join(ESM_DIR, 'package.json'), JSON.stringify(esmPackageJson, null, 2) ); console.log('✅ ESM build completed successfully'); } catch (error) { console.error('❌ ESM build failed:', error); process.exit(1); } } buildESM();