UNPKG

quick-node-server

Version:

A CLI tool to generate a Node.js project with optional MongoDB setup.

57 lines (47 loc) 1.33 kB
import fs from "fs"; import figlet from "figlet"; export default function finishSetup(rl, projectPath, useMongoDB) { // Define the folder structure const directories = [ "src/api/v1", "src/api/v1/routes", "src/api/v1/controllers", "src/api/v1/models", ]; // If the user chooses MongoDB, add the 'config' folder if (useMongoDB) { directories.push("src/config"); } // Create the necessary directories if they don't exist directories.forEach((dir) => { if (!fs.existsSync(dir)) { fs.mkdirSync(dir, { recursive: true }); } }); // If MongoDB setup is enabled, create a db.js file if (useMongoDB) { fs.writeFileSync( "src/config/db.js", `import mongoose from 'mongoose'; const connectDB = async () => { try { const conn = await mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true, }); console.log(\`MongoDB Connected: \${conn.connection.host}\`); } catch (error) { console.error(\`Error: \${error.message}\`); process.exit(1); } }; export default connectDB; ` ); } // Display branding text console.log("\n" + figlet.textSync("Developer Kartik")); console.log(`✅ Project setup complete!`); console.log(`👉 cd ${projectPath} && node app.js`); rl.close(); }