{
  "compilerOptions": {
    /* Basic Options */
    "target": "ES2022" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */,
    "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
    "lib": ["ES2022", "dom"] /* Specify library files to be included in the compilation. */,
    "strict": true /* Enable all strict type-checking options. */,
    "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
    //"baseUrl": "./" /* Base directory to resolve non-absolute module names. */,
    "paths": {
      /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
      "@/*": ["./server/src/*"],
      "@shared/*": ["./shared/lib/*"]
    },

    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
    "typeRoots": ["./node_modules/@types"] /* List of folders to include type definitions from. */,
    "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */,
    "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
    "forceConsistentCasingInFileNames": true,

    /* Experimental Options */
    "experimentalDecorators": true /* Enables experimental support for ES7 decorators. */,
    "emitDecoratorMetadata": true /* Enables experimental support for emitting type metadata for decorators. */,

    /* Advanced Options */
    "resolveJsonModule": true /* Include modules imported with '.json' extension */,
    "suppressImplicitAnyIndexErrors": false
  },
  "exclude": [
    "src/**/__tests__/*",
    "src/**/*.mock.*",
    "src/**/*.test.*",
    "node_modules",

    "src/**/firebird/*",

    "src/**/CreateDealer.useCase.ts",
    "src/**/UpdateDealer.useCase.ts",
    "src/**/DeleteDealer.useCase.ts",

    "src/**/createDealer/*",
    "src/**/updateDealer/*",
    "src/**/deleteDealer/*"
  ]
}
