UNPKG

go-meow

Version:

A modular microservice template built with TypeScript, Express, and Prisma (MongoDB). It includes service scaffolding tools, consistent query utilities with data grouping, Zod validation, structured logging, comprehensive seeding system, and Swagger/OpenA

61 lines (49 loc) 1.7 kB
#!/usr/bin/env node const fs = require("fs"); const path = require("path"); function renameJsToEsm(dir) { const files = fs.readdirSync(dir); for (const file of files) { const fullPath = path.join(dir, file); const stat = fs.statSync(fullPath); if (stat.isDirectory()) { renameJsToEsm(fullPath); } else if (file.endsWith(".js")) { const newPath = fullPath.replace(/\.js$/, ".esm.js"); fs.renameSync(fullPath, newPath); console.log(`Renamed: ${fullPath} -> ${newPath}`); } } } // Rename all .js files in dist/lib-esm to .esm.js const esmDir = path.join(__dirname, "../dist/lib-esm"); if (fs.existsSync(esmDir)) { renameJsToEsm(esmDir); // Move files from lib-esm to lib with .esm.js extension const libDir = path.join(__dirname, "../dist/lib"); if (!fs.existsSync(libDir)) { fs.mkdirSync(libDir, { recursive: true }); } function moveEsmFiles(srcDir, destDir) { const files = fs.readdirSync(srcDir); for (const file of files) { const srcPath = path.join(srcDir, file); const stat = fs.statSync(srcPath); if (stat.isDirectory()) { const newDestDir = path.join(destDir, file); if (!fs.existsSync(newDestDir)) { fs.mkdirSync(newDestDir, { recursive: true }); } moveEsmFiles(srcPath, newDestDir); } else if (file.endsWith(".esm.js")) { const destPath = path.join(destDir, file); fs.copyFileSync(srcPath, destPath); console.log(`Moved: ${srcPath} -> ${destPath}`); } } } moveEsmFiles(esmDir, libDir); // Clean up the lib-esm directory fs.rmSync(esmDir, { recursive: true, force: true }); console.log("Cleaned up temporary lib-esm directory"); }