{
  "name": "server",
  "version": "0.0.1",
  "description": "",
  "main": "./src/app.ts",
  "scripts": {
    "clean:dist": "rimraf ./dist",
    "clean:modules": "rimraf ./node_modules",
    "clean": "npm run clean:dist && npm run clean:modules",
    "lint": "npx eslint src/**/*.ts",
    "lint:fix": "npx eslint --fix src/**/*.ts && npx eslint --fix test/**/*.ts",
    "prebuild": "npm run clean:dist",
    "build": "tsc",
    "start": "npm run build && cross-env NODE_ENV=production node dist/server.js",
    "dev": "cross-env NODE_ENV=development nodemon src/server.ts",
    "pretest": "npm run build",
    "test": "mocha dist/test/**/*.js",
    "test:dev": "ts-mocha test/**/*.spec.ts -w --watch-files '**/*.ts'"
  },
  "devDependencies": {
    "@types/bcrypt": "^5.0.0",
    "@types/chai": "^4.3.4",
    "@types/cookie-parser": "^1.4.3",
    "@types/express": "^4.17.17",
    "@types/jsonwebtoken": "^9.0.1",
    "@types/lodash": "^4.14.188",
    "@types/mocha": "^10.0.1",
    "@types/node": "^18.11.9",
    "@types/sinon": "^10.0.13",
    "@types/supertest": "^2.0.12",
    "@typescript-eslint/eslint-plugin": "^5.42.1",
    "@typescript-eslint/parser": "^5.42.1",
    "chai": "^4.3.7",
    "cross-env": "^7.0.3",
    "eslint": "^8.27.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-prettier": "^4.2.1",
    "husky": "^8.0.3",
    "mocha": "^10.1.0",
    "prettier": "^2.8.8",
    "rimraf": "^3.0.2",
    "sinon": "^14.0.2",
    "ts-mocha": "^10.0.0",
    "ts-node-dev": "^2.0.0",
    "typescript": "^4.8.4"
  },
  "dependencies": {
    "bcrypt": "^5.1.0",
    "body-parser": "^1.20.2",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.0",
    "cookie-parser": "^1.4.6",
    "cors": "^2.8.5",
    "dotenv": "^16.0.3",
    "envalid": "^7.3.1",
    "express": "^4.18.2",
    "jsonwebtoken": "^9.0.0",
    "mongoose": "^7.0.1",
    "morgan": "^1.10.0",
    "winston": "^3.8.2",
    "winston-daily-rotate-file": "^4.7.1"
  },
  "husky": {
    "hooks": {
      "pre-commit": "npm run lint"
    }
  }
}
