{ "name": "typescript-rest-api-backend", "version": "1.0.0", "description": "Express Typescript Rest API backend template with full TS support following gts style guide and gke integration", "main": "src/index.ts", "scripts": { "start:dev": "cross-env NODE_ENV=development nodemon ./src/bin/server", "start:prod": "npm run prod", "prod": "cross-env NODE_ENV=production npm-run-all compile server", "server": "node ./build/src/bin/server", "lint": "gts lint", "clean": "gts clean", "compile": "npm run clean && tsc", "watch": "tsc -w", "fix": "gts fix", "prepare": "npm run compile", "pretest": "npm run compile", "posttest": "npm run lint", "test": "cross-env NODE_ENV=test jest --verbose", "docs": "rm -rf docs/ && typedoc", "generate:env": "sh ./scripts/generate-env.sh" }, "author": "Giuseppe Albrizio", "license": "MIT", "devDependencies": { "@types/bcryptjs": "^2.4.2", "@types/compression": "^1.7.2", "@types/cookie-parser": "^1.4.3", "@types/cors": "^2.8.13", "@types/debug": "^4.1.8", "@types/express": "^4.17.17", "@types/express-session": "^1.17.7", "@types/jest": "^29.5.3", "@types/jsonwebtoken": "^9.0.2", "@types/lodash": "^4.14.195", "@types/multer": "^1.4.7", "@types/node": "^20.4.1", "@types/passport": "^1.0.12", "@types/passport-google-oauth20": "^2.0.11", "@types/passport-local": "^1.0.35", "@types/pdfmake": "^0.2.2", "@types/sparkpost": "^2.1.5", "@types/supertest": "^2.0.12", "@types/swagger-ui-express": "^4.1.3", "@types/validator": "^13.7.17", "cross-env": "^7.0.3", "gts": "^3.1.1", "jest": "^29.6.1", "npm-run-all": "^4.1.5", "rimraf": "^5.0.1", "supertest": "^6.3.3", "ts-jest": "^29.1.1", "ts-node": "^10.9.1", "typedoc": "^0.24.8", "typescript": "~5.1.6" }, "dependencies": { "@google-cloud/pubsub": "^3.7.1", "@google-cloud/storage": "^6.11.0", "@googlemaps/google-maps-services-js": "^3.3.33", "@hokify/agenda": "^6.3.0", "@types/morgan": "^1.9.4", "axios": "^1.4.0", "bcryptjs": "^2.4.3", "clean-deep": "^3.4.0", "compression": "^1.7.4", "connect-mongo": "^5.0.0", "cookie-parser": "^1.4.6", "cors": "^2.8.5", "crypto": "^1.0.1", "crypto-random-string": "^5.0.0", "debug": "^4.3.4", "dotenv": "^16.3.1", "express": "^4.18.2", "express-mongo-sanitize": "^2.2.0", "express-rate-limit": "^6.7.1", "express-session": "^1.17.3", "firebase-admin": "^11.9.0", "helmet": "^7.0.0", "http": "^0.0.1-security", "jsonwebtoken": "^9.0.1", "lodash": "^4.17.21", "messagebird": "^4.0.1", "mongodb": "^5.7.0", "mongoose": "^7.3.3", "morgan": "^1.10.0", "multer": "^1.4.5-lts.1", "multer-cloud-storage": "^3.0.0", "mysql2": "^3.5.1", "nodemon": "^3.0.1", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "passport-local": "^1.0.0", "pdfmake": "^0.2.7", "slugify": "^1.6.6", "sparkpost": "^2.1.4", "swagger-ui-express": "^5.0.0", "validator": "^13.9.0", "winston": "^3.10.0", "xmlbuilder2": "^3.1.1", "xss-clean": "^0.1.1" } }