Skip to main content
Glama
fix-imports.js1.98 kB
/** * Fix ES module imports in compiled JavaScript files * This script adds .js extensions to relative imports for proper ES module resolution */ import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const distDir = path.join(__dirname, '..', 'dist'); function fixImportsInFile(filePath) { if (!fs.existsSync(filePath)) { return; } let content = fs.readFileSync(filePath, 'utf8'); let modified = false; // Fix relative imports that don't have .js extension content = content.replace( /from\s+['"](\.[^'"]*?)(?<!\.js)['"]/g, (match, importPath) => { modified = true; return match.replace(importPath, importPath + '.js'); } ); // Fix side-effect imports content = content.replace( /import\s+['"](\.[^'"]*?)(?<!\.js)['"]/g, (match, importPath) => { modified = true; return match.replace(importPath, importPath + '.js'); } ); // Fix dynamic imports content = content.replace( /import\s*\(\s*['"](\.[^'"]*?)(?<!\.js)['"]\s*\)/g, (match, importPath) => { modified = true; return match.replace(importPath, importPath + '.js'); } ); if (modified) { fs.writeFileSync(filePath, content, 'utf8'); console.log(`Fixed imports in: ${path.relative(process.cwd(), filePath)}`); } } function processDirectory(dir) { if (!fs.existsSync(dir)) { console.log(`Directory ${dir} does not exist, skipping import fixes.`); return; } const items = fs.readdirSync(dir); for (const item of items) { const fullPath = path.join(dir, item); const stat = fs.statSync(fullPath); if (stat.isDirectory()) { processDirectory(fullPath); } else if (item.endsWith('.js')) { fixImportsInFile(fullPath); } } } console.log('Fixing ES module imports...'); processDirectory(distDir); console.log('Import fixes complete.');

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/keyurgolani/ColorMcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server