{
    "compilerOptions": {
        "target": "ES2020",
        "useDefineForClassFields": true,
        "module": "ESNext",
        "lib": ["ES2020", "DOM", "DOM.Iterable"],
        "skipLibCheck": true,
        /* Bundler mode */
        "moduleResolution": "bundler",
        "allowImportingTsExtensions": true,
        "resolveJsonModule": true,
        "isolatedModules": true,
        "noEmit": true,
        "jsx": "preserve",
        /* Linting */
        "strict": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "noFallthroughCasesInSwitch": true,
        "noUncheckedIndexedAccess": true,
        "paths": {
            "@/*": ["./src/*"],
            "@product-config": ["./product.json"],
            "@components/*": ["./src/components/*"],
            "@assets/*": ["./src/assets/*"],
            "@utils/*": ["./src/utils/*"],
            "@types/*": ["./src/types/*"],
            "@styles/*": ["./src/styles/*"],
            "@services/*": ["./src/services/*"],
            "@composables/*": ["./src/composables/*"],
            "@database": ["./src/database"],
            "@database/*": ["./src/database/*"],
            "@tests/*": ["./tests/*"]
        }
    },
    "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
    "references": [
        {
            "path": "./tsconfig.node.json"
        }
    ]
}
