{
  "compilerOptions": {
    /* Docs: https://www.typescriptlang.org/tsconfig */ "target": "ES2020",
    "module": "CommonJS",
    "outDir": "build",
    "strict": true,
    "noImplicitAny": false,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "strictNullChecks": true,
    "allowJs": false,
    "moduleResolution": "node",
    "types": ["node"],
    "rootDirs": ["src"],
    "lib": ["es6"],
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "allowUnreachableCode": true,
    "useUnknownInCatchVariables": false // TypeScript 4.4+ only!
  },
  "include": ["src/**/*.ts", "src/**/*.js"],
  "exclude": ["node_modules", "<node_internals>/**"]
}

// {
//   // CFA TSConfig.json v1.0
//   // code from anywhere tsconfig should be the same anywhere
//   "compilerOptions": {
//     "outDir": "build", // we build every package before publishing so people get precompiled common.js
//     "target": "ES5", // this is supported almost anywhere <-- we need es6 for sequelize-typescript
//     "sourceMap": true, // make sure the code is mapped to the source code, so you can Cmd+Click on any definition
//     "declarationMap": true, // make sure the declaration files are in there and they are mapped to the source, so you can also Cmd+Click those
//     "declaration": true, // makes declarations for all exports
//     "strict": true, //always use strict
//     "skipDefaultLibCheck": true, //checking these could cause errors sometimes
//     "skipLibCheck": true, //we don't make them, so we don't need to check them
//     "moduleResolution": "node", //not sure how to set these, seems important though
//     "forceConsistentCasingInFileNames": false, //this is default, maybe we should set this to true
//     "esModuleInterop": true, //in order to be able to import React in both ways
//     "strictPropertyInitialization": false, //make classes shorter
//     "experimentalDecorators": true, //need for decorators in classes
//      "emitDecoratorMetadata":true,//needed for sequelize-typescript
//     //dependant on type of project
//     //"jsx": "react-jsx", //only specify this if project contains react code (jsx)
//     "lib": [
//       "ES5",
//       "ES6",
//       "ES7",
//       "ES2017",
//       "ES2018",
//       "ES2019",
//       "ES2020",
//       "ES2021",
//       "ESNext"
//       //"DOM" //only for web stuff
//       //"WebWorker",//only for webworker stuff
//       //"ScriptHost",//only for ScriptHost stuff
//     ]
//   },
//   "include": ["src"], //always put everything in src
//   "exclude": ["node_modules", "build"] //never check node_modules and build folder
// }
