UNPKG

env-reloader

Version:

Auto-restart Node.js server on .env changes | dotenv reload watcher for development

41 lines (34 loc) • 1.13 kB
#!/usr/bin/env node const chokidar = require("chokidar"); const path = require("path"); const nodemon = require("nodemon"); const args = process.argv.slice(2); if (!args.length) { console.log("Usage: env-reloader <your-start-file>"); process.exit(1); } const envPath = path.resolve(process.cwd(), ".env"); console.log(`šŸ‘€ Watching for changes in: ${envPath}`); // Start nodemon programmatically nodemon({ script: args[0], exec: args[0].endsWith(".ts") ? "ts-node" : "node", ext: "ts js json", watch: ["src"], // you can customize if needed }); nodemon .on("start", () => { console.log("šŸš€ Server started with nodemon..."); }) .on("quit", () => { console.log("šŸ‘‹ Server stopped"); process.exit(); }) .on("restart", (files) => { console.log("ā™»ļø Nodemon restarted due to:", files); }); // Watch only .env and trigger nodemon.restart() chokidar.watch(envPath, { ignoreInitial: true }).on("change", () => { console.log("\nšŸ“¦ .env changed → restarting server...\n"); nodemon.restart(); // āœ… Safe API call instead of signals });