quick-node-server
Version:
A CLI tool to generate a Node.js project with optional MongoDB setup.
50 lines (38 loc) • 1.41 kB
JavaScript
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);
});
}