{
  "compilerOptions": {
    "target": "es2016",
    "module": "Node16",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "skipLibCheck": true,
    "moduleResolution": "Node16",
    "outDir": "dist",
    "declarationDir": "dist/types",
    "baseUrl": "./",
    "paths": {
      "@errors/*": ["src/errors/*"],
      "@config/*": ["src/config/*"],
      "@common/*": ["src/common/*"],
      "@middlewares/*": ["src/middlewares/*"],
      "@modules/*": ["src/modules/*"],
      "@utils/*": ["src/utils/*"],
      "@provider/*": ["src/utils/provider/*"]
    },
    "typeRoots": ["./src/utils/types"],
    "declaration": true, // Generates .d.ts files for TypeScript users
    "resolveJsonModule": true, // Allows importing JSON files
    "sourceMap": true // Generates source maps for debugging
  },

  "exclude": ["node_modules/", "dist/**/*"],
  "include": ["src/**/*.ts", "eslint.config.mjs"]
}
