{
  "compilerOptions": {
    /* Language and Environment */
    "target": "esnext",
    "lib": [
      "esnext",
      "dom",
      "dom.iterable",
      "scripthost"
    ],
    "jsx": "react-jsx",
    "experimentalDecorators": true,

    /* Modules */
    "module": "es2020",
    "moduleResolution": "node",
    "baseUrl": "./",
    "paths": {
      "@/*": [
        "src/*"
      ]
    },
    "types": ["node", "jest", "@testing-library/jest-dom"],
    "typeRoots": ["./node_modules/@types"],

    /* Emit */
    "sourceMap": true,

    /* Interop Constraints */
    "esModuleInterop": true,

    /* Type Checking */
    "strict": true,
    "noImplicitAny": true,
    "strictNullChecks": true,

    /* Completeness */
    "skipLibCheck": true
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.tsx",
    "src/**/*.js",
    "src/**/*.jsx",
  ],
  "exclude": [
    "node_modules"
  ]
}
