{
  "exclude": [
    "node_modules",
    "src/**/*.spec.ts",
    "src/**/*.test.ts",
    "dist"
  ],
  "compilerOptions": {
    "allowJs": true,
    "strict": true,
    "alwaysStrict": true,
    "strictNullChecks": true,
    "noImplicitAny": true,
    "module": "CommonJS",
    "skipLibCheck": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "moduleResolution": "Node",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "ESNext",
    "sourceMap": true,
    "baseUrl": "./",
    "paths": {
      "@/*": [
        "src/*"
      ]
    },
    "outDir": "dist",
    "noImplicitThis": true,
    "incremental": true,
    "strictBindCallApply": true,
    "noPropertyAccessFromIndexSignature": false,
    "noUncheckedIndexedAccess": true,
    "noImplicitReturns": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false,
    "allowUnreachableCode": false,
    "allowUnusedLabels": false,
    "noImplicitUseStrict": false,
    "suppressExcessPropertyErrors": false,
    "suppressImplicitAnyIndexErrors": false,
    "noStrictGenericChecks": false
  }
}
