{
  "compilerOptions": {
    "lib": ["es5", "es6", "es7", "esnext", "dom"],
    "target": "es5",
    "module": "commonjs",
    "declaration": true,
    // "moduleResolution": "node",
    "outDir": "./dist",
    "allowUnreachableCode": false,
    "allowUnusedLabels": false,
    "esModuleInterop": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "sourceMap": true,
    "resolveJsonModule": true,
    /* Strict Type-Checking Options */
    "strict": true /* Enable all strict type-checking options. */,
    "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */,
    "strictNullChecks": true /* Enable strict null checks. */,
    "noImplicitThis": true /* Raise error on 'this' expressions with an implied 'any' type. */,
    "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */,
    // "strictPropertyInitialization": false,
    /* Additional Checks */
    "skipLibCheck": true
  },
  "include": ["src"],
  "exclude": [
    "node_modules",
    // "**/__tests__/"
  ]
}
