{
  "compilerOptions": {
    "target": "ES2021",
    "module": "commonjs",
    "lib": ["ES2021"],
    "outDir": "./dist",
    "rootDir": "./src",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "resolveJsonModule": true,
    "moduleResolution": "node",
    "declaration": true,
    "declarationMap": true,
    "sourceMap": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "noUnusedLocals": false,
    "noUnusedParameters": false,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "types": ["node", "jest"],
    "typeRoots": ["./node_modules/@types", "./src/types"],
    "baseUrl": "./src",
    "paths": {
      "@/*": ["./*"],
      "@controllers/*": ["./controllers/*"],
      "@middlewares/*": ["./middlewares/*"],
      "@services/*": ["./services/*"],
      "@models/*": ["./models/*"],
      "@routes/*": ["./routes/*"],
      "@validators/*": ["./validators/*"],
      "@utils/*": ["./utils/*"],
      "@types/*": ["./types/*"],
      "@config/*": ["./config/*"]
    }
  },
  "include": [
    "src/app.ts",
    "src/server.ts",
    "src/routes/index.ts",
    "src/routes/auth.routes.ts",
    "src/controllers/auth.controller.ts",
    "src/services/auth.service.ts",
    "src/middlewares/auth.middleware.ts",
    "src/middlewares/cors.middleware.ts",
    "src/middlewares/validate.middleware.ts",
    "src/middlewares/errorHandler.middleware.ts",
    "src/utils/logger.ts",
    "src/utils/responseHandler.ts",
    "src/config/**/*",
    "src/types/**/*",
    "src/validators/auth.validator.ts",
    "src/models/**/*"
  ],
  "exclude": [
    "node_modules", 
    "dist", 
    "tests", 
    "**/*.test.ts", 
    "**/*.spec.ts",
    "src/routes/workflow.routes.ts",
    "src/controllers/workflow.controller.ts",
    "src/controllers/approval.controller.ts",
    "src/services/workflow.service.ts",
    "src/services/approval.service.ts"
  ]
}
