{
    "compilerOptions": {
        "target": "ESNext",
        "lib": ["DOM", "DOM.Iterable", "ESNext"],
        "module": "ESNext",
        "skipLibCheck": true,
        "types": ["vite/client", "vitest/globals", "@testing-library/jest-dom/vitest"],

        /* Bundler mode */
        "moduleResolution": "bundler",
        "allowImportingTsExtensions": true,
        "resolveJsonModule": true,
        "isolatedModules": true,
        "noEmit": true,
        "jsx": "react-jsx",

        /* Linting */
        "strict": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "erasableSyntaxOnly": true,
        "noFallthroughCasesInSwitch": true,

        /* Path aliases */
        "baseUrl": "./src",
        "paths": {
            "@src/*": ["*"],
            "@assets/*": ["assets/*"],
            "@components/*": ["components/*"],
            "@hooks/*": ["hooks/*"],
            "@utils/*": ["utils/*"],
            "@views/*": ["views/*"]
        }
    },
    "include": ["src", "test"]
}
