
{
  "compilerOptions": {
    "resolveJsonModule": true,
    "target": "esnext",
    "module": "esnext",
    "lib": [
      "dom",
      "es5",
      "es2015.promise"
    ],
    "jsx": "react",
    "sourceMap": true,
    "downlevelIteration": true,

    "strict": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictBindCallApply": true,
    "strictPropertyInitialization": true,
    "noImplicitThis": true,
    "alwaysStrict": true,

    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,

    "moduleResolution": "node",
    "baseUrl": "./",
    "paths": {
      "*": ["./node_modules/*/index"],
      "@/*": ["src/*"]
    },
    "typeRoots": ["src/typings", "./node_modules/@types"],
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,

    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules/**", ".plugins/**", "template/**"]
}
