{
  "compilerOptions": {
    "target": "ES2022",
    "useDefineForClassFields": true,
    "module": "ESNext",
    "lib": ["ES2022", "DOM", "DOM.Iterable"],
    "skipLibCheck": true,
    "incremental": true,
    "sourceMap": true,
    "esModuleInterop": true,
    "moduleResolution": "Node",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,

    /* Linting */
    "strict": false,
    "strictNullChecks": true,
    "noUnusedLocals": false,
    "noUnusedParameters": false,
    "noFallthroughCasesInSwitch": true,
    "downlevelIteration": true,

    /* AllowJs during migration phase */
    "allowJs": true,
    "baseUrl": ".",
    "outDir": "./web",
    "rootDir": "./",
    "paths": {
      "components/*": ["src/components/*"],
      "hooks/*": ["src/hooks/*"],
      "scripts/*": ["src/scripts/*"],
      "types/*": ["src/types/*"],
      "utils/*": ["src/utils/*"],
    }
  },
  "include": [
    "src/**/*",
    "src/**/*.vue",
  ]
}