UNPKG

quick-node-server

Version:

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

50 lines (38 loc) 1.41 kB
import { execSync } from "child_process"; import fs from "fs"; import createServerFile from "./createServerFile.js"; import finishSetup from "./finishSetup.js"; export default function setupMongoDB(rl, projectPath) { rl.question("🔗 Enter your MongoDB URI (or press Enter for default): ", (mongoUri) => { if (!mongoUri.trim()) { mongoUri = "mongodb://127.0.0.1:27017/mydatabase"; } console.log("✅ Adding MongoDB Support..."); execSync("npm install mongoose", { stdio: "ignore" }); // Create config folder for MongoDB connection fs.mkdirSync("src/config", { recursive: true }); // Create database.js file for MongoDB configuration const databaseCode = `import mongoose from 'mongoose'; import dotenv from 'dotenv'; dotenv.config(); const MONGO_URI = process.env.MONGO_URI; const connectDB = async () => { try { await mongoose.connect(MONGO_URI); console.log('✅ MongoDB Connected!'); } catch (error) { console.error('❌ MongoDB Connection Failed:', error); process.exit(1); } }; export default connectDB; `; fs.writeFileSync("src/config/db.js", databaseCode); // Generate the server.js file with MongoDB support createServerFile(true); // Create .env file with the provided MongoDB URI fs.writeFileSync(".env", `PORT=5000\nMONGO_URI=${mongoUri}`); // Complete setup finishSetup(rl, projectPath); }); }