{
  "$schema": "https://json.schemastore.org/tsconfig",
  "display": "React Library",
  "compilerOptions": {
    "target": "ESNext",
    "jsx": "react-jsx",
    "allowJs": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "noImplicitOverride": false,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "useDefineForClassFields": true,
    "lib": ["DOM", "DOM.Iterable", "ESNext"],
    "skipLibCheck": true,
    "module": "ESNext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "incremental": true,
    "baseUrl": ".",
    "types": ["vite/client"],
    "paths": {
      "@graphpolaris/shared/lib/*": ["../../libs/shared/lib/*"],
      "@graphpolaris/config/*": ["../../libs/config/src/*"],
      "redux": ["./node_modules/redux"],
      "@storybook/types": ["./node_modules/@storybook/types"],
      "redux-thunk": ["./node_modules/redux-thunk"],
      "reselect": ["./node_modules/reselect"]
    }
  },
  "exclude": [
    "dist",
    "build",
    "node_modules",
    "node_modules/*",
    "node_modules/**/*",
    "public",
    "vitest.setup.ts", // excludes Vitest setup file
    "tailwind.config.js", // excludes Tailwind CSS configuration file
    "postcss.config.js", // excludes PostCSS configuration file
    "tsconfig.tsbuildinfo" // excludes TypeScript build info file
  ],
  "include": ["vite.config.ts", "../../libs/shared/lib/**/*", "../../libs/config/src/**/*", "src/**/*"],
  "files": ["vite.config.ts"],
  "references": [{ "path": "./tsconfig.node.json" }]
}