UNPKG

nrdboiler

Version:

NRD's npm package to create boilerplate projects

68 lines (56 loc) 1.46 kB
import { createRequire } from "module"; import fs from "fs"; const require = createRequire(import.meta.url); const { exec } = require("child_process"); export default function nodeExpress(folderName) { const nodeContent = `const express = require('express') const bodyParser = require('body-parser') const app = express() const port = 8888 app.use(bodyParser.json()) app.get('/', (req, res) => { res.send("Hello world!") }) app.listen(process.env.PORT || port}); `; const packageContent = ` { "name": "${folderName.toLowerCase()}", "version": "1.0.0", "description": "NRDBoiler node express template", "scripts": { "start": "nodemon index.js", "test": "echo \'Error: no test specified\' && exit 1" }, "keywords": [ "nrd", "boilerplate" ], "author": "github/lnardon", "license": "ISC", "dependencies": { "body-parser": "^1.19.0", "express": "^4.17.1", "nodemon": "^2.0.4" } } `; fs.mkdir(`./${folderName}`, (err) => { if (err) throw err; }); fs.writeFile(`./${folderName}/index.js`, nodeContent, (err) => { if (err) throw err; }); fs.writeFile(`./${folderName}/package.json`, packageContent, (err) => { if (err) throw err; }); exec( `cd ./${folderName} && npm install && npm start`, (err, stdout, stderr) => { if (err) { console.error(err, stdout, stderr); } console.log("Project Created and dependencies installed!"); } ); }