{ "name": "prisma-express-typescript-boilerplate", "version": "1.0.0", "description": "REST API Boilerplate with Node JS, TypeScript, Express and Prisma", "main": "src/index.ts", "repository": "https://github.com/antonio-lazaro/prisma-express-typescript-boilerplate.git", "scripts": { "start": "yarn build && pm2 start ecosystem.config.json --no-daemon", "dev": "cross-env NODE_ENV=development nodemon src/index.ts", "test": "docker-compose -f docker-compose.only-db-test.yml up -d && yarn db:push && jest -i --colors --verbose --detectOpenHandles && docker-compose -f docker-compose.only-db-test.yml down", "test:watch": "docker-compose -f docker-compose.only-db-test.yml up -d && yarn db:push && jest -i --watchAll && docker-compose -f docker-compose.only-db-test.yml down", "lint": "eslint .", "lint:fix": "eslint . --fix", "prettier": "prettier --check **/*.ts", "prettier:fix": "prettier --write **/*.ts", "db:generate": "prisma generate", "db:push": "prisma db push --force-reset", "db:push:w": "npx nodemon --delay 5 --ext \"ts,tsx,prisma\" --exec \"yarn db:push && yarn seed && yarn db:studio\"", "db:studio": "prisma studio", "docker:prod": "docker-compose -f docker-compose.yml -f docker-compose.prod.yml up", "docker:build": "docker-compose -f docker-compose.yml -f docker-compose.dev.yml build", "docker:dev": "docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d", "docker:bash": "docker-compose -f docker-compose.yml -f docker-compose.dev.yml exec -it node-app sh", "docker:test": "docker-compose -f docker-compose.yml -f docker-compose.test.yml up", "docker:dev-db:start": "docker-compose -f docker-compose.only-db-dev.yml up -d", "docker:dev-db:stop": "docker-compose -f docker-compose.only-db-dev.yml down", "prepare": "husky install", "build": "rimraf build && tsc -p tsconfig.json", "seed": "ts-node prisma/seed.ts", "seed:w": "yarn nodemon --ext ts,tsx --exec \"yarn run seed\"" }, "keywords": [ "node", "node.js", "typescript", "boilerplate", "express", "rest", "api", "prisma", "postgresql", "es6", "es7", "es8", "es9", "docker", "passport", "joi", "eslint", "prettier" ], "author": "Antonio Lázaro", "license": "ISC", "devDependencies": { "@faker-js/faker": "^7.6.0", "@jest/globals": "^29.3.1", "@types/compression": "^1.7.2", "@types/cors": "^2.8.13", "@types/express": "^4.17.14", "@types/jest": "^29.2.5", "@types/morgan": "^1.9.3", "@types/node": "^18.11.13", "@types/passport": "^1.0.11", "@types/passport-jwt": "^3.0.7", "@types/supertest": "^2.0.12", "@types/swagger-jsdoc": "^6.0.1", "@types/swagger-ui-express": "^4.1.3", "@types/xss-filters": "^0.0.27", "@typescript-eslint/eslint-plugin": "^5.46.1", "@typescript-eslint/parser": "^5.46.1", "cross-env": "^7.0.3", "eslint": "^8.29.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.2", "jest": "^29.3.1", "lint-staged": "^13.1.0", "node-mocks-http": "^1.12.1", "nodemon": "^2.0.20", "prettier": "^2.8.1", "prisma": "^4.10.1", "supertest": "^6.3.3", "swagger-jsdoc": "^6.2.5", "swagger-ui-express": "^4.6.0", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", "typescript": "^4.9.4" }, "dependencies": { "@prisma/client": "^4.10.1", "@types/bcryptjs": "^2.4.2", "@types/nodemailer": "^6.4.7", "bcryptjs": "^2.4.3", "compression": "^1.7.4", "cors": "^2.8.5", "date-fns": "^4.1.0", "dotenv": "^16.0.3", "express": "^4.18.2", "express-rate-limit": "^6.7.0", "helmet": "^6.0.1", "http-status": "^1.5.3", "joi": "^17.7.0", "moment": "^2.29.4", "morgan": "^1.10.0", "nodemailer": "^6.8.0", "passport": "^0.6.0", "passport-jwt": "^4.0.0", "pm2": "^5.2.2", "winston": "^3.8.2", "xss-filters": "^1.2.7" }, "prisma": { "seed": "ts-node prisma/seed.ts" } }