{
  "extends": "./tsconfig.paths.json",
  "compilerOptions": {
    /* Visit https://aka.ms/tsconfig.json to read more about this file */
    /* Which target/lib? See here: https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping */
    "incremental": true /* Enable incremental compilation */,
    "target": "ESNext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
    "lib": [/* Specify library files to be included in the compilation. */ "ESNext"],
    "module": "commonjs" /* Specify what module code is generated. */,
    "rootDir": "./" /* Specify the root folder within your source files. */,
    "outDir": "./dist" /* Specify an output folder for all emitted files. */,
    "moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */,
    "baseUrl": "./" /* Specify the base directory to resolve non-relative module names. */,
    "types": [
      "node",
      "jest"
    ] /* Specify type package names to be included without being referenced in a source file. */,
    "resolveJsonModule": true /* Enable importing .json files */,
    "allowJs": true /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */,
    "declaration": true /* Generate .d.ts files from TypeScript and JavaScript files in your project. */,
    "inlineSourceMap": true /* Include sourcemap files inside the emitted JavaScript. */,
    "inlineSources": true /* Include source code in the sourcemaps inside the emitted JavaScript. */,
    "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */,
    "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
    "strict": true /* Enable all strict type-checking options. */,
    "alwaysStrict": true /* Ensure 'use strict' is always emitted. */,
    "noImplicitAny": true /* Enable error reporting for expressions and declarations with an implied `any` type.. */,
    "noImplicitReturns": true /* Enable error reporting for codepaths that do not explicitly return in a function. */,
    "noFallthroughCasesInSwitch": true /* Enable error reporting for fallthrough cases in switch statements. */,
    "skipLibCheck": true /* Skip type checking of declaration files. */
  },
  "ts-node": {
    "require": ["tsconfig-paths/register"]
  },
  "exclude": ["node_modules", "coverage", "dist", "resources"]
}
