From bd68f6bc9d46e1f0d3b33f053d12657f46c688aa Mon Sep 17 00:00:00 2001 From: cB-santosh-kumar Date: Thu, 11 Sep 2025 20:50:41 +0530 Subject: [PATCH 1/2] replace bodyparser with express json and add validation in plopfile --- app.js | 8 ++++---- Dockerfile => docker/Dockerfile | 0 .../docker-compose.yml | 0 package-lock.json | 19 ++++++++++++++++++- plopfile.js | 17 +++++++++++++++++ 5 files changed, 39 insertions(+), 5 deletions(-) rename Dockerfile => docker/Dockerfile (100%) rename docker-compose.yml => docker/docker-compose.yml (100%) diff --git a/app.js b/app.js index a8845b5..aa11bed 100644 --- a/app.js +++ b/app.js @@ -1,5 +1,4 @@ const express = require("express"); -const bodyParser = require("body-parser"); const path = require("path"); const cors = require("cors"); const helmet = require("helmet"); @@ -23,15 +22,16 @@ app .use(cors()) .use(helmet()) .use( - bodyParser.urlencoded({ + express.urlencoded({ limit: "100mb", extended: true, parameterLimit: 50000, }) ) - .use(bodyParser.json({ limit: "100mb" })) + .use(express.json({limit:"100mb"})) .use(logger) - .use(express.static(path.join(__dirname, "public"))); + .use(express.static(path.join(__dirname, "public"))) + .use(validator); app.use(trimMiddleware); app.use("/v1", v1); diff --git a/Dockerfile b/docker/Dockerfile similarity index 100% rename from Dockerfile rename to docker/Dockerfile diff --git a/docker-compose.yml b/docker/docker-compose.yml similarity index 100% rename from docker-compose.yml rename to docker/docker-compose.yml diff --git a/package-lock.json b/package-lock.json index a0062c3..1aa095a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,7 +40,8 @@ "uuid": "^9.0.0" }, "devDependencies": { - "plop": "^3.1.1" + "plop": "^3.1.1", + "prettier": "^3.5.3" } }, "node_modules/@azure/abort-controller": { @@ -4371,6 +4372,22 @@ "node": ">= 0.4" } }, + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", diff --git a/plopfile.js b/plopfile.js index 3db652f..cc14f90 100644 --- a/plopfile.js +++ b/plopfile.js @@ -1,6 +1,14 @@ module.exports = function (plop) { // create your generators here + // Validation for generatior that should that file or folder name should be in kabab-case + const kebabCaseRegex = /^[a-z0-9]+(-[a-z0-9]+)*$/; + + const validateKebab = value => { + if (kebabCaseRegex.test(value)) return true; + return "File name must be in kebab-case (e.g., user-profile, auth-service)."; + }; + plop.setGenerator("route", { description: "application route logic", prompts: [ @@ -8,16 +16,19 @@ module.exports = function (plop) { type: "input", name: "version", message: "Please enter version name", + validate: validateKebab, }, { type: "input", name: "group", message: "Please enter group name", + validate: validateKebab, }, { type: "input", name: "name", message: "Please enter route name", + validate: validateKebab, }, ], actions: [ @@ -36,16 +47,19 @@ module.exports = function (plop) { type: "input", name: "version", message: "Please enter version name", + validate: validateKebab, }, { type: "input", name: "group", message: "Please enter group name", + validate: validateKebab, }, { type: "input", name: "name", message: "Please enter controller name", + validate: validateKebab, }, ], actions: [ @@ -64,16 +78,19 @@ module.exports = function (plop) { type: "input", name: "version", message: "Please enter version name", + validate: validateKebab, }, { type: "input", name: "name", message: "Please enter file name", + validate: validateKebab, }, { type: "input", name: "serviceName", message: "Please enter service name", + validate: validateKebab, }, ], actions: [ From ac2532a9aed5820cdd98b0936ce52870c021f18b Mon Sep 17 00:00:00 2001 From: cB-santosh-kumar Date: Fri, 19 Sep 2025 21:00:50 +0530 Subject: [PATCH 2/2] change logger.js to handle transport --- utils/logger.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/utils/logger.js b/utils/logger.js index 5512b40..c9860c5 100644 --- a/utils/logger.js +++ b/utils/logger.js @@ -47,10 +47,8 @@ let logServerTransport = { let targets = [consoleTransport]; -if (NODE_ENV == "STAGE" || NODE_ENV == "stage") { - targets = [consoleTransport, logServerTransport]; -} else if (NODE_ENV == "PRODUCTION" || NODE_ENV == "production") { - targets = [logServerTransport]; +if (NODE_ENV !== "development" || NODE_ENV !== "DEVELOPMENT") { + targets = [consoleTransport, logServerTransport]; } const transports = pino.transport({