{
  "name": "taskflow-api",
  "version": "1.4.2",
  "description": "TaskFlow - Task Management API Service",
  "main": "dist/main/index.js",
  "scripts": {
    "dev": "ts-node-dev --respawn src/main/index.ts",
    "build": "tsc && tsc-alias",
    "start": "node dist/main/index.js",
    "lint": "eslint 'src/**/*.ts'",
    "lint:fix": "eslint 'src/**/*.ts' --fix",
    "format": "prettier --write 'src/**/*.ts'",
    "test": "jest --coverage",
    "test:unit": "jest --testPathPattern=src/test/unit",
    "test:integration": "jest --testPathPattern=src/test/integration",
    "test:watch": "jest --watch",
    "migrate": "ts-node src/main/config/migrate.ts"
  },
  "dependencies": {
    "express": "^4.18.2",
    "typeorm": "^0.3.17",
    "pg": "^8.11.3",
    "redis": "^4.6.10",
    "jsonwebtoken": "^9.0.2",
    "bcryptjs": "^2.4.3",
    "joi": "^17.11.0",
    "cors": "^2.8.5",
    "helmet": "^7.1.0",
    "morgan": "^1.10.0",
    "dotenv": "^16.3.1",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.0",
    "winston": "^3.11.0",
    "ioredis": "^5.3.2",
    "uuid": "^9.0.0"
  },
  "devDependencies": {
    "@types/express": "^4.17.21",
    "@types/jsonwebtoken": "^9.0.5",
    "@types/bcryptjs": "^2.4.6",
    "@types/cors": "^2.8.17",
    "@types/morgan": "^1.9.9",
    "@types/uuid": "^9.0.7",
    "@typescript-eslint/eslint-plugin": "^6.13.0",
    "@typescript-eslint/parser": "^6.13.0",
    "eslint": "^8.55.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-prettier": "^5.0.1",
    "jest": "^29.7.0",
    "ts-jest": "^29.1.1",
    "ts-node": "^10.9.2",
    "ts-node-dev": "^2.0.0",
    "tsc-alias": "^1.8.8",
    "typescript": "^5.3.2",
    "prettier": "^3.1.0",
    "supertest": "^6.3.3",
    "@types/supertest": "^6.0.2"
  },
  "engines": {
    "node": ">=18.0.0",
    "npm": ">=9.0.0"
  }
}
