/* https://www.npmjs.com/package/@tsconfig/node21 */

{
  "compilerOptions": {
    "lib": ["ESNext"],
    "module": "NodeNext", // recommended for modern node projects
    // Implied by `"module": "nodenext"`:
    // "moduleResolution": "nodenext",
    // "esModuleInterop": true,
    // "target": "esnext",
    "strict": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,

    "resolveJsonModule": true,
    "noImplicitAny": true,
    "sourceMap": true,
    "outDir": "dist",
    "baseUrl": ".", // neccessary for paths to work
    "rootDir": "src",
    "paths": {
      "@routes/*": ["src/api/routes/*"],
      "@middleware/*": ["src/api/middleware/*"],
      "@config/*": ["src/config/*"],
      "@controllers/*": ["src/controllers/*"],
      "@loaders/*": ["src/loaders/*"],
      "@models/*": ["src/models/*"],
      "@services/*": ["src/services/*"],
      "@_types/*": ["src/types/*"],
      "@utils/*": ["src/utils/*"]
    }
  },
  "include": ["src", "eslint.config.js"]
}
