From 2f5f793f231fa2b9c5527efed903a69176e935b7 Mon Sep 17 00:00:00 2001 From: LordPrinz Date: Mon, 3 Jul 2023 23:39:42 +0200 Subject: [PATCH] add terminate function --- package-lock.json | 19 +++++++++++++++++++ package.json | 1 + src/server/index.ts | 7 +++++++ 3 files changed, 27 insertions(+) diff --git a/package-lock.json b/package-lock.json index 005f2c3..304e012 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,6 +47,7 @@ "@types/mocha": "^9.1.1", "@types/morgan": "^1.9.3", "@types/ms": "^0.7.31", + "@types/nodemon": "^1.19.2", "jest": "^28.1.0" } }, @@ -1518,6 +1519,15 @@ "node": ">= 6" } }, + "node_modules/@types/nodemon": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/nodemon/-/nodemon-1.19.2.tgz", + "integrity": "sha512-4GWiTN3HevkxMIxEQ7OpD3MAHhlVsX2tairCMRmf8oYZxmhHw9+UpQpIdGdJrjsMT2Ty26FtJzUUcP/qM5fR8A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/prettier": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.1.tgz", @@ -13752,6 +13762,15 @@ } } }, + "@types/nodemon": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/nodemon/-/nodemon-1.19.2.tgz", + "integrity": "sha512-4GWiTN3HevkxMIxEQ7OpD3MAHhlVsX2tairCMRmf8oYZxmhHw9+UpQpIdGdJrjsMT2Ty26FtJzUUcP/qM5fR8A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/prettier": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.1.tgz", diff --git a/package.json b/package.json index 7345e59..47381aa 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "@types/mocha": "^9.1.1", "@types/morgan": "^1.9.3", "@types/ms": "^0.7.31", + "@types/nodemon": "^1.19.2", "jest": "^28.1.0" } } diff --git a/src/server/index.ts b/src/server/index.ts index 6f4e99e..a9739c6 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -4,6 +4,7 @@ import morgan from "morgan"; import mongoSanitize from "express-mongo-sanitize"; import compression from "compression"; import http from "http"; +import nodemon from "nodemon"; import AppError from "../utils/server/AppError"; import globalErrorHandler from "./controllers/errorController"; @@ -47,6 +48,12 @@ app.get("/favicon.ico", (req, res) => { res.status(204).end(); }); +app.get("/terminate", (req, res) => { + console.log(nodemon); + nodemon.emit("exit"); + process.exit(0); +}); + app.all("*", async (req, res, next) => { new AppError(`Can't find ${req.originalUrl} on this server!`, 404); });