{
  "extends": "./tsconfig.base.json",
  "compilerOptions": {
    "types": ["vitest/globals", "node"],
    "noImplicitAny": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "noImplicitThis": true,
    "alwaysStrict": true,

    "baseUrl": ".",
    "paths": {
      "@/*": ["apps/website/*"],
      "@core/*": ["core/*"],
      "@adapters/*": ["adapters/*"],
      "@testing/*": ["testing/*"]
    },

    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "moduleResolution": "bundler",
    "jsx": "preserve",
    "skipLibCheck": true,
    "exactOptionalPropertyTypes": false
  },
  "include": [
    "core/**/*",
    "adapters/**/*",
    "apps/api/**/*",
    "apps/website/**/*"
  ],
  "exclude": [
    "node_modules",
    "dist",
    "**/dist/**",
    "**/.next/**",
    "**/*.js",
    "**/*.test.ts",
    "**/*.test.tsx",
    "**/*.spec.ts",
    "**/*.spec.tsx",
    "**/__tests__/**",
    "apps/companion/**/*",
    "tests/**/*",
    "testing/**/*"
  ]
}