{
  "compilerOptions": {
    // project options
    "lib": [
      "es2021"
    ],
    "outDir": "./",
    "removeComments": false,
    "target": "ES6",
    "module": "CommonJS",
    "declaration": true,
    "skipLibCheck": true,
    // Module resolution
    "baseUrl": "./",
    "esModuleInterop": true,
    "moduleResolution": "node",
    "paths": {},

    // Source Map
    "sourceMap": true,
    "sourceRoot": "/",

    // Strict Checks
    "alwaysStrict": true,
    "allowUnreachableCode": true,
    "noImplicitAny": true,
    "strictNullChecks": true,

    // Linter Checks
    "noImplicitReturns": true,
    "noUncheckedIndexedAccess": false,
    "noUnusedLocals": false,
    "noUnusedParameters": false,

    // Decorators
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true
  },
  "include": [
    "src"
  ],
  "exclude": [
    "node_modules/**/*"
  ]
}