{
  "compilerOptions": {
    "noEmit": true,
    "target": "es6",
    "module": "esnext", //commonjs destroys 'dynamic imports' which is used for code splitting
    "noImplicitAny": false,
    "preserveConstEnums": true,
    "typeRoots": ["node_modules/@types"],
    "baseUrl": "./app",
    "jsx": "react", // process JSX
    "lib": ["dom", "es5", "es6", "es7", "es2017"],
    "allowSyntheticDefaultImports": true, // no errors with commonjs modules interop
    "esModuleInterop": true,
    "allowJs": true, // include js files
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    // "forceConsistentCasingInFileNames": true,
    // "importHelpers": true, // importing helper functions from tslib
    // "noEmitHelpers": true, // disable emitting inline helper functions
    "types": ["jest", "node"],
    "moduleResolution": "node",
    "noEmitOnError": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noUnusedLocals": true,
    "strict": true,
    "strictFunctionTypes": false,
    "pretty": true,
    "removeComments": true,
    "sourceMap": true
  },
  "include": ["app/**/*", "internals/templates/**/*"],
  "exclude": ["node_modules"]
}
